.today-stage,.day-route{margin:0 0 18px}.day-route-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.day-route-heading>span:first-child{display:flex;align-items:center;gap:7px}.day-route-heading b{color:var(--text);font-size:18px;font-variant-numeric:tabular-nums}.day-route-stops{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:0}.day-route-stops li{flex:1;position:relative;min-width:0}.day-route-stops li:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 20px);height:1px;background:var(--line);transition:background .35s}.day-route-stops li[data-done=true]:after{background:var(--accent)}.day-route-stops button{flex-direction:column;gap:5px;width:100%;min-height:60px;padding:0 3px;border-radius:12px}.route-point{display:grid;place-items:center;height:33px;width:33px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;background:var(--bg);transition:background .3s,color .3s,box-shadow .3s}[aria-current=step] .route-point{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}[data-done=true] .route-point{background:var(--accent);color:var(--ink);border-color:var(--accent)}.route-label{font-size:11px;color:var(--muted);display:block;width:100%;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[aria-current=step] .route-label{color:var(--text)}.focus-stage{--stage-glow: #95d8af;position:relative;isolation:isolate;overflow:hidden;padding:24px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:26px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 80%,var(--accent) 20%),var(--surface) 67%);box-shadow:0 16px 42px #00000014,inset 0 1px #ffffff14;transition:box-shadow .4s,border-color .4s}.focus-light{position:absolute;z-index:-1;pointer-events:none;right:-110px;top:-130px;width:360px;height:360px;background:radial-gradient(circle,var(--stage-glow),transparent 67%);opacity:.13;transform:translate(0);transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .65s}.focus-stage.is-running{--stage-glow: #a8efc1;border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:0 18px 48px #00000020,inset 0 1px #fff2}.focus-stage.is-running .focus-light{opacity:.28;transform:translate(-45px,80px)}.focus-stage.is-paused .focus-light{opacity:.06;transform:translate(15px,-15px)}.stage-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.stage-kicker{color:var(--accent);font-size:12px;font-weight:650;display:flex;align-items:center;gap:7px}.stage-kicker i{width:6px;height:6px;border-radius:50%;background:currentColor}.is-running .stage-kicker i{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.stage-duration{font-size:12px;color:var(--muted);white-space:nowrap}.stage-content{animation:stage-enter .38s cubic-bezier(.22,1,.36,1)}.stage-context{margin:24px 0 -12px;color:var(--muted);font-size:12px;line-height:1.65;overflow-wrap:anywhere}.focus-stage h2{margin:24px 0 0;font-size:clamp(24px,5.9vw,32px);font-weight:650;line-height:1.5;letter-spacing:-.045em;text-wrap:pretty;overflow-wrap:anywhere}.stage-guidance{margin-top:18px;font-size:12px;line-height:1.8;color:var(--muted)}.focus-time{font-size:11px;color:var(--muted);margin-top:10px;font-variant-numeric:tabular-nums}.stage-primary{width:100%;min-height:54px;padding:14px 18px;margin-top:23px;justify-content:space-between;border-radius:16px;background:var(--accent);color:var(--ink);font-weight:650;font-size:14px;box-shadow:inset 0 1px #ffffff30,0 6px 20px #0000000a;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}.stage-primary:active:not(:disabled){transform:scale(.977);box-shadow:inset 0 2px 5px #00000018}.stage-secondary{display:flex;justify-content:space-between;gap:4px;margin:7px -7px -8px}.stage-secondary button,.stage-text{min-height:44px;font-size:12px;color:var(--muted);padding:8px 7px}.stage-secondary button:hover,.stage-text:hover{color:var(--text)}.stage-receipt{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);padding:8px 10px 8px 13px;border-radius:15px;margin-bottom:12px;animation:stage-enter .4s ease-out}.stage-receipt>svg{color:var(--accent)}.stage-receipt>div{min-width:0;flex:1}.stage-receipt span{color:var(--accent);font-size:11px}.stage-receipt p{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stage-receipt button{min-height:44px;font-size:11px;color:var(--muted);gap:4px;padding:6px}.stage-reward{display:flex;width:100%;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin-top:12px;color:var(--accent);font-size:13px;text-align:left;min-height:48px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.stage-reward>span{flex:1}.stage-reward small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.day-finale{position:relative;overflow:hidden;padding:28px 24px 20px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%),var(--surface);text-align:center;animation:stage-enter .5s cubic-bezier(.22,1,.36,1)}.day-finale.is-closed{background:radial-gradient(ellipse at 50% 0%,#8696cb22,transparent 75%),var(--surface)}.finale-mark{display:grid;place-items:center;margin:0 auto 18px;width:64px;height:64px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50%;color:var(--accent);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 18px color-mix(in srgb,var(--accent) 3%,transparent)}.day-finale .stage-kicker{justify-content:center;margin-top:26px}.day-finale h2{font-size:25px;margin-top:10px;line-height:1.5}.day-results{display:flex;justify-content:space-around;gap:10px;padding:22px 0}.day-results>div{text-align:center;flex:1}.day-results strong{font-size:32px;line-height:1.2;font-weight:550;display:block;letter-spacing:-1px;font-variant-numeric:tabular-nums}.day-results span{font-size:11px;color:var(--muted);display:block;margin-top:6px}.finale-note{font-size:12px;color:var(--muted)}.day-finale .stage-text{margin:8px auto -6px}.stage-celebrate [data-arrived=true] .route-point{animation:route-arrive .6s cubic-bezier(.22,1,.36,1)}.stage-celebrate .focus-stage{animation:stage-arrive .65s ease-out}@keyframes stage-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes route-arrive{0%{transform:scale(.9)}48%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes stage-arrive{0%{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}to{box-shadow:0 16px 42px #00000014}}.page:has(.today-stage) .day-heading{margin:23px 0 20px}.page:has(.today-stage) .day-heading .eyebrow{letter-spacing:.05em;font-size:11px}.page:has(.today-stage) .day-heading h1{margin-top:4px;font-size:25px}.page:has(.today-stage) .capacity{margin-bottom:20px}.page:has(.today-stage) .capacity button{min-height:44px}@media(max-width:600px){.app-shell:has(.today-stage) .app-header{height:64px}.page:has(.today-stage) .day-heading{margin:16px 0 12px}.page:has(.today-stage) .day-heading h1{font-size:24px}.page:has(.today-stage) .capacity{margin-bottom:12px}.day-route{margin-bottom:12px}.focus-stage{padding:20px}.stage-context{margin:12px 0 -6px}.focus-stage h2{margin-top:16px;font-size:24px;line-height:1.4}.stage-guidance{margin-top:12px}.focus-stage .stage-primary{margin-top:16px}}@media(max-width:360px){.focus-stage,.day-finale{padding:20px 18px}.stage-secondary button{font-size:11px}.day-results span{font-size:10px}}@media(prefers-reduced-motion:reduce){.today-stage *,.today-stage *:before,.today-stage *:after{animation:none!important;transition:none!important}}.goal-horizon{--horizon-gold: #f2dca9;position:relative;height:218px;isolation:isolate;overflow:hidden;border-radius:22px;margin:18px 0 14px;background:#0c263a;border:1px solid #8baeb52e;box-shadow:0 12px 32px #00000012}.horizon-landscape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.horizon-art{transform-origin:58% 62%;transform:scale(calc(1.24 - var(--reveal) * .24));transition:transform 1.05s cubic-bezier(.22,1,.36,1)}.horizon-fog{opacity:calc(.88 - var(--reveal) * .78);transition:opacity .9s ease-out}.horizon-sky-light{opacity:calc(.45 + var(--reveal) * .55);transition:opacity .9s}.horizon-trail{stroke-dasharray:100;stroke-dashoffset:calc(90 - var(--reveal) * 90);transition:stroke-dashoffset .85s cubic-bezier(.22,1,.36,1)}.horizon-arrival{transform-origin:444px 366px;animation:horizon-arrive .8s ease-out both}@keyframes horizon-arrive{0%{transform:scale(1);opacity:.9}to{transform:scale(7);opacity:0}}.horizon-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(100deg,#061724bd,#06172432 65%,transparent),linear-gradient(0deg,#04172575,transparent 45%)}.horizon-open{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100%;padding:21px 23px;text-align:left;color:#f3f3e8;border-radius:inherit}.horizon-open:hover{background:#ffffff05}.horizon-open:active{background:#ffffff0b}.horizon-open:focus-visible{outline:3px solid var(--horizon-gold);outline-offset:-5px}.horizon-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;color:#d8dfdb;letter-spacing:.03em}.horizon-map-label{background:#081e31b8;border:1px solid #dae6e629;border-radius:20px;padding:5px 8px;margin:-5px -5px -5px auto;display:flex;align-items:center;gap:5px}.horizon-open h1{font-size:25px;line-height:1.5;font-weight:550;letter-spacing:-.04em;max-width:78%;margin:16px 0 0;text-wrap:pretty;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.horizon-caption{display:flex;align-items:center;gap:10px;margin-top:auto;color:var(--horizon-gold);font-size:12px}.horizon-scene-label{position:absolute;right:22px;bottom:22px;font-size:8px;letter-spacing:.21em;color:#c0d5d6;pointer-events:none}.has-arrived .horizon-caption{animation:horizon-caption .65s ease-out}@keyframes horizon-caption{0%{transform:translateY(4px);opacity:.2}to{transform:none;opacity:1}}.horizon-panorama{position:relative;min-height:255px;display:flex;align-items:flex-end;overflow:hidden;border-radius:18px;background:#0c263a}.panorama-heading{position:relative;padding:22px;width:100%;color:#f3f3e8}.panorama-heading>span{display:flex;align-items:center;gap:7px;font-size:11px;color:#eee0b6}.panorama-heading h3{font-size:23px;font-weight:550;margin-top:10px;line-height:1.55;overflow-wrap:anywhere}.horizon-summary{padding:24px 0}.horizon-section-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.horizon-summary h3{font-size:23px;letter-spacing:-.045em;margin:10px 0}.horizon-summary>p:last-child{font-size:13px;color:var(--muted);line-height:1.8}.horizon-week{padding:0 0 0 12px;margin:24px 0;border-left:2px solid var(--line)}.horizon-week span{display:block;font-size:11px;color:var(--muted)}.horizon-week strong{font-weight:550;display:block;font-size:14px;margin-top:7px;overflow-wrap:anywhere}.horizon-next{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:24px}.horizon-next>span{display:flex;gap:7px;align-items:center;color:var(--accent);font-size:12px}.horizon-next h3{font-size:17px;line-height:1.65;margin:12px 0;overflow-wrap:anywhere}.horizon-next p{font-size:12px;color:var(--muted);margin-bottom:12px}.horizon-next button{min-height:44px}.horizon-criteria{padding:20px 0;border-block:1px solid var(--line)}.horizon-criteria>p:nth-child(2){margin:12px 0;line-height:1.85;font-size:14px;overflow-wrap:anywhere}.horizon-criteria small{font-size:11px;color:var(--muted);line-height:1.8;display:block}.horizon-history{margin-top:28px}.horizon-history h3{display:flex;gap:8px;align-items:center;font-size:14px}.horizon-history ol{list-style:none;padding:0;margin:20px 0}.horizon-history li{display:flex;position:relative;gap:14px;padding-bottom:23px}.horizon-history li:not(:last-child):after{content:"";position:absolute;width:1px;background:var(--line);top:25px;bottom:0;left:12px}.horizon-waypoint{flex:none;display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%}[data-done=true]>.horizon-waypoint{background:var(--accent);color:var(--ink);border-color:var(--accent)}.horizon-history li>div>span{font-size:11px;color:var(--muted)}.horizon-history li p{font-size:14px;margin-top:5px;overflow-wrap:anywhere;line-height:1.65}.horizon-method{color:var(--muted);font-size:11px;line-height:1.9;margin:20px 0}.page:has(.goal-horizon) .day-route-heading{font-size:11px}.page:has(.goal-horizon) .day-route-heading b{font-size:14px}.page:has(.goal-horizon) .day-route-stops{margin-top:5px;gap:6px}.page:has(.goal-horizon) .day-route-stops li:after{display:none}.page:has(.goal-horizon) .day-route-stops button{flex-direction:row;min-height:44px;gap:3px;border-radius:12px;border:1px solid var(--line);padding:0 6px}.page:has(.goal-horizon) .route-point{width:22px;height:22px;flex:none;font-size:10px;box-shadow:none;border:none;background:transparent}.page:has(.goal-horizon) [data-done=true] .route-point{color:var(--accent)}.page:has(.goal-horizon) [aria-current=step]{background:var(--soft);border-color:var(--accent)}.page:has(.goal-horizon) .route-label{padding:0 3px;font-size:11px;text-align:left}.page:has(.goal-horizon) .capacity{padding:12px 0;border-block:1px solid var(--line);margin:8px 0 20px}.page:has(.goal-horizon) .focus-stage{border-radius:20px}@media(max-width:600px){.goal-horizon{height:185px;margin-top:12px;margin-bottom:12px}.horizon-open{padding:16px 18px}.horizon-open h1{font-size:22px;margin-top:14px;max-width:84%}.horizon-scene-label{bottom:19px;right:18px}.horizon-panorama{min-height:220px}.page:has(.goal-horizon) .focus-stage{padding:17px 20px}}@media(max-width:360px){.horizon-open h1{font-size:20px}.horizon-map-label,.horizon-eyebrow{font-size:10px}.horizon-scene-label{display:none}}@media(prefers-reduced-motion:reduce){.goal-horizon *,.horizon-details *{animation:none!important;transition:none!important}}.today-tools{display:flex;gap:8px;margin:12px 0}.today-tools button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex:1;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:12px}.today-tools button:hover,.tactic-options button:hover{background:var(--soft)}.tactic-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.tactic-options button:last-child{grid-column:1 / -1}.tactics-sheet>.primary{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -8px 20px var(--surface);z-index:1}.tactic-options button{display:flex;align-items:center;gap:7px;min-height:48px;padding:10px 8px;text-align:left;border:1px solid var(--line);border-radius:13px;font-size:12px}.tactic-options [aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}.tactic-select{display:grid;gap:10px;font-size:13px}.tactic-select select{width:100%;min-width:0;padding:12px;min-height:48px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;font:inherit}.tactic-preview{padding:20px;margin:20px 0;border:1px solid var(--line);border-radius:18px;background:var(--soft)}.tactic-preview h3{font-size:21px;line-height:1.5;margin:12px 0}.tactic-preview ol{padding:0;list-style:none;animation:tactic-route-in .3s ease-out}.tactic-preview ol li{display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--accent);padding:8px 12px;margin-bottom:10px;overflow-wrap:anywhere}.tactic-preview small,.tactic-preview details,.tactic-preview>p{color:var(--muted);font-size:12px;line-height:1.8}.tactic-preview details{margin:16px 0}.tactic-preview ul{padding-left:18px}.tactic-preview summary{min-height:44px;padding:10px 0;cursor:pointer}.tactic-applied{font-size:12px;line-height:1.7;padding:13px 15px;border-left:2px solid var(--accent);background:var(--soft)}.tactic-undo{min-height:44px;margin-bottom:12px}.goal-situation{margin:16px 0 24px;padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:18px}.goal-situation>.eyebrow{font-size:10px}.situation-step{display:flex;gap:11px;margin-top:17px}.situation-step>svg{flex:none;margin-top:3px;color:var(--muted)}.situation-step.is-recorded>svg{color:var(--accent)}.situation-step small{font-size:11px;color:var(--muted)}.situation-step p{margin-top:5px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.situation-step span{display:block;font-size:12px;line-height:1.7;color:var(--muted);margin-top:7px}.goal-horizon[data-working=true] .horizon-art{transform:scale(calc(1.32 - var(--reveal) * .24))}.camp-vista{position:relative;min-height:245px;overflow:hidden;border-radius:24px;background:#0c263a}.camp-vista-copy{position:relative;padding:26px;color:#f3f3e8}.camp-vista-copy>span{display:flex;gap:8px;align-items:center;font-size:10px;color:#f2dca9;letter-spacing:.12em}.camp-vista-copy h2{margin:32px 0 20px;line-height:1.5;font-size:26px;font-weight:550;letter-spacing:-.04em}.camp-vista-copy p{font-size:12px;color:#e0e8df}.camp-note{font-size:12px;line-height:1.85;color:var(--muted);margin:16px 2px 24px}.camp-rooms{display:grid;gap:20px}.camp-room{overflow:hidden;border:1px solid var(--line);border-radius:21px;background:var(--surface);--room-light: #d7d7b1;--room-wall: #133442}.camp-room[data-area=Acting],.camp-room[data-area=Dance]{--room-light: #efcbb0;--room-wall: #342b45}.camp-room[data-area=Health],.camp-room[data-area=Life]{--room-light: #b8d3b4;--room-wall: #193a36}.camp-room[data-area=Learning]{--room-light: #c6d7e7;--room-wall: #23384c}.room-scene{display:block;width:100%;text-align:left;position:relative;min-height:248px;overflow:hidden;color:#f4f0e5;background:var(--room-wall)}.room-space{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(90deg,#06172460,#081b2515),url(/base-atelier-v1.jpg) center / cover;transform-origin:65% 60%;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .65s}.room-light{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 85% 15%,#fce2aa55,transparent 65%);opacity:.2;transition:opacity .7s}[data-area=Acting] .room-space,[data-area=Dance] .room-space{background-position:60% center}[data-area=Learning] .room-space{background-position:40% center}.room-objects{position:absolute;width:62%;height:46px;right:8%;bottom:72px;transform:rotate(-5deg)}.room-objects i{position:absolute;bottom:0;width:20px;border-radius:3px 7px 2px 2px;border:1px solid #fff6;background:linear-gradient(100deg,var(--room-light),#6e9c9d);transform:skewY(-9deg);box-shadow:8px 6px 15px #0004}.room-heading{position:relative;padding:21px;max-width:85%;text-shadow:0 2px 14px #000b}.room-heading>span{color:#e6d8b3;font-size:11px}.room-heading h3{font-size:22px;margin-top:10px;line-height:1.6;font-weight:550;overflow-wrap:anywhere;text-wrap:balance}.room-state{position:relative;display:flex;align-items:center;gap:7px;padding:15px 21px;margin-top:40px;font-size:12px;background:linear-gradient(transparent,#071a2aa8)}.room-flag{position:absolute;right:17%;bottom:81px;color:#ffe1a0;filter:drop-shadow(0 0 18px #fcd984a0)}.camp-room[data-working=true] .room-space{transform:scale(1.07);filter:brightness(1.14)}.camp-room[data-stage=review] .room-light,.camp-room[data-stage=achieved] .room-light{opacity:1}.room-keepsakes{padding:17px 20px}.room-keepsakes>p{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:9px}.room-keepsakes>span{font-size:12px;color:var(--muted);line-height:1.8}.room-keepsakes summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;line-height:1.6;padding:9px 0;overflow-wrap:anywhere}.room-keepsakes summary svg{flex:none;color:var(--accent)}.room-keepsakes details p{font-size:11px;color:var(--muted);padding:0 0 12px 22px}.room-keepsakes button{min-height:44px;margin-top:9px}.camp-connections{display:grid;gap:12px;margin:22px 0 30px}.camp-connections button{display:flex;width:100%;gap:13px;align-items:center;text-align:left;border-radius:16px;border:1px solid var(--line);padding:18px;min-height:64px}.camp-connections button>svg{color:var(--accent);flex:none}.camp-connections span{min-width:0;flex:1}.camp-connections strong,.camp-connections small,.camp-connections em{display:block;line-height:1.7;overflow-wrap:anywhere}.camp-connections small,.camp-connections em{font-size:11px;color:var(--muted);font-style:normal}.camp-connections strong{font-size:14px;margin:5px 0}.room-scene:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}@keyframes tactic-route-in{0%{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}@media(min-width:680px){.camp-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.room-heading h3{font-size:19px}.camp-vista-copy{padding:22px}.camp-vista-copy h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.room-space,.room-light,.tactic-preview ol{animation:none;transition:none}}:root{font-family:DM Sans,Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;color-scheme:dark;--bg: #111715;--surface: #18201d;--text: #e8ece7;--muted: #94a299;--faint: #65776c;--line: #2a3830;--accent: #c9e0bc;--ink: #203225;--soft: #202e25;--danger: #efb8aa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}:root[data-theme=light]{color-scheme:light;--bg: #f5f4ee;--surface: #eeeee6;--text: #23352a;--muted: #65766a;--faint: #78867c;--line: #d8ded3;--accent: #39533c;--ink: #f3f6ec;--soft: #e4e9dd;--danger: #9f4836}:root[data-theme=forest]{color-scheme:dark;--bg: #11241a;--surface: #22392a;--text: #edf2e8;--muted: #b7c9b7;--faint: #8fa992;--line: #35513d;--accent: #e6d9a6;--ink: #193522;--soft: #30503a;--danger: #f0b7a9}@media(prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=forest]){color-scheme:light;--bg: #f5f4ee;--surface: #eeeee6;--text: #23352a;--muted: #65766a;--faint: #78867c;--line: #d8ded3;--accent: #39533c;--ink: #f3f6ec;--soft: #e4e9dd;--danger: #9f4836}}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:0;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--accent);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550;letter-spacing:-.025em}p{line-height:1.85}svg{flex-shrink:0;stroke-width:1.65}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}input,textarea,select{min-width:0;max-width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:13px 12px;font-size:16px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:96px}input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px;flex-shrink:0}::selection{background:#697f56;color:#fff}.app-shell{max-width:800px;margin:auto;min-height:100svh;padding:env(safe-area-inset-top) 32px calc(114px + env(safe-area-inset-bottom))}:root[data-theme=forest] .app-shell{position:relative;isolation:isolate}:root[data-theme=forest] .app-shell:before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;left:50%;width:min(100vw,960px);height:min(760px,95svh);transform:translate(-50%);background-image:linear-gradient(180deg,#06140b7a 0%,#07190d8c 34%,#0b2013b0 67%,var(--bg) 100%),url(/forest-journey.jpg);background-position:center,center 23%;background-size:cover;background-repeat:no-repeat}:root[data-theme=forest] .app-header,:root[data-theme=forest] .day-heading,:root[data-theme=forest] .capacity{text-shadow:0 2px 16px #06140bcc}:root[data-theme=forest] .capacity button[aria-pressed=true]{background:#153423c9;border-color:#abc29e80}:root[data-theme=forest] .app-header{border-bottom-color:#a9c39a66}.app-header{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-weight:650;font-size:21px;letter-spacing:-.8px;gap:4px}.brand>span:first-child{font-weight:400;color:var(--muted)}.brand-dot{height:5px;width:5px;border-radius:50%;background:var(--accent);margin:0 0 15px 4px}.header-tools{display:flex;gap:21px;align-items:center}.stock-button{position:relative}.stock-button i{position:absolute;top:-4px;right:-5px;min-width:16px;height:16px;padding:0 3px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:var(--ink);font-style:normal;font-size:10px;line-height:1}.local-label{font-size:9px;letter-spacing:1.7px;color:var(--faint)}.icon-button{width:44px;height:44px;padding:0;color:var(--muted);border-radius:50%}.icon-button:hover{background:var(--soft);color:var(--text)}.avatar{width:36px;height:36px;background:var(--soft);border:1px solid var(--line);border-radius:50%;font-size:11px;letter-spacing:1px}.inbox-button{position:relative}.inbox-button i{position:absolute;right:7px;top:6px;background:var(--accent);width:6px;height:6px;border-radius:50%}.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:10px;min-height:36px;border-bottom:1px solid var(--line)}.demo-banner button{font-size:10px;min-height:36px;color:var(--accent);padding:0}.page{animation:page-in .24s ease-out}.day-heading{display:flex;justify-content:space-between;align-items:center;margin:35px 0 28px;gap:16px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;color:var(--muted);line-height:1.5}.day-heading h1,.page-title h1{font-size:27px;line-height:1.6;margin-top:10px;letter-spacing:-.055em}.date-mark{text-align:right;flex-shrink:0}.date-mark strong{display:block;font-size:35px;font-weight:450;line-height:1.1;letter-spacing:-2px}.date-mark span{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.capacity{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:10px;margin-bottom:24px}.capacity>div{display:flex;gap:4px}.capacity button{min-height:36px;padding:7px 12px;font-size:11px;border:1px solid transparent;border-radius:20px}.capacity button[aria-pressed=true]{border-color:var(--line);background:var(--soft);color:var(--text)}.start-plan{font-size:12px;color:var(--muted);margin:-6px 0 20px}.main-mission{position:relative;overflow:hidden;padding:23px 25px 18px;border:1px solid #b9cfac;background:#ccdfbd;color:#24382b;border-radius:3px 22px;isolation:isolate;min-height:285px}.main-mission:after{content:"";position:absolute;right:-65px;top:45px;width:255px;height:255px;border:1px solid #49693f24;border-radius:50%;z-index:-1;box-shadow:0 0 0 35px #49693f06,0 0 0 70px #49693f05}.mission-eyebrow{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px;font-weight:650}.mission-eyebrow>span:first-child{display:flex;gap:8px;align-items:center}.mission-eyebrow>span:last-child{opacity:.5}.goal-context{font-size:10px;color:#526a52;margin-top:28px;letter-spacing:.5px}.main-mission h2{font-size:28px;max-width:500px;line-height:1.55;margin-top:9px;font-weight:650;letter-spacing:-.04em;overflow-wrap:anywhere}.mission-meta{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:10px;color:#536650}.mission-meta span:first-child{letter-spacing:1px;font-size:10px;font-weight:600}.mission-meta span+span{border-left:1px solid #65795c50;padding-left:12px}.complete-main{margin-top:29px;background:#243a2d;color:#eef2e5;width:100%;height:49px;border-radius:8px;font-size:12px;justify-content:space-between;padding:0 17px;transition:background .15s}.complete-main:hover{background:#354d3b}.complete-main:disabled{opacity:.75}.hero-subtle{display:flex;margin:4px auto -7px;min-height:37px;font-size:10px;color:#4f634a}.recorded-outcome{margin-top:26px;padding:14px 16px;border:1px solid #6d856566;border-radius:8px;font-size:12px;font-weight:600}.hero-empty{font-size:12px;max-width:400px;margin-top:10px;color:#4b624e}.main-mission.achieved{background:#b9d0ac;animation:complete-in .55s ease-out}.main-mission.achieved .complete-main{background:transparent;border:1px solid #6d856566;color:#2c4834;justify-content:center}:root[data-theme=forest] .main-mission{background:linear-gradient(150deg,#e1edd0,#c7dfba 64%,#b0d1ab);border-color:#91b48f;box-shadow:0 16px 44px #06140b33}:root[data-theme=forest] .main-mission.achieved{background:linear-gradient(150deg,#d8eabf,#b6d4a7)}:root[data-theme=forest] .complete-main{background:#1e4630}:root[data-theme=forest] .complete-main:hover{background:#28583b}:root[data-theme=forest] .main-mission.achieved .complete-main{background:transparent}.plan-reason{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:10px;line-height:1.6;color:var(--muted)}.plan-reason>span{width:4px;height:4px;background:var(--faint);border-radius:50%;flex-shrink:0}.section{margin-top:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;min-height:30px}.section-heading h2,.section-heading h3{font-size:13px;font-weight:550;letter-spacing:.01em}.section-heading h2>span{font-size:10px;color:var(--faint);margin-left:9px;font-weight:400}.text-button{font-size:10px;min-height:36px;color:var(--muted);padding:0}.text-button:hover{color:var(--text)}.quiet-note{font-size:11px;line-height:1.95;color:var(--muted)}.mission-row{display:flex;align-items:center;gap:13px;min-height:78px;border-bottom:1px solid var(--line)}.mission-info{display:block;flex:1;min-width:0;text-align:left;padding:12px 0}.mission-row h3{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.mission-row p{font-size:10px;color:var(--muted);margin-top:3px}.mission-status{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.round-check{width:44px;height:44px;position:relative;flex-shrink:0}.round-check:before{content:"";width:22px;height:22px;border:1px solid var(--faint);border-radius:50%;position:absolute}.round-check.checked:before{background:var(--accent);border-color:var(--accent)}.round-check.checked svg{z-index:1;color:var(--ink)}.round-check:disabled{opacity:1}.event-row{display:flex;gap:20px;min-height:98px;padding-top:13px}.event-time{font-size:12px;line-height:1.8;min-width:42px;letter-spacing:.3px;padding-top:1px}.event-time span{display:block;font-size:10px;color:var(--faint)}.event-body{position:relative;flex:1;border-left:1px solid var(--line);padding:0 0 16px 20px;min-width:0}.event-dot{position:absolute;left:-3px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--muted);outline:4px solid var(--bg)}.event-body h3{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.event-body>p{color:var(--faint);font-size:10px;margin-top:4px}.event-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px}.classification{color:var(--muted);font-size:9px;min-height:36px;gap:5px;padding:0}.event-complete{font-size:10px;min-height:36px;color:var(--accent);padding:0}.event-later,.event-status{font-size:9px;color:var(--faint)}.event-status{min-height:36px}.icon-button.small{width:36px;height:36px}.sync-note{font-size:9px;line-height:1.8;color:var(--faint);margin:8px 0}.weekly-summary{position:relative;display:block;width:100%;text-align:left;margin-top:26px;padding:23px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.weekly-summary h3{font-size:15px;line-height:1.6;margin:8px 24px 21px 0}.summary-arrow{position:absolute;right:0;top:35px;color:var(--muted)}.progress-track{height:4px;background:var(--line);border-radius:2px;overflow:hidden;width:100%}.progress-track>span{display:block;height:100%;background:var(--accent);transition:width .6s cubic-bezier(.2,.7,.2,1);border-radius:2px}.progress-caption{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);margin:9px 0}.progress-caption strong{color:var(--text);font-size:12px;font-weight:500}.bottom-pair{display:flex;gap:20px;margin:21px 0 5px}.reward-entry,.day-report-entry{display:flex;text-align:left;justify-content:flex-start;min-height:63px;gap:12px;flex:1;padding:0;color:var(--accent)}.reward-entry>span,.day-report-entry>span{font-size:11px}.reward-entry small,.day-report-entry small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.reward-entry b{font-size:10px;font-weight:500;background:var(--soft);border-radius:50%;height:22px;width:22px;display:grid;place-items:center}.day-report-entry{flex:.8;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:800px;display:flex;justify-content:space-around;background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom))}.bottom-nav button{flex-direction:column;gap:6px;flex:1;height:46px;color:var(--faint);font-size:9px;letter-spacing:.4px}.bottom-nav button[aria-current=page]{color:var(--accent)}.bottom-nav button[aria-current=page] svg{stroke-width:2}.page-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:38px 0 32px}.period-focus{padding:24px 0 28px;border-bottom:1px solid var(--line)}.one-quest-teaser{width:100%;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:10px;margin:23px 0 29px;padding:18px 20px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:2px 14px 14px 2px;background:color-mix(in srgb,var(--surface) 74%,transparent)}.one-quest-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.12em}.one-quest-teaser strong{font-size:17px;font-weight:580;line-height:1.55}.one-quest-next{color:var(--muted);font-size:11px;line-height:1.7}.one-quest-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}.one-quest-check{min-height:42px;padding:0 14px;border-radius:9px;background:var(--accent);color:var(--ink);font-size:12px;font-weight:700}.one-quest-open{display:flex;align-items:center;gap:3px;color:var(--accent);font-size:11px}.quest-reward-entry{display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;margin:-9px 0 29px;padding:18px;text-align:left;border:1px solid var(--accent);border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 21%,var(--surface)),var(--surface));color:var(--accent);animation:quest-bloom .55s ease-out}.savings-entry{display:flex;width:100%;align-items:center;gap:15px;margin:-9px 0 28px;padding:17px 18px;text-align:left;color:var(--accent);border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.savings-entry>span{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.savings-entry small{font-size:10px;font-weight:700}.savings-entry strong{color:var(--text);font-size:15px;line-height:1.4}.savings-entry em{color:var(--muted);font-size:10px;font-style:normal}.savings-panel h3,.stock-panel h3{color:var(--text);font-size:24px;line-height:1.4;margin:15px 0}.savings-panel .quiet-note,.stock-panel .quiet-note{line-height:1.75}.savings-panel .field{margin:23px 0 16px}.savings-confirm{display:flex;align-items:flex-start;gap:11px;color:var(--text);font-size:13px;line-height:1.65;margin:14px 0 21px}.savings-confirm input{width:20px;height:20px;flex:none;accent-color:var(--accent)}.savings-panel>.text-button{display:block;margin:21px auto}.stock-item{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:17px 0}.stock-item>span:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.stock-item small{color:var(--accent);font-size:10px;font-weight:700}.stock-item strong{color:var(--text);font-size:14px;line-height:1.4}.stock-use,.stock-use-confirm button{flex:none;border:1px solid var(--accent);border-radius:8px;color:var(--accent);padding:9px 12px;font-size:12px}.stock-use-confirm{display:flex;flex-direction:column;gap:5px}.stock-exchange{display:grid;gap:7px;padding:0 0 20px}.stock-exchange p{margin:0 0 4px;color:var(--muted);font-size:11px;line-height:1.7}.stock-exchange>button:not(.text-button){display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;color:var(--text);text-align:left;font-size:12px}.stock-exchange>button:not(.text-button) small{flex:none;color:var(--accent);font-size:10px}.stock-exchange>.text-button{justify-self:start}.paid-reward-gate{margin:0 0 20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.paid-reward-gate p{color:var(--muted);font-size:12px;line-height:1.65;margin:0 0 15px}.paid-reward-gate p strong{color:var(--text)}.paid-reward-inputs{display:grid;gap:13px}.paid-reward-inputs .field{margin:0}.paid-reward-gate .savings-confirm{margin:16px 0}.paid-reward-gate .text-button{display:block;margin:16px auto 0}.paid-reward-gate .paid-reward-safe{color:var(--accent);margin:13px 0 0}.paid-reward-gate .paid-reward-locked{color:var(--muted);margin:13px 0 0}.paid-floor-setting{margin:21px 0;padding:18px;border:1px solid var(--line);border-radius:12px}.paid-floor-setting .quiet-note{margin:11px 0 17px}.quest-reward-entry>span{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}.quest-reward-entry small{font-size:9px;font-weight:750;letter-spacing:.1em}.quest-reward-entry strong{color:var(--text);font-size:15px;line-height:1.5}.quest-reward-entry em{color:var(--muted);font-size:10px;font-style:normal}.one-quest-week{padding:24px 0 28px;border-bottom:1px solid var(--line)}.one-quest-week h2{margin:15px 0 18px;font-size:20px;line-height:1.5}.one-quest-week .criterion,.one-quest-sheet .criterion{font-size:12px;color:var(--muted);line-height:1.7}.one-quest-progress{margin:18px 0 8px;font-size:12px;color:var(--text)}.one-quest-week .text-button{margin-top:16px}.one-quest-sheet h3{margin:8px 0 20px;font-size:23px;line-height:1.5}.one-quest-sheet-progress{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:22px 0 10px;border-bottom:1px solid var(--line)}.one-quest-sheet-progress strong{font-size:19px;font-weight:560}.one-quest-sheet-progress span{color:var(--muted);font-size:10px}.quest-trail{position:relative;overflow:hidden;margin:24px 0;padding:20px 20px 18px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:16px;background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 52%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,var(--accent)),var(--surface))}.quest-trail-heading,.quest-check-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.quest-trail-heading>span,.quest-check-heading>span{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--accent)}.quest-trail-heading strong{font-size:29px;font-weight:580;line-height:1}.quest-trail-heading small{font-size:12px;font-weight:400;color:var(--muted)}.quest-trail-steps{display:flex;justify-content:space-between;gap:4px;position:relative;margin:24px 0 17px}.quest-trail-steps:before{content:"";position:absolute;left:4%;right:4%;top:50%;height:1px;background:var(--line)}.quest-trail-steps span{z-index:1;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--faint);background:var(--surface);transition:background .3s ease,transform .3s ease,color .3s ease}.quest-trail-steps span.is-complete{color:var(--ink);background:var(--accent);border-color:var(--accent);transform:scale(1.1)}.quest-trail>p{color:var(--muted);font-size:10px;line-height:1.6}.quest-daily-check{margin:27px 0 22px}.quest-check-heading strong{font-size:13px;font-weight:600}.quest-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:15px 0 11px}.quest-day-strip button{min-width:0;min-height:71px;display:flex;flex-direction:column;gap:3px;padding:8px 2px 7px;border:1px solid var(--line);border-radius:9px;color:var(--muted)}.quest-day-strip button.is-selected{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 9%,transparent)}.quest-day-strip button span{font-size:9px;white-space:nowrap}.quest-day-strip button strong{font-size:15px;font-weight:560}.quest-day-strip button i{width:5px;height:5px;border-radius:50%;background:var(--line)}.quest-day-strip button i.done{background:var(--accent)}.quest-day-strip button i.not-done{background:var(--danger)}.quest-daily-check>.quiet-note{font-size:10px}.quest-check-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.quest-check-actions button{min-height:51px;padding:8px;border-radius:10px;font-size:12px;font-weight:650}.quest-done{background:var(--accent);color:var(--ink)}.quest-not-done{border:1px solid var(--line);color:var(--muted)}.quest-check-actions button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.quest-result{margin-top:18px;padding:18px;border-left:2px solid var(--muted);background:var(--surface);animation:quest-bloom .42s ease-out}.quest-result.is-done{border-left-color:var(--accent)}.quest-result>svg{color:var(--accent);margin-bottom:8px}.quest-result strong{display:block;font-size:17px}.quest-result p{color:var(--muted);font-size:11px;margin-top:6px}.quest-clear-ready{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:start;padding:20px 0;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}.quest-clear-ready>svg{color:var(--accent)}.quest-clear-ready strong{color:var(--accent);font-size:11px;letter-spacing:.12em}.quest-clear-ready p{color:var(--muted);font-size:11px}.quest-clear-ready button{grid-column:2;justify-self:start}.quest-reward-preview{display:flex;gap:11px;align-items:flex-start;margin:20px 0 25px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:11px;color:var(--accent)}.quest-reward-preview strong{font-size:12px;color:var(--text)}.quest-reward-preview p{margin-top:4px;color:var(--muted);font-size:10px}.quest-reward-panel{padding:12px 0 10px;text-align:center}.quest-reward-emblem{width:84px;height:84px;display:grid;place-items:center;margin:0 auto 21px;border:1px solid var(--accent);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 27%,var(--surface)),var(--surface));color:var(--accent);box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 8%,transparent);animation:quest-bloom .6s ease-out}.quest-reward-panel h3{margin:10px 0 8px;font-size:22px;line-height:1.5}.quest-reward-panel>.quiet-note{margin-bottom:21px}.quest-reward-options{display:grid;gap:9px;margin:23px 0;text-align:left}.quest-reward-options button{min-height:76px;display:flex;justify-content:space-between;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.quest-reward-options button:hover{border-color:var(--accent)}.quest-reward-options button>span{display:flex;flex-direction:column;gap:5px}.quest-reward-options strong{font-size:13px;line-height:1.5}.quest-reward-options small{color:var(--muted);font-size:10px;line-height:1.5}.quest-reward-options svg{color:var(--accent)}.quest-reward-picked{margin:23px 0;padding:24px 16px;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);color:var(--accent);font-size:19px;font-weight:600;line-height:1.6}.quest-reward-panel>.text-button{margin-top:8px}.one-quest-next-step{margin:22px 0;padding-left:13px;border-left:2px solid var(--accent)}.one-quest-next-step span,.one-quest-history h4{font-size:10px;letter-spacing:.08em;color:var(--accent)}.one-quest-next-step p{margin-top:7px;font-size:14px;line-height:1.7}.one-quest-history{margin:26px 0}.one-quest-history h4{margin:18px 0 7px;font-weight:650}.one-quest-history p{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.one-quest-history p span{color:var(--muted);white-space:nowrap}.one-quest-sheet .field{margin-top:28px}.one-quest-sheet .primary{margin-top:14px}.period-focus h2{font-size:25px;line-height:1.65;margin-top:12px;max-width:540px}.period-focus>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:10px}.date-range{font-size:11px;color:var(--muted);margin:22px 0}.criterion{border-left:2px solid var(--accent);padding-left:12px}.week-goal{padding:20px 0;border-bottom:1px solid var(--line)}.week-goal h3{font-size:18px;margin:12px 0 22px;line-height:1.75}.week-goal .criterion{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.65}.roadmap-today{border-top:1px solid var(--line)}.roadmap-today>p{font-size:14px;line-height:1.7}.linked-mission{display:flex;gap:10px;align-items:center;font-size:11px;padding:12px 0;line-height:1.6}.linked-mission>span:nth-child(2){flex:1}.linked-mission small{font-size:9px;color:var(--muted)}.open-dot,.done-dot{width:16px;height:16px;border:1px solid var(--faint);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.done-dot{background:var(--accent);color:var(--ink);border-color:var(--accent)}.backlog-row{border-bottom:1px solid var(--line);padding:18px 0}.backlog-row h3{font-size:13px}.backlog-row p{font-size:10px;color:var(--muted);margin-top:6px}.backlog-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.backlog-options button{font-size:10px;min-height:40px;border:1px solid var(--line);padding:8px 10px;border-radius:6px}.backlog-options button:last-child{color:var(--muted)}.momentum{padding:22px 0;border-bottom:1px solid var(--line)}.momentum h2{font-size:23px;margin-top:14px}.momentum em{font-style:normal;color:var(--accent)}.momentum-dots{display:flex;justify-content:space-between;max-width:450px;margin:26px 0 16px;gap:12px}.momentum-dots>div{text-align:center}.momentum-dots span{width:28px;height:28px;border-radius:50%;background:var(--soft);display:grid;place-items:center}.momentum-dots span.filled{background:var(--accent);color:var(--ink)}.momentum-dots small{display:block;font-size:9px;color:var(--faint);margin-top:10px}.momentum>p:not(.eyebrow){font-size:10px;color:var(--muted)}.time-investment{border-top:1px solid var(--line);margin-top:25px;padding-top:16px;display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);flex-wrap:wrap}.time-investment strong{font-weight:500;color:var(--text);font-size:14px}.time-investment>span{font-size:9px;margin-left:auto;color:var(--faint)}.journal-note{font-size:12px;color:var(--muted);margin:28px 0}.journey-date{font-size:10px;color:var(--faint);letter-spacing:1px;margin:26px 0 14px}.journey-content{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.journey-symbol{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent);flex-shrink:0}.journey-symbol.decision{color:var(--muted)}.journey-content>div{flex:1}.journey-content h3{font-size:12px;line-height:1.7}.journey-content p{font-size:10px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.tiny-time{font-size:9px;color:var(--faint);padding-top:5px}.search-box{display:flex;align-items:center;gap:12px;padding:9px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted)}.search-box input{border:none;background:none;font-size:12px;width:100%;padding:9px 0;min-height:36px}.search-box button{padding:0;min-height:36px}.search-filters{display:flex;gap:9px;margin:12px 0 32px;flex-wrap:wrap}.search-filters button{border:1px solid var(--line);border-radius:20px;min-height:36px;padding:6px 15px;font-size:10px;color:var(--muted)}.search-result{width:100%;display:block;text-align:left;padding:24px 28px 24px 0;position:relative;border-bottom:1px solid var(--line)}.result-label{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1px;color:var(--muted);line-height:1.5}.result-label.current{color:var(--accent)}.result-label>span{background:var(--accent);width:4px;height:4px;border-radius:50%}.search-result h3{font-size:17px;line-height:1.8;margin:10px 0 7px}.search-result p{font-size:11px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.search-result>svg{position:absolute;right:0;top:29px;color:var(--muted)}.empty-search{color:var(--muted);font-size:12px;padding:30px 0}.empty-state{padding:36px 0;color:var(--muted)}.empty-state h2{font-size:20px;color:var(--text);margin:20px 0 10px}.empty-state p{font-size:12px;margin-bottom:20px}.sheet{position:fixed;top:auto;bottom:0;margin:0 auto;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;background:var(--bg);color:var(--text);width:100%;max-width:620px;max-height:92dvh;padding:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -20px 90px #0003;animation:sheet-in .22s ease-out}.sheet::backdrop{background:#040b0799;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.sheet-inner{padding:12px 26px calc(32px + env(safe-area-inset-bottom))}.sheet-handle{width:32px;height:3px;background:var(--line);border-radius:3px;margin:0 auto 12px}.sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.sheet-heading h2{font-size:20px}.sheet-lead{font-size:12px;color:var(--muted);margin-bottom:20px}.roadmap-steps{display:flex;gap:6px;margin-bottom:18px}.roadmap-steps span{flex:1;border-bottom:2px solid var(--line);padding-bottom:8px;color:var(--muted);font-size:11px;text-align:center}.roadmap-steps span.active{border-color:var(--accent);color:var(--text);font-weight:700}.roadmap-stage h3{margin:8px 0 22px;font-size:20px;line-height:1.5}.roadmap-parent{border-left:2px solid var(--accent);margin:0 0 22px;padding-left:12px;color:var(--muted);font-size:12px;line-height:1.6}.primary,.secondary{border-radius:8px;min-height:48px;padding:12px 17px;font-size:12px}.primary{background:var(--accent);color:var(--ink)}.secondary{border:1px solid var(--line);color:var(--text)}.full{width:100%;margin-top:12px}.button-row{display:flex;gap:10px;margin-top:20px}.button-row>button{flex:1}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}.field>label{font-size:11px;color:var(--muted)}.field input,.field textarea,.field select{width:100%}.form-columns{display:flex;gap:14px}.form-columns>*{flex:1;min-width:0}.form-error,.error-banner{font-size:12px;line-height:1.7;color:var(--danger);overflow-wrap:anywhere;white-space:pre-wrap;padding:14px 0}.import-input{width:100%;height:180px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.8}.file-button input{display:none}.file-button{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.import-preview{padding:18px;border:1px solid var(--line);margin:20px 0;background:var(--surface);border-radius:8px}.import-preview strong{font-size:13px}.import-preview p{font-size:11px;color:var(--muted);margin-top:8px}.help{margin:22px 0;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:11px;color:var(--muted)}summary{cursor:pointer;min-height:36px;padding-top:8px}details p{margin:12px 0;overflow-wrap:anywhere}pre{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;max-height:220px;overflow:auto}.pending-row{padding:16px 0;border-bottom:1px solid var(--line)}.pending-row>p{font-size:13px}.pending-row summary{font-size:10px;color:var(--muted)}.settings-section{padding:20px 0;border-bottom:1px solid var(--line)}.settings-section:first-child{padding-top:0}.settings-section h3{font-size:14px;margin-bottom:14px}.settings-section .quiet-note{margin-bottom:18px}.theme-control{display:flex;gap:8px}.theme-control button{flex:1;min-height:44px;border:1px solid var(--line);border-radius:6px;font-size:12px}.theme-control button[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}.calendar-list label{display:flex;align-items:center;gap:10px;font-size:12px;min-height:48px}.calendar-list{margin-top:20px}.reward-setting{display:flex;align-items:center;gap:14px;min-height:58px;font-size:12px;cursor:pointer}.reward-setting small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.reward-settings{display:grid;gap:14px}.reward-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reward-deck-list{display:grid;gap:6px;margin-top:10px}.reward-deck-list>details{border-top:1px solid var(--line);padding:12px 0}.reward-deck-list summary{cursor:pointer;color:var(--text);font-size:13px;font-weight:650}.reward-deck-list summary small{color:var(--muted);font-size:10px;font-weight:400;margin-left:8px}.reward-deck-item{display:flex;align-items:center;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}.reward-deck-item .reward-setting{flex:1;min-width:180px}.reward-deck-item .reward-setting span{flex:1;line-height:1.5}.reward-edit-form{display:grid;grid-template-columns:1fr auto;width:100%;gap:8px;padding-bottom:12px}.reward-edit-form input{grid-column:1 / -1}.reward-edit-form button{min-height:40px}.reward-add-form{display:grid;gap:9px;padding-top:14px;border-top:1px solid var(--line)}.reward-add-form h4{margin:0;font-size:13px}.reward-add-form>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.jackpot-reveal .reveal-orbit,.jackpot-reveal h3{color:var(--gold, #b2914a)}.jackpot-reveal .reveal-orbit:before{border-color:currentColor;box-shadow:0 0 0 20px color-mix(in srgb,currentColor 10%,transparent)}.app-version{text-align:center;font-size:9px;letter-spacing:1.2px;color:var(--faint);margin-top:30px}.detail-title{font-size:25px;line-height:1.65;margin-top:14px}.decision-text{font-size:17px;margin:20px 0;white-space:pre-wrap}.detail-label{margin-top:28px;margin-bottom:10px}.detail-label+p,.detail-label+ul{font-size:13px;color:var(--muted);line-height:1.9;white-space:pre-wrap}.history-row{padding:18px 0;border-bottom:1px solid var(--line)}.history-row small{font-size:9px;color:var(--faint)}.history-row p{font-size:12px;color:var(--muted);margin-top:8px}.source-reference{overflow-wrap:anywhere}.mood-options{display:flex;gap:10px}.mood-options button{min-height:65px;flex:1;border:1px solid var(--line);border-radius:10px;font-size:12px}.mood-options button[aria-pressed=true]{border-color:var(--accent);background:var(--soft)}.outcome-options{display:flex;flex-direction:column;gap:10px}.outcome-options button{justify-content:space-between;min-height:54px;border:1px solid var(--line);border-radius:8px;padding:14px;font-size:13px}.outcome-options button:first-child{border-color:var(--accent);color:var(--accent)}.reward-panel{text-align:center;padding:18px 0 6px}.reward-panel>p{font-size:12px;color:var(--muted)}.reward-card{position:relative;width:min(100%,280px);height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;margin:20px auto 28px;background:var(--surface);overflow:hidden;gap:20px}.reward-card:before{content:"";position:absolute;width:160px;height:160px;border:1px solid var(--line);border-radius:50%;pointer-events:none}.reward-card>*{position:relative}.reward-card>svg{color:var(--accent);width:40px;height:40px}.reward-card h3{font-size:21px;line-height:1.7;padding:0 24px}.reward-card p{font-size:10px;color:var(--muted);padding:0 20px}.reward-card.revealed{animation:reveal .65s cubic-bezier(.2,.8,.2,1);border-color:var(--accent)}.reward-card .eyebrow{margin-bottom:8px}.reward-count{font-size:11px;letter-spacing:1px;color:var(--muted)}.notice{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:10px;color:var(--muted)}.update-banner{font-size:11px;min-height:44px;width:100%;border-bottom:1px solid var(--line);color:var(--accent)}.toast{position:fixed;z-index:100;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 40px #0005;background:var(--surface);color:var(--text);font-size:12px;padding:16px 20px;width:max-content;max-width:calc(100% - 32px);line-height:1.7;pointer-events:none;overflow-wrap:anywhere}.boot{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:30px}.boot p{font-size:12px;color:var(--muted)}.spin{animation:spin 1s linear infinite}.report-options{display:flex;flex-direction:column;gap:10px;margin:14px 0 28px}.sealed-reward,.reveal-orbit{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;width:min(100%,270px);height:250px;margin:8px auto 26px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--accent);overflow:hidden}.sealed-reward:before,.reveal-orbit:before{content:"";position:absolute;width:165px;height:165px;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 25px color-mix(in srgb,var(--line) 25%,transparent)}.sealed-reward span{font-size:8px;letter-spacing:1.6px;position:relative}.sealed-reward svg,.reveal-orbit svg{position:relative}.reward-panel>h3,.reveal h3{font-size:23px;line-height:1.75;margin:15px 0 17px;font-weight:500}.reward-panel .quiet-note{margin:12px auto 24px;max-width:310px}.reveal{animation:reveal .6s ease-out}.reveal-orbit{height:160px;border:0;background:transparent;margin-bottom:18px}.reveal-orbit:before{width:105px;height:105px;border-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-in{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-in{0%{opacity:.5;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes complete-in{0%{box-shadow:0 0 #c9e0bc60}to{box-shadow:0 0 0 12px #c9e0bc00}}@keyframes reveal{0%{opacity:.4;transform:scale(.96) rotateY(-10deg)}to{opacity:1;transform:scale(1) rotateY(0)}}@keyframes quest-bloom{0%{opacity:.45;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:700px){.app-shell{padding-left:60px;padding-right:60px}.app-header{height:100px}.day-heading{margin-top:45px}.day-heading h1,.page-title h1{font-size:32px}.main-mission{padding:28px 34px 24px;min-height:300px}.main-mission h2{font-size:32px}.capacity{margin-bottom:30px}.complete-main{max-width:420px}.hero-subtle{margin-left:0;min-width:200px}.section{margin-top:38px}.bottom-nav{padding-left:60px;padding-right:60px}.sheet{bottom:32px;border-bottom:1px solid var(--line);border-radius:22px;max-height:88dvh}.sheet-inner{padding:12px 32px 32px}}@media(max-width:399px){.app-shell{padding-left:22px;padding-right:22px}.header-tools{gap:12px}.day-heading h1{font-size:23px}.day-heading{gap:8px}.local-label{display:none}.main-mission{padding:22px 21px 18px}.main-mission h2{font-size:26px}.capacity button{padding:7px 9px}.bottom-pair{gap:12px}.day-report-entry{padding-left:12px}.sheet-inner{padding-left:20px;padding-right:20px}.date-mark strong{font-size:30px}.time-investment>span{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
