.intro{width:min(510px,48%);max-height:90%;overflow:auto;padding:0 12px 14px 0;z-index:4}.intro h1{font-size:clamp(57px,6.2vw,94px)}.intro .tagline{font-size:16px}.intro .setup{max-width:450px}.intro-links{display:flex;gap:16px;flex-wrap:wrap;font-size:10px}.intro details{background:#151710e8;padding:12px;margin:12px 0}.intro summary{font-size:12px;cursor:pointer}.intro .resume-copy{font-size:11px}.trait-field{display:grid;gap:5px;margin:12px 0}.trait-field label{font-size:11px}.trait-field p{margin:0;font-size:10px;color:#c5bfae}.trait-field select,.intro input{font:inherit;font-size:12px;background:#ede4d1;color:#161715;border:1px solid #8c8371;padding:10px;width:100%}.intro details .primary{font-size:11px;min-width:0}.intro .warning{font-size:11px;background:#20110feb;padding:12px}.mast{gap:14px}.mast p{letter-spacing:1px}#needs{display:flex;gap:5px 13px;flex-wrap:wrap;font-size:9px;margin-top:10px;border-top:1px solid #696e5e;padding-top:8px;max-width:400px}.objective{max-width:455px}.week-meters{position:absolute;top:23px;right:26px;background:#141711ed;width:244px;padding:14px;z-index:3}.week-meters summary{font-size:10px;cursor:pointer;line-height:1.6}.week-meters button{font-size:10px;margin-top:12px;width:100%}#stat-list{display:grid;gap:9px;font-size:10px;margin-top:14px}.stat{display:flex;justify-content:space-between;gap:8px}.stat.truth{color:#cfdda6}.walk-tools{display:flex;gap:8px;align-items:start}.walk-tools>button{font-size:10px;background:#13190fef}.conversation .choice-cost{font-size:9px;display:block;color:#575044;margin-top:5px}.conversation .reality{border-left:3px solid #6a815a;padding-left:12px;font-size:12px}.score-deltas{font-size:10px;display:flex;gap:8px;flex-wrap:wrap;color:#5a6550;margin:14px 0}.week-map{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.week-map button{text-align:left;min-height:84px}.week-map strong{font-family:Anton,Impact,sans-serif;font-size:24px;font-weight:400;display:block}.week-map small{display:block;font-size:10px;margin-top:6px;line-height:1.7}.week-map .current{background:#4c573c}.phone-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:18px 0}.phone-tabs button[aria-pressed=true]{background:#b42429;border-color:#b42429}.message{border-left:3px solid #8c8d72;padding:2px 13px;background:#e1d7c1;margin:12px 0}.message.you{border-color:#426689}.message p:first-child{font-weight:700}.perk-tree{margin:20px 0}.perk{border:1px solid #b4ac98;padding:12px;margin:10px 0}.perk h4{margin:0}.perk button{font-size:10px}.file-label input{width:100%;max-width:none}.ending details{margin:16px 0;padding-top:14px;border-top:1px solid #696858}.ending summary{font-size:12px;cursor:pointer}.ending .journal{padding-left:20px}.ending .journal p{font-size:11px}.ending .reveal-truth{color:#d4dfb0}.ending .menu-actions{margin:25px 0}.small{font-size:11px;line-height:1.7}.muted{color:#5d5b50}.conversation .line-title{color:#71634d;font-size:10px;margin:0 0 10px}.conversation .leave{float:none;margin:12px 0 0}.conversation{max-height:73%}body.talking .week-meters{display:none}#load-status:empty{display:none}.intro form{margin:0}.intro .seed-label{font-size:10px;display:block;margin:13px 0 4px}.world-name{font-size:17px}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ffce54;outline-offset:3px}
@media(max-width:900px){.week-meters{width:195px;right:15px}.objective{max-width:calc(100% - 245px)}}
@media(max-width:760px){.mast{gap:6px;padding:0 10px}.mast p{font-size:7px;letter-spacing:0}.mast button{padding:8px 6px;font-size:8px}.intro{width:90%;max-height:90%;padding-right:8px}.intro h1{font-size:59px;max-width:none}.intro .tagline{font-size:13px}.objective{left:14px;max-width:calc(100% - 28px);right:14px}.objective p{font-size:10px}#needs{font-size:8px;gap:5px 11px;margin-top:7px}.week-meters{top:156px;left:14px;right:auto;width:195px;padding:9px}.week-meters summary{font-size:9px}.week-meters[open]{z-index:5;max-height:50%;overflow:auto}.week-map{grid-template-columns:1fr 1fr;gap:7px}.week-map strong{font-size:21px}.week-map button{padding:10px}.conversation{max-height:65%;bottom:48px}.walk-tools{flex-direction:column;max-width:245px}.key-help{display:none}.walk-controls .primary{max-width:245px;white-space:normal}.ending .menu-actions button{font-size:10px}.ending{width:92%;left:4%}.intro .primary{min-width:0}.intro .resume-copy{font-size:10px}#notice{font-size:9px}.world-name{font-size:15px}}
.world-target{position:absolute;top:0;left:0;padding:5px 10px;max-width:210px;background:#ffde83;color:#231d0d;border:2px solid #403419;font-size:11px;font-weight:700;box-shadow:3px 3px 0 #0005;text-align:center}
/* Paper, plastic and ugly little victories. Keep the lab's red/ink/bone palette. */
#feedback{position:absolute;right:27px;top:95px;display:grid;gap:8px;z-index:8;pointer-events:none;max-width:240px}.gain{display:flex;align-items:center;gap:14px;background:#e9e0bd;color:#253321;border-left:5px solid #728754;padding:10px 16px;box-shadow:4px 4px 0 #10140e77;animation:reward-pop 4.2s both}.gain b{font:28px Anton,Impact,sans-serif;min-width:50px}.gain span{font-size:11px}.gain.loss{border-color:#cd4139;color:#6b2824}.errand-update{font-size:10px;background:#141711ed;color:#ffe0a0;padding:10px;animation:reward-pop 4.2s both}.changed{animation:need-flash .65s}.action-playing .conversation,.action-playing .walk-controls,.action-playing .week-meters,.action-playing .world-nameplates,.action-playing .touch-pad{visibility:hidden}.action-playing .mast button{pointer-events:none;opacity:.4}#action-caption{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);color:#f5e9c5;background:#10150eea;padding:14px 20px;text-align:center;font-size:12px;z-index:9}#action-caption:empty{display:none}.sleep-caption{position:absolute;right:34%;top:32%;font:42px Anton,Impact,sans-serif;letter-spacing:12px;color:#f3e4b7;text-shadow:3px 3px #1b2420;pointer-events:none;animation:snore 1.7s ease-in-out infinite}.sleep-caption[hidden]{display:none}
@keyframes reward-pop{0%{opacity:0;transform:translateX(30px) scale(.93)}10%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-15px)}}@keyframes need-flash{50%{background:#fff0a93d;box-shadow:0 0 0 6px #fff0a93d}}@keyframes snore{50%{transform:translateY(-12px);opacity:.6}}
.attachment{margin:16px 0;max-width:350px;background:#cabfa5;transform:rotate(-1deg);border:5px solid #e9dfc9;box-shadow:2px 4px 0 #0002}.attachment img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.attachment figcaption{font-size:9px;padding:8px;line-height:1.6}.phone-shell{width:min(430px,calc(100vw - 22px));height:min(830px,93dvh);max-height:93dvh;border:11px solid #252925;border-radius:35px;background:#eee5cd;padding:20px 16px 27px;box-shadow:inset 0 0 0 2px #6f6b58,7px 12px 0 #0005;overflow:auto;color:#272a25}.phone-shell::before{content:'';display:block;background:#252925;width:64px;height:7px;border-radius:8px;margin:-10px auto 18px}.phone-shell .dialog-head{border-bottom:2px solid #242a24;padding-bottom:8px;align-items:center}.phone-shell .dialog-head h2{font-size:27px}.phone-shell .dialog-head button{font-size:10px;padding:8px}.phone-status{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin:16px 0}.phone-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.phone-tabs button{font-size:9px;padding:10px 2px;border-color:#a59a7e;background:#ded4b8;color:#292c26;min-width:0}.phone-tabs button[aria-pressed=true]{color:#fff8df;background:#ad3029}.phone-shell .message{background:#fff8e4;border:0;border-radius:2px 15px 15px 15px;padding:9px 12px;margin:14px 20px 14px 0;font-size:11px;box-shadow:0 2px 0 #0002;line-height:1.65}.phone-shell .message.you{background:#d1dbc2;margin:14px 0 14px 20px;border-radius:15px 2px 15px 15px}.phone-shell .message p:first-child{font-size:10px;color:#776141;margin:2px 0 7px}.phone-shell .message p{margin:5px 0}.phone-shell .attachment{transform:none;border-width:3px;margin-bottom:2px}.phone-shell .primary{font-size:11px;min-width:0;width:100%}.phone-shell .muted,.empty-phone{font-size:11px;line-height:1.7}.phone-shell h3{font:24px Anton,Impact,sans-serif;margin:18px 0 8px}.quest-item{font-size:12px;border-left:4px solid #b4342b;padding:9px 12px;background:#e2d6b6;line-height:1.6}
.map-shell{width:min(890px,95vw);background:#e2d5ad;background-image:linear-gradient(90deg,transparent 32.8%,#70664e25 33%,#fff7df70 33.3%,transparent 33.8%,transparent 66%,#70664e25 66.3%,#fff7df70 66.6%,transparent 67%);color:#322d23;border:9px solid #c2b58d;box-shadow:8px 10px 0 #0005;padding:22px}.map-shell .dialog-head h2{font:36px Anton,Impact,sans-serif}.map-shell p{font-size:11px;line-height:1.7}.map-paper{position:relative;min-height:400px}.map-paper svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.week-map{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 18px;padding:24px 4px;margin:0;min-height:400px;align-items:start}.week-map button{border:2px solid #786d50;background:#f1e8c8;color:#352f23;min-height:108px;box-shadow:4px 5px 0 #5149343d;padding:12px;transform:rotate(-1deg)}.week-map button:nth-child(even){transform:rotate(1deg)}.week-map button:nth-child(n+5){align-self:end}.week-map strong{font-size:23px;line-height:1.15}.week-map small{font-size:9px}.week-map .current{background:#374d3a;color:#f5ebcc;border-color:#29392a}.week-map .current strong:before{content:'● ';font-size:15px}.week-map .next-location:after{content:'!';position:absolute;right:-8px;top:-13px;background:#b42b26;color:#fff0b7;font:27px Anton,Impact,sans-serif;width:29px;border-radius:50%;text-align:center;box-shadow:2px 2px #402e2450}.map-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;border-top:1px dashed #9b8e69;padding-top:13px}
@media(max-width:760px){#feedback{top:155px;right:14px;max-width:180px}.gain{padding:7px 12px;gap:8px}.gain b{font-size:23px}.gain span{font-size:9px}#action-caption{width:85%;bottom:13%;font-size:10px}.sleep-caption{top:42%;right:22%}.map-shell{padding:14px}.map-shell .dialog-head h2{font-size:27px}.map-paper{min-height:520px}.week-map{min-height:520px;grid-template-columns:repeat(2,1fr);gap:18px;padding:8px 0}.week-map button{min-height:98px;padding:10px}.week-map strong{font-size:21px}.week-map button:nth-child(n+5){align-self:stretch}.map-paper svg{opacity:.45}.phone-shell{padding:15px 12px;border-width:8px}.world-target{font-size:9px;max-width:150px}}
@media(prefers-reduced-motion:reduce){.gain,.errand-update{animation:none}.changed,.sleep-caption{animation:none}*{scroll-behavior:auto!important}}

.night-rest #world:after{content:"";position:absolute;inset:0;z-index:8;background:#0a0f11;pointer-events:none;animation:overnight 3.2s both}.night-rest .objective{visibility:hidden}@keyframes overnight{0%,22%{opacity:0}48%,70%{opacity:.96}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.night-rest #world:after{animation:none;opacity:0}}

.action-playing .ending{visibility:hidden}

.performance-meter{position:absolute;right:12px;bottom:12px;z-index:50;background:#111e;color:#e7f8ab;padding:7px 10px;font:11px monospace;pointer-events:none;max-width:90%;}.performance-meter[hidden]{display:none}

.incident-label{background:#decafa;color:#302039;border-color:#685175;max-width:220px;white-space:normal;text-align:center;font-size:11px}
/* Phone navigation stays inside the device, including choices and replies. */
.phone-shell{padding:0;overflow:hidden;height:min(830px,94dvh);width:min(430px,calc(100vw - 18px));max-height:94dvh;border:9px solid #252925;background:#e7e4da;border-radius:30px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 12px 35px #0007}
.phone-shell::before{display:none}.phone-shell .dialog-head{position:absolute;right:9px;top:7px;z-index:2;padding:0;border:0}.phone-shell .dialog-head h2{display:none}.phone-shell .dialog-head button{width:26px;height:26px;padding:0;border:0;background:transparent;color:#42473e;font:0/1 Arial}.phone-shell .dialog-head button::after{content:'×';font-size:22px}.phone-shell #menu-content{height:100%;overflow:hidden;padding:0}.phone-os{height:100%;display:flex;flex-direction:column;min-height:0}.phone-shell .phone-status{flex:none;display:flex;justify-content:space-between;gap:8px;margin:0;padding:14px 45px 10px 17px;font:10px Arial;letter-spacing:.3px;color:#565d50}.phone-appbar{display:flex;align-items:center;gap:12px;min-height:58px;border-bottom:1px solid #c6c8bb;padding:9px 16px;background:#f3f1e9}.phone-shell .phone-appbar h3{font:700 18px/1.2 Arial;margin:0}.phone-shell .phone-back{font:13px Arial;border:0;background:transparent;color:#8e232b;padding:8px 0}.phone-home-brand{display:grid;place-items:center;width:32px;height:32px;background:#ae282e;color:#fff9e9;font:24px Anton,Impact,sans-serif;transform:rotate(-4deg)}.phone-screen{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:16px;color:#252925;font:14px/1.5 Arial;scrollbar-width:thin}.phone-screen p{font-size:13px;line-height:1.5}.phone-screen h4{font:700 14px Arial;margin:0 0 7px}.phone-navigation{flex:none;display:flex;justify-content:space-between;border-top:1px solid #bfc3b6;background:#f3f1e9;padding:7px 16px}.phone-navigation button{font:12px Arial;background:transparent;border:0;color:#545b4e;padding:10px 6px}.phone-navigation .phone-home{color:#942831;font-weight:700}.phone-shell .phone-app-row,.phone-shell .contact-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid #d1d3c7;background:transparent;color:#252925;padding:13px 0;min-height:70px;font:14px Arial;box-shadow:none}.phone-app-row>span:nth-child(2),.contact-copy{min-width:0;flex:1}.phone-app-row strong,.contact-copy strong{display:block;font-size:14px}.phone-app-row small,.contact-copy small{display:block;margin-top:5px;color:#646959;font-size:12px;line-height:1.35}.contact-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-app-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#d5dacb;color:#3e513e;font-size:23px;flex:none}.phone-chevron{color:#858c7d;font-size:23px}.phone-avatar{width:42px;height:42px;background:var(--contact,#647255);border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:none;color:#fff}.phone-avatar img{width:100%;height:100%;object-fit:cover}.phone-shell .phone-notification{display:block;background:#fff9ed;border:1px solid #c6bd9d;border-left:4px solid #ac2930;color:#282d23;padding:14px;text-align:left;width:100%;font:700 13px/1.45 Arial;margin:0 0 12px}.phone-shell .text-bubble{background:#f9f8f2;padding:12px 14px;border-radius:3px 14px 14px 14px;margin:12px 25px 12px 0;box-shadow:0 1px 0 #0002}.phone-shell .text-bubble.outgoing{background:#cdd9c7;margin:12px 0 12px 25px;border-radius:14px 3px 14px 14px}.bubble-author{font-size:11px;font-weight:700;color:#677056}.text-bubble p{margin:5px 0 0}.phone-context{color:#656b5c;margin:14px 0}.phone-scene-title{font-weight:700}.phone-decision{background:#cdd9c7;padding:12px;border-radius:12px 3px 12px 12px;margin-left:25px}.phone-shell .narrator{margin:14px 0;padding:12px 0;border-top:1px solid #c7caba;font:italic 13px/1.5 Arial;background:none}.phone-shell .thought-label{display:block;font:700 10px Arial;text-transform:uppercase;color:#70684b;margin-bottom:6px}.phone-shell .phone-action{width:100%;margin:16px 0 4px;padding:13px;border:0;border-radius:7px;background:#a82930;color:#fff9e9;font:700 13px Arial}.phone-replies{border-top:1px solid #c7caba;margin-top:19px;padding-top:4px}.reply-heading{font-size:11px!important;color:#717664}.phone-shell .phone-reply{display:block;width:100%;padding:13px;text-align:left;border:1px solid #b7c2ad;border-radius:7px;background:#eff2e9;color:#2c3526;font:14px/1.5 Arial;margin:9px 0}.phone-reply small{display:block;font-size:10px;color:#69705f;margin-top:5px}.phone-shell button:disabled{opacity:.45}.phone-change{color:#546948;border-left:3px solid #7d9567;padding-left:9px}.phone-blocked{border:1px solid #ad817b;background:#ebdcd4;color:#7d3f38;padding:12px;border-radius:5px}.day-task,.todo-entry,.phone-note{background:#f5f4ec;padding:15px;border-radius:8px;margin-bottom:12px}.day-task small{color:#777254;text-transform:uppercase;font-size:10px}.day-task h4{margin-top:8px}.phone-shell .day-task button,.phone-shell .todo-map{font:12px Arial;background:transparent;border:0;color:#a12c32;padding:7px 0}.todo-entry{display:flex;align-items:start;gap:12px}.todo-entry p{margin:5px 0}.todo-entry small{font-size:11px;color:#69715e}.todo-entry.done{opacity:.7}.todo-entry.done h4:before{content:'✓ '}.wallet-label{margin:4px 0;color:#686d60}.phone-screen .wallet-balance{font:46px/1 Arial;margin:8px 0 22px}.wallet-entry{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #cbcebf;padding:13px 0;font-size:12px}.wallet-entry small{display:block;color:#767d6a;margin-top:5px}.wallet-entry strong{white-space:nowrap}.phone-note small{font-size:10px;color:#717761}.phone-shell .attachment{margin:10px 0 2px;transform:none;width:100%}.phone-shell .attachment figcaption{font:10px/1.4 Arial}
@media(max-width:480px){.phone-shell{height:96dvh;max-height:96dvh;border-width:6px;border-radius:22px}.phone-screen{padding:12px}.phone-appbar{min-height:52px}}


.graphics-details{font-size:11px;line-height:1.6;color:#565b4d;overflow-wrap:anywhere}

/* Painted arcade bezel; native buttons keep the game crisp at any 3D quality. */
.conversation.cabinet-panel{background:#1d2030;color:#f6dfb8;border:5px solid #70628c;border-top:8px solid #c55b42;width:min(540px,calc(100% - 28px));max-height:81%;box-shadow:7px 8px 0 #17121bc9;padding:22px}
.cabinet-panel h2{font-size:42px;letter-spacing:2px;color:#ebc374;margin:4px 0 12px}.cabinet-kicker{font-size:9px;letter-spacing:1px;color:#a69ebb}.cabinet-instructions{font-size:12px;line-height:1.6}.cabinet-score{padding:12px 0;border-top:1px solid #62616e;color:#a4d9c8;font-weight:700;font-size:13px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}.memory-tile{display:grid;place-items:center;min-height:79px;border:2px solid #ad9fc4;box-shadow:0 4px #090d15;background:#433458;color:#c3acd9;padding:7px;cursor:pointer}.memory-tile .tile-art{font:30px/1.2 Arial,sans-serif}.memory-tile .tile-name{font-size:10px;line-height:1.5}.memory-tile.revealed{background:#eedbad;color:#252533;border-color:#fff0ce}.memory-tile.matched{background:#365949;color:#d4ead4;border-color:#769482}.cabinet-panel .memory-tile:disabled{opacity:1}.cabinet-panel .leave{color:#e6d9bf;border-color:#918295;background:transparent}.cabinet-panel .smallprint,.cabinet-hint{font-size:10px;line-height:1.6;color:#c0b7c9}.cabinet-panel .primary{min-width:0}.memory-tile:focus-visible{outline:3px solid #ffe37f;outline-offset:2px}
@media(max-width:760px){.conversation.cabinet-panel{padding:15px;max-height:73%;bottom:42px}.cabinet-panel h2{font-size:32px}.memory-grid{gap:7px}.memory-tile{min-height:61px}.memory-tile .tile-art{font-size:25px}.cabinet-instructions{font-size:11px}}

.tile-art svg{width:34px;height:34px;display:block}.memory-tile .tile-art{min-height:36px;display:grid;place-items:center}
.conversation.action-cabinet{width:min(650px,calc(100% - 28px));left:50%;transform:translateX(-50%);bottom:20px;max-height:calc(100% - 38px);padding:16px 22px;border-top-color:#a7d3ba}
.action-cabinet h2{font-size:34px;margin:2px 0 6px}.action-cabinet .cabinet-kicker{margin:0 0 5px}.action-cabinet .cabinet-score{margin:4px 0 9px;padding:8px 0;font-size:12px}.action-cabinet .cabinet-instructions{font-size:10px;margin:7px 0}.action-cabinet .smallprint{margin-bottom:0;font-size:9px}.action-cabinet>button{margin:6px 8px 0 0;padding:9px 12px;font-size:10px}
.arcade-screen{position:relative;border:3px solid #090d18;box-shadow:0 0 0 1px #74677f;background:#121827}.arcade-canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;touch-action:none}.arcade-canvas:focus-visible{outline:3px solid #a5d6bf;outline-offset:2px}.arcade-pause{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:#121827ef}.arcade-pause[hidden]{display:none}.arcade-pause b{font:26px Anton,Impact,sans-serif;color:#edc880;letter-spacing:2px}.arcade-pause p{font-size:12px;max-width:290px;margin:0}.arcade-pause button{min-height:44px}.arcade-controls{display:flex;gap:9px}.arcade-controls button{flex:1;min-width:0;min-height:46px;padding:9px 5px;background:#304d4b;border:2px solid #9dccb6;color:#f6dfb8;font-size:11px;touch-action:none;user-select:none}.arcade-controls button:active{background:#577368}.arcade-controls .arcade-drop{background:#b54335;border-color:#f29d71}.arcade-status{font-size:10px;min-height:1.5em;color:#ebc374;margin:8px 0}.arcade-record{font-size:10px;padding:10px;background:#d9cda9;color:#363640;border-left:4px solid #726181}
@media(max-width:760px){.conversation.action-cabinet{padding:12px;max-height:calc(100% - 15px);bottom:8px}.action-cabinet h2{font-size:27px}.action-cabinet .cabinet-score{font-size:10px}.arcade-controls button{font-size:10px}.arcade-status{font-size:9px}.arcade-pause p{font-size:11px}}
.arcade-canvas{max-height:38dvh;object-fit:contain}.arcade-screen{background:#121827}.action-cabinet .leave{display:inline-block}.action-cabinet .arcade-status{line-height:1.5}
