html,body{touch-action:none;-webkit-user-select:none;user-select:none;background:#2f5f2a;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app canvas{display:block}button,input,select,summary{touch-action:manipulation}.labels{pointer-events:none;z-index:1;position:absolute;top:0;left:0}.labels *{pointer-events:none}.labels>*{will-change:transform;backface-visibility:hidden}#hud{color:#fff;pointer-events:none;text-shadow:0 2px 2px #00000080;background:linear-gradient(#0000008c,#0000);justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.hud-left{color:#ffd34d;align-items:center;gap:8px;min-width:90px;font-size:26px;font-weight:800;display:flex}.coin-icon{background:radial-gradient(circle at 35% 35%,#fff2a8,#fc3 45%,#b8860b);border-radius:50%;width:24px;height:24px;box-shadow:0 2px #8a6408}.hud-center{text-align:center}#hud-wave{font-size:18px;font-weight:800}#hud-sub{opacity:.85;font-size:12px}.hud-right{text-align:right;min-width:90px;font-size:15px;font-weight:700}.hp-bar{background:#00000080;border-radius:4px;width:110px;height:8px;margin-top:3px;margin-left:auto;overflow:hidden}#hud-hp{background:linear-gradient(#7be07f,#3fae47);width:100%;height:100%;transition:width .2s}.hud-btn{color:#fff;cursor:pointer;pointer-events:auto;z-index:10;background:#00000059;border:none;border-radius:50%;width:40px;height:40px;padding:0;font-size:20px;line-height:40px;position:fixed;top:62px;right:12px}.hud-btn:hover{background:#00000080}#music{top:108px}#music.off{opacity:.45}#loading{color:#fff;text-shadow:0 2px 3px #0009;z-index:20;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex;position:fixed;inset:0}#help{text-align:center;color:#fff;text-shadow:0 2px 3px #000c;pointer-events:none;padding:0 16px;font-size:15px;position:fixed;bottom:24px;left:0;right:0}#help b{color:#ffd34d}#joy{pointer-events:none;box-sizing:border-box;background:#0000001f;border:3px solid #ffffff80;border-radius:50%;width:100px;height:100px;display:none;position:fixed;top:0;left:0}#joy-knob{background:#fff9;border-radius:50%;width:40px;height:40px;position:absolute;top:27px;left:27px}#gameover{color:#fff;text-align:center;z-index:30;background:#000000b3;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#gameover.hidden{display:none}#gameover h1{color:#ff5a5a;margin:0 0 8px}#gameover .dim{opacity:.7;font-size:14px}.go-form{gap:8px;margin:8px 0 4px;display:flex}.go-form.hidden{display:none}.go-form input{color:#fff;-webkit-user-select:text;user-select:text;background:#00000073;border:2px solid #ffd34d;border-radius:10px;outline:none;width:170px;padding:9px 12px;font-size:16px;font-weight:700}.go-msg{color:#ffe9a8;min-height:18px;margin:4px 0;font-size:14px}.go-buttons{gap:10px;margin-top:12px;display:flex}.menu-btn{pointer-events:auto;cursor:pointer;color:#fff;text-shadow:0 1px 2px #000;background:#14180e8c;border:2px solid #ffffff8c;border-radius:12px;padding:9px 16px;font-family:inherit;font-size:15px;font-weight:800}.menu-btn:hover{background:#14180ebf}.menu-btn.primary{background:#3f8f3a;border-color:#8fe07f}.menu-btn.primary:hover{background:#4aa544}.menu-btn:disabled{opacity:.5;cursor:default}.menu{flex-direction:column;align-items:center;gap:10px;margin-top:10px;display:flex}.diff{gap:6px;display:flex}.diff .menu-btn{padding:7px 12px;font-size:14px}.diff .menu-btn.on{color:#3a2a05;text-shadow:none;background:#ffd34d;border-color:#fff2a8}.board,.go-list{font-variant-numeric:tabular-nums}.board{pointer-events:auto;text-align:left;background:#0e120adb;border:2px solid #ffd34d99;border-radius:14px;width:min(92vw,380px);max-height:46vh;margin-top:10px;padding:10px 14px;overflow-y:auto}.board.hidden{display:none}.board-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.board-head span{opacity:.75;flex:1;font-size:13px}.board-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px}.board ol,.go-list{margin:0;padding:0;list-style:none}.board li,.go-list li{border-bottom:1px solid #ffffff14;gap:8px;padding:4px 2px;font-size:14px;display:flex}.board li .pos,.go-list li .pos{color:#ffd34d;width:26px;font-weight:800}.board li .who,.go-list li .who{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.board li .score,.go-list li .score{font-weight:800}.board li.me,.go-list li.me{color:#7dff7a}.board .empty,.go-list .empty{opacity:.7;justify-content:center}.go-list{text-align:left;width:min(92vw,340px)}.pad-label{text-align:center;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000;line-height:1.1;transform:translateY(18px)}.pad-label .icon{font-size:20px}.pad-label .cost{color:#ffd34d;font-size:16px;font-weight:800}.pad-label .name{font-size:11px;font-weight:600}.pad-label.affordable .cost{color:#7dff7a;animation:.7s ease-in-out infinite alternate aff-pulse}@keyframes aff-pulse{0%{transform:scale(1)}to{transform:scale(1.18)}}.pad-arrow{pointer-events:none;z-index:5;filter:drop-shadow(0 0 4px #000000b3);border-bottom:26px solid #ffd34d;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;position:fixed;top:0;left:0}.pad-label.small{transform:translateY(12px)}.pad-label.small .icon{font-size:14px}.pad-label.small .cost{font-size:13px}.pad-label.small .name{font-size:9px}.tower-stars{color:#ffd34d;letter-spacing:-1px;text-shadow:0 1px 2px #000,0 0 3px #000;font-size:13px}.stack-count{color:#ffd34d;text-shadow:0 1px 2px #000,0 0 4px #000;font-size:16px;font-weight:800}.stack-count.small{font-size:13px}.float-text{text-shadow:0 1px 2px #000,0 0 5px #000;white-space:nowrap;font-weight:800}.hpbar{background:#0009;border-radius:3px;width:34px;height:5px;overflow:hidden}.hpbar div{background:#ff4d4d;width:100%;height:100%}.hpbar.big{width:70px;height:7px}.hpbar.big div{background:#4caf50}.dev-panel{z-index:50;color:#e8ecf3;-webkit-user-select:none;user-select:none;touch-action:pan-y;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#12161ee6;flex-direction:column;width:380px;max-width:100vw;font-size:13px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 16px #0006}.dev-panel.hidden{display:none}.dev-head{justify-content:space-between;align-items:center;padding:10px 12px 4px;display:flex}.dev-title{font-size:16px;font-weight:800}.dev-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.dev-stats{opacity:.75;font-variant-numeric:tabular-nums;padding:0 12px 4px;font-size:11px}.dev-badge{color:#ffb03b;min-height:4px;padding:0 12px;font-size:11px}.dev-body{-webkit-overflow-scrolling:touch;flex:1;padding:4px 8px 24px;overflow-y:auto}.dev-sec{border-top:1px solid #ffffff14;padding:4px 4px 8px}.dev-sec summary{cursor:pointer;padding:6px 0;font-size:14px;font-weight:700;list-style-position:inside}.dev-row{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.dev-label{opacity:.8;min-width:110px}.dev-btn{color:#e8ecf3;cursor:pointer;background:#2c3445;border:1px solid #3d475c;border-radius:6px;padding:5px 8px;font-size:12px;line-height:1.2}.dev-btn:hover{background:#38425a}.dev-btn:active{transform:translateY(1px)}.dev-btn.on{background:#2f7d4a;border-color:#49b06d}.dev-info{opacity:.85;font-variant-numeric:tabular-nums;padding:0 4px;font-size:12px}.dev-num{color:#fff;background:#12161e;border:1px solid #3d475c;border-radius:6px;width:56px;padding:4px 6px;font-size:12px}.dev-select{color:#fff;background:#12161e;border:1px solid #3d475c;border-radius:6px;max-width:170px;padding:4px;font-size:12px}.dev-range{flex:1;min-width:120px}.dev-grid{grid-template-columns:repeat(3,1fr);gap:4px;margin:4px 0 8px;display:grid}.dev-note{opacity:.6;margin:4px 0;font-size:11px;line-height:1.35}.dev-data{font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:12px;line-height:1.5}@media (width<=600px){.dev-panel{width:100vw}.dev-btn{padding:8px 10px;font-size:13px}}#title{z-index:30;pointer-events:none;text-align:center;color:#fff;background:linear-gradient(#0a0e088c,#0a0e0800 38%),radial-gradient(at 50% 60%,#0000 40%,#0a0e0880 100%);flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:max(5vh,20px) 16px 16px;animation:.9s ease-out both title-in;display:flex;position:fixed;inset:0}#title.hidden{display:none}#title.leaving{animation:.45s ease-in both title-out}@keyframes title-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes title-out{to{opacity:0;transform:scale(1.06)}}.logo{margin:0;line-height:0}.logo img{filter:drop-shadow(0 10px 18px #0000008c);width:min(92vw,640px,90vh);height:auto;animation:4s ease-in-out infinite logo-float}@keyframes logo-float{50%{transform:translateY(-6px)rotate(-.6deg)}}.tagline{letter-spacing:.08em;text-transform:uppercase;color:#ffe9a8;text-shadow:0 2px 4px #000000d9,0 0 10px #00000080;margin:4px 0 0;font-size:clamp(15px,2.6vw,24px);font-weight:700}.start{text-shadow:0 2px 4px #000;margin:0;font-size:clamp(15px,2.2vw,20px);font-weight:800;animation:1.4s ease-in-out infinite start-blink;position:absolute;bottom:max(7vh,44px);left:0;right:0}@keyframes start-blink{50%{opacity:.35}}.byline{opacity:.8;text-shadow:0 1px 3px #000;margin:0;font-size:12px;position:absolute;bottom:14px;left:0;right:0}body.title-mode #hud{background:0 0}body.title-mode #hud>:not(#loading),body.title-mode #help{display:none}.lang{gap:4px;display:flex;position:absolute;top:12px;right:12px}.lang .menu-btn{border-width:1px;border-radius:8px;padding:4px 9px;font-size:13px}.lang .menu-btn.on{color:#3a2a05;text-shadow:none;background:#ffd34d;border-color:#fff2a8}.menu-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#show-news{position:relative}.news-dot{background:#ff4d4d;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 6px #ff4d4dcc}.news-dot.hidden{display:none}.board.news{width:min(92vw,460px)}.news-body{font-size:14px;line-height:1.45}.news-body h3{color:#ffd34d;margin:12px 0 2px;font-size:16px}.news-body h3:first-child{margin-top:0}.news-body h4{text-transform:uppercase;letter-spacing:.06em;opacity:.75;margin:8px 0 2px;font-size:13px}.news-body p{margin:4px 0}.news-body ul{margin:2px 0;padding-left:18px}.news-body li{margin:2px 0}.news-body li.sub{margin-left:16px;list-style:circle}.board .news-body li{font-size:inherit;border:none;padding:0;display:list-item}.board{z-index:2;position:relative}#title:has(.board:not(.hidden)) .start{visibility:hidden}#cards{z-index:40;color:#fff;text-align:center;background:#080a06b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;animation:.35s ease-out both title-in;display:flex;position:fixed;inset:0}#cards.hidden{display:none}#cards h2{color:#ffe9a8;text-shadow:0 2px 4px #000;letter-spacing:.04em;margin:0;font-size:clamp(20px,3vw,28px)}.card-hand{flex-wrap:wrap;justify-content:center;gap:12px;max-width:760px;display:flex}.card{cursor:pointer;pointer-events:auto;width:200px;min-height:230px;font:inherit;color:#fff;text-align:center;background:linear-gradient(#2c3420,#1a1f12);border:3px solid #b9b39a;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 12px 12px;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 8px 18px #00000080}.card:hover,.card:focus-visible{outline:none;transform:translateY(-6px);box-shadow:0 14px 24px #0009}.card.rare{background:linear-gradient(#1f3046,#121b28);border-color:#5fb4ff}.card.epic{background:linear-gradient(#3a2347,#1e1226);border-color:#c77dff;box-shadow:0 0 18px #c77dff73,0 8px 18px #00000080}.card-key{opacity:.55;font-size:12px;position:absolute;top:6px;left:9px}.card-icon{font-size:40px;line-height:1.1}.card-name{color:#ffe9a8;font-size:17px;font-weight:800}.card-rarity{text-transform:uppercase;letter-spacing:.1em;opacity:.7;font-size:11px}.card.rare .card-rarity{color:#9fd3ff;opacity:1}.card.epic .card-rarity{color:#e2b8ff;opacity:1}.card-desc{opacity:.95;font-size:14px;line-height:1.35}.card-owned{opacity:.6;margin-top:auto;font-size:12px}#card-reroll{font-size:15px}.card-keys{opacity:.6;margin:0;font-size:12px}#hud-cards{white-space:normal;max-width:46vw;margin-top:2px;font-size:13px;line-height:1.2}@media (pointer:coarse){.card-keys{display:none}}@media (width<=640px){.card-hand{flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:360px}.card{text-align:left;grid-template-columns:48px 1fr;grid-template-areas:"icon name""icon rarity""icon desc""icon owned";gap:2px 10px;width:auto;min-height:0;padding:10px 12px;display:grid}.card-icon{grid-area:icon;align-self:center;font-size:34px}.card-name{grid-area:name;font-size:16px}.card-rarity{grid-area:rarity}.card-desc{grid-area:desc;font-size:13px}.card-owned{grid-area:owned;margin:0}.card-key{display:none}}body:has(#dev:not(.hidden)) #cards{padding-right:396px}body:has(#dev:not(.hidden)) .card{width:160px;min-height:180px}body:has(#dev:not(.hidden)) .card-desc{font-size:12px}#card-reroll.hidden{display:none}
