*{box-sizing:border-box}:root{--gold: #c9a227;--gold-bright: #f5d76e;--gold-deep: #8a6d1f;--parchment: #e8dcc0;--parchment-dim: #b8a988;--ink: #0c0906;--wood-dark: #1a140c;--wood-mid: #2a2216;--wood-light: #4a3a24;--leather: #3a2c18;--blood: #b3202a;--danger: #e06c5c;--steel: #8a9aa8;--edge: #8a6d3b;--edge-dim: #4a3a24;--glow-gold: 0 0 10px #c9a22733;--lift: 0 8px 18px #000000aa;--inset-hi: inset 0 1px 0 #ffffff14;--font-display: "Cinzel", Georgia, serif;--font-body: "IM Fell English", Georgia, "Times New Roman", serif}html,body,#root{height:100%;margin:0}body{font-family:IM Fell English,Georgia,Times New Roman,serif;color:#e8dcc0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(ellipse 120% 80% at 50% 20%,#4a3a24 0%,transparent 55%),radial-gradient(ellipse at center,#2a2216,#1a140c 55%,#0c0906);-webkit-user-select:none;user-select:none;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 130% 100% at 50% 40%,transparent 55%,#00000066 85%,#000000aa 100%);z-index:2}#root{position:relative;z-index:1}*{scrollbar-width:thin;scrollbar-color:#6b5a36 #00000033}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#0002;border-radius:4px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6b5a36,#4a3a24);border-radius:4px;border:1px solid #00000044}*::-webkit-scrollbar-thumb:hover{background:#8a6d3b}::selection{background:#c9a22755}:focus-visible{outline:2px solid #c9a227;outline-offset:2px}:focus:not(:focus-visible){outline:none}.btn{position:relative;overflow:hidden;font-family:var(--font-display);color:var(--parchment);background:linear-gradient(180deg,#5f4a2b,#4a3820 45%,#2b2213);border:1px solid var(--edge);border-radius:4px;padding:8px 18px;cursor:pointer;font-size:15px;letter-spacing:.04em;text-shadow:0 1px 2px #000000aa;box-shadow:0 2px #1a1208,0 3px 6px #0005,inset 0 1px #ffffff18,inset 0 -6px 10px #0003;transition:transform .08s ease,box-shadow .12s ease,border-color .12s ease,filter .12s ease}.btn:after{content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(105deg,transparent,#ffffff22 45%,#ffffff33 50%,#ffffff22 55%,transparent);transform:skew(-20deg);transition:left .35s ease;pointer-events:none}.btn:hover:not(:disabled):after{left:130%}.btn:hover:not(:disabled){background:linear-gradient(180deg,#715a34,#57431f 45%,#3a2e1a);border-color:var(--gold);color:#f5e9c8;box-shadow:0 2px #1a1208,0 4px 10px #0006,inset 0 1px #fff2,0 0 12px #c9a22733}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #1a1208,inset 0 2px 4px #0005;filter:brightness(.95)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{font-size:18px;padding:12px 28px;border-color:var(--gold);color:#f0e6c8;background:linear-gradient(180deg,#7d6130,#5d4720 45%,#3a2c14);box-shadow:0 2px #1a1208,0 4px 10px #0006,inset 0 1px #fff2,inset 0 -8px 12px #0003,0 0 14px #c9a2271a}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#94742f,#6e5426 45%,#4a3919);box-shadow:0 2px #1a1208,0 5px 12px #0007,inset 0 1px #ffffff2a,0 0 20px #c9a22744}.btn-selected{border-color:#c9a227;box-shadow:0 0 8px #c9a22766,0 2px #1a1208}.btn-small{padding:2px 8px;font-size:12px;margin-left:6px;letter-spacing:0}.btn-pass{align-self:center;margin-left:12px}.ornate-frame{position:relative;border:1px solid var(--edge);box-shadow:0 0 0 3px #0c090688,0 0 0 4px #6b5a3655,0 12px 40px #0008,var(--inset-hi)}.ornate-frame:before,.ornate-frame:after{content:"";position:absolute;width:14px;height:14px;border:1px solid #c9a22766;pointer-events:none}.ornate-frame:before{top:5px;left:5px;border-right:none;border-bottom:none}.ornate-frame:after{bottom:5px;right:5px;border-left:none;border-top:none}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.menu-screen,.game-screen,.deck-editor{animation:screen-in .35s ease both}@media (prefers-reduced-motion: reduce){.menu-screen,.game-screen,.deck-editor{animation:none}.btn:after{display:none}}.menu-screen{display:flex;flex-direction:column;align-items:center;padding-top:6vh;gap:20px;height:100dvh;overflow-y:auto;padding-bottom:calc(32px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.title{font-family:Cinzel,Georgia,serif;font-size:clamp(40px,8vw,72px);letter-spacing:.35em;margin:0;font-weight:700;color:#c9a227;background:linear-gradient(180deg,#f5d76e,#c9a227 48%,#8a6d1f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #3a2a10) drop-shadow(0 6px 18px #000000aa)}.menu-box{position:relative;display:flex;flex-direction:column;gap:12px;align-items:center;background:linear-gradient(180deg,#1a140ccc,#0e0a06dd);padding:28px 44px;border:1px solid var(--edge);border-radius:10px;box-shadow:0 0 0 3px #0c090688,0 0 0 4px #6b5a3644,0 12px 40px #0008,inset 0 1px #ffffff12,inset 0 -20px 40px #0002;max-width:640px;width:min(92vw,640px)}.menu-box:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#c9a22788,transparent)}.menu-box h3{margin:10px 0 0;font-weight:400;color:#b8a988;font-family:Cinzel,Georgia,serif;letter-spacing:.08em;font-size:14px}.faction-picker{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.menu-note{color:#8a7c60;font-size:13px;text-align:center;margin:0}.menu-error{color:#e06c5c;font-size:13px;margin:0}.room-code{font-size:18px;color:#c9a227;letter-spacing:.15em;font-family:Cinzel,serif}.join-row{display:flex;gap:8px;align-items:center}.code-input{font-family:inherit;font-size:16px;padding:8px 12px;width:120px;background:#20180f;color:#e8dcc0;border:1px solid #8a6d3b;border-radius:4px;text-transform:lowercase;transition:border-color .15s ease,box-shadow .15s ease}.code-input:focus,.text-input:focus{border-color:#c9a227;outline:none;box-shadow:0 0 0 2px #c9a22733,inset 0 1px 3px #0006}.code-input::placeholder,.text-input::placeholder{color:#7a6c50}.mp-banner{text-align:center;padding:5px 10px;background:linear-gradient(180deg,#6b3228aa,#4a221b99);border:1px solid #e06c5c;border-radius:6px;margin-bottom:4px;font-size:14px;box-shadow:0 2px 8px #0006,inset 0 1px #fff1}.field-label{display:flex;flex-direction:column;gap:4px;align-items:stretch;width:100%;color:#b8a988;font-size:13px}.text-input{font-family:inherit;font-size:16px;padding:8px 12px;background:#20180f;color:#e8dcc0;border:1px solid #8a6d3b;border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease}.user-stats{display:flex;align-items:center;gap:10px}.leaderboard-box{max-width:520px;width:90%}.leaderboard-table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 16px}.leaderboard-table th,.leaderboard-table td{padding:6px 10px;border-bottom:1px solid #3a2f1e;text-align:left}.leaderboard-table th{color:#c9a227;font-weight:400;font-family:Cinzel,serif}.leaderboard-table tbody tr{transition:background .12s ease}.leaderboard-table tbody tr:hover{background:#ffffff08}.leaderboard-table tbody tr:first-child td{color:#f5d76e}.leaderboard-table td:nth-child(n+3){text-align:right}.leaderboard-table th:nth-child(n+3){text-align:right}.settings-box{align-items:stretch}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;color:#e8dcc0;font-size:16px;padding:6px 8px;border-radius:6px;transition:background .12s ease}.toggle-row:hover{background:#ffffff08}.toggle-row input{width:18px;height:18px;accent-color:#c9a227}.game-screen{display:grid;grid-template-columns:190px 1fr 230px;gap:8px;height:100dvh;padding:10px;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 6px),radial-gradient(ellipse at 50% 30%,#0000 40%,#0006),linear-gradient(180deg,#2b1c10,#21150b 45%,#170e07)}.game-center{display:flex;flex-direction:column;min-width:0}.board,.board-half{flex:1;display:flex;flex-direction:column;gap:3px;min-height:0}.board-divider{border:none;height:4px;margin:4px 0;border-radius:2px;background:linear-gradient(90deg,transparent,#b8c4cc66 20%,#e8d9a988 50%,#b8c4cc66 80%,transparent);box-shadow:0 1px 2px #000c}.board-row{position:relative;isolation:isolate;overflow:hidden;flex:1;display:flex;align-items:center;gap:6px;min-height:0;background:repeating-linear-gradient(90deg,#ffffff05 0 2px,transparent 2px 7px),radial-gradient(ellipse at 50% 50%,#0000 55%,#0004),linear-gradient(180deg,#5c4326,#4e3820 55%,#3f2d19);border:1px solid #2a1d10;border-top-color:#7a5c36aa;border-radius:4px;padding:3px 8px 3px 4px;box-shadow:inset 0 0 24px #0005,inset 0 1px #ffffff0a,0 1px 2px #000a;transition:border-color .15s ease,box-shadow .15s ease}.board-row>*{position:relative;z-index:1}.row-weather:after{content:"";position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.72}.row-weather-frost:after{background:radial-gradient(circle at 8% 16%,#f4fbffcc 0 1px,transparent 2px),radial-gradient(circle at 25% 72%,#d8f2ffbb 0 1px,transparent 2px),radial-gradient(circle at 48% 24%,#ffffffaa 0 1.5px,transparent 2.5px),radial-gradient(circle at 67% 82%,#d8f2ffbb 0 1px,transparent 2px),radial-gradient(circle at 88% 36%,#f4fbffcc 0 1px,transparent 2px),linear-gradient(180deg,#dff6ff44,#75b9dc24 55%,#dff6ff55);background-size:86px 64px,112px 78px,134px 92px,96px 70px,124px 84px,auto;box-shadow:inset 0 0 18px #cdefffaa,inset 0 3px 5px #f3fbff99,inset 0 -3px 5px #9bd5f288;animation:frost-drift 7s linear infinite}.row-weather-fog:after{background:radial-gradient(ellipse 42% 48% at 10% 50%,#e2e5d8a8,transparent 70%),radial-gradient(ellipse 48% 55% at 52% 42%,#cdd4cbb0,transparent 72%),radial-gradient(ellipse 40% 50% at 92% 58%,#e4e1d2a0,transparent 70%),linear-gradient(180deg,#d5d9cf20,#b9c2ba55 55%,#e3e1d622);background-size:130% 100%;filter:blur(2px);animation:fog-roll 8s ease-in-out infinite alternate}.row-weather-rain:after{background:repeating-linear-gradient(108deg,transparent 0 13px,#b8dcf05c 14px 15px,transparent 16px 26px),linear-gradient(180deg,#7ba7bd30,#27475c4d);background-size:180px 120px,auto;box-shadow:inset 0 0 18px #315e7766;animation:rain-fall 1.1s linear infinite}@keyframes frost-drift{to{background-position:86px 32px,-56px 39px,67px 46px,-48px 35px,62px 42px,0 0}}@keyframes fog-roll{0%{background-position:-10% 0;opacity:.55}to{background-position:10% 0;opacity:.82}}@keyframes rain-fall{to{background-position:-42px 120px,0 0}}.row-weather-label{z-index:3;flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #d6e8ef99;border-radius:999px;background:#101820c9;color:#e7f5fa;font:10px/1.2 Cinzel,serif;letter-spacing:.02em;text-shadow:0 1px 2px #000;box-shadow:0 1px 5px #000a,inset 0 0 8px #a9d9ef22}.row-weather-label>span:first-child{font-size:14px;line-height:1}.row-mine{border-left:3px solid #8a6d3b88}.row-mine:hover{border-top-color:#9a7c4acc;box-shadow:inset 0 0 24px #0004,inset 0 1px #ffffff10,0 1px 2px #000a}.row-theirs{border-left:3px solid #4a3a2488}.row-targetable{border-color:#c9a227;box-shadow:inset 0 0 16px #c9a22744;cursor:pointer;animation:pulse-target 1.2s ease-in-out infinite}.reduce-motion .row-targetable{animation:none}@keyframes pulse-target{0%,to{box-shadow:inset 0 0 12px #c9a22733}50%{box-shadow:inset 0 0 22px #c9a22766}}.row-badge{min-width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%,#f2f7fa,#c2d3dd 55%,#93aab8);border:2px solid #6f8694;color:#16242e;font-weight:700;font-family:Cinzel,serif;box-shadow:0 2px 5px #000b,inset 0 -2px 4px #0003}.row-badge.horn{background:radial-gradient(circle at 32% 28%,#fdf3d0,#e8cf8a 55%,#c9a227);border-color:#a8862a;color:#3a2a08}.row-horn{min-width:30px;height:34px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:4px;border:1px dashed #7a5c3666;filter:grayscale(1) opacity(.3)}.row-horn.horn-active{filter:none;border-style:solid;border-color:#c9a227;background:#c9a22722;box-shadow:0 0 8px #c9a22766}.row-units{display:flex;gap:4px;overflow-x:auto;flex:1;height:100%;align-items:center}.card{position:relative;flex:0 0 auto;border-radius:6px;box-shadow:0 2px 6px #0008;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.card img{display:block;border-radius:6px;height:100%;width:auto}.card-row{height:clamp(60px,9dvh,100px)}.card-hand{height:clamp(120px,16.5dvh,190px)}.card-big{height:260px}.card-hero{box-shadow:0 0 0 2px #c9a227,0 2px 8px #000a}.card-clickable{cursor:pointer}.card-clickable:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 0 0 1px #c9a22766,0 8px 18px #000a,0 0 14px #c9a22722;z-index:2}.reduce-motion .card-clickable:hover{transform:none}.card-selected{outline:3px solid #c9a227;border-radius:6px;box-shadow:0 0 12px #c9a22788}.card-dimmed{filter:grayscale(.7) brightness(.6)}.card-strength{position:absolute;top:2px;left:2px;min-width:22px;text-align:center;background:radial-gradient(circle at 35% 30%,#3a2c12,#1c1408);border:1px solid #c9a227;border-radius:50%;color:#f0d890;font-size:13px;font-weight:700;padding:2px;font-family:Cinzel,serif;box-shadow:0 1px 3px #000c,inset 0 0 4px #c9a22733}.card-strength.buffed{color:#7fc97f}.card-strength.debuffed{color:#e06c5c}.hand-bar{display:flex;align-items:center;margin-top:6px;padding:4px 8px;background:linear-gradient(180deg,#ffffff08,#0003),linear-gradient(180deg,#3f2d19,#2b1c10);border:1px solid #1c1108;border-radius:6px;box-shadow:inset 0 0 0 1px #c9a22755,inset 0 0 18px #0006,0 2px 6px #000a}.hand{display:flex;gap:6px;overflow-x:auto;flex:1;padding:6px 0;justify-content:safe center}.status-col{display:flex;flex-direction:column;justify-content:space-between;gap:8px}.seat{display:flex;align-items:center;justify-content:space-between;gap:8px;background:radial-gradient(ellipse 120% 100% at 50% 0%,#ffffff06,transparent 60%),linear-gradient(180deg,#241a10cc,#120c08dd);border:1px solid var(--edge-dim);border-radius:8px;padding:10px 12px;box-shadow:0 0 0 2px #0c090666,inset 0 1px #ffffff10,0 2px 6px #0004;transition:border-color .2s ease,box-shadow .2s ease}.seat-main{min-width:0}.seat-active{border-color:var(--gold);box-shadow:0 0 0 2px #0c090666,inset 0 1px #ffffff14,0 0 14px #c9a22744,inset 0 0 20px #c9a2270d}.seat-score{flex:0 0 auto;min-width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--parchment);background:radial-gradient(circle at 35% 30%,#443415,#1a120a 70%);border:2px solid #6f5a34;box-shadow:0 2px 5px #000b,inset 0 1px #ffffff1a,inset 0 -3px 6px #0006;text-shadow:0 1px 3px #000;transition:color .25s ease,border-color .25s ease,box-shadow .25s ease}.seat-score-lead{color:#f5d76e;border-color:#c9a227;box-shadow:0 0 0 3px #1a120a,0 0 0 5px #c9a22788,0 0 12px #c9a22755}.seat-name{font-size:17px;color:#c9a227;font-family:Cinzel,serif}.opp-block{display:flex;flex-direction:column;gap:4px}.seat-room{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;color:#d8cdb4bf;font-family:Cinzel,serif}.room-code{padding:1px 7px;border:1px solid #c9a22766;border-radius:4px;background:#c9a2271a;color:#f5d76e;font-size:12px;font-weight:700;letter-spacing:.12em;-webkit-user-select:all;user-select:all}.room-copy{flex:0 0 auto;padding:0 5px;font-size:12px;line-height:1.4;color:#d8cdb4;background:transparent;border:1px solid #4a3a24;border-radius:4px;cursor:pointer}.room-copy:hover{border-color:#c9a227;color:#f5d76e}.seat-gems{color:#b3202a;letter-spacing:2px;font-size:16px}.seat-info{font-size:13px;color:#b8a988}.discard-pile{margin-top:5px;padding-top:5px;border-top:1px solid #ffffff12;font-size:11px;color:#8f846b}.discard-heading{color:#b8a988;letter-spacing:0;text-transform:uppercase}.discard-cards{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.discard-cards span{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 5px;border:1px solid #4a3a24;border-radius:4px;background:#0002}.discard-empty{margin-top:3px;color:#6f644e}.passed{color:#e06c5c;font-weight:700}.seat-leader{font-size:13px;margin-top:6px}.seat-leader-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.seat-leader-ability{font-size:11px;color:#8a9aa8;margin-top:2px;line-height:1.35}.weather-box{text-align:center;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:56px;font-size:14px;color:#9fc2d6;background:linear-gradient(180deg,#100c0888,#0a080455);border:2px solid #4a3a24;border-radius:6px;padding:8px;box-shadow:inset 0 0 0 1px #c9a22733,inset 0 0 14px #0008}.weather-clear{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#f0d890;font-family:Cinzel,serif;font-weight:700;text-shadow:0 1px 3px #000,0 0 10px #d9b84b44}.weather-clear>span{color:#f5d76e;font-size:20px;line-height:1}.weather-active{padding:2px 4px;border-radius:4px;color:#d8edf7;text-shadow:0 1px 3px #000}.weather-active-frost{background:#8bcbe51c}.weather-active-fog{background:#d7ded51a}.weather-active-rain{background:#5d96b527}.weather-active-storm{background:linear-gradient(90deg,#d7ded51a,#5d96b527);border-inline:1px solid #86aec244}.round-info{text-align:center;color:#b8a988;font-family:Cinzel,serif;letter-spacing:.08em;font-size:13px}.side-panel{display:flex;flex-direction:column;gap:8px;min-height:0}.preview-slot{height:264px;display:flex;justify-content:center;align-items:center;background:#0003;border-radius:8px;border:1px solid #3a2f1e;padding:4px;position:relative}.preview-selected{border-color:#c9a22788}.preview-confirmable{border-color:#c9a227;box-shadow:0 0 12px #c9a22744;cursor:pointer}.preview-empty{color:#8a7c60;font-size:13px;text-align:center;padding:12px}.card-info{background:linear-gradient(180deg,#1a140ccc,#0e0a08ee);border:1px solid #4a3a24;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.card-info-name{font-family:Cinzel,Georgia,serif;color:#c9a227;font-size:15px;letter-spacing:.04em}.card-info-flavor{font-style:italic;color:#9a8f74;font-size:12px;line-height:1.35}.card-info-ability{color:#e8dcc0;font-size:12px;line-height:1.4;white-space:pre-wrap}.card-info-hint{color:#c9a227;font-size:12px;margin-top:2px}.btn-play-confirm{width:100%;margin-top:4px;font-size:14px;padding:8px}.log{flex:1;overflow-y:auto;background:#0005;border:1px solid #3a2f1e;border-radius:8px;padding:8px;font-size:12px;min-height:80px}.log-entry{padding:3px 0;border-bottom:1px solid #ffffff11;color:#b8a988}.carousel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.carousel{text-align:center;max-width:90vw}.carousel h2{color:var(--gold);font-family:var(--font-display);letter-spacing:.08em;text-shadow:0 2px 8px #000000cc,0 0 24px #c9a22733}.carousel-cards{display:flex;gap:12px;overflow-x:auto;padding:16px 12px;justify-content:safe center;background:linear-gradient(180deg,transparent,#00000044 20%,#00000044 80%,transparent);border-radius:12px}.carousel-empty{color:#8a7c60}.result-box{position:relative;background:linear-gradient(180deg,#2a2010,#1d1710);border:1px solid var(--edge);border-radius:10px;padding:28px 48px;box-shadow:0 0 0 3px #0c090688,0 0 0 4px #6b5a3644,0 16px 48px #000a,inset 0 1px #fff1}.result-box:before{content:"";position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#c9a22788,transparent)}.round-table{margin:0 auto 16px;border-collapse:collapse}.round-table td{padding:4px 14px;border-bottom:1px solid #ffffff22}.round-table tr:last-child td{border-bottom:none}.deck-editor{display:flex;flex-direction:column;height:100dvh;padding:14px 18px 18px;gap:12px;overflow:hidden}.editor-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.editor-title-row{display:flex;align-items:center;gap:14px;min-width:0}.editor-title-row h1,.editor-section-heading h2{margin:0;color:var(--gold-bright);font-family:var(--font-display);font-weight:500;letter-spacing:.05em}.editor-title-row h1{font-size:clamp(24px,3vw,34px)}.editor-kicker{color:var(--parchment-dim);font-family:var(--font-display);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.editor-factions{flex-wrap:nowrap;justify-content:flex-end;overflow-x:auto;padding:3px 2px 5px}.editor-factions .btn{flex:0 0 auto;padding:7px 12px;font-size:12px}.save-status{flex:0 0 auto;padding:6px 12px;border:1px solid;border-radius:999px;font-family:var(--font-display);font-size:11px;letter-spacing:.04em}.save-status.save-ok{color:#a8d184;border-color:#9ac97a55;background:#9ac97a11}.save-status.save-bad{color:#e0b25a;border-color:#e0b25a66;background:#e0b25a14;cursor:help}.deck-overview{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));border:1px solid var(--edge-dim);border-radius:9px;background:linear-gradient(180deg,#21180fdd,#110c08dd);box-shadow:var(--inset-hi),0 4px 16px #0004;overflow:hidden}.deck-overview>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 8px;padding:8px 14px;border-right:1px solid #ffffff10}.deck-overview>div:last-child{border-right:none}.deck-overview span{color:var(--parchment-dim);font-size:12px}.deck-overview strong{grid-row:span 2;font-family:var(--font-display);font-size:23px;color:var(--parchment)}.deck-overview small{color:#756b59;font-size:10px}.deck-overview .overview-good strong{color:#a8d184}.deck-overview .overview-warn strong{color:#e0b25a}.deck-validation{display:flex;align-items:center;gap:8px;padding:7px 12px;overflow-x:auto;border:1px solid #e0b25a44;border-radius:7px;background:#e0b25a0d;color:#d8cdb4;font-size:12px;white-space:nowrap}.deck-validation strong{color:#e0b25a}.deck-validation span+span:before{content:"•";margin-right:8px;color:#8a6d3b}.mobile-editor-tabs{display:none}.editor-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.85fr);gap:14px;flex:1;min-height:0}.collection-panel,.deck-panel{min-height:0;background:radial-gradient(ellipse 100% 40% at 50% 0%,#ffffff05,transparent),#0b0806a8;border:1px solid #6b5a36;border-radius:10px;box-shadow:0 0 0 2px #0c090666,inset 0 1px #ffffff0d,0 5px 18px #0005;overflow:hidden}.collection-panel,.deck-panel{display:flex;flex-direction:column}.editor-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:13px 15px 10px;border-bottom:1px solid #ffffff12}.editor-section-heading h2{font-size:19px}.editor-section-heading>span{color:#8f846b;font-size:11px}.compact-heading{padding:11px 13px 8px}.collection-toolbar{display:flex;align-items:flex-end;gap:12px;padding:10px 14px;border-bottom:1px solid #ffffff0d;background:#0002}.collection-search{display:flex;flex-direction:column;gap:3px;min-width:190px;flex:1}.collection-search span{color:#8f846b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.collection-search input{width:100%;padding:8px 10px;border:1px solid var(--edge-dim);border-radius:5px;background:#120d09;color:var(--parchment);font:inherit;font-size:14px}.collection-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #c9a22722}.collection-filter-menu{position:relative;flex:0 0 auto}.collection-filter-trigger{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;min-height:37px;padding:7px 10px;border:1px solid #4a3a24;border-radius:5px;background:#1b150f;color:#a99d82;cursor:pointer}.collection-filter-trigger>span{color:#776b56;font:9px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.collection-filter-trigger strong{color:#c5b89c;font:11px var(--font-display);text-align:left}.collection-filter-trigger i{color:#8a6d3b;font-style:normal}.collection-filter-trigger:hover,.collection-filter-trigger.active{color:var(--gold-bright);border-color:var(--gold-deep);background:#c9a22712}.collection-filter-popover{position:absolute;z-index:25;top:calc(100% + 6px);right:0;width:220px;padding:6px;border:1px solid #6b5a36;border-radius:7px;background:#120d09f7;box-shadow:0 12px 30px #000b,inset 0 1px #ffffff0c}.collection-filter-popover>button,.collection-filter-submenu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:#b3a68a;font:11px var(--font-display);text-align:left;cursor:pointer}.collection-filter-popover button:hover,.collection-filter-popover button.active{background:#c9a22714;color:var(--gold-bright)}.collection-filter-units{border-top:1px solid #ffffff0b!important}.collection-filter-submenu{margin:1px 0 4px 10px;padding-left:6px;border-left:1px solid #6b5a36}.collection-filter-submenu button{min-height:30px;color:#91856d;font-size:10px}.collection-scroll,.deck-list-scroll{min-height:0;overflow-y:auto}.collection-scroll{flex:1;padding:12px}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}.collection-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;min-height:194px;padding:10px;border:1px solid #4a3a24;border-radius:8px;background:linear-gradient(145deg,#251b11cc,#120d09dd);box-shadow:inset 0 1px #ffffff0c,0 3px 10px #0004;transition:border-color .15s ease,transform .15s ease,background .15s ease}.collection-card:hover{border-color:#8a6d3b;background:linear-gradient(145deg,#2d2114dd,#15100bdd);transform:translateY(-1px)}.collection-card-unavailable{border-color:#332a20}.collection-card-art{position:relative;align-self:start}.collection-card-art .card-big{height:174px}.collection-card-art .card-clickable:hover{transform:translateY(-2px) scale(1.015)}.collection-copy-badge{position:absolute;right:-6px;bottom:-5px;min-width:34px;padding:4px 6px;border:1px solid var(--gold-deep);border-radius:999px;background:#120d09f2;color:var(--gold-bright);font:11px var(--font-display);text-align:center;box-shadow:0 2px 6px #000}.collection-card-copy{display:flex;flex-direction:column;min-width:0}.collection-card-copy h3{margin:1px 0 6px;color:#eadfca;font:15px var(--font-display);line-height:1.25}.card-tag-row{display:flex;flex-wrap:wrap;gap:4px}.card-tag-row span{padding:2px 6px;border:1px solid #5b4930;border-radius:999px;color:#b9ab8d;background:#ffffff05;font-size:10px}.card-tag-row.compact span{padding:1px 5px;font-size:9px}.collection-effect,.collection-vanilla,.deck-card-effect{white-space:pre-line;-webkit-user-select:text;user-select:text}.collection-effect{margin:9px 0;color:#d4c6a8;font-size:12px;line-height:1.35}.collection-vanilla{margin:9px 0;color:#6f6655;font-size:11px;font-style:italic}.collection-card-action{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:7px;border-top:1px solid #ffffff0b}.collection-card-action>span{color:#817661;font-size:10px}.collection-card-action .btn-small{min-height:28px;margin:0;padding:3px 10px}.collection-empty{padding:36px 20px;color:#8f846b;text-align:center}.trigger-section{margin-top:20px;padding-top:4px;border-top:1px solid #6b5a3666}.trigger-section>p{margin:8px 13px 12px;color:#8f846b;font-size:12px}.leader-section{flex:0 0 auto;border-bottom:1px solid #6b5a3666}.leader-card-list{display:flex;gap:8px;padding:9px 10px 12px;overflow-x:auto}.leader-choice{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr auto;gap:5px 9px;flex:0 0 290px;min-width:0;padding:8px;color:inherit;text-align:left;border:1px solid #4a3a24;border-radius:7px;background:linear-gradient(145deg,#241a10,#120d09);cursor:pointer}.leader-choice:hover{border-color:#8a6d3b}.leader-choice-selected{border-color:var(--gold);box-shadow:inset 0 0 18px #c9a22713,0 0 9px #c9a22722}.leader-choice-art{grid-row:1 / 3}.leader-choice-art .card-big{height:108px}.leader-choice-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.leader-choice-copy strong{color:#eadfca;font:12px/1.25 var(--font-display)}.leader-choice-copy small{display:-webkit-box;overflow:hidden;color:#9f947c;font:11px/1.3 var(--font-body);-webkit-line-clamp:4;-webkit-box-orient:vertical}.leader-choice-mark{align-self:end;color:#83775f;font:9px var(--font-display);text-transform:uppercase}.leader-choice-selected .leader-choice-mark{color:var(--gold-bright)}.built-deck-section{display:flex;flex:1;flex-direction:column;min-height:0}.deck-list-scroll{flex:1;padding:8px 9px 12px}.deck-card-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:7px;margin-bottom:7px;border:1px solid #3d3123;border-radius:7px;background:#17100bd6}.deck-card-art .card-big{height:103px}.deck-card-copy{min-width:0}.deck-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.deck-card-heading strong{color:#ddd1b8;font:12px/1.3 var(--font-display)}.deck-card-stepper{display:flex;align-items:center;flex:0 0 auto}.deck-card-stepper button,.deck-card-stepper span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #59462e;background:#261c12;color:#e4d8bc;font:14px var(--font-display)}.deck-card-stepper button:first-child{border-radius:4px 0 0 4px}.deck-card-stepper button:last-child{border-radius:0 4px 4px 0}.deck-card-stepper button{cursor:pointer}.deck-card-stepper button:disabled{opacity:.35;cursor:default}.deck-card-stepper span{border-left:none;border-right:none;color:var(--gold-bright);font-size:11px}.deck-card-effect{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:#9f947c;font-size:10px;line-height:1.3;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width: 1120px){.editor-workspace{grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr)}.collection-grid{grid-template-columns:1fr}.editor-header{align-items:stretch;flex-direction:column;gap:7px}.editor-factions{justify-content:flex-start}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}@media (max-width: 760px){.game-screen{display:flex;flex-direction:column;gap:6px;padding:6px;padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(6px + env(safe-area-inset-bottom))}.status-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(76px,.85fr) 44px minmax(0,1.15fr);align-items:stretch;gap:4px;flex:0 0 auto}.status-col .opp-block{min-width:0;gap:2px}.status-col .opp-block .seat{flex:1}.status-col .seat{min-width:0;padding:4px;gap:2px}.status-col .seat-main{min-width:0;overflow:hidden}.status-col .seat-name{font-size:13px}.status-col .seat-gems{font-size:12px}.status-col .seat-info{overflow:hidden;font-size:9px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.status-col .seat-leader{margin-top:3px;font-size:10px;line-height:1.15}.status-col .seat-leader-row{align-items:flex-start;gap:3px}.status-col .seat-leader-ability{display:none}.status-col .seat-leader .btn-small{min-height:26px;padding:2px 5px;font-size:9px}.status-col .weather-box{min-width:0;min-height:0;gap:2px;padding:5px 3px;overflow-y:auto;font-size:9px;line-height:1.1}.status-col .weather-active{padding:2px}.status-col .weather-clear{flex-direction:column;gap:2px;font-size:10px}.status-col .round-info{align-self:center;font-size:9px}.discard-pile{display:none}.game-center{flex:1;min-height:0}.side-panel{flex-direction:row;gap:6px;min-height:0}.preview-slot{height:132px;flex:0 0 auto}.preview-slot .card-big{height:124px}.card-info{max-height:124px;flex:1}.card-info-flavor,.side-panel .log{display:none}.card-row{height:clamp(42px,7dvh,64px)}.card-hand{height:clamp(96px,14.5dvh,132px)}.card-big{height:176px}.row-badge{min-width:28px;height:28px;font-size:13px}.row-horn{display:none}.row-weather-label{padding:3px 5px}.row-weather-label>span:last-child{display:none}.seat-score{min-width:34px;height:34px;font-size:16px}.board-row{gap:4px;padding:1px 3px}.hand{gap:4px}.btn{min-height:40px}.btn-small{min-height:32px}.carousel{max-width:96vw}.carousel-cards{gap:8px;padding:8px}.deck-editor{height:100dvh;padding:calc(6px + env(safe-area-inset-top)) 7px calc(6px + env(safe-area-inset-bottom));gap:7px;overflow:hidden}.editor-header{flex:0 0 auto;gap:4px}.editor-title-row{flex-wrap:nowrap;gap:8px}.editor-title-row h1{font-size:20px;white-space:nowrap}.editor-title-row .btn{min-height:34px;padding:5px 9px;font-size:11px}.editor-title-row .save-status{max-width:112px;margin-left:auto;padding:4px 7px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.editor-kicker{font-size:8px}.editor-factions{margin:0 -2px;padding:1px 2px 3px;gap:4px}.editor-factions .btn{min-height:31px;padding:5px 9px;font-size:10px}.deck-overview{flex:0 0 auto;grid-auto-flow:column;grid-auto-columns:minmax(116px,1fr);grid-template-columns:none;overflow-x:auto}.deck-overview>div{padding:5px 8px}.deck-overview>div{border-right:1px solid #ffffff10}.deck-overview span{font-size:10px}.deck-overview strong{font-size:18px}.deck-overview small{font-size:8px}.deck-validation{align-items:flex-start;flex:0 0 auto;flex-direction:column;max-height:58px;padding:5px 8px;gap:2px;overflow-y:auto;font-size:10px;white-space:normal}.deck-validation span+span:before{display:none}.mobile-editor-tabs{display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;padding:3px;border:1px solid #6b5a36;border-radius:8px;background:#0d0907;box-shadow:inset 0 1px #ffffff0a}.mobile-editor-tabs button{min-height:36px;border:0;border-radius:5px;background:transparent;color:#94886f;font:12px var(--font-display);letter-spacing:.04em}.mobile-editor-tabs button.active{background:linear-gradient(180deg,#3a2b16,#24190e);color:var(--gold-bright);box-shadow:inset 0 0 0 1px #8a6d3b}.mobile-editor-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;margin-left:4px;padding:2px 5px;border-radius:999px;background:#ffffff0d;font-size:9px}.editor-workspace{display:block;flex:1;min-height:0}.collection-panel,.deck-panel{display:none;height:100%;min-height:0;overflow:hidden}.collection-panel.mobile-pane-active,.deck-panel.mobile-pane-active{display:flex}.collection-scroll,.deck-list-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.editor-section-heading{padding:8px 10px 6px}.editor-section-heading h2{font-size:16px}.compact-heading{padding:7px 9px 5px}.collection-toolbar{align-items:stretch;flex-direction:column;gap:6px;padding:7px 9px}.collection-search{min-width:0}.collection-search input{padding:7px 9px;font-size:13px}.collection-filter-menu,.collection-filter-trigger{width:100%}.collection-filter-popover{right:auto;left:0;width:min(250px,100%)}.collection-scroll{padding:8px}.collection-grid{grid-template-columns:1fr}.collection-card{min-height:169px}.collection-card-art .card-big{height:148px}.leader-card-list{padding:7px 8px 9px}.leader-choice{flex-basis:min(270px,calc(100vw - 38px))}.leader-choice-art .card-big{height:92px}.built-deck-section{flex:1;min-height:0}.deck-list-scroll{padding:7px 8px 10px}.join-row{flex-wrap:wrap;justify-content:center}.leaderboard-box{width:96%}}@media (orientation: landscape) and (max-height: 520px){.game-screen{grid-template-columns:150px minmax(0,1fr) 180px;gap:6px;height:100dvh;padding:6px;overflow:hidden}.status-col,.game-center,.side-panel{min-height:0}.status-col{display:flex;gap:4px;overflow-y:auto;overscroll-behavior:contain}.status-col .seat{padding:5px}.status-col .seat-name{font-size:13px}.status-col .seat-info{font-size:10px}.status-col .seat-leader{margin-top:3px;font-size:10px}.status-col .seat-leader-ability,.status-col .discard-pile{display:none}.status-col .weather-box{min-height:38px;padding:4px;gap:2px;font-size:9px}.status-col .round-info{font-size:9px}.seat-score{min-width:30px;height:30px;font-size:14px}.board-row{gap:3px;padding:1px 3px}.card-row{height:clamp(24px,10dvh,36px)}.row-badge{min-width:24px;height:24px;border-width:1px;font-size:11px}.row-horn{display:none}.row-weather-label{padding:2px 4px}.row-weather-label>span:last-child{display:none}.hand-bar{margin-top:3px;padding:2px 4px}.card-hand{height:clamp(58px,23dvh,72px)}.hand{gap:3px;padding:2px 0}.side-panel{gap:5px;overflow:hidden}.preview-slot{height:104px}.preview-slot .card-big{height:96px}.card-info{max-height:178px;padding:6px 8px;gap:3px}.card-info-flavor,.side-panel .log{display:none}}@media (hover: none){.card-clickable:hover{transform:none}.preview-empty:after{content:" (tap a card)"}}.play-reveal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:60;pointer-events:none;background:radial-gradient(ellipse at center,#0a080473,#0a080400 70%);animation:reveal-fade .9s ease both}.play-reveal-inner{display:flex;flex-direction:column;align-items:center;gap:10px;animation:reveal-pop .35s cubic-bezier(.2,1.4,.4,1) both}.play-reveal-inner .card-big{box-shadow:0 0 0 2px #c9a227,0 12px 40px #000000b3}.play-reveal-theirs .card-big{box-shadow:0 0 0 2px #b0463c,0 12px 40px #000000b3}.play-reveal-label{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;border-radius:8px;background:#120e08eb;border:1px solid #3a3226;font-family:Cinzel,serif;text-align:center}.play-reveal-label strong{font-size:13px;letter-spacing:.06em;color:#c9a227}.play-reveal-theirs .play-reveal-label strong{color:#d98b7f}.play-reveal-label span{font-size:12px;color:#d8cdb4}@keyframes reveal-pop{0%{transform:scale(.6) translateY(24px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes reveal-fade{0%{opacity:0}12%{opacity:1}82%{opacity:1}to{opacity:0}}.turn-banner{position:fixed;left:50%;top:34%;transform:translate(-50%);z-index:55;pointer-events:none;padding:16px 48px;border-radius:12px;background:linear-gradient(90deg,transparent,#c9a2270d 20%,#c9a2271a 50%,#c9a2270d 80%,transparent),#120e08f0;border:2px solid #c9a227;color:#e8dcbe;font-family:Cinzel,serif;font-size:28px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 40px #000000b3,0 0 24px #c9a22740;animation:banner-in-out 1.4s ease both}.turn-banner-opp{border-color:#8a3232;color:#f0d8d8;box-shadow:0 8px 40px #000000b3,0 0 24px #8a32324d}.turn-banner-pass{top:22%;z-index:65;font-size:clamp(18px,3vw,28px)}@keyframes banner-in-out{0%{opacity:0;transform:translate(-50%) scale(.85)}12%{opacity:1;transform:translate(-50%) scale(1.05)}22%{transform:translate(-50%) scale(1)}82%{opacity:1}to{opacity:0}}.board-row .card-row{animation:unit-land .3s ease-out both}.hand .card-hand{animation:hand-draw .25s ease-out both}@keyframes unit-land{0%{transform:translateY(-10px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes hand-draw{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.play-reveal,.play-reveal-inner,.turn-banner,.board-row .card-row,.hand .card-hand{animation:none!important}}.reduce-motion .play-reveal,.reduce-motion .play-reveal-inner,.reduce-motion .turn-banner,.reduce-motion .board-row .card-row,.reduce-motion .hand .card-hand{animation:none!important}
