:root{color:#e3e9ef;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--platinum:#d4dee9;--ice:#8ddce9;background:#0c1821;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 44%,#263e49 0%,#101f29 47%,#09131c 100%);margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;background:#182a32;border:1px solid #ffffff26;border-radius:6px;min-width:44px;min-height:44px;padding:10px 18px}button:hover{background:#253b43;border-color:#c7d5e5}button:focus-visible,input:focus-visible{outline-offset:5px;outline:2px solid #e5f2ff}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}#app{height:100svh;min-height:650px;padding:max(24px,env(safe-area-inset-top)) max(34px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(34px,env(safe-area-inset-left));flex-direction:column;max-width:2100px;margin:auto;display:flex}header{z-index:2;flex:none;justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-star{color:var(--platinum);font-size:48px;font-weight:100}.brand h1{letter-spacing:7px;margin:0;font-family:Georgia,serif;font-size:23px;font-weight:400}.brand p{letter-spacing:3px;color:#bdc2bf;margin:8px 0 0;font-size:8px}#settings{background:0 0;border-color:#b8c7db39;border-radius:50%;padding:10px}svg{fill:none;stroke:currentColor;stroke-width:1.3px;width:22px;height:22px;display:block}main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.hud{z-index:2;justify-content:center;align-items:center;gap:65px;margin-top:4px;display:flex}.player{opacity:.55;align-items:center;gap:18px;min-width:146px;transition:opacity .25s;display:flex}.player.active{opacity:1}.player .sigil{color:var(--platinum);text-align:center;width:40px;font:56px/1 Georgia,serif}.player.o .sigil{color:var(--ice);font-size:48px}.player.o{text-align:right}.player-name{letter-spacing:2px;white-space:nowrap;font-size:9px;display:block}.score{font-family:Georgia,serif;font-size:29px;line-height:1.3;display:block}.turn-light{opacity:0;background:#d0deed;border-radius:50%;width:5px;height:5px;box-shadow:0 0 14px #c0d9ff}.active .turn-light{opacity:1}.o .turn-light{background:var(--ice);box-shadow:0 0 14px #c9f6ff}.round{text-align:center;letter-spacing:2px;color:#b9c3c3;flex-direction:column;gap:8px;font-size:9px;display:flex}.divider{color:#c4d3e4;font-size:12px}#stage{isolation:isolate;flex:1;min-height:260px;margin:-16px -34px -18px;position:relative}#world{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 12% 85%,#0000),linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(#0000,#000 12% 85%,#0000),linear-gradient(90deg,#0000,#000 6% 94%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}#board{pointer-events:none;position:absolute;inset:0}.cell{pointer-events:auto;color:#0000;background:0 0;border:0;border-radius:13px;min-width:44px;min-height:44px;padding:0;transition:background .2s;position:absolute;transform:translate(-50%,-50%);opacity:1!important}.cell:hover{background:0 0;border:0}.cell:hover:not([aria-disabled=true]){background:#d0e5ff16;box-shadow:inset 0 0 22px #c4dbff14}.cell:focus-visible{outline-offset:0;background:#d4e7ff15;outline:2px solid #e5f2ff}.cell[aria-disabled=true]{cursor:default}.cell span{opacity:0}.stage-caption{text-align:center;letter-spacing:4px;color:#bbcddd90;pointer-events:none;font-size:8px;position:absolute;bottom:5%;left:0;right:0}.stage-caption span{padding:0 20px;font-size:9px}.status-area{text-align:center;z-index:2;pointer-events:none;flex:none;min-height:136px}.status-area>*{pointer-events:auto}.status-area p{margin:0}#eyebrow,.eyebrow{letter-spacing:3px;color:var(--platinum);font-size:9px;margin-bottom:8px!important}h2{letter-spacing:.2px;margin:0 0 8px;font:30px/1.15 Georgia,serif}#hint{color:#adbcbc;font-size:12px;line-height:1.5}.quiet{color:#a8b8ba;background:0 0;border:0;min-height:44px;padding:6px 12px;font-size:10px}.primary{color:#16242a;letter-spacing:.5px;background:linear-gradient(110deg,#d4dee9,#8b9cae);border:1px solid #d3e0ef;min-width:170px;font-size:12px;font-weight:600;box-shadow:0 4px 20px #0004}.primary:hover{background:#e4edf7}.primary span{margin-left:20px}#next{margin-top:10px}footer{color:#879a9e;letter-spacing:1.3px;z-index:2;align-items:center;gap:16px;min-height:44px;font-size:8px;display:flex}.footer-rule{background:linear-gradient(90deg,#b9cfe532,#0000);flex:1;height:1px}#sound{color:#c3ccd7;letter-spacing:1px;background:0 0;border:0;padding:8px 0 8px 16px;font-size:9px}dialog{color:#e4ebf3;background:linear-gradient(150deg,#253a43,#101f29);border:1px solid #aebfd570;border-radius:14px;width:min(440px,100% - 32px);padding:32px;box-shadow:0 30px 90px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020e17b8}dialog h2{max-width:300px;font-size:29px}dialog p{color:#c1cdcc;font-size:14px;line-height:1.65}.close{background:0 0;border:0;font-size:25px;position:absolute;top:10px;right:12px}.setting{border-bottom:1px solid #ffffff15;justify-content:space-between;align-items:center;min-height:58px;font-size:13px;display:flex}.setting input{accent-color:#baccdf;width:44px;height:44px;margin:10px}.note{font-size:12px}.dialog-actions{gap:10px;margin-top:24px;display:flex}.dialog-actions button{flex:1;padding:10px}.danger{color:#e2edfa;border-color:#b9cce2}.noscript{z-index:10;background:#142c36;padding:20px;position:fixed;inset:40% 10% auto}.flat #world{visibility:hidden}.flat #stage{background:radial-gradient(#34505b66,#0000 65%);justify-content:center;align-items:center;display:flex}.flat #board{background:linear-gradient(145deg,#41616b,#142933);border:1px solid #a8bed3;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:9px;width:min(340px,80vw);height:min(340px,80vw);padding:12px;display:grid;position:relative;inset:auto;box-shadow:0 25px 70px #0008}.flat .cell{color:var(--platinum);background:#152a36;border:1px solid #91a7a533;border-radius:10px;font:50px Georgia,serif;position:static;transform:none;box-shadow:inset 0 2px 7px #0005;width:auto!important;height:auto!important}.flat .cell span{opacity:1}.flat .cell[data-mark=O]{color:var(--ice)}.flat .cell.winning{background:#354d64;border-color:#d2e7ff}.flat .stage-caption{display:none}@media (min-width:1500px){#app{padding-top:32px}.hud{gap:85px;margin-top:10px}.brand h1{font-size:26px}.status-area{min-height:150px}h2{font-size:34px}}@media (max-width:600px){#app{padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));min-height:620px}.brand-star{font-size:36px}.brand h1{letter-spacing:5px;font-size:20px}.brand p{letter-spacing:2px;font-size:7px}.hud{gap:23px;margin-top:25px}.player{gap:9px;min-width:100px}.player .sigil{width:30px;font-size:44px}.player.o .sigil{font-size:38px}.player-name{letter-spacing:1px;font-size:8px}.score{font-size:25px}.round{letter-spacing:1px;font-size:8px}.turn-light{display:none}#stage{min-height:260px;margin:0 -18px -12px}.stage-caption{letter-spacing:2px;font-size:7px;bottom:7%}.stage-caption span{padding:0 10px}h2{font-size:29px}.status-area{min-height:140px}footer{letter-spacing:.6px;gap:6px;font-size:7px}footer>span:nth-of-type(3){display:none}#sound{font-size:8px}.flat #board{width:min(300px,78vw);height:min(300px,78vw)}}@media (max-height:560px) and (min-width:600px){#app{min-height:360px;padding:12px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left))}header{position:absolute;top:15px;left:24px;right:24px}.brand h1{letter-spacing:4px;font-size:17px}.brand p{font-size:6px}.brand-star{font-size:28px}main{grid-template-rows:100px 1fr;grid-template-columns:1fr 250px;padding-top:0;display:grid}.hud{grid-area:1/2;align-self:start;gap:10px;margin:48px 0 0}.round{display:none}.player{gap:8px;min-width:95px}.player-name{font-size:7px}.player .sigil{width:25px;font-size:36px}.player.o .sigil{font-size:32px}.turn-light{display:none}.score{font-size:23px}#stage{grid-area:1/1/3;min-height:250px;margin:15px -15px 0}.status-area{grid-area:2/2;align-self:center;min-height:0;padding-top:30px}h2{font-size:26px}.stage-caption{display:none}.flat #board{width:240px;height:240px}footer{min-height:30px}#sound{min-height:44px}}@media (max-width:600px) and (max-height:700px){#app{min-height:560px;padding-top:10px}header{min-height:42px}.hud{gap:12px;margin-top:10px}.round{white-space:nowrap;gap:5px;font-size:7px}.player{min-width:86px}.player-name{font-size:7px}#stage{min-height:220px;margin-bottom:-8px}.stage-caption{display:none}.status-area{min-height:120px}#hint{font-size:11px}h2{font-size:26px}footer{min-height:35px}#sound{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
