@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fafafa;--surface:#fff;--surface-muted:#f4f4f5;--surface-subtle:#fafafa;--border:#e4e4e7;--divider:#f4f4f5;--text:#09090b;--text-2:#52525b;--text-3:#71717a;--text-4:#a1a1aa;--inverse:#09090b;--inverse-text-2:#a1a1aa;--inverse-badge-bg:#1c2611;--inverse-badge-fg:#b9e36a;--brand-700:#368a10;--brand-600:#4ca30d;--brand-lime:#8bc400;--green-tint:#f2f8ea;--green-strong:#2f6b0e;--green-muted:#4d5b3d;--positive:#15803d;--negative:#b91c1c;--danger-border:#fecaca;--grade-1:#368a10;--grade-2:#8bc400;--grade-3:#e0a526;--grade-4:#d2502e;--grade-pass:#d4d4d8;--r-card:16px;--r-panel:12px;--r-control:10px;--r-segment:7px;--r-badge:6px;--r-bar:4px;--gap:24px;--gap-mobile:16px;--shadow-segment:0 1px 2px #00000014;--font:"Inter Variable", Inter, system-ui, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--text);font:400 14px/1.5 var(--font);font-feature-settings:"tnum" 1, "cv11" 1;-webkit-font-smoothing:antialiased;margin:0}h1,h2,p,dl,dd{margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:2px}h1:focus{outline:none}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-3)}.r{text-align:right;justify-self:end}.skip{z-index:20;color:var(--surface);background:var(--text);border-radius:var(--r-badge);padding:8px 12px;position:absolute;top:-60px;left:16px}.skip:focus{top:8px}.narrow,.narrow-flex,.narrow-block{display:none}.bar{background:var(--surface);border-bottom:1px solid var(--border)}.bar-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;min-height:72px;margin:0 auto;padding:0 24px;display:flex}.brand{letter-spacing:-.02em;align-items:baseline;gap:5px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand img{object-fit:cover;object-position:bottom;width:36px;height:36px;display:block}.bar-actions{align-items:center;gap:8px;display:flex}.btn{white-space:nowrap;min-height:40px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-control);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--surface-muted)}.btn.primary{color:var(--surface);background:var(--text);border-color:var(--text)}.btn.primary:hover{background:var(--text-2);border-color:var(--text-2)}.btn.danger{color:var(--negative);border-color:var(--danger-border)}.btn.danger:hover{background:var(--surface);border-color:var(--negative)}.btn.small{border-radius:8px;min-height:36px;padding:0 12px;font-size:13px}.btn.block{width:100%}.btn.tall{min-height:44px;padding:0 8px}.btn[disabled]{opacity:.5;cursor:default}.btn:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}.icon-btn{width:36px;height:36px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{color:var(--text);background:var(--surface-muted)}.link{color:var(--text);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.link:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.text-link{white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none}.text-link:hover{color:var(--text-2)}.seg{background:var(--surface-muted);border-radius:var(--r-control);gap:4px;padding:4px;display:inline-flex}.seg>a,.seg>button{min-height:32px;color:var(--text-2);border-radius:var(--r-segment);cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.seg>:hover{color:var(--text)}.seg.nav>[aria-pressed=true],.seg.nav>[aria-current=page]{color:var(--text);background:var(--surface);box-shadow:var(--shadow-segment);font-weight:600}.top-nav>a{min-height:36px;padding:8px 16px;font-size:14px}.seg.pick>button{width:44px;height:36px;padding:0;font-size:14px;font-weight:600}.seg.pick>[aria-pressed=true],.seg.pick>[aria-pressed=true]:hover{color:var(--surface);background:var(--text)}.seg.full{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select{width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-control);padding:0 12px;font-size:14px}input::placeholder{color:var(--text-4)}.label,.field>span{color:var(--text-3);font-size:13px;font-weight:500}.field{flex-direction:column;gap:8px;display:flex}input[type=range]{width:100%;height:24px;accent-color:var(--text);margin:0}main{gap:var(--gap);flex-direction:column;flex:auto;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px 64px;display:flex}.page{gap:var(--gap);flex-direction:column;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:8px;display:flex}.page-title{flex-direction:column;gap:4px;min-width:0;display:flex}h1{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.2}.page-title p{min-height:21px;color:var(--text-3)}.split-row{align-items:stretch;gap:var(--gap);flex-wrap:wrap;display:flex}.split-row>.grow{flex:999 600px;min-width:0}.split-row>.side{flex:340px;min-width:0}.split-row.even>*{flex:460px;min-width:0}.notice{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 8px 8px 16px;font-size:14px;display:flex}#example{padding-right:16px}.notice.warn{color:var(--negative);border-color:var(--danger-border)}body.dragging #dropzone{border-color:var(--text);background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;display:flex}.card.flush{overflow:hidden}.card-head{border-bottom:1px solid var(--divider);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.card-head.line{border-bottom-color:var(--border)}.card-title{flex-direction:column;gap:2px;min-width:0;display:flex}h2{font-size:16px;font-weight:600;line-height:1.5}.card-title p{color:var(--text-3)}.card-body{padding:var(--gap)}.card-note{color:var(--text-3);margin-top:auto;padding:16px 24px;font-size:13px}.kpi-row{align-items:stretch;gap:var(--gap);flex-wrap:wrap;display:flex}.hero{min-height:280px;color:var(--surface);background:var(--inverse);border-radius:var(--r-card);flex-direction:column;flex:460px;justify-content:space-between;gap:24px;padding:24px;display:flex}.hero-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.hero-label{color:var(--inverse-text-2);font-size:14px;font-weight:500}.hero-badge{color:var(--inverse-badge-fg);background:var(--inverse-badge-bg);border-radius:var(--r-badge);padding:4px 8px;font-size:12px;font-weight:600}.hero-badge.worse{color:var(--danger-border);box-shadow:inset 0 0 0 1px var(--negative);background:0 0}.hero-bottom{flex-direction:column;gap:8px;display:flex}.hero-value{letter-spacing:-.05em;font-size:96px;font-weight:700;line-height:1}.hero-calc{color:var(--inverse-text-2);font-size:14px}.kpi-grid{gap:var(--gap);flex:460px;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;justify-content:space-between;gap:12px;min-width:0;padding:24px;display:flex}.kpi.span-2{grid-column:span 2;gap:16px}.kpi-label{color:var(--text-3);font-size:14px;font-weight:500}.kpi-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.kpi-body{flex-direction:column;gap:4px;display:flex}.kpi-inline{align-items:baseline;gap:8px;display:flex}.kpi-value{letter-spacing:-.03em;font-size:32px;font-weight:700;line-height:1}.kpi-meta{color:var(--text-3);font-size:13px}.strong-meta{font-size:14px}.progress{background:var(--surface-muted);border-radius:var(--r-bar);height:8px;display:flex;overflow:hidden}.progress .done{background:var(--brand-lime)}.progress .next{background:var(--brand-lime);opacity:.35}.whatif{align-items:stretch;gap:var(--gap);flex-wrap:wrap;display:flex}.pickers{gap:var(--gap);flex-wrap:wrap;flex:420px;display:flex}.picker{flex-direction:column;gap:8px;min-width:0;display:flex}.panel{border:1px solid var(--border);border-radius:var(--r-panel);display:grid;overflow:hidden}.panel.three{flex:420px;grid-template-columns:repeat(3,minmax(0,1fr))}.panel.three>div{border-right:1px solid var(--border);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.panel.three>div:last-child{border-right:0}.panel dt{color:var(--text-3);font-size:13px;font-weight:500}.panel dd{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1}.panel .good{background:var(--green-tint)}[data-trend=down]{color:var(--green-strong)}[data-trend=up]{color:var(--negative)}.chart-body{flex:auto}.chart{width:100%;min-height:200px}.chart svg,.weight-chart svg{width:100%;height:auto;display:block;overflow:visible}svg text{font:400 13px var(--font);fill:var(--text-3)}svg text.strong{fill:var(--text);font-size:14px;font-weight:700}svg text.strong.small{font-size:13px;font-weight:600}svg text.tiny{font-size:12px}svg .grid{stroke:var(--divider)}svg .axis{stroke:var(--border)}svg .cone{fill:var(--green-tint)}svg .run{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}svg .expected{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-dasharray:8 7;stroke-linecap:round}svg .curve{fill:none;stroke:var(--brand-700);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}svg .end{fill:var(--surface);stroke:var(--text);stroke-width:2.5px}svg circle.g1{fill:var(--grade-1)}svg circle.g2{fill:var(--grade-2)}svg circle.g3{fill:var(--grade-3)}svg circle.g4{fill:var(--grade-4)}svg circle[class*=g]{stroke:var(--surface);stroke-width:2px}svg circle.planned{fill:var(--surface);stroke-dasharray:3 2}svg circle.planned.g1{stroke:var(--grade-1)}svg circle.planned.g2{stroke:var(--grade-2)}svg circle.planned.g3{stroke:var(--grade-3)}svg circle.planned.g4{stroke:var(--grade-4)}.chart-empty{color:var(--text-3);padding:24px 0}.forecast{flex-direction:column;flex:auto;display:flex}.forecast-foot{border-top:1px solid var(--divider);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 24px;display:flex}.legend{color:var(--text-2);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.outcomes{color:var(--text-3);gap:24px;font-size:13px;display:flex}.outcomes>div{gap:4px;display:flex}.outcomes dd{color:var(--text);font-weight:600}.sim-forecast .forecast-foot{display:none}.goal{gap:var(--gap);flex-direction:column;flex:auto;display:flex}[data-slot=goal]{flex-direction:column;flex:auto;display:flex}.slider{flex-direction:column;gap:12px;display:flex}.slider-head{color:var(--text-2);justify-content:space-between;align-items:baseline;font-size:14px;font-weight:500;display:flex}.slider-head output{color:var(--text);font-size:16px;font-weight:600}.goal-box{color:var(--green-muted);background:var(--green-tint);border-radius:var(--r-panel);flex-direction:column;gap:8px;margin-top:auto;padding:20px;display:flex}.goal-label,.goal-note{font-size:13px}.goal-label{font-weight:500}.goal-value{letter-spacing:-.03em;color:var(--green-strong);font-size:32px;font-weight:700;line-height:1}.goal-box.muted-box{color:var(--text-2);background:var(--surface-muted)}.goal-box.muted-box .goal-value{color:var(--text)}.dot{border-radius:4px;flex:none;width:8px;height:8px;display:inline-block}.dot.g1,.bg1{background:var(--grade-1)}.dot.g2,.bg2{background:var(--grade-2)}.dot.g3,.bg3{background:var(--grade-3)}.dot.g4,.bg4{background:var(--grade-4)}.dot.pass{background:var(--grade-pass)}.dot.planned{background:0 0;border:2px dashed}.dot.planned.g1{border-color:var(--grade-1)}.dot.planned.g2{border-color:var(--grade-2)}.dot.planned.g3{border-color:var(--grade-3)}.dot.planned.g4{border-color:var(--grade-4)}.grade{align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.impact{font-size:14px;font-weight:500}.impact.down{color:var(--positive)}.impact.up{color:var(--negative)}.impact.flat{color:var(--text-3)}.impact.none{color:var(--text-4)}.scroll{overflow-x:auto}.table{min-width:720px}.table.full{min-width:800px}.table.snaps{min-width:640px}.thead,.row{align-items:center;padding:0 24px;display:grid}.table.recent .thead,.table.recent .row{grid-template-columns:72px minmax(0,1fr) 112px 72px 112px 96px}.table.full .thead,.table.full .row{grid-template-columns:72px minmax(0,1fr) 112px 72px 112px 96px 64px}.table.snaps .thead,.table.snaps .row{grid-template-columns:112px minmax(0,1fr) 64px 72px 88px 184px}.thead{min-height:44px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-subtle);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.row{border-bottom:1px solid var(--divider);min-height:56px}.row>*{min-width:0}.c-name{padding-right:16px}.name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;display:block;overflow:hidden}.row.off{color:var(--text-4)}.row.off .name{text-decoration:line-through}.row.off .muted{color:var(--text-4)}.row.off .dot{opacity:.5}.c-edit{justify-content:flex-end;display:flex}.group-head{background:var(--surface-subtle);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 24px;display:flex}.group-name{font-size:13px;font-weight:600}.meta{color:var(--text-3);font-size:13px}.row.total{background:var(--green-tint);border-bottom:0}.row.total .tint{color:var(--green-muted)}.row.total .strong{font-weight:600}.total-avg{color:var(--green-strong);font-weight:700}.table-empty{color:var(--text-3);padding:24px}.table-empty a{font-weight:600}#recent .row:last-child{border-bottom:0}.summary-row{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.summary-row>.kpi{gap:16px;min-height:160px}.dist-bar{background:var(--surface-muted);border-radius:var(--r-bar);flex:none;gap:2px;height:8px;display:flex;overflow:hidden}.dist{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.dist-item{flex-direction:column;gap:2px;display:flex}.dist-label{color:var(--text-3);align-items:center;gap:6px;font-size:13px;display:flex}.dist-count{font-size:16px;font-weight:600}.study-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.study-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.inline-input{border:1px solid var(--border);border-radius:var(--r-control);align-items:center;gap:8px;min-height:40px;padding:0 12px;display:flex}.inline-input span{color:var(--text-3);font-size:13px}.inline-input input{text-align:right;appearance:textfield;background:0 0;border:0;width:48px;min-height:0;padding:0;font-weight:600}.inline-input input::-webkit-outer-spin-button{-webkit-appearance:none}.inline-input input::-webkit-inner-spin-button{-webkit-appearance:none}.inline-input:focus-within{outline:2px solid var(--text);outline-offset:2px}.inline-input input:focus-visible{outline:none}.tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search{min-height:40px;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-control);align-items:center;gap:8px;padding:0 12px;display:flex}.search input{width:140px;min-width:0;color:var(--text);appearance:none;background:0 0;border:0;outline:none;padding:0;font-size:14px}.search:focus-within{outline:2px solid var(--text);outline-offset:2px}.plan{align-items:stretch;gap:var(--gap);flex-wrap:wrap;display:flex}.plan-main{flex-direction:column;flex:999 560px;gap:16px;min-width:0;display:flex}.plan-form{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.grow-field{flex:120px;min-width:0}.pick-with-input{gap:8px;display:flex}.pick-with-input .seg.pick>button,[data-seg=formGrade]>button{width:40px}.exact{text-align:center;appearance:textfield;width:64px!important;padding:0 4px!important}.exact::-webkit-outer-spin-button{-webkit-appearance:none}.exact::-webkit-inner-spin-button{-webkit-appearance:none}.plan-submit{gap:8px;display:flex}.plan-submit .btn{min-height:44px}.plan-list{border:1px solid var(--border);border-radius:var(--r-panel);overflow:hidden}.plan-row{border-bottom:1px solid var(--divider);grid-template-columns:72px minmax(0,1fr) 80px 96px 80px;align-items:center;min-height:56px;padding:0 8px 0 16px;display:grid}.plan-row:last-child{border-bottom:0}.plan-row .c-name{min-width:0;padding-right:12px}.plan-actions{justify-content:flex-end;display:flex}.plan-empty{min-height:72px;color:var(--text-3);justify-content:center;align-items:center;padding:24px;display:flex}.meta-line{color:var(--text-3);overflow-wrap:anywhere;font-size:13px}.panel.stack-panel{flex:300px;grid-template-rows:repeat(3,minmax(0,1fr))}.stack-panel>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.stack-panel>div:last-child{border-bottom:0}.weight{gap:var(--gap);flex-wrap:wrap;display:flex}.weight-chart{flex:460px;min-width:0}.weight-side{flex-direction:column;flex:420px;gap:16px;min-width:0;display:flex}.weight-side .pickers{flex:none;gap:16px}.weight-side .seg.pick>button{width:40px}.weight-side .body-text{display:none}.mini-table{border:1px solid var(--border);border-radius:var(--r-panel);overflow:hidden}.mini-head,.mini-row{grid-template-columns:minmax(0,1fr) 96px 96px;align-items:center;padding:0 16px;display:grid}.mini-head{min-height:40px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-subtle);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.mini-row{border-bottom:1px solid var(--divider);min-height:44px;font-size:14px}.mini-row:last-child{border-bottom:0}.strong-cell{font-weight:500}.import{align-items:stretch;gap:var(--gap);flex-wrap:wrap;display:flex}.dropzone{text-align:center;background:var(--surface-subtle);border:1.5px dashed var(--grade-pass);border-radius:var(--r-panel);cursor:pointer;flex-direction:column;flex:999 560px;justify-content:center;align-items:center;gap:12px;min-width:0;min-height:200px;padding:24px;display:flex;position:relative}.dropzone:hover{border-color:var(--text-4)}.dropzone:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}.drop-icon{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.drop-title{font-size:16px;font-weight:600}.drop-sub{color:var(--text-3)}.drop-sub u{color:var(--text);text-underline-offset:3px;font-weight:600}.hint-green{color:var(--green-muted);background:var(--green-tint);border-radius:var(--r-panel);flex-direction:column;flex:300px;gap:12px;padding:20px;display:flex}.hint-title{color:var(--green-strong);align-items:center;gap:8px;font-weight:600;display:flex}.snap-date{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.snap-source{align-items:center;gap:8px;display:flex}.badge-now{color:var(--green-strong);background:var(--green-tint);border-radius:var(--r-badge);padding:2px 8px;font-size:12px;font-weight:600}.snap-avg{font-weight:600}.snap-actions{justify-content:flex-end;gap:8px;display:flex}.safe{flex-direction:column;flex:auto;gap:12px;display:flex}.body-text{color:var(--text-2)}.two-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.danger-zone{border-top:1px solid var(--divider);margin-top:auto;padding-top:16px}.danger-zone .btn{min-height:44px}.prose{flex-direction:column;gap:16px;display:flex}.prose p{color:var(--text-2);line-height:1.6}.formula{background:var(--surface-muted);border-radius:var(--r-control);padding:14px 16px;font-weight:500}.faq{padding:8px 24px 16px}.faq details{border-bottom:1px solid var(--divider);padding:16px 0}.faq details:last-child{border-bottom:0}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--text-2);margin-top:8px;line-height:1.6}.foot{color:var(--text-3);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:13px;display:flex}.foot-links{flex-wrap:wrap;gap:24px;display:flex}.foot a{color:var(--text-3)}.foot a:hover{color:var(--text)}.tabbar{display:none}dialog.sheet{width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:24px}dialog::backdrop{background:#09090b80}dialog form,.study-box{flex-direction:column;gap:16px;display:flex}.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}dialog strong{overflow-wrap:anywhere;font-weight:600}.form-error{color:var(--negative);font-size:13px}.form-note{color:var(--green-muted);background:var(--green-tint);border-radius:var(--r-control);padding:12px 16px;font-size:13px}.study-options{gap:8px;display:grid}.study-option{text-align:left;white-space:normal;justify-content:flex-start;min-height:44px;padding:10px 12px;font-weight:500}dialog.auth{width:min(420px,100vw - 32px);padding:32px}.auth-form{position:relative}.auth-close{position:absolute;top:-16px;right:-16px}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:4px;padding-bottom:8px;display:flex}.auth-brand img{object-fit:cover;object-position:bottom;width:36px;height:36px;margin-bottom:8px}.auth-brand h2{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}.auth-brand p{color:var(--text-3)}.auth .btn.primary{min-height:44px}.auth-links{justify-content:center;display:flex}.auth-foot{color:var(--text-3);text-align:center;border-top:1px solid var(--divider);padding-top:16px;font-size:13px}.suggest{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-control);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.suggest li{border-radius:var(--r-segment);cursor:pointer;align-items:baseline;gap:8px;min-height:36px;padding:8px;font-size:14px;display:flex}.suggest li:hover,.suggest li[aria-selected=true]{background:var(--surface-muted)}.s-type{width:24px;color:var(--text-3);flex:none;font-size:12px;font-weight:500}.s-name{overflow-wrap:anywhere;flex:1;min-width:0}.s-ects{color:var(--text-3);flex:none}.s-done{color:var(--positive);flex:none;font-size:12px}.legal{max-width:720px}.legal-card{gap:16px;padding:32px;line-height:1.6}.legal-card a{text-underline-offset:3px;text-decoration:underline}@media (width<=767.98px){html{scroll-padding-top:72px}.wide,.wide-block,.wide-flex{display:none!important}.narrow{display:inline}.narrow-flex{display:inline-flex}.narrow-block{display:block}body.app{flex-direction:column;min-height:100dvh;display:flex}.bar{z-index:5;position:sticky;top:0}.bar-in{flex-wrap:nowrap;min-height:56px;padding:0 16px}.brand{gap:4px;font-size:17px}.brand img{width:30px;height:30px}.top-nav{display:none}.bar-actions .icon-btn{border-radius:var(--r-control);width:44px;height:44px}.bar-actions .icon-btn.narrow{display:inline-flex}.import-link{width:44px;height:44px;min-height:44px;padding:0}main{gap:var(--gap-mobile);padding:24px 16px 32px}.page{gap:var(--gap-mobile)}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-title p{min-height:0;font-size:13px}h1{font-size:24px}.page-head .btn{min-height:48px;font-size:15px}.split-row,.kpi-row{gap:var(--gap-mobile)}.split-row>*,.split-row>.grow,.split-row>.side,.split-row.even>*{flex:100%}.btn{min-height:44px;font-size:15px}.btn.small{min-height:44px}.icon-btn{width:44px;height:44px}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select,.search input{font-size:16px}.card-head{flex-wrap:nowrap;gap:12px;padding:16px}.card-title p{font-size:13px}.card-body{padding:var(--gap-mobile)}.card-note{padding:16px}.card-foot{padding:0 16px 16px}.text-link{align-items:center;min-height:44px;display:flex}.hero{flex:100%;gap:20px;min-height:0;padding:20px}.hero-label{font-size:13px}.hero-bottom{gap:6px}.hero-value{font-size:72px}.hero-calc{font-size:13px}.kpi-grid{gap:var(--gap-mobile);flex:100%;grid-template-rows:none}.kpi{padding:16px}.kpi.span-2{gap:12px}.kpi-label{font-size:13px}.kpi-value{font-size:24px}.kpi-meta{font-size:12px}.strong-meta{font-size:13px}.kpi-inline{gap:6px}.whatif,.plan,.import,.weight{gap:var(--gap-mobile);flex-flow:column}.pickers{gap:var(--gap-mobile);flex-flow:column;flex:none;width:100%}.picker{width:100%}.seg.pick{grid-template-columns:repeat(var(--n), minmax(0, 1fr));display:grid}.seg.pick>button,.pick-with-input .seg.pick>button,[data-seg=formGrade]>button,.weight-side .seg.pick>button{width:auto;height:40px;font-size:15px}.panel.three{flex:none}.panel.three>div{gap:6px;padding:12px}.panel dt{font-size:12px}.panel dd{font-size:20px}.chart{min-height:170px}svg text{font-size:11px}svg .run,svg .expected,svg .curve{stroke-width:2px}svg .expected{stroke-dasharray:5 5}svg circle[class*=g]{stroke-width:1.5px}.forecast-foot{padding:0}.sim-forecast .forecast-foot{display:flex}.outcomes{flex:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.outcomes>div{border-right:1px solid var(--divider);flex-direction:column;gap:2px;padding:12px 16px}.outcomes>div:last-child{border-right:0}.outcomes dt{font-size:12px}.outcomes dd{font-size:15px}.goal{gap:20px}.slider{gap:10px}.goal-box{flex-flow:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:16px}.goal-label{flex:1 1 0}.goal-value{font-size:28px}.goal-note{flex:100%}#p-uebersicht .goal-rest,[data-hint] .goal-note{display:none}.scroll{overflow:visible}.table,.table.full,.table.snaps{min-width:0}.thead{display:none}.table.recent .row,.table.full .row,.table.snaps .row{align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:flex;position:relative}.row>[role=cell]:first-child:not(.c-name){flex:0 0 32px}.row .grade{gap:6px;font-size:15px}.row .c-name{flex-direction:column;flex:auto;gap:2px;min-width:0;padding:0;display:flex}.name{font-size:15px}.meta.narrow{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.row>.r:not(.wide){white-space:nowrap;flex:none}.c-edit{width:16px;color:var(--text-4);flex:none}.icon-btn.stretch{width:16px;height:16px;color:var(--text-4);background:0 0;position:static}.icon-btn.stretch:after{content:"";position:absolute;inset:0}.card.courses{background:0 0;border:0;border-radius:0;gap:16px;overflow:visible}.courses>.card-head{border:0;padding:0}.courses>.scroll{min-width:0}#list{flex-direction:column;gap:16px;display:flex}.group{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.group .row:last-child{border-bottom:0}.group-head{min-height:48px;padding:0 16px}.group-name{font-size:14px}.group-head .meta{white-space:nowrap;font-size:12px}.table.full .row.total{border-radius:var(--r-card);min-height:0;padding:16px}.row.total>[role=cell]:first-child{display:none}.row.total .name{font-weight:600}.row.total .meta{color:var(--green-muted)}.total-avg{letter-spacing:-.02em;white-space:nowrap;font-size:24px}.c-edit:empty{display:none}.tools{grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.search{min-height:44px}.search input{flex:auto;width:auto}#filter{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}#sort{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}#filter>button,#sort>button{min-height:36px}.summary-row{gap:var(--gap-mobile);grid-template-columns:minmax(0,1fr)}.summary-row>.kpi{gap:12px;min-height:0}.dist-label{font-size:12px}.dist-count{font-size:15px}.inline-input{flex:auto;min-height:44px}.inline-input input{flex:auto;width:auto}#total-presets>button{min-height:36px}.plan-main{flex:none;width:100%}.plan-form{flex-flow:column;align-items:stretch}.grow-field{flex:none}.pick-with-input{width:100%}.pick-with-input .seg{flex:auto}.plan-submit .btn{flex:auto;min-height:48px}.plan-row{gap:12px;padding:8px 8px 8px 16px;display:flex}.plan-row>.grade{flex:0 0 28px;gap:6px;font-size:15px}.plan-row .c-name{flex-direction:column;flex:auto;gap:2px;padding:0;display:flex}.plan-row .r{flex:none}.plan-empty{min-height:0;padding:16px}.panel.stack-panel{flex:none;grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr))}.stack-panel>div{border-bottom:0;border-right:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.stack-panel>div:last-child{border-right:0}.weight-side{flex:none;width:100%}.weight-side .body-text{display:block}.mini-head,.mini-row{grid-template-columns:minmax(0,1fr) 80px 80px}.mini-row{min-height:48px}.dropzone{flex:none;gap:10px;min-height:160px;padding:20px}.drop-title{font-size:15px}.drop-sub{font-size:13px}.drop-icon{width:44px;height:44px}.hint-green{flex:none;padding:14px 16px;font-size:13px}.hint-title{display:none}.snap-date{font-size:15px}.snap-avg{flex:none;font-size:16px}.snap-actions{flex:none}.snap-actions .icon-btn.narrow{display:inline-flex}.badge-now{padding:2px 6px;font-size:11px}.danger-zone{border:0;margin:0;padding:0}.prose{gap:12px}.formula{padding:12px 14px;font-size:13px;line-height:1.5}.faq{padding:0 16px}.faq details{padding:14px 0}.foot{text-align:center;border-top:0;flex-direction:column;justify-content:center;gap:12px;padding-top:16px}.foot-links{justify-content:center;gap:20px}.tabbar{z-index:5;padding:6px 8px max(22px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:sticky;bottom:0}.tabbar a{min-height:48px;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--text);font-weight:600}dialog.sheet{width:100%;max-width:none;max-height:calc(100dvh - 40px);padding:20px 16px max(20px, env(safe-area-inset-bottom));border-radius:var(--r-card) var(--r-card) 0 0;border-width:1px 0 0;margin:auto 0 0}dialog.auth{width:100%;padding:24px 16px max(24px, env(safe-area-inset-bottom))}.auth-close{top:-12px;right:-4px}.two{gap:12px}.actions .btn{flex:auto}.actions .spacer{display:none}.legal-card{padding:20px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (width>=768px){.narrow,.narrow-flex,.narrow-block{display:none!important}}
