:root{--bg:#0d1014;--panel:#171c22;--panel2:#1e252d;--line:#2c3540;--txt:#dfe5ea;--mut:#8a96a3;--amber:#f2a93b;--cyan:#27f2d0;--red:#ff4a2e}html,body{background:var(--bg);height:100%;color:var(--txt);-webkit-user-select:none;user-select:none;margin:0;font:13px Chakra Petch,system-ui,Segoe UI,Tahoma,sans-serif;overflow:hidden}#wrap{height:100%;display:flex}#game{flex:1;min-width:0;position:relative;overflow:hidden}#game canvas{display:block}#msgs{pointer-events:none;flex-direction:column;gap:3px;font-size:14px;font-weight:600;display:flex;position:absolute;top:10px;left:10px}#msgs div{border-left:3px solid var(--amber);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);background:#0a0c0fd1;align-self:flex-start;padding:3px 12px 3px 9px}#esw{border-right:3px solid var(--red);color:#ff8a6a;pointer-events:none;background:#0a0c0fd1;padding:4px 12px;font-weight:600;display:none;position:absolute;top:194px;right:10px}#side{border-left:2px solid var(--line);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line) transparent;background:linear-gradient(#12161b,#0d1014);flex-direction:column;gap:9px;width:256px;padding:12px;display:flex;overflow:hidden auto}h1{letter-spacing:4px;color:var(--amber);text-shadow:0 0 12px #f2a93b59;border-bottom:1px solid var(--line);margin:0;padding-bottom:6px;font-size:19px;font-weight:700}.cred{color:var(--amber);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--amber);font-variant-numeric:tabular-nums;letter-spacing:1px;align-self:flex-start;padding:3px 12px;font-size:20px;font-weight:700}#mini{z-index:4;border:1px solid var(--line);cursor:crosshair;touch-action:none;outline:1px solid #000;width:228px;height:171px;position:absolute;top:10px;right:10px;box-shadow:0 4px 16px #0009}.btns{grid-template-columns:1fr 1fr;gap:5px;display:grid}button{background:linear-gradient(180deg,var(--panel2),var(--panel));color:var(--txt);border:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);border-radius:2px;padding:6px 8px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--amber);background:linear-gradient(#26303a,#1b2229)}button:active:not(:disabled){background:#12171c}button:disabled{opacity:.38;cursor:not-allowed}button small{color:var(--amber);font-size:11px;font-weight:500;display:block}button.lock small{color:#ff7a5c}.bar{border:1px solid var(--line);background:#0a0c0f;height:6px;overflow:hidden}.bar>i{background:repeating-linear-gradient(90deg,var(--amber) 0 6px,#c7801f 6px 8px);width:0;height:100%;transition:width .15s;display:block}#sw .bar>i{background:repeating-linear-gradient(90deg,#ff4fd8 0 6px,#b0209a 6px 8px)}#bp{border:1px solid var(--cyan);background:linear-gradient(160deg,#0f2a28,#12171c);padding:8px;display:none;box-shadow:inset 0 0 14px #27f2d033}#bp button{width:100%;margin-top:6px;line-height:1.35}.tag{color:#0d1014;letter-spacing:.5px;margin-right:4px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.sec{color:var(--mut);letter-spacing:1.2px;text-transform:uppercase;border-left:2px solid var(--amber);padding-left:6px;font-size:11px}#owned{font-size:11px;line-height:1.7}#help{color:var(--mut);background:var(--panel);border:1px solid var(--line);padding:8px 10px;font-size:11px;line-height:1.55}#over{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);letter-spacing:10px;background:#050608cc;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:56px;font-weight:700;display:none;position:fixed;inset:0}#over button{text-align:center;background:var(--amber);color:#0d1014;letter-spacing:2px;border:none;padding:10px 28px;font-size:18px;font-weight:700}#touchbar,#touchtop,#rotate{display:none}body.touch{overscroll-behavior:none;-webkit-user-select:none;-webkit-touch-callout:none}body.touch #touchbar{left:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:5;gap:6px;display:flex;position:absolute}body.touch #touchtop{right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:5;gap:6px;display:flex;position:absolute}body.touch #touchbar button,body.touch #touchtop button{text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#171c22e0;min-width:52px;min-height:48px;padding:10px 14px;font-size:14px}body.touch #touchbar button{flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:56px;padding:5px 8px;font-size:11px;line-height:1.1;display:flex}body.touch #touchbar button b{font-size:19px;line-height:1}body.touch #touchbar button.on{color:#7dff9a;border-color:#7dff9a;box-shadow:inset 0 0 0 1px #7dff9a}body.touch #touchtop{align-items:flex-end}body.touch #menuBtn{border-color:var(--amber);color:var(--amber);font-size:15px}#tcredbox{display:none}body.touch #tcredbox{box-sizing:border-box;border:1px solid var(--line);border-right:3px solid var(--amber);text-align:right;pointer-events:none;font-variant-numeric:tabular-nums;background:#0a0c0fd9;min-width:110px;padding:3px 10px 4px;display:block;position:absolute;bottom:calc(100% + 6px);right:0}#tcred{color:var(--amber);font-size:17px;font-weight:700}#tqn{color:var(--cyan);margin-left:8px;font-size:13px;font-style:normal;font-weight:700}#tcredbox .tq{background:#0a0c0f;height:3px;margin-top:2px}#tqbar{background:var(--cyan);width:0;height:100%;transition:width .15s;display:block}body.touch #mini{width:150px;height:113px;right:calc(8px + env(safe-area-inset-right));top:calc(8px + env(safe-area-inset-top))}body.touch #esw{right:calc(8px + env(safe-area-inset-right));top:calc(129px + env(safe-area-inset-top))}body.touch #side{z-index:10;width:min(340px,80vw);padding:8px 10px;padding-bottom:calc(12px + env(safe-area-inset-bottom));gap:7px;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 24px #0009}body.touch.side-open #side{transform:none}body.touch #side button{padding:9px 8px;font-size:13px}body.touch #help{display:none}body.touch #msgs{max-width:60vw;font-size:12px}body.touch #msgs div{padding:2px 10px 2px 7px}body.touch #esw{font-size:12px}@media (orientation:portrait){body.touch #rotate{z-index:50;color:var(--amber);letter-spacing:1px;text-align:center;background:#0b0d10;justify-content:center;align-items:center;padding:20px;font-size:20px;font-weight:700;display:flex;position:fixed;inset:0}}.touchonly{display:none}body.touch .touchonly{text-align:center;width:100%;display:block}body.touch #side .titlebar h1{display:none}body.touch #side .titlebar{justify-content:flex-end;padding-bottom:6px}body.touch #side .tbtns button{min-height:38px;padding:8px 12px}body.touch #side .closeBtn{width:auto;min-width:48px;color:var(--amber);border-color:var(--amber);font-size:16px}body.touch .cred{display:none}body.touch #btns,body.touch #bbtns{grid-template-columns:1fr 1fr;gap:6px}body.touch #side .ubtn{flex-direction:column;align-items:stretch;gap:3px;min-height:92px;padding:4px 4px 6px;display:flex}body.touch .ubtn .ico{box-sizing:border-box;width:100%;height:60px}body.touch .ubtn .bt{text-align:center;align-items:center}body.touch .ubtn b{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}body.touch .ubtn em,body.touch .ubtn .hk,body.touch .ubtn .ml{display:none}body.touch .ubtn .makes{justify-content:center;margin-top:0}body.touch .ubtn .makes img{width:20px;height:15px}body.touch .ubtn .cost{background:#0a0c0fd9;margin:0;padding:0 5px;font-size:12px;font-weight:700;position:absolute;top:5px;right:5px}body.touch .ubtn .qn{background:#0a0c0fd9;padding:0 5px;font-size:15px;top:5px;left:5px}body.touch .ubtn .qn:empty{display:none}body.touch .ubtn.lock .ico{filter:grayscale()brightness(.55)}body.touch .ubtn.lock:after{content:"🔒";pointer-events:none;font-size:22px;position:absolute;top:34px;left:50%;transform:translate(-50%,-50%)}body.touch #rbtns button{min-height:44px}#start{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-sizing:border-box;background:#050608c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#start.hide{display:none}#start .card{border:1px solid var(--line);border-top:3px solid var(--amber);box-sizing:border-box;background:linear-gradient(#141920,#0d1014);width:min(460px,100%);max-height:100%;padding:22px 24px;overflow-y:auto}#start .logo{letter-spacing:4px;color:var(--amber);text-shadow:0 0 14px #f2a93b59;font-size:24px;font-weight:700;line-height:1.2}#start .sub{color:var(--mut);letter-spacing:1px;margin:4px 0 14px}#lvls{flex-direction:column;gap:8px;display:flex}#lvls button{border-left:4px solid var(--c);padding:12px 14px;font-size:17px}#lvls button small{color:var(--mut);margin-top:3px;font-size:12px}#lvls button.last{box-shadow:0 0 0 1px var(--c) inset}#lvl{letter-spacing:1px;margin-top:-4px;font-size:12px;font-weight:600}#start .hide{display:none}#gname{box-sizing:border-box;border:1px solid var(--line);border-left:3px solid var(--cyan);width:100%;color:var(--txt);font:inherit;background:#0a0c0f;outline:none;margin-bottom:10px;padding:11px 12px;font-size:17px}#gname:focus{border-color:var(--cyan)}#guestBtn{text-align:center;background:var(--amber);color:#0d1014;border:none;width:100%;padding:12px;font-size:17px}#guestBtn:hover{background:#ffc15c}#start .note{color:var(--mut);margin-top:8px;font-size:12px}#hello{color:var(--cyan)}button.link{clip-path:none;color:var(--mut);background:0 0;border:none;margin-top:10px;padding:4px 0;text-decoration:underline}button.link:hover:not(:disabled){color:var(--txt);background:0 0}#btns,#bbtns{grid-template-columns:1fr}.ubtn{grid-template-columns:48px 1fr auto;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:grid;position:relative}.ubtn .ico{object-fit:contain;border:1px solid var(--line);background:radial-gradient(#232a33,#0a0c0f);width:48px;height:38px}.ubtn .bt{flex-direction:column;min-width:0;line-height:1.3;display:flex}.ubtn b{font-size:13px}.ubtn em{color:var(--mut);font-size:11px;font-style:normal}.ubtn.lock em{color:#ff7a5c}.ubtn .cost{color:var(--amber);align-self:start;margin-top:3px;font-size:12px;font-weight:600}.ubtn .makes{color:var(--mut);flex-wrap:wrap;align-items:center;gap:3px;margin-top:2px;font-size:10px;display:flex}.ubtn .makes img{object-fit:contain;width:24px;height:18px}.ubtn .qn{color:var(--cyan);text-shadow:0 0 3px #000;font-size:12px;font-style:normal;font-weight:700;position:absolute;top:2px;left:6px}button.off{opacity:.5}button.off:hover:not(:disabled){border-color:var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel))}button.flash{box-shadow:0 0 0 2px var(--cyan) inset}button.off .cost{color:#ff7a5c}.ubtn .pg{background:var(--cyan);width:0;height:3px;box-shadow:0 0 6px var(--cyan);pointer-events:none;transition:width .15s;position:absolute;bottom:0;left:0}.titlebar{justify-content:space-between;align-items:center;gap:8px;display:flex}#side .titlebar{border-bottom:1px solid var(--line);padding-bottom:6px}#side .titlebar h1{border:none;padding:0}.langBtn{text-align:center;color:var(--cyan);border-color:var(--cyan);flex:none;padding:4px 10px;font-size:12px;font-weight:700}#start .langBtn{padding:6px 14px;font-size:14px}#side .titlebar h1{letter-spacing:2px;font-size:14px;line-height:1.25}.tbtns{flex:none;gap:6px;display:flex}#quitBtn{text-align:center;color:#ff8a7a;border-color:#6b2f28;padding:4px 10px;font-size:12px;font-weight:700}#quitBtn:hover{border-color:var(--red)}.sndBtn,.musBtn{text-align:center;min-width:28px;padding:4px 8px;font-size:12px}.sndBtn.off,.musBtn.off{text-decoration:line-through}.overbtns{gap:12px;display:flex}#over #overQuit{background:var(--panel2);color:var(--txt);border:1px solid var(--line)}.modal{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;background:#050608d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal.hide{display:none}.modal .card{border:1px solid var(--line);border-top:3px solid var(--amber);box-sizing:border-box;background:linear-gradient(#141920,#0d1014);flex-direction:column;gap:10px;width:min(420px,100%);max-height:100%;padding:22px 24px;display:flex;overflow-y:auto}.modal .note{color:var(--mut);font-size:13px;line-height:1.55}.modal button{text-align:center;padding:10px 14px;font-size:15px}.modal button.primary{background:var(--amber);color:#0d1014;border:none}.modal button.primary:hover{background:#ffc15c}.mtitle{color:var(--txt);font-size:20px;font-weight:700}.mbtns{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}#quitYes{color:#fff;background:#b8321f}#quitYes:hover{background:var(--red)}
