:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{color:#000;background:teal;margin:0;font-family:MS Sans Serif,Tahoma,Verdana,sans-serif;font-size:14px}.menu-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100vh;display:flex}button{font-family:inherit}.username-input{color:#000;background:#fff;border:2px solid #fff;border-color:#404040 #fff #fff #404040;width:220px;padding:6px 10px;font-size:1rem;box-shadow:inset -1px -1px #fff,inset 1px 1px gray}.menu-screen button,.deckbuilder-clear-btn,.deckbuilder-controls button,.deckbuilder-footer button,.deckbuilder-pagination button,.player-bar button{color:#000;cursor:pointer;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;padding:4px 14px;box-shadow:inset -1px -1px gray,inset 1px 1px #fff}.menu-screen button:active,.deckbuilder-clear-btn:active,.deckbuilder-controls button:active,.deckbuilder-footer button:active,.deckbuilder-pagination button:active,.player-bar button:active{border-color:#404040 #fff #fff #404040;box-shadow:inset 1px 1px gray}button:disabled{cursor:default;color:#7a7a7a!important}.secondary-btn{background:silver!important;border:2px solid #404040!important;border-color:#fff #404040 #404040 #fff!important}.deckbuilder{flex-direction:column;gap:10px;max-width:720px;height:100vh;margin:0 auto;padding:16px 24px;display:flex}.deckbuilder-header{background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;justify-content:space-between;align-items:center;padding:6px;display:flex}.deckbuilder-header-right{align-items:center;gap:10px;display:flex}.deckbuilder-clear-btn{color:maroon}.deckbuilder-count{border:2px solid #fff;border-color:gray #fff #fff gray;padding:4px 10px;font-size:1rem;font-weight:700}.deckbuilder-count.valid{color:#fff;background:#0a0}.deckbuilder-count.invalid{background:silver}.deckbuilder-list{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.deckbuilder-grid{flex:1;grid-template-columns:repeat(4,118px);justify-content:center;gap:16px 12px;padding:6px 0;display:grid;overflow-y:auto}.deckbuilder-card-cell{flex-direction:column;align-items:center;gap:6px;display:flex}.deckbuilder-pagination{justify-content:center;align-items:center;gap:14px;padding:4px 0;font-weight:700;display:flex}.deckbuilder-row{background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;align-items:center;gap:12px;padding:8px 12px;display:flex}.deckbuilder-icon{flex-shrink:0;width:36px;height:36px}.deckbuilder-icon svg{width:100%;height:100%}.deckbuilder-info{flex:1;min-width:0}.deckbuilder-name{font-weight:700}.deckbuilder-cost{color:navy}.deckbuilder-stats{color:#404040;font-size:.85rem}.deckbuilder-desc{color:#555;margin-top:2px;font-size:.8rem}.deckbuilder-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.deckbuilder-controls button{width:28px;height:28px;padding:0;font-size:1rem}.deckbuilder-copy-count{text-align:center;color:#000;min-width:32px;font-size:.85rem}.deckbuilder-footer{justify-content:space-between;gap:10px;padding-top:8px;display:flex}.deckbuilder-footer .primary,.deckbuilder-footer .secondary{color:#000;background:silver}.game-screen{flex-direction:column;gap:6px;height:100vh;padding:8px 16px;display:flex}.game-layout{flex:1;min-height:0;display:flex}.game-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.chat-sidebar,.log-sidebar{flex-direction:column;width:260px;min-height:0;display:flex;position:fixed;top:8px;bottom:8px}.chat-sidebar{left:calc(50vw + 579px)}.log-sidebar{right:calc(50vw + 579px)}.player-bar{background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;align-items:center;gap:20px;padding:6px 12px;font-size:1rem;display:flex}.face-targetable{cursor:crosshair;box-shadow:none;outline:2px dashed red;animation:1s infinite pulse-red}.hand-row,.board-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:174px;padding:6px;display:flex}.board-row{background:gray;border:2px inset silver}.hand-row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.hand-row .card,.hand-row .card-back{flex-shrink:0}.slot{background:#bdbdbd;border:2px dashed #606060;justify-content:center;align-items:center;width:118px;height:164px;display:flex}.card{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;z-index:1;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;flex-direction:column;align-items:center;gap:2px;width:118px;height:164px;padding:6px;transition:transform .1s;display:flex;position:relative}.card:hover,.card-selected,.card-targetable,.card-ready{z-index:2}.card:hover{transform:translateY(-2px)}.card-back{background:repeating-linear-gradient(45deg,#a0a0a0,#a0a0a0 6px,#c8c8c8 6px 12px);border:2px solid #404040;border-color:#fff #404040 #404040 #fff;width:118px;height:164px}.card-selected{outline:2px dotted navy}.card-ready{outline:2px solid #2ecc40}.card-targetable{outline:2px dashed red}.card-pending{opacity:.7;border-style:dashed}@keyframes pulse-red{50%{outline-color:#fff}}.card-cost{color:#fff;z-index:1;background:navy;border:2px solid #202020;border-color:#fff #202020 #202020 #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:-8px;left:-8px}.card-art{flex-shrink:0;justify-content:center;align-items:center;width:100%;height:56px;display:flex;overflow:hidden}.card-art svg,.card-art img{object-fit:contain;width:80%;height:80%}.card-name{width:100%;font-size:.68rem;font-weight:700}.card-keywords{color:maroon;font-size:.58rem;font-weight:700}.card-description-wrap{flex:1 0;justify-content:center;width:100%;display:flex;position:relative}.card-description{color:#333;overflow-wrap:break-word;font-size:.56rem;line-height:1.15;overflow:visible}.card-silenced-cross{pointer-events:none;position:absolute;inset:0}.card-silenced-cross:before,.card-silenced-cross:after{content:"";background:red;width:140%;height:2px;position:absolute;top:50%;left:50%}.card-silenced-cross:before{transform:translate(-50%,-50%)rotate(25deg)}.card-silenced-cross:after{transform:translate(-50%,-50%)rotate(-25deg)}.card-spell-badge{color:#fff;background:navy;border:1px solid #fff;padding:1px 4px}.keyword-badge{cursor:help;color:navy;margin-right:4px;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.keyword-popup-overlay{z-index:1000;position:fixed;inset:0}.keyword-popup{color:#000;z-index:1001;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;max-width:220px;padding:8px 12px;font-size:.75rem;line-height:1.3;position:fixed;transform:translate(-50%,10px);box-shadow:2px 2px 6px #0006}.keyword-popup strong{color:navy;margin-bottom:4px;display:block}.card-stats{justify-content:space-between;width:100%;margin-top:auto;font-size:.8rem;font-weight:700;display:flex}.card-atk{color:maroon}.card-hp{color:green}.card-hp-damaged{color:#b8860b}.error-toast{color:#000;z-index:10;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;padding:8px 16px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.log-box{color:#000;background:#fff;border:2px inset silver;flex:1;min-height:0;padding:8px 12px;font-size:.85rem;line-height:1.5;overflow-y:auto}.chat-box{background:#fff;border:2px inset silver;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.finished-chat-wrap{width:100%;max-width:480px;margin-top:12px}.finished-chat-wrap .chat-box{height:220px}.chat-messages{color:#000;flex:1;padding:6px 10px;font-size:.8rem;line-height:1.4;overflow-y:auto}.chat-empty{color:gray;font-style:italic}.chat-message{word-break:break-word}.chat-sender{font-weight:700}.chat-mine .chat-sender{color:navy}.chat-theirs .chat-sender{color:maroon}.chat-input-row{background:silver;border-color:gray #fff #fff gray;border-top-style:solid;border-top-width:2px;gap:6px;padding:6px;display:flex}.chat-input{color:#000;background:#fff;border:2px solid #fff;border-color:#404040 #fff #fff #404040;flex:1;padding:4px 6px;font-family:inherit;font-size:.85rem;box-shadow:inset -1px -1px #fff,inset 1px 1px gray}.chat-input-row button{color:#000;cursor:pointer;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;padding:4px 14px;box-shadow:inset -1px -1px gray,inset 1px 1px #fff}.chat-input-row button:active{border-color:#404040 #fff #fff #404040;box-shadow:inset 1px 1px gray}.chat-input-row button:disabled{color:#7a7a7a;cursor:default}
