:root{color-scheme:dark;--bg:#080f24;--ink:#e9f0ff;--muted:#97a8c9;--edge:#2b3b60;--gold:#efcf91}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 10%,#20375988,transparent 50%),radial-gradient(ellipse at 90% 90%,#38255677,transparent 55%),var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif;min-height:100dvh}button,input,select{font:inherit;color:inherit;border:1px solid var(--edge);border-radius:9px;background:#14213b;padding:11px 14px}button{cursor:pointer;transition:background .15s,transform .15s}button:hover{background:#25395b}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bde5ff;outline-offset:2px}button.primary{background:linear-gradient(110deg,#96dfed,#afbdff);color:#0b1730;font-weight:750;border:0}.primary span{float:right}header{max-width:1180px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;align-items:center}.brand{color:#d6e5fc;font-size:13px;letter-spacing:3px;text-decoration:none;font-weight:700}.brand span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:4px}header button{font-size:12px;padding:8px 12px;margin-left:6px}.menu{max-width:1030px;margin:6vh auto 5vh;padding:20px 30px;display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:700;margin:0 0 12px}h1{font-size:clamp(58px,6vw,84px);font-weight:350;line-height:1.06;letter-spacing:-4px;margin:20px 0;position:relative}h1 em{font-style:normal;color:#b4e5f2;font-weight:650}.star{color:var(--gold);font-size:36px;position:absolute;margin:20px 35px}.tagline{color:#b0bfdb;font-size:18px;font-weight:300;line-height:1.8}.small{font-size:11px;color:var(--muted);letter-spacing:.4px}.panel{background:linear-gradient(140deg,#1a2945bb,#0d172ccc);border:1px solid var(--edge);border-radius:14px;box-shadow:0 16px 50px #0002}.select-panel{padding:30px}.select-panel label{display:block;font-size:12px;color:var(--muted);margin:13px 0 6px}.select-panel select,.select-panel input,.select-panel>button{width:100%}.select-panel>button{margin-top:16px}#description{font-size:14px;min-height:66px;color:#bcc9df}nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}nav button{font-size:12px;background:transparent;padding:9px}.jewels{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,36px);gap:4px;margin:38px 0}.jewels i{border-radius:6px;background:linear-gradient(135deg,#e6b1ff,#8353c3);border:1px solid #dda8ff;box-shadow:inset 3px 3px 9px #fff4,0 0 25px #ad72d233}.jewels i:first-child{grid-column:2}.jewels i:nth-child(2){grid-column:1}footer{text-align:center;color:#647695;font-size:9px;letter-spacing:3px;padding:14px}footer span{margin:0 14px}[hidden]{display:none!important}#arena{max-width:690px;margin:auto;padding:0 16px}.game-top{display:flex;justify-content:space-between;margin:0 auto 10px;align-items:center}.game-top .eyebrow{margin:0;font-size:10px}.game-top strong{font-size:14px;font-weight:500}.score-top{display:flex;flex-direction:column;text-align:right}.score-top small{font-size:9px;letter-spacing:2px;color:var(--muted)}.score-top b{font-size:25px;font-variant-numeric:tabular-nums}.playfield{display:grid;grid-template-columns:105px minmax(0,300px) 105px;gap:14px;justify-content:center;align-items:start}.board-wrap{position:relative;border:1px solid #52658b;border-radius:8px;overflow:hidden;box-shadow:0 0 40px #32668922,0 18px 50px #0006;aspect-ratio:1/2;background:#080e1b}#board{display:block;width:100%;height:100%}aside .panel{padding:9px;text-align:center;border-radius:9px}aside canvas{width:100%;height:auto;display:block}aside h2{margin:0;color:#becbe0;font-size:10px;letter-spacing:2px;text-align:left}aside h2 span{float:right;color:#667da6}aside small{font-size:9px;color:var(--muted)}.metrics{margin-top:13px;display:flex;flex-direction:column;gap:4px}.metrics b{font-size:23px;font-weight:500;margin-bottom:8px}.desktop-hint{font-size:11px;line-height:2;color:#8296ba}#riseWarning{font-size:11px;color:#ffcf85}#boardMessage{position:absolute;top:36%;left:0;right:0;text-align:center;font-weight:800;color:#fff;text-shadow:0 2px 8px #000;pointer-events:none}#countdown{position:absolute;inset:0;background:#061126bc;display:grid;place-content:center;font-size:60px;color:#e6d8b7}.touch{margin:12px auto 0;max-width:538px;display:flex;gap:18px}.touch-main{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;flex:1}.touch button{padding:8px 4px;min-height:45px;touch-action:none;user-select:none;-webkit-user-select:none;font-size:18px}.touch button small{display:block;font-size:8px}.touch button[data-action=hold]{font-size:12px}.touch .hard{background:#353056;border-color:#69628b;font-size:10px;padding:10px;letter-spacing:.5px}dialog{color:var(--ink);background:#0e1930;border:1px solid #4a5e83;border-radius:18px;max-width:620px;width:calc(100% - 28px);max-height:90dvh;padding:26px;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#020817c9;backdrop-filter:blur(7px)}dialog h2{font-size:28px;font-weight:500;margin:0 0 14px}dialog h3{color:var(--gold);font-size:16px;margin-bottom:8px}dialog p,dialog li{font-size:14px;color:#bac9e0}dialog label{display:flex;align-items:center;justify-content:space-between;margin:16px 0;gap:12px}dialog input[type=range]{width:150px;padding:0}dialog select{max-width:220px}dialog button{margin:8px 5px 0 0}#closeDialog{background:transparent;width:100%;margin-top:20px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:8px 4px;border-bottom:1px solid var(--edge)}.result-number{font-size:42px!important;color:#b9edf6!important;margin:15px 0}.contrast{--edge:#8d9ebb;--muted:#ccd8ec;--bg:#000713}.reduce *{transition:none!important}body.playing header{padding-top:12px;padding-bottom:12px}body.playing footer{padding:9px}
@media(min-width:701px) and (max-height:850px){.playfield{grid-template-columns:95px minmax(0,calc((100dvh - 230px)/2)) 95px}.menu{margin:0 auto}h1{font-size:66px}}
@media(max-width:700px){header{padding:15px 16px}.brand{font-size:10px;letter-spacing:2px}.brand span{font-size:7px}.menu{margin:0 auto;padding:10px 20px 20px;display:block;max-width:460px}.intro h1{font-size:49px;line-height:1;letter-spacing:-2px;margin:10px 0}.intro h1 br{display:none}.star{display:none}.intro .eyebrow{font-size:9px}.tagline{font-size:14px;margin:10px 0 22px}.tagline br{display:none}.jewels,.intro>.small{display:none}.select-panel{padding:20px}#arena{padding:0 10px}.playfield{grid-template-columns:65px minmax(0,min(calc((100dvh - 225px)/2),calc(100vw - 165px))) 65px;gap:8px}.desktop-hint{display:none}aside .panel{padding:6px}aside h2{font-size:8px;letter-spacing:1px}aside h2 span{display:none}.metrics b{font-size:18px}.game-top{max-width:400px}.game-top strong{font-size:12px}.touch{gap:12px;margin-top:9px;max-width:410px;display:block}.touch-main{grid-template-columns:repeat(6,1fr)}.touch button{min-height:44px}.touch .hard{width:100%;margin-top:8px;min-height:40px}.score-top b{font-size:20px}#riseWarning{font-size:9px}.game-top .eyebrow{font-size:9px}body.playing footer{display:none}}
@media(max-height:500px) and (orientation:landscape){body.playing header{position:absolute;top:0;left:0;width:180px;display:block}.brand{display:none}#arena{max-width:600px;padding-top:8px}.game-top{position:absolute;left:15px;top:55px;width:120px;display:block}.score-top{text-align:left;margin-top:12px}.playfield{grid-template-columns:65px minmax(0,calc((100dvh - 30px)/2)) 65px;gap:8px}.touch{position:absolute;right:12px;top:50px;width:125px;display:block}.touch-main{grid-template-columns:1fr 1fr}.touch .hard{width:100%;margin-top:14px}.desktop-hint,body.playing footer{display:none}}

/* Games navigation uses normal header/menu flow, never the playfield overlay. */
a.return-games{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;box-sizing:border-box;color:inherit;font:600 13px/1.25 system-ui,sans-serif;letter-spacing:normal;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;border-radius:5px}
a.return-games:hover{background:#ffffff14}a.return-games:focus-visible{outline:2px solid currentColor;outline-offset:2px}
