@font-face{font-family:Serpentin;src:url(/fonts/Serpentin-BoldItalic.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:UnitPro;src:url(/fonts/UnitPro-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:UnitPro;src:url(/fonts/UnitPro-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:UnitPro;src:url(/fonts/UnitPro-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:UnitPro;src:url(/fonts/UnitPro-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:UnitPro;src:url(/fonts/UnitPro-Ultra.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Pribylskaia;src:url(/fonts/Pribylskaia.otf) format("opentype"),url(/fonts/Pribylskaia.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root,[data-theme=dark]{--bg: #080810;--bg-2: #0f0f18;--surface: rgba(255,255,255,.055);--surface-2: rgba(255,255,255,.08);--surface-hover: rgba(255,255,255,.09);--border: rgba(255,255,255,.09);--border-strong: rgba(255,255,255,.18);--text: #f2f2f8;--text-2: #9090a8;--text-3: rgba(255,255,255,.28);--accent: #7c6dff;--accent-light: #a090ff;--accent-glow: rgba(124,109,255,.4);--accent-soft: rgba(124,109,255,.13);--red: #ff4d6d;--red-glow: rgba(255,77,109,.35);--red-soft: rgba(255,77,109,.11);--green: #30d99e;--green-soft: rgba(48,217,158,.11);--yellow: #f5c542;--yellow-soft: rgba(245,197,66,.11);--scan-overlay: rgba(0,0,0,.7);--scan-corner: #7c6dff;--tabbar-bg: rgba(10,10,18,.85);--tabbar-icon: rgba(255,255,255,.5);--btn-secondary-bg: rgba(255,255,255,.1);--tabbar-shadow: 0 12px 48px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);--mesh-1: rgba(124,109,255,.14);--mesh-2: rgba(255,77,109,.09);--mesh-3: rgba(48,217,158,.04)}[data-theme=light]{--bg: #f4f4f8;--bg-2: #ffffff;--surface: rgba(255,255,255,.75);--surface-2: rgba(255,255,255,.9);--surface-hover: rgba(255,255,255,.95);--border: rgba(0,0,0,.08);--border-strong: rgba(0,0,0,.14);--text: #0e0e18;--text-2: #5a5a72;--text-3: rgba(0,0,0,.32);--accent: #6657f0;--accent-light: #7c6dff;--accent-glow: rgba(102,87,240,.25);--accent-soft: rgba(102,87,240,.1);--red: #e8294a;--red-glow: rgba(232,41,74,.2);--red-soft: rgba(232,41,74,.08);--green: #1cb87e;--green-soft: rgba(28,184,126,.09);--yellow: #d4a000;--yellow-soft: rgba(212,160,0,.1);--scan-overlay: rgba(0,0,0,.55);--scan-corner: #6657f0;--tabbar-bg: rgba(240,240,248,.88);--tabbar-icon: rgba(0,0,0,.45);--btn-secondary-bg: rgba(0,0,0,.06);--tabbar-shadow: 0 4px 20px rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.8);--mesh-1: rgba(102,87,240,.07);--mesh-2: rgba(232,41,74,.05);--mesh-3: rgba(28,184,126,.03)}:root{--blur: blur(24px);--radius-sm:10px;--radius:16px;--radius-lg:22px}:root{--tg-bg:var(--bg);--tg-secondary-bg:var(--bg-2);--tg-text:var(--text);--tg-hint:var(--text-2);--tg-link:var(--accent);--tg-button:var(--accent);--tg-button-text:#fff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--app-viewport-height: 100dvh}html,body{height:100%;min-height:100%;overflow-x:hidden}body{font-family:UnitPro,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease;min-height:var(--app-viewport-height)}h1,.font-display{font-family:Serpentin,UnitPro,sans-serif;font-style:italic}h2,h3{font-family:UnitPro,sans-serif}#root{min-height:var(--app-viewport-height);display:flex;flex-direction:column;background:var(--bg)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 15% 8%,var(--mesh-1) 0%,transparent 65%),radial-gradient(ellipse 55% 35% at 85% 85%,var(--mesh-2) 0%,transparent 60%),radial-gradient(ellipse 40% 55% at 55% 45%,var(--mesh-3) 0%,transparent 65%);transition:opacity .3s}.page{position:relative;z-index:1;flex:1;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(100px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;width:100%}.card{background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:background .3s,border-color .3s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:var(--radius-sm);border:none;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .18s,transform .12s;width:100%;text-decoration:none;letter-spacing:.1px}.btn:active{transform:scale(.97);opacity:.85}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent),#5a4de8);color:#fff!important;box-shadow:0 4px 24px var(--accent-glow)}.btn-danger{background:var(--red);color:#fff!important;box-shadow:0 4px 20px var(--red-glow)}.btn-success{background:var(--green);color:#fff!important;font-weight:700}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text)!important;border:1px solid var(--border-strong)}.btn-ghost{background:transparent;color:var(--accent)!important;border:1.5px solid var(--accent-soft)}.input,.textarea,.select{width:100%;background:var(--surface-2);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:16px;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s,background .3s;font-family:inherit}.input:focus,.textarea:focus,.select:focus{border-color:#7c6dff8c;box-shadow:0 0 0 3px #7c6dff24}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{resize:vertical;min-height:100px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath fill='rgba(100,100,120,0.7)' d='M6 7L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.select option{background:var(--bg-2);color:var(--text)}.label{display:block;font-size:11px;font-weight:700;color:var(--text-3);margin-bottom:7px;text-transform:uppercase;letter-spacing:.8px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.section-title{font-family:Serpentin,UnitPro,sans-serif;font-style:italic;font-size:12px;font-weight:700;color:var(--text-2);text-transform:none;letter-spacing:.3px;margin-bottom:12px}.divider{height:1px;background:var(--border);margin:18px 0}.error-text{color:var(--red);font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:var(--text-2);text-align:center}.empty-icon{width:52px;height:52px;border-radius:16px;background:var(--surface-2);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.list{display:flex;flex-direction:column;gap:8px}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:7px;font-size:11px;font-weight:700;letter-spacing:.2px}.badge-red{background:var(--red-soft);color:var(--red)}.badge-green{background:var(--green-soft);color:var(--green)}.badge-yellow{background:var(--yellow-soft);color:var(--yellow)}.badge-accent{background:var(--accent-soft);color:var(--accent-light)}.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--accent-light);font-size:15px;cursor:pointer;background:none;border:none;padding:6px 0;margin-bottom:20px;font-weight:500}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:var(--app-viewport-height);background:var(--bg);position:relative;z-index:1}.spinner{width:32px;height:32px;border:2.5px solid rgba(124,109,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.toast{position:fixed;bottom:88px;left:50%;transform:translate(-50%);padding:11px 22px;border-radius:50px;font-size:14px;font-weight:600;z-index:200;white-space:nowrap;animation:fadeUp .22s ease;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid}.toast-success{background:#30d99e29;color:var(--green);border-color:#30d99e47}.toast-error{background:#ff4d6d29;color:var(--red);border-color:#ff4d6d47}.scan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--scan-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.scan-frame{position:relative;width:min(320px,88vw);aspect-ratio:1.42;border-radius:12px;overflow:hidden;border:2px solid var(--scan-corner);box-shadow:0 0 0 4000px var(--scan-overlay)}.scan-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--scan-corner),transparent);animation:scanMove 2s ease-in-out infinite;box-shadow:0 0 10px var(--scan-corner)}@keyframes scanMove{0%{top:0}50%{top:calc(100% - 2px)}to{top:0}}
