*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#101c39;color:#f7f4ff;font-family:Arial,sans-serif}#game{position:fixed;inset:0;touch-action:none}canvas{display:block;margin:auto;position:absolute;inset:0;touch-action:none}#shell{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:#0b1536ed;overflow:auto}.card{width:min(410px,100%);padding:26px;border-radius:26px;border:1px solid #7386b8;background:linear-gradient(145deg,#263866,#172449);box-shadow:0 24px 80px #0006}small{font-size:11px;letter-spacing:3px;color:#b6c9ee}h1{font-size:34px;margin:14px 0}h2{font-size:26px}p,li{font-size:15px;line-height:1.6;color:#d8e2fa}button,.portal{min-height:48px;padding:12px 18px;border-radius:13px;border:1px solid #8095c6;background:#253963;color:#fff;font:700 16px Arial;cursor:pointer;text-decoration:none;display:block;text-align:center}.actions{display:grid;gap:10px;margin-top:22px}.primary{background:linear-gradient(#ffe09a,#edb852);color:#263253;border-color:#ffe4a8;box-shadow:0 3px 0 #996e30}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}progress{width:100%;accent-color:#f1c36c}#toolbar{position:fixed;z-index:5;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px}#toolbar button{font-size:13px;min-height:44px;background:#14264cef}[hidden]{display:none!important}.hint{border-left:3px solid #f2c570;padding-left:12px}ul{padding-left:20px}@media(max-height:550px){.card{padding:16px;width:min(650px,100%)}h1{font-size:26px;margin:8px 0}.actions{grid-template-columns:1fr 1fr;margin-top:12px}p,li{font-size:13px;margin:6px 0}}
/* Reserve a control strip; resizing never changes the 720×1280 world. */
#game{bottom:72px}#game canvas{left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;margin:0!important;transform:translate(-50%,-50%)}
#toolbar{width:max-content;max-width:calc(100% - 24px)}#toolbar button{white-space:nowrap}
@media(max-width:480px) and (max-height:650px){.card{padding:18px}h1{font-size:28px;margin:10px 0}p,li{font-size:14px;line-height:1.4}.actions{gap:8px;margin-top:14px}}
/* Palette and facets follow the approved DCBNest banner. */
html,body{background:#080e26;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
#shell{background:radial-gradient(ellipse at 10% 0%,#272565bb,transparent 60%),radial-gradient(ellipse at 95% 90%,#60256d66,transparent 55%),#080e26f5;align-items:safe center}
.card{width:min(460px,100%);background:linear-gradient(145deg,#17244a,#131531 75%);border-color:#7184c980;box-shadow:0 0 45px #5952ef20,0 24px 80px #0006;padding:22px}
.banner{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-top:12px;border:1px solid #53d7ff65}
h1{font-size:30px;letter-spacing:-1px;color:#9af0ff;margin:14px 0 8px}h2{color:#c3f7ff}small{color:#a7b7f6}p,li{color:#c9d5f0}
button,.portal{font-family:inherit;background:linear-gradient(145deg,#223255,#1a2141);border-color:#7c8ac376;border-radius:12px;transition:background .15s,border-color .15s}
button:hover,.portal:hover{border-color:#71e7ff;background:#293860}
.primary{background:linear-gradient(120deg,#49e4ff,#7396ff 70%,#ad78f9);border-color:#b2f5ff;color:#08152e;box-shadow:0 3px 0 #3b4a8f,0 0 20px #52cfff25}
.primary:hover{background:linear-gradient(120deg,#8cf1ff,#a2afff)}
.hint{border-color:#ad79ff}.actions{gap:8px;margin-top:16px}progress{accent-color:#4fe2ff}
#toolbar button{padding:10px 14px;border-color:#697faf;background:#14203c;font-family:inherit}
@media(max-height:760px){.banner{max-height:130px}h1{font-size:26px}.card{padding:16px}p{font-size:14px;line-height:1.4;margin:10px 0}.actions{margin-top:12px}}
@media(prefers-reduced-motion:reduce){button,.portal{transition:none}}
.advance-dialog{width:min(420px,calc(100% - 32px));padding:24px;color:#eaf7ff;background:#17213e;border:1px solid #ab87ef;border-radius:20px;box-shadow:0 20px 70px #0008}.advance-dialog::backdrop{background:#060b21cb}.advance-dialog h2{margin-top:0}.advance-dialog button[data-choice=advance]{border-color:#e69b9d;background:#482940}
