*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background:#1a1109;font-family:Georgia,Times New Roman,serif;color:#f7ead2}#duel-canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;cursor:crosshair;z-index:1}.hidden{display:none!important}.vignette{position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at center,transparent 52%,rgba(28,14,5,.52) 100%);transition:box-shadow .3s ease,background .3s ease}.vignette.standoff-tension{box-shadow:inset 0 0 110px #000000d9}.vignette.blood-death{background:radial-gradient(circle at center,#8c0c0859 20%,#5f0505d9)}.screen-flash{position:fixed;inset:0;pointer-events:none;z-index:3;opacity:0;background:#fff2cc;transition:opacity .18s ease-out}.screen-flash.active-gold{background:#ffe082;opacity:.65}.screen-flash.active-red{background:#d32f2f;opacity:.78}.reticle{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:4;display:flex;align-items:center;justify-content:center}.reticle-ring{width:28px;height:28px;border:1.5px solid rgba(255,236,179,.65);border-radius:50%;box-shadow:0 0 6px #000000a6}.reticle-dot{position:absolute;width:4px;height:4px;background:#ffcc4d;border-radius:50%}.hud-topbar{position:fixed;top:14px;left:18px;right:18px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}.duelist-card,.center-status-box{pointer-events:auto;background:#1d1109db;border:2px solid #b5843c;box-shadow:0 6px 20px #0000008c;padding:10px 16px;border-radius:6px}.duelist-card{min-width:225px}.duelist-role{font-size:11px;letter-spacing:2px;color:#d6a558;display:block}.duelist-name{font-size:20px;font-weight:700;color:#fff3db;display:block;margin:2px 0 4px}.duelist-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:#dfc396}.opponent-header-row{display:flex;justify-content:space-between;align-items:center}.ping-pill{font-family:monospace;font-size:11px;background:#d4a43733;border:1px solid rgba(212,164,55,.5);padding:1px 6px;border-radius:4px;color:#ffdf8e}.center-status-box{text-align:center;padding:8px 18px}.room-badge-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:4px}.room-badge{font-family:monospace;font-size:14px;font-weight:700;letter-spacing:1.5px;color:#ffd56b}.sheriff-notice{font-size:11px;letter-spacing:1px;color:#e6b877}.duel-cue-layer{position:fixed;inset:0;z-index:6;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:110px 20px 44px}.cue-status-banner{background:#180d06d6;border-top:2px solid #d4a437;border-bottom:2px solid #d4a437;padding:10px 32px;font-size:20px;font-weight:700;letter-spacing:3px;color:#ffe39f;text-shadow:0 2px 8px rgba(0,0,0,.9);text-align:center}.cue-draw-burst{text-align:center;animation:popDraw .12s cubic-bezier(.16,1,.3,1)}@keyframes popDraw{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.draw-word{font-size:86px;font-weight:900;letter-spacing:8px;color:#ffeb3b;text-shadow:0 0 24px rgba(255,87,34,.95),0 5px 0 #7f190e,0 10px 25px rgba(0,0,0,.95)}.live-stopwatch{font-family:Courier New,Courier,monospace;font-size:30px;font-weight:700;color:#fff;background:#140a04cc;border:1px solid #ffca28;display:inline-block;padding:4px 16px;border-radius:4px;margin-top:6px}.click-hint{background:#120a05c7;padding:7px 18px;border-radius:20px;border:1px solid rgba(212,164,55,.45);font-size:13px;letter-spacing:1.5px;color:#f0d5a8}.center-modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f08038c;backdrop-filter:blur(3px)}.wanted-card{background:linear-gradient(180deg,#2b180c,#1d1007);border:3px solid #c99646;box-shadow:0 20px 60px #000c,inset 0 0 0 4px #c9964633;border-radius:8px;padding:26px 30px;max-width:560px;width:100%;text-align:center}.wanted-card.compact{max-width:440px}.wanted-card.lobby-card{max-width:720px}.sheriff-star-crest{font-size:13px;letter-spacing:4px;color:#e6b450;margin-bottom:4px}.game-title{font-size:46px;letter-spacing:5px;color:#ffdf8e;text-shadow:0 3px 0 #593110,0 6px 18px rgba(0,0,0,.8);margin-bottom:4px}.game-subtitle{font-size:14px;color:#cfa972;margin-bottom:16px}.rules-callout{background:#d494371f;border-left:4px solid #e6a93e;padding:10px 14px;font-size:13.5px;line-height:1.45;color:#f3dec0;text-align:left;margin-bottom:16px;border-radius:4px}.form-row{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:16px}.form-row label{font-size:11px;letter-spacing:1.5px;color:#deb268;font-weight:700}.western-input,.western-select{width:100%;padding:10px 12px;background:#140b05;border:1.5px solid #9e7132;border-radius:4px;color:#fff2d6;font-family:inherit;font-size:15px}.western-input:focus,.western-select:focus{outline:none;border-color:#ffca4b}.lobby-modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}@media(max-width:680px){.lobby-modes-grid{grid-template-columns:1fr}}.mode-box{background:#0f08038c;border:1.5px solid rgba(201,150,70,.45);border-radius:6px;padding:16px;display:flex;flex-direction:column;justify-content:space-between}.mode-box h3{font-size:16px;letter-spacing:1.5px;color:#ffd573;margin-bottom:6px}.mode-box p{font-size:13px;color:#ccb089;line-height:1.4;margin-bottom:12px}.room-divider{text-align:center;margin:12px 0 10px;font-size:11px;letter-spacing:1.5px;color:#b08850}.room-code-row{display:flex;gap:8px}.code-input{text-transform:uppercase;font-family:monospace;letter-spacing:2px;font-weight:700}.primary-western-btn,.secondary-western-btn,.small-western-btn,.icon-btn{cursor:pointer;font-family:inherit;font-weight:700;letter-spacing:1.5px;border-radius:4px;transition:transform .08s ease,filter .15s ease}.primary-western-btn{background:linear-gradient(180deg,#b8371d,#871f0d);border:2px solid #f0a853;color:#fff6e0;padding:12px 20px;font-size:14px;box-shadow:0 4px 12px #00000080}.primary-western-btn.gold-btn{background:linear-gradient(180deg,#b87e1d,#805209)}.secondary-western-btn{background:#2f1b0d;border:1.5px solid #b5843c;color:#f2d49b;padding:10px 16px;font-size:13px;white-space:nowrap}.small-western-btn,.icon-btn{background:#331d0e;border:1px solid #b5843c;color:#f5d89a;padding:4px 9px;font-size:11px}.icon-btn.danger-btn{border-color:#b84233;color:#ff9e8f}.primary-western-btn:hover,.secondary-western-btn:hover,.small-western-btn:hover,.icon-btn:hover{filter:brightness(1.16)}.primary-western-btn:active,.secondary-western-btn:active{transform:translateY(1px)}.full-width{width:100%}.wanted-header{font-size:24px;font-weight:700;letter-spacing:2px;color:#ffdb80;margin-bottom:8px}.wanted-sub{font-size:14px;color:#d6ba8f;line-height:1.45;margin-bottom:16px}.ai-selector-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:16px}.ai-selector-row label{font-size:11px;letter-spacing:1.5px;color:#deb268}.result-badge{display:inline-block;font-size:11px;letter-spacing:2.5px;padding:4px 12px;border-radius:3px;background:#d4a43733;border:1px solid #d4a437;color:#ffda75;margin-bottom:8px}.result-headline{font-size:30px;letter-spacing:2px;color:#ffe394;margin-bottom:8px}.result-narrative{font-size:14.5px;color:#dfc399;margin-bottom:18px;line-height:1.45}.telemetry-grid{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:14px}.telemetry-box{flex:1;background:#0e0703a6;border:1.5px solid rgba(201,150,70,.55);border-radius:6px;padding:12px}.telemetry-label{display:block;font-size:11px;letter-spacing:1.5px;color:#c9a165;margin-bottom:4px}.telemetry-value{font-family:Courier New,Courier,monospace;font-size:24px;font-weight:700;color:#fff4d9}.telemetry-vs{font-weight:700;font-size:14px;color:#b5843c}.result-diff-banner{background:#d4a43729;border:1px solid rgba(212,164,55,.5);padding:8px 14px;border-radius:4px;font-family:monospace;font-size:14px;font-weight:700;color:#ffdd78;margin-bottom:18px}.modal-actions{display:flex;justify-content:center;gap:12px}.lobby-notice{margin:0 0 14px;padding:10px 14px;border:1px solid #b8402c;border-radius:4px;background:#8c1d1559;color:#ffd9c2;font-size:.92rem}input{user-select:text;-webkit-user-select:text}.center-modal{overflow-y:auto}.wanted-card{max-height:calc(100vh - 36px);overflow-y:auto}.signin-card{max-width:520px!important}.signin-step{text-align:left;margin:6px 0 4px}.signin-step label,.signin-step #signin-name-row label{display:block;font-size:11px;letter-spacing:1.5px;color:#e6b450;margin:10px 0 6px}.signin-step .western-input{flex:1;width:100%}.fine-print{font-size:12px;color:#a98b62;margin-top:8px;font-weight:400;letter-spacing:0}.account-bar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin:10px 0 14px;padding:10px 14px;background:#0f08038c;border:1.5px solid rgba(201,150,70,.45);border-radius:6px;text-align:left}.account-who strong,.account-stat strong{display:block;font-size:18px;color:#ffdf8e;font-variant-numeric:tabular-nums}.account-stat{text-align:right}.primary-mode{text-align:left;margin-bottom:12px}.lobby-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.practice-box{text-align:left;border:1px dashed rgba(201,150,70,.4);border-radius:6px;padding:10px 14px;color:#ccb089;font-size:13px}.practice-box summary{cursor:pointer;letter-spacing:1px;font-weight:700;color:#e6c27e}.practice-box .room-code-row{margin-top:10px}.practice-box .western-select{flex:1}.lobby-footer{margin-top:12px;text-align:right}.result-reward{margin:10px 0 0;padding:8px 12px;border-radius:4px;background:#d4a24c2e;border:1px solid #d4a24c;color:#ffe2a0;font-weight:700;letter-spacing:1px}.wanted-card.store-card{max-width:940px;text-align:left}.store-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}.store-body{display:grid;grid-template-columns:320px 1fr;gap:18px}.store-preview{text-align:center}#store-preview-canvas{width:100%;max-width:320px;aspect-ratio:4 / 5;height:auto;border-radius:6px;border:1.5px solid rgba(201,150,70,.45);background:radial-gradient(circle at 50% 35%,#6b4426,#24140a 75%);cursor:grab;touch-action:none}.store-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.store-tab{background:#2f1b0d;border:1.5px solid #6e4f26;color:#e6c99a;padding:7px 12px;border-radius:4px;font-family:inherit;font-weight:700;letter-spacing:1px;font-size:12px;cursor:pointer}.store-tab[aria-selected=true]{border-color:#f0a853;color:#fff3d6;background:#5a2c12}.store-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.store-item{background:#0f08038c;border:1.5px solid rgba(201,150,70,.35);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:6px;cursor:pointer}.store-item:hover,.store-item.previewing{border-color:#f0a853}.store-item.worn{box-shadow:inset 0 0 0 2px #e6b450}.store-swatch{height:46px;border-radius:4px;border:1px solid rgba(0,0,0,.5)}.store-item-name{font-weight:700;color:#ffe2a0;font-size:14px}.store-item-price{font-size:12px;color:#c9a978;font-variant-numeric:tabular-nums}.store-item button{padding:7px 10px;font-size:12px}.store-item button:disabled{opacity:.5;cursor:default}.wanted-card.records-card{max-width:640px}.records-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;text-align:left}.records-grid h3{font-size:13px;letter-spacing:2px;color:#e6b450;margin-bottom:8px}.records-list{list-style:none;counter-reset:rank}.records-list li{counter-increment:rank;display:flex;justify-content:space-between;gap:10px;padding:5px 8px;border-bottom:1px solid rgba(201,150,70,.18);font-variant-numeric:tabular-nums}.records-list li:before{content:counter(rank) ".";color:#a98b62;min-width:24px}.records-list li span:first-of-type{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-list li.me{color:#ffdf8e;font-weight:700}.records-list .empty{color:#a98b62;font-style:italic}.records-list .empty:before{content:""}.toast{position:fixed;left:50%;bottom:74px;transform:translate(-50%);z-index:40;background:linear-gradient(180deg,#b87e1d,#805209);border:2px solid #ffd573;color:#fff6e0;padding:10px 18px;border-radius:6px;font-weight:700;letter-spacing:1px;box-shadow:0 8px 24px #0009;pointer-events:none}@media(max-width:760px){.store-body,.records-grid,.lobby-row{grid-template-columns:1fr}.store-preview canvas{max-width:220px}.account-bar{grid-template-columns:1fr 1fr}.account-stat{text-align:left}.game-title{font-size:32px}}
