:root{--bg:#0d110c;--bg-2:#141a12;--panel:#1a211896;--panel-solid:#1a2118;--edge:#2e3a2a;--edge-hi:#445138;--ink:#dbe6d3;--ink-dim:#93a189;--gold:#ffd45e;--danger:#ff6b6b;--good:#8ef07a;--radius:12px;--shadow:0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(1200px 700px at 50% -10%, #1d2a18 0%, transparent 65%), linear-gradient(180deg, var(--bg-2), var(--bg));color:var(--ink);-webkit-font-smoothing:antialiased;line-break:strict;word-break:normal;overflow-wrap:break-word;background-attachment:fixed;font:400 15px/1.55 Trebuchet MS,Segoe UI,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer}.shell{max-width:calc(var(--field-w,864px) + 324px);flex-direction:column;gap:12px;margin:0 auto;padding:14px clamp(10px,2vw,20px) 20px;display:flex}.hud{background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:9px 14px;display:flex}.stats{flex-wrap:wrap;gap:6px;display:flex}.stat{font-variant-numeric:tabular-nums;background:#0c110b8c;border:1px solid #ffffff10;border-radius:9px;align-items:center;gap:7px;padding:5px 11px;display:flex}.stat .ico{color:var(--gold);font-size:14px;line-height:1}.stat .ico.heart{color:var(--danger)}.stat b{letter-spacing:.02em;font-size:17px}.stat.dim{opacity:.62}.stat.danger{border-color:#ff6b6b55;animation:1s ease-in-out infinite pulse-danger}@keyframes pulse-danger{50%{background:#3a11118c}}.run{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--edge-hi);letter-spacing:.01em;background:linear-gradient(#2b3527,#202a1d);border-radius:9px;padding:8px 14px;font-weight:700;transition:transform 80ms,border-color .15s,background .15s,opacity .15s;position:relative;overflow:hidden}.btn:hover:not(:disabled){border-color:var(--gold);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.primary{background:linear-gradient(#3c4a2f,#26311d);min-width:210px}.btn.primary .lbl{z-index:1;position:relative}.btn.primary .fill{background:linear-gradient(90deg,#6d8f3f88,#a8c25a55);width:0;transition:width .12s linear;position:absolute;inset:0 auto 0 0}.btn.icon{text-align:center;white-space:nowrap;min-width:40px;padding:8px 10px}.btn.icon.wide{min-width:52px}.btn.on{border-color:var(--gold);color:var(--gold)}.btn.big{padding:12px 26px;font-size:17px}.lang{align-items:stretch;display:inline-flex;position:relative}.lang select{appearance:none;font:inherit;color:inherit;border:1px solid var(--edge-hi);cursor:pointer;white-space:nowrap;background:linear-gradient(#2b3527,#202a1d);border-radius:9px;padding:8px 30px 8px 12px;font-weight:700;transition:border-color .15s,background .15s}.lang select:hover{border-color:var(--gold)}.lang select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lang select option{background:var(--panel-solid);color:var(--ink)}.lang:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--ink-dim);pointer-events:none;margin-top:-2px;position:absolute;top:50%;right:12px}.main{grid-template-columns:minmax(0,1fr) 272px;align-items:start;gap:12px;display:grid}.stage{width:100%;max-width:var(--field-w,864px);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);background:#0a0e09;margin-inline:auto;line-height:0;position:relative;overflow:hidden}#field{width:100%;height:auto;image-rendering:pixelated;cursor:crosshair;touch-action:none;display:block}.sidebar{flex-direction:column;gap:10px;min-width:0;display:flex}.palette{flex-direction:column;gap:6px;display:flex}.tower-btn{text-align:left;border:1px solid var(--edge);background:var(--panel);border-radius:10px;grid-template-columns:18px 48px minmax(0,1fr);align-items:center;gap:9px;padding:6px 10px 6px 6px;transition:border-color .15s,background .15s,transform 80ms;display:grid;position:relative}.tower-btn:hover{border-color:var(--accent);transform:translate(2px)}.tower-btn.armed{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,#ffffff12,#0000)}.tower-btn.poor{opacity:.45}.tower-btn .key{color:var(--ink-dim);text-align:center;font-size:11px}.tower-btn .art{line-height:0}.tower-btn .art canvas{image-rendering:pixelated;display:block}.tower-btn .meta{flex-direction:column;min-width:0;display:flex}.tower-btn .name{font-size:15px;font-weight:700}.tower-btn .cost{color:var(--gold);font-variant-numeric:tabular-nums;font-size:13px}.tower-btn .tip{border:1px solid var(--edge-hi);width:240px;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:20;background:#0e130ded;border-radius:10px;padding:10px 12px;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)scale(.97)}.tower-btn:hover .tip{opacity:1;transform:translateY(-50%)scale(1)}.tower-btn .tip b{color:var(--accent);display:block}.tower-btn .tip em{color:var(--ink-dim);margin:3px 0 7px;font-size:13px;font-style:normal;display:block}.rows{flex-direction:column;gap:3px;font-size:13px;display:flex}.rows>span{color:var(--ink-dim);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;display:flex}.rows>span b{color:var(--ink);font-weight:700}.rows i{color:var(--good);font-style:normal}.panel{border:1px solid var(--edge);background:var(--panel);border-radius:10px;min-height:130px;padding:11px 12px}.panel-empty{color:var(--ink-dim);flex-direction:column;gap:5px;font-size:13px;display:flex}.panel-empty b{color:var(--ink);font-size:15px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.panel-head b{color:var(--accent);font-size:16px}.pips{gap:4px;display:flex}.pips i{background:#ffffff1f;border-radius:2px;width:11px;height:5px}.pips i.on{background:var(--accent)}.panel-actions{gap:7px;margin-top:10px;display:flex}.panel-actions .btn{flex:1;padding:8px 6px;font-size:13px}.btn.up:not(:disabled){color:#eaf7c8;background:linear-gradient(#4b5a2c,#35411d);border-color:#8fa64f}.btn.sell{background:linear-gradient(#4a2c2c,#331d1d);border-color:#6a3d3d}.btn.sell:hover{border-color:var(--danger)}.screens{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060a05d6;justify-content:center;align-items:center;padding:20px;line-height:1.45;display:none;position:absolute;inset:0}.screens.on{display:flex}.card{border:1px solid var(--edge-hi);width:100%;max-width:560px;box-shadow:var(--shadow);text-align:center;background:linear-gradient(#1c2419,#131a11);border-radius:16px;padding:26px 30px}.card h1{letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(28px,4vw,38px)}.card h1 span{color:var(--gold)}.card.win h1{color:var(--good)}.card.lose h1{color:var(--danger)}.card .lede{color:var(--ink-dim);margin:0 0 16px}.rules{text-align:left;color:var(--ink-dim);flex-direction:column;gap:7px;margin:0 0 16px;padding:0;font-size:14px;list-style:none;display:flex}.rules li{border-left:2px solid var(--edge-hi);padding-left:16px}.rules b{color:var(--ink)}.keys{color:var(--ink-dim);flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-bottom:18px;font-size:12px;display:flex}kbd{border:1px solid var(--edge-hi);font:inherit;color:var(--ink);background:#0e130d;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;display:inline-block}.tally{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px;display:grid}.tally span{color:var(--ink-dim);background:#0c110b8c;border:1px solid #ffffff10;border-radius:9px;flex-direction:column;gap:2px;padding:9px 4px;font-size:12px;display:flex}.tally b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px}.foot{color:#6f7d68;justify-content:space-between;gap:12px;font-size:12px;display:flex}.fps{font-variant-numeric:tabular-nums}@media (width<=1080px){.main{grid-template-columns:minmax(0,1fr)}.palette{flex-flow:wrap}.tower-btn{flex:158px;grid-template-columns:40px minmax(0,1fr)}.tower-btn .key{display:none}.tower-btn .art canvas{width:40px;height:40px}.tower-btn .tip{width:auto;top:calc(100% + 8px);left:0;right:0;transform:none}.tower-btn:hover .tip{transform:none}}@media (width<=560px){.btn.primary{min-width:130px}.lang select{padding:8px 26px 8px 9px}.stat b{font-size:15px}.tally{grid-template-columns:repeat(2,1fr)}}
