@import"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300..800&display=swap";@font-face{font-family:DoranVF;src:url(/fonts/Doran-VF.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Doran;src:url(/fonts/Doran-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Doran;src:url(/fonts/Doran-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Doran;src:url(/fonts/Doran-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Doran;src:url(/fonts/Doran-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}:root{--font: "DoranVF", "Doran", "Vazirmatn", Tahoma, sans-serif;--bg: #f5f4fa;--bg2: #ecebf4;--card: #ffffff;--line: #e6e3ef;--text: #16141e;--muted: #6b6780;--soft: #9893a8;--brand: #6f4cff;--brand2: #ff4f87;--brand3: #ffae3d;--brand-soft: #efeaff;--ok: #10a765;--ok-soft: #e1f7ec;--warn: #e48a00;--warn-soft: #fff3dc;--bad: #e5484d;--bad-soft: #fde9ea;--info: #3b82f6;--info-soft: #e6efff;--q1: #e5484d;--q2: #6f4cff;--q3: #e48a00;--q4: #8a8798;--grad: linear-gradient(135deg, #6f4cff 0%, #b84cf0 45%, #ff4f87 78%, #ffae3d 100%);--shadow: 0 1px 2px rgba(22, 16, 48, .04), 0 10px 30px rgba(22, 16, 48, .06);--shadow-lg: 0 24px 60px rgba(22, 16, 48, .18);--radius: 18px;--radius-sm: 12px;color-scheme:light}:root[data-theme=dark]{--bg: #0e0d14;--bg2: #17151f;--card: #1a1825;--line: #2a2738;--text: #f3f1fa;--muted: #a39fb7;--soft: #6e6a83;--brand-soft: #2a2350;--ok-soft: #10301f;--warn-soft: #33260c;--bad-soft: #3b1a1d;--info-soft: #172640;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01"}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand);text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.45;text-wrap:balance}h1{font-size:clamp(19px,2.4vw,24px);font-weight:800;letter-spacing:-.2px}h2{font-size:17px;font-weight:700}h3{font-size:15px;font-weight:700}.muted{color:var(--muted)}.soft{color:var(--soft)}.small{font-size:12.5px}.xs{font-size:11px}.bold{font-weight:700}.num{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.g4.keep2,.g3.keep2{grid-template-columns:repeat(2,minmax(0,1fr))}}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.hide-sm{display:none!important}}.only-sm{display:none!important}@media (max-width: 640px){.only-sm{display:inline-flex!important}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}.card.flat{box-shadow:none}.card.tight{padding:12px}.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}@media (max-width: 560px){.card{padding:14px;border-radius:16px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:600;transition:.15s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--grad);color:#fff;border:0;box-shadow:0 6px 18px #6f4cff47}.btn.primary:hover{filter:brightness(1.06);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg2)}.btn.danger{color:var(--bad)}.btn.danger:hover{border-color:var(--bad)}.btn.danger-fill{background:var(--bad);color:#fff;border-color:var(--bad)}.btn.ok{color:var(--ok)}.btn.ok:hover{border-color:var(--ok)}.btn.sm{min-height:32px;padding:0 10px;font-size:13px;border-radius:10px}.btn.icon{width:40px;padding:0}.btn.sm.icon{width:32px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:focus-visible,.check:focus-visible,.nav:focus-visible,.chip:focus-visible,.seg button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.input,select.input,textarea.input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--bg);outline:none;transition:.15s}textarea.input{min-height:90px;padding:10px 12px;resize:vertical}.input:focus{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 4px var(--brand-soft)}label.f,.f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted);min-width:0}input[type=time].input,input[type=number].input{direction:ltr;text-align:right}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg2);color:var(--muted);white-space:nowrap;border:0;line-height:1.8}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.brand{background:var(--brand-soft);color:var(--brand)}.chip.info{background:var(--info-soft);color:var(--info)}button.chip{cursor:pointer}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--brand2);color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center}.avatar{flex:none;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:700;position:relative}.avatar.ring{padding:2px;background:var(--grad)}.avatar.ring>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;border:2px solid var(--card)}.avatar .live{position:absolute;bottom:0;inset-inline-start:0;width:11px;height:11px;border-radius:50%;background:var(--ok);border:2px solid var(--card)}.seg{display:inline-flex;background:var(--bg2);border-radius:12px;padding:4px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}.seg button{border:0;background:transparent;padding:6px 14px;border-radius:9px;cursor:pointer;font-weight:600;color:var(--muted);white-space:nowrap}.seg button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.tabs{display:inline-flex;background:var(--bg2);border-radius:12px;padding:4px;gap:2px}.tabs button{border:0;background:transparent;padding:6px 14px;border-radius:9px;cursor:pointer;font-weight:600;color:var(--muted)}.tabs button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.bar{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--grad);border-radius:99px;transition:width .4s}.bar.over>i{background:var(--bad)}.task{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--card);transition:.15s;position:relative;touch-action:pan-y}.task:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.task.done .t-title{text-decoration:line-through;color:var(--soft)}.task .qbar{position:absolute;inset-block:10px;inset-inline-start:0;width:3px;border-radius:0 3px 3px 0}.t-title{font-weight:600;overflow-wrap:anywhere}.t-time{font-size:12px;font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums}.check{flex:none;width:26px;height:26px;border-radius:9px;border:2px solid var(--soft);background:transparent;cursor:pointer;display:grid;place-items:center;transition:.15s;margin-top:1px}.check:hover{border-color:var(--brand)}.check.on{background:var(--grad);border-color:transparent;color:#fff;animation:pop .25s}.check.pend{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.check.doing{border-color:var(--warn);background:var(--warn-soft)}@keyframes pop{50%{transform:scale(1.2)}}.swipe-hint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;display:flex;align-items:center;padding:0 18px;font-weight:700;color:#fff;pointer-events:none}.quad{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quad button{border:2px solid var(--line);background:var(--card);border-radius:12px;padding:8px;cursor:pointer;text-align:right;font-weight:600;font-size:13px;display:flex;gap:6px;align-items:center}.quad button.on{border-color:currentColor;background:color-mix(in srgb,currentColor 10%,var(--card))}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0a1e73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:50;padding:16px;animation:fade .15s}.modal{background:var(--card);border-radius:22px;width:min(580px,100%);max-height:90vh;overflow:auto;padding:22px;box-shadow:var(--shadow-lg);animation:up .2s;overscroll-behavior:contain}.modal.wide{width:min(820px,100%)}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(16px);opacity:0}}@media (max-width: 640px){.overlay{place-items:end center;padding:0}.modal,.modal.wide{width:100%;border-radius:22px 22px 0 0;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}.modal:before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:var(--line);margin:-6px auto 12px}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:var(--card);padding:10px 18px;border-radius:12px;z-index:99;font-weight:600;animation:up .2s;max-width:calc(100% - 32px);text-align:center;box-shadow:var(--shadow-lg)}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal .wd{text-align:center;font-size:12px;color:var(--soft);font-weight:700;padding-bottom:4px}.cal .day{min-height:54px;border-radius:12px;border:1px solid transparent;background:var(--bg);padding:5px 6px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:.15s;text-align:right;min-width:0}.cal .day:hover{border-color:var(--brand)}.cal .day.today{border-color:var(--brand);background:var(--brand-soft)}.cal .day.sel{background:var(--grad);color:#fff}.cal .day.sel .soft{color:#ffffffd9}.cal .day.off .jd{color:var(--bad)}.cal .day.sel.off .jd{color:#fff}.cal .day.leave{box-shadow:inset 0 -3px 0 var(--warn)}.cal .jd{font-weight:700;font-size:15px}.cal .gd{font-size:10px}.cal .dots{display:flex;gap:3px;flex-wrap:wrap}.cal .dots i{width:6px;height:6px;border-radius:50%;background:var(--ok)}.cal .dots i.no{background:var(--soft)}.cal .hol{font-size:9px;color:var(--bad);line-height:1.3;max-width:100%}.cal.compact{gap:3px}.cal.compact .day{min-height:0;aspect-ratio:1;padding:3px 5px}.cal.compact .jd{font-size:13px}@media (max-width: 560px){.cal{gap:3px}.cal .day{min-height:46px;padding:4px}.cal .jd{font-size:13px}.cal .gd{display:none}}.pop{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:70;width:296px;padding:12px}@media (max-width: 400px){.pop{width:calc(100vw - 32px)}}.empty{text-align:center;padding:28px 10px;color:var(--soft)}.skeleton{background:linear-gradient(90deg,var(--bg2),var(--bg),var(--bg2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:12px}@keyframes sk{to{background-position:-200% 0}}.demo-badge{position:fixed;top:10px;left:10px;z-index:40}table.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:right;font-size:12px;color:var(--soft);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.att{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--bg);min-width:0}.login-bg{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 80% -10%,color-mix(in srgb,#6f4cff 25%,transparent),transparent),radial-gradient(900px 500px at 0% 110%,color-mix(in srgb,#ff4f87 20%,transparent),transparent),var(--bg)}.logo-mark{width:64px;height:64px;margin:0 auto 10px;border-radius:20px;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:800;font-size:28px}.switch{position:relative;width:44px;height:26px;flex:none;display:inline-block}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line);border-radius:99px;cursor:pointer;transition:.2s}.switch span:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;inset-inline-start:3px;transition:.2s;box-shadow:0 1px 3px #0003}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:after{inset-inline-start:21px}.switch input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.timer-on{color:var(--ok)!important;border-color:var(--ok)!important;animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 0 4px var(--ok-soft)}}.stat{display:flex;align-items:center;gap:14px;text-align:right;cursor:pointer}.stat .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none}.stat .v{font-size:22px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}@media (max-width: 560px){.stat{gap:10px}.stat .ic{width:38px;height:38px;border-radius:12px}.stat .v{font-size:18px}}.timeline{position:relative;display:grid;grid-template-columns:44px 1fr}.timeline .hours{position:relative}.timeline .hours div{height:var(--hh, 56px);font-size:11px;color:var(--soft);font-variant-numeric:tabular-nums;transform:translateY(-8px)}.timeline .lane{position:relative;border-inline-start:1px dashed var(--line)}.timeline .slot{position:absolute;inset-inline:6px 2px;border-radius:10px;padding:4px 8px;font-size:12px;overflow:hidden;cursor:pointer;border:1px solid transparent;display:flex;flex-direction:column}.timeline .gridline{position:absolute;inset-inline:0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.timeline .shift{position:absolute;inset-inline:0;background:color-mix(in srgb,var(--ok) 6%,transparent)}.timeline .now{position:absolute;inset-inline:0;border-top:2px solid var(--bad);z-index:2}.timeline .now:before{content:"";position:absolute;inset-inline-start:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--bad)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px;align-items:start;scroll-snap-type:x mandatory}.kanban>*{scroll-snap-align:start}.kcol{background:var(--bg2);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}.kcol.drop{outline:2px dashed var(--brand);outline-offset:-4px}.kcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;cursor:grab;display:flex;flex-direction:column;gap:6px}.kcard:active{cursor:grabbing}@media (max-width: 640px){.kanban{grid-auto-columns:82%}}.banner{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;font-weight:600}.banner.bad{background:var(--bad-soft);color:var(--bad)}.banner.brand{background:var(--brand-soft);color:var(--brand)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.pos{color:var(--ok);font-weight:700}.neg{color:var(--bad);font-weight:700}.analysis{white-space:pre-wrap;line-height:2}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:18px 12px;border-inline-end:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:2px;overflow-y:auto;scrollbar-width:thin}.logo{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.logo b{width:40px;height:40px;border-radius:13px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:20px}.nav{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;cursor:pointer;color:var(--muted);font-weight:600;border:0;background:none;width:100%;text-align:right;text-decoration:none}.nav:hover{background:var(--bg2);color:var(--text)}.nav.on{background:var(--brand-soft);color:var(--brand)}.nav .badge{margin-inline-start:auto}.nav-sec{font-size:11px;color:var(--soft);font-weight:700;padding:12px 12px 4px;letter-spacing:.3px}.main{padding:22px 28px 60px;min-width:0;max-width:1500px;width:100%}.top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.lanes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px;align-items:start;scroll-snap-type:x proximity}.lanes>*{scroll-snap-align:start}.lane{background:var(--bg2);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px;min-height:140px;transition:.15s}.lane.drop{outline:2px dashed var(--brand);outline-offset:-4px;background:var(--brand-soft)}.lane-h{display:flex;align-items:center;gap:10px;padding:2px 2px 6px}.person{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid var(--line);background:none;width:100%;text-align:right;cursor:pointer}.person:hover{border-color:var(--brand)}.stars button{border:0;background:none;cursor:pointer;font-size:22px;padding:0 1px;color:var(--line);line-height:1}.stars button.on{color:#ffb020}.dash-grid{display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.cap-cell{border-radius:10px;padding:6px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;min-width:64px}.mobile-nav,.mobile-only{display:none}@media (max-width: 1000px){.shell{grid-template-columns:minmax(0,1fr)}.side{display:none}.main{padding:14px max(14px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.dash-grid{grid-template-columns:minmax(0,1fr)}.mobile-only{display:inline-flex}.mobile-nav{display:flex;position:fixed;bottom:0;inset-inline:0;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:2px}.mobile-nav .nav{flex-direction:column;gap:2px;font-size:11px;padding:6px 4px;flex:1;text-align:center;position:relative;justify-content:center}.mobile-nav .nav .badge{position:absolute;top:0;inset-inline-start:55%;margin:0;min-width:16px;height:16px;font-size:10px}.lanes{grid-auto-columns:85%}.top h1{font-size:19px}}.sheet-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sheet-nav .nav{flex-direction:column;text-align:center;justify-content:center;padding:14px 6px;border:1px solid var(--line);position:relative}.sheet-nav .nav .badge{position:absolute;top:6px;inset-inline-start:6px;margin:0}.kpi-row{display:grid;grid-template-columns:minmax(0,1fr) 84px auto;gap:8px;align-items:center}.rule-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.app{max-width:600px;margin:0 auto;min-height:100vh;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.hero{border-radius:24px;padding:18px;color:#fff;background:var(--grad);box-shadow:0 14px 34px #6f4cff47;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:#ffffff1f;left:-60px;top:-70px;pointer-events:none}.hero>*{position:relative;z-index:1}.hero .btn{background:#fff3;border:0;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero .btn:hover{background:#ffffff4d;color:#fff}.hero .btn.solid{background:#fff;color:#6f4cff}.hero .chip{background:#fff3;color:#fff}.hero .bar{background:#ffffff40}.hero .bar>i{background:#fff}.tabbar{position:fixed;bottom:0;inset-inline:0;display:flex;justify-content:center;z-index:30;padding:0 12px calc(10px + env(safe-area-inset-bottom));pointer-events:none}.tabbar>div{pointer-events:auto;display:flex;gap:2px;background:color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:22px;padding:6px;box-shadow:var(--shadow-lg);width:min(576px,100%)}.tabbar button{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:16px;font-size:11px;font-weight:600;color:var(--soft);cursor:pointer;position:relative;min-width:0}.tabbar button.on{color:var(--brand);background:var(--brand-soft)}.tabbar .badge{position:absolute;top:2px;inset-inline-start:54%;min-width:16px;height:16px;font-size:10px}.quick{display:flex;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:var(--shadow)}.quick input{border:0;background:transparent;outline:none;flex:1;padding:0 8px;min-width:0}.sec{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 8px;gap:8px}.toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}.demo-badge{top:6px}.helpcard{border:1px dashed var(--info);background:var(--info-soft);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px}.pills{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pills .chip{cursor:pointer;border:1px solid transparent}.pills .chip.on{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}.swipe-tip{text-align:center;margin-top:2px;display:none}@media (hover: none) and (pointer: coarse){.swipe-tip{display:block}}.stages{display:flex;gap:3px}.stages i{flex:1;height:5px;border-radius:3px;background:var(--bg2)}.stages i.on{background:var(--grad)}.score-big{font-size:46px;font-weight:800;line-height:1.1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.review-text{white-space:pre-wrap;line-height:2}.tabbar button span:not(.badge){overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}@media (max-width: 360px){.tabbar button{font-size:10px}}.narrow{max-width:780px;margin-inline:auto}.att-cell{border-radius:8px;min-width:30px;height:30px;display:grid;place-items:center;font-size:11px;font-variant-numeric:tabular-nums}.att-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px}.att-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:middle;margin-inline-end:4px}.tbl.sticky-first td:first-child,.tbl.sticky-first th:first-child{position:sticky;inset-inline-start:0;background:var(--card);z-index:1}.dropzone{border:2px dashed var(--line);border-radius:16px;padding:22px;text-align:center;cursor:pointer}.dropzone:hover{border-color:var(--brand);background:var(--brand-soft)}.bars{display:flex;align-items:flex-end;gap:3px;height:90px}.bars>div{flex:1;border-radius:4px 4px 0 0;min-height:2px}
