:root{--card:#fff;--field:#f7f9fc;--surface:#fbfcff;--bg:#f3f7fe;--ink:#0f1b33;--muted:#42506b;--faint:#8a93a6;--line:#6d85b0;--line-soft:rgba(109,133,176,.5);--accent:#2457e6;--accent-d:#1a41b8;--accent-t:#e6eeff;--accent-l:#cfe0ff;--accent-fill:#2457e6;--green-fill:#1e9e4f;--on-fill:#fff;--ink-fill:#0f1b33;--on-dark-fill:#fff;--on-dark-ink:#0f1b33;--sh-ink:#0f1b33;--green:#1e9e4f;--green-d:#126e35;--green-t:#e7f6ec;--red:#d33;--red-d:#b32020;--red-t:#fdecec;--yellow:#d4a406;--yellow-d:#8f6c00;--yellow-t:#fff8dd;--orange:#d97706;--orange-d:#b45309;--orange-t:#fff4e0;--purple:#7048c8;--purple-d:#5b32b4;--purple-t:#f1ebff;--gray-t:#f1f3f7;--gray-d:#5c677d;--teal:#0e8a99;--teal-t:#e0f4f6;--row-hover:#f7faff;--cell-hint:rgba(15,27,51,.14);--accent-tt:#eef4ff;--green-tt:#f4fbf6;--orange-tt:#fffaf2;--purple-tt:#faf7ff;--yellow-tt:#fffdf4;--chart-grid:rgba(15,27,51,.08);--chart-axis:rgba(15,27,51,.25);--col-head:#f3f7fe;--col-kr-head:#dcebff;--col-kr-cell:#f0f6ff;--col-fin-cell:#fff5f5;--font-h:"Unbounded",sans-serif;--font-b:"Golos Text",-apple-system,"Segoe UI",sans-serif;--sh-card:5px 5px 0 rgba(36,87,230,.14);--sh-card-sm:4px 4px 0 rgba(36,87,230,.12);--sh-btn:3px 3px 0 var(--sh-ink);--sh-chip:2px 2px 0 var(--accent-l);--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-b);font-size:15px;background-color:var(--bg);background-image:linear-gradient(180deg,#588cff1f,#588cff00 560px),linear-gradient(rgba(36,87,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,87,230,.035) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;background-repeat:no-repeat,repeat,repeat;overflow-x:clip}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-d)}::selection{background:var(--accent-l);color:var(--ink)}button,input,textarea,select{font-family:inherit;font-size:inherit;color:var(--ink)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero-dark a:focus-visible,.hero-dark button:focus-visible{outline-color:#cfe0ff}h1,h2,h3{font-family:var(--font-h);margin:0;text-wrap:balance}p,.muted{text-wrap:pretty}@keyframes smFade{0%{opacity:0}to{opacity:1}}@keyframes smModal{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes smToast{0%{opacity:0;transform:translate(24px) scale(.97)}to{opacity:1;transform:none}}@keyframes smShimmer{0%,to{opacity:.45}50%{opacity:1}}@keyframes smSweep{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}@keyframes smDrop{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes smPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease),transform .5s var(--ease)}[data-reveal].sm-in{opacity:1;transform:none}.lift{transition:transform .18s var(--ease),box-shadow .18s}@media(hover:hover)and (pointer:fine){.lift:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #2457e62e}}@keyframes smDrawLine{to{stroke-dashoffset:0}}@keyframes smDraw{to{stroke-dashoffset:0}}@keyframes smPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes smGrowY{0%{opacity:.3;transform:scaleY(.12)}to{opacity:1;transform:scaleY(1)}}@keyframes smBarX{0%{transform:scaleX(.08)}to{transform:scaleX(1)}}.route-loader{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:opacity .3s var(--ease)}.route-loader .rl-box{position:relative;width:92px;height:92px;display:flex;align-items:center;justify-content:center}.route-loader svg{position:absolute;inset:0}.route-loader circle{stroke-dasharray:264;stroke-dashoffset:264;animation:smDraw .55s var(--ease) forwards}.route-loader img{width:52px;height:auto;animation:smPop .35s var(--ease) both}.route-loader .rl-name{font-family:var(--font-h);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}@keyframes smFloat{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-12px) rotate(var(--r,0deg))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}.container{max-width:1280px;margin:0 auto;padding:0 20px}.main{padding-top:28px;padding-bottom:90px}.topbar{position:sticky;top:0;z-index:50;background:#f7f9fce0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,27,51,.1)}.topbar-in{height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink)!important}.brand-logo{width:40px;height:40px;border-radius:10px;background:var(--card);border:1px solid var(--line);box-shadow:3px 3px 0 var(--accent-l);display:flex;align-items:center;justify-content:center}.brand-logo img{width:24px;height:auto}.brand-logo{transition:transform .18s var(--ease),box-shadow .18s}@media(hover:hover)and (pointer:fine){.brand:hover .brand-logo{transform:translate(-1px,-1px) rotate(-4deg);box-shadow:4px 4px 0 var(--accent-l)}}.brand-name{font-family:var(--font-h);font-size:15px;font-weight:700;line-height:1.15}.brand-role{display:block;font-family:var(--font-b);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.brand-role.admin{color:var(--red-d)}.nav-links{display:flex;align-items:center;gap:3px}.nav-pill{position:absolute;left:0;top:50%;height:36px;margin-top:-18px;border-radius:10px;background:var(--accent-fill);border:1px solid var(--line);box-shadow:2px 2px 0 var(--sh-ink);transform-origin:left center;pointer-events:none;opacity:0;z-index:0;transition:transform .26s var(--ease),width .26s var(--ease),opacity .18s ease}.nav-pill.on{opacity:1}.nav-links a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;padding:8px 13px;border-radius:10px;color:var(--muted);white-space:nowrap;border:1px solid transparent}.nav-links a{transition:color .18s ease,background .18s ease,transform .15s var(--ease)}.nav-links a .nav-ico{display:inline-flex;opacity:.75;transition:opacity .18s ease,transform .22s var(--ease)}@media(hover:hover)and (pointer:fine){.nav-links a:hover{color:var(--accent-d);background:var(--accent-t)}.nav-links a:hover .nav-ico{opacity:1;transform:translateY(-1px)}.nav-links a.active:hover{color:var(--on-fill);background:transparent}}.nav-links a:active{transform:scale(.97)}.nav-links.nav-lite a{padding:0}.topbar-landing{max-width:1100px;margin:0 auto;padding:0 24px;height:68px}.nav-links a.active{color:var(--on-fill)}.nav-links a.active .nav-ico{opacity:1}.nav-chev{display:inline-flex;transition:transform .2s var(--ease)}.nav-chev.open{transform:rotate(180deg)}.userbox{display:inline-flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border-radius:12px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-chip);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s}.userbox.open{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-l)}.userbox.open .ava{transform:rotate(-6deg) scale(1.06)}@media(hover:hover)and (pointer:fine){.userbox:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-l)}.userbox:hover .ava{transform:rotate(-6deg) scale(1.06)}.userbox:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent-l)}.userbox.open:active{transform:translate(-1px,-1px)}}@media(hover:none),(pointer:coarse){.userbox:active{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-l)}.userbox:active .ava{transform:rotate(-6deg) scale(1.06)}}.ava{width:30px;height:30px;border-radius:9px;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden}@media(max-width:1180px){.brand-role,.topbar-in [data-search-label]{display:none}}@media(max-width:1040px){.userbox .uname{display:none}.topbar-in .nav-links a{font-size:12px;padding:8px}}@media(max-width:900px){.userbox .uname{display:none}}.btn-icon.nav-burger{display:none}.topbar-in .btn-icon.nav-bell{width:38px;height:38px;border-color:var(--line);box-shadow:var(--sh-chip)}@media(max-width:860px){.topbar-in .nav-links{display:none}.btn-icon.nav-burger{display:inline-flex;width:38px;height:38px;border-color:var(--line);box-shadow:var(--sh-chip)}.btn-icon.nav-search{display:none}.topbar-in .btn-icon.nav-burger,.topbar-in .btn-icon.nav-bell{width:44px;height:44px}.topbar-in .nav-links.nav-lite{display:flex}.topbar{background:var(--field);backdrop-filter:none;-webkit-backdrop-filter:none}.modal-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0f1b3394}}@media(max-width:740px){.nav-links.nav-lite a{display:none}.nav-links.nav-lite a.nav-price{display:inline-flex;padding:7px 13px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:var(--sh-chip);font-weight:600;white-space:nowrap}}@media(max-width:600px){.topbar-landing{padding:0 16px;gap:8px}.topbar-landing .brand-word{display:none}}@media(max-width:430px){.topbar-in .brand-name{display:none}.topbar-in .brand{gap:0;min-width:44px;min-height:44px;justify-content:center}}@media(max-width:360px){.topbar-in{gap:8px}.container{padding-left:14px;padding-right:14px}}@keyframes smSheet{0%{transform:translateY(100%)}to{transform:none}}.sheet-backdrop{position:fixed;inset:0;z-index:90;background:#0f1b3380;animation:smFade .25s both}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:91;background:var(--card);border:1px solid var(--line);border-bottom:none;border-radius:22px 22px 0 0;padding:8px 14px calc(16px + env(safe-area-inset-bottom));max-height:82vh;overflow-y:auto;box-shadow:0 -6px #2457e626;contain:layout paint;will-change:transform;animation:smSheet .34s cubic-bezier(.32,.72,0,1) both}body.sheet-open{overflow:hidden}body.sheet-open main *{animation-play-state:paused!important}.sheet.closing{transform:translateY(100%);transition:transform .25s var(--ease)}.sheet-backdrop.closing{opacity:0;transition:opacity .25s ease}.sheet-grip{width:40px;height:5px;border-radius:999px;background:var(--line-soft);margin:4px auto 10px}.sheet-head{display:flex;align-items:center;gap:12px;padding:4px 6px 12px;border-bottom:1px solid rgba(15,27,51,.08);margin-bottom:6px}.sheet-title{font-family:var(--font-h);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:12px 12px 4px}.sheet-ico{width:34px;height:34px;flex:none;border-radius:10px;background:var(--gray-t);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.sheet a,.sheet button.sheet-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;transition:background .15s,transform .15s var(--ease)}.sheet a:hover,.sheet button.sheet-item:hover{background:var(--accent-t);color:var(--accent-d)}.sheet a:hover .sheet-ico{background:var(--accent-l);color:var(--accent-d)}.sheet a:active,.sheet button.sheet-item:active{transform:scale(.98)}.sheet a.active{background:var(--accent-t);color:var(--accent-d)}.sheet a.active .sheet-ico{background:var(--accent-fill);color:var(--on-fill)}.sheet .sheet-badge{margin-left:auto;background:#e5484d;color:#fff;font-size:11.5px;font-weight:700;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;border:1px solid var(--line);transition:transform .18s var(--ease),box-shadow .18s,background .15s,border-color .15s}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-2px)}}.btn:active{transform:scale(.96)}.btn-primary,.btn-primary:hover,.btn-primary:focus{color:var(--on-fill)}.btn-green,.btn-green:hover,.btn-green:focus{color:#fff}.btn-white,.btn-white:hover,.btn-white:focus{color:var(--ink)}.btn-danger,.btn-danger:hover,.btn-danger:focus{color:var(--red-d)}.btn-primary{background:var(--accent-fill);color:var(--on-fill);box-shadow:var(--sh-btn)}.btn-primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--sh-ink)}.btn-green{background:var(--green-fill);color:#fff;box-shadow:var(--sh-btn)}.btn-green:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--sh-ink)}.btn-white{background:var(--card);color:var(--ink);box-shadow:var(--sh-chip)}.btn-white:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent-l)}.btn-ghost{background:var(--card);border-color:#0f1b334d;color:var(--muted);font-weight:600;box-shadow:none}.btn-danger{background:var(--card);border-color:var(--red);color:var(--red-d);box-shadow:none}@media(hover:hover)and (pointer:fine){.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--sh-ink)}.btn-green:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--sh-ink)}.btn-white:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-l)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.btn-danger:hover{background:var(--red-t)}}.btn-sm{padding:8px 14px;font-size:12.5px;border-radius:9px}@media(max-width:860px){.btn-sm.tap{min-height:44px;padding-top:11px;padding-bottom:11px;font-size:13.5px}.btn-icon.tap{width:44px;height:44px}.seg.tap button,.btn{min-height:44px}}.btn-icon{width:32px;height:32px;padding:0;border-radius:9px;background:var(--card);border:1px solid rgba(15,27,51,.25);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-icon{transition:transform .15s var(--ease),border-color .18s,color .18s}.btn-icon:active{transform:scale(.92)}@media(hover:hover)and (pointer:fine){.btn-icon:hover{border-color:var(--accent);color:var(--accent);transform:translate(-1px,-1px)}.btn-icon.danger:hover{border-color:var(--red);color:var(--red-d)}}button:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-card)}.card-sm{border-radius:14px;box-shadow:var(--sh-card-sm)}.card-pad{padding:24px}.hero-dark{position:relative;overflow:hidden;background:var(--ink);border:1px solid var(--line);border-radius:20px;color:#fff;box-shadow:6px 6px #2457e640}.hero-dark:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.hero-dark>*{position:relative}.cta-main{box-shadow:4px 4px 0 var(--accent)}.cta-social{background:transparent;border:1px solid rgba(255,255,255,.35)}.cta-main:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent)}.cta-social:active{transform:scale(.97);background:#ffffff24}@media(hover:hover)and (pointer:fine){.cta-main:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--accent)}.cta-social:hover{background:#ffffff1a;border-color:#ffffffa6}}.marker{background:linear-gradient(transparent 58%,var(--accent-l) 58%);padding:0 4px}@media(max-width:760px){[data-deco]{display:none}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.page-title{display:flex;align-items:center;gap:12px}.page-ico{width:44px;height:44px;border-radius:12px;background:var(--card);border:1px solid var(--line);box-shadow:3px 3px 0 var(--accent-l);display:flex;align-items:center;justify-content:center;color:var(--accent)}.page-title h1{font-size:clamp(21px,17.1px + 1.08vw,29px);font-weight:800}.page-sub{font-size:13px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:600}.input,.select,.textarea{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--field);font-size:13.5px;width:100%;transition:border-color .15s,background .15s}.textarea{resize:vertical}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--red);background:var(--red-t)}@media(max-width:860px){.input,.select,.textarea{min-height:44px}}.field-err{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--red-d);animation:smDrop .18s var(--ease) both}.hint{padding:10px 14px;background:var(--accent-t);border:1px dashed var(--accent);border-radius:10px;font-size:12.5px;color:var(--accent-d)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 11px;border:1px solid}.b-green{color:var(--green-d);background:var(--green-t);border-color:var(--green)}.b-blue{color:var(--accent-d);background:var(--accent-t);border-color:var(--accent)}.b-red{color:var(--red-d);background:var(--red-t);border-color:var(--red)}.b-yellow{color:var(--yellow-d);background:var(--yellow-t);border-color:var(--yellow)}.b-orange{color:var(--orange-d);background:var(--orange-t);border-color:var(--orange)}.b-purple{color:var(--purple-d);background:var(--purple-t);border-color:var(--purple)}.b-gray{color:var(--gray-d);background:var(--gray-t);border-color:var(--faint)}.gchip{position:relative;width:38px;height:38px;border-radius:10px;font-weight:800;font-size:15px;cursor:pointer;border:1px solid;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s}.gchip:hover{transform:translateY(-1px)}.g5{background:var(--green-t);border-color:var(--green);color:var(--green-d)}.g4{background:var(--accent-t);border-color:var(--accent);color:var(--accent-d)}.g3{background:var(--yellow-t);border-color:var(--yellow);color:var(--yellow-d)}.g2{background:var(--red-t);border-color:var(--red);color:var(--red-d)}.gn{background:var(--gray-t);border-color:var(--faint);color:var(--gray-d)}.gp{background:var(--purple-t);border-color:var(--purple);color:var(--purple-d)}.g-empty{background:transparent;border:1px solid transparent;font-size:0}.g-empty:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--cell-hint);transition:background .15s ease,transform .15s var(--ease)}.g-empty:hover{transform:none}@media(hover:hover)and (pointer:fine){.g-empty:hover{background:var(--accent-t);border:1px dashed var(--accent)}.g-empty:hover:after{background:var(--accent);transform:scale(1.4)}}.g-empty:active{background:var(--accent-t);border:1px dashed var(--accent)}.gchip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jcell:focus{outline:2px solid var(--accent);outline-offset:2px}.gdot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--orange);border:1px solid var(--card)}.tbl{border-collapse:separate;border-spacing:0;width:100%}.tbl th{border-bottom:1px solid var(--line);padding:10px 12px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;background:var(--bg)}.tbl td{border-bottom:1px solid var(--line-soft);padding:12px;font-size:13.5px;transition:background .15s}.tbl tbody tr:hover td{background:var(--row-hover)}.tbl th.j-avg,.tbl td.j-avg{position:sticky;right:0;box-shadow:-4px 0 0 var(--accent-l)}.tbl th.j-avg{z-index:3}.tbl td.j-avg{z-index:1}.tbl th.j-name,.tbl td.j-name{box-shadow:4px 0 0 var(--accent-l)}.j-scroll{scroll-padding-left:174px;scroll-padding-right:90px}@media(max-width:740px){.tbl th.j-avg,.tbl td.j-avg{position:static;box-shadow:none}.j-scroll{scroll-padding-right:0}}.ava-cam{width:32px;height:32px;background:var(--card);border:1px solid var(--line);box-shadow:2px 2px 0 var(--accent-l);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .18s var(--ease),color .15s}@media(max-width:860px){.ava-cam{width:44px;height:44px}}.btn-icon.nav-week{width:38px;height:38px}@media(max-width:860px){.btn-icon.nav-week{width:44px;height:44px}}.grade-tap{position:relative;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:800;font-size:15px;cursor:pointer;transition:transform .15s var(--ease)}.grade-tap:active{transform:scale(.92)}@media(hover:hover)and (pointer:fine){.grade-tap:hover{transform:translateY(-2px)}}.grade-tap-est:after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6}@media(max-width:860px){.grade-tap.tap{width:44px;height:44px;font-size:17px}}.det-row{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:12px;flex-wrap:wrap;transition:transform .18s var(--ease),border-color .18s}.det-name{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.det-bar{flex:2;min-width:80px;height:10px;border-radius:999px;background:var(--gray-t);border:1px solid var(--line-soft);overflow:hidden}@media(max-width:560px){.det-bar{flex:1 1 100%;order:3;min-width:0}}.seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:3px;box-shadow:var(--sh-chip);gap:2px}.seg button{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;border:none;background:transparent;color:var(--muted)}.seg button{transition:background .15s,color .15s,transform .15s}.seg button:hover:not(.on){background:var(--accent-t);color:var(--accent-d)}.seg button:active{transform:scale(.95)}.seg button.on{background:var(--accent-fill);color:var(--on-fill)}.modal-backdrop{position:fixed;inset:0;z-index:80;background:#0f1b3380;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:smFade .2s both}.modal-wrap{position:fixed;inset:0;z-index:81;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none}.modal{pointer-events:auto;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:7px 7px #2457e633;animation:smModal .25s var(--ease) both}.modal.closing{opacity:0;transform:translateY(8px) scale(.97);transition:opacity .16s ease,transform .16s var(--ease)}.modal-backdrop.closing{opacity:0;transition:opacity .16s ease}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line-soft);flex:none}.modal-head b{font-family:var(--font-h);font-size:15px;font-weight:700}.modal-body{padding:22px;display:flex;flex-direction:column;gap:14px;overflow:auto;flex:1;min-height:0}.modal-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:14px 22px;border-top:1px solid var(--line-soft);flex:none;background:var(--card)}@media(max-width:560px){.modal-wrap{padding:10px}.modal-head{padding:15px 18px}.modal-body{padding:18px}.modal-foot{padding:12px 18px}.modal-foot .btn{flex:1 1 140px;justify-content:center}}.popover{position:fixed;z-index:81;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:6px 6px #2457e633;padding:14px;animation:smModal .2s var(--ease) both}.toasts{position:fixed;top:80px;right:20px;z-index:100;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:13px 18px;background:var(--card);border:1px solid;border-radius:12px;font-size:14px;font-weight:600;animation:smToast .3s var(--ease) both;max-width:380px}.toast.success{border-color:var(--green);box-shadow:4px 4px #1e9e4f40;color:var(--green-d)}.toast.error{border-color:var(--red);box-shadow:4px 4px #d3333338;color:var(--red-d)}.toast.info{border-color:var(--accent);box-shadow:4px 4px #2457e638;color:var(--accent-d)}.toast.warn{border-color:var(--orange);box-shadow:4px 4px #d9770638;color:var(--orange-d)}.toast.out{opacity:0;transform:translate(24px) scale(.97);transition:opacity .22s ease,transform .22s var(--ease)}@media(max-width:640px){.toasts{left:12px;right:12px;top:76px;align-items:center}}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:88px 20px 60px;position:relative;overflow:hidden}.login-card{width:100%;max-width:420px;padding:38px 34px;border-radius:20px;box-shadow:7px 7px #2457e62e;position:relative;z-index:1;animation:smUpIn .5s var(--ease) both}.login-card .marker{background:linear-gradient(transparent 62%,var(--accent-l) 62%);padding:0 6px}.login-input{padding:12px 14px 12px 40px;border-radius:10px;font-size:14.5px}.form-submit{margin-top:6px;justify-content:center;padding:14px;border-radius:12px;font-size:15px;box-shadow:4px 4px 0 var(--sh-ink)}.form-submit:hover{box-shadow:6px 6px 0 var(--sh-ink)}.form-submit:active{box-shadow:1px 1px 0 var(--sh-ink)}.form-submit:disabled{box-shadow:none;transform:none}.page-foot{margin-top:26px;display:flex;flex-wrap:wrap;justify-content:center;gap:18px;font-size:12.5px;color:var(--muted);text-align:center;position:relative;z-index:1}.page-foot a{color:var(--muted)}.page-foot a:hover{color:var(--accent)}.form-lg .input,.form-lg .textarea{padding:12px 14px;font-size:14.5px;border-radius:10px}@media(max-width:560px){.f-hint{display:none}}.fmt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.fmt-card{position:relative;text-align:left;display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--field);cursor:pointer;font-family:inherit;color:var(--ink);transition:transform .18s var(--ease),box-shadow .18s,border-color .15s,background .15s}.fmt-card:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-l)}.fmt-card:active{transform:scale(.98);box-shadow:none}.fmt-card.on{border-color:var(--accent);background:var(--accent-t);box-shadow:3px 3px 0 var(--accent-l)}.fmt-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.fmt-card.on .fmt-check{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-fill)}.grade-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}.grade-cell{padding:11px 0;text-align:center;font-family:inherit;font-size:14px;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:var(--field);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s,border-color .15s,background .15s}.grade-cell:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-l)}.grade-cell:active{transform:scale(.96);box-shadow:none}.grade-cell.on{border-color:var(--accent);background:var(--accent-t);box-shadow:3px 3px 0 var(--accent-l);font-weight:800}@media(max-width:560px){.grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-cell{padding:12px 0}}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--faint);cursor:pointer;border-radius:8px;transition:color .15s,background .15s,transform .15s var(--ease)}.pw-eye:hover{color:var(--accent);background:var(--accent-t)}.pw-eye:active{transform:translateY(-50%) scale(.94)}@keyframes smUpIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:560px){.login-page{padding:76px 16px 40px}.login-card{padding:30px 22px}}.hero-welcome{position:relative;overflow:hidden}.hero-mascot{width:74px}@media(max-width:640px){.hero-welcome{padding:26px 22px 22px!important}.hero-mascot{position:absolute;right:-14px;bottom:-10px;width:80px;opacity:.4;pointer-events:none}}.lock-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.lock-card{max-width:460px;width:100%;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:40px 32px;box-shadow:7px 7px #2457e62e;animation:smUpIn .5s var(--ease) both}.lock-card img{width:72px;height:auto;margin-bottom:16px;animation:smFloat 5s ease-in-out infinite}.lock-card h1{font-size:21px;font-weight:800;margin-bottom:10px}.lock-card p{margin:0 0 20px;font-size:14.5px;line-height:1.6;color:var(--muted)}.mnt-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;text-align:center;background:var(--yellow-t);border-bottom:1px solid var(--yellow);color:var(--yellow-d);font-size:13px;font-weight:600}.mnt-banner span{color:var(--ink);font-weight:500}.opt-row{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--field);cursor:pointer;font-size:14.5px;transition:border-color .15s,background .15s,transform .15s var(--ease)}.opt-row:hover{border-color:var(--accent)}@media(max-width:860px){.opt-row{min-height:48px}}.opt-row:active{transform:scale(.99)}.opt-row.on{border-color:var(--accent);background:var(--accent-t);font-weight:600}.grp-row td{border-right:none!important}.grp-head{position:sticky;left:0;display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;cursor:pointer;background:linear-gradient(90deg,var(--accent-t),rgba(230,238,255,.35));color:var(--ink);text-align:left;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);transition:background .15s}.grp-head:hover{background:var(--accent-t)}.grp-head b{font-family:var(--font-h);font-size:13.5px;font-weight:700}.grp-chev{display:inline-flex;color:var(--accent);transition:transform .2s var(--ease)}.grp-chev.open{transform:rotate(180deg)}.grp-add{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent-d);background:var(--card);border:1px solid var(--accent);border-radius:8px;padding:4px 10px;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s}.grp-add:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--accent-l)}.grp-add:active{transform:scale(.97);box-shadow:none}.mathtext .katex{font-size:1.05em}.mathtext .math-block{display:block;width:100%;margin:12px 0;text-align:center;overflow-x:auto;overflow-y:hidden}.mathtext:has(.math-block){display:block;width:100%}.mathtext{overflow-wrap:anywhere}.mathtext .katex-error{color:var(--red-d)!important;background:var(--red-t);border-bottom:1px dashed var(--red);border-radius:3px;padding:0 2px;cursor:help}.math-preview{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px dashed var(--accent);background:var(--accent-t);border-radius:10px;font-size:14.5px}.split-side{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:20px;align-items:start}.split-side>*{min-width:0}@media(max-width:760px){.split-side{grid-template-columns:1fr;gap:14px}}.opt-edit{flex-wrap:nowrap}.opt-edit .mf-host{flex:1;min-width:0}@media(max-width:560px){.opt-edit{flex-wrap:wrap}.opt-edit .mf-host{flex:1 1 100%;order:3}}.q-pre{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.q-pre .math-block{display:inline-block;width:auto;margin:0;text-align:left;vertical-align:middle}.q-pre .mathtext{display:inline}.q-pre .mathtext span{white-space:nowrap!important}.q-head{display:flex;gap:10px;align-items:baseline}.q-num{font-family:var(--font-h);font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-t);border:1px solid var(--accent);border-radius:7px;padding:2px 9px;flex:none}.q-text{flex:1;min-width:0;font-size:15px;line-height:1.5}.q-points{margin-left:auto;font-size:12px;flex:none;white-space:nowrap}@media(max-width:560px){.q-head{flex-wrap:wrap;row-gap:8px}.q-text{order:3;flex:1 1 100%}}.q-strip{display:flex;flex-wrap:wrap;gap:7px}.q-chip{width:36px;height:36px;flex:none;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--ink);font-size:13.5px;font-weight:700;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s,background .15s,border-color .15s}@media(max-width:860px){.q-chip{width:44px;height:44px;font-size:14px}}.q-chip:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--accent-l)}.q-chip:active{transform:scale(.95);box-shadow:none}.q-chip.done{background:var(--green-t);border-color:var(--green);color:var(--green-d)}.q-chip.on{background:var(--accent-fill);border-color:var(--line);color:var(--on-fill);box-shadow:2px 2px 0 var(--sh-ink)}.mf-host{display:flex;flex-direction:column;gap:7px;width:100%}.mf-compact{gap:5px}.mf-compact .mf-bar{gap:4px}.mf-compact .mf-seg button{padding:3px 9px;font-size:11.5px}.mf-compact .mf-ins{padding:3px 8px;font-size:12px}.mf-compact math-field{min-height:38px!important}.mf-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mf-seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}.mf-seg button{padding:5px 12px;border:none;background:transparent;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.mf-seg button.on{background:var(--accent-fill);color:var(--on-fill)}.mf-ins{padding:5px 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--card);font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s,border-color .15s}.mf-ins:hover{border-color:var(--accent);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--accent-l)}.mf-ins:active{transform:scale(.96);box-shadow:none}.mf-host math-field{display:block;width:100%;box-sizing:border-box;transition:border-color .15s,background .15s}.mf-host math-field:focus-within{border-color:var(--accent)!important;background:var(--card)!important;outline:none}.mf-host.mf-math math-field{border-color:var(--accent)!important;background:var(--card)!important;box-shadow:inset 0 0 0 1px var(--accent-l)}.mf-host math-field::part(virtual-keyboard-toggle){color:var(--muted)}.ML__keyboard{--keyboard-accent-color:var(--accent);--keyboard-background:var(--bg);--keyboard-text:var(--ink)}:root[data-theme=dark]{--card:#242a37;--field:#2e3543;--surface:#171c24;--bg:#080a0f;--ink:#e9eefb;--muted:#9fadc9;--faint:#8492ae;--line:#707f9c;--line-soft:rgba(158,173,199,.34);--accent:#6a94ff;--accent-d:#9dbaff;--accent-t:rgba(77,125,255,.18);--accent-l:#3a5490;--accent-fill:#5b83f0;--on-fill:#0b1226;--green-fill:#1f854c;--ink-fill:#080d18;--sh-ink:rgba(122,158,255,.72);--green:#3fbe70;--green-d:#7ee0a4;--green-t:rgba(63,190,112,.19);--red:#f0616b;--red-d:#ff9aa1;--red-t:rgba(240,97,107,.19);--yellow:#e0b23a;--yellow-d:#ffd772;--yellow-t:rgba(224,178,58,.19);--orange:#e88b3c;--orange-d:#ffb877;--orange-t:rgba(232,139,60,.19);--purple:#9a78e8;--purple-d:#c3aaff;--purple-t:rgba(154,120,232,.19);--gray-t:#30374a;--gray-d:#a3adbf;--teal:#5fd0e0;--teal-t:rgba(45,190,205,.19);--row-hover:rgba(120,150,220,.07);--cell-hint:rgba(165,180,205,.32);--accent-tt:rgba(77,125,255,.09);--green-tt:rgba(63,190,112,.09);--orange-tt:rgba(232,139,60,.09);--purple-tt:rgba(154,120,232,.09);--yellow-tt:rgba(224,178,58,.09);--chart-grid:rgba(150,175,225,.13);--chart-axis:rgba(150,175,225,.34);--col-head:#14181f;--col-kr-head:rgba(77,125,255,.22);--col-kr-cell:rgba(77,125,255,.09);--col-fin-cell:rgba(240,97,107,.1);--sh-card:5px 5px 0 rgba(91,131,240,.6);--sh-card-sm:4px 4px 0 rgba(91,131,240,.5);--sh-btn:3px 3px 0 var(--sh-ink);--sh-chip:2px 2px 0 rgba(91,131,240,.5);color-scheme:dark}:root[data-theme=dark] body{background-color:var(--bg);background-image:linear-gradient(180deg,#4d7dff1a,#4d7dff00 560px),linear-gradient(rgba(120,150,220,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,150,220,.05) 1px,transparent 1px)}:root[data-theme=dark] .topbar{background:#242a37eb;border-bottom-color:#8ca5d729}:root[data-theme=dark] .marker{background:linear-gradient(transparent 58%,#4d7dff59 58%)}:root[data-theme=dark] .btn-ghost{border-color:var(--line);color:var(--muted)}:root[data-theme=dark] .btn-icon{border-color:var(--line)}:root[data-theme=dark] .modal-foot{background:var(--card)}:root[data-theme=dark] .tbl th{background:var(--field)}:root[data-theme=dark] .tbl th .badge.b-blue{color:var(--ink)}:root[data-theme=dark] .hero-dark{background:#22345e;border-color:var(--line)}:root[data-theme=dark] .mf-host math-field{color:var(--ink)}:root[data-theme=dark] .skel:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}.search-wrap{position:fixed;inset:0;z-index:81;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;pointer-events:none}.search-box{width:100%;max-width:560px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:7px 7px #2457e633;overflow:hidden;pointer-events:auto;animation:smModal .22s var(--ease) both}.search-box .input:focus{outline:none}@media(max-width:640px){.search-wrap{padding:8vh 12px 12px}}.btn-dirty{position:relative}.btn-dirty:after{content:"";position:absolute;top:-4px;right:-4px;width:9px;height:9px;border-radius:50%;background:#ffd43b;border:1.5px solid var(--ink)}.skel{position:relative;overflow:hidden;height:44px;border-radius:10px;background:var(--accent-t);animation:smShimmer 1.2s ease-in-out infinite}.skel:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:smSweep 1.4s var(--ease) infinite}.skel-card{border-radius:16px;border:1px solid var(--line-soft);background:var(--card)}.skel-card:before{content:"";position:absolute;inset:18px 18px auto;height:12px;border-radius:6px;background:var(--accent-t);box-shadow:0 26px 0 var(--accent-t),0 52px #2457e60f}@media(prefers-reduced-motion:reduce){.skel,.skel:after{animation:none}}.scroll-x{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent-l) transparent}.scroll-x::-webkit-scrollbar{height:8px}.scroll-x::-webkit-scrollbar-track{background:transparent}.scroll-x::-webkit-scrollbar-thumb{background:var(--accent-l);border-radius:999px;border:2px solid var(--bg)}.scroll-x::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media(max-width:640px){.top-menu{position:fixed!important;left:12px!important;right:12px!important;top:72px!important;min-width:0!important}}.chart-tip{position:absolute;z-index:5;pointer-events:none;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:4px 4px #2457e629;padding:9px 12px;white-space:nowrap;display:flex;flex-direction:column;gap:1px;opacity:0;transform:translate(-50%,calc(-100% - 16px)) scale(.94);transform-origin:bottom center;transition:opacity .15s ease,transform .18s var(--ease),left .18s var(--ease),top .18s var(--ease)}.chart-tip.on{opacity:1;transform:translate(-50%,calc(-100% - 16px)) scale(1)}.chart-tip:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translate(-50%) rotate(45deg)}.chat-split{display:grid;grid-template-columns:300px 1fr;overflow:hidden;height:calc(100vh - 250px);min-height:440px}.cs-list,.cs-chat{min-height:0}.cs-back{display:none}@media(max-width:700px){.chat-split{grid-template-columns:1fr;height:calc(100vh - 210px);min-height:440px}.chat-split.show-chat .cs-list{display:none!important}.chat-split:not(.show-chat) .cs-chat{display:none!important}.cs-back{display:inline-flex}}@media(pointer:coarse){.btn-icon{width:40px;height:40px}.gchip{width:42px;height:42px}.lift:hover,.hover-x:hover{transform:none}}.price-card,.price-left{display:flex;flex-direction:column;gap:16px}@media(min-width:700px){.price-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:stretch}.price-right{border-left:1px solid var(--line);padding-left:28px}}#reviews .grid{align-items:start}@media(max-width:520px){.row.sec-head{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:6px;align-items:baseline}.row.sec-head>:last-child{grid-column:1/-1}}@media(min-width:590px)and (max-width:871px){#help .grid>:last-child{grid-column:1/-1}}@media(min-width:566px)and (max-width:833px){#start .grid>:last-child{grid-column:1/-1}}@media(max-width:560px){.row.cta-row{flex-direction:column;align-items:stretch}.row.cta-row>a{justify-content:center}}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.grid{display:grid;gap:18px}.muted{color:var(--muted)}.small{font-size:12.5px}code.kbd{font-size:12px;font-weight:700;background:var(--bg);border:1px dashed var(--line);border-radius:7px;padding:2px 8px;letter-spacing:.06em}.hover-x{transition:transform .18s var(--ease),border-color .18s,box-shadow .18s}.hover-x:hover{transform:translate(3px);border-color:var(--ink)!important}.pulse{animation:smPulse 2s ease-in-out infinite}.ava{transition:transform .18s var(--ease)}
