:root{--bg: #2b1d12;--bg2: #3a2817;--felt: #6b4423;--felt2: #7d5230;--gold: #e0a44a;--cream: #f3e3c3;--ink: #2a1a0c;--red: #c0392b;--green: #5a8f3c;--shadow: rgba(0,0,0,.4);--font-western: "Rye", "Georgia", serif;--font-poster: "Special Elite", "Courier New", monospace}*{box-sizing:border-box}body{margin:0;font-family:Georgia,Times New Roman,serif;background:radial-gradient(circle at 50% 20%,var(--bg2),var(--bg));color:var(--cream);min-height:100vh}button{font-family:inherit;cursor:pointer;background:#5a3c22;color:var(--cream);border:2px solid var(--gold);border-radius:6px;padding:8px 14px;font-size:14px;transition:transform .08s,background .15s}button:hover:not(:disabled){background:#714c2b;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--gold);color:var(--ink);font-weight:700}button.primary:hover:not(:disabled){background:#f0b95e}button.danger{background:var(--red);border-color:#e74c3c}button.link{background:none;border:none;color:var(--gold);text-decoration:underline;padding:2px 4px}input{font-family:inherit;font-size:15px;padding:8px 10px;border-radius:6px;border:2px solid var(--gold);background:#1f140a;color:var(--cream);width:100%}.code-input{text-transform:uppercase;letter-spacing:4px;text-align:center;font-weight:700}.app{max-width:1360px;margin:0 auto;padding:12px}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--gold);padding-bottom:8px}.topbar h1{margin:0;color:var(--gold);letter-spacing:2px;font-family:var(--font-western);font-size:30px;text-shadow:2px 2px 0 #000,0 0 8px rgba(224,164,74,.4)}.status{display:flex;align-items:center;gap:8px;font-size:13px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.on{background:var(--green)}.dot.off{background:var(--red)}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:100;padding:10px 18px;border-radius:8px;box-shadow:0 4px 12px var(--shadow)}.toast.error{background:var(--red);color:#fff;border:2px solid #fff}.center{text-align:center;padding:40px}.muted{color:#c9b48d}.small{font-size:12px}.home,.lobby{display:flex;justify-content:center;padding-top:40px}.card-panel{background:var(--bg2);border:3px solid var(--gold);border-radius:12px;padding:24px;width:380px;box-shadow:0 8px 24px var(--shadow)}.card-panel h2{margin-top:0;color:var(--gold)}.card-panel label{display:block;margin:12px 0;font-size:13px}.card-panel label input{margin-top:4px}.row{display:flex;gap:8px;margin:10px 0}.divider{text-align:center;margin:16px 0;color:#a98;font-style:italic}.room-code{background:var(--ink);color:var(--gold);padding:2px 10px;border-radius:6px;letter-spacing:4px}.member-list{list-style:none;padding:0}.member-list li{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #5a3c22}.member-list li.empty-slot{color:#7a6244;font-style:italic}.member-list li.offline{opacity:.5}.seat-num{background:var(--gold);color:var(--ink);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.badge{font-size:10px;background:#5a3c22;padding:1px 6px;border-radius:8px;border:1px solid var(--gold)}.badge.you{background:var(--green);border-color:#7fb04f}.badge.off{background:var(--red)}.badge.bot{background:#2c5d8f;border-color:#5b9bd5}.table-wrap{margin-top:12px}.game-main{display:flex;gap:14px;align-items:flex-start}.table-col{flex:1;min-width:0}.side-col{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.side-section{background:#00000052;border:1px solid #5a3c22;border-radius:10px;padding:10px 12px}.side-section h3{margin:0 0 8px;color:var(--gold);font-size:15px}.range-info{margin:0 0 8px;font-size:13px}.dist-list{list-style:none;padding:0;margin:0 0 6px;font-size:13px}.dist-list li{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}.in-range{color:#8fd16a;font-weight:700}.out-range{color:#cf9a86}.side-col .game-log{height:300px;margin-top:0}.table-circle{position:relative;width:100%;min-height:460px;background:radial-gradient(ellipse at center,var(--felt2),var(--felt));border:7px solid #3a2817;border-radius:50%/44%;box-shadow:inset 0 0 60px #00000073}.dist-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.dist-badge{position:absolute;transform:translate(-50%,-50%);z-index:2;font-size:13px;font-weight:700;padding:2px 7px;border-radius:10px;pointer-events:none;border:2px solid;box-shadow:0 2px 4px var(--shadow)}.dist-badge.in{background:#234d18;color:#aef08a;border-color:#6fcf5f}.dist-badge.out{background:#3a1d14;color:#cf9a86;border-color:#9a6b5a}.seat-pos{position:absolute;transform:translate(-50%,-50%);width:176px;z-index:3}.table-circle.compact .seat-pos{width:150px}.table-circle.compact .seat{padding:6px 7px}.table-circle.compact .char-ability{display:none}.table-circle.tiny .seat-pos{width:118px}.table-circle.tiny .seat{padding:4px 5px;font-size:11px}.table-circle.tiny .char-line{font-size:10px}.table-circle.tiny .equip-row{display:none}.table-circle.tiny .bullet{font-size:11px}.table-circle.tiny .pname{font-size:12px}.center-abs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:18px;z-index:2}.deck-pile,.discard-pile{text-align:center}.pile-label{font-size:11px;color:var(--cream);margin-bottom:4px}.pile-count{font-size:12px;margin-top:4px}@media(max-width:900px){.game-main{flex-direction:column}.side-col{width:100%}.table-circle{height:480px}}.turn-banner{background:var(--ink);color:var(--cream);padding:10px 18px;border-radius:10px;border:2px solid var(--gold);font-weight:700;display:flex;flex-direction:column;align-items:center;gap:4px}.turn-banner.mine{background:var(--gold);color:var(--ink);animation:pulse 1.5s infinite}.phase-tag{font-size:11px;font-weight:400;opacity:.8;text-transform:uppercase}@keyframes pulse{0%,to{box-shadow:0 0 #e0a44a99}50%{box-shadow:0 0 0 8px #e0a44a00}}.seat{background:var(--bg2);border:2px solid #5a3c22;border-radius:10px;padding:8px 10px;min-width:150px;position:relative}.seat.current{border-color:var(--gold);box-shadow:0 0 12px var(--gold)}.seat.me{background:#43301c}.seat-pos .seat{min-width:0;width:100%}.seat-pos .seat.me{border-color:var(--gold);box-shadow:0 0 10px #e0a44a80}.seat-pos .seat.current.me{box-shadow:0 0 14px var(--gold)}.seat.dead{opacity:.45;filter:grayscale(.7)}.seat.jailed{border-color:#6da3d4;box-shadow:0 0 14px #6da3d4b3;background:#243a4d}.seat.jailed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(160,200,235,.16) 0 3px,transparent 3px 14px)}.jail-banner{position:absolute;top:-10px;left:50%;transform:translate(-50%);z-index:4;background:#2d5a86;color:#eaf4ff;border:1px solid #6da3d4;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap;box-shadow:0 2px 6px #00000080;animation:jailpulse 1.6s ease-in-out infinite}@keyframes jailpulse{0%,to{box-shadow:0 2px 6px #00000080}50%{box-shadow:0 0 12px #6da3d4e6}}.seat.targetable{cursor:pointer;border-color:var(--red);box-shadow:0 0 12px var(--red)}.seat.targetable:hover{background:#5a2820}.seat-head{display:flex;justify-content:space-between;align-items:center}.pname{font-weight:700;color:var(--gold)}.dist{font-size:11px;background:var(--ink);padding:1px 6px;border-radius:8px}.char-line{font-size:12px;color:#d8c39a;margin:3px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.role{font-size:10px;padding:1px 6px;border-radius:8px;font-weight:700}.role-sheriff{background:var(--gold);color:var(--ink)}.role-deputy{background:#6da3d4;color:var(--ink)}.role-outlaw{background:var(--red);color:#fff}.role-renegade{background:#8e44ad;color:#fff}.life{margin:4px 0;display:flex;align-items:center;gap:2px;flex-wrap:wrap}.bullet{color:#3a2817;font-size:14px}.bullet.on{color:var(--red);text-shadow:0 0 3px rgba(192,57,43,.6)}.hand-count{font-size:11px;margin-left:6px;color:#d8c39a}.equip-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.equip-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;background:linear-gradient(160deg,#d7e6fb,#aac4e6);color:#1d3a5f;border:1.5px solid #4f78ab;border-radius:7px;padding:2px 6px;line-height:1.3;box-shadow:0 1px 2px var(--shadow)}.equip-chip .equip-icon{font-size:13px}.equip-chip.pickable{cursor:pointer;border-color:var(--red);box-shadow:0 0 8px var(--red)}.equip-chip.pickable:hover{background:linear-gradient(160deg,#f3d2cc,#e3a99e)}.dead-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.card{width:82px;height:116px;color:#2a1a0c;position:relative;padding:4px 4px 5px;border-radius:7px;border:1px solid #8a6a3e;display:flex;flex-direction:column;box-shadow:0 2px 5px var(--shadow);-webkit-user-select:none;user-select:none;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,#ffffff59,#0000000f 75%),linear-gradient(160deg,#f6ead0,#e3cfa3);outline:3px solid #c9a86e;outline-offset:-5px}.card.small{width:46px;height:64px;padding:2px;border-radius:5px;outline-offset:-3px;outline-width:2px}.card.big{width:94px;height:132px}.card.clickable{cursor:pointer;transition:transform .1s}.card.clickable:hover{transform:translateY(-8px);box-shadow:0 8px 16px var(--shadow)}.card.selected{transform:translateY(-12px);outline-color:var(--red);box-shadow:0 0 14px var(--red)}.card.disabled{opacity:.5;filter:grayscale(.4);cursor:default}.corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700;z-index:2}.corner.tl{top:4px;left:5px}.corner.br{bottom:5px;right:5px;transform:rotate(180deg)}.card.small .corner{font-size:9px}.card.small .corner.br{display:none}.corner.red{color:var(--red)}.corner.black{color:#1a1a1a}.corner .rank{font-size:12px}.corner .suit{font-size:11px}.card-title{font-family:var(--font-western);font-size:9px;text-align:center;color:#3a2410;letter-spacing:.3px;line-height:1;margin:1px 6px 3px;text-shadow:0 1px 0 rgba(255,255,255,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.small .card-title{font-size:6px;margin:0 3px 1px}.card.big .card-title{font-size:11px}.card-art{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(120,85,45,.5);border-radius:3px;margin:0 2px;background:radial-gradient(circle at 50% 40%,#fffaf0b3,#9678502e 75%),repeating-linear-gradient(0deg,rgba(120,90,50,.05),rgba(120,90,50,.05) 2px,transparent 2px,transparent 4px);box-shadow:inset 0 0 8px #5a3c1e59}.card.small .card-art{border:none;box-shadow:none;background:none}.card-svg{width:72%;height:72%;color:#4a2f17;filter:drop-shadow(0 1px 0 rgba(255,255,255,.4))}.card.blue .card-svg{color:#284a6e}.card.small .card-svg{width:82%;height:82%;filter:none}.card-range{position:absolute;bottom:1px;right:2px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;background:#6e2018;border:1px solid #e9c07a;border-radius:50%;padding:0 2px;box-shadow:0 1px 2px var(--shadow)}.card.small .card-range{display:none}.card-back{background:radial-gradient(circle at 50% 38%,rgba(224,164,74,.25),transparent 60%),repeating-linear-gradient(45deg,#6e2018,#6e2018 7px,#531512 7px,#531512 14px);display:flex;align-items:center;justify-content:center;color:var(--gold);outline-color:#8a5a2a}.back-star{font-family:var(--font-western);font-size:22px;color:#e9c07a;text-shadow:0 1px 2px #000}.card.big .back-star{font-size:26px}.empty-pile{display:flex;align-items:center;justify-content:center;color:#7a6244;background:#0003;border-style:dashed;outline:none}.card.blue{background:radial-gradient(120% 120% at 50% 0%,#fff6,#0000000d 75%),linear-gradient(160deg,#e6f0fc,#bcd2ee);outline-color:#7ea0c8;border-color:#4f78ab}.card.blue .card-title{color:#1d3a5f}.card.blue .card-art{border-color:#4f78ab80}.kind-bang .card-title,.kind-gatling .card-title,.kind-duel .card-title,.kind-indians .card-title{color:#8c2b18}.kind-beer .card-title,.kind-saloon .card-title{color:#3c6a23}.kind-missed .card-title{color:#2c5f8f}.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 8px;min-height:40px}.hint{color:var(--cream);font-size:14px}.sid-hint{display:inline-flex;align-items:center;gap:8px}.hand{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:#00000040;border-radius:12px;min-height:120px;align-items:center}.respond-panel{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:50;background:var(--ink);border:3px solid var(--gold);border-radius:12px;padding:14px 20px;box-shadow:0 8px 24px var(--shadow);text-align:center}.respond-prompt{font-size:16px;margin-bottom:10px;color:var(--gold)}.respond-actions{display:flex;gap:10px;justify-content:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:80}.overlay-box{background:var(--bg2);border:4px solid var(--gold);border-radius:16px;padding:28px;text-align:center;max-width:90vw}.overlay-box h2,.overlay-box h3{color:var(--gold);margin-top:0}.store-cards{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:16px 0}.win .winner{font-size:22px;margin:16px 0}.game-log{margin-top:14px;background:#0000004d;border-radius:10px;padding:10px 14px;height:130px;overflow-y:auto;font-size:13px;border:1px solid #5a3c22}.log-line{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.char-ability{font-size:10px;color:#b89b6a;font-style:italic;margin-top:2px;line-height:1.2}.help-btn{background:#3a2817}.setup-box{max-width:960px}.your-role{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:10px auto 4px;padding:8px 14px;background:#00000040;border-radius:10px}.your-role .role{font-size:14px;padding:3px 12px}.your-role-goal{font-size:13px;color:var(--cream)}.life-bonus{font-size:11px;font-weight:700;color:var(--gold)}.life-malus{font-size:11px;font-weight:700;color:#e08a6a}.char-choices{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:16px 0}.char-card{width:280px;text-align:left;background:#43301c;border:2px solid var(--gold);border-radius:12px;padding:16px;cursor:pointer;transition:transform .1s,box-shadow .15s;color:var(--cream)}.char-card:hover{transform:translateY(-4px);box-shadow:0 8px 18px var(--shadow);background:#523c24}.char-name{font-size:20px;font-weight:700;color:var(--gold)}.char-life{margin:8px 0}.char-desc{font-size:13px;line-height:1.4}.help-box{max-width:860px;max-height:85vh;overflow-y:auto;text-align:left}.help-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-28px;background:var(--bg2);padding:4px 0 8px}.help-rules ul{margin:6px 0;padding-left:18px}.help-rules li{margin:3px 0}.help-cat h3{color:var(--gold);border-bottom:1px solid #5a3c22;padding-bottom:4px;margin-bottom:8px}.help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-bottom:14px}.help-card{display:flex;gap:8px;background:#0003;border-radius:8px;padding:8px;align-items:flex-start}.help-icon{width:30px;height:30px;flex-shrink:0;display:inline-flex}.help-icon svg{width:100%;height:100%}.help-icon.brown{color:#4a2f17}.help-icon.blue{color:#284a6e}.help-name{font-weight:700;color:var(--gold);font-size:13px}.help-desc{font-size:12px;line-height:1.3;color:var(--cream)}.config{margin:12px 0}.config-row{flex-wrap:wrap}.config-row button{flex:1;min-width:80px}.roles-list{list-style:none;padding:0;margin:0 0 6px}.roles-list li{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.role-count{font-weight:700;font-size:14px}.bot-tag{font-size:11px;margin-right:2px}.action-toast{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);z-index:6;padding:7px 16px;border-radius:20px;font-weight:700;font-size:14px;color:#fff;border:2px solid rgba(255,255,255,.6);box-shadow:0 4px 14px var(--shadow);white-space:nowrap;pointer-events:none;animation:toastpop 2.2s ease-out forwards}.action-toast.tone-attack{background:#b0321f}.action-toast.tone-heal{background:#3c7a2a}.action-toast.tone-equip{background:#2c5d8f}.action-toast.tone-draw{background:#8a6a2a}.action-toast.tone-info{background:#5a3c22}@keyframes toastpop{0%{opacity:0;transform:translate(-50%,-35%) scale(.8)}12%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60%) scale(.95)}}.fx-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.fx-tracer{stroke:#ffd27a;stroke-width:.8;stroke-linecap:round;filter:drop-shadow(0 0 2px #ff8a3c);animation:tracer .55s ease-out forwards}@keyframes tracer{0%{opacity:0;stroke-dasharray:0 100}25%{opacity:1}60%{opacity:1;stroke-dasharray:100 0}to{opacity:0;stroke-dasharray:100 0}}.fx-burst{position:absolute;transform:translate(-50%,-50%);z-index:7;pointer-events:none;font-weight:700;font-family:var(--font-western);white-space:nowrap;animation:burstpop .9s cubic-bezier(.2,1.4,.4,1) forwards}.fx-burst.b-bang{font-size:30px;color:#ffe08a;-webkit-text-stroke:2px #8c2b18;text-shadow:0 0 10px #ff6a2c,3px 3px 0 #6e1a10}.fx-burst.b-hit{font-size:30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.fx-burst.b-block{font-size:30px;color:#cfe0ff;text-shadow:0 0 10px #4f78ab}.fx-burst.b-heal{font-size:26px;color:#8fe06a;text-shadow:0 0 8px #2f7a1f}.fx-burst.b-draw{font-size:26px;color:#f0d9a0;text-shadow:0 0 8px #8a6a2a}@keyframes burstpop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-12deg)}35%{opacity:1;transform:translate(-50%,-60%) scale(1.25) rotate(6deg)}70%{opacity:1;transform:translate(-50%,-65%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-85%) scale(.9)}}.seat.fx-act{animation:fxact 1s ease-out}.seat.fx-hit{animation:fxhit .6s ease-out}.seat.fx-recv{animation:fxrecv 1s ease-out}@keyframes fxact{0%,to{box-shadow:none}40%{box-shadow:0 0 16px 3px var(--gold)}}@keyframes fxhit{0%,to{box-shadow:none;transform:translate(0)}20%{box-shadow:0 0 18px 4px #e23b2e;transform:translate(-4px)}60%{transform:translate(4px)}}@keyframes fxrecv{0%,to{box-shadow:none}40%{box-shadow:0 0 16px 3px #5ec24a}}.turn-banner,.char-name,.overlay-box h2,.overlay-box h3,.side-section h3,.help-cat h3,.help-name,.card-panel h2,.winner,.role{font-family:var(--font-western)}.turn-banner,.char-name{letter-spacing:.5px}.room-code{font-family:var(--font-western)}.role{font-weight:400;letter-spacing:.3px}.results-box{max-width:860px}.results-grid{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:16px 0;text-align:left}.results-col{flex:1 1 320px;min-width:300px}.results-col h3{color:var(--gold);margin:0 0 8px}.result-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.result-row{display:grid;grid-template-columns:1.4fr auto 1fr auto auto;gap:8px;align-items:center;padding:7px 10px;border-radius:8px;background:#00000038;border-left:4px solid transparent;font-size:13px}.result-row.won{border-left-color:var(--gold);background:#e0a44a26}.result-row.lost{opacity:.82}.result-row.me{outline:1px solid var(--gold)}.res-name{font-weight:700;color:var(--cream);white-space:nowrap}.res-char{font-size:12px}.res-status{font-size:12px;white-space:nowrap}.res-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:8px;letter-spacing:.5px}.res-badge.win{background:var(--gold);color:var(--ink)}.res-badge.lose{background:#5a4632;color:#cbb896}.leaderboard h3{color:var(--gold);margin:0 0 8px}.lb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.lb-list li{display:grid;grid-template-columns:2.2em 1fr auto auto;gap:8px;align-items:center;padding:6px 10px;border-radius:8px;background:#00000038}.lb-list li.lb-me{outline:1px solid var(--gold);background:#e0a44a24}.lb-rank{font-size:15px;text-align:center}.lb-name{font-weight:700;color:var(--cream)}.lb-wins{font-weight:700;color:var(--gold);white-space:nowrap}.lobby-leaderboard{margin-top:16px}.end-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px;align-items:center}.end-actions .ghost{background:transparent;border:2px solid #6b4a26;color:var(--cream);padding:8px 16px;border-radius:10px;cursor:pointer}.end-actions .ghost:hover{border-color:var(--gold);background:#e0a44a1f}.landing{max-width:1000px;margin:0 auto;padding:0 16px 40px}.landing section{margin:48px 0;text-align:center}.landing h2{font-family:var(--font-western);color:var(--gold);font-size:28px;margin-bottom:20px}.hero{padding:48px 0 24px}.hero-badge{display:inline-block;padding:6px 14px;border-radius:20px;background:#e0a44a29;border:1px solid var(--gold);color:var(--gold);font-size:13px;font-weight:700;margin-bottom:18px}.hero-title{font-family:var(--font-western);font-size:88px;color:var(--gold);letter-spacing:4px;text-shadow:0 0 24px rgba(224,164,74,.5),0 5px 0 #6b3a12;margin:0;line-height:1}.hero-tagline{font-size:22px;color:var(--cream);margin:14px 0 6px;font-weight:700}.hero-sub{max-width:560px;margin:0 auto 26px;color:#d8c39a;line-height:1.5}.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}button.big{font-size:17px;padding:13px 26px;border-radius:12px}button.ghost.big{background:transparent;border:2px solid #6b4a26;color:var(--cream);cursor:pointer}button.ghost.big:hover{border-color:var(--gold);background:#e0a44a1f}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.feature-card{background:var(--bg2);border:1px solid #6b4a26;border-radius:14px;padding:22px;text-align:left;transition:transform .12s,border-color .15s}.feature-card:hover{transform:translateY(-4px);border-color:var(--gold)}.feature-ico{font-size:38px;margin-bottom:8px}.feature-card h3{color:var(--gold);margin:0 0 6px;font-size:18px}.feature-card p{margin:0;color:#d8c39a;font-size:14px;line-height:1.45}.step-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.step-card{flex:1 1 220px;max-width:280px;background:#00000038;border-radius:14px;padding:22px}.step-n{width:44px;height:44px;margin:0 auto 10px;border-radius:50%;background:var(--gold);color:var(--ink);font-family:var(--font-western);font-size:24px;display:flex;align-items:center;justify-content:center}.step-card h3{color:var(--gold);margin:0 0 6px}.step-card p{margin:0;color:#d8c39a;font-size:14px}.landing-board .card-panel{max-width:460px;margin:0 auto}.final-cta{padding:36px 0;background:#e0a44a14;border-radius:18px;border:1px solid #6b4a26}.landing-footer{text-align:center;padding:24px 0;border-top:1px solid #4a3420}@media(max-width:560px){.hero-title{font-size:60px}}.auth-box{max-width:380px;width:90vw}.auth-tabs{display:flex;gap:6px;margin:8px 0 14px}.auth-tabs button{flex:1;padding:8px;border-radius:8px;background:#43301c;border:2px solid #6b4a26;color:var(--cream);cursor:pointer;font-weight:700}.auth-tabs button.active{border-color:var(--gold);background:#e0a44a33}.auth-form{display:flex;flex-direction:column;gap:10px;text-align:left}.auth-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#d8c39a}.auth-form input{padding:9px 11px;border-radius:8px;border:1px solid #6b4a26;background:#2a1a0c;color:var(--cream);font-size:14px}.auth-form input:focus{outline:none;border-color:var(--gold)}.auth-error{color:#ff9b8a;font-size:13px;margin:0}.google-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px}.auth-cancel{margin-top:12px;display:inline-block}.account-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0}.acct-name{font-weight:700;color:var(--gold)}.online-pill{background:#5a8f3c40;border:1px solid var(--green);color:#bfe3a0;padding:1px 9px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}.online-line{margin:10px 0 0;color:#bfe3a0;font-size:15px}.profile-box{max-width:540px;width:92vw}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}@media(max-width:480px){.stat-cards{grid-template-columns:repeat(2,1fr)}}.stat-card{background:#00000040;border:1px solid #6b4a26;border-radius:10px;padding:12px 8px;text-align:center}.stat-val{font-family:var(--font-western);font-size:24px;color:var(--gold)}.stat-lbl{font-size:11px;color:#d8c39a;margin-top:2px}.stat-cols{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0;text-align:left}.stat-breakdown{flex:1 1 200px}.stat-breakdown h3{color:var(--gold);font-size:15px;margin:0 0 6px}.stat-breakdown ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.stat-breakdown li{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#0003;padding:4px 8px;border-radius:6px;font-size:13px}.profile-section{margin-top:14px;text-align:left;border-top:1px solid #4a3420;padding-top:12px}.profile-section h3{color:var(--gold);font-size:15px;margin:0 0 8px}.param-row{display:flex;justify-content:space-between;padding:5px 0;font-size:14px}.mode-picker{margin:14px 0;text-align:left}.mode-grid{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px;padding:8px 10px;border-radius:10px;background:#43301c;border:2px solid #6b4a26;cursor:pointer;color:var(--cream);transition:transform .1s,border-color .15s,background .15s}.mode-btn:hover{transform:translateY(-2px);background:#523c24}.mode-btn.active{border-color:var(--gold);background:#e0a44a33;box-shadow:0 0 10px #e0a44a66}.mode-ico{font-size:22px}.mode-name{font-size:12px;font-weight:700}.diff-grid .mode-btn{flex:1;min-width:0}.mode-current{display:inline-block;margin:6px 0;padding:6px 14px;border-radius:10px;background:#e0a44a2e;border:1px solid var(--gold);font-weight:700}.mode-desc{margin-top:4px}.mode-tag{font-family:var(--font-western);color:var(--gold);font-size:17px;margin:2px 0 8px;letter-spacing:.5px}.event-card{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:8px;background:#8c3c144d;border:1px solid #c0651f;border-radius:10px}.event-ico{font-size:26px}.event-txt{font-size:13px;line-height:1.3}.duel-fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;animation:duelfade 1.9s ease-out forwards}.duel-fx:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,#0000 28%,#0009 78%)}.duel-banner{position:relative;font-family:var(--font-western);font-size:42px;color:var(--gold);letter-spacing:3px;text-shadow:0 0 14px rgba(224,164,74,.7),0 3px 0 #6b3a12;animation:duelbanner .5s cubic-bezier(.2,1.4,.4,1) both}.duel-stage{position:relative;display:flex;align-items:center;gap:28px}.duel-side{display:flex;align-items:center;gap:10px}.duel-name{font-weight:700;color:var(--cream);font-size:18px;background:#00000073;padding:4px 12px;border-radius:10px;white-space:nowrap}.duel-gun{font-size:46px;display:inline-block;animation:duelrecoilL .35s ease-out 3}.duel-gun.duel-flip{transform:scaleX(-1);animation:duelrecoilR .35s ease-out 3}.duel-spark{font-size:42px;animation:duelspark .35s steps(2) 3}.duel-final .duel-spark{font-size:56px;animation:duelspark .3s steps(2) 4}@keyframes duelbanner{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes duelrecoilL{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-9px) rotate(-14deg)}}@keyframes duelrecoilR{0%,to{transform:scaleX(-1) translate(0) rotate(0)}50%{transform:scaleX(-1) translate(-9px) rotate(-14deg)}}@keyframes duelspark{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.35)}}@keyframes duelfade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}
