.mana-symbol{display:inline-block;width:1.4em;height:1.4em;vertical-align:middle;flex-shrink:0;overflow:visible}.mana-cost .mana-symbol+.mana-symbol{margin-left:-.55em}.basic-land-row{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:3.2vmin;margin-bottom:.7vmin;font-size:1.4vmin;color:var(--text-secondary);padding:.5vmin 8px;cursor:pointer;user-select:none;border:1px solid transparent;border-radius:.5vmin;background:var(--bg-surface);box-sizing:border-box}.basic-land-row .mana-symbol{filter:brightness(.75)}.basic-land-row.active .mana-symbol{filter:none}.basic-land-row.active{position:relative;color:var(--text-primary)}.basic-land-row:hover{background:var(--bg-hover)}.active-land-group .basic-land-row+.basic-land-row:before{content:"";position:absolute;top:-.35vmin;left:0;right:0;height:1px;background:#ffffff0f}.active-land-group{position:relative;z-index:1;display:flex;flex-direction:column;margin-bottom:0;border-radius:.5vmin}.active-land-group:before{content:"";position:absolute;top:0;left:0;right:0;bottom:calc(.7vmin * var(--card-scale, 1));background:var(--bg-surface);border-radius:inherit;outline:1px solid var(--text-secondary);z-index:-1;pointer-events:none}.basic-land-actions{display:flex;align-items:center;gap:.5vmin}.basic-land-btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--bg-pressed);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;padding:.4vmin;border-radius:.4vmin;min-width:2.4vmin;min-height:2.4vmin}.basic-land-btn:hover{background:var(--bg-hover);border-color:var(--text-secondary);color:#fff}.basic-land-btn:active{background:var(--bg-surface);transform:scale(.93)}.basic-land-name .mana-symbol{font-size:.75em}.basic-land-name{display:inline-flex;align-items:center;gap:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.basic-land-count{min-width:1.6vmin;text-align:center}.basic-land-pips{color:inherit;font-size:.7em;align-self:flex-end}.section-title{display:flex;align-items:baseline;gap:6px}.card-list{min-width:0}.card-list+.card-list .section-title{margin-top:calc(1.4vmin * var(--card-scale, 1))}.card-list .section-title,.card-list-title{font-size:calc(1.4vmin * var(--card-scale, 1));font-weight:700;text-transform:uppercase;color:var(--text-secondary);min-height:calc(3.2vmin * var(--card-scale, 1));display:flex;align-items:flex-start;margin-bottom:calc(-.525vmin * var(--card-scale, 1))}.card-list .deck-section-title{color:var(--text-secondary)}.action-button{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);height:max(3.2vmin,24px);padding:0 6px;line-height:1;cursor:pointer;user-select:none;border:1px solid var(--border-default);border-radius:.5vmin;background:var(--bg-surface);box-sizing:border-box;transition:color var(--transition-normal)}.action-button svg{width:1em;height:1em}.action-button:hover,.action-button.active{color:#fff;background:var(--bg-hover)}.action-button.disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.action-button.disabled:hover{color:var(--text-secondary);background:var(--bg-surface)}.deck-stats-wrapper{position:relative}.deck-stats-modal{position:absolute;top:calc(100% + 6px);left:0;display:flex;gap:28px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px 14px;z-index:100;box-shadow:var(--shadow-popup);white-space:nowrap;color:var(--text-primary);font-size:12px}.deck-stats-modal:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:6px}.deck-stats-modal h4{margin:0 0 6px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;user-select:none}.deck-stats-section{min-width:0;display:flex;flex-direction:column}.deck-stats-section svg{margin-top:auto}.deck-stats-section+.deck-stats-section{border-left:1px solid var(--border-default);padding-left:28px}.deck-stats-placeholder{color:var(--text-secondary);font-style:italic;font-size:11px}.deck-stats-type-row{display:flex;justify-content:space-between;gap:12px;padding:1px 0;color:var(--text-secondary)}.deck-stats-type-row span:last-child{color:var(--text-primary);font-weight:600}.deck-stats-curve-label{fill:var(--text-secondary);font-size:9px;text-anchor:middle}.mana-cost{display:inline-flex;gap:0;align-items:center;font-size:.75em;flex-shrink:0;isolation:isolate}.mana-cost-separator{position:relative;z-index:10;margin:0 .3em;font-weight:700;color:var(--text-primary);font-size:1.2em;line-height:1;user-select:none}.sample-hand-wrapper{position:relative}.sample-hand-modal{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px 14px;z-index:100;box-shadow:var(--shadow-popup);white-space:nowrap;color:var(--text-primary);font-size:12px}.sample-hand-modal:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:6px}.sample-hand-modal h4{margin:0 0 6px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;user-select:none}.sample-hand-placeholder{color:var(--text-secondary);font-style:italic;font-size:11px}.sample-hand-list{list-style:none;margin:4px 0 0;padding:0}.sample-hand-list li{display:flex;align-items:center;gap:5px;padding:3px 0;color:var(--text-primary);cursor:default}.sample-hand-list .mana-cost{font-size:.65em}.craft-deck-wrapper{position:relative}.craft-deck-modal{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 0;z-index:100;box-shadow:var(--shadow-popup);white-space:nowrap;color:var(--text-primary);font-size:12px}.craft-deck-modal:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:6px}.craft-deck-item{display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;transition:background var(--transition-fast)}.craft-deck-item:hover{background:var(--bg-pressed)}.craft-deck-colors{display:inline-flex;gap:3px;font-size:13px}.craft-deck-title{color:var(--text-primary);font-weight:500}.craft-deck-empty{color:var(--text-secondary);font-style:italic;font-size:11px;padding:4px 14px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:4px;height:3.2vmin;margin-bottom:.7vmin;font-size:1.4vmin;color:var(--text-secondary);padding:.5vmin 8px;cursor:pointer;user-select:none;border:1px solid transparent;border-radius:.5vmin;background:var(--bg-surface);box-sizing:border-box}.card-row>span:not(.mana-cost){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.card-row.no-click{cursor:default}.card-row:not(.hidden):hover{background:var(--bg-hover)}.card-row:not(.hidden):not(.no-click):hover{color:var(--text-primary);border-color:var(--text-secondary)}.card-row:not(.hidden):not(.no-click):hover .mana-cost{opacity:1}.card-row.hidden{justify-content:center}.card-row .mana-cost{opacity:.75}.card-row.selected .mana-cost{opacity:1}.card-row.selected{position:relative;color:var(--text-secondary);border-color:transparent;border-radius:0}.card-row.selected:not(.hidden):not(.no-click):hover{border-color:transparent}.selected-group .card-row:first-child{border-radius:.5vmin .5vmin 0 0}.selected-group .card-row:last-child{border-radius:0 0 .5vmin .5vmin}.selected-group .card-row:first-child:last-child{border-radius:.5vmin}.selected-group .card-row+.card-row:before{content:"";position:absolute;top:-.35vmin;left:0;right:0;height:1px;background:#ffffff0f}.selected-group{position:relative;z-index:1;display:flex;flex-direction:column;margin-bottom:0;border-radius:.5vmin}.selected-group:before{content:"";position:absolute;top:0;left:0;right:0;bottom:calc(.7vmin * var(--card-scale, 1));background:var(--bg-surface);border-radius:inherit;outline:1px solid var(--text-secondary);z-index:-1;pointer-events:none}.card-row.card-flash{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.card-row.card-flash .mana-cost{opacity:1}.selector-picker{flex:1;min-width:0;display:flex;align-items:flex-start;position:relative;box-sizing:border-box;height:100%}.selector-picker-measure{position:absolute;visibility:hidden;pointer-events:none}.selector-picker-columns{display:flex;align-items:flex-start;width:100%;gap:.75vw;padding:0 4px;box-sizing:border-box;position:relative}.selector-picker-column{flex:1;min-width:0}.selector-picker-columns.single-column .selector-picker-column{flex:none}.selector-picker-measure-sidebar{visibility:hidden;pointer-events:none}.selector-picker-column .card-list{width:auto}.selector-picker-columns .card-list>*:not(.selected-group):not(.active-land-group):not(.section-title),.selector-picker-columns .deck-list-container>*,.selector-picker-columns>.deck-actions-row{zoom:var(--card-scale, 1)}.selector-picker-columns .selected-group>*,.selector-picker-columns .active-land-group>*{zoom:var(--card-scale, 1)}.selector-picker.animate-in{animation:display-fade-in .4s ease-out both;animation-delay:.2s}@keyframes display-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.deck-actions-row{display:flex;align-items:flex-end;gap:1.05vmin;min-height:3.2vmin;font-size:1.3vmin;box-sizing:border-box;position:absolute;flex-direction:column;top:0;right:calc(100% + .75vw);width:auto}.selector-picker-columns>.deck-actions-row{position:static;flex-shrink:0;padding-right:.75vw}.deck-actions-spin svg{animation:spin 1s linear infinite}.deck-actions-toast{position:absolute;bottom:calc(100% + 6px);left:0;opacity:0;transform:scale(.6);color:#fff;font-size:1.4vmin;font-weight:700;pointer-events:none;white-space:nowrap;background:var(--bg-base);padding:6px 10px;border-radius:var(--radius-md);box-shadow:var(--shadow-toast);transition:none}.deck-actions-toast.visible{opacity:1;transform:scale(1);transition:opacity .15s cubic-bezier(.34,1.56,.64,1),transform .15s cubic-bezier(.34,1.56,.64,1)}.selector{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.selector-main{box-sizing:border-box;width:90vw;height:85vh;display:flex}.selector-sidebar{display:flex;flex-direction:column;gap:1.4vmin;box-sizing:border-box;height:100%}.selector-sidebar>.card-list{width:auto;flex-shrink:0}.selector-main.animate-in{pointer-events:none;animation:selector-unlock 0s .6s both}@keyframes selector-unlock{to{pointer-events:auto}}.selector-sidebar.animate-in{animation:selector-fade-in .4s ease-out both;animation-delay:.1s}@keyframes selector-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pool-display{flex:1;width:100%;min-width:0;display:flex;align-items:flex-start;position:relative;box-sizing:border-box;min-height:0;height:100%}.pool-display-measure{position:absolute;visibility:hidden;pointer-events:none}.pool-display-columns{display:flex;align-items:flex-start;width:100%;gap:.75vw;padding:0 4px;box-sizing:border-box;position:relative}.pool-display-column{flex:1;min-width:0}.pool-display-columns.single-column .pool-display-column{flex:none}.pool-display-column .card-list{width:auto}.pool-display .card-row{cursor:default}.pool-display-columns .deck-actions-row{top:2.7vmin}.pool-display-columns .card-list>*:not(.section-title){zoom:var(--card-scale, 1)}.display{flex:1;min-width:0;display:flex;align-items:flex-start;position:relative;box-sizing:border-box;height:100%}.display-measure{position:absolute;visibility:hidden;pointer-events:none}.display-columns{display:flex;align-items:flex-start;width:100%;gap:.75vw;padding:0 4px;box-sizing:border-box;position:relative}.display-column{flex:1;min-width:0}.display-columns.single-column .display-column{flex:none}.display-column .card-list{width:auto}.draft-display{align-items:center;justify-content:center;width:100%}.draft-display-content{width:60%;display:flex;flex-direction:column}.draft-display-title{font-size:max(10px,1.4vmin);font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5vh}.draft-display-single-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:90%;flex:1;min-height:0;padding:0 clamp(16px,4vw,48px);box-sizing:border-box}.draft-display-subtitle{font-size:1.4vmin;font-weight:700;text-transform:uppercase;color:var(--text-secondary);min-height:3.2vmin;display:flex;align-items:flex-start;margin-bottom:-.525vmin}.draft-display-row{display:flex;flex-direction:column;width:100%;min-height:56vmin;position:relative}.draft-display-row .card-row{width:100%;height:3.8vmin;font-size:1.6vmin}.draft-hidden-group .card-row.hidden svg circle{display:none}.draft-hidden-group .card-row.selected{color:var(--text-secondary)}.draft-hidden-group .card-row{cursor:inherit}.draft-hidden-group:before{outline:1px solid rgba(255,255,255,.06)}.draft-connected-group .card-row{cursor:inherit;background:transparent;position:relative}.draft-connected-group .card-row:hover{background:transparent}.draft-connected-group:before{outline:none}.draft-connected-group:hover:before{background:var(--bg-pressed)}.draft-display .display-columns .card-list>*:not(.selected-group):not(.active-land-group):not(.section-title),.draft-display .display-columns .deck-list-container>*,.draft-display .display-columns>.deck-actions-row{zoom:var(--card-scale, 1)}.draft-display .display-columns .selected-group>*,.draft-display .display-columns .active-land-group>*{zoom:var(--card-scale, 1)}@keyframes card-switch-fade{0%{opacity:0}to{opacity:1}}.draft-display-row.fade-switch,.display-columns.fade-switch{animation:card-switch-fade .5s ease-out .1s both}.draft-picker{position:fixed;inset:0;display:flex;flex-direction:column;animation:draft-fade-in .4s ease-out both;animation-delay:.2s}@keyframes draft-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.draftsim-body{flex:1;display:flex;min-height:0}.draftsim-pool{flex:6.125;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:clamp(40px,12vh,120px) clamp(24px,6vw,72px) clamp(40px,12vh,120px) clamp(48px,12vw,144px);box-sizing:border-box;opacity:.6}.draftsim-hand-section .draft-display-title{margin-bottom:1.5vh}.draftsim-hand-section{flex:3.875;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(40px,12vh,120px) 0;box-sizing:border-box;border-right:1px solid var(--border-subtle);background:var(--bg-base)}.draftsim-pool .card-row{height:3.8vmin;font-size:1.6vmin}.draft-waiting{font-size:max(10px,1.4vh);color:var(--text-secondary)}.winston-piles{display:flex;flex-direction:column;align-items:flex-start;width:90%;flex:1;min-height:0;padding:0 clamp(16px,4vw,48px);box-sizing:border-box;gap:1.5vmin}.winston-pile-row{width:100%}.winston-pile-past{opacity:.5}.winston-pile-dimmed{opacity:.4;pointer-events:none}.winston-pile-empty{opacity:.25}.winston-pile-header{font-size:max(10px,1.4vmin);font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5vmin}.winston-pile-cards{position:relative}.winston-pile-cards .card-row{width:100%;height:3.8vmin;font-size:1.6vmin}.winston-pile-hidden .card-row{color:var(--text-secondary);cursor:default}.winston-pile-hidden .card-row svg circle{display:none}.winston-pile-revealed .deck-actions-row .action-button{width:100%;height:3.8vmin;font-size:1.6vmin;justify-content:center}.winston-pile-revealed .selected-group{cursor:pointer}.winston-pile-revealed .selected-group:before{outline:1px solid rgba(255,255,255,.06)}.winston-pile-revealed .selected-group .card-row{background:transparent;cursor:pointer}.winston-pile-revealed .selected-group .card-row:not(.hidden):hover{background:transparent;border-color:transparent}.winston-pile-revealed .selected-group:hover:before{background:var(--bg-pressed)}.winston-pile-revealed .selected-group:hover .card-row{color:var(--text-primary)}.winston-pile-hidden .selected-group:before{outline:1px solid rgba(255,255,255,.06)}.winston-picker .draftsim-hand-section{justify-content:flex-start;padding-left:clamp(16px,4vw,48px);padding-top:clamp(24px,6vh,60px);overflow-y:auto}.spectator-badge{position:fixed;bottom:16px;left:16px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;cursor:pointer;z-index:100;user-select:none;transition:color var(--transition-fast),border-color var(--transition-fast)}.spectator-badge:hover{color:#fff;border-color:var(--text-secondary)}html,body,#root{margin:0;padding:0;overflow:hidden;height:100vh;width:100vw;background:var(--bg-base)}.app{display:flex;justify-content:center;align-items:center;padding:16px;color:#fff;background:var(--bg-base);height:100vh;font-family:monospace;overflow:hidden;box-sizing:border-box;width:100vw}.app-main{display:flex;align-items:stretch;gap:36px}.life-counter-minimal{position:relative;z-index:var(--z-game-pieces);min-width:var(--counter-width);height:var(--font-life);user-select:none;display:flex;align-items:center}.life-number-container{width:100%;display:flex;justify-content:flex-end}.life-number-display{font-size:var(--font-life);font-weight:900;color:var(--text-muted);line-height:.8;text-align:right}.life-actions-overlay{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;transition:opacity var(--transition-normal)}.life-counter-minimal:hover .life-actions-overlay{opacity:1}.life-btn{flex:1;min-height:0;width:100%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-secondary);padding:0;transition:color var(--transition-fast)}.life-btn svg{width:var(--font-sm);height:var(--font-sm);flex-shrink:0}.life-btn:hover{color:#fff}.dice-section{display:flex;flex-direction:column;align-items:center;gap:var(--gap-xs);user-select:none;pointer-events:auto}.is-flipped .dice-section{flex-direction:column-reverse}.die-container{width:calc(var(--scale) * 1px);height:calc(var(--scale) * 1px);cursor:pointer;display:flex;justify-content:center;align-items:center;color:var(--text-muted);transition:transform var(--transition-normal),color var(--transition-normal)}.die-container:hover{transform:scale(1.15);color:var(--text-secondary)}.die-container:hover .die-text{color:#fff}.die-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center;transition:transform .6s cubic-bezier(.4,0,.2,1)}.die-text{position:absolute;font-weight:900;font-size:var(--font-sm);color:var(--text-secondary);z-index:var(--z-die-text)}.die-text-d20{font-size:var(--font-sm)}.die-text-small{font-size:calc(var(--scale) * .4px)}.life-dice-section{position:absolute;left:calc(var(--scale) * .2px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;z-index:var(--z-game-pieces);pointer-events:none}.life-column{display:flex;flex-direction:column;gap:var(--gap-lg);pointer-events:auto}.life-dice-section.right-side{left:auto;right:calc(var(--scale) * .2px);flex-direction:row-reverse}.life-dice-section.right-side .life-number-container{justify-content:flex-start}.life-dice-section.right-side .life-number-display{text-align:left}.life-dice-section.is-flipped{left:auto;right:calc(var(--scale) * .2px);flex-direction:row-reverse}.life-dice-section.is-flipped .life-number-container{justify-content:flex-start}.life-dice-section.is-flipped .life-number-display{text-align:left}.life-dice-section.right-side.is-flipped{right:auto;left:calc(var(--scale) * .2px);flex-direction:row}.life-dice-section.right-side.is-flipped .life-number-container{justify-content:flex-end}.life-dice-section.right-side.is-flipped .life-number-display{text-align:right}.counter-modal{padding:6px;display:flex;flex-direction:column;gap:6px;cursor:default}.counter-row{display:flex;align-items:center;justify-content:center}.counter-controls{display:flex;align-items:center;gap:4px}.card-wrapper{width:var(--card-width);display:inline-block;cursor:pointer;position:relative;will-change:transform}.card-wrapper.animate-visibility-hide{animation:visibility-hide-bounce .5s forwards}.card-wrapper.animate-visibility-show{animation:visibility-show-bounce .5s forwards}@keyframes visibility-hide-bounce{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes visibility-show-bounce{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.rotation-layer{width:100%;perspective:1000px;position:relative}.shake-layer{width:100%;height:100%;position:relative;transform-style:preserve-3d}.card-wrapper.shuffling .shake-layer{animation:shuffle-shake .25s infinite ease-in-out}@keyframes shuffle-shake{0%{transform:translate(0) rotate(0)}20%{transform:translate(calc(var(--shake-intensity, 2px) * 1),calc(var(--shake-intensity, 2px) * .5)) rotate(1deg)}40%{transform:translate(calc(var(--shake-intensity, 2px) * -.5),calc(var(--shake-intensity, 2px) * -1)) rotate(-1deg)}60%{transform:translate(calc(var(--shake-intensity, 2px) * -1),calc(var(--shake-intensity, 2px) * .5)) rotate(0)}80%{transform:translate(calc(var(--shake-intensity, 2px) * .5),calc(var(--shake-intensity, 2px) * -.5)) rotate(1deg)}to{transform:translate(0) rotate(0)}}.card-display{position:relative;width:100%;aspect-ratio:2.5 / 3.5;transition:transform .6s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;transform-style:preserve-3d;border-radius:4.75%/3.5%}.card-display.is-hovered{box-shadow:0 0 12px 2px var(--glow-color);outline:1.5px solid rgba(255,255,255,.6);outline-offset:1px}.card-display.is-flipped{transform:rotateY(180deg)}@keyframes draw-flip{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.card-display.draw-flip-anim{animation:draw-flip .5s cubic-bezier(.19,1,.22,1) 50ms both;transition:box-shadow .2s ease}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:inherit;overflow:hidden;box-shadow:0 1px 2px #00000080,0 2px 4px #0000004d}.card-front{transition:filter .5s ease}.card-wrapper.is-hidden .card-front{filter:grayscale(100%) brightness(.6)}.card-back{transform:rotateY(180deg)}.card-image{width:100%;height:100%;object-fit:cover}.card-actions-left{position:absolute;top:5px;left:5px;display:flex;flex-direction:column;gap:4px;z-index:var(--z-card-actions);opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.card-actions-right{position:absolute;top:5px;right:5px;display:flex;flex-direction:column;gap:4px;z-index:var(--z-card-actions-top);opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.card-actions-always-visible{pointer-events:none;opacity:1}.card-actions-right.is-visible{opacity:1}.counter-badge-item{background:var(--bg-surface);color:#fff;border:1px solid var(--border-default);border-radius:var(--radius-sm);width:var(--btn-size);height:var(--btn-size);min-width:var(--btn-min-size);min-height:var(--btn-min-size);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;box-shadow:0 2px 4px #0000004d}.card-sleeve{width:100%;height:100%;border-radius:inherit;background:linear-gradient(170deg,var(--sleeve-highlight) 0%,var(--sleeve-base) 40%,color-mix(in srgb,var(--sleeve-base),black 20%) 100%);box-shadow:inset 0 1px #ffffff1f,inset 0 -2px 4px #0000004d}.deck-search-modal{position:fixed;width:calc(var(--scale) * 4.5px);height:calc(var(--scale) * 6.3px);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);z-index:var(--z-overlay);display:flex;flex-direction:column;overflow:hidden;cursor:default;pointer-events:auto;container-type:inline-size}.deck-search-input{background:#ffffff0d;color:var(--text-primary);border:none;border-bottom:1px solid var(--border-subtle);padding:6.9cqw;font-size:7.8cqw;outline:none}.deck-search-input::placeholder{color:var(--text-secondary)}.deck-search-list{flex:1;overflow-y:auto;padding:2.9cqw;scrollbar-color:var(--bg-hover) transparent}.deck-search-row{padding:4.6cqw;margin-bottom:2.3cqw;background:#ffffff08;border-radius:2.3cqw;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:7.8cqw;color:var(--text-primary);transition:background var(--transition-normal)}.deck-search-row:hover{background:#ffffff1a;color:#fff}.deck-search-count{font-size:6.5cqw;background:var(--bg-hover);padding:1.2cqw 3.5cqw;border-radius:5.8cqw;color:var(--text-secondary)}.deck-search-list::-webkit-scrollbar{width:2.3cqw}.deck-search-list::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:1.2cqw}.deck-search-empty{color:var(--text-secondary);font-size:7.4cqw;text-align:center;margin-top:11.5cqw}.deck-peek-modal{position:fixed;width:calc(var(--scale) * 4.5px);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);z-index:var(--z-overlay);display:flex;flex-direction:column;overflow:visible;cursor:default;pointer-events:auto;container-type:inline-size;user-select:none}.peek-section{padding:2.9cqw;min-height:14cqw}.peek-section-label{font-size:6cqw;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:2cqw 4.6cqw;pointer-events:none}.peek-divider{height:1px;background:var(--border-subtle);margin:0 2.9cqw}.peek-list{display:flex;flex-direction:column;gap:2.3cqw}.peek-row{padding:4.6cqw;background:#ffffff08;border-radius:2.3cqw;display:flex;align-items:center;cursor:grab;font-size:7.8cqw;color:var(--text-primary);transition:background var(--transition-normal)}.peek-row:hover{background:#ffffff1a;color:#fff}.peek-row:active{cursor:grabbing}.peek-row-ghost{display:flex;align-items:center;pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;box-shadow:var(--shadow-popup);color:var(--text-primary);opacity:.95;box-sizing:border-box}.peek-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-stack{--deck-shadow: calc(var(--scale) * .025px) calc(var(--scale) * .025px) 0 color-mix(in srgb, var(--sleeve-base), black 50%), calc(var(--scale) * .05px) calc(var(--scale) * .05px) 0 color-mix(in srgb, var(--sleeve-base), black 65%), calc(var(--scale) * .075px) calc(var(--scale) * .075px) 0 color-mix(in srgb, var(--sleeve-base), black 55%), calc(var(--scale) * .1px) calc(var(--scale) * .1px) 0 color-mix(in srgb, var(--sleeve-base), black 70%), calc(var(--scale) * .125px) calc(var(--scale) * .125px) 0 color-mix(in srgb, var(--sleeve-base), black 60%), calc(var(--scale) * .15px) calc(var(--scale) * .15px) 0 color-mix(in srgb, var(--sleeve-base), black 75%), calc(var(--scale) * .175px) calc(var(--scale) * .175px) 0 color-mix(in srgb, var(--sleeve-base), black 65%), calc(var(--scale) * .2px) calc(var(--scale) * .2px) 0 color-mix(in srgb, var(--sleeve-base), black 80%), calc(var(--scale) * .225px) calc(var(--scale) * .225px) 0 color-mix(in srgb, var(--sleeve-base), black 70%), calc(var(--scale) * .25px) calc(var(--scale) * .25px) 0 color-mix(in srgb, var(--sleeve-base), black 85%), calc(var(--scale) * .275px) calc(var(--scale) * .275px) calc(var(--scale) * .3px) rgba(0, 0, 0, .6);box-shadow:var(--deck-shadow)}.deck-empty{background-color:#ffffff0d;border:2px dashed var(--border-default)}.deck-stack.is-hovered{box-shadow:var(--deck-shadow),0 0 calc(var(--scale) * .3px) calc(var(--scale) * .05px) var(--glow-color)}.context-menu{position:fixed;z-index:var(--z-overlay);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:0;min-width:160px;box-shadow:var(--shadow-popup);animation:fadeIn .1s ease}.context-menu-item{display:flex;align-items:center;width:100%;padding:6px 12px;background:none;border:none;border-top:1px solid var(--border-subtle);color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left}.context-menu-item:first-child{border-top:none}.context-menu-item:hover:not(:disabled){background:var(--bg-hover)}.context-menu-item:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.context-menu-badge{margin-left:auto;padding:0 5px;border-radius:7px;background:#ffffff14;color:var(--text-secondary);font-size:11px;line-height:inherit}.context-menu-panel{min-width:auto;overflow:hidden}.token-search-content{width:calc(var(--scale) * 4.5px);height:calc(var(--scale) * 6.3px);display:flex;flex-direction:column;overflow:hidden}.token-search-input{background:#ffffff0d;color:var(--text-primary);border:none;border-bottom:1px solid var(--border-subtle);padding:calc(var(--scale) * .31px);font-size:var(--font-sm);outline:none}.token-search-input::placeholder{color:var(--text-secondary)}.token-search-list{flex:1;overflow-y:auto;padding:var(--gap-row);scrollbar-color:var(--bg-hover) transparent}.token-search-row{padding:calc(var(--scale) * .21px);margin-bottom:var(--gap-xs);background:#ffffff08;border-radius:var(--gap-xs);cursor:pointer;font-size:var(--font-sm);color:var(--text-primary);transition:background var(--transition-normal)}.token-search-row:hover{background:#ffffff1a;color:#fff}.token-search-list::-webkit-scrollbar{width:var(--gap-xs)}.token-search-list::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:calc(var(--scale) * .054px)}.token-search-empty{color:var(--text-secondary);font-size:calc(var(--scale) * .33px);text-align:center;margin-top:calc(var(--scale) * .52px)}body.is-dragging,body.is-dragging *{cursor:grabbing!important}.card-canvas{position:absolute;left:var(--playable-left);top:var(--playable-top);width:var(--playable-width);height:var(--playable-height);background-color:var(--bg-surface);border:1px solid var(--border-subtle);overflow:hidden;isolation:isolate;user-select:none}.board-divider{position:absolute;top:50%;left:0;width:100%;height:2px;background:repeating-linear-gradient(90deg,transparent,transparent 10px,var(--border-subtle) 10px,var(--border-subtle) 20px);pointer-events:none;z-index:var(--z-board-divider)}.board-divider-vertical{position:absolute;left:50%;top:0;width:2px;height:100%;background:repeating-linear-gradient(180deg,transparent,transparent 10px,var(--border-subtle) 10px,var(--border-subtle) 20px);pointer-events:none;z-index:var(--z-board-divider)}.remote-cursor{position:absolute;pointer-events:none;z-index:var(--z-remote-cursor);transition:left 80ms linear,top 80ms linear}.remote-cursor svg path:last-child{display:none}.app-sidebar{position:fixed;left:max(0px,calc(var(--playable-left) - var(--sidebar-width) - 2px));top:var(--playable-top);height:var(--playable-height);width:var(--sidebar-width);box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-end;padding:calc(var(--scale) * .25px) var(--gap-sm);gap:calc(var(--scale) * .25px);z-index:var(--z-sidebar)}.app-sidebar .sidebar-room{margin-top:auto}.app-sidebar .action-button{font-size:calc(var(--scale) * .34px);height:calc(var(--scale) * 1.1px);padding:0 var(--gap-sm);gap:calc(var(--scale) * .16px);border-radius:calc(var(--scale) * .16px)}.import-modal-overlay{position:fixed;inset:0;background:var(--overlay-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.import-modal-content{container-type:inline-size;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:clamp(240px,calc(100vw - 64px),400px);padding:20px;display:flex;flex-direction:column;gap:15px;box-shadow:var(--shadow-modal)}.import-modal-header{display:flex;justify-content:space-between;align-items:center}.import-modal-header h3{margin:0;font-size:3.8cqw;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}.import-modal-close{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);width:5cqw!important;height:5cqw!important}.import-modal-close:hover{color:#fff}.import-textarea-wrapper{position:relative}.import-textarea{background:var(--bg-surface);color:var(--text-primary);border:none;box-shadow:inset 0 .25cqw .75cqw #0000004d;border-radius:1.5cqw;height:50cqw;width:100%;padding:3cqw;font-size:3.8cqw;resize:none;outline:none;scrollbar-color:var(--bg-hover) var(--bg-surface);box-sizing:border-box}.import-textarea-wrapper .prebuilt-list{position:absolute;inset:0;max-height:none;height:100%;width:100%;box-sizing:border-box;box-shadow:none;border-radius:1.5cqw;opacity:0;pointer-events:none;transition:opacity .2s ease-out}.import-textarea-wrapper .prebuilt-list.visible{opacity:1;pointer-events:auto}.import-textarea::placeholder{color:var(--text-secondary)}.import-action-row{display:flex;align-items:center;gap:2cqw}.import-btn-primary{width:100%;display:flex;align-items:center;justify-content:center;height:11.3cqw;padding:0 3cqw;font-size:3.8cqw;color:#fff;background:var(--bg-surface);border:none;border-radius:1.5cqw;box-shadow:0 .5cqw 1cqw #0006,inset 0 .25cqw #ffffff0d;cursor:pointer;user-select:none;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-sizing:border-box}.import-btn-primary:hover{background:#242424;box-shadow:0 .75cqw 1.5cqw #00000080,inset 0 .25cqw #ffffff14}.import-btn-primary:active{background:var(--bg-surface);box-shadow:0 .25cqw .5cqw #0006,inset 0 .25cqw .5cqw #0003;transform:translateY(.25cqw)}.import-btn-primary.loading{position:relative;overflow:hidden;cursor:default;color:var(--text-secondary);background:var(--bg-surface);box-shadow:none;transform:none;pointer-events:none}.import-btn-primary.loading:after{content:"";position:absolute;top:0;left:0;bottom:0;width:var(--progress, 0%);background:#ffffff0f;transition:width .4s ease-out}.import-btn-primary.error{color:#c33;box-shadow:none}.import-btn-primary:disabled{opacity:var(--disabled-opacity);color:var(--text-secondary);cursor:not-allowed;pointer-events:none}.prebuilt-list{max-height:50cqw;overflow-y:auto;background:var(--bg-surface);border-radius:1.5cqw;box-shadow:0 2cqw 8cqw #00000080;scrollbar-color:var(--bg-hover) var(--bg-surface)}.prebuilt-search-input{all:unset;display:block;width:100%;box-sizing:border-box;padding:1.35cqw 3cqw;min-height:11.3cqw;font-size:3.8cqw;color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}.prebuilt-search-input::placeholder{color:var(--text-secondary)}.prebuilt-row{position:relative;display:flex;align-items:center;gap:2.5cqw;min-height:8.6cqw;padding:1.35cqw 3cqw;font-size:3.8cqw;color:var(--text-secondary);cursor:pointer;user-select:none;transition:color var(--transition-fast)}.prebuilt-row:hover{color:#fff}.prebuilt-row+.prebuilt-row:before{content:"";position:absolute;top:0;left:3cqw;right:3cqw;height:1px;background:var(--border-subtle)}.prebuilt-row-icons{display:flex;align-items:center;gap:1cqw}.prebuilt-row-icons svg{width:4.5cqw!important;height:4.5cqw!important}.prebuilt-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prebuilt-row-delete{color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:color var(--transition-fast);width:3.5cqw!important;height:3.5cqw!important}.prebuilt-row-delete:hover{color:#fff}.prebuilt-empty{color:var(--text-secondary);font-size:3.8cqw;text-align:center;padding:5cqw 3cqw}.prebuilt-list .deck-search-count{font-size:3.8cqw;color:var(--text-secondary);background:transparent;border-radius:0;padding:0}.sleeve-swatch{display:inline-block;width:1em;height:1em;border-radius:2px;background:linear-gradient(170deg,var(--sleeve-highlight) 0%,var(--sleeve-base) 40%,color-mix(in srgb,var(--sleeve-base),black 20%) 100%);border:1px solid var(--border-default);flex-shrink:0}.draft-modal-overlay{position:fixed;inset:0;background:var(--overlay-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.draft-modal-content{container-type:inline-size;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:clamp(240px,calc(100vw - 64px),400px);padding:20px;display:flex;flex-direction:column;gap:15px;box-shadow:var(--shadow-modal)}.draft-modal-row{display:flex;align-items:center;gap:1.5cqw}.draft-modal-select{appearance:auto;cursor:pointer;border:none;outline:none;font-size:3.8cqw;color:var(--text-secondary);background:var(--bg-surface);border-radius:1.5cqw;padding:1.35cqw 3cqw;height:11.3cqw;box-sizing:border-box;white-space:nowrap;min-width:0}.draft-modal-btn{flex:1;min-width:16cqw;display:flex;align-items:center;justify-content:center;height:11.3cqw;padding:0 3cqw;font-size:3.8cqw;color:#fff;background:var(--bg-surface);border:none;border-radius:1.5cqw;box-shadow:0 .5cqw 1cqw #0006,inset 0 .25cqw #ffffff0d;cursor:pointer;user-select:none;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-sizing:border-box}.draft-modal-btn:hover{background:#242424;box-shadow:0 .75cqw 1.5cqw #00000080,inset 0 .25cqw #ffffff14}.draft-modal-btn:active{background:var(--bg-surface);box-shadow:0 .25cqw .5cqw #0006,inset 0 .25cqw .5cqw #0003;transform:translateY(.25cqw)}.draft-modal-btn.loading,.draft-modal-btn.disabled{cursor:default;color:var(--text-secondary);background:var(--bg-surface);box-shadow:none;transform:none;pointer-events:none}@keyframes draft-modal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.draft-modal-spinner{animation:draft-modal-spin 1s linear infinite;width:3.8cqw!important;height:3.8cqw!important}.draft-modal-picker{position:relative;border-radius:1.5cqw;background:var(--bg-surface)}.draft-modal-picker.open:after{content:"";position:absolute;top:100%;left:0;right:0;height:3cqw}.draft-modal-input-row{display:flex;align-items:center;min-height:8.6cqw;padding:1.35cqw 3cqw;gap:2cqw;cursor:text}.draft-modal-search-icon{color:var(--text-secondary);flex-shrink:0;width:3.8cqw!important;height:3.8cqw!important}.draft-modal-search{all:unset;flex:1;font-size:3.8cqw;color:var(--text-primary);min-width:0}.draft-modal-search::placeholder{color:var(--text-secondary)}.draft-modal-search.has-value::placeholder{color:var(--text-secondary)}.draft-modal-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:3cqw;display:flex;flex-direction:column;max-height:90cqw;overflow-y:auto;background:var(--bg-surface);border-radius:1.5cqw;box-shadow:0 2cqw 8cqw #00000080;scrollbar-color:var(--bg-hover) var(--bg-surface);animation:draft-modal-dropdown-in .2s ease-out}@keyframes draft-modal-dropdown-in{0%{opacity:0;transform:translateY(-2cqw)}to{opacity:1;transform:translateY(0)}}.draft-modal-option{position:relative;display:flex;align-items:center;min-height:8.6cqw;padding:1.35cqw 3cqw;font-size:3.8cqw;color:var(--text-secondary);cursor:pointer;user-select:none;transition:color var(--transition-fast)}.draft-modal-option+.draft-modal-option:before{content:"";position:absolute;top:0;left:3cqw;right:3cqw;height:1px;background:#ffffff0f}.draft-modal-option:hover{color:#fff}.event-log-backdrop{position:fixed;inset:0;z-index:var(--z-overlay-backdrop)}.event-log-panel{position:fixed;top:calc(var(--playable-top) + 20px);left:calc(var(--playable-left) + 20px);width:max-content;max-height:50vh;overflow-y:auto;display:flex;flex-direction:column-reverse;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:calc(var(--scale) * .15px);box-shadow:var(--shadow-popup);padding:0;font-size:var(--font-sm);z-index:var(--z-overlay);cursor:default}.event-log-line{padding:var(--gap-row) calc(var(--scale) * .26px);color:var(--text-secondary);white-space:nowrap;line-height:1.4}.event-log-empty{padding:var(--gap-row) calc(var(--scale) * .26px);color:var(--text-muted)}.event-log-time{color:var(--text-muted)}.event-log-line+.event-log-line{border-bottom:1px solid var(--border-subtle)}.event-log-panel::-webkit-scrollbar{width:4px}.event-log-panel::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.event-counter-red{color:var(--color-red)}.event-counter-blue{color:var(--color-blue)}.event-counter-grey{color:var(--color-grey)}:root{--bg-base: #121212;--bg-surface: #1d1d1d;--bg-elevated: #1a1a1a;--bg-hover: #3d3d3d;--bg-pressed: #2a2a2a;--border-subtle: #303030;--border-default: #606060;--text-primary: #e0e0e0;--text-secondary: #909090;--text-muted: #606060;--radius-sm: 4px;--radius-md: 6px;--shadow-popup: 0 4px 20px rgba(0, 0, 0, .7);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .5);--shadow-toast: 0 2px 12px rgba(0, 0, 0, .6);--overlay-backdrop: rgba(0, 0, 0, .7);--disabled-opacity: .3;--transition-fast: .15s ease;--transition-normal: .2s ease;--btn-size: calc(var(--scale) * .75px);--btn-min-size: calc(var(--scale) * .6px);--icon-padding: 22.5%;--glow-color: rgba(255, 255, 255, .4);--counter-width: calc(var(--scale) * 1.5px);--preview-width: calc(var(--scale) * 7.5px);--color-red: #cc3333;--color-blue: #3366cc;--color-grey: #666666;--sidebar-width: calc(var(--scale) * 2.5px);--gap-xs: calc(var(--scale) * .1px);--gap-sm: calc(var(--scale) * .2px);--gap-row: calc(var(--scale) * .13px);--gap-lg: calc(var(--scale) * .4px);--font-sm: calc(var(--scale) * .35px);--font-life: calc(var(--scale) * 1.4px);--z-board-divider: 1;--z-die-text: 2;--z-game-pieces: 100;--z-card-actions: 110;--z-card-actions-top: 120;--z-counter-modal: 1000;--z-sidebar: 2000;--z-remote-cursor: 999996;--z-overlay-backdrop: 999998;--z-overlay: 999999;--z-modal: 1000000}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background-color:var(--bg-base);font-family:monospace}input,textarea,select,button{font-family:inherit}.action-btn{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:var(--btn-size);height:var(--btn-size);min-width:var(--btn-min-size);min-height:var(--btn-min-size);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease-in-out,background var(--transition-normal),border-color var(--transition-normal);padding:0}.action-btn:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.action-btn:hover:not(:disabled){background:var(--bg-hover);color:#fff;border-color:var(--text-secondary)}.icon-wrapper{width:100%;height:100%;padding:var(--icon-padding);display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-size:calc(var(--btn-size) * .4)}.is-animating{transition:top .5s cubic-bezier(.19,1,.22,1),left .5s cubic-bezier(.19,1,.22,1),rotate .5s cubic-bezier(.19,1,.22,1),opacity .4s ease;pointer-events:none!important;user-select:none}.counter-rotated{transform:rotate(-90deg)}.loader-spinner{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--bg-base);color:#fff6;z-index:9999}.loader-spinner svg{animation:spin 1.5s linear infinite}.loader-hidden{opacity:0}.loader-fade-in{opacity:1;transition:opacity .3s ease-out}
