:root{color-scheme:dark;--gold:#f3ca80;--mint:#78eee0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0,#22263e,transparent 60%),#080e19;color:#e8eff8;font:15px/1.9 Tahoma,sans-serif}header,main,nav,.notice{max-width:1180px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;gap:15px;align-items:center}a{color:var(--gold)}header a{text-decoration:none;font-weight:bold}.notice{background:#43351b66;border:1px solid #91784c;border-radius:12px;font-size:13px}nav{display:flex;gap:12px;overflow:auto;position:sticky;top:0;background:#080e19ed;z-index:3}nav a{white-space:nowrap;text-decoration:none;padding:8px 15px;border:1px solid #3b4861;border-radius:24px}nav a[aria-current=page]{background:var(--gold);color:#172131}h1{font-size:clamp(27px,5vw,44px);margin:10px 0}h2{font-size:22px}.muted,small{color:#a7b8d0}.cards,.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.stats{margin:20px 0}article,section,details{border:1px solid #33435d;background:linear-gradient(135deg,#18243a,#0e1728);border-radius:20px;padding:24px;margin-bottom:16px;overflow-wrap:anywhere}article p{font-size:14px}.symbol{font-size:50px}.price{font-size:34px!important;color:var(--gold)}button{font:inherit;background:linear-gradient(120deg,#ffe2a5,#c99b50);color:#171d2c;border:0;border-radius:12px;padding:11px 22px;cursor:pointer;font-weight:bold}button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font:inherit;color:inherit;border:1px solid #53627c;border-radius:9px;background:#0a1221;padding:10px;max-width:100%}input:not([type=checkbox]),textarea{width:100%}input[type=checkbox]{width:auto}label{display:block;margin:12px 0}form{max-width:680px}textarea{min-height:90px}summary{cursor:pointer;color:var(--gold);font-weight:bold}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:right;border-bottom:1px solid #33435d}code{direction:ltr;unicode-bidi:isolate;display:inline-block;color:var(--mint)}#message{position:sticky;bottom:15px;margin:15px auto;max-width:900px;background:#173e42;border:1px solid #548b82;border-radius:12px;padding:14px;z-index:5}#message:empty{display:none}.game-top,.controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:center}.game-top label{display:flex;gap:10px;align-items:center}.game-scene{max-width:720px;margin:20px auto;border:1px solid #64778c;border-radius:30px;padding:9px;background:linear-gradient(130deg,#364758,#0b1324);box-shadow:0 20px 80px #0008,0 0 60px #53cab31a}.game-scene svg{display:block;width:100%;touch-action:manipulation}.beam{fill:none;stroke:#8ffff0;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:2000;animation:reveal 1s ease-out}.beam.glow{stroke-width:12;filter:url(#bloom);opacity:.7}.core{filter:drop-shadow(0 0 10px #bdf5ed);animation:pulse 3s infinite alternate}[data-mirror]{cursor:pointer}[data-mirror]:focus{outline:none}[data-mirror]:focus circle{stroke:#fff;stroke-width:5}.low .glow{display:none}.low .core{filter:none;animation:none}@keyframes reveal{from{stroke-dashoffset:2000}to{stroke-dashoffset:0}}@keyframes pulse{to{opacity:.65}}@media(max-width:600px){main,header,nav,.notice{padding:14px}.controls{gap:8px}.controls button{padding:9px 12px;font-size:13px}header span{display:none}article,section,details{padding:17px}.cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Polished SVG observatory and compact admin integration. */
.game-scene{position:relative;border:1px solid #bca16c;padding:12px;background:linear-gradient(145deg,#71808e,#172638 18%,#080f1d 70%,#715932);box-shadow:0 24px 80px #0009,inset 0 0 0 3px #ffffff08,0 0 65px #60cfc31c}
.game-top{padding:10px 20px;background:#18263899;border:1px solid #41536b;border-radius:20px;max-width:720px;margin:auto}
.controls{max-width:720px;margin:18px auto}.controls button{min-height:48px;box-shadow:0 4px 0 #5b492c,0 8px 20px #0005}.controls button:active{transform:translateY(2px);box-shadow:0 2px 0 #5b492c}
#game-status{text-align:center;min-height:3em;color:#a9eee5} [data-mirror]:hover circle{stroke:#fff0bc} [data-mirror]{touch-action:manipulation}button:focus-visible,select:focus-visible{outline:3px solid #9ff7ee;outline-offset:4px}
.embedded-admin header,.embedded-admin nav,.embedded-admin>.notice{display:none}.embedded-admin main{padding:12px}.embedded-admin h1{font-size:25px}
@media(max-width:600px){.game-scene{padding:5px;border-radius:20px}.controls{display:grid;grid-template-columns:1fr 1fr}.game-top{gap:8px;font-size:13px}.game-top select{padding:6px}}

/* Direct-touch mirror controls; reflections use shared vector gradients. */
#fire{background:linear-gradient(135deg,#b3fff0,#4ac5b5);color:#072a2c;box-shadow:0 4px 0 #225f59,0 8px 24px #4bcbb52b;font-size:17px}
#reset,#hint{background:linear-gradient(135deg,#26374d,#172335);color:#dae7f5;border:1px solid #51627b;box-shadow:0 4px 0 #080f1b}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.controls button{min-height:52px;padding:12px 16px}.game-top>span{padding:7px 14px;border-radius:12px;background:#07101e88;font-variant-numeric:tabular-nums}
[data-mirror]{-webkit-tap-highlight-color:transparent}[data-mirror]:hover>circle:nth-child(2){stroke:#fff0bc;stroke-width:3}[data-mirror]:focus-visible>circle:nth-child(2){stroke:#adfff3;stroke-width:3}
.low .beam{animation:none}.low .core{opacity:1}
@media(max-width:600px){.controls button{font-size:12px;padding:10px 6px;min-height:50px}#fire{font-size:15px}.game-top>span{padding:5px 9px}}

/* Observatory HUD and bounded, CSS-only cosmic victory celebration. */
.cosmic-hud{max-width:720px;margin:24px auto 0;border:1px solid #a78a5b77;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 0 0,#5a427b66,transparent 65%),linear-gradient(125deg,#1b2940,#0c1526);box-shadow:0 14px 40px #0005,inset 0 1px #fff2}
.hud-brand{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid #c4ad791f}.hud-emblem{font-size:36px;color:#ffe0a0;text-shadow:0 0 20px #f3c98088}.hud-brand strong,.hud-brand small{display:block}.hud-brand strong{font-size:17px;color:#f6e2b9}.hud-brand small{font-size:11px;letter-spacing:1px;color:#b5aecf}.hud-live{margin-inline-start:auto;color:#8fddcf;font-size:11px}
.cosmic-hud .game-top{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 14px;gap:0;background:none;border:0;margin:0;border-radius:0}.hud-cell{display:flex;align-items:center;justify-content:center;gap:11px;margin:0!important;min-width:0}.hud-cell+.hud-cell{border-inline-start:1px solid #b2c0e526}.hud-icon{font-size:29px;color:#e6c28a}.hud-cell small{display:block;font-size:11px;color:#9eabc2}.hud-cell strong{font-size:23px;font-weight:normal;color:#ffebc2;white-space:nowrap}.hud-cell select{border:0;background:transparent;color:#ffebc2;font-size:18px;padding:0;cursor:pointer}.hud-cell select option{background:#142239}.hud-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 22px;background:#050c1844;border-top:1px solid #ffffff09}.hud-footer label{display:flex;align-items:center;gap:8px;font-size:11px;margin:0;color:#aab6ca}.hud-footer select{padding:3px 7px;font-size:11px;background:#101c30}.orbit-progress{display:flex;gap:7px;flex:1;max-width:260px}.orbit-progress i{height:4px;flex:1;border-radius:8px;background:#59637a55}.orbit-progress .lit{background:linear-gradient(90deg,#b59056,#ffe4aa);box-shadow:0 0 9px #efc97a55}
.victory-dialog{border:1px solid #d5b57a88;border-radius:30px;padding:0;color:#eee8fb;background:#0d1428;width:min(540px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 30px 120px #000b,0 0 65px #ae83df22}.victory-dialog::backdrop{background:#030713cc;backdrop-filter:blur(7px)}.victory-card{text-align:center;position:relative;padding:20px 30px 28px;background:radial-gradient(ellipse at 50% 15%,#69508a44,transparent 65%)}.victory-close{position:absolute;inset-inline-end:14px;top:14px;z-index:1;padding:0;width:36px;height:36px;border:1px solid #ffffff25;border-radius:50%;background:#19243a;color:#cfd6e9;font-size:23px}.cosmic-celebration{margin:-8px auto -8px;max-width:400px;pointer-events:none}.cosmic-celebration svg{display:block;width:100%}.victory-eyebrow{font-size:12px;color:#e0c38c;border:1px solid #d1af7644;border-radius:20px;padding:5px 18px;background:#dec48b0a}.victory-card h2{font-size:clamp(21px,5vw,28px);margin:17px 0 8px;color:#fff0ca}.victory-card p{color:#b9c2d8;font-size:13px}.victory-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #b7a1ce33;border-radius:18px;padding:16px 4px;margin:22px 0;background:#060d1c66}.victory-stats>div+div{border-inline-start:1px solid #b7a1ce25}.victory-stats strong,.victory-stats small{display:block}.victory-stats strong{font-size:26px;color:#f7dc9c}.victory-stats small{font-size:10px}.victory-actions{display:grid;gap:10px;margin:20px 0 14px}.victory-actions button{min-height:48px}#victory-next{background:linear-gradient(110deg,#fce4b3,#d5ae69);box-shadow:0 5px 25px #edc67b22}#victory-replay{background:#18243c;color:#c7d4eb;border:1px solid #5f6c8455}.victory-card>small{font-size:10px}.victory-note{font-size:11px!important}.victory-spark{animation:cosmic-spark 2.4s ease-in-out var(--delay) 3 both;transform-box:fill-box;transform-origin:center}.victory-star{transform-origin:200px 115px;animation:cosmic-arrival 1s ease-out both}.victory-orbit{transform-origin:200px 115px;animation:cosmic-orbit 9s ease-out 1}
@keyframes cosmic-spark{0%,100%{opacity:.3;transform:scale(.6)}50%{opacity:1;transform:scale(1.7)}}@keyframes cosmic-arrival{from{opacity:0;transform:scale(.35) rotate(-35deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes cosmic-orbit{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}
@media(max-width:600px){.hud-brand{padding:12px 14px}.hud-live{font-size:9px}.hud-brand strong{font-size:14px}.cosmic-hud .game-top{padding:15px 5px}.hud-cell{gap:5px}.hud-icon{font-size:20px}.hud-cell strong{font-size:18px}.hud-cell select{font-size:14px}.hud-cell small{font-size:9px}.hud-footer{padding:10px 14px;gap:12px}.victory-card{padding:16px 18px 22px}.cosmic-celebration{max-width:300px}}
@media(prefers-reduced-motion:reduce){.victory-spark,.victory-star,.victory-orbit{animation:none!important}}

/* Lightweight framed instructions: only decorative transforms animate. */
.light-intro,.light-guidance,.light-rules{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:20px;max-width:720px;margin:18px auto;padding:24px;border:1px solid #cfac6955;border-radius:24px;background:radial-gradient(ellipse at 0 0,#75549833,transparent 65%),linear-gradient(130deg,#1a263c,#0d1627);box-shadow:0 12px 32px #0003,inset 0 1px #ffffff0d}
.light-intro:before,.light-guidance:before,.light-rules:before{content:'';position:absolute;z-index:-1;inset:-60% -30%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#e9c98709 49%,#bcabff0b 51%,transparent 58%);animation:light-card-drift 12s ease-in-out infinite alternate}
.light-intro:after{content:'';border:1px solid #e6ca8e18;border-radius:50%;width:140px;height:140px;position:absolute;inset-inline-end:20px;top:-25px;font-size:160px;line-height:1;color:#e6ca8e08;pointer-events:none;transform:rotate(-15deg)}
.intro-sigil,.guidance-icon{flex-shrink:0;display:grid;place-items:center;width:62px;height:62px;border:1px solid #dbbb7944;border-radius:20px;background:linear-gradient(140deg,#d4b47518,#8175c40c);color:#f4dca6;font-size:40px;box-shadow:inset 0 0 18px #e7c7800a}
.intro-sigil{animation:light-sigil-float 6s ease-in-out infinite}.intro-kicker{font-size:10px;letter-spacing:1px;color:#bfb1d5}.light-intro h1{margin:0 0 5px;font-size:clamp(28px,5vw,40px);color:#ffebc2}.light-intro p,.light-guidance p,.light-rules p{margin:0;color:#b9c8dc;font-size:13px;line-height:2.1}.light-guidance h2,.light-rules h2{margin:0 0 5px;font-size:14px;color:#f1dba9}.light-guidance .guidance-icon,.light-rules .guidance-icon{width:44px;height:44px;font-size:24px;border-radius:14px}.light-guidance{border-color:#72cbb344;background:linear-gradient(125deg,#16313699,#101c30)}.light-guidance h2{color:#a0eddb}.light-guidance .guidance-icon{color:#a0eddb;border-color:#72cbb344}.light-rules{border-color:#8d9dbd44}.light-rules h2{color:#cad5ec}.light-rules .guidance-icon{color:#c6b9f2;border-color:#a395d844}.light-guidance #game-status{min-height:0;text-align:start;margin:0;color:#c0e0df}
@keyframes light-card-drift{from{transform:translateX(-18%)}to{transform:translateX(18%)}}@keyframes light-sigil-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:600px){.light-intro,.light-guidance,.light-rules{padding:18px 15px;gap:12px;border-radius:19px;align-items:flex-start}.intro-sigil{width:44px;height:44px;font-size:30px;border-radius:14px}.light-intro p,.light-guidance p,.light-rules p{font-size:12px}.light-guidance .guidance-icon,.light-rules .guidance-icon{width:34px;height:34px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.light-intro:before,.light-guidance:before,.light-rules:before,.intro-sigil{animation:none!important}}

.intro-sigil svg,.guidance-icon svg{width:85%;height:85%;display:block}.game-seo{max-width:900px;margin:32px auto;padding:24px;color:#b9c8dc;line-height:2;border:1px solid #cfac6933;border-radius:22px;background:#101b2b}.game-seo h2{font-size:20px;color:#f1dba9}.game-seo h3,.game-seo summary{font-size:15px;color:#e1d5ba}.game-seo details{padding:10px 0;border-top:1px solid #ffffff12}.game-seo summary{cursor:pointer}@media(max-width:600px){.game-seo{margin:20px 12px;padding:18px}}

.puzzle-mission{max-width:680px;margin:20px auto;padding:20px;border:1px solid #a58ac655;border-radius:20px;background:linear-gradient(120deg,#25223e,#122a34);line-height:1.9}.puzzle-mission small{color:#b9a7d9}.puzzle-mission h2{color:#f4d9a2;margin:5px 0}.puzzle-mission p{color:#c2d7df;margin:5px 0;font-size:13px}#skill-status{color:#e6cb8e}
