@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/35df9b0d2975b7da.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f711afda2794f4e2.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f39fb73de5e89135.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.__className_a93e8b{font-family:Big Shoulders;font-style:normal}.__variable_a93e8b{--font-display:"Big Shoulders"}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_3a41d0{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_3a41d0{--font-body:"Public Sans","Public Sans Fallback"}:root{--bg:oklch(0.968 0.006 258);--surface:oklch(0.995 0.003 258);--surface-2:oklch(0.984 0.005 258);--border:oklch(0.905 0.009 258);--border-strong:oklch(0.845 0.013 258);--track:oklch(0.924 0.008 258);--ink:oklch(0.255 0.028 262);--ink-muted:oklch(0.505 0.022 262);--ink-faint:oklch(0.560 0.018 262);--on-accent:oklch(0.995 0.003 258);--accent:oklch(0.525 0.185 258);--accent-ink:oklch(0.485 0.160 262);--accent-press:oklch(0.465 0.170 258);--accent-tint:oklch(0.955 0.030 258);--accent-bd:oklch(0.760 0.090 258);--good:oklch(0.585 0.130 150);--good-ink:oklch(0.525 0.120 150);--good-tint:oklch(0.955 0.038 150);--gold:oklch(0.760 0.130 78);--gold-ink:oklch(0.500 0.090 70);--gold-tint:oklch(0.955 0.048 82);--gold-bd:oklch(0.855 0.085 82);--danger:oklch(0.55 0.17 25);--danger-tint:oklch(0.965 0.02 25);--danger-bd:oklch(0.72 0.14 25);--font-display-stack:var(--font-display),Impact,Haettenschweiler,sans-serif;--font-body-stack:var(--font-body),-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r:8px;--r-sm:5px;--r-band:10px;--text-2xs:0.719rem;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:0.9375rem;--text-lg:1.0625rem;--container:1120px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-body-stack);font-weight:450;font-size:var(--text-base);line-height:1.55;color:var(--ink);background:linear-gradient(var(--bg),var(--bg)),radial-gradient(circle at 1px 1px,oklch(.525 .185 258/.05) 1px,transparent 0);background-size:auto,26px 26px;-webkit-font-smoothing:antialiased}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.container{max-width:var(--container);margin:0 auto;padding:clamp(20px,4vw,44px)}.eyebrow{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-sm);letter-spacing:.14em;color:var(--accent-ink)}.eyebrow,.label{text-transform:uppercase}.label{font-family:var(--font-body-stack);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;color:var(--ink-muted)}.topbar{justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding-bottom:var(--sp-4);border-bottom:1px solid var(--border);margin-bottom:var(--sp-7)}.brand,.topbar{display:flex;align-items:center}.brand{gap:var(--sp-3)}.brand-mark{width:28px;height:28px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);grid-gap:2.5px;gap:2.5px}.brand-mark i{background:var(--track);border-radius:1px}.brand-mark i:nth-child(5){background:var(--accent)}.brand-mark i:nth-child(3),.brand-mark i:nth-child(7){background:var(--ink)}.brand-name{font-family:var(--font-display-stack);font-weight:800;font-size:1.375rem;letter-spacing:.03em;text-transform:uppercase;line-height:1}.nav{display:flex;gap:var(--sp-5);align-items:center}.nav a{font-size:var(--text-sm);color:var(--ink-muted);font-weight:500}.nav a.active,.nav a:hover{color:var(--ink);text-decoration:none}.nav a.active{color:var(--accent-ink);font-weight:600}.data-banner{margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--gold-bd);border-radius:var(--r-sm);background:var(--gold-tint);color:var(--gold-ink);font-size:var(--text-sm)}.page-head{margin-bottom:var(--sp-6)}.page-head h1{font-family:var(--font-display-stack);font-weight:800;font-size:clamp(2.125rem,5vw,3.25rem);line-height:.95;letter-spacing:.005em;margin:var(--sp-3) 0 var(--sp-3);color:var(--ink);text-wrap:balance;max-width:18ch}.page-head p{color:var(--ink-muted);max-width:64ch;font-size:var(--text-md);margin:0}.statband{display:flex;border:1px solid var(--border);border-radius:var(--r-band);background:var(--surface);overflow:hidden;margin:var(--sp-6) 0 var(--sp-7)}.metric{flex:1 1;padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:6px}.metric+.metric{border-left:1px solid var(--border)}.metric .v{font-family:var(--font-display-stack);font-weight:800;font-size:2.625rem;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);display:flex;align-items:baseline;gap:8px;letter-spacing:.01em}.metric .v small{font-family:var(--font-body-stack);font-weight:500;color:var(--ink-faint)}.metric .v small,.trend{font-size:var(--text-xs)}.trend{font-family:var(--font-display-stack);font-weight:800;letter-spacing:.05em;text-transform:uppercase}.trend.up{color:var(--good)}.trend.hold{color:var(--gold-ink)}.sec-head{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-7) 0 var(--sp-4)}.sec-head h2{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-md);letter-spacing:.1em;text-transform:uppercase;margin:0;color:var(--ink)}.sec-head .rule{flex:1 1;height:1px;background:var(--border)}.scoreline{flex:none;font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);white-space:nowrap}.save-note{flex:none;display:inline-flex}.save-note-in{font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--good-ink);white-space:nowrap}.sortctl{display:flex;align-items:center;gap:8px;flex:none}.sortctl-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-weight:600}.select{font-family:var(--font-body-stack);font-size:var(--text-xs);font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:6px 10px;cursor:pointer}.select:hover{border-color:var(--ink-faint)}.select:focus-visible{border-color:var(--accent)}.levels{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-4)}.levels,.lvl{gap:var(--sp-4)}.lvl{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--sp-5);display:flex;flex-direction:column;transition:transform .18s cubic-bezier(.2,0,0,1)}.lvl.active{border-color:var(--accent-bd);background:var(--accent-tint);box-shadow:0 1px 2px oklch(.255 .028 262/.05),0 14px 30px -20px oklch(.525 .185 258/.5)}.lvl.active:hover{transform:translateY(-2px)}.lvl.rest{opacity:.94}.lvl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.lvl-lvl{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.lvl.active .lvl-lvl{color:var(--accent-ink)}.lvl-name{font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em;margin:5px 0 2px;color:var(--ink)}.lvl-months{font-size:var(--text-2xs);color:var(--ink-faint)}.state{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-sm);white-space:nowrap}.state.active{background:var(--accent);color:var(--on-accent)}.state.queued{background:transparent;color:var(--ink-muted);border:1px solid var(--border-strong)}.state.locked{background:transparent;color:var(--ink-faint);border:1px solid var(--border)}.xp{display:flex;flex-direction:column;gap:7px}.xp-meta{display:flex;justify-content:space-between;align-items:center}.xp-meta .pct{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-base);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-faint);letter-spacing:.02em}.lvl.active .xp-meta .pct{color:var(--accent-ink)}.xp-track{display:flex;gap:3px}.seg{height:8px;flex:1 1;background:var(--track);border-radius:2px}.lvl.active .seg.on{background:var(--accent)}.xp.cleared .xp-meta .pct{color:var(--good-ink)}.xp.cleared .seg.on{background:var(--good)}.quests{flex-direction:column;margin-top:2px}.quest,.quests{display:flex;gap:10px}.quest{align-items:center;font-size:var(--text-xs)}.qi{width:16px;height:16px;flex:none;display:grid;place-items:center}.qi svg{width:15px;height:15px;display:block}.quest .qt{flex:1 1;line-height:1.3;color:var(--ink)}.quest .qv{font-family:var(--font-body-stack);font-weight:600;font-size:var(--text-2xs);letter-spacing:.01em;padding:3px 7px;border-radius:4px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quest.done .qv{background:var(--good-tint);color:var(--good-ink)}.quest.doing .qv{background:var(--accent-tint);color:var(--accent-ink)}.quest.locked .qt,.quest.locked .qv{color:var(--ink-faint)}.quest.locked .qv{background:var(--track)}.kpi-explain{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);margin:var(--sp-4) 0 var(--sp-7);overflow:hidden}.kpi-explain-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5)}.kpi-explain-summary::-webkit-details-marker{display:none}.kpi-explain-summary:hover{background:var(--surface-2)}.kpi-explain-heading{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-md);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.kpi-explain-hint{flex:1 1;font-size:var(--text-xs);color:var(--ink-faint)}.kpi-explain-chev{display:grid;place-items:center;width:20px;height:20px;color:var(--ink-muted);transition:transform .18s ease}.kpi-explain-chev svg{width:18px;height:18px}.kpi-explain[open] .kpi-explain-chev{transform:rotate(180deg)}.kpi-explain-body{padding:0 var(--sp-5) var(--sp-4);border-top:1px solid var(--border)}.kpi-group{padding-top:var(--sp-4)}.kpi-group-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:2px;flex-wrap:wrap}.kpi-group-level{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}.kpi-group-name{font-weight:700;font-size:var(--text-base);color:var(--ink)}.kpi-group-months{font-size:var(--text-2xs);color:var(--ink-faint)}.kpi-def{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;align-items:flex-start}.kpi-def+.kpi-def{border-top:1px solid var(--border)}.kpi-def-icon{width:16px;height:16px;flex:none;display:grid;place-items:center;margin-top:2px}.kpi-def-icon svg{width:15px;height:15px}.kpi-def-body{flex:1 1;min-width:0}.kpi-def-label{margin:0;font-weight:600;color:var(--ink);line-height:1.35}.kpi-def-detail{margin:3px 0 0;font-size:var(--text-sm);color:var(--ink-muted);line-height:1.5}.kpi-def-source{margin:4px 0 0;font-size:var(--text-2xs);color:var(--ink-faint)}.kpi-def-state{flex:none;font-family:var(--font-body-stack);font-weight:600;font-size:var(--text-2xs);padding:3px 8px;border-radius:4px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:1px}.kpi-def-state.done{background:var(--good-tint);color:var(--good-ink)}.kpi-def-state.doing{background:var(--accent-tint);color:var(--accent-ink)}.kpi-def-state.locked{background:var(--track);color:var(--ink-faint)}.btn{font-family:var(--font-body-stack);font-weight:600;font-size:var(--text-sm);border-radius:var(--r-sm);padding:9px 14px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s ease,border-color .15s ease}.btn svg{width:14px;height:14px}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-press)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--border-strong)}.btn.ghost:hover{background:var(--surface-2);border-color:var(--ink-faint)}.btn.sm{padding:6px 11px;font-size:var(--text-xs)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:transparent;border-color:var(--border-strong)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-3)}.pager-info{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}#problems,#training,#wins{scroll-margin-top:24px}.logpanel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.log-empty{padding:var(--sp-6) var(--sp-5);text-align:center}.log-empty-title{margin:0;font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-md);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.log-empty-hint{margin:6px auto 0;max-width:42ch;font-size:var(--text-sm);color:var(--ink-faint)}.win-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.problem-row+.problem-row,.win-row+.win-row{border-top:1px solid var(--border)}.win-mark{width:30px;height:30px;flex:none;display:grid;place-items:center;background:var(--gold-tint);border:1px solid var(--gold-bd);border-radius:var(--r-sm)}.win-mark svg{width:17px;height:17px}.win-body{flex:1 1;min-width:0}.win-task{margin:0;color:var(--ink);font-weight:500;line-height:1.35}.win-meta{margin:3px 0 0;color:var(--ink-muted)}.chip-gold,.win-meta{font-size:var(--text-xs)}.chip-gold{flex:none;font-family:var(--font-display-stack);font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:var(--gold-tint);color:var(--gold-ink);border:1px solid var(--gold-bd);border-radius:999px;padding:5px 12px}.problem-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.status{flex:none;font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:4px 10px;border-radius:var(--r-sm);min-width:104px;text-align:center}.status.open{background:var(--gold-tint);color:var(--gold-ink);border:1px solid var(--gold-bd)}.status.investigating{background:var(--accent-tint);color:var(--accent-ink);border:1px solid var(--accent-bd)}.status.resolved{background:var(--good-tint);color:var(--good);border:1px solid oklch(.855 .07 150)}.problem-body{flex:1 1;min-width:0}.problem-title{margin:0;color:var(--ink);font-weight:500;line-height:1.35}.problem-meta{margin:3px 0 0;font-size:var(--text-xs);color:var(--ink-muted)}.priority{flex:none;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}.train-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.train-row+.train-row{border-top:1px solid var(--border)}.ttype{flex:none;font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:4px 10px;border-radius:var(--r-sm);min-width:84px;text-align:center;background:var(--surface-2);color:var(--ink-muted);border:1px solid var(--border-strong)}.train-body{flex:1 1;min-width:0}.train-title{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink);font-weight:600;line-height:1.35}.train-title svg{width:13px;height:13px;opacity:.7}.train-meta{margin:3px 0 0;font-size:var(--text-xs);color:var(--ink-muted)}.session{display:flex;align-items:center;gap:var(--sp-3);flex:none;margin:0}.session-email{font-size:var(--text-xs);color:var(--ink-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-sm)}.role-badge.admin{background:var(--accent-tint);color:var(--accent-ink);border:1px solid var(--accent-bd)}.role-badge.viewer{background:var(--surface-2);color:var(--ink-muted);border:1px solid var(--border-strong)}.authwrap{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5)}.authcard{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--sp-7) var(--sp-6);box-shadow:0 1px 2px oklch(.255 .028 262/.05),0 24px 48px -30px oklch(.255 .028 262/.4)}.auth-brand{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6)}.auth-title{font-family:var(--font-display-stack);font-weight:800;font-size:2.125rem;letter-spacing:.02em;text-transform:uppercase;line-height:1;margin:0 0 8px;color:var(--ink)}.auth-sub{color:var(--ink-muted);font-size:var(--text-base);margin:0 0 var(--sp-5)}.auth-form{display:flex;flex-direction:column;gap:var(--sp-3)}.auth-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.auth-input{font-family:var(--font-body-stack);font-size:var(--text-base);padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%}.auth-input::placeholder{color:var(--ink-faint)}.auth-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.auth-btn{justify-content:center;margin-top:4px}.auth-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-2) 0 0;color:var(--ink-faint);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-msg{font-size:var(--text-sm);margin:4px 0 0;line-height:1.4}.auth-msg.ok{color:var(--good)}.auth-msg.err{color:var(--danger)}.auth-hint{margin:var(--sp-5) 0 0;font-size:var(--text-xs);color:var(--ink-faint)}.auth-alt{margin:var(--sp-3) 0 0;font-size:var(--text-sm);text-align:center}.auth-alt a,.linklike{color:var(--accent);text-decoration:none}.auth-alt a:hover,.linklike:hover{text-decoration:underline}.linklike{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--accent)}.auth-note{margin:0 0 var(--sp-2);font-size:var(--text-sm);line-height:1.45;color:var(--ink-muted)}.auth-note strong{color:var(--ink)}.row-actions{display:inline-flex;align-items:center;gap:4px;flex:none}.iconbtn{width:28px;height:28px;flex:none;display:grid;place-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.iconbtn svg{width:15px;height:15px}.iconbtn:hover{background:var(--surface-2);border-color:var(--ink-faint);color:var(--ink)}.iconbtn.danger:hover{border-color:var(--danger-bd);color:var(--danger);background:var(--danger-tint)}.iconbtn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.iconbtn.active:hover{background:var(--accent-press);border-color:var(--accent-press);color:var(--on-accent)}.form-hint{margin:6px 0 0;font-size:var(--text-2xs);line-height:1.4;color:var(--ink-faint)}.train-row.pinned{background:var(--accent-tint)}.pin-flag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display-stack);font-weight:800;font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink)}.pin-flag svg{width:12px;height:12px}.editbtn{font-family:var(--font-body-stack);font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);padding:3px 8px;cursor:pointer}.editbtn:hover{color:var(--ink);border-color:var(--ink-faint);background:var(--surface-2)}.metric{position:relative}.metric .editbtn{position:absolute;top:var(--sp-3);right:var(--sp-4)}.modal-overlay{position:fixed;inset:0;z-index:50;background:oklch(.255 .028 262/.42);display:grid;place-items:center;padding:var(--sp-5);animation:fade .14s ease both}.modal-panel{width:100%;max-width:460px;max-height:90dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:0 1px 2px oklch(.255 .028 262/.05),0 30px 60px -30px oklch(.255 .028 262/.5);animation:rise .18s cubic-bezier(.2,0,0,1) both}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.modal-title{font-family:var(--font-display-stack);font-weight:800;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;margin:0;color:var(--ink)}.modal-close{flex:none;width:30px;height:30px;display:grid;place-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);font-size:1.25rem;line-height:1;color:var(--ink-muted);cursor:pointer}.modal-close:hover{background:var(--surface-2);border-color:var(--ink-faint);color:var(--ink)}.modal-body{padding:var(--sp-5)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.form{display:flex;flex-direction:column;gap:var(--sp-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.input,.textarea{font-family:var(--font-body-stack);font-size:var(--text-base);padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%}.textarea{resize:vertical;min-height:76px;line-height:1.45}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus-visible,.textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field .select{width:100%;padding:9px 11px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);margin-top:2px}.form-error{font-size:var(--text-sm);color:var(--danger);margin:0}@media (max-width:820px){.form-row,.levels{grid-template-columns:1fr}.statband{flex-direction:column}.metric+.metric{border-left:none;border-top:1px solid var(--border)}.nav{order:1;width:100%;gap:var(--sp-4);overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap}.problem-row,.train-row,.win-row{flex-wrap:wrap;gap:var(--sp-3)}.chip-gold,.priority{margin-left:40px}.session-email{display:none}}@media (prefers-reduced-motion:no-preference){.lvl,.statband{animation:rise .5s cubic-bezier(.2,0,0,1) both}.lvl.rest:nth-of-type(2){animation-delay:.06s}.lvl.rest:last-of-type{animation-delay:.12s}.save-note-in{animation:fade .25s cubic-bezier(.2,0,0,1) both}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-panel{animation:none}}