.sprig{flex:none;height:auto;display:block;overflow:visible}.sprig *{transform-box:fill-box}.sprig .shadow{fill:#17251f24}.sprig .bob,.sprig .breath{transform-origin:50% 100%}.sprig .leg{transform-origin:50% 0}.sprig .arm-rot{transform-origin:50% 0;transform:rotate(var(--a))}.sprig .arm.l .arm-rot{--a:var(--la,14deg)}.sprig .arm.r .arm-rot{--a:var(--ra,-14deg)}.sprig .sprout{transform-origin:50% 100%}.sprig .eyes,.sprig .pupils{transform-origin:50%}.sprig .tail{transform-origin:30% 0}.sprig .mouth-open{transform-origin:50% 30%;transform:scaleY(calc(.25 + var(--mouth,0) * 1.1))}.sprig .thought,.sprig .rings,.sprig .zzz,.sprig .map,.sprig .eyes-closed,.sprig .eyes-happy,.sprig .mouth-open,.sprig .mouth-o,.sprig .mouth-big{opacity:0}.sprig .ring{transform-origin:50%;transform:scale(calc(.6 + var(--level,.3) * 1.2));transition:transform 80ms linear}.sprig .breath{animation:3.2s ease-in-out infinite sp-breathe}.sprig .eyes{animation:5.2s infinite sp-blink}.sprig .pupils{animation:8s ease-in-out infinite sp-look}.sprig .sprout{animation:4s ease-in-out infinite sp-sway}.sprig .tail{animation:3s ease-in-out infinite sp-flutter}.sprig[data-state=idle] .arm.r .arm-rot{animation:9s ease-in-out infinite sp-wave}.sprig[data-pose=map] .arm.l .arm-rot{--a:-62deg;animation:none}.sprig[data-pose=map] .arm.r .arm-rot{--a:62deg;animation:none}.sprig[data-pose=map] .map{opacity:1}.sprig[data-pose=map] .pupils{animation:none;transform:translateY(4px)}.sprig[data-state=walking] .leg.l{animation:sp-step var(--step) ease-in-out infinite}.sprig[data-state=walking] .leg.r{animation:sp-step var(--step) ease-in-out infinite reverse}.sprig[data-state=walking] .bob{animation:sp-bob calc(var(--step) / 2) ease-in-out infinite}.sprig[data-state=walking] .arm.l .arm-rot{animation:sp-swing var(--step) ease-in-out infinite}.sprig[data-state=walking] .arm.r .arm-rot{animation:sp-swing var(--step) ease-in-out infinite reverse}.sprig[data-state=walking] .tail{animation-duration:calc(var(--step) * 1.4)}.sprig[data-state=walking] .pupils{animation:none;transform:translate(3px)}.sprig[data-state=thinking]{--ra:122deg}.sprig[data-state=thinking] .breath{animation:4s ease-in-out infinite sp-tilt}.sprig[data-state=thinking] .pupils{animation:none;transform:translate(4px,-4px)}.sprig[data-state=thinking] .brow.r{transform:translateY(-4px)}.sprig[data-state=thinking] .thought{opacity:1}.sprig .thought .dot{animation:1.2s ease-in-out infinite sp-dots}.sprig .thought .d2{animation-delay:.2s}.sprig .thought .d3{animation-delay:.4s}.sprig .orbit{transform-origin:50%;animation:4s linear infinite sp-orbit}.sprig[data-state=speaking]{--la:40deg}.sprig[data-state=speaking] .mouth-smile{opacity:0}.sprig[data-state=speaking] .mouth-open{opacity:1}.sprig[data-state=speaking] .arm.l .arm-rot{animation:2.4s ease-in-out infinite sp-gesture}.sprig[data-state=listening]{--la:168deg}.sprig[data-state=listening] .bob{transform:rotate(-7deg)}.sprig[data-state=listening] .rings{opacity:1}.sprig[data-state=listening] .pupils{animation:none;transform:translate(-4px)}.sprig[data-state=listening] .mouth-smile{opacity:0}.sprig[data-state=listening] .mouth-o{opacity:1}.sprig[data-state=celebrating]{--la:150deg;--ra:-150deg}.sprig[data-state=celebrating] .bob{animation:.9s cubic-bezier(.3,.7,.4,1) infinite sp-jump}.sprig[data-state=celebrating] .arm.l .arm-rot{animation:.45s ease-in-out infinite alternate sp-pump}.sprig[data-state=celebrating] .arm.r .arm-rot{animation:.45s ease-in-out infinite alternate-reverse sp-pump}.sprig[data-state=celebrating] .eyes-open{opacity:0}.sprig[data-state=celebrating] .eyes-happy{opacity:1}.sprig[data-state=celebrating] .mouth-smile{opacity:0}.sprig[data-state=celebrating] .mouth-big{opacity:1}.sprig[data-state=celebrating] .sprout{animation:.45s ease-in-out infinite alternate sp-perk}.sprig[data-state=sleepy]{--la:8deg;--ra:-8deg;filter:saturate(.75)}.sprig[data-state=sleepy] .breath{animation:5s ease-in-out infinite sp-sleepy}.sprig[data-state=sleepy] .eyes-open{opacity:0}.sprig[data-state=sleepy] .eyes-closed{opacity:1}.sprig[data-state=sleepy] .sprout{animation:none;transform:rotate(38deg)}.sprig[data-state=sleepy] .zzz{opacity:1}.sprig[data-state=sleepy] .arm.r .arm-rot{animation:none}.sprig .zzz text{transform-origin:50%;animation:3s ease-in infinite sp-z}.sprig .zzz text:nth-child(2){animation-delay:1s}.sprig .zzz text:nth-child(3){animation-delay:2s}.sprig[data-state=ready] .arm.l .arm-rot{animation:3.4s ease-in-out infinite sp-stretch-l}.sprig[data-state=ready] .arm.r .arm-rot{animation:3.4s ease-in-out infinite sp-stretch-r}.sprig[data-state=ready] .breath{animation:3.4s ease-in-out infinite sp-stretch}.sprig[data-state=wave] .arm.r .arm-rot{animation:1s ease-in-out infinite sp-wave-loop}@keyframes sp-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015,1.035)}}@keyframes sp-sleepy{0%,to{transform:rotate(4deg)scale(1)}50%{transform:rotate(4deg)scale(1.02,1.05)}}@keyframes sp-tilt{0%,to{transform:rotate(3deg)}50%{transform:rotate(5deg)scale(1.01)}}@keyframes sp-blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.1)}}@keyframes sp-look{0%,30%{transform:translate(0)}38%,55%{transform:translate(-4px)}62%,80%{transform:translate(4px,-1px)}88%,to{transform:translate(0)}}@keyframes sp-sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}@keyframes sp-flutter{0%,to{transform:rotate(-4deg)skew(-3deg)}50%{transform:rotate(8deg)skew(4deg)}}@keyframes sp-wave{0%,70%,to{transform:rotate(var(--a))}74%{transform:rotate(-150deg)}78%{transform:rotate(-128deg)}82%{transform:rotate(-156deg)}86%{transform:rotate(-130deg)}90%{transform:rotate(-150deg)}}@keyframes sp-wave-loop{0%,to{transform:rotate(-150deg)}50%{transform:rotate(-122deg)}}@keyframes sp-step{0%,to{transform:rotate(22deg)}50%{transform:rotate(-22deg)}}@keyframes sp-swing{0%,to{transform:rotate(calc(var(--a) - 26deg))}50%{transform:rotate(calc(var(--a) + 26deg))}}@keyframes sp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes sp-dots{0%,to{opacity:.25}50%{opacity:1}}@keyframes sp-orbit{to{transform:rotate(360deg)}}@keyframes sp-gesture{0%,to{transform:rotate(40deg)}50%{transform:rotate(62deg)}}@keyframes sp-jump{0%,to{transform:translateY(0)scale(1.03,.96)}45%{transform:translateY(-26px)scale(.98,1.03)}}@keyframes sp-pump{0%{transform:rotate(var(--a))}to{transform:rotate(calc(var(--a) * .82))}}@keyframes sp-perk{0%{transform:rotate(-10deg)scale(1)}to{transform:rotate(10deg)scale(1.12)}}@keyframes sp-z{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(14px,-30px)}}@keyframes sp-stretch-l{0%,10%{transform:rotate(14deg)}30%,48%{transform:rotate(176deg)}62%,to{transform:rotate(-30deg)}}@keyframes sp-stretch-r{0%,10%{transform:rotate(-14deg)}30%,48%{transform:rotate(-176deg)}62%,to{transform:rotate(30deg)}}@keyframes sp-stretch{0%,10%,62%,to{transform:scale(1)}30%,48%{transform:scale(.97,1.07)}}html.is-hidden .sprig,html.is-hidden .sprig *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.sprig,.sprig *{animation:none!important}.sprig[data-state=celebrating] .bob{transform:translateY(-10px)}}@font-face{font-family:"Baloo 2";src:url(/assets/baloo-2-8NeBJN4T.woff2)format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/assets/atkinson-hyperlegible-next-Cw9WDUCC.woff2)format("woff2");font-weight:200 800;font-display:swap}:root{--forest:#1f6b4a;--leaf:#49b86e;--sunrise:#ff7a2f;--amber:#ffc23d;--sky:#38a3e8;--ink:#17251f;--bg:#fff8ec;--surface:#fff;--surface-2:#f3ead8;--muted:#5b6b62;--line:#e6dcc6;--cta-ink:#1b1206;--good:#1f8a4c;--warn:#b5470e;--on-forest:#fff8ec;--font-display:"Baloo 2", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:22px;--squish:cubic-bezier(.3, 1.6, .5, 1);--gutter:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--forest:#57c98a;--leaf:#6fd391;--sunrise:#ff8c4a;--amber:#ffcf5c;--sky:#5bb8f5;--ink:#f3f1ea;--bg:#0f1626;--surface:#18233a;--surface-2:#22304b;--muted:#aab5c8;--line:#2d3d5c;--good:#6fd391;--warn:#ffb27a;--on-forest:#0f1626;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--forest:#57c98a;--leaf:#6fd391;--sunrise:#ff8c4a;--amber:#ffcf5c;--sky:#5bb8f5;--ink:#f3f1ea;--bg:#0f1626;--surface:#18233a;--surface-2:#22304b;--muted:#aab5c8;--line:#2d3d5c;--good:#6fd391;--warn:#ffb27a;--on-forest:#0f1626;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);min-height:100%;margin:0}body{font-size:18px;line-height:1.5}#app{min-height:100dvh}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;line-height:1.05}h1{font-size:34px;font-weight:800}h2{font-size:26px;font-weight:800}h3{font-size:21px;font-weight:700}p{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.screen{max-width:560px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 20px) var(--gutter) calc(env(safe-area-inset-bottom) + 18px);flex-direction:column;gap:16px;margin:0 auto;display:flex;position:relative}.screen.with-tabs{padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}.screen.center{justify-content:center;align-items:center}.grow{flex:1}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:13px;font-weight:700}.lede{color:var(--muted)}.hint{color:var(--muted);font-size:16px}.center-text{text-align:center}.bar{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.bar .eyebrow{text-align:right;margin:0}.actions{gap:12px;margin-top:auto;display:grid}.stage-sprig{align-content:center;justify-items:center;gap:10px;display:grid;position:relative}.btn{appearance:none;min-height:56px;font-family:var(--font-display);background:var(--surface-2);color:var(--ink);cursor:pointer;transition:transform .18s var(--squish), box-shadow .18s, opacity .2s;border:0;border-radius:999px;padding:0 24px;font-size:20px;font-weight:800}.btn:active{transform:scale(.96)}.btn.primary{background:var(--sunrise);color:var(--cta-ink);box-shadow:0 6px 0 color-mix(in srgb, var(--sunrise) 58%, #000)}.btn.primary:active{box-shadow:0 2px 0 color-mix(in srgb, var(--sunrise) 58%, #000);transform:translateY(4px)scale(.98)}.btn.big{width:100%;min-height:74px;font-size:25px}.btn:disabled{opacity:.55;box-shadow:none;cursor:default;transform:none}.link{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:48px;padding:12px 6px;font-size:16px}.links{flex-wrap:wrap;justify-content:center;gap:4px 16px;display:flex}.links.stacked{flex-direction:column;align-items:stretch}.links.stacked .link{text-align:left;border-bottom:2px solid var(--line);color:var(--ink);font-weight:600}@media (prefers-reduced-motion:reduce){.btn,.btn:active{transition:none;transform:none}}.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:16px}.card p+p{margin-top:6px}.note{background:var(--surface-2);color:var(--muted);border-radius:16px;margin:0;padding:12px 14px;font-size:16px}.note.warn{color:var(--warn)}.note.safe{color:var(--good)}.note.update{border:2px solid var(--sunrise);color:var(--ink);text-align:left;cursor:pointer;font-family:inherit}.provenance{color:var(--muted);text-align:center;margin:0;font-size:14px}.bubble{background:var(--surface);border:2px solid var(--ink);border-radius:20px;width:100%;padding:10px 14px;font-size:17px;line-height:1.45;position:relative}.bubble.tail-down:after{content:"";background:var(--surface);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:16px;height:16px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.bubble .todo{color:var(--muted);opacity:.55}.bubble .now{background:color-mix(in srgb, var(--amber) 55%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--amber) 55%, transparent);border-radius:5px}.bubble.story{max-height:42vh;font-size:19px;line-height:1.55;overflow-y:auto}.hud{align-items:center;gap:12px;display:flex}.lvl{font-family:var(--font-display);background:var(--forest);color:var(--on-forest);white-space:nowrap;border-radius:12px;padding:4px 10px;font-size:16px;font-weight:800}.xp{flex:1;gap:4px;min-width:0;display:grid}.xp-top{justify-content:space-between;gap:8px;font-size:14px;font-weight:700;display:flex}.xp-top .num{font-variant-numeric:tabular-nums;color:var(--muted)}.xp-bar{background:var(--surface-2);border:2px solid var(--line);border-radius:999px;height:16px;overflow:hidden}.xp-bar span{background:linear-gradient(90deg, var(--amber), var(--sunrise));height:100%;transition:width 1.2s var(--squish);border-radius:999px;display:block}.flame{justify-items:center;line-height:1;display:inline-grid}.flame svg{display:block}.flame .count{font-family:var(--font-display);margin-top:-2px;font-size:18px;font-weight:800}.flame .lab{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.flame .fl{animation:1.4s ease-in-out infinite alternate flick}@keyframes flick{0%{transform:scale(1)rotate(-2deg)}to{transform:scale(1.04,.94)rotate(2deg)}}html.is-hidden .flame .fl{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.flame .fl{animation:none}.xp-bar span{transition:none}}.teaser{background:var(--surface);border:2px solid var(--line);border-radius:20px;gap:2px;padding:12px 14px;display:grid}.teaser .k{letter-spacing:.1em;text-transform:uppercase;color:var(--sunrise);font-size:12px;font-weight:700}.teaser .v{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.15}.today{text-align:center;color:var(--muted);font-size:15px;font-weight:700}.today b{color:var(--ink);font-family:var(--font-display);font-size:18px}.tabbar{z-index:5;background:var(--surface);border-top:2px solid var(--line);padding:6px 8px calc(env(safe-area-inset-bottom) + 8px);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;min-width:64px;min-height:52px;font-size:12px;font-weight:700;display:grid}.tabbar button.on{color:var(--forest)}.mission-card{background:var(--forest);color:var(--on-forest);border-radius:24px;gap:10px;padding:18px;display:grid}.mission-card .k{letter-spacing:.12em;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:700}.mission-card .v{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1.08}.mission-card .ex{opacity:.9;font-size:15px}.mission-card .safe{background:color-mix(in srgb, var(--on-forest) 16%, transparent);border-radius:14px;align-items:center;gap:8px;padding:8px 10px;font-size:15px;display:flex}.segmented{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;display:grid}.segmented legend{margin-bottom:8px;font-weight:700}.segmented label{background:var(--surface);border:2px solid var(--line);min-height:56px;font-family:var(--font-display);cursor:pointer;transition:transform .15s var(--squish);border-radius:16px;place-items:center;font-size:19px;font-weight:700;display:grid}.segmented label:active{transform:scale(.95)}.segmented label.on{border-color:var(--sunrise);box-shadow:inset 0 0 0 1px var(--sunrise)}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:focus-visible){outline:3px solid var(--sky)}.pocket{text-align:center;flex:1;align-content:center;place-items:center;gap:12px;display:grid}.pocket .big{font-family:var(--font-display);font-size:40px;font-weight:800;line-height:1}.stats2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:12px 14px}.stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1;display:block}.stat span{color:var(--muted);font-size:14px;font-weight:600}.walk-progress{gap:6px;display:grid}.trailbar{background:var(--surface-2);border:2px solid var(--line);border-radius:999px;height:18px;overflow:hidden}.trailbar span{background:var(--leaf);height:100%;transition:width .6s var(--squish);border-radius:999px;display:block}.voice{justify-items:center;gap:10px;display:grid}.mic{background:var(--sunrise);width:108px;height:108px;color:var(--cta-ink);cursor:pointer;box-shadow:0 0 0 calc(6px + var(--lvl,0) * 18px) color-mix(in srgb, var(--sunrise) 22%, transparent);transition:box-shadow 80ms linear, transform .15s var(--squish);border:0;border-radius:50%;place-items:center;display:grid}.mic:active{transform:scale(.94)}.mic svg{fill:currentColor;width:46px;height:46px}.mic.thinking{opacity:.6}.mic-label{color:var(--muted);text-align:center;min-height:1.5em;margin:0;font-weight:600}.caption-box{background:var(--surface);border:2px dashed var(--line);border-radius:18px;padding:12px 14px}textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--line);resize:vertical;border-radius:18px;margin-top:6px;padding:12px 14px;font-size:19px}.trophy{background:linear-gradient(160deg, var(--amber), var(--sunrise));color:var(--cta-ink);text-align:center;border-radius:24px;grid-template-columns:1fr 1fr;gap:6px;padding:14px;display:grid}.trophy .k{letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;font-size:12px;font-weight:700}.trophy b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:40px;line-height:1;display:block}.trophy span{font-size:14px;font-weight:700}.xp-gain{font-family:var(--font-display);text-align:center;color:var(--sunrise);font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1}.xp-parts{flex-wrap:wrap;justify-content:center;gap:6px;font-size:14px;font-weight:700;display:flex}.xp-parts span{background:var(--surface-2);border-radius:999px;padding:4px 10px}.newbadge{background:var(--surface);border:2px solid var(--amber);border-radius:18px;align-items:center;gap:12px;padding:10px 12px;display:flex}.newbadge .disc{background:var(--sky);border:3px solid #17251f;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.find-card{background:var(--surface);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);border-radius:18px;gap:8px;padding:12px;display:grid;transform:rotate(-1deg)}.find-card .q{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.15}.find-card .m{color:var(--muted);font-size:13px;font-weight:700}.find-card img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}.find-card .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.find-card input[type=text]{min-width:0;font:inherit;border:2px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;flex:1;min-height:48px;padding:10px 12px;font-size:16px}.file-btn{place-items:center;display:inline-grid;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.levelup{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);text-align:center;padding:var(--gutter);align-content:center;place-items:center;gap:12px;display:grid;position:fixed;inset:0}.levelup .big{font-family:var(--font-display);font-size:48px;font-weight:800;line-height:1}.levelup .rank{font-family:var(--font-display);color:var(--sunrise);font-size:26px;font-weight:700}.confetti{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:9px;height:14px;animation:1.7s cubic-bezier(.2,.7,.3,1) forwards burst;position:absolute;top:30%;left:50%}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx), var(--dy)) rotate(var(--r));opacity:0}}.story-switch{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.story-switch button{appearance:none;border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;min-height:48px;padding:10px 16px;font-size:15px;font-weight:700}.story-switch button.on{border-color:var(--sunrise)}.trail{position:relative}.trail svg.map{width:100%;height:auto;display:block}.trail .here{pointer-events:none;position:absolute;transform:translate(-50%,-88%)}.offer p{margin-top:6px}.offer .btn,.offer progress{width:100%;margin-top:12px}.tabs{background:var(--surface-2);border-radius:16px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.tabs button{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:12px;min-height:48px;font-weight:700}.tabs button[aria-selected=true]{background:var(--surface);box-shadow:0 2px 0 var(--line)}.journal{grid-template-columns:1fr 1fr;gap:10px;display:grid}.jcard{background:var(--surface);border:2px solid var(--line);border-radius:16px;align-content:start;gap:6px;padding:8px;display:grid}.jcard .ph{aspect-ratio:4/3;background:linear-gradient(160deg, color-mix(in srgb, var(--sky) 45%, var(--surface)), color-mix(in srgb, var(--leaf) 45%, var(--surface)));border-radius:12px;place-items:center;display:grid;overflow:hidden}.jcard .ph img{object-fit:cover;width:100%;height:100%}.jcard .q{font-family:var(--font-display);overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.15}.jcard .m{color:var(--muted);font-size:12px;font-weight:700}.badge-grid{grid-template-columns:repeat(3,1fr);gap:14px 8px;display:grid}.badge{text-align:center;justify-items:center;gap:6px;font-size:13px;font-weight:700;display:grid}.badge .disc{border:3px solid #17251f;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.badge .when{color:var(--muted);font-size:11px;font-weight:600}.badge.locked .disc{background:var(--surface-2);border:3px dashed var(--muted)}.badge.locked .disc svg{opacity:.35;filter:grayscale()brightness(.3)}.badge.locked .name{color:var(--muted)}.empty{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:12px 0;display:grid}.rules{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rules li{background:var(--surface);border:2px solid var(--line);border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-size:16px;display:flex}.rules li svg{color:var(--forest);flex:none}.pack-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pack-list li{background:var(--surface);border:2px solid var(--line);border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-size:16px;display:flex}.pack-list li b{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.pack-list li.done{border-color:var(--leaf)}.pack-list li.warn{border-color:var(--warn)}.checklist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checklist li{background:var(--surface);border-left:5px solid var(--line);border-radius:16px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.checklist li span:last-child{color:var(--muted);text-align:right}.checklist li.done{border-left-color:var(--leaf)}.checklist li.warn{border-left-color:var(--warn)}.download{gap:10px;display:grid}.download .size{font-family:var(--font-display);font-size:24px;font-weight:800}.download .size span{font-family:var(--font-body);color:var(--muted);font-size:14px;font-weight:400;display:block}.download .btn,.download progress{width:100%}.parts{gap:6px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.parts li{justify-content:space-between;gap:12px;display:flex}.parts li span:last-child{color:var(--muted);text-align:right}progress{width:100%;height:16px;accent-color:var(--sunrise)}.tip p{margin:8px 0 12px}.tip .btn{width:100%}.options{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.options li{background:var(--surface-2);border:2px solid #0000;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.options li.on{border-color:var(--leaf)}.options li div{gap:2px;min-width:0;display:grid}.options li span{color:var(--muted);font-size:14px}.options .btn{white-space:nowrap;min-height:48px;padding:8px 14px;font-size:16px}.badge-ok{font-weight:700;color:var(--good)!important}.kv h2{margin-bottom:10px;font-size:20px}.kv dl{grid-template-columns:minmax(110px,40%) 1fr;gap:6px 12px;margin:0 0 12px;font-size:15px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.kv .btn{width:100%}.sample{color:var(--muted);margin:0 0 12px;font-size:15px;font-style:italic}.toggles{border:0;gap:10px;margin:0;padding:0;display:grid}.toggles label{background:var(--surface);border-radius:16px;align-items:center;gap:12px;min-height:52px;padding:14px;display:flex}.toggles input{width:22px;height:22px;accent-color:var(--sunrise)}.walkmap{background:var(--surface-2);border-radius:14px;width:100%;margin-top:8px;display:block}.safety-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.switch-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.switch-row .seg3{background:var(--surface-2);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.switch-row .seg3 button{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:44px;padding:8px 12px;font-weight:700}.switch-row .seg3 button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 0 var(--line)}.jcard .ph{position:relative}.jcard .ph img{position:absolute;inset:0}
