.defense-dialog{width:min(900px,96vw)}.defense-hub{min-width:0;color:#d7ddc8}.defense-heading,.defense-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.defense-heading h2{margin:4px 0 12px;font-size:23px;color:#e2cc94}.defense-heading small,.defense-muted{color:#aeb99d;font-size:12px;line-height:1.7}.defense-hub button,.defense-hub select,.defense-hub input{min-height:44px}.defense-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 14px}.defense-tabs [aria-pressed=true],.defense-facilities [aria-pressed=true]{border-color:#b39d62;background:#303723;color:#f0d79a}.defense-scene{height:220px;position:relative;overflow:hidden;border:1px solid #546047;border-radius:9px;background:linear-gradient(#101d1990,#0b1519b0),var(--defense-bg) center/cover}.defense-scene-top{position:absolute;z-index:2;inset:12px 14px auto;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#ecd7a0}.defense-fort{position:absolute;left:12%;bottom:50px;width:90px;height:70px;display:flex;align-items:end;gap:4px}.defense-fort i{display:block;flex:1;height:65%;border:2px solid #bdae73;background:linear-gradient(90deg,#39463a,#6b7653,#39463a);box-shadow:0 5px 15px #0009}.defense-fort i:nth-child(2){height:100%;border-top:6px double #d7c186}.defense-enemy{position:absolute;right:13%;bottom:48px;width:108px;height:108px;background-size:300% 200%;filter:drop-shadow(0 6px 4px #000a)}.defense-shot{position:absolute;left:28%;top:56%;width:28px;height:3px;background:#f4d581;box-shadow:0 0 8px #f0c45b;opacity:0}.is-playing .defense-shot{animation:defense-shot var(--defense-shot-time,.35s) linear infinite}.is-playing .defense-enemy{animation:defense-foe .8s ease-in-out infinite alternate}.defense-outcome{position:absolute;inset:70px 8px auto;text-align:center;font-size:25px;color:#f6de9d;text-shadow:0 2px 8px #000}.is-playing .defense-outcome{display:none}.defense-hp{position:absolute;bottom:12px;left:14px;right:14px;color:#e7ddbd;font-size:12px}.defense-hp>div{height:6px;background:#171e17;margin-top:6px}.defense-hp i{display:block;height:100%;background:#b0b676}.defense-replay-controls{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:8px 0}.defense-replay-controls>span{margin-right:auto;font-size:12px}.defense-replay-controls button{padding:4px 9px;font-size:12px}.defense-replay-controls [aria-pressed=true]{border-color:#c2a96c;color:#ebd39c}.defense-prize,.defense-start,.defense-build{padding:14px;border:1px solid #43513d;border-radius:8px;margin:12px 0;background:#19241b}.defense-prize{border-color:#80764c}.defense-prize>button{width:100%}.defense-rewards{display:flex;gap:8px 14px;flex-wrap:wrap;margin:10px 0;font-size:12px}.defense-rewards>span{display:flex;align-items:center;gap:4px}.defense-rewards .item-icon{width:22px;height:22px}.defense-start{display:grid;grid-template-columns:1fr auto;gap:10px}.defense-start>div{grid-column:1/-1}.defense-start small{display:block;margin-top:5px;color:#b2bfa6;font-size:12px}.defense-start>small{grid-column:1/-1}.defense-start select{min-width:0;width:100%}.defense-section-title h3{font-size:16px;margin:0 0 10px;color:#ddc58d}.defense-section-title small{font-size:11px}.defense-facilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.defense-facilities>button{display:grid;gap:4px;justify-items:center;padding:10px 5px}.defense-facilities .item-icon{width:30px;height:30px}.defense-facilities small{font-size:11px;line-height:1.5;color:#b3bfa5;white-space:normal}.defense-facilities progress{width:90%;height:5px;accent-color:#c3aa67}.defense-fund-info{display:flex;flex-wrap:wrap;gap:5px 12px;margin:14px 0 8px}.defense-fund-info small{color:#b7c1a7;font-size:12px}.defense-fund-form{display:flex;align-items:end;gap:8px}.defense-fund-form label{min-width:0;flex:1;font-size:12px;color:#c5c9af}.defense-fund-form input{width:100%;font-size:16px;margin-top:5px}.defense-amounts{display:flex;gap:6px;margin:7px 0}.defense-amounts button{flex:1;font-size:12px;padding:4px}.defense-hub details{border-top:1px solid #394735;padding:8px 0;font-size:13px;line-height:1.8}.defense-hub summary{min-height:40px;align-content:center;cursor:pointer;color:#cbbd8d}.defense-contributors>div{display:grid;grid-template-columns:1fr auto;gap:4px;border-bottom:1px solid #33402e;padding:8px}.defense-contributors small{grid-column:1/-1;color:#a7b498}.defense-pending{padding:12px;border:1px solid #3f4d35;border-radius:6px;margin:8px 0}.defense-pending button{width:100%}.defense-history{width:100%;display:flex;justify-content:space-between;gap:8px;margin:5px 0}.defense-confirm{border:1px solid #b3975b;background:#30321e;padding:16px;border-radius:8px;scroll-margin:20px}.defense-confirm>div{display:flex;gap:8px}.defense-confirm button{flex:1}.defense-feedback{padding:10px;border-left:2px solid #b8a16b;background:#242e1d}.defense-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;margin:10px 0;border-color:#8b7948;text-align:left}.defense-entry span{font-size:12px;color:#abb89c}
@keyframes defense-shot{0%{transform:translateX(0);opacity:1}90%{opacity:1}100%{transform:translateX(260px);opacity:0}}@keyframes defense-foe{from{transform:translateX(3px)}to{transform:translateX(-4px)}}@media(max-width:600px){.defense-heading h2{font-size:19px}.defense-scene{height:190px}.defense-fort{left:10%;width:66px;height:62px}.defense-enemy{width:88px;height:88px;right:8%}.defense-heading{align-items:start}.defense-start,.defense-build,.defense-prize{padding:11px}.defense-start{grid-template-columns:1fr}.defense-start>div,.defense-start>small{grid-column:auto}.defense-facilities{gap:5px}.defense-facilities b{font-size:12px}.defense-facilities small{font-size:10px}.defense-fund-form button{padding-inline:10px}.defense-outcome{font-size:22px}.defense-replay-controls{gap:4px}.defense-replay-controls>span{width:100%}.defense-replay-controls button{flex:1;min-width:0}.defense-rewards{gap:7px 10px}}@media(prefers-reduced-motion:reduce){.is-playing .defense-shot,.is-playing .defense-enemy{animation:none}}

.defense-fort{width:118px;height:96px;display:block;bottom:44px;filter:drop-shadow(0 6px 5px #0009)}.defense-fort svg{width:100%;height:100%;display:block}.defense-heading{flex-wrap:wrap}.defense-heading>div{flex:1;min-width:140px}@media(max-width:600px){.defense-fort{width:94px;height:82px;left:8%;bottom:44px}.defense-heading>button{font-size:12px;padding-inline:9px}}
