:root{--oil: #0c0a08;--iron: #3a3f46;--iron-dk: #23262b;--iron-lt: #565d66;--brass: #c9a227;--brass-lt: #e6c75a;--ember: #ff6a1a;--ember-dk: #b33c06;--paper: #e8dcc0;--paper-dk: #d6c7a4;--ink: #1a1612;--blood: #c22f1e;--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");--shadow-card: 0 6px 14px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .5);--shadow-lift: 0 22px 34px rgba(0, 0, 0, .6), 0 8px 12px rgba(0, 0, 0, .45);--ui: "Oswald", system-ui, sans-serif;--display: "Rye", "Oswald", serif;--type: "Special Elite", "Courier New", monospace}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100vh;height:100dvh;overflow:hidden;background:var(--oil);color:var(--paper);font-family:var(--ui);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;touch-action:manipulation}.hidden{display:none!important}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{cursor:default}#table{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 75% 42% at 50% -6%,rgba(255,106,26,.26),rgba(255,106,26,.07) 45%,transparent 70%),radial-gradient(ellipse 62% 54% at 50% 58%,rgba(255,190,110,.12),transparent 70%),repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(0,0,0,.5) calc(25% - 1px) 25%),repeating-linear-gradient(0deg,transparent 0 179px,rgba(0,0,0,.45) 179px 181px,rgba(120,128,138,.08) 181px 183px),linear-gradient(180deg,#14110d,#1b1814 34%,#16130f 70%,#0c0a08)}#table:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle 3px at 12px 12px,rgba(190,200,212,.22) 0 38%,rgba(0,0,0,.6) 60%,transparent 70%);background-size:25% 180px;background-position:12px 78px;opacity:.5}#table:after{content:"";position:absolute;inset:0;background-image:var(--noise);opacity:.07;mix-blend-mode:overlay}#vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 90% 85% at 50% 46%,transparent 52%,rgba(5,4,2,.62) 88%,rgba(0,0,0,.9) 100%)}#flash{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:0;background:var(--noise),linear-gradient(180deg,#f0e8d2e6,#dcd0b4d9);background-size:90px 90px,auto;mix-blend-mode:screen}#flash.on{animation:static-flick .3s steps(4,end) forwards}@keyframes static-flick{0%{opacity:.85}25%{opacity:.25}50%{opacity:.6}75%{opacity:.15}to{opacity:0}}#redpulse{position:fixed;inset:0;z-index:49;pointer-events:none;opacity:0;background:radial-gradient(ellipse 100% 100% at 50% 50%,transparent 42%,rgba(194,47,30,.5) 100%)}#redpulse.on{animation:red-throb .62s ease-out forwards}@keyframes red-throb{0%{opacity:0}22%{opacity:1}58%{opacity:.55}to{opacity:0}}#floaters{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}.floater{position:absolute;transform:translate(-50%);font:700 22px/1 var(--ui);letter-spacing:1px;text-shadow:0 2px 3px rgba(0,0,0,.85),0 0 14px rgba(0,0,0,.6);white-space:nowrap}.fl-dmg{color:#ff5340;font-size:26px}.fl-block{color:#9fc2e8}.fl-gold{color:var(--brass-lt)}.fl-debt{color:var(--ember)}.fl-momentum{color:var(--paper)}.fl-tear{color:var(--ember);font-family:var(--type);font-size:18px}.fl-info{color:#cfc6b0;font-size:18px}#hud{position:fixed;inset:0;z-index:10}#hud.busy #hand,#hud.busy .voss-btn,#hud.busy .pile{pointer-events:none}#hud.quake{animation:hud-quake .24s linear}@keyframes hud-quake{0%,to{transform:translate(0)}25%{transform:translate(2px,-2px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}}.panel{position:absolute;background:var(--noise),linear-gradient(160deg,#3a3f46eb,#1e2024f0);background-size:120px 120px,auto;background-blend-mode:overlay,normal;border:1px solid rgba(201,162,39,.35);border-radius:6px;box-shadow:inset 0 1px #e8dcc01f,inset 0 0 0 4px #00000040,0 10px 26px #0000008c;padding:10px 12px}.panel:before,.panel:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#aeb6c0,#4c525a 65%,#181a1d);box-shadow:0 1px 2px #000c}.panel:before{top:5px;left:5px}.panel:after{bottom:5px;right:5px}#player-panel{left:14px;bottom:calc(132px + env(safe-area-inset-bottom,0px));width:252px;z-index:12}#enemy-panel{top:12px;left:50%;transform:translate(-50%);width:min(430px,92vw);z-index:12}#enemy-panel .halo{position:absolute;inset:-60px -90px -30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 50% 30%,rgba(255,106,26,.22),transparent 70%);filter:blur(2px)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.p-name{font:700 17px/1.1 var(--ui);letter-spacing:2px;color:var(--paper)}.p-name em{font-style:normal;font-size:12px;color:var(--brass);letter-spacing:3px}.enemy-name{color:#f0e6cc;text-shadow:0 0 16px rgba(255,106,26,.5)}.chip{font:600 13px/1 var(--ui);letter-spacing:1px;padding:4px 8px;border-radius:4px}.chip.block{color:#bcd7f2;background:#6e96c329;border:1px solid rgba(159,194,232,.4)}.hpbar{position:relative;height:18px;border-radius:3px;overflow:hidden;background:#0000008c;border:1px solid rgba(0,0,0,.8);box-shadow:inset 0 2px 4px #000000b3}.hp-fill{height:100%;transition:width .35s cubic-bezier(.3,.8,.4,1);background:linear-gradient(180deg,#8fb56a,#4f7a36 60%,#38582a)}.enemy-hp .hp-fill{background:linear-gradient(180deg,#e06840,#a63420 60%,#74220f)}.hp-num{position:absolute;inset:0;display:grid;place-items:center;font:700 12px/1 var(--ui);letter-spacing:1px;color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000}.intent{margin-top:7px;display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:4px;background:#0006;border:1px dashed rgba(255,106,26,.5)}.intent-icon{font-size:18px;filter:drop-shadow(0 0 6px rgba(255,106,26,.7))}.intent-name{font:600 13px/1 var(--ui);letter-spacing:2px;color:#f3c89a}.intent-dmg{margin-left:auto;font:700 15px/1 var(--ui);color:#ff7a52;text-shadow:0 0 8px rgba(255,80,40,.55)}.res-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.energy{display:flex;align-items:center;gap:4px}.pip{width:13px;height:13px;border-radius:50%;background:#1c1d20;border:1px solid #51565e;box-shadow:inset 0 1px 2px #000000e6}.pip.on{background:radial-gradient(circle at 35% 30%,#ffd9a0,var(--ember) 55%,var(--ember-dk));border-color:var(--ember);box-shadow:0 0 8px #ff6a1acc}.energy-num{font:600 12px/1 var(--ui);color:#cfc6b0;margin-left:4px}.marks{display:flex;align-items:center;gap:5px;font:700 16px/1 var(--ui);color:var(--brass-lt)}.coin{font-size:15px;color:var(--brass);text-shadow:0 0 6px rgba(201,162,39,.8),0 1px 1px #000}.debt-meter{margin-top:9px}.dsegs{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;height:9px}.dseg{border-radius:1px;border:1px solid rgba(0,0,0,.6);transition:background .3s,box-shadow .3s}.dlabels{display:flex;justify-content:space-between;margin-top:3px}.dlabel{font:600 8px/1 var(--ui);letter-spacing:1px;color:#e8dcc052}.dlabel.on{color:var(--ember);text-shadow:0 0 7px rgba(255,106,26,.7)}.voss-btn{margin-top:10px;width:100%;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border-radius:4px;background:linear-gradient(180deg,#4a3d18,#2d2510 70%);border:1px solid var(--brass);box-shadow:inset 0 1px #e6c75a59,0 3px 8px #00000080;transition:filter .15s,transform .1s}.voss-btn:hover:not(:disabled){filter:brightness(1.2)}.voss-btn:active:not(:disabled){transform:translateY(1px)}.voss-btn:disabled{filter:grayscale(.8) brightness(.6)}.voss-btn.arming{border-color:var(--ember);box-shadow:0 0 14px #ff6a1aa6,inset 0 0 10px #ff6a1a4d;animation:arm-throb 1.1s ease-in-out infinite}@keyframes arm-throb{50%{box-shadow:0 0 22px #ff6a1ae6,inset 0 0 14px #ff6a1a66}}.voss-title{font:700 14px/1 var(--ui);letter-spacing:3px;color:var(--brass-lt)}.voss-sub{font:400 10px/1.2 var(--type);color:#cfc0a0}#promise-banner{position:absolute;top:108px;left:50%;transform:translate(-50%);z-index:11;transition:opacity .3s}#promise-banner.empty{opacity:.42}.pb-ribbon{position:relative;display:flex;align-items:center;gap:10px;padding:7px 26px;background:var(--noise),linear-gradient(180deg,var(--paper),var(--paper-dk));background-size:100px 100px,auto;background-blend-mode:multiply,normal;color:var(--ink);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);box-shadow:0 6px 14px #0009}.pb-label{font:400 11px/1 var(--type);letter-spacing:1px;color:#6b5d43}.pb-body{font:700 15px/1 var(--ui);letter-spacing:2px;display:flex;align-items:center;gap:6px}.pb-glyph{font-size:16px;filter:drop-shadow(0 0 3px currentColor)}#promise-banner.flash-set .pb-ribbon{animation:pb-set .55s cubic-bezier(.2,.9,.3,1)}@keyframes pb-set{0%{transform:translateY(-14px) scale(.92);filter:brightness(1.6)}to{transform:none;filter:none}}#promise-banner.flash-honored .pb-ribbon{animation:pb-honor .8s ease-out}@keyframes pb-honor{0%{box-shadow:0 0 #c9a22700}30%{box-shadow:0 0 34px #e6c75af2,0 6px 14px #0009;filter:sepia(.4) brightness(1.35)}to{box-shadow:0 6px 14px #0009}}#promise-banner.betrayed-state .pb-ribbon{filter:saturate(.6) brightness(.85)}.betrayed-stamp{position:absolute;left:50%;top:50%;font:400 26px/1 var(--type);letter-spacing:4px;color:var(--blood);border:3px double var(--blood);padding:3px 12px;border-radius:3px;transform:translate(-50%,-50%) rotate(-8deg) scale(1);text-shadow:0 0 1px var(--blood);mix-blend-mode:multiply;animation:stamp-in .28s cubic-bezier(.2,2.2,.4,1);pointer-events:none}@keyframes stamp-in{0%{transform:translate(-50%,-50%) rotate(-8deg) scale(2.6);opacity:0}60%{opacity:1}to{transform:translate(-50%,-50%) rotate(-8deg) scale(1)}}.betrayed-stamp.fading{transition:opacity .4s;opacity:0}#momentum-dial{position:absolute;right:14px;top:76px;z-index:11;display:flex;flex-direction:column;align-items:center;gap:4px}.dial-face{position:relative;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 50% 42%,#2a2c30 0 58%,transparent 59%),conic-gradient(from -120deg,#ff6a1a26,#c9a2274d 240deg,#0000 240deg),radial-gradient(circle at 35% 28%,#6a6248,#3d3722 45%,#181510 80%);border:4px solid;border-color:var(--brass-lt) #7a6418 #5c4b12 var(--brass);box-shadow:inset 0 2px 6px #000c,0 6px 16px #0009,0 0 0 1px #000}.dial-ticks{position:absolute;inset:5px;border-radius:50%;background:repeating-conic-gradient(from -122deg,rgba(232,220,192,.55) 0deg 1.6deg,transparent 1.6deg 20deg);-webkit-mask:radial-gradient(circle,transparent 0 62%,#000 63% 78%,transparent 79%);mask:radial-gradient(circle,transparent 0 62%,#000 63% 78%,transparent 79%)}.dial-needle{position:absolute;left:calc(50% - 1.5px);bottom:50%;width:3px;height:42%;transform-origin:50% 100%;background:linear-gradient(180deg,var(--ember) 0 30%,#e8dcc0 30% 100%);border-radius:2px 2px 0 0;box-shadow:0 0 5px #ff6a1ab3;transition:transform .4s cubic-bezier(.3,1.4,.4,1)}.dial-hub{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--brass-lt),#6e5a14 70%);box-shadow:0 1px 3px #000}.dial-jewel{position:absolute;left:50%;bottom:7px;transform:translate(-50%);min-width:26px;text-align:center;font:700 12px/1.5 var(--ui);color:#e8dcc04d;border-radius:8px;border:1px solid rgba(201,162,39,.3);background:#00000080;transition:color .25s,box-shadow .25s}.dial-jewel.lit{color:var(--brass-lt);border-color:var(--brass);box-shadow:0 0 10px #e6c75abf,inset 0 0 5px #e6c75a66;text-shadow:0 0 6px rgba(230,199,90,.9)}.dial-jewel.pop{animation:jewel-pop .45s cubic-bezier(.2,1.8,.4,1)}@keyframes jewel-pop{35%{transform:translate(-50%) scale(1.45)}}.dial-label{font:600 10px/1 var(--ui);letter-spacing:3px;color:#e8dcc08c}#momentum-dial.pulse .dial-face{animation:dial-pulse .4s ease-out}@keyframes dial-pulse{30%{box-shadow:0 0 24px #e6c75acc,inset 0 2px 6px #000c}}#momentum-dial.snap .dial-face{animation:dial-snap .42s linear}@keyframes dial-snap{0%,to{transform:translate(0)}20%{transform:translate(-3px,1px) rotate(-2deg)}45%{transform:translate(3px,-1px) rotate(2deg)}70%{transform:translate(-2px) rotate(-1deg)}}#hand{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;align-items:flex-end;justify-content:center;z-index:14}.card{--fc: var(--brass);position:relative;width:clamp(104px,13vw,152px);aspect-ratio:5 / 7;margin:0 -7px;border-radius:7px;transform-origin:50% 130%;transform:rotate(calc((var(--i, 0) - (var(--n, 1) - 1) / 2) * 2.4deg));transition:transform .18s cubic-bezier(.2,.9,.3,1),filter .18s;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));cursor:pointer}.card:hover,.card.sel{transform:translateY(-20px) scale(1.07) rotate(0);z-index:6;filter:drop-shadow(0 20px 26px rgba(0,0,0,.6))}.card.sel{outline:2px solid var(--brass);outline-offset:3px;border-radius:7px}.card.locked{filter:grayscale(.75) brightness(.55) drop-shadow(0 4px 8px rgba(0,0,0,.5));cursor:not-allowed}.card.locked:hover{transform:rotate(calc((var(--i, 0) - (var(--n, 1) - 1) / 2) * 2.4deg))}.card.ghost{visibility:hidden}.card.deny{animation:deny-shake .3s linear}@keyframes deny-shake{0%,to{translate:0 0}25%{translate:-5px 0}50%{translate:5px 0}75%{translate:-3px 0}}.card-paper{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:7px;overflow:hidden;background:var(--noise),radial-gradient(ellipse 120% 90% at 50% 0%,rgba(255,255,255,.25),transparent 60%),linear-gradient(168deg,var(--paper) 0%,var(--paper-dk) 64%,#c6b48e 100%);background-size:110px 110px,auto,auto;background-blend-mode:multiply,normal,normal;border:1px solid #9c8a62;box-shadow:inset 0 0 0 3px #1a161214,inset 0 0 22px #785f3240;color:var(--ink)}.card-paper:before{content:"";position:absolute;inset:5px;border:1px solid rgba(26,22,18,.35);border-radius:4px;pointer-events:none}.seal{position:absolute;top:6px;left:6px;z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 15px/1 var(--ui);color:#ffe9d8;background:radial-gradient(circle at 38% 30%,#e0573a,#9c2310 55%,#5e1206 90%);box-shadow:0 2px 4px #0000008c,inset 0 -2px 4px #00000080,inset 0 2px 3px #ffc8a066;text-shadow:0 1px 2px rgba(0,0,0,.8)}.seal:after{content:"";position:absolute;bottom:-3px;left:7px;width:7px;height:7px;border-radius:50%;background:#7c1c0b;box-shadow:12px 2px 0 -2px #7c1c0b}.nameplate{margin:7px 9px 0 40px;padding:4px 5px 3px;font:600 11px/1.15 var(--ui);letter-spacing:.8px;text-transform:uppercase;text-align:center;color:#241c0c;background:linear-gradient(180deg,var(--brass-lt),var(--brass) 55%,#8a6e16);border:1px solid #6e5a14;border-radius:3px;box-shadow:inset 0 1px #fff0bea6,0 1px 2px #0006;text-shadow:0 1px 0 rgba(255,240,190,.5)}.ctype{margin-top:3px;text-align:center;font:400 8px/1 var(--type);letter-spacing:1px;color:#6b5d43;text-transform:lowercase}.card-body{flex:1;margin:4px 10px 0;padding-top:3px;font:400 10.5px/1.4 var(--type);color:var(--ink);border-top:1px solid rgba(26,22,18,.25);overflow:hidden}.stampbox{position:absolute;right:7px;bottom:16px;z-index:2;display:flex;flex-direction:column;align-items:center;padding:3px 6px 2px;border:2px solid var(--fc);border-radius:4px;color:var(--fc);transform:rotate(-7deg);opacity:.82;mix-blend-mode:multiply;background:radial-gradient(circle at 30% 60%,rgba(255,255,255,.25),transparent 60%)}.stamp-glyph{font-size:15px;line-height:1}.stamp-w{font:700 12px/1.1 var(--ui)}.body-icon{font-style:normal;margin-right:4px;font-size:12px}.card-flavor{margin:0 10px 1px;font:italic 400 8.5px/1.3 var(--type);color:#7d6e4e;border-top:1px dotted rgba(26,22,18,.25);padding-top:2px}.card-foot{padding:2px 10px 4px;font:400 7.5px/1 var(--type);letter-spacing:1px;color:#8a7a58}.card.t-curse .card-paper{background:var(--noise),radial-gradient(ellipse 90% 60% at 60% 30%,rgba(60,40,80,.3),transparent 70%),linear-gradient(168deg,#cdbfa6,#b3a285 64%,#998668);background-size:110px 110px,auto,auto;background-blend-mode:multiply,normal,normal}.card.t-curse .nameplate{background:linear-gradient(180deg,#6b5d76,#4a3f55 55%,#2e2738);color:#d9cfe6;border-color:#241e2e;text-shadow:0 1px 1px rgba(0,0,0,.7)}.overcommit-tag{position:absolute;top:38px;left:50%;z-index:3;transform:translate(-50%) rotate(-4deg);padding:3px 8px;font:700 10px/1 var(--ui);letter-spacing:1.5px;color:#ffd9c8;background:linear-gradient(180deg,#a32214,#6e130a);border:1px solid #ff5340;border-radius:3px;box-shadow:0 0 12px #ff53408c,0 2px 4px #0009;white-space:nowrap;animation:oc-tempt 1.6s ease-in-out infinite}@keyframes oc-tempt{50%{box-shadow:0 0 20px #ff5340d9,0 2px 4px #0009}}#hand.voss-targeting .card{cursor:crosshair}#hand.voss-targeting .card .card-paper{box-shadow:inset 0 0 0 3px #ff6a1a73,inset 0 0 26px #ff6a1a40;animation:voss-target 1s ease-in-out infinite}@keyframes voss-target{50%{filter:brightness(1.12)}}.pile{position:absolute;z-index:13;width:86px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1px;padding-bottom:6px}#draw-pile{left:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}#torn-pile{right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.pile-stack{position:absolute;inset:4px 12px 44px;border-radius:6px;background:linear-gradient(150deg,#2c3038,#16181c 70%);border:1px solid #50565e;box-shadow:-2px 2px 0 -.5px #0e1013,-2px 2px #41464e,-4px 4px 0 -.5px #0e1013,-4px 4px #383d44,0 8px 16px #0009}.pile-stack:after{content:"⚙";position:absolute;inset:0;display:grid;place-items:center;font-size:24px;color:#c9a22780;text-shadow:0 0 8px rgba(201,162,39,.25)}.pile-count{position:relative;z-index:2;font:700 30px/1 var(--ui);color:var(--paper);text-shadow:0 2px 4px #000,0 0 10px rgba(0,0,0,.8)}.pile-label{position:relative;z-index:2;font:600 9px/1 var(--ui);letter-spacing:3px;color:#e8dcc099}#draw-pile.low .pile-stack{border-color:var(--ember);animation:ember-glow 1.1s ease-in-out infinite}#draw-pile.low .pile-count{color:var(--ember);animation:count-throb 1.1s ease-in-out infinite}#draw-pile.low .pile-label{color:var(--ember)}@keyframes ember-glow{0%,to{box-shadow:-2px 2px 0 -.5px #0e1013,-4px 4px 0 -.5px #0e1013,0 0 12px #ff6a1a80}50%{box-shadow:-2px 2px 0 -.5px #0e1013,-4px 4px 0 -.5px #0e1013,0 0 30px #ff6a1af2}}@keyframes count-throb{50%{transform:scale(1.16);text-shadow:0 0 16px rgba(255,106,26,.9)}}#draw-pile.robbed .pile-stack{animation:robbed-flash .5s ease-out}@keyframes robbed-flash{0%{filter:brightness(2.4) sepia(1) hue-rotate(-28deg)}to{filter:none}}.shred{position:absolute;width:44px;height:34px;background:var(--noise),linear-gradient(160deg,var(--paper-dk),#b3a079);background-size:80px 80px,auto;background-blend-mode:multiply,normal;border:1px solid #8a7a58;box-shadow:0 3px 6px #0000008c;opacity:.92}.shred.s1{bottom:48px;left:8px;transform:rotate(-11deg);clip-path:polygon(0 0,100% 6%,92% 58%,64% 100%,30% 78%,8% 92%)}.shred.s2{bottom:54px;right:8px;transform:rotate(9deg);clip-path:polygon(8% 12%,88% 0,100% 84%,52% 100%,22% 70%,0 88%)}.shred.s3{bottom:64px;left:24px;transform:rotate(-3deg);clip-path:polygon(0 14%,70% 0,100% 40%,84% 96%,36% 100%,10% 64%)}#torn-pile .pile-count{color:#d9a37e}#torn-pile.slam{animation:torn-slam .32s cubic-bezier(.2,1.6,.4,1)}@keyframes torn-slam{0%{transform:translateY(-10px) scale(1.14)}60%{transform:translateY(2px) scale(.97)}to{transform:none}}#end-turn{position:absolute;right:16px;bottom:calc(146px + env(safe-area-inset-bottom,0px));z-index:13;min-width:118px;min-height:48px;font:700 16px/1 var(--ui);letter-spacing:3px;color:#241c0c;background:linear-gradient(180deg,var(--brass-lt),var(--brass) 55%,#8a6e16);border:1px solid #5c4b12;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);text-shadow:0 1px 0 rgba(255,240,190,.55);box-shadow:inset 0 2px #fff0be80,inset 0 -3px 5px #00000059;transition:filter .15s,transform .1s}#end-turn:hover:not(:disabled){filter:brightness(1.15) drop-shadow(0 0 10px rgba(230,199,90,.5))}#end-turn:active:not(:disabled){transform:translateY(2px)}#end-turn:disabled{filter:grayscale(.7) brightness(.55)}#turn-banner{position:fixed;left:50%;top:34%;z-index:55;transform:translate(-50%,-50%);pointer-events:none;font:400 clamp(26px,5.4vw,46px)/1.1 var(--display);letter-spacing:4px;text-align:center;color:var(--paper);text-shadow:0 2px 0 #1a1612,0 4px 10px rgba(0,0,0,.9),0 0 30px rgba(255,106,26,.35);padding:8px 30px;white-space:nowrap;max-width:96vw}#turn-banner.show{animation:banner-in 1.5s cubic-bezier(.2,.8,.3,1) forwards}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.02)}20%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-52%)}}#turn-banner.b-warn{color:var(--ember);text-shadow:0 2px 0 #1a1612,0 0 36px rgba(255,106,26,.7)}#turn-banner.b-enemy{color:#ff6a55;text-shadow:0 2px 0 #1a1612,0 0 36px rgba(194,47,30,.8)}#turn-banner.b-gold{color:var(--brass-lt);text-shadow:0 2px 0 #1a1612,0 0 36px rgba(230,199,90,.8)}#keys-hint{position:absolute;left:16px;top:14px;z-index:11;font:400 11px/1.5 var(--ui);letter-spacing:1px;color:#e8dcc061}#mute-btn{position:fixed;right:14px;top:14px;z-index:95;width:44px;height:44px;border-radius:6px;font-size:19px;background:#14120eb8;border:1px solid rgba(201,162,39,.4);display:grid;place-items:center;transition:filter .15s}#mute-btn:hover{filter:brightness(1.4)}.fly-clone{position:fixed;margin:0;z-index:65;transform:none;pointer-events:none;filter:drop-shadow(0 26px 36px rgba(0,0,0,.65))}.fly-clone .overcommit-tag{display:none}.tear-stage{position:fixed;z-index:66;pointer-events:none;filter:drop-shadow(0 18px 26px rgba(0,0,0,.6))}.tear-half{position:absolute;inset:0;will-change:transform,opacity}.tear-copy{margin:0;cursor:default}.tear-copy .overcommit-tag{display:none}.th-left:after,.th-right:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 44%,rgba(255,248,228,.85) 50%,transparent 56%);mix-blend-mode:screen;opacity:.55}.rip-flash{position:absolute;top:-4%;height:108%;width:26%;background:linear-gradient(90deg,transparent,rgba(255,240,210,.95) 38%,#fff 50%,rgba(255,200,150,.9) 62%,transparent);filter:blur(2px);mix-blend-mode:screen;opacity:0}.rip-flash.red-rip{background:linear-gradient(90deg,transparent,rgba(255,120,90,.95) 40%,#ffd9c8 50%,rgba(255,90,60,.9) 60%,transparent)}.fiber{position:absolute;width:3px;height:9px;background:linear-gradient(180deg,#fff6e0,var(--paper-dk));border-radius:1px;box-shadow:0 0 5px #fff0d2cc}.card-back{position:absolute;inset:0;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--noise),repeating-linear-gradient(45deg,transparent 0 9px,rgba(201,162,39,.1) 9px 10px),repeating-linear-gradient(-45deg,transparent 0 9px,rgba(201,162,39,.1) 9px 10px),linear-gradient(160deg,#2c3038,#14161a 75%);background-size:90px 90px,auto,auto,auto;background-blend-mode:overlay,normal,normal,normal;border:2px solid rgba(201,162,39,.5);box-shadow:inset 0 0 0 5px #0006}.cb-gear{font-size:26px;color:#c9a227cc;text-shadow:0 0 10px rgba(201,162,39,.4)}.cb-name{font:400 9px/1.2 var(--type);color:var(--paper-dk);max-width:88%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#tooltip{position:fixed;z-index:90;pointer-events:none;max-width:300px;border-radius:6px;background:linear-gradient(165deg,#26292ff7,#121316f7);border:1px solid rgba(201,162,39,.55);box-shadow:0 14px 34px #000000b3;padding:10px}#tooltip.tt-text{font:400 12.5px/1.45 var(--ui);letter-spacing:.4px;color:var(--paper)}#tooltip.tt-card{display:flex;flex-direction:column;gap:8px;align-items:center}#tooltip .card.zoom{width:196px;margin:0;transform:none;cursor:default;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}#tooltip .card.zoom .card-body,#tooltip .card.zoom .nameplate{font-size:13px}#tooltip .card.zoom .ctype{font-size:10px}#tooltip .card.zoom:hover{transform:none}.kw-list{width:100%;display:flex;flex-direction:column;gap:4px}.kw{font:400 11.5px/1.4 var(--ui);color:#cfc6b0}.kw b{color:var(--brass-lt);letter-spacing:1px}#screens.hidden{display:none!important}.screen{position:fixed;inset:0;z-index:70;display:grid;min-height:100dvh;overflow-y:auto;background:radial-gradient(ellipse 80% 70% at 50% 40%,#0a08058c,#040302e0 90%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);padding:calc(20px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}.screen-inner{margin:auto;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;animation:screen-in .5s cubic-bezier(.2,.8,.3,1);max-width:min(680px,94vw)}@keyframes screen-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}.kicker{font:400 12px/1.4 var(--type);letter-spacing:3px;color:var(--brass)}.kicker.red{color:#ff6a55}.title-logo{font:400 clamp(46px,12vw,110px)/1.02 var(--display);color:var(--paper);letter-spacing:2px;text-shadow:0 2px 0 #1a1612,0 5px 0 rgba(20,16,10,.9),0 0 18px rgba(255,106,26,.25),0 14px 44px rgba(255,106,26,.5),-2px -2px 12px rgba(255,140,60,.28)}.title-gear{display:inline-block;font-size:.42em;vertical-align:.42em;margin:0 .18em;color:var(--brass);text-shadow:0 0 16px rgba(201,162,39,.8)}.title-sub{font:400 clamp(14px,2.6vw,19px)/1.4 var(--type);color:var(--paper-dk);letter-spacing:1px}.title-fine{font:400 11px/1.5 var(--type);color:#e8dcc073;letter-spacing:1px}.btn-big{min-width:220px;min-height:54px;padding:12px 38px;font:700 19px/1 var(--ui);letter-spacing:4px;color:#241c0c;background:linear-gradient(180deg,var(--brass-lt),var(--brass) 55%,#8a6e16);border:1px solid #5c4b12;border-radius:4px;clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,13px 100%,0 50%);text-shadow:0 1px 0 rgba(255,240,190,.55);box-shadow:inset 0 2px #fff0be80,inset 0 -4px 6px #00000059;transition:filter .15s,transform .1s}.btn-big:hover:not(:disabled){filter:brightness(1.16)}.btn-big:active:not(:disabled){transform:translateY(2px)}.btn-big:disabled{filter:grayscale(.75) brightness(.55)}.btn-big.btn-iron{color:var(--paper);background:linear-gradient(180deg,var(--iron-lt),var(--iron) 55%,var(--iron-dk));border-color:#1b1d21;text-shadow:0 1px 2px rgba(0,0,0,.8);box-shadow:inset 0 2px #e8dcc033,inset 0 -4px 6px #0006}.pick-count{font-size:13px;opacity:.75;margin-left:8px;letter-spacing:1px}.end-card{position:relative;padding:30px 40px 34px;border-radius:8px;background:var(--noise),linear-gradient(165deg,#2e3137f5,#16171bf7);background-size:130px 130px,auto;background-blend-mode:overlay,normal;border:1px solid rgba(201,162,39,.45);box-shadow:inset 0 0 0 5px #0000004d,0 24px 60px #000000b3}.end-title{font:400 clamp(28px,6.4vw,52px)/1.1 var(--display);letter-spacing:3px}.end-title.brass{color:var(--brass-lt);text-shadow:0 2px 0 #1a1612,0 0 30px rgba(230,199,90,.45)}.end-title.red{color:#ff5340;text-shadow:0 2px 0 #1a1612,0 0 30px rgba(194,47,30,.6)}.end-sub{font:400 14px/1.5 var(--type);color:var(--paper-dk);max-width:420px}.stat-rows{display:flex;flex-direction:column;gap:7px;min-width:min(320px,76vw)}.stat-rows.slim{gap:5px}.stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:30px;padding:6px 12px;background:#00000059;border:1px solid rgba(232,220,192,.12);border-radius:3px}.stat-row span{font:400 12px/1 var(--type);letter-spacing:2px;color:#e8dcc0a6}.stat-row b{font:700 18px/1 var(--ui);color:var(--paper)}.stat-row b.gold,.gold{color:var(--brass-lt)}.stamp-seal{position:absolute;top:16px;right:18px;font:400 13px/1.25 var(--type);letter-spacing:2px;text-align:center;padding:9px 11px;border-radius:50%;transform:rotate(12deg);border:3px double currentColor;opacity:.85;animation:stamp-in .35s cubic-bezier(.2,2.2,.4,1)}.honored-seal{color:var(--brass-lt);text-shadow:0 0 8px rgba(230,199,90,.6)}.default-seal{color:var(--blood);text-shadow:0 0 8px rgba(194,47,30,.6)}.reward-row{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.reward-slot{position:relative;padding:0;border-radius:9px;transition:transform .18s cubic-bezier(.2,.9,.3,1),filter .18s}.reward-slot .card{width:clamp(140px,22vw,188px);margin:0;transform:none;cursor:pointer}.reward-slot .card:hover{transform:none}.reward-slot:hover{transform:translateY(-8px)}.reward-slot.sel{transform:translateY(-12px) scale(1.04);filter:drop-shadow(0 0 18px rgba(230,199,90,.55))}.reward-slot.sel .card{outline:3px solid var(--brass);outline-offset:3px;border-radius:7px}.reward-slot.deny{animation:deny-shake .3s linear}.reward-chosen{position:absolute;left:50%;top:42%;z-index:4;display:none;transform:translate(-50%,-50%) rotate(-9deg);font:400 24px/1 var(--type);letter-spacing:5px;color:var(--blood);border:3px double var(--blood);padding:4px 14px;pointer-events:none;mix-blend-mode:multiply}.reward-slot.sel .reward-chosen{display:block;animation:stamp-in .26s cubic-bezier(.2,2.2,.4,1)}.breach-title{position:relative;display:flex;flex-direction:column;align-items:center;font:400 clamp(30px,7.4vw,62px)/1 var(--display);letter-spacing:2px;color:#ff5340;text-shadow:0 2px 0 #1a1612,0 0 34px rgba(194,47,30,.65);margin:4px 0}.breach-half{display:block;white-space:nowrap}.breach-top{clip-path:polygon(0 0,100% 0,100% 38%,86% 52%,70% 40%,52% 56%,34% 42%,18% 58%,0 44%);transform:rotate(-1.6deg) translate(-7px);animation:breach-top-in .7s cubic-bezier(.2,.9,.3,1)}.breach-bot{clip-path:polygon(0 44%,18% 58%,34% 42%,52% 56%,70% 40%,86% 52%,100% 38%,100% 100%,0 100%);transform:rotate(1.8deg) translate(9px,-.92em);margin-bottom:-.86em;animation:breach-bot-in .7s cubic-bezier(.2,.9,.3,1)}@keyframes breach-top-in{0%{transform:rotate(0) translateY(.2em);opacity:0}}@keyframes breach-bot-in{0%{transform:rotate(0) translateY(-1.1em);opacity:0}}.empty-deck{display:grid;place-items:center;margin:6px 0}.empty-deck-card{width:120px;aspect-ratio:5 / 7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed rgba(232,220,192,.4);border-radius:8px;background:#00000059;box-shadow:inset 0 0 26px #000000b3}.empty-zero{font:700 52px/1 var(--ui);color:var(--ember);text-shadow:0 0 22px rgba(255,106,26,.8);animation:count-throb 1.2s ease-in-out infinite}.empty-label{font:400 9px/1 var(--type);letter-spacing:2px;color:#e8dcc08c}@media(max-width:760px){#enemy-panel{top:calc(6px + env(safe-area-inset-top,0px));width:calc(100vw - 76px);left:calc(8px + env(safe-area-inset-left,0px));transform:none;padding:8px 10px}#enemy-panel .halo{inset:-40px -50px -20px}#promise-banner{top:calc(104px + env(safe-area-inset-top,0px));width:max-content;max-width:94vw}.pb-ribbon{padding:5px 18px}.pb-body{font-size:13px}#momentum-dial{right:8px;top:calc(112px + env(safe-area-inset-top,0px))}.dial-face{width:72px;height:72px;border-width:3px}.dial-jewel{font-size:10px;min-width:22px;bottom:4px}.dial-label{font-size:8px;letter-spacing:2px}#player-panel{left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));width:auto;bottom:calc(158px + env(safe-area-inset-bottom,0px));padding:8px 10px}.voss-btn{margin-top:7px}#hand{bottom:calc(6px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 128px)}.card{width:clamp(92px,24vw,118px);margin:0 -16px}.card:hover{transform:rotate(calc((var(--i, 0) - (var(--n, 1) - 1) / 2) * 2.4deg))}.card.sel{transform:translateY(-22px) scale(1.06) rotate(0);z-index:6}.card-body{font-size:9.5px}.pile{width:60px;min-height:92px}.pile-stack{inset:2px 6px 38px}.pile-count{font-size:24px}.shred{width:32px;height:24px}.shred.s1{bottom:42px;left:4px}.shred.s2{bottom:46px;right:4px}.shred.s3{bottom:54px;left:14px}#draw-pile{left:calc(6px + env(safe-area-inset-left,0px))}#torn-pile{right:calc(6px + env(safe-area-inset-right,0px))}#end-turn{right:calc(8px + env(safe-area-inset-right,0px));bottom:calc(100px + env(safe-area-inset-bottom,0px));min-width:96px;min-height:44px;font-size:14px;letter-spacing:2px}#mute-btn{top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px))}#tooltip{max-width:86vw}#tooltip .card.zoom{width:168px}.end-card{padding:22px 18px 26px}.reward-row{gap:10px}.reward-slot .card{width:clamp(104px,28vw,150px)}.stamp-seal{top:8px;right:8px;font-size:10px;padding:6px 7px}}@media(pointer:coarse){#keys-hint{display:none}.card:hover{z-index:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#turn-banner.show{animation:none;opacity:1}.card:hover,.card.sel{transform:translateY(-10px)}}
