:root{color-scheme:dark;--ink:#252840;--cream:#fff2d5;--gold:#e5cb8f;--panel:rgba(32,35,62,.94)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#20233e;font-family:system-ui,sans-serif}body{touch-action:none}#game-shell{position:relative;width:100vw;height:100dvh;display:grid;place-items:center;overflow:hidden;background:#20233e}#game-root{position:relative;width:min(100vw,177.7778vh);height:min(100dvh,56.25vw);max-width:100%;max-height:100%;aspect-ratio:16/9;overflow:hidden;background:#313b54;box-shadow:0 0 40px rgba(0,0,0,.35)}#game-root canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}#boot-screen,#game-error{position:absolute;inset:0;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:linear-gradient(150deg,#626c8d,#d49a81 72%,#d7ae78);color:var(--cream)}#boot-screen h1,#game-error h1{font:700 clamp(25px,4vw,42px) Georgia,serif;text-shadow:3px 4px #343047;margin:8px}#boot-screen p,#game-error p{font:14px monospace;color:#fff4df}.boot-flower,.error-flower{font-size:50px;color:#ffdb68;text-shadow:0 0 14px #ffde78}.boot-track{width:min(300px,70%);height:8px;border-radius:12px;background:#3b3c58;overflow:hidden;margin-top:20px}.boot-track span{display:block;height:100%;width:60%;background:#f0cc7c;animation:loading 1.3s ease-in-out infinite alternate}@keyframes loading{to{width:98%}}.is-hidden{display:none!important}#orientation-hint{display:none;position:absolute;inset:0;z-index:5000;background:#20233e;color:var(--cream);font:16px monospace;align-items:center;justify-content:center;text-align:center;padding:30px}
.game-overlay{position:absolute;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(20,22,39,.66);color:var(--cream)}.game-overlay section{width:min(760px,96%);max-height:85%;overflow:auto;background:var(--panel);border:2px solid var(--gold);border-radius:12px;padding:22px 26px;box-shadow:0 12px 40px rgba(0,0,0,.3)}.game-overlay h1,.game-overlay h2{font:700 clamp(23px,4vw,34px) Georgia,serif;text-align:center;margin:0 0 12px;color:#fff0d5}.game-overlay p{text-align:center;line-height:1.65;font-size:var(--dialog-text-size,15px);color:#f8edd8;margin:10px auto 20px;max-width:680px}.game-overlay button{display:block;width:min(360px,100%);margin:10px auto;padding:12px 16px;border:1px solid var(--gold);border-radius:7px;background:#4c506e;color:white;font:600 14px monospace;cursor:pointer}.game-overlay button:disabled{opacity:.4;cursor:not-allowed}.game-overlay button:active,.fallback-controls button.active{background:#76628a}.dialog-options{display:grid;gap:8px;grid-template-columns:1fr}.collection-list{display:grid;gap:12px;max-height:54vh;overflow:auto}.collection-list b{display:block;color:#f5d995;font-size:14px}.collection-list small{display:block;color:#eee3d0;font-size:12px;line-height:1.5;margin:3px 0 8px}.fallback-controls{position:absolute;inset:0;z-index:800;pointer-events:none}.fallback-controls .pad,.fallback-controls .actions{position:absolute;bottom:16px;display:flex;gap:8px;pointer-events:auto}.fallback-controls .pad{left:16px}.fallback-controls .actions{right:16px}.fallback-controls button{min-width:54px;min-height:48px;padding:6px 9px;border:2px solid var(--gold);border-radius:9px;background:rgba(40,44,71,.88);color:#fff4d6;font:700 13px monospace;touch-action:none;user-select:none}.fallback-controls button.active{background:#76628a}#fallback-canvas{width:100%;height:100%;image-rendering:pixelated}
@media(orientation:portrait){#game-shell.game-running #orientation-hint{display:flex}}@media(max-width:600px){.game-overlay section{padding:16px}.game-overlay p{font-size:13px}.fallback-controls button{min-width:48px;min-height:44px;font-size:11px}.fallback-controls .pad{bottom:12px;left:8px}.fallback-controls .actions{bottom:12px;right:8px;gap:5px}}

.fallback-toolbar{position:absolute;top:10px;right:12px;z-index:850;display:flex;gap:6px;pointer-events:auto}.fallback-toolbar button{min-height:32px;padding:5px 10px;border:1px solid var(--gold);border-radius:6px;background:rgba(32,35,62,.9);color:#fff2d5;font:700 10px monospace;touch-action:manipulation}.fallback-toolbar button:active{background:#76628a}@media(max-width:600px){.fallback-toolbar{top:6px;right:6px;gap:4px}.fallback-toolbar button{min-height:28px;padding:3px 7px;font-size:9px}}

.fallback-controls.alternate .pad{left:auto;right:16px}.fallback-controls.alternate .actions{right:auto;left:16px}@media(max-width:600px){.fallback-controls.alternate .pad{right:8px}.fallback-controls.alternate .actions{left:8px}}
.collection-page{text-align:center;margin:4px 0 8px!important;font:11px monospace!important;color:#e8d8bd!important}.collection-pager{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.collection-pager button{width:100%;margin:0;min-height:38px;padding:8px;font-size:11px}.collection-pager button:disabled{opacity:.35;cursor:default}
