:root{--bg:#faf8f5;--surface:#ffffff;--surface-2:#f3f1ec;--border:#e6e6ee;--text:#18181f;--muted:#8E8B80;--accent:#175B9A;--accent-dark:#0f4474;--accent-soft:#e0e7f0;--link:#175B9A;--danger:#e23b3b;--danger-soft:#fdeaea;--success:#15a34a;--success-soft:#e7f6ec;--warn:#d98a00;--warn-soft:#fdf2dd;--radius:12px;--shadow:0 1px 3px rgba(20,20,40,0.06),0 6px 24px rgba(20,20,40,0.05)}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:var(--font-body),-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.page{max-width:1180px;margin:0 auto;padding:28px 24px 64px}.row,.row-wrap{display:flex;gap:12px;align-items:center}.row-wrap{flex-wrap:wrap}.between{align-items:center;justify-content:space-between}.between,.col{display:flex;gap:12px}.col{flex-direction:column}.grow,.spacer{flex:1 1}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;height:60px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:50}.brand{font-family:var(--font-head);font-weight:400;font-size:22px;letter-spacing:-.01em}.brand span{color:var(--accent)}h1{font-size:30px}h1,h2{font-family:var(--font-head);font-weight:400;letter-spacing:-.01em}h2{font-size:22px}h3{font-family:var(--font-head);font-size:17px;font-weight:400}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.err{color:var(--danger)}.err,.ok{font-size:13px}.ok{color:var(--success)}.center{text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-hover{transition:transform .12s,box-shadow .12s;cursor:pointer}.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(20,20,40,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:9px;border:1px solid transparent;font-weight:600;font-size:14px;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dark)}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f9dada}.btn-sm{padding:6px 11px;font-size:13px;border-radius:7px}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:600;color:var(--muted)}.input,.select,.textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);outline:none;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:70px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge-gray{background:#eeeef2;color:#6a6a73}.badge-accent{background:var(--accent-soft);color:var(--accent-dark)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-red{background:var(--danger-soft);color:var(--danger)}.badge-amber{background:var(--warn-soft);color:var(--warn)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tab{padding:10px 14px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:9px 12px}.tbl td,.tbl th{border-bottom:1px solid var(--border)}.tbl td{padding:10px 12px}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--surface-2)}.overlay{position:fixed;inset:0;background:rgba(20,20,40,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-wide{max-width:760px}.modal-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.x-btn{background:none;border:none;cursor:pointer;font-size:22px;color:var(--muted);line-height:1}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.divider{height:1px;background:var(--border);margin:4px 0}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty-icon{font-size:40px;margin-bottom:8px}.grid-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);font-size:13px}.scroll-y{overflow-y:auto}.link{color:var(--link);cursor:pointer;font-weight:600}.link:hover{text-decoration:underline}.script{font-family:var(--font-script);color:var(--accent);font-weight:400;font-size:1.4em;line-height:.85;vertical-align:-.05em}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse at top,#e6f0fc,var(--bg))}.landing h1{font-family:var(--font-head);font-weight:400!important;font-size:60px;font-weight:800;letter-spacing:-.03em;margin-bottom:14px}.landing .accent{color:var(--accent)}.landing p{font-size:19px;color:var(--muted);margin-bottom:28px;max-width:520px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.toggle input{display:none}.toggle .track{width:34px;height:20px;border-radius:999px;background:var(--border);position:relative;transition:background .15s}.toggle .track:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{transform:translateX(14px)}[data-theme=dark]{--bg:#1c1c1e;--surface:#2c2c2e;--surface-2:#3a3a3c;--border:#48484a;--text:#f5f5f7;--muted:#86868b;--accent:#0a84ff;--accent-dark:#0066d6;--accent-soft:rgba(10,132,255,0.18);--link:#6db3ff;--danger:#f15454;--danger-soft:rgba(241,84,84,0.18);--success:#4ecf7c;--success-soft:rgba(78,207,124,0.18);--warn:#f4ad3f;--warn-soft:rgba(244,173,63,0.18);--shadow:0 1px 3px rgba(0,0,0,0.5),0 6px 24px rgba(0,0,0,0.4)}[data-theme=dark] .landing{background:radial-gradient(ellipse at top,rgba(74,147,245,.15),var(--bg))}[data-theme=dark] .badge-gray{background:var(--surface-2);color:var(--muted)}@keyframes text-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1545bd71a254eb5e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/69002c99ed2289f8-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4f9db4a11ebf87d9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fdb306e3a10671d3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Yeseva One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/62a5fc10954234a2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Yeseva One Fallback;src:local("Arial");ascent-override:79.67%;descent-override:20.90%;line-gap-override:0.00%;size-adjust:114.85%}.__className_e5d17c{font-family:Yeseva One,Yeseva One Fallback;font-weight:400;font-style:normal}.__variable_e5d17c{--font-head:"Yeseva One","Yeseva One Fallback"}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c105b29dc4e1ee2d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ffe0837c71e69159-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b07dd69d3f271780-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/401f9db361b6e189-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c105b29dc4e1ee2d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ffe0837c71e69159-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b07dd69d3f271780-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/401f9db361b6e189-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c105b29dc4e1ee2d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ffe0837c71e69159-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b07dd69d3f271780-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/401f9db361b6e189-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Golos Text;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c105b29dc4e1ee2d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Golos Text;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ffe0837c71e69159-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b07dd69d3f271780-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Golos Text;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/401f9db361b6e189-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Golos Text Fallback;src:local("Arial");ascent-override:90.27%;descent-override:20.26%;line-gap-override:0.00%;size-adjust:108.57%}.__className_4c1f08{font-family:Golos Text,Golos Text Fallback;font-style:normal}.__variable_4c1f08{--font-body:"Golos Text","Golos Text Fallback"}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dad5af6a451969b9-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f751862dd005bbab-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/162bae04ee86dd69-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/67d172d8d0152ee1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/536d9d896eaf4f3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/87069f06a4f1ee13-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Great Vibes Fallback;src:local("Arial");ascent-override:124.79%;descent-override:58.80%;line-gap-override:0.00%;size-adjust:68.19%}.__className_82f78f{font-family:Great Vibes,Great Vibes Fallback;font-weight:400;font-style:normal}.__variable_82f78f{--font-script:"Great Vibes","Great Vibes Fallback"}