:root{--ink:#e8f4ff;--dim:#e8f4ff99;--faint:#e8f4ff40;--glass:#06101ab8;--amber:#ffb35c;--amber-glow:#ffaa508c;--teal:#6fd6e0;--red:#ff5a5a;--serif:"Cormorant Garamond", Georgia, serif;--sans:Rajdhani, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{touch-action:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;font-family:var(--sans);color:var(--ink);letter-spacing:.04em;background:#000;margin:0;overflow:hidden}#stage{transform-origin:0 0;width:960px;height:540px;position:absolute;top:50%;left:50%}#canvas-host,#ui{position:absolute;inset:0}#canvas-host canvas{width:100%;height:100%;display:block}#ui{pointer-events:none}#ui>*{pointer-events:auto}#loading,#rotate{z-index:50;background:radial-gradient(at 50% 30%,#0d3346,#000 70%);flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}.loading-title{font-family:var(--serif);color:var(--ink);text-shadow:0 0 30px var(--amber-glow);font-size:58px;font-weight:500}.loading-sub{color:var(--dim);letter-spacing:.4em;text-transform:uppercase;margin-top:8px;font-size:14px}#rotate{display:none}@media (pointer:coarse) and (orientation:portrait){#rotate{z-index:60;display:flex}}.overlay{background:radial-gradient(#00080e73,#000c);justify-content:center;align-items:center;animation:.4s fadein;display:flex;position:absolute;inset:0}@keyframes fadein{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel{background:var(--glass);border:1px solid var(--faint);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:4px;max-height:500px;padding:22px 26px;animation:.45s ease-out rise;position:relative;overflow:auto;box-shadow:0 20px 60px #0009}.panel.halftone{background:var(--glass)}.title-text{font-family:var(--serif);color:var(--ink);letter-spacing:.06em;margin:0;font-weight:500;line-height:1}.btn{width:100%;font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink);border:1px solid var(--faint);cursor:pointer;text-align:left;background:#e8f4ff0a;border-radius:2px;margin:6px 0;padding:10px 18px;font-size:17px;font-weight:600;transition:background .2s,border-color .2s,color .2s,padding .2s;display:block}.btn:hover,.btn:focus-visible{border-color:var(--amber);color:#fff;box-shadow:inset 3px 0 0 var(--amber);background:#ffb35c1f;outline:none;padding-left:26px}.btn:active{background:#ffb35c40}.btn.orange{color:#ffe2bf;border-color:#ffb35c99}.btn.small{letter-spacing:.14em;padding:7px 12px;font-size:13px}.btn:disabled{opacity:.35;cursor:default}.row{align-items:center;gap:8px;display:flex}.row .btn{flex:1}input[type=text],textarea{font-family:var(--sans);border:1px solid var(--faint);color:var(--ink);text-transform:uppercase;letter-spacing:.35em;background:#0006;border-radius:2px;width:100%;padding:8px 12px;font-size:22px}textarea{letter-spacing:0;text-transform:none;resize:none;height:120px;font-size:11px}.title-screen{background:linear-gradient(90deg,#000000c7,#0003 55%,#0000);align-items:center;padding:0 64px;animation:1.2s fadein;display:flex;position:absolute;inset:0}.logo{font-family:var(--serif);color:#fff;text-shadow:0 0 40px var(--amber-glow);white-space:nowrap;margin-bottom:4px;font-size:64px;font-weight:500;line-height:.95}.logo small{font-family:var(--sans);letter-spacing:.9em;color:var(--amber);text-shadow:none;margin-top:10px;font-size:16px;font-weight:600;display:block}.tagline{color:var(--dim);font-family:var(--serif);letter-spacing:.02em;max-width:380px;margin:16px 0 22px;font-size:18px;font-style:italic}.menu{width:300px}.progress{color:var(--dim);letter-spacing:.25em;text-transform:uppercase;margin-top:12px;font-size:12px}.dives{gap:6px;margin-top:14px;display:flex}.dive{letter-spacing:.2em;text-transform:uppercase;color:var(--teal);border:1px solid #6fd6e099;padding:3px 8px;font-size:11px;font-weight:600}.dive.locked{border-color:var(--faint);color:var(--faint)}.controls-hint{color:var(--dim);letter-spacing:.15em;text-transform:uppercase;font-size:12px;position:absolute;bottom:18px;left:64px}kbd{font-family:var(--sans);color:var(--ink);border:1px solid var(--faint);border-radius:2px;margin:0 1px;padding:0 5px;font-size:11px;display:inline-block}.banner{pointer-events:none;animation:3.2s forwards caption;position:absolute;bottom:74px;left:60px}.banner .bubble{border-left:2px solid var(--amber);background:linear-gradient(90deg,#0000008c,#0000);padding:4px 0 4px 14px}.banner h2{font-family:var(--serif);letter-spacing:.04em;margin:0;font-size:30px;font-weight:600;line-height:1.05;color:#fff!important}.banner p{letter-spacing:.25em;text-transform:uppercase;color:var(--dim);margin:2px 0 0;font-size:13px}.banner ul.effects{color:#e8f4ff;text-shadow:0 1px 2px #000c;margin:6px 0 0;padding:0;font-size:15px;line-height:1.45;list-style:none}.banner ul.effects li:before{content:"▸ ";color:var(--amber)}@keyframes caption{0%{opacity:0;transform:translate(-12px)}10%{opacity:1;transform:none}85%{opacity:1}to{opacity:0}}.floor-title{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;animation:3.4s forwards floorfade;display:flex;position:absolute;inset:0}.floor-title .depth{letter-spacing:.6em;color:var(--amber);text-transform:uppercase;font-size:13px}.floor-title .name{font-family:var(--serif);color:#fff;text-shadow:0 2px 30px #000c;letter-spacing:.05em;font-size:64px;font-weight:500;text-transform:none!important}.floor-title .sub{color:var(--dim);font-family:var(--serif);font-size:18px;font-style:italic}@keyframes floorfade{0%{opacity:0;letter-spacing:.2em}20%{opacity:1}80%{opacity:1}to{opacity:0}}.toasts{pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:80px;right:24px}.toast{background:var(--glass);border:1px solid var(--faint);border-left:2px solid var(--amber);min-width:230px;padding:8px 14px;animation:4.5s forwards toastin}.toast b{font-family:var(--serif);font-size:19px;font-weight:600;display:block}.toast span{letter-spacing:.15em;text-transform:uppercase;color:var(--dim);font-size:12px}@keyframes toastin{0%{opacity:0;transform:translate(20px)}10%{opacity:1;transform:none}88%{opacity:1}to{opacity:0}}.cover{pointer-events:none;justify-content:center;align-items:center;animation:.3s fadein;display:flex;position:absolute;inset:0}.cover:before,.cover:after{content:"";background:#000;height:70px;animation:.5s ease-out bars;position:absolute;left:0;right:0}.cover:before{top:0}.cover:after{bottom:0}@keyframes bars{0%{height:0}}.cover .sheet{text-align:center;animation:.8s ease-out rise;position:relative}.cover .issue{letter-spacing:.6em;color:var(--amber);text-transform:uppercase;font-size:12px}.cover .boss-name{font-family:var(--serif);color:#fff;text-shadow:0 2px 30px #000000e6;margin:6px 0;font-size:60px;font-weight:500;text-transform:none!important}.cover .boss-tag{font-family:var(--serif);color:var(--dim);font-size:18px;font-style:italic}.cover .vs,.cover img{display:none}.screen-title{text-align:left;margin-bottom:12px;font-size:44px}.stat-grid{grid-template-columns:auto auto;gap:4px 24px;margin:12px 0;font-size:15px;display:grid}.stat-grid b{letter-spacing:.3em;color:var(--dim);font-size:12px;font-weight:600}.itemstrip{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.itemstrip img{border:1px solid var(--faint);background:#ffffff0f;width:32px;height:32px}.seedline{letter-spacing:.35em;color:#ffe2bf;cursor:copy;border:1px solid #ffb35c99;padding:2px 12px;font-size:20px;font-weight:600;display:inline-block}.muted{color:var(--dim);font-size:13px}.tabs{gap:4px;margin:10px 0;display:flex}.tab{letter-spacing:.25em;text-transform:uppercase;border-bottom:1px solid var(--faint);cursor:pointer;color:var(--dim);padding:5px 12px;font-size:13px;font-weight:600}.tab.on{color:#fff;border-bottom:2px solid var(--amber)}.dex{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.dex .card{border:1px solid var(--faint);background:#ffffff08;align-items:flex-start;gap:10px;padding:8px;font-size:12px;display:flex}.dex .card img{flex:none;width:44px;height:44px}.dex .card b{font-family:var(--serif);font-size:17px;font-weight:600;display:block}.dex .card.unknown{opacity:.4;filter:grayscale()}.dex .card.done{border-color:#ffb35c99}.toggle{letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:18px;margin:10px 0;font-size:14px;display:flex}.toggle input[type=checkbox],.toggle input[type=range]{accent-color:var(--amber)}.toggle input[type=checkbox]{width:20px;height:20px}.toggle select{font-family:var(--sans);color:var(--ink);border:1px solid var(--faint);background:#0b1520;font-size:14px}.comic-strip{gap:10px;display:flex}.comic-panel{border:1px solid var(--faint);opacity:0;width:260px;height:180px;animation:.8s ease-out forwards rise;position:relative;overflow:hidden}.comic-panel .cap{font-family:var(--serif);color:#fff;text-shadow:0 1px 8px #000;font-size:16px;font-style:italic;position:absolute;bottom:12px;left:12px;right:12px}.comic-panel .sfx{letter-spacing:.5em;color:var(--amber);font-size:11px;position:absolute;top:10px;left:12px}.help{color:var(--dim);font-size:15px;line-height:1.7}.help b{color:var(--ink)}#touch{z-index:20;pointer-events:none;position:fixed;inset:0}#touch .tzone{pointer-events:auto;touch-action:none;width:50%;position:absolute;top:0;bottom:0}#touch .tzone.left{left:0}#touch .tzone.right{right:0}#touch .tstick{pointer-events:none;background:#e8f4ff0f;border:1px solid #e8f4ff66;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;display:none;position:fixed}#touch .tstick.active{display:block}#touch .tstick .tknob{border:1px solid #fff9;border-radius:50%;width:52px;height:52px;position:absolute;top:34px;left:34px}#touch .tstick.move .tknob{background:radial-gradient(circle,#ffb35cb3,#ffb35c26)}#touch .tstick.aim .tknob{background:radial-gradient(circle,#6fd6e0b3,#6fd6e026)}#touch .tbtns{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex;position:absolute}#touch .tbtn{pointer-events:auto;touch-action:none;width:54px;height:54px;color:var(--ink);background:#06101a73;border:1px solid #e8f4ff73;border-radius:50%;padding:0;font-size:22px;line-height:1}#touch .tbtn.bomb{width:64px;height:64px}#touch .tbtn.on{background:#ffb35c59}#touch .tbtn.pause,#touch .tbtn.map{top:max(52px, env(safe-area-inset-top));width:40px;height:40px;font-size:14px;position:absolute}#touch .tbtn.pause{margin-left:-46px;left:50%}#touch .tbtn.map{margin-left:6px;left:50%}.dex .card.picked{background:#ffb3472e;border-color:#ffb347;box-shadow:inset 0 0 0 2px #ffb3478c}.dex .card .fx{color:#bfe6ff;font-size:12px}
