.today-body{gap:10px;display:grid}.daybar{font-family:var(--display);color:var(--gold);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:16px;display:flex}.task{border:1px solid var(--line);background:var(--ink);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.task.done{border-color:var(--mint);box-shadow:inset 3px 0 0 var(--mint)}.task-h{justify-content:space-between;align-items:baseline;gap:8px;font-size:15px;display:flex}.tick{color:var(--mint);font-weight:700}.task .sheet-text,.task .field-label{margin:0}.note{color:var(--muted);margin:0;font-size:12px}.q{font-family:var(--display);margin:0;font-size:19px;font-weight:800;line-height:1.2}.say{border:1px solid var(--line);background:var(--raise);box-shadow:inset 3px 0 0 var(--gold);margin:0;padding:8px 10px}.btns{flex-wrap:wrap;gap:8px;display:flex}.btns .grow{flex:auto}.chip.rose{border:1px solid var(--line);background:var(--rose);color:var(--ink);font-weight:700}.chip.rose:disabled,.chip.answer:disabled{opacity:.5;cursor:not-allowed}.chip.answer{text-align:left;margin-top:0;font-style:italic}.coins{border:1px solid var(--line);background:var(--raise);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 12px;display:flex}.coins span:first-child{color:var(--muted);font-size:13px}.coins b{font-family:var(--display);color:var(--gold);font-size:24px}.coins .note{margin-left:auto}.shop{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.item{border:1px solid var(--line);background:var(--ink);text-align:left;cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.item-art{place-items:center;width:44px;height:44px;display:grid}.item-text{gap:2px;display:grid}.item-text b{font-size:14px}.item-text span{color:var(--muted);font-size:12px}.item:disabled{opacity:.6;cursor:default}.item.owned{border-color:var(--mint);opacity:1}.item.owned .item-text span{color:var(--mint)}.item.waiting{border-color:var(--rose);box-shadow:inset 3px 0 0 var(--rose)}.item.waiting .item-text span{color:var(--rose)}.sheet>.pixel-image{border:1px solid var(--line);justify-self:center;max-width:100%;height:auto!important}.sheet.today-sheet{max-height:64dvh}.task-h .reward{color:var(--gold);margin-left:auto;font-size:12px;font-weight:600}.photo-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo-frame{border:1px solid var(--line);color:var(--ink);background:#fffaf0;justify-items:center;gap:4px;margin:0;padding:8px;font-size:12px;display:grid}.photo-frame img{width:96px;height:80px}.photo-frame.empty{border-style:dashed;border-color:var(--line);background:var(--ink);text-align:center;min-height:112px;color:var(--muted);align-content:center}label.chip{text-align:center;cursor:pointer;display:block}.seed-list{gap:8px;display:grid}.chip.seed{text-align:left;justify-items:start;gap:2px;display:grid}.chip.seed span{color:var(--muted);font-size:12px}.level-bar{top:calc(8px + var(--safe-top));left:max(8px, var(--safe-left));right:max(8px, var(--safe-right));z-index:5;pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:fixed}.level-bar>*{pointer-events:auto}.level-stats{flex-wrap:wrap;gap:6px;display:flex}.level-stats span{border:1px solid var(--line);font-family:var(--display);color:var(--cream);background:#202b2cdb;padding:2px 8px;font-size:15px}.level-panel{z-index:5;width:min(100%,460px);padding:10px max(14px, var(--safe-right)) calc(12px + var(--safe-bottom)) max(14px, var(--safe-left));border:1px solid var(--line);background:#231a36f0;border-bottom:0;gap:8px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.level-step{font-family:var(--display);color:var(--gold);margin:0;font-size:13px}.level-line{color:var(--muted);margin:0;font-size:13px}.chip.big{padding:12px 16px;font-size:18px}.btns .chip.wide{flex:auto;margin-top:0}.beat{border:1px solid var(--line);background:var(--ink);height:26px;position:relative}.beat-zone{border-inline:2px solid var(--mint);background:#8fd9bf47;width:28%;position:absolute;top:0;bottom:0;left:36%}.beat-cursor{border:1px solid var(--line);background:var(--gold);width:6px;margin-left:-3px;position:absolute;top:-3px;bottom:-3px}.lvl{border:1px solid var(--line);background:var(--ink);grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:10px 12px;display:grid}.lvl span{color:var(--muted);grid-column:1;font-size:12px}.lvl .chip{grid-area:1/2/span 2}.lvl.cleared{border-color:var(--mint)}:root{--tabbar-h:calc(68px + var(--safe-bottom))}.world-box{position:absolute;inset:0}body.with-tabs .world-box{bottom:var(--tabbar-h)}.nest-hud{pointer-events:none;position:fixed;inset:0}body.with-tabs .nest-hud{bottom:var(--tabbar-h)}.nest-hud>*{pointer-events:auto}.hud-top{top:calc(8px + var(--safe-top));left:max(10px, var(--safe-left));right:max(10px, var(--safe-right));pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute}.hud-top>*{pointer-events:auto}.hud-icon{border:1px solid var(--line);cursor:pointer;background:#202b2cdb;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:grid}.hud-icon canvas,.hud-counter canvas,.talk-button canvas{width:28px;height:28px}.hud-counters{align-items:center;gap:6px;margin-left:auto;display:flex}.hud-counter{border:1px solid var(--line);height:42px;font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--cream);background:#202b2cdb;border-radius:10px;align-items:center;gap:4px;padding:0 10px 0 6px;font-size:16px;font-weight:700;display:flex}button.hud-counter{cursor:pointer}.place-pill{top:calc(60px + var(--safe-top));border:1px solid var(--line);white-space:nowrap;color:var(--cream);pointer-events:none;background:#202b2cdb;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.home-count:before{content:"";background:var(--mint);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.stick-row{left:max(14px, var(--safe-left));align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:14px}.joystick{border:1px solid var(--line);touch-action:none;background:#202b2cdb;border-radius:50%;width:104px;height:104px;position:relative;box-shadow:inset 0 0 0 3px #ffffff1a}.joystick i{border:1px solid var(--line);background:var(--cream);border-radius:50%;position:absolute;inset:30px}.talk-button{border:1px solid var(--line);color:var(--cream);cursor:pointer;background:#202b2cdb;border-radius:14px;justify-items:center;gap:2px;padding:6px 8px;font-size:12px;display:grid}.action-grid{right:max(12px, var(--safe-right));grid-template-columns:repeat(2,66px);gap:8px 10px;display:grid;position:absolute;bottom:14px}.round-button{color:var(--cream);text-shadow:0 1px 0 var(--ink);cursor:pointer;background:0 0;border:0;justify-items:center;gap:3px;padding:0;font-size:11px;font-weight:600;display:grid}.round-button canvas{box-sizing:content-box;border:1px solid var(--line);background:var(--raise);border-radius:50%;width:32px;height:32px;padding:12px}.round-button:active:not(:disabled) canvas{transform:translateY(2px)}.round-button:disabled{opacity:.45;cursor:default}.round-button.hot canvas{background:var(--gold);animation:1s steps(2,end) infinite hot}@keyframes hot{50%{box-shadow:0 0 0 4px #ffb54773}}@media (prefers-reduced-motion:reduce){.round-button.hot canvas{animation:none}}body.with-tabs .chat-bar{bottom:calc(var(--tabbar-h) + 128px)}.go-out{top:calc(100px + var(--safe-top));pointer-events:auto;position:absolute;left:50%;transform:translate(-50%)}.tab-bar{left:50%;bottom:max(10px, var(--safe-bottom));z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#202b2cdb;border-radius:12px;gap:4px;padding:4px;display:flex;position:fixed;transform:translate(-50%)}.tab-button{white-space:nowrap;min-width:76px;min-height:44px;color:var(--cream);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:600;display:flex}.tab-button canvas{width:20px;height:20px}.tab-button[aria-current=true]{color:var(--mint);background:#74b6aa2e}.page.paper{--night:#f6f1e5;--sheet:#fffaf0;--raise:#efe7d4;--line:#ddd3bd;--ink:#fffdf7;--cream:#28372f;--muted:#6b6a5e;--gold:#8a6526;--gold-deep:#6d4f1c;--rose:#b5523d;--rose-deep:#8c3a2a;--mint:#2f6f64;--on-accent:#f6f1e5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--cream);-webkit-user-select:text;user-select:text}.page.paper .chip.primary,.page.paper .chip[aria-pressed=true]{background:var(--cream);border-color:var(--cream);color:var(--night)}.page.paper .chip{background:var(--sheet)}.page{z-index:2;background:var(--night);-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.page-body{max-width:560px;padding:calc(18px + var(--safe-top)) 16px calc(28px + var(--tabbar-h));gap:12px;margin:0 auto;display:grid}.page-title{font-family:var(--title);color:var(--cream);margin:0;font-size:36px;font-weight:400;line-height:1}.page-heading{color:var(--cream);margin:10px 0 0;font-size:19px}.sheet-lead{color:var(--muted);margin:0}.game-card{border:1px solid var(--line);background:var(--ink);border-radius:10px;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.game-card.cleared{border-color:var(--mint)}.game-thumb{background:var(--raise);place-items:center;width:64px;height:52px;display:grid}.game-text{min-width:0;color:var(--muted);gap:2px;font-size:13px;display:grid}.game-text b{color:var(--cream);font-size:16px}.game-cards,.memory-slot,.letters{gap:12px;display:grid}.memory-slot:empty{display:none}.memory-day{color:var(--rose);font-size:12px}.pixel-photo{width:72px;height:60px;image-rendering:pixelated;box-shadow:0 0 0 2px var(--line);border:4px solid #fffaf0;border-bottom-width:10px}.album{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.album-photo{justify-items:center;gap:4px;margin:0;display:grid}.album-photo figcaption{color:var(--muted);text-align:center;font-size:11px}.diary{gap:8px;margin:0;padding:0;list-style:none;display:grid}.diary li{border-left:1px solid var(--line);gap:1px;padding-left:10px;font-size:14px;display:grid}.diary small{color:var(--muted);font-size:11px}.letter{border-color:var(--rose-deep)}.letter-text{color:#3a2a1c;white-space:pre-wrap;background:#fffaf0;margin:0;padding:10px 12px;font-size:15px;line-height:1.5}.letter-input{resize:vertical;min-height:92px;font:inherit}.occasion{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:8px 0;display:grid}.occasion:first-of-type{border-top:0}.occasion-text{color:var(--muted);gap:2px;font-size:12px;display:grid}.occasion-text b{color:var(--cream);font-size:15px}.occasion.soon .occasion-text span{color:var(--rose)}.gift-ideas{background:var(--raise);grid-column:1/-1;gap:4px;padding:8px 10px;font-size:13px;display:grid}.gift-ideas ul{margin:0;padding-left:18px}.game-card.waiting{border-color:var(--rose)}.duo-body{gap:12px;display:grid}.duo-question{font-family:var(--display);margin:0;font-size:21px;font-weight:800;line-height:1.2}.duo-options{gap:8px;display:grid}.duo-reveal{border:1px solid var(--line);margin:0;padding:8px 10px;font-weight:600}.duo-reveal.matched{border-color:var(--mint);color:var(--mint)}.duo-summary{gap:6px;margin:0;padding:0;list-style:none;display:grid}.duo-summary li{border:1px solid var(--line);color:var(--muted);gap:2px;padding:6px 10px;font-size:13px;display:grid}.duo-summary li b{color:var(--cream)}.duo-summary li.matched{border-color:var(--mint)}.story-body{gap:10px;display:grid}.story-prompt{border:1px solid var(--line);color:#3a2a1c;background:#fffaf0;border-radius:12px;margin:0;padding:8px 12px;font-weight:600}.story-lines{gap:6px;margin:0;padding:0;list-style:none;display:grid}.story-lines li{border-left:1px solid var(--line);gap:1px;padding-left:10px;display:grid}.story-lines li.mine{border-left-color:var(--gold)}.story-lines small,.told-story small{color:var(--muted);font-size:11px}.told-story{gap:4px;display:grid}.told-story+.told-story{border-top:1px solid var(--line);padding-top:8px}.told-story p{margin:0;line-height:1.5}.told-story .mine{color:var(--gold)}.chips.segmented{grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid}.chips.segmented .chip{justify-content:center}.us-map{border:1px solid var(--line);position:relative;overflow:hidden}.us-map-canvas{width:100%;height:auto;image-rendering:pixelated;display:block}.map-tag{border:1px solid var(--line);color:var(--muted);white-space:nowrap;pointer-events:none;background:#202b2cdb;justify-items:center;padding:1px 6px;font-size:11px;line-height:1.25;display:grid;position:absolute;transform:translate(-50%,-100%)}.map-tag b{color:var(--cream);font-size:12px}.map-tag.between{transform:translate(-50%,-50%)}.pins{gap:10px;display:grid}.pin-card{border:1px solid var(--line);background:var(--ink);grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}.pin-text{min-width:0;color:var(--muted);gap:2px;font-size:12px;display:grid}.pin-text b{color:var(--cream);font-size:15px}.pin-links{flex-wrap:wrap;gap:4px 14px;display:flex}.pin-preview{place-items:center;display:grid}.pin-preview .pixel-photo{width:144px;height:120px}.date-panel,.date-plan,.date-when{gap:12px;display:grid}.date-map{border:1px solid var(--line);background:var(--ink);border-radius:10px;height:240px}.date-map .maplibregl-ctrl-attrib{font-size:10px}.date-pin{border:1px solid var(--line);background:var(--rose);width:22px;height:22px;color:var(--ink);font-family:var(--display);border-radius:50%;align-self:center;place-items:center;font-size:13px;line-height:1;display:grid}.date-pin.meet{background:var(--gold)}.date-why{color:var(--rose);font-size:13px;font-style:italic}.date-stops{gap:10px;margin:0;padding:0;list-style:none;display:grid}.date-stop{border:1px solid var(--line);background:var(--ink);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.date-stop-head{align-items:baseline;gap:10px;display:flex}.date-time{font-family:var(--display);color:var(--gold);font-size:18px}.date-kind{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.date-place{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.date-photo{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:64px;height:64px}.date-place-text{gap:3px;min-width:0;display:grid}.date-place-text b{color:var(--cream);font-size:15px}.date-place-text .note{margin:0;font-size:12px}.date-actions{flex-wrap:wrap;gap:8px;display:flex}.date-actions a.chip{text-decoration:none}.sub-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:6px;margin:0 -16px;padding:0 16px 8px;display:flex;overflow-x:auto}.sub-tab{border:1px solid var(--line);background:var(--sheet);min-height:40px;color:var(--cream);cursor:pointer;border-radius:8px;flex:none;padding:6px 12px;font-size:14px}.sub-tab[aria-pressed=true]{border-color:var(--mint);background:color-mix(in srgb, var(--mint) 14%, var(--sheet));color:var(--mint);font-weight:700}.plans-panel,.meet-panel,.plan-list{gap:12px;display:grid}.tag{background:var(--raise);white-space:nowrap;color:var(--muted);border-radius:9px;padding:1px 8px;font-size:12px;font-weight:600}.tag.ok{background:color-mix(in srgb, var(--mint) 18%, var(--sheet));color:var(--mint)}.plan-clocks{font-variant-numeric:tabular-nums;margin:0;font-size:14px}.task.plan .note{margin:0}.meet-code{border:1px dashed var(--line);background:var(--sheet);border-radius:10px;justify-items:start;gap:6px;padding:12px;display:grid}.meet-digits{font-family:var(--title);letter-spacing:.18em;color:var(--gold);font-size:56px;font-weight:400;line-height:1}.meet-input{letter-spacing:.3em;text-align:center;font-size:22px}.meet-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.meet-line{border-left:2px solid var(--gold);justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.meet-line.call{border-left-color:var(--mint)}.tour{z-index:50;position:fixed;inset:0}.tour.dim{background:#080c10b8}.tour-ring{border:1px solid var(--gold);pointer-events:none;border-radius:16px;transition:left .25s,top .25s,width .25s,height .25s;animation:1.4s ease-in-out infinite tour-pulse;position:absolute;box-shadow:0 0 0 9999px #080c10b8}@keyframes tour-pulse{50%{border-color:var(--cream)}}.tour-bubble{border:1px solid var(--line);background:var(--sheet);width:min(320px,100vw - 24px);box-shadow:0 4px 0 var(--ink);gap:6px;padding:12px 14px;transition:left .25s,top .25s;display:grid;position:absolute}.tour-count{font-family:var(--display);color:var(--gold);font-size:12px}.tour-title{font-family:var(--display);color:var(--cream);font-size:19px}.tour-text{color:var(--cream);margin:0;font-size:14px;line-height:1.45}.tour-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@media (prefers-reduced-motion:reduce){.tour-ring,.tour-bubble{transition:none;animation:none}}.page-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.help-button{border:1px solid var(--line);background:var(--ink);width:34px;height:34px;font-family:var(--display);color:var(--gold);cursor:pointer;border-radius:50%;flex:none;font-size:16px}.help-button:active{transform:translateY(2px)}.outing{z-index:7;background:var(--night);touch-action:none;position:fixed;inset:0}.out-world{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.out-hud{pointer-events:none;font-size:14px;position:absolute;inset:0}.out-hud>*{pointer-events:auto}.out-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--cream);text-align:left;background:#202b2cdb;border-radius:10px;padding:8px 10px}.out-sec{border:1px solid var(--line);min-height:44px;font:inherit;color:var(--cream);cursor:pointer;touch-action:manipulation;background:#2b3836;border-radius:8px;padding:6px 12px}.out-sec.small{min-height:32px;padding:2px 10px;font-size:12px}.out-sec:disabled{opacity:.45;cursor:not-allowed}.out-sec[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}.out-tl{top:max(10px, var(--safe-top));left:max(10px, var(--safe-left));pointer-events:none;flex-direction:column;gap:6px;width:240px;display:flex;position:absolute}.out-tl>*{pointer-events:auto}.out-av{border:2px solid var(--c,var(--gold));width:28px;height:28px;color:var(--c,var(--gold));vertical-align:middle;background:#00000040;border-radius:50%;flex:none;place-items:center;margin-right:8px;font-size:13px;font-weight:700;display:inline-grid}.out-av.ghost{opacity:.55;border-style:dashed}.out-chip{border:1px solid var(--mint);color:var(--mint);border-radius:9px;margin-left:6px;padding:1px 7px;font-size:11px}.out-gauges{gap:3px;margin-top:6px;display:grid}.out-gauge{grid-template-columns:64px 1fr 26px;align-items:center;gap:6px;font-size:12px;display:grid}.out-gauge.hp span:first-child{color:var(--rose)}.out-bar{background:#3b4644;border-radius:4px;height:7px;overflow:hidden}.out-bar i{background:#9fcf86;height:100%;display:block}.out-bar i.low{background:var(--rose)}.out-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.out-bag{flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px;display:flex}.out-slot{width:34px;height:24px;color:var(--muted);border:1px dashed #56605c;border-radius:5px;place-items:center;font-size:11px;display:grid}.out-slot.food{color:#e6c05a;border:1px solid #e6c05a}.out-slot.cover{border:1px solid var(--cream);color:var(--cream)}.out-slot.mat{color:#c9a7f0;border:1px solid #c9a7f0}.out-slot.decor{border:1px solid var(--mint);color:var(--mint)}.out-where{color:var(--muted);margin-left:4px;font-size:12px}.out-partner{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.out-partner small,.out-child small{color:var(--muted)}.out-child{font:inherit;cursor:pointer;font-size:13px}.out-child-name{color:var(--gold)}.out-goal{top:max(10px, var(--safe-top));width:min(460px,100% - 560px);min-width:240px;min-height:44px;font:inherit;text-align:center;text-wrap:balance;cursor:pointer;flex-direction:column;align-items:center;gap:2px;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.out-phase{letter-spacing:.1em;text-transform:uppercase;color:var(--mint);font-size:11px}.out-tr{top:max(10px, var(--safe-top));right:max(10px, var(--safe-right));flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}.out-row{align-items:center;gap:6px;display:flex}.out-clock{align-items:center;gap:6px;min-height:44px;font-size:12px;display:flex}.out-lamp{background:#3b4b5a;border-radius:50%;width:10px;height:10px}.out-lamp.on{background:#ffe7a6;box-shadow:0 0 8px #ffe7a6}.out-mini{border:1px solid var(--line);width:160px;height:92px;image-rendering:pixelated;background:#000;border-radius:6px}.out-stick{left:max(18px, var(--safe-left));bottom:calc(max(18px, var(--safe-bottom)) + 52px);display:none;position:absolute}.out-bl{left:max(10px, var(--safe-left));bottom:max(10px, var(--safe-bottom));display:none;position:absolute}.outing.touch .out-stick,.outing.touch .out-bl{display:block}.out-br{right:max(10px, var(--safe-right));bottom:max(10px, var(--safe-bottom));flex-direction:column;align-items:flex-end;gap:6px;width:min(320px,100% - 150px);display:flex;position:absolute}.out-act{border:1px solid var(--gold);width:100%;min-height:58px;font:inherit;text-align:left;color:var(--cream);cursor:pointer;background:#d9b56d29;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;display:flex}.out-act b{font-size:15px}.out-act small,.out-more small{color:var(--muted);font-size:12px}.out-act:disabled{opacity:.7;cursor:default}.out-more{border:1px solid var(--line);background:#202b2ceb;border-radius:10px;flex-direction:column;gap:4px;width:100%;max-height:46vh;padding:6px;display:flex;overflow:auto}.out-more .out-sec{text-align:left;flex-direction:column;align-items:flex-start;gap:1px;display:flex}.out-notices{z-index:4;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(92vw,520px);display:flex;position:absolute;top:76px;left:50%;transform:translate(-50%)}.out-notice{border:1px solid var(--line);text-align:center;background:#202b2ceb;border-radius:8px;padding:8px 12px;font-size:13px;animation:.25s ease-out out-in}.out-notice.good{border-color:#9fcf86b3}.out-notice.bad{border-color:var(--rose)}.out-notice.memory{border-color:var(--gold);color:var(--gold)}@keyframes out-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.out-notice{animation:none}}.out-who{color:var(--gold);font-weight:700}.out-say{margin:0;font-size:16px;line-height:1.5}.out-keys{grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;display:grid}.out-keys kbd{font-family:var(--title);color:var(--gold);font-size:16px}.out-menu{gap:6px;display:grid}.out-quest ul,.out-facts,.out-memories{gap:4px;margin:4px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.out-quest-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.out-mode{letter-spacing:.08em;color:var(--mint);background:#2b3836;border-radius:4px;padding:2px 6px;font-size:10px}.out-quest li{color:var(--muted)}.out-quest li:before{content:"○ "}.out-quest li.done{color:#9fcf86}.out-quest li.done:before{content:"● "}.out-quest.complete .out-quest-title b{color:#9fcf86}.out-mapwrap{border:1px solid var(--line);background:#000;border-radius:8px;overflow-x:auto}.out-bigmap{width:100%;min-width:420px;image-rendering:pixelated;display:block}.out-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.out-legend i{vertical-align:-1px;width:9px;height:9px;margin-right:5px;display:inline-block}.out-legend .l0{background:#f2b045}.out-legend .l1{background:#f0c04a;border-radius:50%}.out-legend .l2{background:#6fb6e6;border-radius:50%}.out-legend .l3{background:#6cbcb0}.out-legend .l4{background:#c9a7f0;border-radius:50%}.out-memories li{border-left:2px solid var(--gold);padding-left:10px}.out-check{align-items:center;gap:8px;min-height:36px;font-size:14px;display:flex}.out-check input{width:20px;height:20px}.out-sum{gap:4px;display:grid}@media (width<=760px){.out-goal{top:max(8px, var(--safe-top));left:max(10px, var(--safe-left));text-align:left;align-items:flex-start;width:calc(100% - 150px);min-width:0;transform:none}.out-tl{top:calc(max(8px, var(--safe-top)) + var(--goal-h,56px) + 8px);width:min(210px,58%)}.out-child,.out-mini,.out-clock{display:none}.out-hud.home .out-child{display:block}.out-br{width:min(260px,100% - 150px)}.out-gauge{grid-template-columns:52px 1fr 24px}.out-notices{top:auto;bottom:calc(max(10px, var(--safe-bottom)) + 220px)}.out-partner{justify-content:space-between}}.out-live{gap:8px;display:grid}.out-wrap{flex-wrap:wrap}.out-market{gap:6px;display:grid}.out-mk{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.out-mk small{color:var(--muted);font-size:12px;display:block}.out-need{color:var(--muted);margin-top:2px;font-size:12px}.out-need .ok{color:#9fcf86}.out-need .no{color:var(--rose)}.out-live .chip:disabled{border-color:var(--line);color:var(--muted);opacity:.6;cursor:not-allowed;background:0 0}:root{--night:#18232d;--sheet:#1d2a2b;--raise:#2b3836;--line:#d9b56d42;--ink:#121b1f;--cream:#f4ead0;--muted:#b9b29c;--gold:#d9b56d;--gold-deep:#a8833f;--rose:#d87f69;--rose-deep:#9c4f3f;--mint:#74b6aa;--on-accent:#231a0b;--display:"Be Vietnam Pro", system-ui, sans-serif;--title:"VT323", "Courier New", monospace;--body:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--night);color:var(--cream);font-family:var(--body);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.5;overflow:hidden}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.stage{touch-action:none;background:#0c0814;position:fixed;inset:0}.world{image-rendering:pixelated;position:absolute;inset:0}.pixel-image{image-rendering:pixelated}.chip,.hud-button{border:1px solid var(--line);background:var(--ink);color:var(--cream);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:14px}.chip.primary,.hud-button.accent{border:1px solid var(--gold);background:var(--gold);color:var(--on-accent);font-weight:700}.chip.primary:active:not(:disabled),.hud-button:active{transform:translateY(2px)}.chip.primary:disabled{background:var(--raise);color:var(--muted);box-shadow:none;cursor:not-allowed}.chip.wide{width:100%;margin-top:6px;padding:11px 16px;font-size:15px}.chip.small{padding:3px 9px;font-size:13px}.chip.danger,.chip.primary.danger{background:var(--rose);color:var(--on-accent);border-color:var(--rose)}.chip[aria-pressed=true],.chip.active{background:var(--mint);border-color:var(--mint);color:var(--on-accent);font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.wide .chip{text-align:left;flex:100%}.swatch{border:1px solid var(--line);background:var(--swatch);cursor:pointer;width:36px;height:36px}.swatch[aria-pressed=true]{outline:3px solid var(--cream);outline-offset:1px}.link-button{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.hud-button{border:1px solid var(--line);background:var(--raise);border-radius:8px;padding:10px 16px;font-weight:700}.toast{z-index:10;left:50%;top:calc(46px + var(--safe-top));border:1px solid var(--line);width:max-content;max-width:calc(100% - 32px);color:var(--cream);text-align:center;opacity:0;pointer-events:none;background:#202b2ceb;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;transition:opacity .15s,transform .15s;position:fixed;transform:translate(-50%,-8px);box-shadow:0 10px 30px #00000059}.toast.show{opacity:1;transform:translate(-50%)}.chat-bar{left:50%;bottom:calc(70px + var(--safe-bottom));z-index:6;border:1px solid var(--line);background:var(--sheet);border-radius:12px;gap:6px;width:min(100% - 24px,460px);padding:8px;display:flex;position:fixed;transform:translate(-50%)}.chat-input{flex:1;min-width:0}.backdrop{z-index:8;background:#080c1099;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,460px);max-height:90vh;padding:16px max(16px, var(--safe-right)) calc(18px + var(--safe-bottom)) max(16px, var(--safe-left));border:1px solid var(--line);background:var(--sheet);-webkit-user-select:text;user-select:text;border-bottom:0;border-radius:14px 14px 0 0;gap:12px;display:grid;overflow-y:auto}@media (width>=720px){.backdrop{align-items:center}.sheet{border-bottom:1px solid var(--line);box-shadow:inset 0 0 0 2px var(--line), 6px 6px 0 #0006;border-radius:14px}}.sheet-title{font-family:var(--title);color:var(--gold);text-wrap:balance;margin:0;font-size:30px;font-weight:400;line-height:1}.sheet-text{color:var(--muted);margin:0}.sheet-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.field{gap:6px;display:grid}.field-label{color:var(--muted);margin:0;font-size:13px;font-weight:500}.danger-label{color:var(--rose);margin-top:8px}.field-hint{color:var(--muted);font-size:12px}.text-input{border:1px solid var(--line);background:var(--ink);border-radius:8px;width:100%;padding:9px 10px;font-size:16px}.form-error{border:1px solid var(--rose-deep);color:var(--rose);background:#ff7d9c1f;border-radius:8px;margin:0;padding:8px 10px;font-size:14px}.brand{font-family:var(--title);color:var(--gold);letter-spacing:.02em;margin:0;font-size:52px;font-weight:400;line-height:.95}.tagline{color:var(--muted);margin:-8px 0 0}.invite-line{border:1px solid var(--line);background:var(--raise);box-shadow:inset 3px 0 0 var(--gold);border-radius:8px;margin:0;padding:10px 12px}.invite-code{font-family:var(--display);letter-spacing:1px}.auth-body{gap:12px;display:grid}.auth-tabs{grid-template-columns:1fr 1fr;gap:6px;display:grid}.auth-tab{border:1px solid var(--line);background:var(--ink);color:var(--muted);cursor:pointer;border-radius:8px;padding:7px 0;font-weight:700}.auth-tab.active{border-color:var(--gold);background:var(--raise);color:var(--gold)}.auth-form{gap:12px;display:grid}.password-wrap{position:relative}.password-wrap .text-input{padding-right:64px}.password-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:13px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.roach-preview{border:1px solid var(--line);background:radial-gradient(circle at 50% 60%,#4a3524 0 38%,#18232d 39%);border-radius:10px;place-items:center;padding:10px;display:grid}.roach-body{gap:14px;display:grid}.option-row{border-top:1px solid var(--raise);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.option-label{min-width:96px;color:var(--muted);font-size:13px}.options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-name{font-family:var(--display);color:var(--gold);margin:0}.account-email{gap:8px;display:grid}.email-state{color:var(--muted);font-size:14px}.email-state.ok{color:var(--mint)}.inline-form{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.inline-form .chip.wide{width:auto;margin-top:0;padding:10px 14px}.install-steps{margin:0;padding-left:20px}.install-steps li+li{margin-top:4px}.days-body{gap:8px;display:grid}.days-count{font-family:var(--display);color:var(--gold);margin:0;font-size:26px}.days-since,.crop-meta{color:var(--muted);margin:0;font-size:13px}.special-day{border:1px solid var(--line);background:var(--ink);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:8px 10px;display:grid}.special-day.today{border-color:var(--rose)}.special-day.today .special-title{color:var(--rose)}.special-title{font-weight:700}.special-when{color:var(--muted);grid-column:1;font-size:13px}.special-day .chip{grid-area:1/2/span 2}.special-add{grid-template-columns:1fr auto;gap:8px;margin-top:4px;display:grid}.special-add .text-input:first-child{grid-column:1/-1}.special-add .chip.wide{width:auto;margin-top:0;padding:10px 14px}@media (prefers-reduced-motion:reduce){.toast{border-radius:8px;transition:none}}.question{font-size:24px}.hold-meter{gap:8px;display:grid}.hold{border:1px dashed var(--gold);width:100%;color:var(--gold);touch-action:none;-webkit-touch-callout:none;cursor:pointer;background:#ffb54714;border-radius:10px;padding:16px;font-size:16px;font-weight:700}.hold.is-holding{background:#ffb54740;border-style:solid}.hold:disabled{opacity:.45;cursor:default}.meter{border:1px solid var(--line);background:var(--ink);border-radius:7px;height:14px;position:relative;overflow:hidden}.meter i{background:repeating-linear-gradient(90deg, var(--gold) 0 6px, #ffc96e 6px 8px);position:absolute;inset:0 auto 0 0}.meter .half{background:var(--rose);width:2px;position:absolute;top:0;bottom:0;left:50%}.meta{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;font-size:12px;display:flex}.invite-card{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:10px;gap:6px;padding:12px;display:grid;box-shadow:4px 4px #00000059}.invite-card .from,.invite-card .url{color:#6d5a86;word-break:break-all;font-size:12px}.invite-card .msg{font-family:var(--display);font-size:19px;font-weight:800;line-height:1.2}.times{grid-template-columns:1fr 1fr;gap:8px;display:grid}.time{border:1px solid var(--line);background:var(--raise);border-radius:8px;padding:8px 10px;display:grid}.time b{font-family:var(--display);color:var(--cream);font-size:24px}.hatch-countdown{font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--gold);margin:0;font-size:20px}.time span{color:var(--muted);font-size:12px}.cert-image{image-rendering:auto;width:100%;height:auto}
