.tray{grid-template-columns:repeat(5,1fr) 1.18fr;gap:8px}.swatch.punch{background:#faf8f1;color:#59625f;border:2px solid #59625f;box-shadow:inset 0 0 0 5px #faf8f1}.power-card{border-left:1px dashed rgba(37,50,53,.18)}.tower-panel{position:absolute;z-index:4;left:22px;bottom:22px;width:min(520px,calc(100% - 44px));min-height:106px;border-radius:18px;background:rgba(250,248,241,.96);box-shadow:0 14px 40px rgba(48,47,40,.2);border:1px solid rgba(37,50,53,.14);display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px;padding:16px 18px}.tower-panel.hidden{display:none}.panel-close{position:absolute;right:7px;top:5px;border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.panel-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--teal);font-size:28px}.panel-copy small{font-size:10px;color:var(--muted);letter-spacing:.13em}.panel-copy h2{margin:2px 0 9px;font-size:19px}.panel-stats{display:flex;gap:17px}.panel-stats span{font-size:11px;color:var(--muted)}.panel-stats b{display:block;color:var(--ink);font-size:14px}.upgrade-btn{margin-right:10px;border:0;border-radius:12px;padding:12px 14px;background:var(--ink);color:white;cursor:pointer;min-width:90px}.upgrade-btn span,.upgrade-btn b{display:block}.upgrade-btn span{font-weight:750}.upgrade-btn b{font-size:11px;color:#d8dedb;margin-top:2px}.upgrade-btn:disabled{opacity:.45}
@media(max-width:900px){.tray{grid-template-columns:repeat(5,1fr)}.next-wave{grid-column:1/6}.tower-panel{left:8px;bottom:8px;width:calc(100% - 16px);grid-template-columns:48px 1fr auto;padding:11px}.panel-icon{width:44px;height:44px}.panel-stats{gap:9px}.upgrade-btn{margin:0;padding:10px 8px;min-width:70px}}
.targeting{display:flex;align-items:center;gap:4px;margin-top:10px}.targeting span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-right:3px}.targeting button{border:1px solid rgba(37,50,53,.14);border-radius:10px;background:transparent;padding:5px 8px;font-size:10px;cursor:pointer}.targeting button.active{background:var(--ink);color:white;border-color:var(--ink)}.tower-panel{width:min(610px,calc(100% - 44px));grid-template-columns:64px 1fr auto}
@media(max-width:600px){.targeting{display:grid;grid-template-columns:repeat(4,1fr)}.targeting span{grid-column:1/5}.targeting button{padding:5px 3px}.tower-panel{align-items:start}.panel-stats span{font-size:9px}}
.tray{grid-template-columns:repeat(6,1fr) 1.05fr 1.1fr}.swatch.eraser{background:#9a8cc0}.tower-card.locked{opacity:.4;filter:grayscale(.8);cursor:not-allowed}.panel-actions{display:grid;gap:6px}.sell-btn{border:1px solid rgba(37,50,53,.2);border-radius:12px;padding:8px 12px;background:transparent;color:var(--ink);cursor:pointer}.sell-btn span,.sell-btn b{display:block}.sell-btn span{font-weight:750}.sell-btn b{font-size:10px;color:var(--muted)}.ability-btn{position:relative;overflow:hidden;border:1px solid rgba(37,50,53,.16);border-radius:14px;background:#fff;color:var(--ink);padding:10px;cursor:pointer}.ability-btn span{position:absolute;left:0;bottom:0;height:4px;width:0;background:linear-gradient(90deg,#e34293,#22a9d6,#f0c928);transition:width .2s}.ability-btn b,.ability-btn small{position:relative;display:block}.ability-btn b{font-size:13px}.ability-btn small{font-size:10px;color:var(--muted)}.ability-btn:not(:disabled){box-shadow:0 0 0 2px rgba(226,184,82,.25),0 5px 18px rgba(226,184,82,.2)}.ability-btn:disabled{cursor:default}.ability-btn.active{background:#fff8d9}.ability-btn.active b{color:#a46b00}
@media(max-width:900px){.tray{grid-template-columns:repeat(6,1fr)}.next-wave{grid-column:4/7}.ability-btn{grid-column:1/4}.tower-card span b{font-size:10px}.tower-panel{grid-template-columns:44px 1fr auto}.panel-actions{min-width:65px}}
.tray{grid-template-columns:repeat(6,minmax(94px,1fr)) 145px 170px;align-items:stretch}.tower-card{grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;column-gap:9px;padding:9px}.tower-card .swatch{grid-row:1/3}.tower-card span{align-self:end}.tower-card span b{font-size:13px;line-height:1.05}.tower-card span small{display:none}.tower-card em{grid-column:2;align-self:start;font-size:12px;margin-top:3px}.ability-btn,.next-wave{min-width:0}.ink-remaining{position:absolute;right:20px;top:18px;z-index:3;background:rgba(250,248,241,.92);border:1px solid rgba(37,50,53,.12);border-radius:14px;padding:8px 13px;text-align:center;box-shadow:0 5px 18px rgba(48,47,40,.1)}.ink-remaining.hidden{display:none}.ink-remaining b,.ink-remaining span{display:block}.ink-remaining b{font-size:20px}.ink-remaining span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.notice{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100% - 30px));display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:20px;border-radius:20px;background:rgba(250,248,241,.97);box-shadow:0 20px 70px rgba(37,50,53,.25);border:1px solid rgba(37,50,53,.14)}.notice.hidden{display:none}.notice>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:white;font-weight:900;font-size:24px}.notice small{color:var(--coral);font-size:9px;letter-spacing:.15em;font-weight:800}.notice h2{font-size:19px;margin:2px 0}.notice p{font-size:12px;margin:0;color:var(--muted)}.notice button{border:0;border-radius:12px;background:var(--ink);color:white;padding:10px 13px;font-weight:700;cursor:pointer}.page-turn{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#e9e3d7;overflow:hidden;perspective:1200px}.page-turn.hidden{display:none}.turn-sheet{position:absolute;inset:-3%;background:#f8f5ec;transform-origin:left center;animation:turnPage 1.65s cubic-bezier(.65,.02,.25,1) forwards;box-shadow:12px 0 35px rgba(37,50,53,.2)}.turn-copy{position:relative;text-align:center;z-index:2;animation:turnCopy 1.8s ease both}.turn-copy small{font-size:10px;letter-spacing:.18em;color:var(--teal);font-weight:800}.turn-copy h2{font-size:32px;margin:8px}.turn-copy p{color:var(--muted);font-size:13px}@keyframes turnPage{0%{transform:rotateY(0)}75%,100%{transform:rotateY(-178deg)}}@keyframes turnCopy{0%,30%{opacity:0;transform:translateY(8px)}55%,100%{opacity:1;transform:none}}.achievements-panel{position:absolute;z-index:9;right:18px;top:18px;width:min(360px,calc(100% - 36px));padding:20px;border-radius:18px;background:rgba(250,248,241,.98);box-shadow:0 18px 60px rgba(37,50,53,.25)}.achievements-panel.hidden{display:none}.achievements-panel>button{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:22px}.achievements-panel>small{font-size:9px;letter-spacing:.16em;color:var(--teal);font-weight:800}.achievements-panel h2{margin:4px 0 12px}.achievement{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:9px 0;border-top:1px solid rgba(37,50,53,.09)}.achievement i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e2ded4;font-style:normal}.achievement b,.achievement span{display:block}.achievement b{font-size:12px}.achievement span{font-size:10px;color:var(--muted)}.achievement.locked{opacity:.42}.achievement:not(.locked) i{background:var(--yellow);color:white}.tower-offline{filter:grayscale(1)}
@media(max-width:1100px){.tray{grid-template-columns:repeat(3,1fr) 130px 150px}.ability-btn{grid-column:4}.next-wave{grid-column:5;grid-row:1/3}.tower-card{min-height:58px}}
@media(max-width:700px){.tray{grid-template-columns:repeat(3,1fr)!important}.ability-btn{grid-column:1/2!important}.next-wave{grid-column:2/4!important;grid-row:auto}.tower-card em{font-size:10px}.notice{grid-template-columns:44px 1fr}.notice button{grid-column:1/3}.turn-copy{padding:20px}}

/* Compact tool summaries without changing the game's intended proportions. */
@media(min-width:901px){.tray{min-height:104px}.tower-card span{align-self:center}.tower-card span small{display:block;font-size:8px;line-height:1.18;margin-top:3px;white-space:normal;overflow:visible;text-overflow:clip;color:var(--muted)}.tower-card em{align-self:center;margin-top:0}}
