@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#131519;--panel:#1b1e24;--line:#2c3038;--muted:#91959e;--text:#eff0f2;--gold:#d7bb82;--green:#9bbf9b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}.sidebar{width:218px;position:fixed;height:100vh;left:0;top:0;background:#181b20;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column}.brand{font:800 31px Manrope,sans-serif;letter-spacing:-1.8px;display:flex;align-items:center;gap:10px;padding:0 7px}.brand-icon{font:38px Georgia;color:var(--gold);transform:rotate(-9deg);letter-spacing:0}.brand-dot{color:var(--gold);margin-left:-10px}.side-label{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#707580;margin:55px 14px 18px}.nav{display:flex;align-items:center;width:100%;gap:12px;padding:14px;border-radius:7px;color:#a3a7b1;font-weight:500;text-align:left;margin-bottom:6px;font-size:13px}.nav>span{font-size:21px;width:23px}.nav.active{background:#2c2b28;color:#e2c58d}.nav small{font-size:8px;background:#d5bc83;color:#24231f;padding:3px 5px;border-radius:3px;margin-left:auto;letter-spacing:.5px}.nav b{font-weight:500;font-size:10px;margin-left:auto;background:#272b33;padding:3px 6px;border-radius:4px}.side-bottom{margin-top:auto}.little-orb{font-size:29px;color:var(--gold);margin:30px 12px 12px}.side-bottom h3{font:500 16px/1.6 Manrope;margin:0 12px}.side-bottom p{font-size:11px;color:#777e88;margin:10px 12px 18px}.side-bottom>button{color:var(--gold);font-size:11px;margin:0 6px 28px}.side-bottom>button span{margin-left:12px}.profile{border-top:1px solid var(--line);padding-top:23px;display:flex;gap:10px;align-items:center;font-size:11px}.avatar,.you-avatar{background:#34413b;color:#c1d4c0;display:grid;place-items:center;width:35px;height:35px;border-radius:9px;font-size:13px;font-weight:700}.profile small{display:block;font-size:8px;letter-spacing:1px;color:#727a83;margin-top:6px}.online-dot{display:inline-block;width:6px;height:6px;background:#93b991;border-radius:50%}.profile>.online-dot{margin-left:auto}main{margin-left:218px;padding:0 42px;max-width:1680px}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{color:#747b86;font-size:11px}.breadcrumb span{margin:0 13px;color:#454b55}.breadcrumb strong{color:#bdc0c7;font-weight:500}.header-right{display:flex;gap:14px;align-items:center}.private-label{font-size:8px;letter-spacing:1.7px;color:#9d9b94;margin-right:12px}.icon-button{width:30px;height:30px;display:inline-grid;place-items:center;color:#a4a9b2;font-size:18px;border-radius:5px}.icon-button:hover{background:#2a2e37;color:var(--gold)}.header-right .icon-button{font-size:13px;border:1px solid #343840;border-radius:50%;width:24px;height:24px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:33px 0 28px}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:7px}.eyebrow i{width:5px;height:5px;background:var(--gold);border-radius:50%}h1{font:500 35px/1.2 Manrope,sans-serif;letter-spacing:-1.5px;margin:10px 0 10px}h1 em{font-style:normal;color:var(--gold)}.page-heading p{font-size:12px;color:#8f949e;margin:0}.secondary{background:#20232a;border:1px solid #343841;border-radius:7px;padding:10px 15px;font-size:11px;color:#d5d6dc}.secondary:hover{border-color:var(--gold)}.arena-layout{display:grid;grid-template-columns:minmax(340px,1fr) 302px;gap:25px;max-width:1100px}.board-column{min-width:0}.player-strip{height:58px;display:flex;align-items:center;gap:11px;padding:0 1px 12px}.bot-avatar{display:grid;place-items:center;width:36px;height:36px;border:1px solid #6a5b43;border-radius:9px;background:#302b25;color:var(--gold);font:29px Georgia}.player-name strong{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px}.player-name>span{font-size:10px;color:#808692;display:flex;align-items:center;gap:6px;margin-top:5px}.player-name b{background:#242830;border:1px solid #343943;color:#b1b7c2;font-size:9px;padding:1px 5px;border-radius:3px;margin-left:1px;font-weight:500}.turn-chip{font-size:8px;letter-spacing:1px;color:#7e8692;margin-left:auto}.player-mana{font-size:10px;color:#b09bcc;letter-spacing:2px;margin-left:auto}.player-mana span{font-size:9px;letter-spacing:0;color:#7d8490;margin-left:6px}.player-mana+.turn-chip{margin-left:9px}.board-shell{border:6px solid #353930;border-radius:5px;overflow:hidden;box-shadow:0 12px 50px #0003}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1}.square{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:0;border-radius:0;background:#e3dfcf;color:#5f725e}.square.dark{background:#748771;color:#e4e4d6}.square.selected{background:#d6bd76}.square.last{box-shadow:inset 0 0 0 100px #c5b36150}.square.target{box-shadow:inset 0 0 0 3px #cbb578}.square.check{background:#af665a}.square .piece{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4.7vw,67px);line-height:1;position:relative;z-index:1;filter:drop-shadow(0 2px 1px #0005);transition:transform .15s;user-select:none}.piece.white{color:#fff9eb;-webkit-text-stroke:1.15px #5c6155;text-shadow:0 2px 0 #6b705f}.piece.black{color:#242b2b;-webkit-text-stroke:.65px #151b18;text-shadow:0 1px 0 #858e78}.square:hover .piece{transform:translateY(-2px)}.square.legal:after{content:'';width:24%;height:24%;border-radius:50%;background:#263e2945;position:absolute}.square.legal:has(.piece):after{width:87%;height:87%;border:4px solid #263e2960;background:none}.coordinate{font:600 9px Manrope;position:absolute;z-index:2}.rank{top:5px;left:5px}.file{bottom:4px;right:5px}.effect{position:absolute;right:3px;top:2px;font-size:12px;z-index:3}.bottom-strip{padding:13px 1px 0;height:59px}.color-tag{font-size:7px;background:#343833;color:#c7d1bf;letter-spacing:.6px;padding:3px 5px;border-radius:3px}.your-turn{color:#b6cfa9;background:#26372a;padding:6px 9px;border-radius:4px}.board-tools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0 14px;margin-bottom:21px;gap:6px}.board-tools>span{font-size:10px;color:#7f8792;text-align:center}.board-tools>div{display:flex}.spell-tray{background:linear-gradient(120deg,#232328,#1c1f25);border:1px solid #35353b;border-radius:9px;padding:18px}.tray-heading{display:flex;align-items:center;justify-content:space-between}.tray-heading small{display:block;font-size:10px;color:#828793;margin-top:6px}.mana-count{display:flex;align-items:center;gap:6px}.mana-count>span{color:#b79cda;font-size:17px}.mana-count strong{font-size:18px}.mana-count small{font-size:10px;color:#777f8a}.hand{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:17px}.spell-card{padding:11px 3px 9px;border:1px solid #3b3947;border-radius:7px;background:linear-gradient(160deg,#33313f,#22242c);position:relative;transition:.18s;min-height:92px}.spell-card:hover{border-color:var(--gold);transform:translateY(-3px)}.spell-card.active{border-color:var(--gold);box-shadow:0 0 20px #c6ac6030}.spell-card.unavailable{opacity:.45}.spell-icon{display:block;font-size:25px;color:#bcb1de;line-height:1.3;text-shadow:0 0 15px currentColor}.spell-card:nth-child(2) .spell-icon{color:#d7bd81}.spell-card:nth-child(3) .spell-icon{color:#abbddf}.spell-card:nth-child(4) .spell-icon{color:#cc9d87}.spell-card:nth-child(5) .spell-icon{color:#9cbfa8}.spell-card strong{display:block;font-size:9px;font-weight:500;margin:8px 0 0}.spell-cost{position:absolute;right:5px;top:5px;color:#c5b1e4;font-size:9px}.tray-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#737b88;font-size:8px}.tray-footer button{font-size:9px;color:#c5b187}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px}.opponent-panel{padding:20px}.section-title{font-size:9px;letter-spacing:1.5px;color:#a3a8b1;display:flex;justify-content:space-between}.section-title>span{color:var(--gold);font-size:15px}.opponent-portrait{position:relative;width:124px;height:110px;margin:10px auto 0;display:grid;place-items:center;background:radial-gradient(ellipse,#695c3c25,transparent 70%)}.portrait-ring{width:77px;height:77px;border:1px solid #73613f;border-radius:50%;display:grid;place-items:center;font:61px Georgia;color:var(--gold);background:radial-gradient(ellipse,#3e392c,#242529);outline:1px solid #3e392e;outline-offset:7px;box-shadow:0 0 30px #b99e4820}.portrait-star{position:absolute;color:#a88e5d}.portrait-star.one{right:4px;top:15px;font-size:21px}.portrait-star.two{bottom:11px;left:8px;font-size:12px}.portrait-star.three{top:0;left:21px}.opponent-panel h2{text-align:center;font:600 19px Manrope;letter-spacing:-.4px;margin:8px 0}.opponent-panel>p{color:#8d929d;font-size:10px;text-align:center;margin:0 0 25px}.difficulty-label{display:flex;justify-content:space-between;font-size:10px;align-items:center;color:#b0b4bc}.difficulty-label strong{font-size:15px;color:var(--gold);font-weight:600}.difficulty-label small{font-size:8px;font-weight:400;color:#8f929a;margin-left:3px}input[type=range]{accent-color:var(--gold);width:100%;height:3px;margin:19px 0 12px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:8px;color:#787f8a}.difficulty-options{display:flex;gap:5px;margin-top:17px;flex-wrap:wrap}.difficulty-options button{font-size:8px;border:1px solid #343943;border-radius:4px;padding:5px 6px;color:#8d94a0;flex:1}.difficulty-options button.selected{background:#3a3429;color:var(--gold);border-color:#695b3e}.info-note{font-size:8px;color:#69717e;margin-top:13px;text-align:center}.history-panel{margin-top:17px;overflow:hidden}.panel-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 14px;gap:20px}.panel-tabs button{font-size:10px;color:#7c8490;padding:17px 0 12px}.panel-tabs .selected{color:var(--gold);border-bottom:2px solid var(--gold)}.history-head{display:grid;grid-template-columns:30px 1fr 1fr;font-size:8px;letter-spacing:1px;color:#6f7885;padding:14px 20px 8px}.history{height:165px;overflow:auto;scrollbar-width:thin;scrollbar-color:#444852 transparent}.empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#67717f;font-size:10px;height:100%}.empty-history>span{font-size:31px;color:#4b5660}.move-row{display:grid;grid-template-columns:30px 1fr 1fr;padding:9px 20px;font-size:11px;color:#c2c6cd}.move-row:nth-child(even){background:#ffffff03}.move-row>span:first-child{color:#646e7b}.activity-row{font-size:10px;padding:9px 18px;color:#b4a6d1;border-bottom:1px solid #ffffff05}.history-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 18px;font-size:9px;color:#828b98}.history-footer i{display:inline-block;width:5px;height:5px;background:#8eb189;border-radius:50%;margin-right:4px}.tip-card{display:flex;gap:12px;margin:20px 5px;color:var(--gold)}.tip-card>span{font-size:23px}.tip-card strong{font-size:10px;font-weight:500}.tip-card p{color:#7f8792;font-size:10px;line-height:1.8;margin:6px 0}footer{max-width:1100px;display:flex;justify-content:space-between;margin:28px 0 22px;font-size:9px;color:#606977}.gold{color:var(--gold);margin-left:9px}.hidden{display:none!important}.library-toolbar{display:flex;gap:15px;align-items:center;margin-bottom:15px}.library-toolbar input,.library-toolbar select{background:#20242b;border:1px solid #353a44;color:#ddd;padding:13px 16px;border-radius:6px}.library-toolbar input{flex:1}.library-toolbar span{font-size:12px;color:var(--gold)}.library-help{font-size:12px;color:var(--muted);margin-bottom:24px}.library{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-bottom:35px}.library-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px;text-align:left;position:relative;transition:.2s}.library-card:hover{border-color:#9b8660;transform:translateY(-2px)}.library-card.equipped{border-color:#9d8654}.library-card .spell-icon{font-size:31px}.library-card h3{font-size:13px;margin:13px 0 7px}.library-card p{font-size:11px;line-height:1.7;color:#929aa6;min-height:56px}.library-card small{font-size:9px;color:var(--gold)}.library-card .spell-cost{right:15px;top:14px;font-size:11px}.library-card .equipped-label{display:block;margin-top:10px;font-size:9px;color:#b6cfa9}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.guide-grid .panel{padding:28px}.guide-grid h2{font:600 20px Manrope}.guide-grid p{color:var(--muted);line-height:1.9;font-size:13px}.guide-number{color:var(--gold);font-size:25px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:30px}.stat-box strong{display:block;color:var(--gold);font:500 42px Manrope;margin-bottom:12px}.stat-box span{color:var(--muted);font-size:12px}#toast{position:fixed;bottom:24px;left:calc(50% + 80px);transform:translate(-50%,20px);background:#32372f;border:1px solid #6f805d;color:#e2e6dc;box-shadow:0 8px 35px #0005;padding:13px 24px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:100;max-width:80vw}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{background:#20232a;color:var(--text);border:1px solid #4c483e;border-radius:13px;max-width:420px;padding:30px}dialog::backdrop{background:#080b10b0;backdrop-filter:blur(5px)}dialog h2{font:500 28px Manrope}dialog p{color:var(--muted);line-height:1.8;font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.primary{background:var(--gold);color:#24231e;padding:11px 17px;border-radius:6px;font-weight:700;font-size:12px}@media(min-width:1500px){main{padding-left:65px;padding-right:65px}.square .piece{font-size:70px}}@media(max-width:1100px){.sidebar{width:175px;padding:30px 13px}main{margin-left:175px;padding:0 24px}.arena-layout{grid-template-columns:minmax(300px,1fr) 260px;gap:18px}.brand{font-size:28px}.nav{padding:12px 8px;font-size:12px}.player-mana{display:none}.spell-tray{padding:13px}.spell-card strong{font-size:8px}.hand{gap:5px}.private-label{display:none}.library{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.sidebar{width:72px;padding:25px 10px;align-items:center}.brand{font-size:0;gap:0;padding:0}.brand-icon{font-size:36px}.brand-dot,.side-label,.side-bottom{display:none}.sidebar nav{margin-top:45px;width:100%}.nav{font-size:0;justify-content:center;padding:12px 5px}.nav span{font-size:23px;width:auto}.nav small,.nav b{display:none}main{margin-left:72px;padding:0 22px}.arena-layout{grid-template-columns:minmax(300px,1fr) 235px;gap:15px}.opponent-panel{padding:16px}.square .piece{font-size:6vw}.page-heading h1{font-size:30px}.hand{gap:4px}.spell-card strong{font-size:7px}.tray-footer{font-size:7px}.tray-footer button{font-size:8px}.library{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.sidebar{width:60px}.brand-icon{font-size:31px}main{margin-left:60px;padding:0 15px}header{height:63px}.page-heading{margin:25px 0 18px;align-items:flex-start}.page-heading h1{font-size:27px}.page-heading p{font-size:10px;line-height:1.6;max-width:250px}.page-heading .secondary{font-size:0;padding:9px}.page-heading .secondary:first-letter{font-size:17px}.arena-layout{display:flex;flex-direction:column;gap:22px}.board-column{width:100%}.square .piece{font-size:9vw}.game-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.opponent-panel{padding:14px}.opponent-panel h2{font-size:15px}.opponent-panel>p{font-size:9px;margin-bottom:15px}.opponent-portrait{height:90px}.portrait-ring{width:61px;height:61px;font-size:48px}.difficulty-options{gap:3px}.difficulty-options button{font-size:7px;padding:4px}.history-panel{margin-top:0}.panel-tabs{gap:12px;padding:0 11px}.panel-tabs button{font-size:9px}.history{height:220px}.tip-card{grid-column:1/-1;margin:0 5px}.spell-card strong{font-size:8px}.tray-footer{font-size:7px}footer{font-size:7px;gap:15px;line-height:1.6}.player-mana{display:block}.player-strip{height:52px}.player-name strong{font-size:11px}.player-name>span{font-size:9px}.board-tools>span{font-size:9px}.board-tools .icon-button{width:24px}.spell-tray{padding:13px}.hand{gap:6px}.spell-card{min-height:86px}.guide-grid{grid-template-columns:1fr}.library{gap:10px}.library-card{padding:14px}.library-toolbar{flex-wrap:wrap;gap:9px}.library-toolbar input{width:100%;flex-basis:100%}.library-toolbar select{flex:1;font-size:11px}.library-toolbar span{font-size:10px}.library-help{font-size:10px;line-height:1.7}.library-card h3{font-size:12px}.library-card p{font-size:10px;min-height:90px}.library-card small{font-size:8px}#toast{left:calc(50% + 20px);width:max-content;max-width:80vw}.stat-box{padding:20px}.stat-box strong{font-size:32px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.spell-card strong{overflow-wrap:anywhere;line-height:1.4}
/* Online arena */
.connection-banner{padding:15px 20px;border:1px solid #49402f;background:#29261f;border-radius:8px;font-size:12px;color:#d1bd95;line-height:1.7;margin-bottom:23px;display:flex;align-items:center;gap:14px;justify-content:space-between}.connection-banner.ready{background:#202d25;border-color:#3e5845;color:#b5d1b6}.connection-banner button{white-space:nowrap}.unranked-badge{font-size:8px;letter-spacing:1px;color:var(--gold);border:1px solid #48402f;border-radius:20px;padding:9px 12px}.online-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.online-grid>.panel{padding:27px}.online-grid h2,.setup-panel h2,.section-heading h2{font:600 20px Manrope;letter-spacing:-.6px}.online-grid p,.setup-panel p{font-size:12px;line-height:1.9;color:var(--muted)}.online-grid .spell-icon{font-size:38px;margin-bottom:20px}.lobby-create>p{max-width:390px;margin-bottom:23px}.lobby-create>small{display:block;margin-top:16px;font-size:10px;color:#818995;line-height:1.7}.online-grid label,dialog label,.setup-panel label{display:block;font-size:11px;color:#bac0ca;margin:18px 0 8px}.online-grid input,.online-grid select,dialog input,dialog select,.setup-panel input{display:block;border:1px solid #3c424e;background:#14181e;border-radius:6px;padding:12px;color:#e8e9ec;width:100%;font-size:12px}.lobby-create select{margin-bottom:15px}.lobby-create>.primary,.lobby-join form>.secondary{width:100%;padding:13px}.lobby-join form>.secondary{margin-top:14px}.lobby-join input{font-family:monospace;letter-spacing:3px;text-transform:uppercase}.room-invite{margin-top:23px;border:1px dashed #706041;border-radius:8px;padding:20px}.room-invite>small{font-size:8px;color:var(--gold);letter-spacing:1.8px}.room-invite>strong{display:block;color:var(--gold);font:600 22px monospace;letter-spacing:4px;margin:16px 0}.room-invite>p{font-size:10px}.room-invite>button{margin:7px 5px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}.section-heading h2{margin:0}.match-list{display:flex;flex-direction:column;gap:10px}.empty-panel{padding:40px;text-align:center;border:1px dashed #343a45;border-radius:9px;color:#788493;font-size:12px}.match-row{display:flex;align-items:center;gap:15px;background:var(--panel);border:1px solid var(--line);padding:16px 20px;border-radius:8px}.match-row .match-sigil{font-size:26px;color:var(--gold);width:35px}.match-row .match-meta{flex:1}.match-meta strong{font-size:12px}.match-meta small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.setup-panel{margin:25px 0 35px;padding:27px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.setup-panel ol{color:#929aa7;font-size:12px;line-height:2.2;padding-left:17px}.setup-panel form small{font-size:10px;line-height:1.7;color:#8b95a2;display:block;margin:12px 0}.setup-panel form>.primary{width:100%}.setup-panel form label:first-child{margin-top:0}.setup-panel form p{font-size:11px}.online-game-bar{border:1px solid #3b5140;background:#1c2a22;border-radius:7px;padding:11px 15px;display:flex;gap:20px;align-items:center;margin-bottom:20px;font-size:10px}.online-game-bar>span:first-child{color:#a7c7a0}.online-game-bar>span:nth-child(2){color:#b4bdb6}.online-game-bar>button{margin-left:auto;color:var(--gold);font-size:11px}.match-clocks{display:flex;gap:12px;margin-top:20px}.match-clocks>div{background:#14181e;border:1px solid #343d48;border-radius:7px;padding:12px;flex:1}.match-clocks small{font-size:8px;letter-spacing:1px;color:#9ca5b4}.match-clocks strong{font:500 25px monospace;display:block;margin-top:6px}.match-clocks .running{border-color:#a68c59;color:var(--gold)}.match-clocks .low{color:#e7998b}.match-outcome{font-size:12px!important;color:var(--gold)!important;line-height:1.7}.opponent-panel #onlineMatchActions>button{width:100%;margin:6px 0}#drawResponse{font-size:11px;color:var(--gold);background:#333026;padding:12px;border-radius:6px}#drawResponse p{line-height:1.7}.people-list{display:flex;flex-direction:column;gap:12px}.person{display:flex;gap:12px;align-items:center;border-bottom:1px solid #2e343e;padding:14px 0}.person .person-sigil{width:37px;height:37px;display:grid;place-items:center;border-radius:8px;background:#34302a;color:var(--gold);font-size:21px}.person .person-info{flex:1}.person strong{font-size:12px;overflow-wrap:anywhere}.person small{display:block;font-size:9px;color:#858f9f;margin-top:6px}.person small.online{color:#9ec39f}.person-actions{display:flex;gap:6px}.person-actions button{font-size:10px;padding:8px 10px}.input-row{display:flex;gap:10px}.input-row input{min-width:0}.friends-search h3{font-size:13px;margin-top:30px}.friends-list .section-heading{margin-top:0}.muted{font-size:12px;color:var(--muted);line-height:1.8}.account-button{font-size:10px;padding:8px 13px}#accountDialog{width:420px;max-width:calc(100vw - 32px)}.close-dialog{position:absolute;right:15px;top:12px;font-size:24px;color:#838f9f}.auth-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:20px 0}.auth-tabs>button{font-size:12px;color:#8c97a5;padding-bottom:11px}.auth-tabs>button.selected{border-bottom:2px solid var(--gold);color:var(--gold)}#authForm>.primary,#profileForm>.primary,#resetPasswordForm>.primary{width:100%;margin-top:20px}#profileForm small{display:block;font-size:10px;color:#8994a4;margin-top:8px}#authMessage{font-size:12px;line-height:1.8;color:var(--gold);margin:17px 0 0}#signOut{margin-top:17px;width:100%}.text-button{font-size:11px;color:#b4a180;margin-top:17px}button:disabled{cursor:wait;opacity:.5}.match-list .status-pill{font-size:8px;color:var(--gold);letter-spacing:.8px}.friends-grid{margin-bottom:30px}.sidebar .side-label{margin-top:34px}.sidebar .nav{padding-top:11px;padding-bottom:11px}.live-opponent .opponent-portrait{height:82px}.live-opponent .portrait-ring{height:59px;width:59px;font-size:42px}.live-opponent>p{margin-bottom:14px}.lobby-create .spell-icon{color:var(--gold)}.lobby-join .spell-icon{color:#bca7e1}.row-error{font-size:11px;color:#e6ad9b}.social-loading{font-size:11px;color:#a3a8b3;padding:18px 0}
@media(max-width:850px){.sidebar .nav{font-size:0}.sidebar .side-label{display:none}.online-grid>.panel{padding:20px}.setup-panel{grid-template-columns:1fr}.unranked-badge{display:none}}@media(max-width:680px){.online-grid{grid-template-columns:1fr;gap:16px}.online-grid>.panel{padding:23px}.setup-panel{padding:23px;gap:10px}.online-game-bar{gap:10px;font-size:8px}.online-game-bar>button{font-size:9px}.match-row{padding:14px 12px;gap:9px}.match-meta strong{font-size:11px}.match-row .match-sigil{width:24px;font-size:23px}.match-clocks{gap:6px}.match-clocks>div{padding:8px}.match-clocks strong{font-size:19px}.opponent-panel #onlineMatchActions>button{font-size:10px;padding:9px}.match-row .secondary{font-size:10px;padding:8px 10px}.profile{display:none}}

/* Adaptive touch layout: phones get a full-width board and a bottom dock. */
html{min-width:280px;-webkit-text-size-adjust:100%;scroll-padding-bottom:100px}
button,a,input,select{touch-action:manipulation}
.board{container-type:inline-size;touch-action:manipulation}
.square{min-width:0;min-height:0}
.square .piece{font-size:10cqi}
.player-name,.match-meta,.person-info{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px) and (min-width:681px){
 .arena-layout{grid-template-columns:minmax(0,1fr);max-width:700px;margin-inline:auto;gap:24px}
 .game-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
 .history-panel{margin-top:0}.tip-card{grid-column:1/-1}
 .hand{gap:9px}.spell-card strong{font-size:11px}.spell-card{min-height:100px}
 .online-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:680px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at top,#242820 0,transparent 360px),var(--bg)}
 main{margin-left:0;padding:0 max(12px,env(safe-area-inset-left)) 12px;max-width:none}
 .sidebar{position:fixed;z-index:50;top:auto;bottom:0;left:0;width:100%;height:auto;padding:7px max(5px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));background:#181c22f5;border-right:0;border-top:1px solid #3a403c;backdrop-filter:blur(18px);display:block}
 .sidebar .brand,.sidebar .side-label,.sidebar .side-bottom{display:none}
 .sidebar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin:0;width:100%}
 .sidebar .nav{display:flex;flex-direction:column;justify-content:center;gap:5px;width:100%;min-width:0;min-height:56px;margin:0;padding:6px 1px;font-size:9px;line-height:1.2;text-align:center;border-radius:10px;color:#9aa3af;white-space:nowrap}
 .sidebar .nav>span{display:block;width:auto;font-size:22px;line-height:1}
 .sidebar .nav.active{background:#363329;color:#ecd19a;box-shadow:inset 0 2px #d7bb82}
 .sidebar .nav small,.sidebar .nav b{display:none}
 header{height:62px;gap:10px}.breadcrumb{font-size:11px;min-width:0}.breadcrumb span{margin-inline:7px}
 .header-right{gap:6px;flex-shrink:0}.header-right .icon-button{width:40px;height:40px;font-size:16px}.account-button{min-height:40px;font-size:11px;padding:9px 12px}
 .page-heading{margin:23px 0 18px;gap:12px;align-items:center}.page-heading h1{font-size:clamp(27px,7.5vw,36px);margin:9px 0;letter-spacing:-1.2px}
 .page-heading p{font-size:12px;line-height:1.6;max-width:310px}.eyebrow{font-size:9px;letter-spacing:1.6px}
 .page-heading .secondary{min-width:44px;min-height:44px;flex-shrink:0;border-radius:12px}
 .arena-layout{display:flex;gap:20px;max-width:560px;margin-inline:auto}.board-column{width:100%;min-width:0}
 .board-shell{border-width:4px;border-radius:8px;box-shadow:0 12px 30px #0004}
 .square .piece{font-size:10cqi}.coordinate{font-size:9px}.rank{top:3px;left:3px}.file{right:3px;bottom:2px}
 .player-strip{height:57px;gap:9px}.player-strip .bot-avatar,.you-avatar{width:34px;height:34px;flex-shrink:0}
 .player-name strong{font-size:12px}.player-name>span{font-size:10px}.player-mana{font-size:9px;letter-spacing:0;white-space:nowrap}.player-mana span{margin-left:3px}.player-mana+.turn-chip{display:none}
 .turn-chip{font-size:9px;letter-spacing:.5px;white-space:nowrap}.bottom-strip{height:60px}.your-turn{padding:8px}
 .board-tools{display:grid;grid-template-columns:1fr auto;margin-bottom:16px;padding:5px 0 12px;gap:6px}
 .board-tools>div{gap:4px}.board-tools .icon-button{width:44px;height:44px;border:1px solid #303640;border-radius:10px;font-size:21px}
 .board-tools>span{grid-row:2;grid-column:1/-1;font-size:12px;line-height:1.6;text-align:left;padding:4px 2px}
 .board-tools>#download{grid-row:1;grid-column:2}
 .spell-tray{padding:14px 10px;border-radius:12px}.tray-heading small{font-size:11px}.mana-count{flex-shrink:0}
 .hand{gap:5px;margin-top:17px;grid-template-columns:repeat(5,minmax(0,1fr))}.spell-card{min-width:0;min-height:104px;padding:22px 3px 8px;border-radius:9px}
 .spell-icon{font-size:27px}.spell-card strong{font-size:10px;line-height:1.35;margin-top:7px;overflow-wrap:normal;hyphens:auto}.spell-cost{font-size:10px;top:6px}
 .tray-footer{gap:8px;font-size:10px;line-height:1.5}.tray-footer button{min-height:44px;font-size:11px;flex-shrink:0}
 .game-panel{display:flex;flex-direction:column;gap:16px}.opponent-panel{padding:20px;border-radius:12px}
 .opponent-portrait{height:85px}.opponent-panel h2{font-size:20px}.opponent-panel>p{font-size:12px;line-height:1.7}.section-title{font-size:10px}
 .difficulty-label{font-size:13px}.difficulty-label strong{font-size:19px}input[type=range]{height:32px;margin:10px 0;touch-action:pan-y}
 .range-labels{font-size:10px}.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}.difficulty-options button{min-height:44px;font-size:12px;border-radius:8px}
 .info-note{font-size:10px;line-height:1.6}.history-panel{margin:0;border-radius:12px}.panel-tabs button{min-height:48px;font-size:12px}.history{height:160px}.history-head{font-size:10px}.move-row{font-size:13px}.history-footer{font-size:11px}.tip-card{margin:0 5px}.tip-card strong,.tip-card p{font-size:12px}
 footer{font-size:10px;gap:15px;line-height:1.7;margin:24px 0 12px}
 .online-grid{grid-template-columns:minmax(0,1fr);gap:16px}.online-grid>.panel{padding:20px;border-radius:12px}
 .online-grid input,.online-grid select,dialog input,dialog select,.setup-panel input,.library-toolbar input,.library-toolbar select{font-size:16px;min-height:48px;max-width:100%}
 .online-grid label,dialog label{font-size:12px}.primary,.secondary{min-height:44px;font-size:12px}
 .connection-banner{padding:15px;flex-wrap:wrap;font-size:12px;gap:10px}.connection-banner button{min-height:44px}
 .online-game-bar{flex-wrap:wrap;gap:10px;font-size:11px;padding:8px 12px}.online-game-bar>button{min-height:40px;font-size:12px}
 .match-row{flex-wrap:wrap;padding:15px;gap:10px}.match-meta strong{font-size:13px}.match-meta small{font-size:11px;line-height:1.5}.match-row .secondary{font-size:12px;min-height:44px}
 .person{flex-wrap:wrap}.person-actions{flex-wrap:wrap}.person-actions button{min-height:44px;font-size:12px}.person .person-info{min-width:110px}.input-row{flex-wrap:wrap}.input-row input{flex:1 1 170px}.input-row button{flex:1 0 auto}
 .match-clocks{gap:10px}.match-clocks>div{padding:12px}.match-clocks strong{font-size:27px}.match-clocks small{font-size:10px}.opponent-panel #onlineMatchActions>button{min-height:44px;font-size:12px}
 .library{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-card{padding:15px}.library-card h3{font-size:13px}.library-card p{font-size:12px;min-height:0;line-height:1.7}.library-card small{font-size:10px}.library-card .spell-cost{right:10px;top:10px}.library-toolbar input{min-width:0}.library-toolbar select{min-width:0;flex-basis:150px}.library-help{font-size:12px}.library-toolbar span{font-size:12px}
 .guide-grid .panel{padding:22px}.guide-grid p{font-size:14px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-box{padding:20px 16px}
 dialog,#accountDialog{width:calc(100% - 24px);max-width:440px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:25px 22px;border-radius:16px}
 .close-dialog{width:44px;height:44px;right:5px;top:4px}.auth-tabs>button{min-height:44px;font-size:14px}.text-button{min-height:44px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}
 #toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);font-size:13px;width:max-content;padding:13px 18px}
}
@media(max-width:360px){.header-right{gap:3px}.header-right .icon-button{width:34px;height:38px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 4px}.hand{gap:4px}.spell-card strong{font-size:9px}.tray-heading small{font-size:10px}.player-name>span{font-size:9px}.player-mana{font-size:8px}.tray-footer{font-size:9px}.tray-footer button{font-size:10px}}
@media(hover:none){.square:hover .piece{transform:none}.spell-card:hover,.library-card:hover{transform:none}}

/* Original chess font, with text presentation instead of colored emoji. */
.square .piece{display:inline;width:auto;height:auto;font-family:Georgia,'Times New Roman',serif;font-variant-emoji:text;filter:drop-shadow(0 2px 1px #0005)}
.piece.white{color:#fff9eb;-webkit-text-fill-color:#fff9eb;-webkit-text-stroke:1.15px #5c6155;text-shadow:0 2px 0 #6b705f}
.piece.black{color:#242b2b;-webkit-text-fill-color:#242b2b;-webkit-text-stroke:.65px #151b18;text-shadow:0 1px 0 #858e78}
.install-button{color:var(--gold);min-height:40px;padding:8px 12px;border:1px solid #5d5038;border-radius:8px;font-size:11px}
.install-steps{padding-left:20px;color:#bac1cc;font-size:14px;line-height:1.9}.install-steps li{margin-bottom:12px}
.install-note{font-size:12px!important}.install-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.install-actions button{flex:1;min-height:44px}
@media(max-width:680px){header{flex-wrap:wrap;height:auto;min-height:66px;padding:10px 0;gap:6px}.header-right{gap:5px}.install-button{padding:8px;font-size:11px}.header-right .icon-button{width:34px;height:36px}.breadcrumb{flex:1 0 110px}.header-right .account-button{padding:8px;font-size:10px}.install-button{min-height:40px}}
@media(display-mode:standalone){.install-button{display:none}header{padding-top:max(10px,env(safe-area-inset-top));height:auto;min-height:66px}}

.notifications-on{color:var(--gold)!important;border-color:#b99a57!important}.notification-copy{line-height:1.8;color:var(--muted)}#notificationMessage{color:var(--gold);font-size:13px;line-height:1.8}#notificationSettings{min-width:36px;min-height:40px}#notificationsDialog .primary,#notificationsDialog .secondary{width:100%;margin-top:12px;min-height:44px}@media(max-width:680px){.header-right{flex-wrap:wrap;justify-content:flex-end}.breadcrumb{flex:1 0 115px}}
/* Club-style arena: warm charcoal, clear green actions, and a quieter game header. */
:root{--bg:#302e2b;--panel:#272522;--line:#45423d;--muted:#aaa69d;--gold:#b7cf89;--green:#81b64c}
body{background:#302e2b;color:#eeece7}.sidebar{background:#262421;border-color:#1e1c1a}.brand{letter-spacing:-1.3px}.brand-icon,.brand-dot{color:#91c45b}.side-label{color:#9b978d}.nav{font-weight:700;color:#c3c0b8;border-radius:6px}.nav.active{background:#373a2c;color:#b2d47c;box-shadow:inset 4px 0 #81b64c}.nav:hover{background:#3a3832}.nav small{background:#81b64c;color:#18220e}.side-bottom p,.profile small{color:#a6a295}.side-bottom h3{color:#c4c0b6}
header{border-color:#45413a}.breadcrumb{color:#b3aea2}.breadcrumb strong{color:#e8e5dc}.page-heading{margin:24px 0 20px}.page-heading h1{font-weight:800;font-size:32px;letter-spacing:-1px}.page-heading p{color:#b7b2a5;font-size:13px}.eyebrow{color:#b5ce91}.header-right .icon-button{border-radius:7px;border-color:#5a554a;color:#c8c3b7}.icon-button:hover{background:#454238;color:#e8e6df}
.primary{background:linear-gradient(#91c959,#7dac46);color:#fff;text-shadow:0 1px #0003;border-bottom:3px solid #537b2e;border-radius:8px;box-shadow:0 2px 4px #0002;font-weight:800}.primary:hover{background:linear-gradient(#a0d66b,#8cbf50)}.primary:active{transform:translateY(1px);border-bottom-width:2px}.secondary{background:#454139;color:#e9e5da;border-color:#5c554a;border-bottom:3px solid #26231f;font-weight:700}.secondary:hover{background:#534d42;border-color:#716650}.account-button{background:#3b3831}.install-button{border-color:#6a7650;color:#c2da9b}.page-heading .secondary{background:#81b64c;border-color:#5c8436;color:white}
.arena-layout{gap:22px;grid-template-columns:minmax(340px,1fr) 302px}.board-shell{border:5px solid #24231f;border-radius:7px;box-shadow:0 6px 0 #22211f,0 18px 35px #0003}.square{background:#eeeed2;color:#779556}.square.dark{background:#769656;color:#eeeed2}.square.selected{background:#f6f669}.square.dark.selected{background:#baca44}.square.last{box-shadow:inset 0 0 0 100px #f5f26955}.square.target{box-shadow:inset 0 0 0 4px #e6c961}.square.check{background:radial-gradient(ellipse at center,#e06552,#ab5944 80%)}.square.legal:after{background:#263e294a}.square.legal:has(.piece):after{border-color:#263e2970}.coordinate{font-weight:800;font-size:10px}.piece.white{color:#fffdf4;-webkit-text-fill-color:#fffdf4;-webkit-text-stroke:1px #53564a;text-shadow:0 2px #676c5d}.piece.black{color:#242520;-webkit-text-fill-color:#242520;-webkit-text-stroke:.7px #15170f;text-shadow:0 1px #9fae80}.square .piece{z-index:3}.effect{z-index:5}.square:has(.effect){box-shadow:inset 0 0 16px #bce7e666}
.bot-avatar{background:#435a31;border-color:#799b52;color:#c9e0a8}.you-avatar,.avatar{background:#454139;color:#e5dfd0}.player-name strong{font-size:13px}.player-name>span{color:#beb8ab}.player-name b{background:#24241e;color:#d3cdbd;border-color:#565344}.turn-chip{color:#b7b3a5}.your-turn{background:#536d34;color:#e0f2c8;box-shadow:0 0 0 1px #77945055}.player-mana{color:#d2b7e7}.player-mana span{color:#b2ab9f}
.panel{background:#272522;border-color:#423e36;box-shadow:0 3px 0 #24221e}.opponent-panel{padding:19px}.opponent-portrait{height:86px;margin:8px auto 0}.portrait-ring{height:65px;width:65px;font-size:50px;color:#afd77c;background:radial-gradient(ellipse,#465937,#30382a);border-color:#779454;outline-color:#46523a}.portrait-star{color:#a9c684}.opponent-panel h2{font-weight:800}.opponent-panel>p{color:#b2aca0;margin-bottom:20px}.section-title{color:#bdb7aa}.difficulty-label{color:#d2cbbd}.difficulty-label strong{color:#b3d582}.difficulty-options button{background:#34332b;border-color:#565143;color:#c0b9aa}.difficulty-options button.selected{background:#5f793a;color:#f0f6e7;border-color:#98bd63}.info-note{color:#a19a8c}.panel-tabs button{color:#b4ad9e}.panel-tabs .selected{color:#b7d58d;border-color:#81b64c}.history-head{color:#a8a18f}.history-footer{color:#b7b09f}.move-row{color:#eee9dd}.move-row:nth-child(even){background:#ffffff07}.move-row>span:first-child{color:#a39b89}.empty-history{color:#a39c8d}.empty-history>span{color:#747b60}.tip-card p{color:#b4ae9f}
.spell-tray{background:linear-gradient(115deg,#34332c,#292723);border-color:#524b3f;border-radius:8px}.tray-heading small{color:#b2a99a}.spell-card{background:linear-gradient(150deg,#454038,#312e28);border-color:#68604d;border-bottom:3px solid #201f1a}.spell-card strong{color:#e5dece}.spell-card.active{border-color:#b5d581;box-shadow:0 0 0 2px #93bd4b66,0 0 22px #b3ce7830}.spell-card.unavailable{opacity:.55}.tray-footer{color:#b6ab97}.tray-footer button{color:#c7dc9c}.board-tools{border-color:#484238}.board-tools>span{color:#b9b1a2}.mana-count small{color:#b1a695}.mana-count strong{color:#f0e8da}
.library-card{background:#2a2823;border-color:#514a3e}.library-card.equipped{border-color:#8dae55;background:#30362a}.library-card p,.guide-grid p,.online-grid p{color:#bbb3a2}.library-toolbar input,.library-toolbar select,.online-grid input,.online-grid select,dialog input,dialog select{background:#22231e;border-color:#5b5548}.connection-banner.ready{background:#35452c;border-color:#5a7844;color:#d0e3bc}.match-row{background:#292722;border-color:#514a3e}.match-meta small,.person small{color:#b0a794}.person .person-sigil{background:#445532;color:#d0e6ac}.person small.online{color:#b6d990}.online-game-bar{background:#36462d;border-color:#638346}.match-clocks>div{background:#1d1e1a;border-color:#514c40}.match-clocks .running{background:#e7edda;color:#26301d;border-color:#b1cb8b}.match-clocks small{color:inherit}.match-clocks .low{color:#f2917a}.section-heading h2{font-weight:800}dialog{background:#2c2a24;border-color:#69604e}dialog p{color:#c1b8a6}footer{color:#aaa18d}#toast{background:#465d32;border-color:#83a756;color:#edf5e4}
.fx-ring{position:absolute;inset:8%;z-index:4;border:3px solid #fff8bb;border-radius:50%;pointer-events:none;animation:landing-ring .55s ease-out forwards}.fx-capture{border-color:#f4d291;box-shadow:0 0 15px #fff2a8;animation:capture-ring .7s ease-out forwards}.fx-spell{border-color:#c2a4ff;box-shadow:0 0 20px #ae82e5;animation:capture-ring .8s ease-out forwards}.fx-spark{position:absolute;top:48%;left:48%;width:5px;height:5px;background:#f1dbff;border-radius:50%;z-index:6;pointer-events:none;animation:spell-spark .65s ease-out var(--delay) forwards}.spell-flash{animation:spell-light .6s ease-out}.game-complete{animation:result-glow 1.5s ease-out}.square.check .piece{animation:king-warning 1.5s ease-in-out infinite}.square .effect{filter:drop-shadow(0 0 4px #fff8);animation:effect-float 2.6s ease-in-out infinite}.effects-off .square.check .piece,.effects-off .effect{animation:none}.effects-off .fx-ring,.effects-off .fx-spark{display:none}
@keyframes landing-ring{from{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.12)}}@keyframes capture-ring{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.8)}}@keyframes spell-spark{from{opacity:1;transform:rotate(var(--angle)) translateX(0) scale(1.2)}to{opacity:0;transform:rotate(var(--angle)) translateX(30px) scale(.2)}}@keyframes spell-light{0%,100%{filter:none}40%{filter:brightness(1.15) saturate(1.15)}}@keyframes result-glow{0%,100%{box-shadow:0 6px 0 #22211f,0 18px 35px #0003}40%{box-shadow:0 0 0 4px #a7cc68,0 0 45px #a7cc6866}}@keyframes king-warning{50%{filter:drop-shadow(0 0 7px #ffc1b0)}}@keyframes effect-float{50%{transform:translateY(-2px)}}
@media(max-width:1000px) and (min-width:681px){.arena-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:680px){body{background:#302e2b}.sidebar{background:#262421f5;border-top-color:#57513f}.sidebar .nav.active{background:#3e4930;box-shadow:inset 0 2px #9dcb63;color:#d3edb0}.sidebar .nav{color:#c6bead}.page-heading{margin:20px 0 17px}.page-heading h1{font-size:clamp(27px,7.5vw,34px)}.page-heading p{font-size:12px}.arena-layout{display:flex;gap:20px}.board-shell{border-width:4px}.board-tools .icon-button{background:#3c3930;border-color:#625a48;color:#d8ceba}.opponent-panel h2{font-size:20px}.difficulty-options button{min-height:44px}.header-right{gap:5px}.header-right .icon-button{min-width:34px;width:34px}.sidebar .nav:hover{background:#3b422f}.tray-footer{font-size:10px}.tray-footer button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.header-right{max-width:100%}.spell-card strong{overflow-wrap:anywhere}}
@media(max-width:360px){.header-right #help{display:none}}
/* Card arena and reference index */
.draw-zone{display:flex;gap:17px;align-items:center;margin-top:18px}.deck-stack{width:62px;height:85px;flex-shrink:0;border:2px solid #b7b68a;border-radius:7px;background:repeating-linear-gradient(45deg,#263923,#263923 5px,#30472a 5px,#30472a 7px);box-shadow:3px 3px 0 #696d47,6px 6px 0 #353d29,inset 0 0 0 5px #263322;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#d8dfad}.deck-stack>span{font-size:32px}.deck-stack small{font-size:7px;letter-spacing:1.8px}.deck-details{display:flex;flex-direction:column;gap:7px;min-width:0}.deck-details>strong{color:#dfedca;font-size:14px}.deck-details>span{font-size:11px;color:#c1bba8}.deck-details>small{font-size:10px;line-height:1.7;color:#aeb19c}.hand{display:flex;gap:9px;overflow-x:auto;padding:10px 2px 12px;margin-top:16px;scrollbar-width:thin;scrollbar-color:#7b9260 transparent;scroll-snap-type:x proximity}.hand .spell-card{flex:0 0 calc((100% - 36px)/5);min-width:82px;min-height:118px;padding:22px 6px 10px;scroll-snap-align:start;overflow:hidden}.spell-card strong{font-size:10px;overflow-wrap:anywhere}.spell-card .spell-icon{font-size:29px}.rival-cards{padding:17px;margin-top:17px}.rival-cards>p{font-size:10px;color:var(--muted);line-height:1.6}.opponent-hand{display:flex;flex-wrap:wrap;gap:7px}.opponent-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:calc((100% - 21px)/4);min-height:69px;padding:13px 3px 6px;border:1px solid #66654a;border-radius:5px;background:#34382b;color:#c1d99c;font-size:23px}.opponent-card>small{position:absolute;right:4px;top:3px;font-size:9px;color:#ceb9e4}.opponent-card>span{font-size:8px;text-align:center;color:#d7d5c7;overflow-wrap:anywhere}.index-number{font-size:9px;letter-spacing:1px;color:#9cae7c;display:block;margin-bottom:10px}.library-card{cursor:default}.library-card:hover{transform:none}.decoy-marker{position:absolute;inset:18%;display:grid;place-items:center;background:#bca6da88;border:2px dashed #f3e2ff;border-radius:9px;font-size:30px;color:#fff2ff;z-index:2}.card-flight{position:fixed;z-index:120;perspective:800px;pointer-events:none}.card-flight-inner{position:relative;transform-style:preserve-3d;width:100%;height:100%}.card-flight-front,.card-flight-back{position:absolute;inset:0;border:2px solid #b7bf8c;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 30px #0006}.card-flight-back{background:repeating-linear-gradient(45deg,#263923,#263923 5px,#30472a 5px,#30472a 7px);color:#d8dfad}.card-flight-back>span{font-size:35px}.card-flight-back small{font-size:8px;letter-spacing:2px}.card-flight-front{transform:rotateY(180deg);background:linear-gradient(145deg,#474336,#292c25);padding:20px 5px 8px;color:#eee5cc}.card-flight-front strong{font-size:10px;line-height:1.5;text-align:center;overflow-wrap:anywhere}.card-flight-front .spell-icon{font-size:29px;margin-bottom:6px}.card-flight-front .spell-cost{right:7px;top:5px}.effects-off .card-flight{display:none}
@media(max-width:1000px) and (min-width:681px){.rival-cards{margin-top:0}.tip-card{grid-column:1/-1}}
@media(max-width:680px){.hand .spell-card{flex-basis:88px;min-width:88px;min-height:116px}.hand{gap:8px}.draw-zone{gap:15px}.deck-details>small{font-size:10px}.rival-cards{margin:0;padding:20px}.opponent-card{width:calc((100% - 28px)/5)}.library-card p{min-height:0}.index-number{font-size:10px}.card-flight-front strong{font-size:10px}}
/* One shared deck beside the middle-right edge of the board. */
.board-row{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:12px;align-items:center}.board-row>.board-shell{min-width:0;width:100%}.shared-deck-panel{display:flex;align-items:center;flex-direction:column;gap:11px;text-align:center;padding:16px 7px;background:#282a22;border:1px solid #575d42;border-radius:10px;box-shadow:0 3px 0 #22241c}.deck-eyebrow{font-size:8px;letter-spacing:1.3px;color:#b7c698}.shared-deck-panel .deck-stack{width:59px;height:81px}.shared-deck-panel>strong{font-size:12px;color:#dce7c5}.shared-deck-panel>small{font-size:9px;color:#b4b49f}.shared-deck-panel .primary{font-size:11px;width:100%;min-height:44px;padding:9px 5px}.shared-deck-panel .primary:disabled{cursor:default}.hand-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.hand-summary>strong{font-size:12px;color:#dce7c5;white-space:nowrap}.hand-summary>small{font-size:10px;color:#aeb19c;line-height:1.7}.opponent-hand{gap:7px}.hidden-card{display:grid;place-items:center;width:30px;height:42px;background:repeating-linear-gradient(45deg,#263923,#263923 4px,#364b2e 4px,#364b2e 6px);border:1px solid #b1b985;border-radius:4px;color:#c8d79f;font-size:18px;user-select:none}.rival-cards>p{color:#c7d9a7;font-size:12px}
@media(max-width:1000px) and (min-width:681px){.board-row{grid-template-columns:minmax(0,1fr) 94px}}
@media(max-width:680px){.board-row{grid-template-columns:minmax(0,1fr) 68px;gap:8px}.shared-deck-panel{padding:10px 4px;gap:9px}.deck-eyebrow{font-size:6px;letter-spacing:.6px}.shared-deck-panel .deck-stack{width:43px;height:62px}.shared-deck-panel .deck-stack>span{font-size:25px}.shared-deck-panel .deck-stack small{font-size:5px}.shared-deck-panel>strong{font-size:10px}.shared-deck-panel>small{font-size:8px}.shared-deck-panel .primary{font-size:10px;line-height:1.3;padding:7px 2px;min-height:44px}.hand-summary{align-items:flex-start;flex-direction:column;gap:6px}.hand-summary>small{font-size:10px}}
@media(max-width:360px){.board-row{grid-template-columns:minmax(0,1fr)}.shared-deck-panel{flex-direction:row;justify-content:space-between;gap:8px;padding:10px}.shared-deck-panel .deck-stack{width:32px;height:44px}.shared-deck-panel .primary{width:auto;min-width:82px}.shared-deck-panel .deck-eyebrow{display:none}.shared-deck-panel .deck-stack>span{font-size:20px}}

/* Hands grow vertically as cards arrive, with accessible touch card options. */
.hand{flex-wrap:wrap;overflow:visible;scroll-snap-type:none;align-items:stretch}
.hand-card{position:relative;flex:0 0 calc((100% - 36px)/5);min-width:82px;display:flex}
.hand .hand-card .spell-card{flex:1;width:100%;min-width:0;padding-bottom:30px}
.card-options{position:absolute;bottom:1px;right:1px;left:1px;min-height:28px;border-radius:0 0 7px 7px;color:#e0e6c7;background:#22291f;border-top:1px solid #ffffff18;font-size:15px;letter-spacing:2px}
.card-options:hover{background:#405035}#cardMenu h2{font-size:22px}#discardName{color:var(--gold);font-weight:700}
@media(max-width:680px){.hand-card{flex-basis:calc((100% - 16px)/3);min-width:0}.card-options{min-height:34px}.hand .hand-card .spell-card{padding-bottom:38px}}
/* Arcana collection and strategy tools */
.mode-picker{display:flex;flex-direction:column;gap:6px;margin-left:auto;margin-right:14px;color:var(--muted);font-size:10px}.mode-picker select,.shop-hero select,#feedbackForm select,#feedbackForm textarea{background:#242720;border:1px solid #515745;color:var(--text);padding:9px;border-radius:6px;max-width:100%}.extra-game-tools{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.spell-tooltip{position:fixed;z-index:180;background:#20271c;border:1px solid #b1c48d;border-radius:10px;padding:15px;box-shadow:0 8px 32px #0009;pointer-events:none;font-size:12px;line-height:1.65}.spell-tooltip strong{display:flex;justify-content:space-between;color:#e5efcd;font-size:14px}.spell-tooltip strong span{color:var(--gold);white-space:nowrap;margin-left:12px}.spell-tooltip p{margin:8px 0}.spell-tooltip small{color:#b5c29d}.square.spell-target:after{content:'';position:absolute;inset:7%;border:3px solid #a6eff0;border-radius:8px;pointer-events:none;z-index:4}.square.preview-changed>.piece{opacity:.15}.spell-ghost{position:absolute;inset:0;display:grid;place-items:center;font:58px Georgia;z-index:5;pointer-events:none;text-shadow:0 0 15px #b7ffff}.spell-ghost.white{color:#fff;-webkit-text-fill-color:#fff}.spell-ghost.black{color:#171b1c;-webkit-text-fill-color:#171b1c}.preview-changed{box-shadow:inset 0 0 0 4px #b4f7ef}.spell-preview{padding:13px 16px;background:#20312e;border:1px solid #5d8a80;border-radius:9px;color:#cce8df;font-size:12px;line-height:1.7;margin:12px 0}.last-spell{display:flex;gap:15px;align-items:center;border:1px solid #6c7954;border-radius:9px;background:linear-gradient(110deg,#353e2b,#242920);padding:15px;margin:12px 0}.last-spell>span{font-size:36px;color:var(--gold)}.last-spell small{display:block;font-size:9px;letter-spacing:1.5px;color:#bac89b;margin-bottom:5px}.last-spell strong{font-size:14px}.last-spell p{font-size:11px;color:#c0c7b4;line-height:1.6;margin:5px 0 0}.spell-reveal{animation:spellReveal .5s ease-out}@keyframes spellReveal{from{transform:translateY(-10px);box-shadow:0 0 25px #ceea9470}to{transform:translateY(0);box-shadow:none}}.classic-mode .spell-tray,.classic-mode .shared-deck-panel,.classic-mode .rival-cards,.classic-mode .player-mana,.classic-mode #spellPreview,.classic-mode #lastSpell{display:none!important}.classic-mode .board-row{grid-template-columns:1fr}.replay-dialog{width:min(94vw,650px);max-width:650px;padding:20px}.replay-heading{display:flex;align-items:center;justify-content:space-between}.replay-heading h2{font-size:23px;margin:6px 0 18px}.replay-board{width:min(100%,58vh);margin:auto;aspect-ratio:1}.replay-board .square{aspect-ratio:1}.replay-board .piece{font-size:clamp(20px,6vh,48px)}#replayRange{width:100%;accent-color:#a4bd79;margin:14px 0}.replay-controls{display:flex;justify-content:space-between;align-items:center}.replay-archive{margin-top:25px;padding:24px}.replay-archive button{display:block;margin:10px 0}.coin-balance{font-size:25px;color:#e3c66d;white-space:nowrap}.shop-hero{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;padding:35px;background:radial-gradient(at 10% 50%,#59603955,transparent 55%),#24271f;margin-bottom:30px}.shop-hero h2{font:600 27px Manrope;margin:13px 0}.shop-hero p{font-size:12px;line-height:1.8;color:#b5baa9}.shop-hero #crateOdds{color:#d4dca9}#shopMessage{min-height:22px}.crate-art{width:150px;height:150px;border:2px solid #b7a564;box-shadow:0 14px 45px #15180d,inset 0 0 35px #cbbd6833;border-radius:24px;display:grid;place-items:center;font-size:100px;color:#d9c57d;position:relative;background:linear-gradient(145deg,#4f593d,#292f21)}.crate-art span{position:absolute;font-size:35px;top:44px;color:#fbf6cf}.crate-opening{animation:crateOpen .8s ease-out}@keyframes crateOpen{0%{transform:rotate(-6deg) scale(.9)}30%{transform:rotate(6deg) scale(1.04)}60%{transform:rotate(-4deg);box-shadow:0 0 65px #e6d27d}100%{transform:rotate(0)}}.cosmetic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cosmetic-item{background:var(--panel);border:1px solid var(--line);padding:16px;border-radius:12px}.cosmetic-item small{color:var(--muted);font-size:9px;letter-spacing:1px}.cosmetic-item h3{font-size:14px;margin:9px 0 16px}.cosmetic-item.locked .cosmetic-swatch{opacity:.55}.cosmetic-swatch{height:90px;display:grid;place-items:center;background:linear-gradient(135deg,#414e32,#22291d);border-radius:8px;color:#e7e6c8;font-size:38px;margin-bottom:14px}.cosmetic-swatch.board_ocean{background:repeating-conic-gradient(#a7cbd3 0% 25%,#416e83 0% 50%) 0/44px 44px}.cosmetic-swatch.board_ember{background:repeating-conic-gradient(#e9c29a 0% 25%,#99553b 0% 50%) 0/44px 44px}.cosmetic-swatch.board_amethyst{background:repeating-conic-gradient(#d4c6e6 0% 25%,#7c669c 0% 50%) 0/44px 44px}.cosmetic-swatch.board_midnight{background:repeating-conic-gradient(#8792a4 0% 25%,#303f54 0% 50%) 0/44px 44px}.default-cosmetics{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 40px}.equipped-title{font-size:9px;color:var(--gold);position:absolute;margin-top:52px}.profile{position:relative}.cosmetic-board_ocean{--square-light:#a7cbd3;--square-dark:#416e83}.cosmetic-board_ember{--square-light:#e9c29a;--square-dark:#99553b}.cosmetic-board_amethyst{--square-light:#d4c6e6;--square-dark:#7c669c}.cosmetic-board_midnight{--square-light:#8792a4;--square-dark:#303f54}body[class*="cosmetic-board_"] .square{background:var(--square-light)}body[class*="cosmetic-board_"] .square.dark{background:var(--square-dark)}body.cosmetic-back_stars .hidden-card,body.cosmetic-back_stars .card-flight-back{background:radial-gradient(circle at 30% 20%,#c4c0f333,transparent),#292c4d;color:#e0d9ff}body.cosmetic-back_runes .hidden-card,body.cosmetic-back_runes .card-flight-back{background:repeating-linear-gradient(60deg,#203c37,#203c37 7px,#325349 7px,#325349 8px);color:#aee4cb}body.cosmetic-back_sun .hidden-card,body.cosmetic-back_sun .card-flight-back{background:radial-gradient(circle,#967237,#3a2b1c);color:#ffe4a0}body.cosmetic-back_frost .hidden-card,body.cosmetic-back_frost .card-flight-back{background:linear-gradient(135deg,#94c1d0,#33516a);color:#efffff}#feedbackForm label{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-size:12px}#feedbackForm select,#feedbackForm textarea{width:100%}button:disabled{cursor:default;opacity:.55}
@media(max-width:850px){.cosmetic-grid{grid-template-columns:repeat(3,1fr)}.page-heading{flex-wrap:wrap;gap:14px}.mode-picker{margin-left:0}.shop-hero{grid-template-columns:120px 1fr;gap:22px;padding:24px}.crate-art{width:110px;height:110px;font-size:75px}.crate-art span{top:32px;font-size:27px}}
@media(max-width:680px){.cosmetic-grid{grid-template-columns:repeat(2,1fr);gap:10px}.shop-hero{grid-template-columns:1fr}.crate-art{margin:auto}.shop-hero h2{font-size:23px}.coin-balance{font-size:21px}.spell-ghost{font-size:9vw}.mode-picker{font-size:10px}.mode-picker select{font-size:11px}.page-heading .secondary#newGameTop{font-size:11px}.last-spell{padding:12px}.sidebar nav{overflow-y:auto;max-height:calc(100dvh - 90px)}.cosmetic-item{padding:12px}.replay-controls button{font-size:11px;padding:10px}.spell-tooltip{font-size:12px}}
@media(prefers-reduced-motion:reduce){.crate-opening,.spell-reveal{animation:none!important}}


/* Five focused crates, each with inspectable personal pull odds. */
.crate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.pack-card{padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;background:radial-gradient(at 50% 35%,#71824e25,transparent 65%),var(--panel)}.pack-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:22px}.pack-top>small{font-size:9px;letter-spacing:1.8px;color:#aebc95}.crate-info{width:30px;height:30px;min-width:30px;border:1px solid #8e9d70;border-radius:50%;font-weight:700;color:#e0e7c9;background:#ffffff06}.crate-info:hover{background:#6d815e55}.pack-card .crate-art{width:116px;height:116px;font-size:80px}.pack-card .crate-art>span{top:34px;font-size:28px}.pack-card h2{font-size:19px;margin:23px 0 8px}.pack-card>p{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 12px;min-height:40px}.pack-progress{color:#b4c39c;font-size:11px;margin-top:auto;margin-bottom:15px}.pack-card>.primary{width:100%;min-height:44px}.pack-cards .crate-art{background:linear-gradient(145deg,#355879,#1c283d);border-color:#9fcaec;color:#c4e8ff}.pack-elite .crate-art{background:linear-gradient(145deg,#754783,#302039);border-color:#dfb9ec;color:#f1d5fc;box-shadow:0 0 30px #ab65cb25,inset 0 0 30px #cba9e333}.pack-elite .pack-top>small{color:#d7ade4}.pack-elite{border-color:#72517e}.crate-help{color:#adb49e;font-size:12px;line-height:1.8;max-width:850px}.crate-odds-dialog{max-width:720px;width:min(94vw,720px);max-height:90dvh;overflow:auto;padding:24px}.crate-odds-dialog h2{font-size:22px}.odds-row{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #ffffff12}.odds-row>span{font-size:26px;color:var(--gold);min-width:34px;text-align:center}.odds-row>div{flex:1}.odds-row strong{display:block;font-size:13px}.odds-row small{display:block;color:#b0b6a6;font-size:11px;line-height:1.7;margin-top:5px}.odds-row>b{color:#d9dca2;min-width:55px;text-align:right;font-size:15px}.crate-reward{display:flex;align-items:center;gap:20px;padding:25px;border:1px solid #acbd80;border-radius:12px;background:linear-gradient(120deg,#4b5635,#22291c);margin:22px 0}.crate-reward>span{font-size:45px;color:var(--gold)}.crate-reward small{font-size:9px;letter-spacing:1.5px;color:#bdcea1}.crate-reward strong{display:block;font-size:21px;margin:8px 0}.crate-reward p,.cosmetic-item p{font-size:11px;color:#c5ccba;line-height:1.8}.collection-status{font-size:10px;color:#b5d29d}.empty-collection{grid-column:1/-1;color:var(--muted);padding:30px;border:1px dashed #525d46;border-radius:10px;line-height:1.8}#shopMessage{color:#c3cea9;line-height:1.8}
@media(max-width:1000px){.crate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.crate-grid{grid-template-columns:1fr}.pack-card{padding:22px}.pack-card>p{min-height:0}.crate-odds-dialog{padding:18px}.crate-odds-dialog h2{font-size:18px}.odds-row{gap:9px}.odds-row>b{font-size:13px;min-width:47px}.crate-reward{padding:18px;gap:12px}.crate-reward strong{font-size:18px}}
.crate-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.pack-card{grid-column:span 2}.pack-cards,.pack-elite{grid-column:span 3;order:-1}.crate-info{width:44px;height:44px;min-width:44px}
@media(max-width:1000px){.crate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-card,.pack-cards,.pack-elite{grid-column:span 1}}@media(max-width:500px){.crate-grid{grid-template-columns:1fr}}
.reward-claim-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:18px 0;border:1px solid #87985e;border-radius:10px;background:linear-gradient(110deg,#3d472b,#24291e);font-size:12px;color:#d4ddbc}.reward-claim-panel p{font-size:11px;line-height:1.7;margin:6px 0 0;color:#bdcba5}.reward-claim-panel button{flex-shrink:0;min-height:42px}.game-rewards{padding:12px 15px;line-height:1.7}.crate-opening-dialog{max-width:480px;width:min(94vw,480px);max-height:94dvh;overflow:auto;text-align:center;background:radial-gradient(at 50% 45%,#59603c55,transparent 65%),#20251c}.crate-opening-dialog .eyebrow{justify-content:center}.crate-opening-dialog h2{font-size:25px;margin:12px 0}.crate-opening-stage{height:355px;position:relative;perspective:1000px}.opening-chest{position:absolute;width:150px;height:100px;left:50%;bottom:14px;transform:translateX(-50%);perspective:700px}.opening-chest-body{height:100px;background:linear-gradient(145deg,#6f7346,#333c24);border:3px solid #c6b66e;border-radius:6px 6px 14px 14px;display:grid;place-items:center;font-size:40px;color:#eee0a7;box-shadow:0 12px 35px #0006}.opening-lid{position:absolute;left:-4px;right:-4px;height:30px;top:-24px;background:linear-gradient(#9a9561,#515b35);border:3px solid #d0bf7c;border-radius:12px 12px 3px 3px;transform-origin:50% 100%;z-index:3}.opening .opening-lid{animation:chestLidOpen .8s ease-in-out forwards}.crate-loot-card{position:absolute;left:50%;top:12px;width:190px;height:260px;transform:translate(-50%,140px) scale(.35);opacity:0;z-index:4;perspective:900px}.opening .crate-loot-card{animation:lootCardRise .7s .5s cubic-bezier(.2,.7,.2,1) forwards}.loot-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.6,.2,1)}.revealed .loot-card-inner{transform:rotateY(180deg)}.loot-card-back,.loot-card-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid #c4c991;border-radius:13px;box-shadow:0 0 45px #c2dc7c44,0 15px 40px #0009;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;background:#2f4029}.loot-card-back{font-size:60px;color:#e0e6b9;background:repeating-linear-gradient(45deg,#253b28,#253b28 7px,#314b31 7px,#314b31 9px)}.loot-card-back small{font-size:10px;letter-spacing:3px;margin-top:15px}.loot-card-front{transform:rotateY(180deg);background:linear-gradient(140deg,#53543a,#252d23);color:#f1edcf}.loot-card-front>span{font-size:41px;margin-bottom:13px}.loot-card-front>small{font-size:8px;letter-spacing:1.1px;color:#c4d6a1}.loot-card-front>strong{font-size:17px;line-height:1.3;margin:9px 0}.loot-card-front>p{font-size:10px;line-height:1.55;color:#d1d8c2;margin:0}.crate-opening-stage.instant .opening-lid{animation:none;transform:rotateX(-115deg)}.crate-opening-stage.instant .crate-loot-card{animation:none;opacity:1;transform:translate(-50%,0) scale(1)}.crate-opening-stage.instant .loot-card-inner{transition:none}@keyframes chestLidOpen{0%{transform:rotateX(0)}30%{transform:rotateX(-10deg)}100%{transform:rotateX(-115deg)}}@keyframes lootCardRise{0%{opacity:0;transform:translate(-50%,140px) scale(.35)}30%{opacity:1}100%{opacity:1;transform:translate(-50%,0) scale(1)}}@media(max-width:500px){.reward-claim-panel{align-items:flex-start;padding:15px;flex-direction:column}.reward-claim-panel button{width:100%}.crate-opening-dialog{padding:22px}.crate-opening-stage{height:340px}.crate-opening-dialog h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.opening-lid,.crate-loot-card{animation:none!important}.opening .crate-loot-card{opacity:1;transform:translate(-50%,0) scale(1)}.loot-card-inner{transition:none!important}}

.effects-off .crate-opening{animation:none!important}
/* Five readable rarity grades, including labels as well as colors. */
.rarity-common{--rarity:#a7abb3;--rarity-wash:#a7abb31b}.rarity-uncommon{--rarity:#81c76b;--rarity-wash:#81c76b20}.rarity-rare{--rarity:#65a8f0;--rarity-wash:#65a8f025}.rarity-epic{--rarity:#bd85eb;--rarity-wash:#bd85eb25}.rarity-legendary{--rarity:#efc559;--rarity-wash:#efc5592b}.spell-card[class*="rarity-"],.library-card[class*="rarity-"],.cosmetic-item[class*="rarity-"],.last-spell[class*="rarity-"],.card-flight-front[class*="rarity-"]{border-color:var(--rarity);background-image:linear-gradient(145deg,var(--rarity-wash),transparent 80%);box-shadow:inset 0 -3px 0 var(--rarity)}.card-rarity{display:block;font-size:8px;line-height:1.5;margin-top:6px;letter-spacing:.7px;color:var(--rarity);text-transform:uppercase}.spell-tooltip[class*="rarity-"]{border-color:var(--rarity)}.spell-tooltip small,.odds-row[class*="rarity-"]>span,.odds-row[class*="rarity-"] strong{color:var(--rarity)}.rarity-legend{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0 8px;font-size:11px}.rarity-legend>span{color:var(--rarity)}
.roulette-dialog{max-width:880px;width:min(96vw,880px);padding:28px;overflow:hidden}.roulette-dialog h2{font-size:27px;margin-bottom:24px}.roulette-stage{height:auto;min-height:310px;perspective:none}.roulette-window{height:190px;overflow:hidden;position:relative;border:1px solid #70765b;border-radius:11px;background:#141810;box-shadow:inset 0 0 30px #0008}.roulette-window:before,.roulette-window:after{content:'';position:absolute;top:0;bottom:0;width:48px;z-index:3;pointer-events:none}.roulette-window:before{left:0;background:linear-gradient(90deg,#141810,transparent)}.roulette-window:after{right:0;background:linear-gradient(-90deg,#141810,transparent)}.roulette-track{display:flex;gap:12px;width:max-content;padding:15px 0;will-change:transform}.roulette-item{width:140px;height:158px;flex:0 0 140px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px 10px;border:1px solid var(--rarity);border-radius:7px;background:linear-gradient(145deg,var(--rarity-wash),#23291f);color:#eee;overflow:hidden}.roulette-item>span{font-size:33px;color:var(--rarity);margin-bottom:12px}.roulette-item>small{font-size:8px;letter-spacing:1px;color:var(--rarity);text-transform:uppercase}.roulette-item>strong{font-size:12px;line-height:1.4;margin-top:7px;text-align:center}.roulette-item>i{position:absolute;bottom:0;left:0;right:0;height:5px;background:var(--rarity)}.roulette-pointer{position:absolute;top:-9px;left:50%;transform:translateX(-50%);height:208px;width:2px;background:#f3deb77a;z-index:4;box-shadow:0 0 12px #e2cb7a55;pointer-events:none}.roulette-pointer:before,.roulette-pointer:after{content:'';position:absolute;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent}.roulette-pointer:before{top:0;border-top:13px solid #f0d994}.roulette-pointer:after{bottom:0;border-bottom:13px solid #f0d994}.roulette-winner{box-shadow:0 0 22px var(--rarity-wash),inset 0 0 18px var(--rarity-wash);outline:2px solid var(--rarity);outline-offset:-3px}.roulette-result{display:flex;gap:17px;align-items:center;text-align:left;padding:20px 5px 0;opacity:0;transition:opacity .25s}.revealed .roulette-result{opacity:1}.roulette-result>span{font-size:37px;color:var(--rarity)}.roulette-result>div{flex:1}.roulette-result small{font-size:9px;letter-spacing:1.4px;color:var(--rarity)}.roulette-result strong{display:block;font-size:21px;margin:6px 0;color:var(--rarity)}.roulette-result p{margin:0;font-size:12px;line-height:1.7;color:#c7cebb}.roulette-dialog .instant .roulette-result{transition:none}.roulette-dialog #openingRewardStatus{margin:12px 0 18px}
@media(max-width:600px){.roulette-dialog{padding:22px 14px}.roulette-dialog h2{font-size:23px}.roulette-item{width:110px;flex-basis:110px}.roulette-result strong{font-size:18px}.roulette-result p{font-size:11px}.roulette-result{gap:10px}.roulette-window:before,.roulette-window:after{width:22px}.rarity-legend{gap:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.roulette-result{transition:none!important}}
.hand .spell-card.active{outline:2px solid #fff3c2;outline-offset:2px;box-shadow:0 0 0 3px #10160c,0 0 18px var(--rarity-wash)}

/* Full-face rarity styling remains legible when a spell cannot be cast. */
.hand .spell-card[class*="rarity-"],.library-card[class*="rarity-"],.card-flight-front[class*="rarity-"]{background:linear-gradient(145deg,color-mix(in srgb,var(--rarity) 30%,#20242a),color-mix(in srgb,var(--rarity) 12%,#181c22));border:2px solid var(--rarity);box-shadow:inset 0 -5px 0 var(--rarity),0 3px 12px #0003}
.hand .spell-card[class*="rarity-"] .spell-icon,.library-card[class*="rarity-"] .spell-icon,.library-card[class*="rarity-"] h3,.library-card[class*="rarity-"]>small,.card-flight-front[class*="rarity-"] .spell-icon{color:var(--rarity)}
.hand .spell-card[class*="rarity-"].unavailable{opacity:1;filter:none}.hand .spell-card.unavailable .spell-cost{color:#c4c7ce;background:#15191fd9}.hand .spell-card[class*="rarity-"]:hover{border-color:var(--rarity);box-shadow:inset 0 -5px 0 var(--rarity),0 0 16px var(--rarity-wash)}

.library-toolbar{flex-wrap:wrap}.library-toolbar input{min-width:180px}.library-toolbar select{max-width:100%}#rarityFilter[class*="rarity-"]{color:var(--rarity);border-color:var(--rarity)}#rarityFilter option{color:#efefef;background:#22231e}#clearSpellFilters{min-height:44px;white-space:nowrap}#clearSpellFilters[hidden]{display:none}#loadoutCount{white-space:nowrap}@media(max-width:680px){.library-toolbar input{min-width:0}.library-toolbar select{flex:1 1 140px}.library-toolbar #loadoutCount{margin-left:auto}}
.spell-ownership{display:block;font-size:11px;line-height:1.6;color:#e4e8da;margin:8px 0}.card-crate-link{margin:5px 0 12px;font-size:11px;padding:8px;min-height:40px}.library-toolbar select{min-height:46px}.quick-play{padding:24px;margin:20px 0}.quick-play h2{margin:8px 0}.quick-play p,.standings-panel p{color:#bdc4b2;line-height:1.6}.quick-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.quick-controls label{display:flex;flex-direction:column;gap:8px;color:#bdc4b2}.quick-controls select{background:#22271e;color:#eee;border:1px solid #65734f;border-radius:6px;padding:11px;font:inherit;min-height:46px}.quick-controls button{min-height:46px}.standings-panel{padding:24px;margin:24px 0}.standings-scroll{overflow:auto}.standings-scroll table{border-collapse:collapse;width:100%;text-align:left;min-width:400px}.standings-scroll th,.standings-scroll td{padding:14px 10px;border-bottom:1px solid #4d5543}.standings-scroll th{font-size:12px}.standings-you{background:#94bb5b20}.game-result-dialog{max-width:520px;width:calc(100% - 28px);text-align:center;padding:28px}.game-result-dialog .eyebrow{justify-content:center}.game-result-dialog h2{font-size:29px}.result-sigil{font-size:52px;color:#e6c96e}.result-reward{border:1px solid #718355;border-radius:12px;background:#849f4922;padding:20px;margin:22px 0}.result-reward>strong{font-size:21px;color:#e6c96e}.result-reward p{line-height:1.6}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.result-actions button{min-height:44px}.quick-controls [hidden]{display:none}@media(max-width:680px){.quick-play,.standings-panel{padding:18px}.quick-controls label{width:100%}.quick-controls button{flex:1}.standings-panel .section-heading{flex-wrap:wrap;gap:10px}.library-toolbar select{flex-basis:140px}.game-result-dialog{padding:22px 18px}}

/* Tactics expansion */
.deck-summary,.fair-play{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:24px;margin-bottom:22px}.deck-summary h2{margin:0}.deck-summary p{margin:8px 0}.chosen-deck{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.deck-chip{border:1px solid var(--rarity,#777);padding:10px 14px;border-radius:10px;color:inherit;cursor:pointer}.deck-chip b{margin-left:8px}.deck-filters{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.deck-filters label{display:grid;gap:8px;flex:1;min-width:150px}.deck-filters input,.deck-filters select,.room-settings select{width:100%;box-sizing:border-box}.deck-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.deck-option{border:1px solid var(--rarity,#777);border-radius:14px;padding:18px;display:flex;flex-direction:column}.deck-option>div{display:flex;justify-content:space-between;align-items:center}.deck-option h3{margin:8px 0}.deck-option p{font-size:13px;line-height:1.6;flex:1}.deck-option .spell-icon{font-size:28px}.mode-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.mode-card{padding:26px;display:flex;flex-direction:column;border-top:3px solid #a8c46b}.mode-icon{font-size:40px;color:#bfd68c;margin-bottom:18px}.mode-card p{flex:1;line-height:1.6}.mode-card>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.fair-play{background:linear-gradient(120deg,#34432a,#252a25);border:1px solid #768c56}.fair-play>span{font-size:64px;color:#cbdc9e}.fair-play button{margin:6px 6px 0 0}.room-settings{margin:16px 0;padding:14px;border:1px solid #4c5145;border-radius:10px}.room-settings summary{cursor:pointer}.room-settings label{display:grid;gap:6px;margin-top:14px}.room-settings .check-label{display:flex;align-items:center;gap:10px}.room-settings input{width:auto}.room-settings p,.mode-hint{font-size:12px;line-height:1.6;color:#b6bdad}.response-panel{border:1px solid #bdcf88;background:#303c28;padding:16px;border-radius:12px;margin:12px 0}.response-panel[hidden]{display:none}.response-panel h3{margin:8px 0}.response-panel p{font-size:13px;line-height:1.6}.response-panel button{margin:4px;white-space:normal}.history-panel{padding:24px;margin-top:24px}.history-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #42473d}.history-row small{display:block;margin-top:6px;color:#acb49f}.spell-stat{display:flex;justify-content:space-between;gap:12px;padding:12px;margin-top:6px;border-radius:8px;border-left:3px solid var(--rarity,#aaa)}.spell-stat span{font-size:12px}.pity-status{font-size:12px!important;color:#d6dfb7;min-height:36px}
@media(max-width:600px){.deck-summary,.fair-play{align-items:flex-start;flex-direction:column;padding:18px}.fair-play>span{font-size:40px}.deck-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.deck-option{padding:12px;min-width:0}.deck-option h3{font-size:14px}.deck-option button{padding:9px;font-size:12px}.deck-chip{font-size:11px;padding:8px}.history-panel{padding:16px}.history-row{gap:8px}.history-row button{font-size:12px;padding:9px}.spell-stat{flex-direction:column}.mode-gallery{grid-template-columns:1fr}.deck-filters label{min-width:120px}}

.deck-option[class*="rarity-"],.deck-chip[class*="rarity-"],.spell-stat[class*="rarity-"]{background:linear-gradient(145deg,var(--rarity-wash),#252923 90%);border-color:var(--rarity)}.deck-option small,.deck-option .spell-icon{color:var(--rarity)}
@media(min-width:681px){.sidebar{overflow-y:auto}}
@media(max-width:680px){body{padding-bottom:calc(142px + env(safe-area-inset-bottom))}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar .nav{white-space:normal;overflow-wrap:normal}#toast{bottom:calc(146px + env(safe-area-inset-bottom))}.deck-filters input,.deck-filters select{font-size:16px;min-height:44px}}

/* Clubhouse navigation and match panels */
.sidebar {
  background: #21211f;
  border-color: #171715;
  scrollbar-width: thin;
}
.sidebar nav { margin-top: 24px; }
.rail-label {
  margin: 0 10px 7px;
  color: #aaa99e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.nav-group { padding: 12px 0; border-bottom: 1px solid #393935; }
#moreDestinations .nav-group:last-child { border: 0; }
.sidebar .nav {
  min-height: 42px;
  margin: 1px 0;
  padding: 8px 10px;
  gap: 12px;
  font-weight: 750;
  color: #e7e5da;
}
.rail-icon { flex: none; width: 24px; height: 24px; }
[data-view="play"] .rail-icon { color: #aed27c; }
[data-view="online"] .rail-icon { color: #88c4e8; }
[data-view="modes"] .rail-icon { color: #ffb36b; }
[data-view="decks"] .rail-icon, .rival-cards .rail-icon { color: #c5a4ff; }
[data-view="spells"] .rail-icon { color: #96adff; }
[data-view="shop"] .rail-icon, [data-view="stats"] .rail-icon { color: #ebc467; }
[data-view="friends"] .rail-icon { color: #7cd1b4; }
[data-view="guide"] .rail-icon { color: #cbcabd; }
.sidebar .nav.active { color: white; background: #393e32; box-shadow: inset 3px 0 #aacd73; }
.sidebar .nav:focus-visible, #moreNav:focus-visible { outline: 2px solid #e0efbd; outline-offset: -2px; }
.sidebar .side-bottom { padding-top: 24px; }
#moreNav { display: none; }
@media (min-width: 851px) {
  .sidebar { width: 192px; padding: 24px 12px 12px; }
  main { margin-left: 192px; padding-inline: clamp(20px, 2.2vw, 42px); }
  .sidebar .nav { justify-content: start; font-size: 14px; }
}
@media (min-width: 681px) and (max-width: 850px) {
  .rail-label { display: none; }
  .sidebar .nav { justify-content: center; }
}
.game-panel { min-width: 0; }
.game-panel > .panel {
  --panel-accent: #adcd81;
  --panel-tint: #333b2d;
  padding: 0;
  border: 1px solid #494941;
  border-radius: 9px;
  background: #262624;
  overflow: hidden;
  box-shadow: 0 3px 0 #1b1b1980;
}
.game-panel .section-title {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 9px;
  padding: 11px 16px;
  background: var(--panel-tint);
  color: #f3f2e9;
  border-bottom: 1px solid #ffffff12;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
}
.game-panel .section-title svg { width: 19px; height: 19px; color: var(--panel-accent); }
.game-panel > .history-panel { --panel-accent: #91bedc; --panel-tint: #303a42; margin-top: 12px; }
.game-panel > .rival-cards { --panel-accent: #c6a6f0; --panel-tint: #393140; margin-top: 12px; }
.rival-profile { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
.rival-emblem {
  flex: none;
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  border-radius: 8px;
  border: 1px solid #758c60;
  background: linear-gradient(145deg, #596f49, #35442e);
  color: #e4edcf;
  font: 37px Georgia, serif;
}
.rival-profile h2 { margin: 0; font-size: 18px; text-align: start; overflow-wrap: anywhere; }
.rival-profile p { margin: 4px 0 0; color: #c4c3b7; font-size: 12px; line-height: 1.4; }
#aiDifficulty { padding: 0 16px 14px; }
.opponent-panel :is(#onlineMatchActions, #matchClocks) { margin: 12px 16px; }
.game-panel .difficulty-options { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; margin-top: 10px; }
.game-panel .difficulty-options button { min-height: 28px; padding: 2px; font-size: 11px; font-variant-numeric: tabular-nums; }
.game-panel .panel-tabs { padding: 5px; gap: 3px; background: #1f201e; }
.game-panel .panel-tabs button { flex: 1; padding: 8px 4px; border: 0; border-radius: 5px; font-size: 12px; }
.game-panel .panel-tabs .selected { color: #f1f3f5; background: #42474a; box-shadow: inset 0 -2px #91bedc; }
.game-panel .history-head { font-size: 10px; color: #c5c5bc; }
.game-panel .history-footer { font-size: 11px; background: #20211f; }
.game-panel .rival-cards > p { margin: 12px 16px 8px; font-size: 12px; }
.game-panel .opponent-hand { margin: 0 16px 14px; }
@media (min-width: 681px) and (max-width: 1000px) {
  .game-panel { align-items: start; }
  .game-panel > .panel { margin: 0; }
}
@media (max-width: 680px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  #toast { bottom: calc(80px + env(safe-area-inset-bottom)); }
  .sidebar nav { margin: 0; max-height: none; overflow: visible; }
  .sidebar nav > .nav-group { display: contents; }
  .sidebar nav > .nav-group .rail-label { display: none; }
  .sidebar .nav, #moreNav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    min-height: 49px;
    margin: 0;
    padding: 4px 1px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 6px;
    color: #e7e5da;
  }
  .sidebar .nav.active, #moreNav.current-group, #moreNav[aria-expanded="true"] {
    background: #383e31;
    box-shadow: inset 0 2px #a6cd73;
  }
  #moreDestinations {
    display: none;
    position: absolute;
    bottom: calc(100% + 5px);
    right: max(7px, env(safe-area-inset-right));
    width: min(270px, 94vw);
    max-height: 65dvh;
    overflow-y: auto;
    border: 1px solid #55564b;
    border-radius: 12px;
    padding: 0 10px;
    background: #262724;
    box-shadow: 0 8px 30px #0008;
  }
  #moreNav[aria-expanded="true"] + #moreDestinations { display: block; }
  #moreDestinations .nav { flex-direction: row; justify-content: start; gap: 14px; padding: 9px 12px; min-height: 44px; font-size: 14px; }
  .game-panel > .panel { margin: 0; }
  .game-panel .difficulty-options { grid-template-columns: repeat(3, 1fr); }
  .game-panel .difficulty-options button, .game-panel .panel-tabs button { min-height: 44px; }
}

.friend-formats { margin: 28px 0; }
.format-tiles, .draft-offers { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.format-tiles article, .format-desk { border: 1px solid #60566e; border-radius: 10px; padding: 20px; background: #302c35; }
.format-tiles article + article { border-color: #696345; background: #323127; }
.format-tiles small { color: #ddc8fb; font-weight: 750; letter-spacing: 1px; }
.format-tiles article + article small { color: #e6d396; }
.format-tiles p,.format-desk p,.format-desk li { color: #dbd8cf; line-height: 1.5; }
.format-tiles h3,.format-desk h2 { margin: 10px 0; }
.format-desk { margin: 12px 0 20px; }
.format-desk[hidden],.room-settings[hidden],.choosing-format .arena-layout { display: none; }
.draft-offers { grid-template-columns: repeat(3,minmax(0,1fr)); }
.draft-card { padding: 16px; border: 1px solid var(--rarity); background: linear-gradient(140deg,var(--rarity-wash),#29262d); border-radius: 9px; text-align: left; display: grid; align-content: start; gap: 8px; }
.draft-card small { color: var(--rarity); text-transform: uppercase; }
.draft-card span { line-height: 1.5; }
.round-options { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.forfeit-format { margin-top: 12px; }
@media (max-width: 680px) { .format-tiles,.draft-offers { grid-template-columns: 1fr; } .draft-card { padding: 12px; } }

.deck-storage { padding: 20px; margin: 16px 0; }
.deck-storage h2 { margin: 7px 0; overflow-wrap: anywhere; }
.deck-storage p { line-height: 1.5; overflow-wrap: anywhere; }
.slot-controls, .slot-actions, .shared-cards { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.slot-controls label { flex: 1 1 180px; min-width: 0; }
.deck-storage label { display: grid; gap: 6px; font-size: 13px; }
.deck-storage :is(input,select) { width: 100%; min-width: 0; min-height: 44px; font: inherit; }
.deck-storage [hidden],.deck-storage[hidden] { display: none; }
#deckLinkBox { margin-top: 14px; }
.shared-cards span { cursor: default; }
