:root{--color-bg: #1a1814;--color-bg-elevated: #252220;--color-bg-deep: #100e0b;--color-text: #d9c9a3;--color-text-muted: #8b8170;--color-text-dim: #5a5448;--color-rust: #dd6a35;--color-rust-dim: #8b3e1e;--color-rust-bright: #f5934d;--color-sand: #d9c9a3;--color-military: #6b7340;--color-danger: #8b1e26;--color-queendom: #c64a3a;--color-queendom-tint: rgba(198, 74, 58, .18);--color-canadia: #5b8aa3;--color-canadia-tint: rgba(91, 138, 163, .18);--color-border: #3a3530;--color-border-strong: #5a5048;--font-heading: "Black Ops One", "Impact", sans-serif;--font-stencil: "Special Elite", "Courier New", monospace;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--radius-sm: 2px;--radius-md: 4px;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .55);--shadow-deep: 0 8px 24px rgba(0, 0, 0, .7);--cell-size: clamp(60px, 12vmin, 110px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.5}body{background-image:radial-gradient(ellipse at top,rgba(221,106,53,.08),transparent 60%),radial-gradient(ellipse at bottom,rgba(91,138,163,.05),transparent 60%);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.78 0 0 0 0 0.64 0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}#root{position:relative;z-index:1}h1,h2,h3{font-family:var(--font-heading);letter-spacing:.02em;color:var(--color-sand);margin:0}h1{font-size:clamp(1.4rem,4vmin,2.2rem)}h2{font-size:1.1rem}h3{font-size:1rem}button{font-family:var(--font-body);font-weight:500;letter-spacing:.04em;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-bg-elevated);color:var(--color-sand);padding:.5rem 1rem;border-radius:var(--radius-sm);transition:background-color .15s ease,border-color .15s ease,transform .05s ease}button:hover:not(:disabled){background:var(--color-rust-dim);border-color:var(--color-rust);color:var(--color-sand)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}input[type=text],input[type=number]{font-family:var(--font-mono);background:var(--color-bg-deep);color:var(--color-sand);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:1rem;outline:none;transition:border-color .15s ease}input[type=text]:focus,input[type=number]:focus{border-color:var(--color-rust)}input[type=number]{width:8rem;text-align:center}.board-container{display:flex;align-items:flex-start;justify-content:center;padding:1rem}.board-content{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:640px}.vs-banner{display:flex;align-items:center;justify-content:center;gap:.6rem;text-align:center;border-bottom:1px solid var(--color-border);padding-bottom:.6rem;width:100%;flex-wrap:wrap}.vs-side{display:inline-flex;align-items:center;gap:.4rem}.vs-queendom{color:var(--color-queendom)}.vs-canadia{color:var(--color-canadia)}.vs-divider{color:var(--color-text-muted);font-family:var(--font-body);font-size:.85em;letter-spacing:.2em;text-transform:uppercase}.board{border-collapse:separate;border-spacing:6px;background:linear-gradient(180deg,var(--color-bg-deep) 0%,var(--color-bg) 50%,var(--color-bg-deep) 100%);padding:10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:inset 0 6px 14px #000000bf,inset 0 -2px 4px #0006,0 6px 18px #000000b3}.board td{padding:0}.cell{display:flex;align-items:center;justify-content:center;width:var(--cell-size);height:var(--cell-size);padding:0;background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);border:1px solid var(--color-border);border-radius:var(--radius-sm);position:relative;box-shadow:inset 0 1px #ffdcb40a,0 2px 4px #00000080;transition:background-color .15s ease,border-color .15s ease,transform .05s ease,box-shadow .15s ease}.cell:hover:not(:disabled){border-color:var(--color-rust);background:#c75d3a14}.cell:disabled{opacity:1;cursor:default}.cell-queendom{background:var(--color-queendom-tint);border-color:var(--color-queendom)}.cell-canadia{background:var(--color-canadia-tint);border-color:var(--color-canadia)}.cell-icon{width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.cell.selected{border-color:var(--color-rust-bright);box-shadow:0 0 0 2px var(--color-rust),0 0 12px #c75d3ab3;animation:target-pulse 1.2s ease-in-out infinite}@keyframes target-pulse{0%,to{box-shadow:0 0 0 2px var(--color-rust),0 0 12px #c75d3a99}50%{box-shadow:0 0 0 2px var(--color-rust-bright),0 0 20px #e07a4fd9}}.cell.targetable:not(.selected):hover{border-color:var(--color-rust-bright);background:#e07a4f2e}.cell-destroyed{background:repeating-linear-gradient(135deg,#1a0d08,#1a0d08 6px,#2a1610 6px,#2a1610 12px);border-color:#3a1c0d;box-shadow:inset 0 0 18px #000000d9,inset 0 0 0 1px #501e0a99;cursor:not-allowed}.cell-destroyed:hover{background:repeating-linear-gradient(135deg,#1a0d08,#1a0d08 6px,#2a1610 6px,#2a1610 12px);border-color:#3a1c0d}.cell-destroyed.targetable{cursor:pointer}.cell-destroyed.targetable:not(.selected):hover{border-color:var(--color-rust-bright);background:repeating-linear-gradient(135deg,#e07a4f2e,#e07a4f2e 6px,#2a1610 6px,#2a1610 12px)}.cell-destroyed-icon{font-size:calc(var(--cell-size) * .5);line-height:1;color:#6b3a1a;text-shadow:0 0 4px rgba(120,60,20,.6),0 1px 2px rgba(0,0,0,.8);filter:grayscale(.6) brightness(.85)}.blink{animation-name:blink;animation-duration:.7s;animation-iteration-count:1;animation-timing-function:ease-in-out}@keyframes blink{0%,to{transform:scale(1);box-shadow:0 0 #ff6b3500;background-color:var(--color-bg-deep)}50%{transform:scale(1.08);background-color:var(--color-rust);box-shadow:0 0 20px #ff6b35d9,0 0 0 3px var(--color-rust-bright)}}.turn-indicator{display:flex;align-items:center;gap:.5rem;padding:.4rem .9rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body)}.turn-label{color:var(--color-text-muted);font-size:.85em;letter-spacing:.1em;text-transform:uppercase}.turn-name{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-heading);font-size:1.1em}.turn-name.queendom{color:var(--color-queendom)}.turn-name.canadia{color:var(--color-canadia)}.weapon-panel{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.weapon-button-row{display:flex;align-items:stretch;gap:.5rem}.weapon-button{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.4rem;background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:1.05rem;letter-spacing:.06em;min-width:220px;justify-content:center;box-shadow:inset 0 1px #ffdcb40f,0 3px 6px #00000080}.recycle-button{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;padding:0;background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:1.4rem;line-height:1;color:var(--color-text-muted);box-shadow:inset 0 1px #ffdcb40f,0 3px 6px #00000080}.recycle-button:not(:disabled){color:var(--color-military, var(--color-sand));border-color:var(--color-military, var(--color-border-strong))}.recycle-button:hover:not(:disabled){background:#78915f2e;color:var(--color-sand)}.recycle-button:disabled{opacity:.45}.recycle-confirm{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.6rem .9rem;background:var(--color-bg-deep);border:1px dashed var(--color-military, var(--color-rust));border-radius:var(--radius-sm);font-size:.9rem}.recycle-confirm-text{color:var(--color-sand);text-align:center}.recycle-confirm-actions{display:flex;gap:.5rem}.recycle-confirm-yes,.recycle-confirm-no{padding:.4rem 1rem;font-family:var(--font-heading);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%)}.recycle-confirm-yes{color:var(--color-sand);border-color:var(--color-military, var(--color-rust))}.recycle-confirm-yes:hover{background:#78915f38}.recycle-confirm-no:hover{background:#c75d3a2e}.weapon-button.armed{border-color:var(--color-rust);color:var(--color-rust-bright);background:#c75d3a14}.weapon-button.armed:hover:not(:disabled){background:#c75d3a2e}.weapon-button.active{background:var(--color-rust);color:var(--color-bg);border-color:var(--color-rust-bright);box-shadow:0 0 16px #e07a4f80}.weapon-icon{font-size:1.3em}.weapon-empty{color:var(--color-text-dim);font-style:italic}.weapon-instruction{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .9rem;background:var(--color-bg-deep);border:1px dashed var(--color-rust);border-radius:var(--radius-sm);font-size:.9rem}.weapon-instruction-text{color:var(--color-sand)}.weapon-instruction-count{font-family:var(--font-mono);color:var(--color-rust-bright);font-weight:600}.rareium-bar{position:relative;width:100%;max-width:320px;height:26px;background:var(--color-bg-deep);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.rareium-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--color-military) 0%,var(--color-rust) 100%);transition:width .4s ease}.rareium-label{position:relative;display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 .7rem;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.8)}.rareium-value{font-weight:600}.board-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.cell.winning{border-color:var(--color-rust-bright);box-shadow:inset 0 0 0 2px var(--color-rust-bright),0 0 22px #f5934dd9,0 0 4px #ffd79699;animation:winning-pulse 1.6s ease-in-out infinite;z-index:2}.cell.winning .cell-icon{filter:drop-shadow(0 0 8px rgba(245,147,77,.9)) drop-shadow(0 2px 3px rgba(0,0,0,.6))}@keyframes winning-pulse{0%,to{box-shadow:inset 0 0 0 2px var(--color-rust-bright),0 0 18px #f5934db3,0 0 4px #ffd79680}50%{box-shadow:inset 0 0 0 2px var(--color-rust-bright),0 0 32px #f5934d,0 0 8px #ffd796e6}}.winner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;pointer-events:none;z-index:3;text-align:center;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 60%,transparent 100%);animation:winner-fade-in .4s ease-out}@keyframes winner-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.winner-overlay-name{font-family:var(--font-heading);font-size:clamp(1.6rem,7vmin,3.4rem);letter-spacing:.04em;text-transform:uppercase;color:var(--color-sand);text-shadow:0 2px 0 rgba(0,0,0,.6),0 4px 16px rgba(0,0,0,.85);line-height:1}.winner-overlay-label{font-family:var(--font-heading);font-size:clamp(2.4rem,11vmin,5.4rem);letter-spacing:.08em;text-transform:uppercase;line-height:1;text-shadow:0 0 18px rgba(221,106,53,.7),0 2px 0 rgba(0,0,0,.7),0 6px 18px rgba(0,0,0,.9)}.winner-overlay-0 .winner-overlay-name,.winner-overlay-0 .winner-overlay-label{color:var(--color-queendom)}.winner-overlay-1 .winner-overlay-name,.winner-overlay-1 .winner-overlay-label{color:var(--color-canadia)}.play-again-button{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.6rem;font-family:var(--font-heading);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(180deg,var(--color-rust-bright) 0%,var(--color-rust) 100%);color:var(--color-bg-deep);border:1px solid var(--color-rust-bright);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffffff40,0 4px 14px #dd6a358c;animation:play-again-glow 2.2s ease-in-out infinite}.play-again-button:hover:not(:disabled){background:linear-gradient(180deg,var(--color-rust-bright) 0%,var(--color-rust-bright) 100%);color:var(--color-bg-deep);border-color:var(--color-sand)}@keyframes play-again-glow{0%,to{box-shadow:inset 0 1px #ffffff40,0 4px 14px #dd6a3580}50%{box-shadow:inset 0 1px #ffffff4d,0 6px 22px #f5934dd9}}.game-log{width:100%;max-width:480px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);padding:.6rem .8rem;box-shadow:inset 0 1px #ffdcb40d,0 4px 10px #0000008c}.game-log h2{margin:0 0 .4rem;font-size:.95rem;color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--color-border);padding-bottom:.3rem}.game-log ul{list-style:none;margin:0;padding:0;max-height:180px;overflow-y:auto;font-size:.85rem;line-height:1.4}.game-log ul::-webkit-scrollbar{width:6px}.game-log ul::-webkit-scrollbar-track{background:var(--color-bg-deep)}.game-log ul::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.log-entry{display:flex;align-items:baseline;gap:.5rem;padding:.18rem 0;border-bottom:1px dotted var(--color-border);animation:log-fade-in .35s ease-out}.log-entry:last-child{border-bottom:none}.log-icon{flex:0 0 auto;width:1.2em;text-align:center}.log-text{flex:1;color:var(--color-text)}@keyframes log-fade-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 4rem);padding:2rem 1rem;gap:1.5rem;position:relative}.lobby:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(198,74,58,.1),transparent 50%),radial-gradient(circle at 80% 70%,rgba(91,138,163,.1),transparent 50%);z-index:-1;pointer-events:none}.lobby h1{font-size:clamp(1.6rem,5vmin,2.6rem);text-align:center;letter-spacing:.04em}.lobby-title{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}.game-title{display:flex;flex-direction:column;align-items:center;line-height:.95;font-size:clamp(2.2rem,8vmin,4rem);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.6)}.game-title-main{color:var(--color-sand)}.game-title-accent{color:var(--color-rust);text-shadow:0 0 18px rgba(221,106,53,.55),0 2px 0 rgba(0,0,0,.6),0 4px 10px rgba(0,0,0,.55)}.lobby-subtitle{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase}.lobby-form,.lobby-actions{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:1.5rem;background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffdcb40f,var(--shadow-deep);min-width:min(320px,90vw)}.lobby-actions{gap:1rem}.lobby-row{display:flex;align-items:center;gap:.5rem}.lobby-divider{font-family:var(--font-body);color:var(--color-text-dim);font-size:.8em;letter-spacing:.2em;text-transform:uppercase}.lobby-hint{font-size:.8rem;color:var(--color-text-muted);text-align:center;max-width:28rem}.lobby-pending{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem .9rem;background:var(--color-bg-deep);border:1px dashed var(--color-rust);border-radius:var(--radius-sm);max-width:28rem;text-align:center}.lobby-pending-dot{width:10px;height:10px;border-radius:50%;background:var(--color-rust-bright);box-shadow:0 0 12px #f5934db3;animation:lobby-pending-pulse 1.1s ease-in-out infinite}@keyframes lobby-pending-pulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.4);opacity:1}}.lobby-pending-text{font-family:var(--font-heading);font-size:.95rem;letter-spacing:.06em;color:var(--color-sand)}.lobby-pending-ellipsis span{display:inline-block;animation:lobby-pending-dots 1.4s steps(1,end) infinite;opacity:0}.lobby-pending-ellipsis span:nth-child(1){animation-delay:0s}.lobby-pending-ellipsis span:nth-child(2){animation-delay:.35s}.lobby-pending-ellipsis span:nth-child(3){animation-delay:.7s}@keyframes lobby-pending-dots{0%{opacity:0}25%,to{opacity:1}}.lobby-pending-hint{font-size:.78rem;color:var(--color-text-muted);line-height:1.4}.lobby-error{padding:.5rem .8rem;background:#8b1e262e;border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-sand);font-size:.85rem;text-align:center;max-width:28rem}.factions-preview{display:flex;gap:1.5rem;align-items:stretch;justify-content:center}.faction-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem;background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:clamp(100px,22vmin,140px);box-shadow:inset 0 1px #ffdcb40d,0 4px 10px #0000008c}.faction-card img{width:100%;height:auto;border-radius:var(--radius-sm)}.faction-card.queendom{border-color:var(--color-queendom)}.faction-card.canadia{border-color:var(--color-canadia)}.faction-card span{font-family:var(--font-heading);font-size:.85rem;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}.faction-card.queendom span{color:var(--color-queendom)}.faction-card.canadia span{color:var(--color-canadia)}.match-shell{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem .5rem 0}.match-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem .8rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;max-width:440px}.match-bar h3{flex:1;margin:0;text-align:center}.match-bar-button{flex:0 0 auto;padding:.4rem .9rem;font-size:.85rem;background:var(--color-bg-deep);border:1px solid var(--color-border-strong)}.match-bar h3{margin:0;font-family:var(--font-mono);font-size:1rem;color:var(--color-rust-bright);letter-spacing:.1em}.about-button{position:fixed;top:.7rem;right:.7rem;padding:.4rem .9rem;font-size:.85rem;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);z-index:100}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:radial-gradient(ellipse at center,#000000b3,#000000eb);display:flex;align-items:center;justify-content:center;padding:1rem;animation:popup-fade-in .2s ease-out}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}.popup{position:relative;width:min(100%,680px);max-height:90vh;overflow-y:auto;background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-deep) 100%);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:inset 0 1px #ffdcb40f,var(--shadow-deep);padding:1.8rem 1.6rem;color:var(--color-text);animation:popup-slide-in .25s ease-out}@keyframes popup-slide-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.popup::-webkit-scrollbar{width:8px}.popup::-webkit-scrollbar-track{background:var(--color-bg-deep)}.popup::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.popup-close{position:absolute;top:.5rem;right:.5rem;width:2.2rem;height:2.2rem;padding:0;font-family:var(--font-body);font-size:1.5rem;line-height:1;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center}.popup-close:hover{background:var(--color-rust-dim);color:var(--color-sand);border-color:var(--color-rust)}.popup-title{font-family:var(--font-heading);font-size:1.6rem;color:var(--color-rust-bright);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .2rem;text-align:left}.popup-section{margin-bottom:1.2rem}.popup-section:last-child{margin-bottom:0}.popup-section h3{font-family:var(--font-heading);font-size:1.05rem;color:var(--color-sand);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .5rem}.popup-section p{font-size:.95rem;line-height:1.55;margin:0 0 .5rem;color:var(--color-text)}.faction.queendom h3{color:var(--color-queendom)}.faction.canadia h3{color:var(--color-canadia)}.faction-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.faction-header img{width:2rem;height:2rem;object-fit:contain}.faction-flag{display:block;width:100%;height:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:.6rem;filter:brightness(.85) contrast(1.05)}.weapons-list{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.5rem}.weapons-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .7rem;background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.45}.weapon-emoji{flex:0 0 auto;font-size:1.4rem;line-height:1}@media (max-width: 480px){:root{--cell-size: clamp(50px, 18vmin, 90px)}.board-container{padding:.5rem}.game-log ul{max-height:140px}.weapon-button-row{width:100%}.weapon-button{min-width:0;flex:1}}@media (orientation: landscape) and (max-height: 520px){:root{--cell-size: clamp(40px, 12vh, 70px)}.board-content{gap:.7rem}.game-log ul{max-height:100px}}
