/* The playroom uses the same paper, sage, amber and ink as the desktop. */
.arcade,.world{--bg:#f4f1e5;--ink:#372f31;--muted:#6e6365;--line:#c9bfc1;background:#f4f1e5;color:var(--ink);border:1px solid #958589;border-radius:10px;box-shadow:0 15px 55px #33272a55,0 2px 0 #78676b;padding:0;overflow:auto;scrollbar-color:#b6aaac #eeecdc;scrollbar-width:thin;max-height:calc(100dvh - 40px)}
.arcade{width:min(890px,calc(100% - 40px))}.arcade[open]{display:block}.world{width:min(920px,calc(100% - 40px))}.arcade::backdrop,.world::backdrop{background:#3c313359;backdrop-filter:blur(3px)}.arcade h2,.world h2{color:var(--ink)}.arcade button,.world button{font-family:var(--sans);color:var(--ink)}.arcade button:focus-visible,.world button:focus-visible,.world canvas:focus-visible{outline:3px solid #bd893b;outline-offset:3px}.arcade-head,.world-top{background:#e1d9da;border-bottom:1px solid #c0b2b5;position:sticky;top:0;z-index:5;padding:10px 22px;min-height:53px}.arcade-head>.mono,.world-eyebrow{font:10px var(--mono);letter-spacing:.08em;color:#67585b}.arcade-head-actions,.world-top-actions{gap:14px;align-items:center}.arcade .sound-toggle,.world #worldSound{display:flex;align-items:center;gap:6px;min-height:31px;padding:4px 10px;border:1px solid #b1a2a5;border-radius:4px;background:#eee8e9;box-shadow:0 2px #baadb0;font:10px var(--mono);color:#5f5255}.sound-toggle span{margin:0;color:inherit}.sound-toggle:before,#worldSound:before{content:'♪';font:bold 16px var(--sans);color:#866a70}.sound-toggle[aria-pressed=false]:before,#worldSound[aria-pressed=false]:before{color:#9a9193;text-decoration:line-through}.arcade .arcade-close,.world .world-top-actions #closeWorld{width:28px;height:28px;border:1px solid #b6866d;border-radius:50%;font:22px/1 var(--sans);background:#e3b29b;color:#734c35;padding:0;box-shadow:inset 0 1px #ffe1c7,0 2px #cfa386}.arcade-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:15px 22px 0;border-right:0;border-bottom:1px solid #c1b3b6;background:#e8e0e2;align-self:initial}.arcade-tabs button{padding:11px 14px 12px;text-align:left;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border:1px solid #bbacaf;border-bottom:0;background:#ded3d6;border-radius:6px 6px 0 0;font:600 13px var(--sans);color:#66595b;position:relative;box-shadow:inset 0 1px #f2eeef}.arcade-tabs button span{font:9px var(--mono);color:#78686b}.arcade-tabs button[aria-pressed=true]{background:#f4f1e5;color:#3c3234;box-shadow:inset 0 3px #cda654}.arcade-tabs button[aria-pressed=true]:before{display:none}.arcade-tabs button[aria-pressed=true]:after{position:absolute;content:'';height:2px;bottom:-1px;left:0;right:0;background:#f4f1e5}.arcade-tabs button:hover{background:#e8dfe1}.arcade .game-view{display:grid;grid-template-columns:minmax(180px,1fr) minmax(270px,1.45fr);gap:14px 28px;padding:28px 34px 25px;align-items:start}.game-heading{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:start;gap:18px;margin:5px 0 0}.game-heading h2{font:750 42px/1.05 var(--sans);letter-spacing:-.055em;margin:5px 0 15px}.game-heading p{font:13px/1.7 var(--sans);max-width:220px;color:#6e6264}.game-era{display:inline-block;align-self:flex-start;padding:4px 10px;border:1px solid #c2b6b9;border-radius:4px;color:#7a6e71;font:10px var(--mono);background:#e7dfe0}.game-meta{grid-column:2;grid-row:1;width:100%;max-width:355px;margin:0 auto;font:10px var(--mono);background:#e5dcde;border:1px solid #c8bcbf;border-radius:4px;padding:8px 11px;color:#69585c}.game-meta b{color:#3d3133;font-weight:600}.canvas-wrap{grid-column:2;grid-row:2/6;width:100%;max-width:355px;margin:0 auto;background:#e3d8da;border:1px solid #968589;border-radius:7px;box-shadow:0 4px 0 #bcadb0,inset 0 0 0 4px #faf7e8;overflow:hidden;padding:6px;aspect-ratio:1}.canvas-wrap canvas{border-radius:3px}.board-overlay{inset:6px;background:#f2efdb4d;padding:20px;border-radius:3px}.overlay-card{padding:18px 23px;background:#fffaf0ed;border:1px solid #ac9fa1;border-radius:7px;box-shadow:4px 5px 0 #76656824;max-width:94%;transform:rotate(-2deg)}.overlay-card>span{font:750 26px/1.15 var(--sans);letter-spacing:-.04em;display:block;color:#3f3436}.overlay-card>p{font:10px/1.6 var(--mono);color:#78686c;margin:10px 0 0}.game-help{grid-column:1;grid-row:3;text-align:left;font-size:11px;line-height:1.8;margin:0;padding:14px 0;border-top:1px dashed #bfb0b3;color:#726668;max-width:none;min-height:55px}.game-controls{grid-column:1;grid-row:4;display:flex;justify-content:flex-start;gap:10px;margin:0;max-width:none}.arcade .game-primary,.arcade .game-secondary{min-height:38px;padding:9px 13px;font:550 11px/1.4 var(--sans);border:1px solid #ada0a2;border-radius:5px;background:#fffdf1;box-shadow:0 3px #beb2b5;color:#5c4f51;transition:transform .12s,box-shadow .12s;text-decoration:none}.arcade .game-primary{background:#efbd62;color:#514122;border-color:#b3914c;box-shadow:0 3px #be9b56,inset 0 1px #ffe5ae}.arcade .game-primary:hover{background:#f4c771}.arcade .game-secondary:hover:not(:disabled){background:#ece4e6;text-decoration:none}.arcade .game-primary:active,.arcade .game-secondary:active{transform:translateY(2px);box-shadow:0 1px #beb2b5}.game-secondary kbd{font-size:8px;color:#908487;margin-left:5px}.direction-pad{grid-column:1;grid-row:5;grid-template-columns:repeat(3,38px);grid-template-rows:38px 38px;gap:6px;margin:9px 0 0;justify-content:start}.direction-pad button,.world-pad button{border:1px solid #a8989c;background:#f2f0df;color:#594b4e;border-radius:5px;box-shadow:0 3px #b5a5a9,inset 0 1px #fffdf2;font:20px var(--sans)}.direction-pad button:active,.world-pad button:active{background:#e6c078;color:#514527;box-shadow:0 1px #baa16e;transform:translateY(2px)}.arcade-foot,.world-bottom{background:#e4dbdd;border-top:1px solid #c4b8bb;font:9px var(--mono);color:#7e7274;padding:12px 22px}.arcade-notice{margin:0 34px 25px;border:1px solid #bba6ab;background:#e4d9db;padding:13px 15px;border-radius:5px;font-size:12px;color:#5c494d}.arcade-notice button{border:0;text-decoration:underline;font:10px var(--sans);color:#60484d}.signal-board-wrap{width:100%;max-width:355px;padding:0 18px}.signal-board{gap:5px;padding:8px;background:#d6cacd;border:1px solid #a29094;border-radius:7px;box-shadow:0 4px #b9aaad}.signal-tile{border:1px solid #b1a4a6;border-radius:5px;background:#f5efda;box-shadow:0 2px #afa2a4,inset 0 1px #fffcec;overflow:hidden}.signal-tile:before,.signal-tile:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:#b0a2a5;pointer-events:none}.signal-tile:before{top:4px;left:4px}.signal-tile:after{bottom:4px;right:4px}.signal-tile .pipe{stroke:#908285;stroke-width:6;stroke-linecap:round}.signal-tile .joint{fill:#c0afb3;stroke:#7c686c;stroke-width:1}.signal-tile.connected{background:#f4e6ba;border-color:#c4a660}.signal-tile.connected .pipe{stroke:#b5893f;stroke-width:7}.signal-tile.connected .joint{fill:#edb853;stroke:#9a7739;stroke-width:1}.signal-tile .checkpoint-bg{fill:#f9f4dd;stroke:#887176;stroke-width:1.5}.signal-tile.connected .checkpoint-bg{fill:#f7d78f;stroke:#ad8540}.signal-tile text{fill:#5c474c;font:bold 13px var(--mono)}.signal-tile:hover{border-color:#917f83;transform:translateY(-1px)}.signal-tile:focus-visible{outline-color:#bc8b3a;outline-offset:1px}.signal-tile.hinted{outline:2px dashed #ad873d;outline-offset:1px}.signal-port{color:#927842;font-size:21px}.signal-port.exit{color:#aa9ea1}.signal-port.exit.connected{color:#b38b3d}.signal-legend{font:9px var(--mono);color:#736669;margin:15px auto;max-width:320px;padding:0 5px}.signal-legend>span:last-child{font-size:8px;color:#8e8285}.arcade #signalPuzzle{grid-column:2;grid-row:2/6}.arcade #signalPuzzle .game-controls{justify-content:center;gap:10px;margin-top:16px}.honesty-puzzle{grid-column:2;grid-row:2/6;padding:0}.honesty-puzzle h3{font:650 25px/1.2 var(--sans);margin:10px 0 20px;color:#4b3e40}.empty-context{background:#e8dfe1;border:1px solid #c5b8ba;border-left:3px solid #b7a0a5;border-radius:4px;padding:14px}.empty-context>.mono{font-size:9px}.empty-context p{font-size:12px;line-height:1.8;color:#6b5e61;margin:8px 0 0}.honesty-puzzle>p{font-size:12px;color:#716568;margin-top:20px}.honesty-choices button{font:12px/1.6 var(--sans);border:1px solid #b7a8ab;background:#faf8eb;border-radius:5px;box-shadow:0 2px #c6bbbd;padding:12px}.honesty-choices button:hover,.honesty-choices button.chosen{background:#e0d3d6;color:#5c484c;border-color:#a0888d}.arcade .journal-view{display:block;max-width:700px;margin:auto}.journal-view .game-heading{display:block}.journal-view .game-heading p{max-width:none}.journal-entry{padding:20px;border:1px solid #c9bec1;border-radius:5px;margin:0 0 15px;background:#fbf8ed;box-shadow:2px 3px #d3c8ca20;position:relative}.journal-entry.locked{background:#e8e1e2;border-style:dashed}.journal-entry h3{font:650 22px/1.25 var(--sans);margin:12px 0}.journal-entry p{font-size:13px;color:#685b5d;line-height:1.8}.journal-date{font:10px var(--mono);color:#786166}.journal-entry.locked .journal-date{color:#87767a}.journal-entry.locked p{font-size:12px}.journal-entry button{font:11px var(--sans);border:0;text-decoration:underline;color:#665156}.journal-finale{padding:24px;background:#e2d8da;border:1px solid #c0afb3;border-radius:6px}.journal-finale h3{font:750 32px/1.1 var(--sans);margin:10px 0 18px}.journal-finale p{font-size:14px;color:#675559}.journal-honesty{font:11px/1.7 var(--mono);color:#7c6e71;border-top:1px solid #c1b2b5}.journal-storage{font:10px/1.8 var(--mono);color:#7f7476}.world-top{padding:13px 24px;min-height:72px}.world-top h2{font:700 27px/1.05 var(--sans);margin:7px 0 0;letter-spacing:-.04em}.world-chapterbar{padding:0 24px;gap:20px;border-top:0;border-bottom:1px solid #c0b1b4;background:#e8e0e2;font-size:10px}.world-chapterbar nav{gap:10px}.world-chapterbar button{font:600 12px var(--sans);padding:11px 17px;margin:8px 0;border:1px solid #beafb2;border-radius:4px;background:#e1d6d9;color:#766266;box-shadow:0 2px #c2b5b7}.world-chapterbar button[aria-pressed=true]{background:#f3ce86;border-color:#bea066;color:#5d512f;box-shadow:0 2px #c6ab70}.world-chapterbar button[aria-pressed=true]:after{display:none}.world-chapterbar button.is-complete span{background:#795e64;border-radius:50%;width:5px;height:5px}.world-chapterbar>span{color:#786468;font:10px var(--mono)}.world-stage{max-width:700px;width:calc(100% - 48px);margin:20px auto 0;padding:7px;background:#d8cccf;border:1px solid #a39295;border-radius:7px;box-shadow:0 4px #bfafb3}.world-stage canvas{image-rendering:auto;background:#eee9d4;border-radius:3px;outline-offset:9px}.world-pause{inset:7px;background:#efe9d0e8;border-radius:3px;gap:20px;color:#594b4e}.world-pause>span{font:750 34px var(--sans);letter-spacing:-.04em}.world-pause button,.world-notes button,.world-interact{border:1px solid #aa9c9f;border-radius:5px;background:#faf8e9;box-shadow:0 3px #bcaeb1;padding:10px 14px;font:550 11px var(--sans);color:#5a4c4f;min-height:38px}.world-pause button,.world-interact{background:#edbe64;border-color:#b39654;box-shadow:0 3px #bf9f5b;color:#594a28}.world-caption{padding:17px 24px 0;gap:16px;align-items:center}.world-caption p{font:13px/1.6 var(--sans);color:#5a4d50}.world-caption>span{font:9px var(--mono);padding:5px 8px;background:#e5ddde;border:1px solid #c6bbbd;border-radius:4px;color:#7f7376}.world-controller{padding:14px 24px 0;gap:20px}.world-interact{font:550 12px var(--sans);gap:12px}.world-interact kbd{font:9px var(--mono);color:#826a3d;border:1px solid #c6a966;border-radius:3px;padding:1px 4px;background:#f6d899}.world-interact:hover{border-color:#a38346;background:#f2c975}.world-interact:disabled{color:#898775;opacity:.6}.world-quiet{font:11px var(--sans);color:#7d6d71}.world-pad{grid-template-columns:repeat(3,42px);grid-template-rows:42px 42px;gap:5px}.world-message{padding:13px 24px;min-height:43px;font:11px/1.6 var(--sans);color:#807376}.world-memory{margin:0 24px 20px;padding:19px;background:#fff9e8;border:1px solid #d7c798;box-shadow:3px 4px #a3929620;border-radius:4px;transform:rotate(-.4deg)}.world-memory>span{font:9px var(--mono);color:#9c8951}.world-memory p{font:13px/1.8 var(--sans);margin:10px 0 0;color:#625658}.world-notes{margin:0 24px 20px;font-size:11px;color:#78696c}.world-notes summary{font:11px var(--sans);border-bottom-color:#b6a8ab;color:#725a5f}.world-notes p{font-size:12px;line-height:1.8}.world-notes button{font:10px var(--sans);margin:0 8px 8px 0}.world-notes a{font-size:10px;color:#8c7d80}.world-bottom button{font:11px var(--sans);color:#6c565b;text-decoration:underline;text-underline-offset:4px}.world-bottom{padding:12px 24px}.rooms-preview{display:block;background:#e5e4ce;position:relative;align-self:stretch;overflow:hidden;min-height:225px}.rooms-preview canvas{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;display:block}.rooms-preview>span{position:absolute;left:14px;bottom:12px;background:#f7f2e2d9;border:1px solid #c1b3b6;border-radius:3px;font:8px var(--mono);color:#7f6d71;padding:3px 6px}.game-art{position:relative;overflow:hidden}.game-art canvas{display:block;width:100%;height:auto;align-self:start;position:absolute;top:-45%;left:0}.stack .game-art canvas{top:-105%}.signal .game-art canvas{top:-65%}
@media(max-width:700px){.arcade,.world{max-height:calc(100dvh - 16px);width:calc(100% - 16px);border-radius:8px}.arcade-head,.world-top{padding:10px 15px}.arcade-head{min-height:49px}.arcade-head>.mono{font-size:9px}.arcade-head-actions,.world-top-actions{gap:10px}.arcade .sound-toggle,.world #worldSound{padding:3px 7px;min-height:28px;font-size:9px}.arcade-tabs{gap:5px;padding:12px 12px 0}.arcade-tabs button{display:flex;flex-direction:column;gap:4px;padding:10px 5px;font-size:12px;align-items:center}.arcade-tabs button span{font-size:8px}.arcade .game-view{display:flex;flex-direction:column;padding:20px 20px 22px;gap:0}.game-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:start;width:100%;margin:0 0 18px;order:0;gap:13px}.game-heading h2{font-size:32px;margin:0 0 8px}.game-heading p{font-size:12px;line-height:1.6;max-width:270px}.game-era{font-size:9px;margin-top:2px;padding:3px 8px}.game-meta{order:1;max-width:340px;font-size:9px;padding:8px 10px;margin:0 auto 11px}.canvas-wrap{order:2;max-width:340px;flex-shrink:0;padding:5px}.board-overlay{inset:5px}.overlay-card{padding:15px 18px}.overlay-card>span{font-size:25px}.overlay-card p{font-size:9px}.game-controls{order:3;justify-content:center;width:100%;margin-top:17px;gap:10px}.arcade .game-primary,.arcade .game-secondary{min-height:42px;font-size:12px;padding:10px 15px}.game-help{order:5;border:0;text-align:center;line-height:1.7;width:100%;max-width:330px;margin:12px auto 0;padding:0;min-height:0;font-size:11px}.direction-pad{order:4;display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:42px 42px;margin:15px auto 0;gap:5px}.game-secondary kbd{display:none}.arcade #signalPuzzle{order:2;width:100%}.signal-board-wrap{max-width:340px;padding:0 15px}.signal-board{gap:4px;padding:6px}.signal-legend{max-width:310px;font-size:8px;margin:14px auto}.signal-legend>span:last-child{font-size:8px}.honesty-puzzle{order:2}.honesty-puzzle h3{font-size:25px}.arcade .journal-view{display:block}.arcade .journal-view .game-heading{display:block}.journal-entries{margin-top:20px}.journal-entry{padding:17px}.journal-entry h3{font-size:20px}.journal-entry p{font-size:12px}.journal-date{font-size:9px}.journal-entry.locked p{font-size:11px}.journal-storage{font-size:9px}.arcade-notice{margin:0 20px 20px;padding:13px;font-size:11px}.arcade-foot{padding:12px 15px;font-size:8px;gap:10px}.world-top h2{font-size:23px}.world-eyebrow{font-size:8px}.world-chapterbar{padding:0 15px;gap:12px}.world-chapterbar nav{gap:6px}.world-chapterbar button{font-size:10px;padding:10px 12px;margin:7px 0}.world-chapterbar>span{font-size:8px}.world-stage{width:calc(100% - 24px);padding:5px;margin-top:15px}.world-stage canvas{outline-offset:5px}.world-pause{inset:5px;gap:13px}.world-pause>span{font-size:26px}.world-pause button{font-size:11px;min-height:36px;padding:7px 13px}.world-caption{display:block;padding:16px 17px 0}.world-caption p{font-size:12px}.world-caption>span{display:inline-block;margin-top:9px;font-size:9px}.world .world-controller{padding:14px 17px 0;gap:20px;justify-content:center}.world-pad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:42px 42px;gap:5px}.world-interact{font-size:11px;max-width:160px;min-height:45px;padding:10px 13px}.world-quiet{display:none}.world-message{padding:14px 17px;min-height:0;font-size:11px}.world-memory{margin:2px 17px 20px;padding:16px}.world-memory p{font-size:12px;line-height:1.8}.world-notes{margin:0 17px 18px}.world-notes p{font-size:11px}.world-notes summary{font-size:11px}.world-notes button{min-height:38px;padding:9px 11px}.world-bottom{padding:13px 17px}.world-bottom>span{display:none}.world-bottom button{font-size:10px}.rooms-preview{min-height:205px}}
@media(max-width:600px){.game-art canvas{top:0;width:100%;height:100%;object-fit:cover}.stack .game-art canvas,.signal .game-art canvas{top:0}.game-card .game-art{min-height:90px}}
@media(prefers-reduced-motion:reduce){.arcade *,.world *{transition:none!important;animation:none!important}}
