.page{width:100%;max-width:100%;margin-inline:auto;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-block:calc(24px + var(--floating-header-h) + var(--floating-header-gap)) 56px}@media (min-width:720px){.page{max-width:680px;padding-inline:15px;padding-block:calc(40px + var(--floating-header-h) + var(--floating-header-gap)) 72px}}@media (min-width:1024px){.page{max-width:820px;padding-inline:24px;padding-block:calc(48px + var(--floating-header-h) + var(--floating-header-gap)) 96px}}.page-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-block:4px 10px}.page-title{margin:0;font-size:var(--font-size-3xl);font-weight:800;letter-spacing:-.04em;line-height:1.15;color:var(--tx);text-wrap:balance}.page-subtitle{margin:12px auto 0;font-size:var(--font-size-md);line-height:1.5;color:var(--tx-secondary);max-width:46ch;letter-spacing:-.005em;text-wrap:pretty}@media (max-width:767px){.page .page-head .page-title{font-size:clamp(22px,5.6vw,28px);line-height:1.12}.page-subtitle{font-size:var(--font-size-sm)}}.score-pair{container-type:inline-size;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:clamp(8px,4cqi,34px);width:100%;padding-block:14px 34px}.score-block{display:flex;flex-direction:column;align-items:center;gap:3px;width:min(190px,44cqi);min-width:0}.score-pair:not(:has(.score-block--goal)) .score-block{width:min(190px,72cqi)}.score-pair-arrow{display:flex;flex-shrink:0;color:var(--tx-tertiary);margin-top:calc(min(190px, 44cqi) / 2);translate:0 -50%}.score-pair-arrow svg{width:clamp(14px,5cqi,22px);height:clamp(14px,5cqi,22px)}.score-block--goal{--gauge-ring-size:120px;width:min(120px,28cqi);margin-top:calc((min(190px, 44cqi) - min(120px, 28cqi)) / 2)}.score-block--goal .score-caption{max-width:16ch;text-align:center;text-wrap:balance}.score-pair .gauge{position:relative;width:100%;height:auto;aspect-ratio:1;flex-shrink:1;container-type:inline-size}.score-pair .gauge svg{display:block;width:100%;height:auto;aspect-ratio:1;overflow:visible}.score-pair .gauge-track{stroke:color-mix(in oklch,var(--tx) 16%,transparent);stroke-width:7.4cqi;stroke-linecap:round;stroke-linejoin:round}.score-pair .gauge-arc{stroke:var(--gauge-tone);stroke-width:7.4cqi;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 16px color-mix(in oklch,var(--gauge-tone) var(--tone-40),transparent));transition:stroke-dashoffset var(--motion-disclosure-duration) var(--motion-move-ease),stroke var(--transition)}.score-pair .gauge-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:0}.score-pair .gauge .gauge-value{font-family:var(--font-mono);font-weight:700;letter-spacing:-.04em;font-size:28cqi;line-height:1;color:var(--gauge-tone);filter:drop-shadow(0 0 28px color-mix(in oklch,var(--gauge-tone) var(--tone-40),transparent))}.score-pair .score-block--goal .gauge .gauge-value{font-size:25cqi;filter:none}.score-pair .score-block--goal .gauge-arc{filter:none}.score-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%;padding-top:3px}.score-caption{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-secondary);line-height:1.2}@media (prefers-reduced-motion:reduce){.score-pair .gauge-arc{transition:none}}@media (max-width:767px){.score-pair{padding-block:8px 20px;gap:clamp(6px,3cqi,16px)}.score-block{width:min(152px,38cqi)}.score-pair:not(:has(.score-block--goal)) .score-block{width:min(152px,64cqi)}.score-block--goal{width:min(96px,24cqi);margin-top:calc((min(152px, 38cqi) - min(96px, 24cqi)) / 2)}.score-pair-arrow{margin-top:calc(min(152px, 38cqi) / 2)}}.title-site{white-space:nowrap}.favicon{width:1.05em;height:1.05em;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;vertical-align:baseline;translate:0 .02em;overflow:hidden;margin-inline:.08em .1em;background:linear-gradient(oklch(1 0 none/.22),oklch(0 0 none/.08)),var(--brand);box-shadow:inset 0 0 0 1px oklch(0 0 none/.12);font-size:.56em}.favicon img{display:block;width:100%;height:100%;max-width:none;min-width:0;min-height:0;object-fit:cover}.favicon--image{background:none;box-shadow:none}.separator-line{height:1px;background:var(--border);margin-inline:-12px;margin-block:8px 24px}.chip-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:10px;margin-bottom:24px}.chip-row>.chip{width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:6px;padding:12px;border-radius:var(--radius-lg);border:1px solid transparent;background:var(--bg-sunken);text-align:left}.chip-k{min-width:0;font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--tx-tertiary)}.chip-k,.chip-v{overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-weight:700;white-space:nowrap}.chip-v{display:flex;align-items:baseline;gap:6px;font-size:17px;letter-spacing:-.02em;line-height:1.1;color:var(--tx-secondary)}.chip b{font-weight:700;color:var(--tx)}.chip-row>.chip--brand{background:color-mix(in oklab,var(--brand) var(--tone-8),var(--bg-raised))}.chip-row>.chip--brand .chip-k,.chip-row>.chip--brand .chip-v{color:var(--brand)}.chip--soon{position:relative;overflow:hidden;text-align:left;cursor:pointer;padding-right:32px;transition:border-color var(--transition),transform var(--press-duration) var(--ease-out)}.chip--soon .chip-k{display:flex;align-items:center;gap:6px;min-width:0}.chip-k-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-soon{display:inline-flex;align-items:center;height:15px;padding-inline:5px;border-radius:999px;flex-shrink:0;background:color-mix(in oklch,var(--knowledge) var(--tone-16),transparent);color:var(--knowledge);font-size:9px;letter-spacing:.05em;transition:background .22s var(--ease-out)}.chip--soon .chip-v{font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:-.012em;color:var(--tx)}.chip-soon-go{position:absolute;right:12px;top:50%;translate:0 -50%;display:grid;place-items:center;width:14px;height:14px;color:var(--tx-tertiary);pointer-events:none}.chip-soon-go svg{width:13px;height:13px}.chip--soon:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.chip--soon:hover{border-color:var(--border-contrast)}}.chip--soon[data-shake]{animation:chip-shake .34s var(--motion-move-ease)}.chip--soon[data-shake] .chip-soon{background:color-mix(in oklch,var(--knowledge) var(--tone-24),transparent)}@keyframes chip-shake{0%,to{transform:none}22%{transform:translateX(-4px)}55%{transform:translateX(3px)}80%{transform:translateX(-1.5px)}}@media (prefers-reduced-motion:reduce){.chip--soon[data-shake]{animation:none;border-color:var(--border-contrast)}.chip--soon{transition:none}}.chip-row:has(>:nth-child(3)){grid-template-columns:1fr 1fr}.chip-row:has(>:nth-child(3)) .chip--soon{grid-column:1/-1;order:2}@media (min-width:540px){.chip-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.chip-row>.chip{padding:14px 15px}.chip-row:has(>:nth-child(3)){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.7fr)}.chip-row:has(>:nth-child(3)) .chip--soon{grid-column:auto;order:0}}.home-thread{display:flex;flex-direction:column;gap:14px}.home-intro{margin:0 auto;max-width:50ch;font-size:var(--font-size-md);line-height:1.55;color:var(--tx-secondary);letter-spacing:-.005em;text-align:center;text-wrap:pretty;animation:bub-in .32s var(--motion-enter-ease) both}.home-intro strong{font-weight:700;color:var(--tx)}.home-intro code{font-family:var(--font-mono);font-size:13.5px;padding:1px 5px;border-radius:5px;background:var(--bg-sunken);border:1px solid var(--border);color:var(--tx)}@media (prefers-reduced-motion:reduce){.home-intro{animation:none}}.resume{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:20px;border-radius:var(--raised-panel-radius);border:1px solid color-mix(in oklch,var(--brand) var(--tone-40),transparent);background:linear-gradient(180deg,color-mix(in oklab,var(--brand) var(--tone-8),var(--bg-raised)) 0,var(--bg-raised) 72%);transition:border-color .16s var(--ease-out),transform var(--press-duration) var(--ease-out);animation:bub-in .32s var(--motion-enter-ease) both}.resume:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.resume:hover{border-color:color-mix(in oklch,var(--brand) var(--tone-56),transparent)}}@media (prefers-reduced-motion:reduce){.resume{animation:none;transition:none}.resume:active{transform:none}}.resume-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.resume-eyebrow{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}.resume-eyebrow,.resume-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-title{font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.012em;color:var(--tx)}.resume-note{font-size:var(--font-size-sm);line-height:1.4;color:var(--tx-secondary)}.resume-go{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding-inline:22px;border-radius:999px;background:var(--brand);color:oklch(.99 0 none);font-size:var(--font-size-md);font-weight:650;white-space:nowrap}.resume-go svg{width:16px;height:16px}@media (max-width:540px){.resume{padding:16px}.resume-go{padding-inline:14px}.resume-title{font-size:var(--font-size-lg)}}.home-cta{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:20px}.btn-soft{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;padding-inline:22px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-raised);font-size:var(--font-size-md);font-weight:600;letter-spacing:-.008em;color:var(--tx-secondary);transition:color var(--transition),border-color var(--transition),transform var(--press-duration) var(--ease-out)}.btn-soft svg{width:16px;height:16px}.btn-soft:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn-soft:hover{color:var(--tx);border-color:var(--border-contrast)}}.btn-quiet{align-self:center;display:inline-flex;align-items:center;gap:7px;height:42px;padding-inline:16px;border-radius:999px;color:var(--tx-tertiary);font-size:var(--font-size-sm);font-weight:600;transition:color var(--transition),background var(--transition)}.btn-quiet svg{width:14px;height:14px;transition:transform var(--motion-disclosure-duration) var(--motion-enter-ease)}.btn-quiet[aria-expanded=true] svg{transform:rotate(180deg)}.btn-quiet:hover{color:var(--tx-secondary);background:var(--bg-sunken)}@media (prefers-reduced-motion:reduce){.btn-quiet svg,.btn-soft{transition:none}.btn-soft:active{transform:none}}.qz-q{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.022em;line-height:1.25;color:var(--tx);text-wrap:pretty}@media (max-width:540px){.qz-q{font-size:var(--font-size-lg)}}.qz{flex-direction:column;gap:10px}.qz,.qz-opt{display:flex}.qz-opt{align-items:flex-start;gap:12px;width:100%;padding:14px 16px;border-radius:20px;border:1px solid transparent;background:var(--bg-sunken);text-align:left;font-size:var(--font-size-md);line-height:1.35;color:var(--tx);transition:border-color .14s var(--ease-out),background .14s var(--ease-out),transform var(--press-duration) var(--ease-out)}.qz-opt:not([disabled]):active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.qz-opt:not([disabled]):hover{border-color:color-mix(in oklch,var(--brand) var(--tone-40),transparent);background:color-mix(in oklab,var(--brand) var(--tone-8),var(--bg-raised))}}.qz-body{display:flex;flex-direction:column;gap:3px;min-width:0}.qz-label{font-weight:600;letter-spacing:-.006em}.qz-desc{font-size:14.5px;line-height:1.45;color:var(--tx-secondary)}.qz-kicker{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:-9px}.qz-lede{margin-top:-7px;font-size:15px;line-height:1.5}.qz-kick,.qz-lede{color:var(--tx-secondary);text-wrap:pretty}.qz-kick{font-size:var(--font-size-md);font-weight:600;letter-spacing:-.008em;line-height:1.4;margin-bottom:-8px}@media (max-width:540px){.qz-kick{font-size:15px}}.goal{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.stp-body--goal{gap:16px}.goal:before{content:"";position:absolute;z-index:0;pointer-events:none;top:-24px;left:50%;translate:-50% 0;width:min(340px,100%);height:180px;background:radial-gradient(closest-side,color-mix(in oklch,var(--goal-tone) var(--tone-24),transparent),transparent);transition:background .32s var(--ease-out)}.goal>*{position:relative;z-index:1}.goal-score{font-family:var(--font-mono);font-size:clamp(58px,17vw,80px);font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--goal-tone);transition:color .3s var(--ease-out)}.goal-cap{margin-top:6px;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-tertiary)}.goal-score[data-pop]{animation:goal-pop .46s var(--ease-pop)}.goal-cap[data-pop]{animation:goal-pop .36s var(--ease-pop)}@keyframes goal-pop{0%{scale:1}28%{scale:1.14}to{scale:1}}.goal-track{position:relative;width:100%;height:52px;margin-top:10px;touch-action:pan-y}.goal-rail{position:absolute;left:0;right:0;top:20px;height:10px;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border-strong);background:linear-gradient(90deg,var(--status-alert-display) 0,var(--status-risk-display) 15%,var(--status-clean-display) 62%,color-mix(in oklch,var(--status-clean-display) 70%,var(--brand)) 100%)}.goal-mask{inset:0;background:var(--bg-sunken);transform-origin:right center;transform:scaleX(var(--u))}.goal-hand,.goal-mask{position:absolute;transition:transform .34s var(--ease-pop)}.goal-hand{left:0;right:0;top:25px;height:0;transform:translateX(var(--p))}.goal-burst,.goal-thumb{position:absolute;left:0;top:0;translate:-50% -50%;width:28px;height:28px;border-radius:50%;pointer-events:none}.goal-thumb{background:var(--bg-raised);border:3px solid var(--goal-tone);box-shadow:0 8px 20px -8px color-mix(in oklch,var(--goal-tone) var(--tone-72),transparent),var(--shadow-lg);transition:border-color .3s var(--ease-out),scale .24s var(--ease-pop),box-shadow .3s var(--ease-out)}.goal-input:active~.goal-hand .goal-thumb,.goal-input:focus-visible~.goal-hand .goal-thumb{scale:1.2}.goal-input:focus-visible~.goal-hand .goal-thumb{box-shadow:0 0 0 4px var(--brand-glow),var(--shadow-lg)}.goal-burst{border:2px solid var(--goal-tone);opacity:0}.goal-burst[data-pop]{animation:goal-burst .56s var(--ease-out)}@keyframes goal-burst{0%{opacity:.7;scale:1}to{opacity:0;scale:2.8}}.goal-input{position:absolute;inset:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;background:none;opacity:0;cursor:grab}.goal-input:active{cursor:grabbing}.goal-input::-webkit-slider-thumb{-webkit-appearance:none;width:1px;height:52px}.goal-input::-moz-range-thumb{width:1px;height:52px;border:0;border-radius:0}.goal-ends{display:flex;justify-content:space-between;width:100%;font-weight:600;letter-spacing:.08em}.goal-drag,.goal-ends{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--tx-tertiary)}.goal-drag{position:absolute;left:0;top:-1px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-weight:700;letter-spacing:.09em;animation:goal-drag-nudge 1.9s var(--ease-in-out) infinite}.goal-drag svg{width:13px;height:13px}@keyframes goal-drag-nudge{0%,to{translate:0 0}50%{translate:7px 0}}.goal-stats{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:12px}.goal-stat{flex:1 1 128px;min-width:0;display:flex;flex-direction:column;gap:3px;padding:8px 13px;border-radius:14px;text-align:left;border:1px solid var(--border-strong);background:var(--bg-sunken);transition:border-color .26s var(--ease-out),background .26s var(--ease-out)}.goal-stat[data-on]{border-color:color-mix(in oklch,var(--c) var(--tone-40),transparent);background:color-mix(in oklab,var(--c) var(--tone-8),var(--bg-raised))}.goal-stat-ic{display:flex;color:var(--tx-tertiary);transition:color .26s var(--ease-out)}.goal-stat-ic svg{width:15px;height:15px}.goal-stat[data-on] .goal-stat-ic{color:var(--c)}.goal-stat-k{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-tertiary)}.goal-stat-v{font-size:14px;font-weight:650;letter-spacing:-.012em;line-height:1.25;color:var(--tx-tertiary);text-wrap:pretty;transition:color .26s var(--ease-out)}.goal-stat[data-on] .goal-stat-v{color:var(--tx)}.goal-stat[data-pop]{animation:goal-pop .42s var(--ease-pop)}.qz-commit{display:flex;flex-direction:column;gap:8px}.qz-commit .stp-footer{padding-top:0}@media (max-width:540px){.ovl-panel .stp-body{gap:16px}.ovl-panel .stp-body .qz-kick,.ovl-panel .stp-body .qz-kicker,.ovl-panel .stp-body .qz-lede--drag{display:none}.qz-opt{padding:12px 14px}.goal-score{font-size:clamp(48px,13vw,72px)}.goal-cap{margin-top:6px}.goal-track{height:52px;margin-top:10px}.goal-rail{top:20px;height:10px}.goal-hand{top:25px}.goal-input::-webkit-slider-thumb{height:52px}.goal-input::-moz-range-thumb{height:52px}.goal:before{top:-16px;height:140px}.goal-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.goal-stat[data-soon]{display:none}}@media (prefers-reduced-motion:reduce){.goal-hand,.goal-mask,.goal-thumb{transition-duration:1ms}.goal-burst,.goal-cap,.goal-score,.goal-stat{animation:none}.goal-score,.goal-stat,.goal-stat-ic,.goal-stat-v,.goal:before{transition-duration:1ms}.goal-drag{animation:none}.qz-opt{transition:none}.qz-opt:not([disabled]):active{transform:none}}.qz-error{margin-top:12px;font-size:var(--font-size-sm);line-height:1.45;color:var(--status-fail-display);text-wrap:pretty}.trail{position:relative;flex:1 1 auto;min-height:var(--app-viewport-dynamic-height);overflow:hidden;background-image:radial-gradient(var(--canvas-dot) 1px,transparent 1px);background-size:22px 22px}.trail-view{--card-w:min(68vw,440px);--link-w:clamp(48px,18vw,120px);position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}@media (min-width:768px){.trail-view{--card-w:min(52vw,480px);--link-w:min(18vw,160px)}}.trail-view::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.trail-view{scroll-behavior:auto}}.trail-track{display:flex;align-items:center;min-height:100%;padding-inline:calc(50% - var(--card-w) / 2);width:max-content}.trail-link{flex:0 0 var(--link-w);height:3px;margin-inline:-20px;background:var(--border-contrast);opacity:.55;mask-image:linear-gradient(90deg,transparent,oklch(0 0 none) 24%,oklch(0 0 none) 76%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,oklch(0 0 none) 24%,oklch(0 0 none) 76%,transparent);transition:background .42s var(--ease-out),opacity .42s var(--ease-out)}.trail-link[data-done]{background:var(--brand);opacity:.9}@media (prefers-reduced-motion:reduce){.trail-link{transition:none}}.trail-step{position:relative;z-index:1;flex:0 0 var(--card-w);width:var(--card-w);max-width:var(--card-w);scroll-snap-align:center;transition:filter .46s var(--ease-out),opacity .46s var(--ease-out),transform .46s var(--ease-out)}.trail-step[data-pos=far]{filter:blur(9px);opacity:.4;transform:scale(.93)}.trail-step[data-pos=near]{filter:blur(2px);opacity:.75;transform:scale(.97)}.trail-step[data-pos=focus]{filter:none;opacity:1;transform:none}.trail-step[data-pos=far],.trail-step[data-pos=near]{cursor:pointer}@media (min-width:768px){.trail-step[data-pos=near]{filter:blur(6px);opacity:.6;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.trail-step{transition:none}}.trail-step-label{position:absolute;left:0;right:0;bottom:calc(100% + 14px);font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.02em;color:var(--tx)}.trail-step-label small{display:block;margin-top:2px;font-size:var(--font-size-sm);font-weight:500;color:var(--tx-tertiary);letter-spacing:0}.trail-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:330px;padding:26px 26px 22px;border-radius:var(--raised-panel-radius);border:1px solid transparent;background:var(--bg-raised)}@media (max-width:540px){.trail-card{min-height:300px;padding:20px 18px 18px}}.trail-card.trail-card--done{border-color:color-mix(in oklch,var(--brand) var(--tone-56),transparent);background:color-mix(in oklab,var(--brand) var(--tone-8),var(--bg-raised))}.trail-card--done .trail-mark--done{--mark-tone:var(--brand)}.trail-card h3{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.024em;line-height:1.2;color:var(--tx)}.trail-card .btn-brand{white-space:nowrap;padding-inline:16px}.trail-card-marks{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.trail-worth{display:inline-flex;align-items:center;height:28px;padding-inline:12px;border-radius:999px;border:1px solid color-mix(in oklch,var(--brand) var(--tone-24),transparent);background:color-mix(in oklab,var(--brand) var(--tone-8),var(--bg-raised));font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.07em;color:var(--brand)}.trail-card-spacer{flex:1 1 auto;min-height:6px}.trail-bullets{display:flex;flex-direction:column;gap:9px}.trail-bullet{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.45;color:var(--tx-secondary)}.trail-bullet svg{width:15px;height:15px;flex-shrink:0;margin-top:3px;color:var(--brand)}.trail-mark{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:28px;padding-inline:12px;border-radius:999px;border:1px solid color-mix(in oklch,var(--mark-tone) var(--tone-40),transparent);background:color-mix(in oklch,var(--mark-tone) var(--tone-8),transparent);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mark-tone)}.trail-mark svg{width:11px;height:11px}.trail-mark--done{--mark-tone:var(--status-clean-display)}.trail-mark--locked,.trail-mark--skipped{--mark-tone:var(--tx-tertiary)}.trail-locked-note{font-size:14.5px;line-height:1.5;color:var(--tx-tertiary)}.trail-lede{font-size:var(--font-size-md);line-height:1.5;color:var(--tx-secondary);text-wrap:pretty}.trail-lede strong{font-weight:700;color:var(--tx)}.trail-lede code{font-family:var(--font-mono);font-size:13.5px;padding:1px 5px;border-radius:5px;background:var(--bg-sunken);border:1px solid var(--border);color:var(--tx)}.trail-foot{position:absolute;z-index:2;left:0;right:0;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;padding-inline:12px;pointer-events:none}.trail-foot>*{pointer-events:auto}.trail-meter{min-width:0;display:inline-flex;align-items:center;gap:8px;height:38px;padding-inline:14px;border-radius:999px;border:1px solid transparent;background:var(--bg-sunken);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tx-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trail-meter b{color:var(--status-tone)}.trail-home{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:38px;height:38px;border-radius:999px;border:1px solid transparent;background:var(--bg-sunken);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--tx-secondary);transition:color var(--transition),border-color var(--transition),transform var(--press-duration) var(--ease-out)}.trail-home svg{width:17px;height:17px}.trail-home:active{transform:scale(.97)}.trail-home:hover{color:var(--tx);border-color:var(--border-contrast)}@media (prefers-reduced-motion:reduce){.trail-home{transition:none}.trail-home:active{transform:none}}.trail-home-label{display:none;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}@media (min-width:720px){.trail-home{width:auto;padding-inline:15px}.trail-home-label{display:inline}}.trail-hint{position:absolute;z-index:2;left:50%;bottom:calc(64px + env(safe-area-inset-bottom));transform:translateX(-50%);display:inline-flex;align-items:center;gap:5px;height:32px;padding-inline:12px;border-radius:999px;background:var(--bg-sunken);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tx-tertiary);pointer-events:none;opacity:1;transition:opacity .4s var(--ease-out),visibility 0s linear .4s}.trail-hint svg{width:13px;height:13px}.trail-hint[data-moved]{opacity:0;visibility:hidden}@media (prefers-reduced-motion:no-preference){.trail-hint svg{animation:trail-hint-nudge 1.8s var(--ease-out) infinite}}@keyframes trail-hint-nudge{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}@media (prefers-reduced-motion:reduce){.trail-hint{transition:none}}.trail-nav{display:none;position:absolute;z-index:2;top:50%;width:38px;height:38px;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;background:var(--bg-sunken);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--tx-secondary);transform:translateY(-50%);transition:color var(--transition),border-color var(--transition),opacity .2s var(--ease-out),transform var(--press-duration) var(--ease-out)}.trail-nav svg{width:17px;height:17px}.trail-nav--prev{left:max(12px,env(safe-area-inset-left))}.trail-nav--next{right:max(12px,env(safe-area-inset-right))}.trail-nav:hover{color:var(--tx);border-color:var(--border-contrast)}.trail-nav:active{transform:translateY(-50%) scale(.97)}.trail-nav:disabled{opacity:0;pointer-events:none}.trail-nav:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (min-width:768px){.trail-nav{display:inline-flex}.trail-hint{display:none}}@media (prefers-reduced-motion:reduce){.trail-nav{transition:none}.trail-nav:active{transform:translateY(-50%)}}.trail-preview{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;font-size:var(--font-size-sm);font-weight:600;color:var(--tx-secondary);transition:color var(--transition),transform var(--press-duration) var(--ease-out)}.trail-preview svg{width:14px;height:14px}.trail-preview:hover{color:var(--tx)}.trail-preview:active{transform:scale(.97)}.trail-preview:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){.trail-preview{transition:none}.trail-preview:active{transform:none}}.trail-step[data-reveal]{animation:trail-reveal .46s var(--motion-enter-ease) backwards;animation-delay:calc(var(--r) * 65ms)}.trail-link[data-reveal]{animation:onb-phase-fade-in .4s var(--ease-out) backwards;animation-delay:calc(var(--r) * 65ms)}@keyframes trail-reveal{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.trail-link[data-reveal],.trail-step[data-reveal]{animation:none}}.rmap{display:flex;flex-direction:column;height:var(--app-viewport-dynamic-height)}.rmap-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:calc(env(safe-area-inset-top, 0px) + var(--floating-header-h) + var(--floating-header-gap) + 8px);background-image:radial-gradient(var(--canvas-dot) 1px,transparent 1px);background-size:22px 22px}.rmap-path{--rmap-node:48px;--rmap-pad:16px;--rmap-gap:14px;max-width:720px;margin-inline:auto;padding:22px var(--rmap-pad) calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--rmap-gap)}.rmap-back{align-self:flex-start}.rmap-row{--rmap-tone:var(--tx-tertiary);position:relative;z-index:1;display:grid;grid-template-columns:var(--rmap-node) minmax(0,1fr);column-gap:14px;align-items:start;animation:rmap-rise .46s var(--motion-enter-ease) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes rmap-rise{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@media (prefers-reduced-motion:reduce){.rmap-row{animation:none}}.rmap-row:before{content:"";position:absolute;z-index:-1;left:calc(var(--rmap-node) / 2 - 1.5px);top:calc(var(--rmap-node) / 2);bottom:calc(-1 * var(--rmap-gap) - 1px);width:3px;background:var(--border-contrast);opacity:.5}.rmap-row:last-child:before{content:none}.rmap-row[data-tone=done]:before{background:var(--status-clean-display);opacity:.55}.rmap-row[data-tone=done]{--rmap-tone:var(--status-clean-display)}.rmap-row[data-tone=now]{--rmap-tone:var(--brand)}.rmap-row[data-tone=level]{--rmap-tone:var(--knowledge)}.rmap-row[data-tone=rival]{--rmap-tone:var(--status-risk-display)}.rmap-row[data-tone=ahead],.rmap-row[data-tone=skipped]{--rmap-tone:var(--tx-tertiary)}.rmap-row[data-tone=ahead] .rmap-card{opacity:.72}.rmap-row[data-tone=skipped] .rmap-card{border-style:dashed;border-color:var(--border-contrast)}.rmap-node{width:var(--rmap-node);height:var(--rmap-node);border-radius:var(--radius-round);display:grid;place-items:center;border:2px solid var(--border-strong);background:var(--bg-raised);color:var(--tx-tertiary)}.rmap-node svg{width:20px;height:20px}.rmap-node b{font-family:var(--font-mono);font-size:17px;font-weight:700;letter-spacing:-.02em}.rmap-node[data-live]{border-color:color-mix(in oklch,var(--rmap-tone) var(--tone-56),transparent);background:color-mix(in oklab,var(--rmap-tone) var(--tone-8),var(--bg-raised));color:var(--rmap-tone)}.rmap-node[data-now]{box-shadow:0 0 0 6px color-mix(in oklch,var(--brand) var(--tone-16),transparent)}.rmap-mile{display:flex;flex-direction:column;gap:5px;padding:6px 0 12px}.rmap-kick{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--rmap-tone)}.rmap-mile-t{font-size:19px;font-weight:700;letter-spacing:-.022em;line-height:1.25;color:var(--tx);text-wrap:balance}.rmap-mile-s{font-size:15px;line-height:1.5;color:var(--tx-secondary);text-wrap:pretty}.rmap-mile-s strong{font-weight:700;color:var(--tx)}.rmap-mile-cta{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding-inline:22px;border-radius:999px;background:var(--brand);color:oklch(.99 0 none);font-size:var(--font-size-md);font-weight:700;letter-spacing:-.008em;transition:transform var(--press-duration) var(--ease-out)}.rmap-mile-cta:active{transform:scale(.97)}.rmap-mile-cta svg{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.rmap-mile-cta{transition:none}.rmap-mile-cta:active{transform:none}}.rmap-card{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--raised-panel-radius-compact);border:1px solid transparent;background:var(--bg-raised)}.rmap-card[data-now]{border-color:color-mix(in oklch,var(--brand) var(--tone-40),transparent)}.rmap-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 12px}.rmap-head-marks{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rmap-card-titles{display:flex;flex-direction:column;gap:7px;min-width:0}.rmap-track{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--track-tone)}.rmap-track svg{width:14px;height:14px;flex-shrink:0}.rmap-track[data-track=content]{--track-tone:var(--knowledge)}.rmap-track[data-track=code]{--track-tone:var(--brand)}.rmap-foot{display:flex;flex-direction:column;gap:10px}.rmap-lands{font-size:13px;color:var(--tx-tertiary)}.rmap-go{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;padding-inline:20px;border-radius:999px;border:1px solid transparent;background:var(--bg-sunken);font-size:var(--font-size-md);font-weight:650;letter-spacing:-.008em;color:var(--tx);transition:transform var(--press-duration) var(--ease-out)}.rmap-go svg{width:16px;height:16px}.rmap-go:active{transform:scale(.97)}.rmap-go[data-primary]{border-color:transparent;background:var(--brand);font-weight:700}.rmap-go[data-primary],.rmap-go[data-primary]:hover{color:oklch(.99 0 none)}@media (prefers-reduced-motion:reduce){.rmap-go{transition:none}.rmap-go:active{transform:none}}.rmap-card h3{font-size:20px;font-weight:700;letter-spacing:-.024em;line-height:1.2;color:var(--tx);text-wrap:balance}.rmap-worth{background:color-mix(in oklch,var(--rmap-tone) var(--tone-16),transparent);font-size:var(--font-size-sm);color:var(--rmap-tone)}.rmap-mark,.rmap-worth{flex-shrink:0;display:inline-flex;align-items:center;height:28px;padding-inline:11px;border-radius:999px;font-family:var(--font-mono);font-weight:700}.rmap-mark{border:1px solid var(--border-contrast);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--tx-tertiary)}.rmap-card p{font-size:15px;line-height:1.5;color:var(--tx-secondary);text-wrap:pretty}.rmap-card p code{font-family:var(--font-mono);font-size:13px;padding:1px 5px;border-radius:5px;background:var(--bg-sunken);border:1px solid var(--border);color:var(--tx)}@media (min-width:720px){.rmap-path{--rmap-node:56px;--rmap-pad:24px;--rmap-gap:18px;padding-top:32px}.rmap-row{column-gap:18px}.rmap-card{padding:22px;gap:16px}.rmap-card h3{font-size:23px}.rmap-mile-t{font-size:21px}.rmap-node svg{width:23px;height:23px}}.rmap-card--soon{border-style:dashed}.rmap-card--soon .rmap-track{--track-tone:var(--tx-tertiary)}.rmap-card--soon[data-shake]{animation:chip-shake .34s var(--motion-move-ease)}@media (prefers-reduced-motion:reduce){.rmap-card--soon[data-shake]{animation:none;border-color:var(--border-contrast)}}.rmap-soon-mark{flex:0 1 auto;max-width:100%;height:auto;padding:4px 9px;border-radius:999px;border:1px solid var(--border-contrast);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;text-align:right;color:var(--tx-tertiary)}.rmap-soon-mark--next{border-color:color-mix(in oklch,var(--brand) var(--tone-40),transparent);background:color-mix(in oklab,var(--brand) var(--tone-8),var(--bg-raised));color:var(--brand)}.rmap-pages{display:flex;flex-direction:column;gap:8px}.rmap-page{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--tx-secondary);transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--press-duration) var(--ease-out)}.rmap-page svg{width:14px;height:14px;flex-shrink:0;color:var(--tx-tertiary)}@media (hover:hover) and (pointer:fine){.rmap-page:hover{background:var(--bg-sunken);border-color:var(--tx-tertiary);color:var(--tx)}.rmap-page:hover svg{color:var(--brand)}}.rmap-page:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.rmap-page{transition:none}.rmap-page:active{transform:none}}