:root{--bg-primary: #0a0b0e;--bg-secondary: rgba(16, 18, 27, .85);--bg-tertiary: rgba(26, 29, 43, .95);--color-cyan: #00f0ff;--color-green: #39ff14;--color-gold: #ffb700;--color-pink: #ff0055;--color-dark-gray: #1b1f2b;--text-main: #e2e8f0;--text-muted: #718096;--font-mono: "Share Tech Mono", "Courier New", monospace;--font-display: "Orbitron", "Inter", sans-serif;--font-sans: "Inter", sans-serif;--glow-cyan: 0 0 10px rgba(0, 240, 255, .4), 0 0 20px rgba(0, 240, 255, .2);--glow-green: 0 0 10px rgba(57, 255, 20, .4), 0 0 20px rgba(57, 255, 20, .2);--glow-gold: 0 0 10px rgba(255, 183, 0, .4), 0 0 20px rgba(255, 183, 0, .2);--glow-pink: 0 0 10px rgba(255, 0, 85, .4), 0 0 20px rgba(255, 0, 85, .2);--panel-border: 1px solid rgba(0, 240, 255, .15);--panel-radius: 8px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);overflow:hidden;height:100vh;width:100vw;display:flex;justify-content:center;align-items:center;background-image:radial-gradient(circle at 10% 20%,rgba(0,240,255,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(255,0,85,.05) 0%,transparent 40%)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:var(--color-cyan);border-radius:3px;box-shadow:var(--glow-cyan)}.glow-text{font-family:var(--font-display);color:#fff;text-shadow:0 0 8px rgba(255,255,255,.3),0 0 15px var(--color-cyan);letter-spacing:2px}.text-cyan{color:var(--color-cyan);text-shadow:0 0 5px rgba(0,240,255,.5)}.text-green{color:var(--color-green);text-shadow:0 0 5px rgba(57,255,20,.5)}.text-gold{color:var(--color-gold);text-shadow:0 0 5px rgba(255,183,0,.5)}.text-danger{color:var(--color-pink);text-shadow:0 0 5px rgba(255,0,85,.5)}.panel{background:var(--bg-secondary);border:var(--panel-border);border-radius:var(--panel-radius);box-shadow:0 8px 32px #0000005e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:16px;display:flex;flex-direction:column;position:relative;transition:border-color .3s ease,box-shadow .3s ease}.panel:hover{border-color:#00f0ff4d;box-shadow:0 8px 32px #00f0ff0d}.panel-header{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.panel-header h2{font-family:var(--font-display);font-size:.95rem;text-transform:uppercase;color:var(--color-cyan);letter-spacing:1px}.map-controls{display:flex;gap:4px}.cyber-btn{background:transparent;border:1px solid var(--color-cyan);color:var(--color-cyan);font-family:var(--font-display);font-size:.9rem;font-weight:700;padding:12px 24px;cursor:pointer;position:relative;text-transform:uppercase;letter-spacing:1.5px;transition:all .2s ease;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.cyber-btn:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-cyan);opacity:0;z-index:-1;transition:opacity .2s ease}.cyber-btn:hover{color:#000;box-shadow:var(--glow-cyan);text-shadow:none}.cyber-btn:hover:after{opacity:1}.cyber-btn.pulse-glow{animation:pulse-glow-anim 2s infinite}@keyframes pulse-glow-anim{0%{box-shadow:0 0 5px #00f0ff33}50%{box-shadow:0 0 15px #00f0ff99}to{box-shadow:0 0 5px #00f0ff33}}.cyber-btn.success-glow{border-color:var(--color-green);color:var(--color-green)}.cyber-btn.success-glow:after{background:var(--color-green)}.cyber-btn.success-glow:hover{box-shadow:var(--glow-green);color:#000}.cyber-btn.warning-glow{border-color:var(--color-gold);color:var(--color-gold)}.cyber-btn.warning-glow:after{background:var(--color-gold)}.cyber-btn.warning-glow:hover{box-shadow:var(--glow-gold);color:#000}.cyber-btn-outline{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-main);padding:8px 16px;cursor:pointer;font-family:var(--font-display);font-size:.8rem;letter-spacing:1px;transition:all .2s ease}.cyber-btn-outline:hover{border-color:var(--color-cyan);color:var(--color-cyan);box-shadow:var(--glow-cyan)}.cyber-btn-outline.danger:hover{border-color:var(--color-pink);color:var(--color-pink);box-shadow:var(--glow-pink)}.cyber-btn-outline.small{padding:4px 10px;font-size:.7rem}.game-container{display:flex;flex-direction:column;width:100vw;max-width:1400px;height:100vh;padding:12px;gap:16px;box-sizing:border-box}.game-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--color-cyan);padding-bottom:8px;box-shadow:0 4px 12px #00f0ff0d}.game-header .logo h1{font-size:1.6rem;font-weight:900}.game-header .logo .version{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono);font-weight:400}.game-info{display:flex;gap:24px}.info-block{display:flex;flex-direction:column;align-items:center}.info-block .label{font-size:.65rem;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:1px}.info-block .value{font-family:var(--font-display);font-weight:700;font-size:1.1rem}.game-layout{display:grid;grid-template-columns:1.45fr 1.15fr .7fr;gap:16px;flex:1;min-height:0}.map-panel{min-height:0;display:flex;flex-direction:column}.map-container{flex:1;display:flex;justify-content:center;align-items:center;background:#0000004d;border-radius:4px;border:1px solid rgba(255,255,255,.03);padding:10px;position:relative}#spider-map{width:100%;height:100%;max-height:480px;max-width:480px}.map-link{stroke:#00f0ff40;stroke-width:2px;stroke-dasharray:4,4}.map-link.radial{stroke:#00f0ff66;stroke-dasharray:0}.map-node{stroke-width:2px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.map-node:hover{r:14px;filter:drop-shadow(0 0 8px currentColor)}.node-treasury{fill:#000;stroke:var(--color-gold);filter:drop-shadow(0 0 6px var(--color-gold))}.node-item{fill:#1a1508;stroke:var(--color-gold)}.node-event{fill:#081a1a;stroke:var(--color-cyan)}.node-modifier{fill:#0d1a08;stroke:var(--color-green)}.node-trap{fill:#1a080d;stroke:var(--color-pink)}.node-highlight{stroke:#fff!important;stroke-width:3px!important;animation:node-pulse 1.5s infinite}@keyframes node-pulse{0%{filter:drop-shadow(0 0 2px #fff)}50%{filter:drop-shadow(0 0 12px #fff)}to{filter:drop-shadow(0 0 2px #fff)}}.player-marker{font-family:var(--font-display);font-size:10px;font-weight:900;text-anchor:middle;dominant-baseline:central;pointer-events:none}.pm-player{fill:var(--color-green);filter:drop-shadow(0 0 4px var(--color-green))}.pm-cpu1{fill:var(--color-cyan)}.pm-cpu2{fill:#9d00ff}.pm-cpu3{fill:#f70}.pm-cpu4{fill:#e100ff}.node-text{font-family:var(--font-mono);font-size:11px;font-weight:700;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke fill;stroke:#000;stroke-width:2.5px;stroke-linejoin:round}.node-text.text-highlight{fill:var(--color-gold);stroke:#000;stroke-width:3px;filter:drop-shadow(0 0 3px var(--color-gold))}.map-legend{display:flex;justify-content:center;gap:16px;margin-top:12px;font-size:.75rem;font-family:var(--font-mono)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;border:1px solid}.legend-dot.item{background:#1a1508;border-color:var(--color-gold)}.legend-dot.event{background:#081a1a;border-color:var(--color-cyan)}.legend-dot.modifier{background:#0d1a08;border-color:var(--color-green)}.legend-dot.trap{background:#1a080d;border-color:var(--color-pink)}.legend-dot.treasury{background:#000;border-color:var(--color-gold);box-shadow:var(--glow-gold)}.dashboard-panel{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding-right:4px}.game-layout .panel{padding:10px 12px}.game-layout .panel-header{margin-bottom:8px;padding-bottom:6px}.status-panel{flex:none}.status-toggle-arrow{display:none}.status-grid{display:grid;grid-template-columns:1fr;gap:8px}.flex-row{display:flex;justify-content:space-between;gap:16px}.flex-row>div{flex:1}.status-item .label{font-size:.7rem;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;display:block}.hp-bar-container{height:20px;background:var(--color-dark-gray);border:1px solid rgba(255,0,85,.2);position:relative;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 5px #00000080}.hp-bar{height:100%;background:linear-gradient(90deg,#f05,#ff5e00);box-shadow:0 0 10px #ff005580;transition:width .5s ease-in-out}.bar-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}.thread-display-container{display:inline-block;border:2px solid var(--color-gold);padding:4px 16px;background:#ffb7000d;border-radius:4px;box-shadow:inset 0 0 8px #ffb7001a;position:relative}.glow-num{font-family:var(--font-display);font-size:1.6rem;font-weight:900;color:var(--color-gold);text-shadow:var(--glow-gold)}.badge-list{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:.7rem;padding:4px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-family:var(--font-mono)}.badge.item-collected{border-color:var(--color-gold);color:var(--color-gold);background:#ffb70014}.badge.empty{color:var(--text-muted)}.hint-list{display:flex;flex-direction:column;gap:4px}.hint-item{font-family:var(--font-mono);font-size:.8rem;color:var(--color-cyan);background:#00f0ff08;padding:6px 10px;border-left:2px solid var(--color-cyan)}.hint-empty{font-size:.75rem;color:var(--text-muted);font-style:italic}.console-panel{flex:none}.console-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:180px}.ctrl-group{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.prompt-text{font-size:.85rem;color:var(--text-main);line-height:1.5}.btn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.mt-10{margin-top:10px}.combat-status{width:100%;margin-bottom:8px}.combat-sums{display:flex;justify-content:space-around;align-items:center;margin-top:8px;background:#0003;padding:10px;border-radius:4px;border:1px solid rgba(255,255,255,.02)}.sum-box{display:flex;flex-direction:column;align-items:center;min-width:100px}.sum-box .name{font-size:.75rem;color:var(--text-muted)}.sum-box .score{font-family:var(--font-display);font-size:1.8rem;font-weight:700}.versus{font-family:var(--font-display);font-weight:900;color:var(--color-pink);font-size:1rem}.safety-badge{font-size:.7rem;padding:2px 6px;border-radius:2px;font-weight:700;margin-top:4px;text-transform:uppercase}.safety-badge.safety-safe{background:#39ff1433;color:var(--color-green);border:1px solid var(--color-green)}.safety-badge.safety-warm{background:#ffb70033;color:var(--color-gold);border:1px solid var(--color-gold)}.safety-badge.safety-hot{background:#ff5e0033;color:#ff5e00;border:1px solid #ff5e00}.safety-badge.safety-critical{background:#f053;color:var(--color-pink);border:1px solid var(--color-pink);animation:pulse-danger 1s infinite}@keyframes pulse-danger{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.card-hand{display:flex;gap:8px;margin:12px 0;justify-content:center;flex-wrap:wrap}.cyber-card{width:54px;height:80px;background:var(--bg-tertiary);border:1px solid rgba(0,240,255,.3);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 8px #0000004d}.cyber-card:hover{transform:translateY(-8px);border-color:var(--color-cyan);box-shadow:var(--glow-cyan)}.cyber-card .value{font-family:var(--font-mono);font-size:.95rem;font-weight:700;color:var(--color-cyan)}.cyber-card .card-glow-bg{font-size:.5rem;color:var(--text-muted)}.treasury-status{width:100%}.treasury-locks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.lock-slot{display:flex;flex-direction:column;align-items:center;background:#0006;border:1px solid rgba(255,183,0,.2);border-radius:4px;padding:8px;position:relative}.lock-slot .weight{font-family:var(--font-display);font-weight:700;color:var(--color-gold)}.slot-frame{font-family:var(--font-mono);font-size:1.1rem;margin:8px 0;color:var(--text-main);background:#ffffff05;padding:2px 8px;border-radius:2px;border:1px solid rgba(255,255,255,.05)}.slot-btn{width:26px;height:26px;background:var(--bg-tertiary);border:1px solid rgba(255,183,0,.3);color:var(--color-gold);cursor:pointer;margin:2px 0;font-weight:700;border-radius:2px}.slot-btn:hover{background:var(--color-gold);color:#000;box-shadow:var(--glow-gold)}.treasury-calc{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.85rem;margin-bottom:12px;padding:8px;border-top:1px solid rgba(255,255,255,.05);width:100%}.log-panel{display:flex;flex-direction:column;min-height:0;height:100%}.log-toggle-arrow{display:none}.log-status{font-family:var(--font-mono);font-size:.65rem;color:var(--color-green);border:1px solid var(--color-green);padding:2px 6px;border-radius:2px}.log-window{flex:1;background:#050608;border:1px solid rgba(255,255,255,.02);border-radius:4px;padding:10px;overflow-y:auto;font-family:var(--font-mono);font-size:.72rem;color:#a0aec0;display:flex;flex-direction:column;gap:6px;text-shadow:0 0 1px rgba(0,0,0,.5)}.log-line{line-height:1.4;border-left:2px solid rgba(255,255,255,.1);padding-left:8px;animation:log-fade-in .2s ease-out}@keyframes log-fade-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.log-line.important{border-color:var(--color-pink);color:#fff;background:#ff005508}.log-line.success{border-color:var(--color-green);color:var(--color-green)}.log-line.warning{border-color:var(--color-gold);color:var(--color-gold)}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#06080cf2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;transition:opacity .4s ease,visibility .4s ease}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.overlay-content{background:var(--bg-secondary);border:2px solid var(--color-cyan);box-shadow:0 0 30px #00f0ff26;border-radius:12px;width:100%;max-width:900px;padding:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.overlay-content h1{font-size:2.8rem;font-weight:900;margin-bottom:-10px}.overlay-content .subtitle{font-family:var(--font-mono);color:var(--color-cyan);font-size:.95rem;letter-spacing:3px}.overlay-content h2{font-size:1.1rem;color:var(--text-main);font-weight:400;margin-top:10px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;margin:16px 0}.role-card{background:#0006;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:16px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.role-card:hover{border-color:#00f0ff80;background:#00f0ff05;transform:translateY(-4px)}.role-card.selected{border-color:var(--color-cyan);background:#00f0ff0f;box-shadow:0 0 15px #00f0ff26}.role-header{display:flex;justify-content:space-between;align-items:center}.role-header h3{font-family:var(--font-display);font-size:1.05rem;color:#fff}.role-badge{font-size:.65rem;font-family:var(--font-mono);padding:2px 6px;border-radius:2px;font-weight:700}.role-badge.speed{background:#00f0ff33;color:var(--color-cyan)}.role-badge.item{background:#39ff1433;color:var(--color-green)}.role-badge.combat{background:#f053;color:var(--color-pink)}.role-badge.gold{background:#ffb70033;color:var(--color-gold)}.role-badge.curse{background:#9d00ff33;color:#c084fc}.role-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.hidden{display:none!important}.log-p-name{color:var(--color-green);font-weight:700;text-shadow:0 0 4px rgba(57,255,20,.4)}.log-c1-name{color:var(--color-cyan);font-weight:700;text-shadow:0 0 4px rgba(0,240,255,.4)}.log-c2-name{color:#c084fc;font-weight:700;text-shadow:0 0 4px rgba(192,132,252,.4)}.log-c3-name{color:#f70;font-weight:700;text-shadow:0 0 4px rgba(255,119,0,.4)}.log-kw-gold{color:var(--color-gold);font-weight:700;text-shadow:0 0 4px rgba(255,183,0,.4)}.log-kw-danger{color:var(--color-pink);font-weight:700;text-shadow:0 0 4px rgba(255,0,85,.4)}.log-kw-damage{color:#ff3b30;font-weight:700}.log-kw-success{color:var(--color-green);font-weight:700}.log-kw-warning{color:var(--color-gold);font-weight:700}@media (max-width: 767px){.game-container{display:grid;grid-template-rows:auto auto auto 1fr;grid-template-columns:1fr 1fr;gap:6px;width:100vw;height:100vh;padding:6px;box-sizing:border-box;overflow:hidden}.game-header{grid-column:span 2;display:flex;flex-direction:row;gap:4px;align-items:center;padding-bottom:4px;padding-top:4px;justify-content:space-between}.game-header .logo h1{font-size:.95rem;letter-spacing:.5px}.game-info{width:auto;justify-content:flex-end;gap:6px}.info-block{gap:1px}.info-block .label{font-size:.55rem}.info-block .value{font-size:.75rem}#reset-game-btn{padding:2px 6px;font-size:.65rem;letter-spacing:0px;border-color:#ffffff26}.game-layout,.dashboard-panel{display:contents}.map-panel .panel-header h2,.map-controls{display:none}.map-panel{grid-column:span 2;flex:none;height:290px;padding:4px;align-items:center;justify-content:center}.map-container{padding:0;flex:1;width:100%;display:flex;justify-content:center;align-items:center}#spider-map{max-height:235px;max-width:235px;height:100%;width:100%}.map-legend{margin-top:2px;gap:6px;font-size:.55rem}.flex-row{flex-direction:row;gap:6px}.combat-sums{gap:4px;padding:4px}.combat-sums .score{font-size:1.2rem}.versus{font-size:.75rem}.log-panel{grid-column:2;grid-row:4;flex:none;height:42px;min-height:0;overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1);align-self:start;padding:8px 10px!important}.log-panel.expanded{height:220px}.log-panel .panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:4px;margin-bottom:6px;height:26px;display:flex;align-items:center}.log-toggle-arrow{display:inline-block;font-size:.7rem;margin-left:4px;color:var(--color-cyan);text-shadow:var(--glow-cyan)}.console-panel{grid-column:span 2;order:1;padding:8px 12px!important}.status-panel{grid-column:1;grid-row:4;order:2;padding:8px 10px!important;flex:none;height:42px;min-height:0;overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1);align-self:start;display:flex;flex-direction:column}.status-panel.expanded{height:220px}.status-panel .panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:4px;margin-bottom:6px;height:26px;display:flex;align-items:center}.status-toggle-arrow{display:inline-block;font-size:.75rem;margin-left:4px;color:var(--color-cyan);text-shadow:var(--glow-cyan)}.log-window{font-size:.72rem;line-height:1.5;padding:4px!important;height:calc(100% - 32px);overflow-y:auto}.log-line{padding:3px 0 3px 6px!important;line-height:1.5;margin-bottom:2px}.status-panel.expanded .status-grid{flex:1;overflow-y:auto;padding-right:4px}.status-grid{display:flex;flex-direction:column;gap:8px;width:100%}.status-item{padding:6px 0!important;background:transparent;border:none!important;border-top:1px solid rgba(255,255,255,.05)!important;margin:0!important;display:flex;flex-direction:column;gap:4px}.status-item:first-child{border-top:none!important}.status-item:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:8px}.status-item:nth-child(2)>div{width:100%;display:flex;flex-direction:column;gap:4px}.status-item:nth-child(2)>div:last-child{border-top:1px solid rgba(255,255,255,.05);padding-top:8px}.status-item:nth-child(3){display:flex;flex-direction:column;align-items:flex-start;gap:4px}.status-item:nth-child(3) .label{margin-bottom:2px;font-size:.6rem}.hp-bar-container{height:12px}.bar-text{font-size:.6rem}.thread-display-container{padding:0 6px;border-width:1px}.glow-num{font-size:.95rem}#player-role-display{font-size:.75rem}#item-list{gap:2px}.badge{font-size:.55rem;padding:1px 3px;border-radius:2px}.hint-item{font-size:.7rem;padding:2px 4px}#treasury-security-status{font-size:.7rem!important;padding:2px 4px!important;margin-top:2px!important}.console-content{min-height:auto;height:auto}.ctrl-group{gap:6px}.prompt-text{font-size:.68rem;margin-bottom:0}.overlay-content{padding:16px 12px;gap:10px;max-height:96vh;width:96vw;overflow-y:auto}.overlay-content h1{font-size:1.8rem;margin-bottom:-5px;letter-spacing:1px}.overlay-content .subtitle{font-size:.8rem;letter-spacing:1px}.overlay-content h2{font-size:.85rem;margin-top:2px}.role-grid{grid-template-columns:1fr;gap:6px;margin:6px 0}.role-card{padding:8px 10px;gap:4px}.role-header h3{font-size:.9rem}.role-badge{font-size:.6rem;padding:1px 4px}.role-desc{font-size:.7rem;line-height:1.3}.name-input-container,.room-input-container{margin:4px 0!important;gap:4px!important}.name-input-container label,.room-input-container label{font-size:.7rem!important}.name-input-container input,.room-input-container input{padding:8px!important;font-size:.95rem!important}#role-select-overlay .overlay-content div[style*="display: flex"]{flex-direction:column!important;gap:8px!important;margin-top:4px!important;width:100%!important;max-width:320px!important}#start-game-btn,#match-online-btn,#show-rules-btn{width:100%!important;padding:10px 14px!important;font-size:.8rem!important}.cyber-btn{padding:8px 12px;font-size:.7rem;width:100%}.cyber-btn-outline{padding:8px 12px;font-size:.7rem}.cyber-btn-outline.small{padding:6px 10px;font-size:.65rem}.btn-grid{grid-template-columns:repeat(2,1fr);gap:6px}.card-hand{gap:6px;margin:4px 0}.cyber-card{width:44px;height:66px}.cyber-card .value{font-size:.9rem}.treasury-locks{grid-template-columns:repeat(4,1fr);gap:4px;margin:6px 0}.lock-slot{padding:4px 2px}.lock-slot .weight{font-size:.7rem}.slot-frame{font-size:.8rem;padding:1px 2px;margin:2px 0}.slot-btn{width:24px;height:24px;font-size:.9rem}.rules-scroll-area{font-size:.75rem;padding-left:10px}}@media (min-width: 768px) and (max-width: 1024px){.game-container{width:100vw;height:100vh;padding:12px;box-sizing:border-box}.game-layout{display:flex;flex-direction:column;gap:16px;height:calc(100% - 60px);min-height:0}.map-panel{flex:none;height:380px;align-items:center;justify-content:center}#spider-map{max-height:320px;max-width:320px;height:100%;width:100%}.dashboard-panel{flex:1;min-height:0;display:grid;grid-template-columns:1.1fr .9fr;gap:16px;overflow-y:auto}.log-panel{max-height:150px}.overlay-content{padding:30px;max-width:720px}.role-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (min-width: 1025px){.role-grid{grid-template-columns:repeat(3,1fr)}}.rules-page-content{overflow:hidden!important}@media (max-width: 767px){.rules-page-content{width:95vw!important;height:85vh!important;padding:20px 15px 70px!important}.rules-scroll-area{margin-bottom:0!important}.rules-footer-fixed{padding:10px 15px!important}}.home-split-container{display:flex;flex-direction:row;gap:32px;width:100%;margin-top:16px;text-align:left}.home-left-col{flex:2;display:flex;flex-direction:column;justify-content:flex-start;background:#00000059;border:1px solid rgba(0,240,255,.2);border-radius:8px;padding:24px;box-shadow:inset 0 0 20px #00f0ff0d}.home-right-col{flex:3;display:flex;flex-direction:column;justify-content:flex-start}.home-right-col .role-grid{grid-template-columns:repeat(2,1fr)!important;gap:16px}.section-title{font-family:var(--font-mono);font-size:.95rem;color:var(--color-cyan);text-shadow:var(--glow-cyan);border-bottom:1px dashed rgba(0,240,255,.25);padding-bottom:8px;margin-top:0;margin-bottom:20px;letter-spacing:2px;text-transform:uppercase}@media (max-width: 768px){.overlay-content.role-select-content{max-width:96%!important;padding:20px 16px!important}.home-split-container{flex-direction:column;gap:16px}.home-left-col{padding:16px}.home-right-col .role-grid{grid-template-columns:1fr!important;gap:10px}}.ranking-tab{transition:all .2s ease;outline:none}.ranking-tab:hover{color:#fff!important;text-shadow:0 0 8px rgba(255,255,255,.3)}.ranking-tab.active{font-weight:700}@media (min-width: 769px){.overlay-content.role-select-content{max-width:1200px!important;width:92vw!important;padding:20px 32px!important;gap:12px!important}.role-select-content h1{font-size:2.2rem!important;margin-bottom:-12px!important}.role-select-content .subtitle{font-size:.85rem!important;margin-bottom:0!important}.home-split-container{gap:20px!important;margin-top:8px!important}.home-left-col{padding:16px!important;gap:10px!important}.section-title{font-size:.85rem!important;margin-bottom:12px!important;padding-bottom:6px!important}.profile-card-summary{padding:8px 12px!important;margin-bottom:10px!important}.profile-card-summary div[style*="font-size: 2.2rem"]{font-size:1.8rem!important}.profile-card-summary #home-player-name-display{font-size:.95rem!important}.profile-card-summary #home-player-ratings-display{font-size:.7rem!important}#open-user-details-btn,#open-rankings-btn,#show-rules-btn{padding:8px 12px!important;font-size:.78rem!important}.room-input-container{margin-bottom:12px!important;gap:4px!important}.room-input-container label{font-size:.7rem!important}.room-input-container input{padding:8px!important;font-size:.95rem!important}#start-game-btn,#match-online-btn{padding:10px 12px!important;font-size:.78rem!important}.home-right-col .role-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.role-card{padding:10px 12px!important;gap:6px!important}.role-card h3{font-size:.95rem!important}.role-badge{font-size:.65rem!important;padding:1px 4px!important}.role-desc{font-size:.75rem!important;line-height:1.35!important}.role-card div[style*="font-size: 0.75rem"]{font-size:.68rem!important;margin-top:2px!important}#user-details-overlay .overlay-content,#rankings-overlay .overlay-content{padding:24px 32px!important;gap:16px!important}}
