@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/manrope-400-v20.woff?v=20c2fae84b26ec99') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/manrope-500-v20.woff?v=2505bf599312e2cf') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/manrope-600-v20.woff?v=6c46d5e6c8fc9723') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/manrope-700-v20.woff?v=de39ad54689972f1') format('woff')}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/manrope-800-v20.woff?v=8876e50d38d711b2') format('woff')}
:root{color-scheme:dark;--bg:#0c111b;--panel:#131c29;--panel2:#182334;--line:#253346;--muted:#91a1b7;--text:#ecf0f5;--gold:#ddb976;--light:#b7c7d7;--dark:#385369;--board-edge:#8d764e}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 55% 15%,#18283b55,transparent 60%),var(--bg);color:var(--text);font:16px Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button{transition:background .16s,border-color .16s,transform .16s}button:hover:not(:disabled){filter:brightness(1.15)}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--gold);text-decoration:none}[hidden]{display:none!important}.header{min-height:94px;display:flex;align-items:center;padding:0 3.5%;border-bottom:1px solid var(--line);gap:42px;background:#0c111bdd}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;color:#fff}.brand>span{font:47px Georgia;color:var(--gold)}.brand>div{font-size:20px;letter-spacing:2px;font-weight:400}.brand b{font-weight:800;color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:4.5px;color:var(--muted);margin-top:5px}.header nav{display:flex;align-self:stretch;gap:28px;align-items:center}.header nav a{font-size:14px;color:#9cabc0;height:100%;display:flex;align-items:center;border-bottom:2px solid transparent;white-space:nowrap}.header nav a.active{border-color:var(--gold);color:var(--gold)}.account{margin-left:auto;border:1px solid #685c42;border-radius:6px;font-size:13px;padding:10px 16px;white-space:nowrap}.page-heading{max-width:1580px;margin:30px auto 27px;padding:0 3.5%;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:11px;color:var(--gold);letter-spacing:2.2px;font-weight:700}h1{font-size:30px;font-weight:500;letter-spacing:-1px;margin:9px 0 0}h1 span{color:var(--gold)}h2{font-size:19px;font-weight:600;line-height:1.5;margin:0 0 17px}h3{font-size:18px;font-weight:600;margin:30px 0 18px}p{line-height:1.7}.muted{color:var(--muted);font-size:14px}.subtle{font-size:12px;line-height:1.7;color:var(--muted)}main{max-width:1580px;margin:auto;padding:0 3.5%}.workspace{display:grid;grid-template-columns:240px minmax(340px,640px) minmax(245px,300px);gap:28px;justify-content:center}.left-panel{padding-top:4px}.left-panel h2{font-size:17px}.mode-list{display:grid;gap:9px}.mode{display:flex;align-items:center;gap:13px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;text-align:left;padding:13px 11px;width:100%}.mode>span{font:26px Georgia;color:#91a5bb;width:35px;flex-shrink:0;letter-spacing:-4px}.mode strong{font-size:14px;font-weight:600}.mode small{font-size:11px;display:block;color:var(--muted);margin-top:4px;line-height:1.5}.mode.active{background:linear-gradient(110deg,#75603930,#192536);border-color:#95805a}.mode.active>span{color:var(--gold)}.fields{margin-top:23px}label{display:block;color:#a9b7c9;font-size:13px;margin:14px 0 7px}input,select,textarea{background:#101925;border:1px solid #314158;border-radius:5px;color:var(--text);padding:11px 12px;min-width:0;width:100%;font-size:14px}select{height:43px}textarea{resize:vertical;font:13px/1.65 monospace}.checkbox{display:flex;gap:9px;align-items:center;font-size:12px;margin:14px 0}.checkbox input{width:15px;height:15px;accent-color:var(--gold)}.primary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:linear-gradient(110deg,#e3c28a,#caa161);color:#1d1b17;border:1px solid #e3c28a;border-radius:5px;padding:13px 15px;font-size:14px;font-weight:700;margin-top:17px;box-shadow:0 3px 13px #0002}.primary span{font-size:20px}.secondary{border:1px solid #34465d;border-radius:5px;background:#162131;color:#cad6e4;padding:11px 12px;font-size:13px}.quiet{background:none;border:0;color:var(--muted);font-size:13px;padding:10px}.full{width:100%;margin-top:12px}.divider{border-top:1px solid var(--line);margin:20px 0}.style-peek{margin-top:25px;border-top:1px solid var(--line);padding-top:19px}.style-peek>span{font-size:10px;letter-spacing:2px;color:#8f9fb4}.style-peek>div{display:flex;align-items:center;gap:10px}.style-peek img{height:75px;width:45px;object-fit:contain}.style-peek strong{display:block;font-size:12px;color:#d6c39e}.style-peek small{font-size:10px;color:var(--muted);display:block;line-height:1.5;margin-top:5px}.style-peek button{background:none;border:0;color:var(--gold);font-size:12px;padding:3px 0}.player-strip{display:flex;align-items:center;gap:12px;height:48px;margin:0 0 15px}.player-avatar{width:41px;height:41px;background:#1b2738;border:1px solid #38465a;border-radius:7px;display:grid;place-items:center;font:31px Georgia;color:#a7b9ce}.player-avatar.light{color:var(--gold);background:#302a21;border-color:#65543a}.player-info{flex:1;min-width:0}.player-info strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-info span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.clock{font-size:25px;font-variant-numeric:tabular-nums;letter-spacing:1px;padding:7px 13px;background:#172235;border:1px solid #2b3b51;border-radius:5px;color:#a9b9ce;min-width:99px;text-align:center}.clock.active{background:#dfbd81;color:#241f16;border-color:#edcc98;box-shadow:0 0 22px #d8ac5222}.clock.low{color:#ff917e}.board-frame{padding:9px;background:linear-gradient(135deg,#1e2b3d,#0c141f);border:1px solid var(--board-edge);border-radius:4px;box-shadow:0 20px 60px #0005,0 0 0 4px #080e17}#board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;overflow:hidden}.square{position:relative;aspect-ratio:1;min-width:0;min-height:0;overflow:hidden;background:var(--light);border:0;border-radius:0;padding:0;display:grid;place-items:center;isolation:isolate}.square.dark{background:var(--dark)}.square:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(140deg,#fff1,transparent 40%,#0001);z-index:-1}.square img{position:absolute;inset:0;margin:auto;display:block;height:94%;width:94%;max-height:100%;max-width:100%;object-fit:contain;z-index:1;pointer-events:none;filter:drop-shadow(0 2px 2px #0006)}.square img.royal{inset:auto;margin:0;max-width:none;max-height:none;object-fit:fill;transform:none}.square img.neon{filter:drop-shadow(0 0 3px #48e4fb) sepia(.25) saturate(1.7)}.square.last{box-shadow:inset 0 0 0 999px #ddbc4833}.square.selected{box-shadow:inset 0 0 0 999px #edc55388}.square.legal:after{content:'';position:absolute;width:22%;height:22%;background:#0c28354d;border-radius:50%;z-index:3;pointer-events:none}.square.legal:has(img):after{width:85%;height:85%;background:none;border:4px solid #eac777aa}.square.check{background:#b25d5d}.square.best{box-shadow:inset 0 0 0 4px #53d9d2}.coordinate{position:absolute;z-index:4;font-size:10px;line-height:1;font-weight:800;color:#193c54;pointer-events:none}.dark .coordinate{color:#d2e2f0}.rank{top:4px;left:4px}.file{right:4px;bottom:4px}.bottom{margin-top:15px;margin-bottom:12px}.board-tools{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;gap:8px}.board-tools button{background:none;border:0;color:#9cadc2;font-size:20px;padding:5px 2px}.board-tools span{font-size:11px;margin-left:3px}.board-message{font-size:12px;color:var(--muted);text-align:center;line-height:1.6;margin-top:10px;min-height:20px}.status-card{background:linear-gradient(120deg,#172538,#111b2a);border:1px solid #2c3d53;border-radius:8px;padding:21px}.status-card h2{margin:11px 0 8px;font-size:24px;line-height:1.3;font-weight:500}.status-card>p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.connection{font-size:12px;color:#88c7c1;margin:16px 0 5px}.connection.error{color:#f2ac8d}.link-row{display:flex}.link-row input{font-size:11px;border-radius:4px 0 0 4px}.link-row button{background:#293a4e;border:1px solid #40516b;color:var(--gold);border-radius:0 4px 4px 0;padding:8px 10px}.notation{margin-top:18px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#111a27}.section-title{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.section-title h2{font-size:14px;margin:0}.section-title>span{font-size:12px;color:var(--muted)}#moves{height:220px;overflow:auto;scrollbar-width:thin}.empty{text-align:center;color:var(--muted);padding:36px 12px;font-size:13px}.empty>span{font:46px Georgia;color:#455970;display:block;margin-bottom:15px}.move-row{display:grid;grid-template-columns:34px 1fr 1fr;min-height:34px;align-items:center}.move-row:nth-child(even){background:#192333}.move-row>span{font-size:12px;color:#697e98;text-align:center}.move-row button{border:0;background:none;color:#d4dfea;text-align:left;padding:9px;font-size:14px}.move-row button.current{background:#d8b77c26;color:var(--gold)}.history-controls{display:flex;border-top:1px solid var(--line)}.history-controls button{background:none;border:0;color:#a9bbce;font-size:23px;width:25%;padding:6px}.game-actions{display:flex;gap:10px;margin-top:16px}.game-actions button{width:50%}.export-actions{display:flex;justify-content:space-between;margin-top:12px}.export-actions button{border:0;background:none;color:#9fb0c6;font-size:12px;padding:9px 0}.material{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.material>span{font-size:11px;color:#7387a0;letter-spacing:1px}.material>div{color:#c5d2e1;font:22px Georgia;margin-top:9px;min-height:27px;overflow-wrap:anywhere}.lobby{margin-top:42px;border-top:1px solid var(--line);padding-top:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2{margin:7px 0 0;font-size:22px}.challenge-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.challenge-list>.empty-panel{grid-column:1/-1}.empty-panel{border:1px dashed #324258;padding:26px;color:var(--muted);border-radius:7px;line-height:1.8;font-size:14px;background:#121b2766}.challenge{background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:15px}.challenge>span{font:30px Georgia;color:var(--gold)}.challenge>div{flex:1}.challenge strong{font-size:14px;display:block}.challenge small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.challenge button{width:auto;margin:0;padding:10px;font-size:12px}.studio-heading{display:flex;justify-content:space-between;gap:30px;align-items:center}.studio-heading h2{font-size:30px;margin:12px 0}.studio-heading .primary{width:auto;white-space:nowrap}.piece-sets{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}.set-card,.theme-card{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:left;padding:0}.set-card.selected,.theme-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px #d8b77c55}.set-preview{height:220px;display:flex;align-items:end;justify-content:center;gap:9px;padding:28px;background:radial-gradient(ellipse at bottom,#203f59,#111b2a 75%)}.set-preview img{height:100%;width:28%;object-fit:contain;filter:drop-shadow(0 6px 4px #0006)}.set-preview.classic img{height:65%;width:33%}.set-preview.neon img{filter:drop-shadow(0 0 5px #31d7eb) sepia(.3) saturate(2)}.card-copy{padding:17px 19px}.card-copy strong{font-size:16px;display:block}.card-copy span{color:var(--muted);font-size:12px;display:block;margin-top:7px}.board-themes{display:grid;grid-template-columns:repeat(6,1fr);gap:17px}.mini-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;margin:14px;border:2px solid var(--board-edge)}.mini-board i{background:var(--light)}.mini-board i.dark{background:var(--dark)}.theme-card .card-copy{padding:0 14px 16px}.theme-card strong{font-size:13px}.theme-card.selected strong:after,.set-card.selected strong:after{content:' ✓';color:var(--gold)}.archive-row{display:flex;gap:18px;align-items:center;padding:21px;background:var(--panel);border:1px solid var(--line);border-radius:7px;margin:12px 0}.archive-row>span{font:32px Georgia;color:var(--gold)}.archive-row>div{flex:1}.archive-row strong{font-size:15px}.archive-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.archive-row button{width:auto;margin:0}.progress-number{display:flex;align-items:baseline;gap:10px;margin:20px 0}.progress-number>strong{font-size:45px;color:var(--gold);font-weight:500}.progress-number>span{font-size:13px;color:var(--muted)}.puzzle-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.puzzle-list button{background:#162237;border:1px solid #30435e;color:#aabcce;border-radius:5px;padding:11px 5px;font-size:14px}.puzzle-list button.active{border-color:var(--gold);color:var(--gold)}.puzzle-list button.solved{background:#183b3b;color:#9ed3c3;border-color:#3c7065}.evaluation{padding:18px;background:var(--panel);font-size:14px;line-height:1.8;color:var(--gold);border-radius:5px}footer{margin:40px 3.5% 0;padding:22px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#6f849e;font-size:11px;gap:15px}footer b{color:#ab946a}footer i{font-style:normal;margin:0 15px;font-size:24px}footer button{border:0;background:none;color:#96a8bf;font-size:12px}dialog{background:#162234;color:var(--text);border:1px solid #6e624a;border-radius:12px;max-width:550px;width:92%;padding:30px;line-height:1.7}dialog::backdrop{background:#03070dbb;backdrop-filter:blur(6px)}dialog p{color:#9eafc3;font-size:14px}.close{float:right;border:0;background:none;color:#aabcce;font-size:28px}#promotionOptions{display:flex;gap:10px}#promotionOptions button{width:25%;height:120px;border:1px solid #596473;border-radius:6px;background:#31445a}#promotionOptions img{width:100%;height:100%;object-fit:contain}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:14px 22px;border:1px solid #b69964;background:#273547;color:#f2d29a;box-shadow:0 6px 35px #0008;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .2s;font-size:14px;max-width:90vw;z-index:10}#toast.visible{opacity:1}@media(min-width:1600px){.workspace{grid-template-columns:255px minmax(340px,650px) 300px;gap:34px}}@media(max-width:1150px){.header{gap:22px}.header nav{gap:17px}.brand>div{font-size:16px}.brand small{font-size:8px;letter-spacing:3px}.workspace{grid-template-columns:200px minmax(320px,1fr);gap:23px}.right-panel{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:15px}.status-card{grid-column:1}.notation{grid-column:2;grid-row:1/4;margin:0}.game-actions,.export-actions{margin:0}.material{grid-column:1/-1;margin:0}.left-panel{grid-row:1/3}.board-themes{grid-template-columns:repeat(3,1fr)}.challenge-list{grid-template-columns:1fr 1fr}.page-heading h1{font-size:26px}.account{font-size:12px;padding:8px}.piece-sets{grid-template-columns:1fr 1fr}.set-card:first-child{grid-column:1/-1}.set-preview{height:230px}}@media(max-width:750px){.header{padding:12px 16px;min-height:74px;flex-wrap:wrap;gap:12px}.brand>span{font-size:36px}.brand>div{font-size:16px}.header nav{order:3;width:100%;overflow-x:auto;gap:25px;height:41px}.header nav a{font-size:13px}.account{margin-left:auto}.page-heading{margin:24px 0 20px;padding:0 16px}.page-heading h1{font-size:24px}.eyebrow{font-size:9px;letter-spacing:1.4px}.page-heading>.quiet{display:none}main{padding:0 13px}.workspace{display:flex;flex-direction:column;gap:24px}.board-column{order:0;width:100%}.left-panel{order:1}.right-panel{order:2;display:block}.left-panel h2{font-size:19px}.mode-list{grid-template-columns:1fr 1fr 1fr;gap:7px}.mode{display:block;text-align:center;padding:12px 6px}.mode>span{font-size:25px}.mode strong{font-size:12px;display:block;margin-top:5px}.mode small{display:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 13px;margin-top:18px}.fields>label{align-self:center;margin:0}.fields>input,.fields>select{align-self:center}.fields>div,.fields>.primary{grid-column:1/-1}.fields>div label{margin-top:4px}.style-peek{display:none}.board-frame{padding:5px}.board-tools span{font-size:10px}.board-tools{gap:4px}.clock{font-size:23px}.status-card{padding:18px}.notation{margin-top:16px}.game-actions{margin-top:15px}.export-actions{margin-top:10px}.material{margin-top:10px}.lobby{margin-top:28px}.challenge-list{grid-template-columns:1fr}.section-heading h2{font-size:20px}.studio-heading{display:block}.studio-heading h2{font-size:25px}.studio-heading .primary{width:100%;margin-bottom:25px}.piece-sets{gap:12px}.set-preview{height:170px;padding:20px 12px;gap:3px}.set-card:first-child .set-preview{height:250px}.card-copy{padding:13px}.card-copy strong{font-size:14px}.board-themes{grid-template-columns:repeat(2,1fr);gap:12px}.archive-row{flex-wrap:wrap;padding:16px}.archive-row button{width:100%}.archive-row>div{min-width:200px}footer{flex-wrap:wrap;margin-top:30px}footer>span:last-child{display:none}.player-strip{height:43px}.coordinate{font-size:9px}}
/* Readable control labels at desktop and mobile sizes. */
label,.mode strong,.secondary,.quiet,.header nav a{font-size:14px}.mode small,.style-peek small,.board-tools span,.export-actions button,.subtle,.checkbox,.theme-card strong{font-size:12px}.fields .primary{font-size:14px}.style-peek strong{font-size:13px}@media(max-width:750px){.mode strong{font-size:12px}.board-tools span{font-size:11px}.header nav a{font-size:14px}}

#onlineCups{display:grid;gap:18px;margin:24px 0}#onlineCups .league-paging{flex-wrap:wrap}.cup-personal{border:1px solid var(--gold);border-radius:16px;padding:22px;background:#17253a}.cup-personal h3{margin-top:0}#cupCreateForm{display:grid;gap:14px}#cupCreateForm label{display:grid;gap:8px}#onlineCups .standings td a{background:none;border:0;padding:0}#onlineCups .cup-rounds article{padding:16px;border:1px solid #33445b;border-radius:12px}.tournament-banner button{margin:6px}
#onlineCups .league-paging{display:flex;gap:12px;align-items:center}#onlineCups .league-paging button{width:auto;margin:0}#onlineCups .league-paging input{width:min(260px,100%)}#onlineCups .standings-scroll{max-width:100%;overflow-x:auto}#onlineCups .standings{width:100%;min-width:550px}#onlineCups .cup-rounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}#onlineCups>p{margin:0}#onlineCups .section-heading{flex-wrap:wrap;gap:12px}
.ruby-checkout{border:1px solid #c5a66d;border-radius:20px;color:#f7eee1;background:#101b2c;max-width:min(460px,calc(100vw - 28px));box-shadow:0 28px 80px #000b;padding:0}.ruby-checkout::backdrop{background:#030910bd;backdrop-filter:blur(5px)}.ruby-checkout-card{padding:28px;position:relative}.ruby-checkout h2{font-size:clamp(1.5rem,4vw,2.2rem);margin:.5rem 0}.ruby-checkout p{line-height:1.55}.ruby-checkout .ruby-close{position:absolute;right:12px;top:10px;font-size:1.7rem}.ruby-paypal{min-height:48px;margin-top:22px}.ruby-guest-note{font-size:.84rem}

/* Visible during lazy Academy startup, before academy.css has arrived. */
.content-loading{min-height:240px;margin:20px 0;padding:clamp(24px,5vw,56px);display:flex;flex-direction:column;justify-content:center;gap:24px;border:1px solid #34465b;border-radius:14px;background:linear-gradient(120deg,#122238,#101a27);color:#edf3fb;box-sizing:border-box}
.content-loading-status{display:flex;align-items:center;gap:20px;min-width:0}
.content-loading-spinner{flex:none;width:32px;height:32px;border:3px solid #c8aa6c33;border-top-color:#e2c487;border-radius:50%;animation:content-loading-spin 1s linear infinite}
.content-loading strong{display:block;font-size:20px;line-height:1.4;color:#eed5a1}
.content-loading p{margin:8px 0 0!important;font-size:15px;line-height:1.6;color:#b6c6d9;overflow-wrap:anywhere}
.content-loading .secondary{align-self:flex-start;min-height:48px;padding:12px 20px}
@keyframes content-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.content-loading-spinner{animation:none}}
@media(max-width:480px){.content-loading{min-height:210px}.content-loading-status{gap:14px}.content-loading-spinner{width:26px;height:26px}}

.beta-quick-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:14px}.language-toggle{max-width:160px;font-size:14px}.beta-diagnostics{width:min(850px,94vw);max-height:85vh;overflow:auto}.beta-diagnostics p{overflow-wrap:anywhere}.auth-dialog textarea{width:100%;box-sizing:border-box}.notation,.clock,.standings,.history-controls{font-family:Manrope,Arial,sans-serif}#worldPuzzleControls,#puzzleFeedback{overflow-wrap:anywhere}

.crawl-intro{margin:24px auto;max-width:1000px;padding:24px}.crawl-intro nav{display:flex;flex-wrap:wrap;gap:18px}

:root{--world-accent:#77cce9;--world-glow:#194961;--scene-bg:radial-gradient(ellipse at 20% 0%,#27608055,transparent 65%),linear-gradient(140deg,#112131,#0a1320)}
body{background:radial-gradient(ellipse at 0 0,var(--world-glow),transparent 55%),#080e17}.header{background:#080e17dd}.brand>div{letter-spacing:1.5px;font-size:18px}.brand small{letter-spacing:4px}.header nav{gap:22px}.page-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:35px;letter-spacing:-.5px}.world-home{display:grid;grid-template-columns:minmax(360px,1.7fr) minmax(280px,1fr);gap:26px}.arena-scene{background:var(--scene-bg);border:1px solid #ffffff20;border-radius:12px;position:relative;isolation:isolate;overflow:hidden}.home-arena{padding:25px 32px 14px;box-shadow:inset 0 0 80px #0005,0 24px 70px #0004}.world-overline,.arena-caption,.replay-topline{display:flex;align-items:center;justify-content:space-between;gap:15px}.owner-tag{font-size:12px;color:#bed0e3;padding:6px 12px;background:#07121e88;border:1px solid #ffffff22;border-radius:20px}.world-hero-copy h2{font-family:Georgia,serif;font-size:36px;letter-spacing:.5px;font-weight:400;margin:14px 0 4px}.world-hero-copy p{font-size:13px;color:#b1c0d3;margin:0}.home-board-stage{max-width:440px;margin:26px auto 19px;transform:perspective(1500px) rotateX(7deg);transform-origin:50% 100%;filter:drop-shadow(0 15px 17px #0007)}.preview-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1;max-width:100%;overflow:hidden;border:5px solid #1c2636;outline:1px solid var(--board-edge);box-shadow:0 12px 40px #0005}.preview-cell{position:relative;overflow:hidden;background:var(--light);min-width:0;min-height:0}.preview-cell.dark{background:var(--dark)}.preview-cell img{position:absolute;inset:0;width:94%;height:94%;margin:auto;object-fit:contain;filter:drop-shadow(0 2px 2px #0006)}.preview-cell img.royal{inset:auto;max-width:none;max-height:none;object-fit:fill;margin:0}.preview-cell img.neon{filter:drop-shadow(0 0 4px #42e5fd)}.preview-cell.last{box-shadow:inset 0 0 0 99px #ddbd5344}.preview-cell.check{background:#a74c59}.arena-caption{border-top:1px solid #ffffff16;padding-top:10px;font-size:12px;color:#c3b18d}.home-actions{padding:25px 26px;border:1px solid var(--line);background:linear-gradient(150deg,#152235dd,#0e1725dd);border-radius:12px}.home-actions>h2{font:32px/1.3 Georgia,serif;margin:15px 0 26px}.home-actions>.primary{padding:17px 18px}.home-shortcuts{display:grid;gap:12px}.home-shortcuts button{text-align:left;background:#101c2b;border:1px solid #2c3d51;border-radius:7px;padding:15px;color:#e5edf6;display:grid;grid-template-columns:33px 1fr;gap:4px 8px}.home-shortcuts button>span{grid-row:1/3;font-size:29px;color:var(--world-accent)}.home-shortcuts strong{font-size:14px;font-weight:500}.home-shortcuts small{font-size:12px;color:var(--muted)}.profile-summary{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.profile-summary>span{font-size:10px;letter-spacing:1.7px;color:var(--gold)}.profile-summary strong{display:block;font-size:15px;margin-top:10px;font-weight:500}.profile-summary button{padding-left:0}.world-selector,.home-stories{grid-column:1/-1}.world-selector{margin-top:7px}.section-heading a{font-size:13px}.world-chips{display:flex;gap:10px;flex-wrap:wrap}.world-chip{background:#131f2d;border:1px solid #344254;border-radius:28px;color:#b5c2d3;padding:11px 17px;font-size:13px}.world-chip.active{border-color:var(--world-accent);color:var(--world-accent);background:#20374a}.world-editor{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.8fr);gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:20px}.world-editor>section:first-child{padding:22px;background:var(--panel);border-radius:9px}.world-editor h3{margin:12px 0 20px}.editor-preview{display:grid;grid-template-columns:minmax(210px,1fr) minmax(150px,.65fr);gap:22px;align-items:center;padding:25px}.editor-options label{font-size:12px;line-height:1.5}.editor-options select{font-size:12px}.world-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.world-card{position:relative;overflow:hidden;background:var(--card-bg);border:1px solid #344359;border-radius:9px;padding:21px;color:#e9eff5;text-align:left;min-height:210px;display:flex;flex-direction:column;justify-content:end}.world-card img{height:150px;width:90px;object-fit:contain;position:absolute;right:10px;top:10px;opacity:.78;filter:drop-shadow(0 5px 5px #0008)}.world-card strong,.world-card span,.world-card small{position:relative;z-index:1}.world-card strong{font:23px Georgia,serif;text-shadow:0 2px 5px #000}.world-card span{font-size:12px;color:#c1cfdf;margin-top:6px}.world-card small{font-size:10px;letter-spacing:1.3px;color:var(--card-accent);margin-bottom:auto}.world-card.active{border-color:var(--card-accent);box-shadow:inset 0 0 0 1px var(--card-accent)}.free-tag{font:12px Manrope,Arial,sans-serif;color:#91c6b6;margin-left:12px}.arena-match-label{text-align:center;font-size:12px;color:var(--world-accent);padding-top:8px}.board-column{padding:16px;background:var(--scene-bg);border-radius:10px;border:1px solid #ffffff15}.workspace{grid-template-columns:235px minmax(340px,650px) minmax(235px,290px);gap:22px}.finished-replay{padding:17px;border:1px solid var(--world-accent);background:#19354577;border-radius:7px;margin-top:15px}.finished-replay strong{font-size:14px;display:block;margin-bottom:8px}.finished-replay a{font-size:14px}.replay-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.replay-list>.empty-panel{grid-column:1/-1}.story-card{border:1px solid #31435c;border-radius:9px;background:var(--panel);padding:18px;display:flex;flex-direction:column;gap:12px}.story-card h3{font-size:16px;margin:0}.story-card p{font-size:12px;color:var(--muted);margin:0}.story-card a{font-size:14px}.replay-layout{display:grid;grid-template-columns:minmax(350px,710px) minmax(260px,340px);gap:35px;justify-content:center}.replay-stage{padding:25px}.replay-stage h2{margin:17px 0 22px;font:25px Georgia,serif}.replay-stage>.preview-board{max-width:570px;margin:auto}.replay-step{display:flex;justify-content:space-between;align-items:center;margin:20px 0 13px;font-size:14px;color:var(--gold)}.replay-step>span{font-size:12px;color:#a3b6cc}.replay-transport{display:flex;gap:8px;justify-content:center}.replay-transport button{border:1px solid #3a4b63;color:#d8e2ed;background:#132337;border-radius:6px;padding:10px 17px;font-size:18px}.replay-transport #replayAuto{font-size:14px;min-width:145px;color:var(--gold)}#replaySeek{accent-color:var(--gold);padding:0;margin:17px 0 0}.replay-sidebar{padding:20px 0}.replay-sidebar>h2{font:32px Georgia,serif;margin:15px 0}.moments{display:grid;gap:8px;max-height:400px;overflow:auto}.moments button{color:#c7d5e5;background:#162337;border:1px solid #2c4058;border-radius:5px;padding:12px;text-align:left;font-size:13px}.moments button.active{border-color:var(--gold);color:var(--gold)}.replay-layout.portrait{grid-template-columns:minmax(280px,430px) minmax(260px,340px)}.replay-layout.portrait .replay-stage{min-height:740px;display:flex;flex-direction:column;justify-content:center}.replay-layout.portrait .preview-board{width:100%}.player-profile{max-width:650px;margin:auto;padding:30px;background:var(--scene-bg);border:1px solid #384557;border-radius:12px}.player-profile h2{font:34px Georgia,serif;margin:15px 0}.player-profile .preview-board{max-width:380px;margin:25px auto}.player-profile .primary{max-width:380px;margin:25px auto 0}.challenge-invite{padding:18px;border:1px solid #b99b63;border-radius:7px;margin-bottom:15px;background:#352b2044}.focus-mode .header,.focus-mode .page-heading,.focus-mode .left-panel,.focus-mode #lobby,.focus-mode footer,.focus-mode .right-panel .material,.focus-mode .right-panel .export-actions{display:none!important}.focus-mode main{padding-top:18px}.focus-mode .workspace{grid-template-columns:minmax(400px,78vh) 280px}.focus-mode .board-column{padding:10px}.fx-move{animation:move-glow .6s ease-out}.fx-capture{animation:capture-glow .8s ease-out}.fx-check{animation:check-glow 1s ease-out}.fx-mate{animation:mate-glow 1.6s ease-out}.fx-preview{animation:capture-glow .8s ease-out}.effects-off .fx-move,.effects-off .fx-capture,.effects-off .fx-check,.effects-off .fx-mate{animation:none}@keyframes move-glow{0%{box-shadow:inset 0 0 0 5px var(--fx-color,var(--world-accent))}100%{box-shadow:inset 0 0 0 0 transparent}}@keyframes capture-glow{0%{box-shadow:inset 0 0 0 7px var(--fx-color,var(--world-accent));filter:brightness(1.5)}100%{box-shadow:inset 0 0 0 0 transparent;filter:brightness(1)}}@keyframes check-glow{0%,50%{box-shadow:inset 0 0 25px #ff647ccc}100%{box-shadow:inset 0 0 0 transparent}}@keyframes mate-glow{0%,50%{box-shadow:0 0 35px var(--fx-color,var(--world-accent));filter:brightness(1.12)}100%{filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.fx-move,.fx-capture,.fx-check,.fx-mate,.fx-preview{animation:none!important}.home-board-stage{transform:none}}@media(max-width:1150px){.workspace{grid-template-columns:200px minmax(320px,1fr)}.header nav{gap:14px}.brand>div{font-size:15px}.world-cards{grid-template-columns:repeat(3,1fr)}.editor-preview{grid-template-columns:1fr}.editor-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-arena{padding:23px}.home-actions{padding:23px}.world-editor{grid-template-columns:1fr 1.5fr}.replay-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.world-home,.world-editor,.replay-layout,.replay-layout.portrait{display:flex;flex-direction:column}.home-arena{padding:18px}.world-hero-copy h2{font-size:30px}.home-board-stage{max-width:350px;margin:22px auto}.home-actions h2{font-size:27px}.world-cards{grid-template-columns:1fr 1fr;gap:10px}.world-card{padding:15px;min-height:200px}.world-card strong{font-size:21px}.world-card img{height:140px;width:80px;right:0}.world-card span{font-size:11px}.editor-preview{padding:20px}.editor-options{display:block}.world-chips{gap:8px}.world-chip{padding:10px 12px;font-size:12px}.replay-list{grid-template-columns:1fr}.board-column{padding:8px}.workspace{display:flex}.page-heading h1{font-size:27px}.arena-caption{font-size:10px}.arena-caption button{font-size:11px}.free-tag{display:block;margin:8px 0}.replay-stage{padding:16px}.replay-stage h2{font-size:22px}.replay-transport{gap:5px}.replay-transport button{padding:9px 13px}.replay-layout.portrait .replay-stage{min-height:640px}.focus-mode .workspace{display:flex}.focus-mode .right-panel{display:block}.player-profile{padding:20px}.header nav{gap:20px}}
.fx-capture::after{content:'';position:absolute;inset:8%;border:3px solid var(--fx-color);border-radius:50%;pointer-events:none;z-index:5;animation:impact-ring .75s ease-out forwards}body[data-effect="rune"] .fx-capture::after{border-radius:0;transform:rotate(45deg);inset:17%;animation:rune-impact .8s ease-out forwards}body[data-effect="crystal"] .fx-capture::after{border-radius:0;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}body[data-effect="ember"] .fx-capture::after{border-style:dashed;box-shadow:0 0 13px #ff6739}body[data-effect="pulse"] .fx-capture::after{box-shadow:0 0 8px #e798ff,inset 0 0 8px #e798ff}@keyframes impact-ring{0%{scale:.3;opacity:1}100%{scale:1.4;opacity:0}}@keyframes rune-impact{0%{rotate:0deg;scale:.4;opacity:1}100%{rotate:90deg;scale:1.4;opacity:0}}@media(prefers-reduced-motion:reduce){.fx-capture::after{display:none}}

/* Product surfaces share one catalog, one board renderer, and one game flow. */
:root{--radius:14px;--muted:#a5b4c8}body{font-size:16px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--world-accent);outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:default}a{overflow-wrap:anywhere}input,select,textarea{font-size:16px;min-width:0}label,.quiet,.secondary,.subtle{font-size:14px}.eyebrow{font-size:12px;line-height:1.5}.muted{line-height:1.6}.header{min-height:82px;padding:0 4%;gap:40px;border-bottom:1px solid #ffffff12;backdrop-filter:blur(18px)}.header nav{gap:30px;justify-content:center;flex:1}.header nav a{padding:27px 0;font-size:15px}.header nav a.active{color:#f0d29a;border-bottom:2px solid var(--gold)}.brand{flex-shrink:0}.brand>div{font-size:18px}.brand small{font-size:9px}.user-menu{position:relative;margin-left:auto;z-index:12}.user-menu summary{list-style:none;cursor:pointer;width:43px;height:43px;display:grid;place-items:center;border:1px solid #84704b;border-radius:50%;background:#29251e;font-size:29px;color:var(--gold)}.user-menu summary::-webkit-details-marker{display:none}.user-menu>div{position:absolute;top:56px;right:0;width:240px;display:grid;padding:10px;background:#142033;border:1px solid #3b4b62;border-radius:10px;box-shadow:0 20px 50px #0008}.user-menu a,.user-menu button{border:0;background:none;color:#d7e1ed;font-size:14px;text-align:left;padding:12px;border-radius:5px}.user-menu a:hover,.user-menu button:hover{background:#23364b}.user-menu .account{margin:0}.page-heading{max-width:1400px;margin:30px auto 24px;padding:0 30px}.page-heading h1{font-size:30px}.page-heading #quickStyle{display:none}main{max-width:1400px;padding:0 30px;margin:auto}.world-home{grid-template-columns:minmax(390px,1.4fr) minmax(300px,.9fr);gap:24px}.home-arena{padding:24px 32px 17px;min-width:0}.world-hero-copy h2{font-size:37px}.world-hero-copy p{font-size:14px}.home-board-stage{max-width:460px;margin:24px auto;transform:perspective(1800px) rotateX(5deg)}.home-actions{border:0;background:none;padding:10px 0 0 18px;display:flex;flex-direction:column}.lobby-player{display:flex;align-items:center;gap:15px;color:var(--text)}.lobby-player strong{font-size:18px}.lobby-player small{display:block;font-size:13px;color:var(--muted);margin-top:6px}.portrait-avatar{display:grid;place-items:center;width:62px;height:62px;flex-shrink:0;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#4c493b,#162439);border:1px solid #8b7449;border-radius:16px}.portrait-avatar img{width:70%;height:90%;object-fit:contain;filter:drop-shadow(0 4px 3px #0008)}.portrait-avatar.large{width:90px;height:90px;border-radius:22px}.lobby-invitation{margin:auto 0;padding:35px 0 25px}.lobby-invitation h2{font:42px/1.18 Georgia,serif;margin:16px 0 28px;color:#f1f0ea}.play-chess{min-height:74px;font-size:21px;font-weight:800;letter-spacing:2px;padding:20px 25px;background:linear-gradient(120deg,#f0d49e,#c59a56);box-shadow:0 12px 45px #a77c3422}.primary:hover{filter:brightness(1.08)}.home-shortcuts{grid-template-columns:1fr 1fr;gap:12px}.home-shortcuts a{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:16px;background:#142133;border:1px solid #304059;border-radius:10px;color:#e5eaf1}.home-shortcuts a>span{grid-row:1/3;color:var(--gold);font-size:25px}.home-shortcuts small{font-size:12px;line-height:1.6;color:var(--muted)}.home-shortcuts strong{font-size:14px}.training-links{display:flex;justify-content:space-between;margin-top:16px}.featured-worlds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.world-card{min-height:230px}.world-card strong{font-size:26px}.world-card small{font-size:12px;letter-spacing:1px}.world-card span{font-size:14px}.world-card img{height:180px;width:95px;right:15px;top:15px;opacity:.9}.section-heading a{font-size:14px}.section-heading h2{font-size:25px}.world-selector{margin-top:18px}.home-stories{margin-top:10px}.story-card{min-height:180px;gap:14px;background-size:cover!important}.story-card h3{line-height:1.5}.story-card p{font-size:14px}.story-card a{margin-top:auto}.replay-score{font:30px Georgia,serif;color:#ead1a0}.empty-panel p{margin:0 0 14px}.empty-panel{font-size:16px}.owner-tag{font-size:12px}.arena-caption{font-size:14px}.arena-caption button{font-size:14px}
/* Setup is the same flow from lobby, world cards, profiles and replays. */
.play-dialog{max-width:960px;width:calc(100% - 40px);max-height:92svh;padding:30px;background:radial-gradient(ellipse at 0 0,#243d57,#101a29 75%);overflow:auto}.play-dialog h2{font:34px Georgia,serif;margin:14px 0 24px}.segmented{display:flex;gap:7px;padding:5px;background:#09132199;border:1px solid #34445b;border-radius:9px;width:fit-content;max-width:100%;margin-bottom:25px}.segmented button{background:none;color:#a6b6cb;border:0;border-radius:6px;padding:10px 20px;font-size:14px}.segmented button.active{background:#2d3b4e;color:#f0d298}.segmented button:disabled{opacity:.55}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode-cards button{display:grid;grid-template-columns:55px 1fr;gap:9px 15px;text-align:left;align-items:center;padding:27px 22px;background:linear-gradient(135deg,#21344a,#152033);border:1px solid #405370;border-radius:12px;color:#eaf0f6;min-height:135px}.mode-cards button:hover{border-color:var(--gold);background:#283b50}.mode-cards span{grid-row:1/3;font-size:34px;color:var(--gold)}.mode-cards strong{font-size:19px}.mode-cards small{font-size:14px;color:var(--muted)}.battle-layout{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(230px,1fr);gap:28px}.battle-scene{padding:20px;display:flex;flex-direction:column;justify-content:center;gap:22px;align-items:center}.battle-scene .preview-board{width:100%;max-width:380px}.battle-scene strong{font:24px Georgia,serif;color:#efdab0}.battle-choices{display:grid;gap:7px}.battle-choices button{border:1px solid #384b65;background:#132236;color:#e6edf5;text-align:left;border-radius:7px;padding:10px 13px;font-size:15px}.battle-choices button small{display:block;font-size:12px;color:#a6b7cc;margin-top:3px}.battle-choices button.active{border-color:var(--gold);background:#353427}.battle-choices button:disabled{opacity:.35}.battle-options label{margin-top:14px}.battle-options select{padding:9px 11px}.battle-layout~.world-chips{margin:20px 0}.error-text{color:#ffb7a1;font-size:14px;min-height:10px}.quick-challenge{display:block;width:100%;text-align:left;border:1px solid #36546c;background:#18283b;color:#e7d0a6;padding:13px;border-radius:6px;margin:7px 0}#quickList{font-size:14px;color:var(--muted)}#quickGames{border-top:1px solid #344357;padding:0 0 10px;margin-top:25px}#setupBack{padding-left:0;padding-top:0}
/* Board remains the dominant playing surface. */
body[data-page="play"] .page-heading{display:none}.game-bar{max-width:1120px;margin:14px auto 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--gold);gap:12px}.workspace{justify-content:center}.game-started .workspace{grid-template-columns:minmax(350px,min(74svh,740px)) minmax(260px,310px);gap:26px}.game-started .left-panel{display:none}.game-started #lobby{display:none}.game-started .right-panel{display:block;grid-column:auto}.game-started .board-column{padding:12px;min-width:0}.board-column{min-width:0}#board,.preview-board{position:relative}.motion-piece{position:absolute;pointer-events:none;z-index:10}.motion-piece img{position:absolute;width:94%;height:94%;inset:0;object-fit:contain}.motion-piece img.royal{inset:auto;max-width:none;max-height:none;object-fit:fill}.player-avatar img{width:85%;height:100%;object-fit:contain}.player-info strong{font-size:16px}.player-info span{font-size:12px}.board-tools span{font-size:12px}.board-message{font-size:13px}.status-card h2{font-size:24px}.status-card>p{font-size:14px}.board-frame{padding:7px}.notation #moves{height:235px}.board-tools button{min-height:38px}.game-actions button{font-size:14px}.game-started .material{margin-bottom:20px}.board-column #focusMode{font-size:12px;padding:7px;margin-top:4px}.arena-match-label{font-size:12px}.fx-check{animation:custom-check .75s ease-out}@keyframes custom-check{0%,50%{box-shadow:inset 0 0 20px var(--fx-color)}100%{box-shadow:inset 0 0 0 transparent}}[data-fx="rune"].fx-capture::after{border-radius:0;rotate:45deg}[data-fx="ember"].fx-capture::after{border-style:dashed;box-shadow:0 0 8px #ff754c}[data-fx="pulse"].fx-capture::after{box-shadow:0 0 6px #da83ff}.focus-mode .game-bar{display:none}
/* Identity, home arena and collection. */
.player-profile{max-width:none;padding:0;border:0;background:none}.profile-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;padding:35px}.profile-presentation h2{font-size:33px;margin:10px 0 22px}.profile-presentation .preview-board{max-width:470px;margin:0}.profile-identity{padding:16px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.profile-identity h2{font-size:34px;margin:14px 0 0}.profile-identity p{font-size:15px}.profile-identity .primary,.profile-identity .full{max-width:none;width:100%;margin:12px 0 0}.profile-identity .quiet{text-align:center}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);width:100%;padding:24px 0 10px;gap:12px}.profile-stats strong{display:block;font-size:29px;color:#e7cea1;font-weight:500}.profile-stats span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.player-profile>.section-heading,.player-profile .section-heading{margin-top:30px}.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.collectible{padding:0 0 17px;border:1px solid #31415a;border-radius:11px;background:#121e2f;overflow:hidden;display:flex;flex-direction:column}.collectible.equipped{border-color:#b89a63}.collectible-preview{height:210px;display:flex;justify-content:center;align-items:center;gap:12px;background:radial-gradient(ellipse at 50% 100%,#27435a,#0d1726);overflow:hidden}.collectible-preview img{height:175px;max-width:35%;object-fit:contain;filter:drop-shadow(0 6px 4px #0008)}.collectible-preview.classic img,.collectible-preview.neon img{height:110px}.collectible-preview.neon img{filter:drop-shadow(0 0 6px #67ebff)}.collectible .rarity{margin:17px 17px 8px;font-size:11px;color:#a7c6c3;text-transform:uppercase;letter-spacing:1px}.collectible h3{margin:0 17px 18px;font-size:17px;line-height:1.5}.collectible .secondary{margin:auto 17px 0;min-height:43px}.collectible.equipped .secondary{color:#e5cb94;opacity:1;background:#40352266}.board-swatch{margin:16px 16px 0;height:auto;aspect-ratio:1;border:5px solid #253141}.effect-symbol{font-size:120px;color:var(--fx-color);text-shadow:0 0 28px var(--fx-color);font-family:Georgia,serif;line-height:1}.effect-symbol.ember{rotate:25deg}.effect-symbol.rune{rotate:45deg}.effect-symbol.none{color:#a5b4c7;text-shadow:none}.collection-note{border-top:1px solid #30415a;margin-top:35px;padding-top:25px;color:var(--muted);font-size:14px;line-height:1.7}.rarity{color:#d0af79;font-size:12px;letter-spacing:1.4px}.world-editor{grid-template-columns:minmax(235px,.75fr) minmax(400px,1.8fr)}.editor-preview{grid-template-columns:minmax(240px,1.5fr) minmax(160px,1fr);align-items:start;gap:22px;padding:25px}.editor-preview .preview-board{position:sticky;top:25px;width:100%;margin-top:12px}.editor-options label{font-size:14px}.editor-options select{font-size:14px}.avatar-picker{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.avatar-option{width:42px;height:48px;background:#1a2b3c;border:1px solid #354e69;border-radius:6px;padding:3px}.avatar-option img{width:100%;height:100%;object-fit:contain}.avatar-option.active{border-color:var(--gold);background:#3e3629}.piece-sets{grid-template-columns:repeat(3,1fr)}.board-themes{grid-template-columns:repeat(5,1fr)}.board-themes .collectible h3{font-size:14px}.world-editor .primary{font-size:15px}
/* Replay is both a viewer and an invitation back into the game. */
.replay-layout{grid-template-columns:minmax(350px,min(77svh,740px)) minmax(275px,340px);gap:32px}.replay-stage{padding:23px}.replay-stage>.preview-board{max-width:610px}.replay-sidebar{padding-top:10px}.replay-sidebar h2{font-size:32px}.replay-sidebar .muted{font-size:16px}.replay-sidebar .full{display:block;text-align:center}.replay-timeline{display:flex;flex-wrap:wrap;gap:4px;max-height:130px;overflow:auto;margin:16px 0 0;padding:3px}.replay-timeline button{padding:8px 10px;color:#adbed1;border:1px solid transparent;border-radius:5px;background:#102238;font-size:14px}.replay-timeline button.event{border-bottom-color:#968059}.replay-timeline button.active{color:#f2d091;border-color:var(--gold);background:#3c3529}.replay-transport #replayAuto{min-width:100px}.replay-step>span{font-size:14px}.moments{max-height:300px}.moments button{font-size:14px}.replay-layout.portrait .replay-stage{min-height:0;aspect-ratio:9/16}.share-dialog{max-width:900px;width:calc(100% - 32px);max-height:92svh;overflow:auto}.share-dialog h2{font:29px/1.3 Georgia,serif}.social-card{padding:24px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:20px;aspect-ratio:1200/630}.social-card h3{font:25px/1.4 Georgia,serif;white-space:pre-line;overflow-wrap:anywhere;margin:20px 0}.social-card strong{font:35px Georgia,serif;color:var(--gold)}.social-card p{font-size:14px;color:var(--gold)}.social-card small{font-size:12px;color:var(--muted)}.social-card .preview-board{border-width:3px}.share-actions{display:flex;gap:10px;margin-top:16px}.share-actions button{flex:1;width:auto;font-size:14px}.share-dialog input{font-size:14px}#toast{z-index:40}
@media(min-width:1600px){.game-started .workspace{grid-template-columns:minmax(400px,min(74svh,820px)) 320px;gap:30px}}@media(max-width:1100px){.header{gap:18px;padding:0 25px}.header nav{gap:19px}.brand>div{font-size:15px}main{padding:0 22px}.world-home{grid-template-columns:1.2fr 1fr;gap:15px}.home-arena{padding:22px}.home-actions{padding-left:8px}.lobby-invitation h2{font-size:35px}.home-shortcuts{grid-template-columns:1fr}.featured-worlds,.collection-grid{grid-template-columns:repeat(2,1fr)}.featured-worlds .world-card{min-height:200px}.game-started .workspace{grid-template-columns:minmax(340px,1fr) 270px;gap:18px}.profile-hero{gap:25px;padding:25px}.profile-identity{padding:0}.world-editor{grid-template-columns:1fr 2fr;gap:16px}.editor-preview{grid-template-columns:1fr;padding:22px}.editor-preview .preview-board{max-width:430px;margin:auto;position:static}.editor-options{display:block}.board-themes{grid-template-columns:repeat(3,1fr)}.replay-layout{grid-template-columns:minmax(340px,1fr) 280px;gap:22px}.replay-stage{padding:16px}}
@media(max-width:750px){.header{padding:12px 16px 0;gap:10px;min-height:0;flex-wrap:wrap}.header nav{flex:auto;order:3;gap:0;width:100%;height:auto;overflow:visible;justify-content:space-between}.header nav a{font-size:13px;padding:13px 7px;line-height:1.4}.brand>div{font-size:16px}.brand>span{font-size:33px}.user-menu{margin-left:auto}.user-menu summary{width:38px;height:38px}.page-heading{padding:0 16px;margin:22px auto 19px}.page-heading h1{font-size:25px}.page-heading .eyebrow{font-size:10px}main{padding:0 12px}.world-home{display:grid;grid-template-columns:1fr;gap:18px}.home-actions{grid-row:1;padding:0}.lobby-player{gap:10px}.portrait-avatar{width:48px;height:48px;border-radius:13px}.lobby-player strong{font-size:16px}.lobby-player small{font-size:12px}.lobby-invitation{padding:22px 0 0}.lobby-invitation h2{display:none}.lobby-invitation .eyebrow{display:none}.play-chess{min-height:62px;font-size:19px}.lobby-invitation .subtle{margin:11px 0 0}.home-shortcuts{grid-template-columns:1fr 1fr;margin-top:18px}.home-shortcuts a{padding:12px;gap:4px;grid-template-columns:24px 1fr}.home-shortcuts a small{font-size:12px}.training-links{margin-top:7px}.home-arena{padding:20px 16px 10px}.world-hero-copy h2{font-size:29px}.world-hero-copy p{font-size:13px}.home-board-stage{max-width:390px;margin:20px auto;transform:none}.world-overline{gap:8px}.world-overline .eyebrow,.owner-tag{font-size:10px}.arena-caption,.arena-caption button{font-size:12px}.section-heading{gap:12px;align-items:flex-start}.section-heading h2{font-size:21px}.section-heading a{font-size:13px;flex-shrink:0}.featured-worlds{gap:10px}.featured-worlds .world-card{min-height:195px;padding:15px}.world-card strong{font-size:23px}.world-card span{font-size:12px}.world-card small{font-size:10px}.world-card img{right:5px;top:10px;height:155px;width:77px}.collection-grid{gap:12px}.collectible-preview{height:170px}.collectible-preview img{height:148px}.collectible .rarity{font-size:10px;margin:12px 12px 7px}.collectible h3{font-size:15px;margin:0 12px 14px}.collectible .secondary{margin:auto 12px 0}.segmented{width:100%;gap:2px}.segmented button{font-size:13px;padding:10px 12px;flex:1}.play-dialog{width:calc(100% - 20px);padding:20px 16px;max-height:94svh}.play-dialog h2{font-size:27px;margin-top:13px}.mode-cards{gap:10px}.mode-cards button{display:flex;flex-direction:column;align-items:flex-start;padding:16px 13px;min-height:160px;gap:10px}.mode-cards span{font-size:29px}.mode-cards strong{font-size:16px;line-height:1.4}.mode-cards small{font-size:12px;line-height:1.5}.battle-layout{display:flex;flex-direction:column;gap:15px}.battle-scene{padding:15px;gap:14px}.battle-scene .preview-board{max-width:260px}.battle-scene strong{font-size:23px}.battle-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.battle-choices button{font-size:13px;text-align:center;padding:10px 5px}.battle-choices button small{font-size:10px;line-height:1.5}.battle-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.battle-choices,.battle-options>div{grid-column:1/-1}.battle-options label{margin:0;align-self:center}.battle-options select{font-size:15px}.world-chip{font-size:12px}.game-bar{margin:9px 0;gap:5px}.game-bar>span{display:none}.game-bar button{font-size:12px}.game-started .workspace{display:flex;gap:15px}.game-started .board-column{padding:7px}.board-frame{padding:4px}.player-strip{margin-bottom:9px;gap:9px;height:40px}.player-strip.bottom{margin-top:11px;margin-bottom:9px}.player-avatar{width:34px;height:38px}.player-info strong{font-size:14px}.player-info span{font-size:11px}.clock{font-size:22px;min-width:85px;padding:6px 9px}.board-tools span{font-size:11px}.board-message{font-size:12px}.board-column #focusMode{display:none}.game-started .right-panel{display:flex;flex-direction:column;width:100%;gap:12px}.game-started .notation{order:1;margin:0}.game-started .game-actions{order:0;margin:0}.game-started .status-card{order:-1;padding:17px}.status-card h2{font-size:22px}.status-card>p{font-size:14px}.game-started #moves{height:160px}.game-started .export-actions,.game-started .material,.game-started #rematch{order:2;margin:0}.game-started .finished-replay{order:0;margin:0}.workspace>.left-panel{width:100%}.profile-hero{grid-template-columns:1fr;padding:20px 17px;gap:25px}.profile-presentation h2{font-size:28px}.profile-presentation .preview-board{max-width:420px}.profile-identity{position:relative}.profile-identity .large{width:62px;height:62px}.profile-identity h2{font-size:29px}.profile-stats{gap:8px;padding-top:20px}.profile-stats strong{font-size:26px}.profile-stats span{font-size:11px}.world-editor{display:flex;flex-direction:column}.world-editor>section:first-child{order:1}.world-editor .editor-preview{order:0}.editor-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:center}.editor-options label{margin:0;font-size:13px}.editor-options select{font-size:14px}.editor-options>#eventEffectFields,.editor-options>button{grid-column:1/-1}.editor-options>#eventEffectFields{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:center}.piece-sets{grid-template-columns:1fr 1fr}.piece-sets .collectible:first-child{grid-column:1/-1}.board-themes{grid-template-columns:repeat(2,1fr)}.replay-layout,.replay-layout.portrait{display:flex;flex-direction:column;gap:15px}.replay-stage{padding:16px 12px}.replay-stage h2{font-size:22px;margin:15px 0 19px}.replay-transport{gap:5px}.replay-transport button{padding:10px 14px;min-width:38px}.replay-transport #replayAuto{min-width:95px}.replay-timeline{max-height:105px}.replay-sidebar{padding:10px 3px}.replay-sidebar h2{font-size:29px}.replay-layout.portrait .replay-stage{min-height:0;max-width:430px;width:100%;margin:auto}.share-dialog{padding:20px 15px}.share-dialog h2{font-size:25px}.social-card{padding:12px;gap:10px}.social-card h3{font-size:16px;margin:10px 0}.social-card strong{font-size:24px}.social-card .eyebrow{font-size:9px}.social-card p{font-size:10px;margin:8px 0}.social-card small{display:none}.social-card .preview-board{border-width:2px}.share-actions{flex-wrap:wrap}.share-actions button{min-width:40%}.share-dialog .link-row{flex-wrap:wrap}footer{font-size:12px}.focus-mode main{padding-top:8px}}
@media(max-width:360px){.header nav a{padding:13px 4px;font-size:12px}.home-shortcuts a{grid-template-columns:1fr}.home-shortcuts a>span{display:none}.battle-choices button{font-size:12px}.world-card strong{font-size:20px}.replay-transport button{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.player-avatar{overflow:hidden;flex-shrink:0}.player-avatar img{width:31px;height:38px;min-height:0}
@media(min-width:751px){.game-started .workspace{grid-template-columns:minmax(350px,min(calc(100svh - 310px),800px)) minmax(260px,310px)}.game-started .player-strip{margin-bottom:10px;height:42px}.game-started .player-strip.bottom{margin-top:10px;margin-bottom:8px}.game-started .arena-match-label{display:none}.game-started .board-message{margin-top:4px}.game-started #focusMode{padding:5px;margin-top:0}}
body[data-page="play"] .left-panel{display:none}
@media(min-width:751px){body[data-page="play"] .workspace{grid-template-columns:minmax(350px,min(calc(100svh - 310px),800px)) minmax(260px,310px)}body[data-page="play"] .right-panel{display:block;grid-column:auto}}
/* Shared competition identity */
.competition-settings{grid-column:1/-1;display:grid;gap:14px;margin:16px 0;padding:18px;border:1px solid #344c68;border-radius:16px;background:linear-gradient(140deg,#17263be6,#101822)}
.mode-choice{display:flex;gap:8px;flex-wrap:wrap}.mode-choice label{display:flex!important;align-items:center;gap:7px;flex:1;padding:11px;border:1px solid #3b4c64;border-radius:10px;font-size:14px;cursor:pointer}.mode-choice label:has(input:checked){background:#294466;border-color:#719cca;color:#fff}.mode-choice input,.check-label input{width:auto!important;margin:0;accent-color:var(--gold)}
.rating-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rating-range label{display:grid;gap:7px;min-width:0}.rating-range input{min-width:0;width:100%}.competition-settings .subtle{margin:0;font-size:12px;line-height:1.6}
.control-badge{--pool-color:#a8c9ee;display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:8px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--pool-color),transparent 65%);border-radius:999px;color:var(--pool-color);background:color-mix(in srgb,var(--pool-color),transparent 93%);font-size:13px;line-height:1.5;font-weight:650;letter-spacing:.02em}
[data-pool=bullet]{--pool-color:#cfb7ff}[data-pool=blitz]{--pool-color:#f3c87e}[data-pool=rapid]{--pool-color:#8cd9d5}[data-pool=classical]{--pool-color:#abc9ff}
.rating-pools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.rating-pool{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;padding:22px 18px;align-items:center;border:1px solid #344355;border-radius:16px;background:linear-gradient(130deg,#202d42,#111925)}.rating-pool .pool-icon{grid-row:span 2;display:grid;place-items:center;width:46px;height:52px;color:var(--pool-color);font-size:32px;background:#ffffff08;border:1px solid color-mix(in srgb,var(--pool-color),transparent 65%);border-radius:16px 16px 22px 22px;filter:drop-shadow(0 3px 8px #0005)}.rating-pool strong{white-space:nowrap;font-size:26px;color:#f3f5f8}.rating-pool>span:not(.pool-icon){font-size:14px;color:var(--pool-color)}.rating-pool small{grid-column:1/-1;font-size:11px;color:#a2b0c1}
.game-reports{display:grid;gap:7px;margin-top:12px}.game-reports .quiet{font-size:12px;text-align:left;padding:6px}.game-reports p{margin:0}.report-record{padding:16px 0;border-bottom:1px solid #354154;overflow-wrap:anywhere}.report-record small{display:block;margin-top:8px;color:#a4b7cc}
#reportForm,.cup-form{display:grid;gap:16px}#reportForm label,.cup-form label{display:grid;gap:8px}#reportForm textarea,.cup-form textarea{box-sizing:border-box;width:100%;resize:vertical;padding:12px;background:#101a27;border:1px solid #35465e;border-radius:8px;color:#e5edf5;font:inherit}.form-error,#cupCreateError,#reportState{color:#ffb5ad}
.cup-dialog{width:min(600px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto}.cup-dialog .check-label{display:flex!important;align-items:center;gap:10px!important}.cup-dialog [hidden]{display:none!important}.cup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.cup-list .tournament-card{min-width:0}.cup-announcement{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px 22px;background:#182c42;border-left:3px solid #86bce9;border-radius:0 12px 12px 0}.cup-schedule{color:var(--gold);font-variant-numeric:tabular-nums}.withdrawn-player{color:#8493a7}.withdrawn-player td small{display:block;margin-top:6px;font-size:11px;color:#d6a49b}.cup-log{padding:18px;border:1px solid #344255;border-radius:12px;color:#a8bbd2;font-size:13px}.cup-log summary{cursor:pointer;color:#d9e4ef}.cup-log p{overflow-wrap:anywhere}.cup-rounds .quiet{display:block;margin-top:10px}
@media(max-width:800px){.rating-pools{grid-template-columns:repeat(2,1fr)}.rating-pool{padding:16px 12px;gap:7px 10px}}@media(max-width:420px){.rating-pool .pool-icon{width:35px;height:43px;font-size:26px}.rating-pool strong{font-size:23px}.mode-choice label{font-size:12px;padding:9px 6px}.competition-settings{padding:12px}.cup-dialog{padding:24px 18px}}
.notification-bell{position:relative;display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #46566c;border-radius:50%;background:#172438;color:#dec18d;margin-left:auto}.notification-count{position:absolute;right:-7px;top:-6px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 4px;border-radius:12px;background:#e1bb74;color:#151d2b;font-size:11px;font-weight:800;border:2px solid #0c111b}.notification-bell+.user-menu{margin-left:0}.notification-dialog{width:min(580px,94vw);max-height:88dvh;overflow-y:auto;padding:24px}.notification-actions{display:flex;justify-content:space-between;gap:10px}.notification-list{display:grid;gap:9px;margin-top:12px;max-height:50dvh;overflow-y:auto}.notification-item{display:flex;gap:14px;width:100%;text-align:left;padding:15px;border:1px solid #304057;border-radius:12px;background:#121e2f;color:#edf2f8}.notification-item.unread{border-color:#786844;background:linear-gradient(115deg,#2b2c2d,#17243a)}.notification-symbol{display:grid;place-items:center;width:34px;height:38px;flex:none;color:var(--gold);font-size:27px}.notification-copy{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.notification-copy strong{font-size:15px;font-weight:650}.notification-copy>span{font-size:14px;color:#b0bed0;line-height:1.5}.notification-copy small{font-size:12px;color:#a99d82}.notification-settings{border-top:1px solid #344355;margin-top:20px;padding-top:15px}.notification-settings summary{cursor:pointer;color:#d7c39f;font-size:14px}.notification-settings label{display:flex;gap:10px;align-items:center}.notification-settings input{width:auto;accent-color:var(--gold)}.notification-live{position:fixed;bottom:22px;right:22px;z-index:50;max-width:min(480px,calc(100vw - 32px));display:flex;border:1px solid #aa925e;background:#17263cf5;box-shadow:0 12px 45px #0009;border-radius:14px;overflow:hidden}.notification-open{border:0;background:none;color:#f4dfb5;text-align:left;padding:18px;line-height:1.5;font-size:14px}.notification-dismiss{background:none;border:0;border-left:1px solid #41516a;color:#b7c4d8;font-size:24px;padding:12px}.scheduler-health{padding:12px 16px;border:1px solid #35465b;border-radius:10px;background:#111c2a}.scheduler-health[data-state=running]{color:#99cdbb}.scheduler-health[data-state=delayed]{color:#e6c087}@media(max-width:750px){.notification-bell{width:37px;height:37px}.notification-dialog{padding:18px}.notification-item{padding:12px;gap:9px}.notification-live{right:16px;bottom:16px}.header{column-gap:12px}}

/* Keep the account dropdown above tournament cards and every page surface. */
.header{position:relative;z-index:60}
.presence-badge{flex:none;white-space:nowrap;padding:8px 11px;border:1px solid #405064;border-radius:9px;background:#162132;color:#d9e5f1;font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums}
@media(max-width:750px){.presence-badge{order:2;width:100%;text-align:center;margin-top:3px}.header nav{order:3}}

/* Tactile move transport aligned with the board’s lower edge on desktop. */
.game-started .right-panel{position:relative}
.game-started .history-controls{position:absolute;left:0;right:0;top:var(--history-controls-top,0px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0;padding:10px;border:1px solid #40536b;border-radius:15px;background:linear-gradient(180deg,#1a293b,#101a28);box-shadow:inset 0 1px 0 #ffffff12,0 12px 28px #0004}
.game-started .history-controls button{display:grid;place-items:center;width:100%;min-width:0;min-height:58px;padding:0;border:1px solid #516783;border-radius:11px;background:linear-gradient(180deg,#405873 0%,#293e57 46%,#1b2d43 100%);color:#eff6ff;box-shadow:inset 0 1px 0 #ffffff45,inset 0 -2px 0 #0b1521,0 5px 0 #08111b,0 8px 13px #0006;font-size:24px;line-height:1;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,border-color .12s ease}
.game-started .history-controls button svg{width:25px;height:25px;fill:currentColor;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}
.game-started .history-controls button:hover:not(:disabled){transform:translateY(-2px);border-color:#b69a69;filter:brightness(1.12);box-shadow:inset 0 1px 0 #ffffff55,0 7px 0 #08111b,0 12px 18px #0007}
.game-started .history-controls button:active:not(:disabled){transform:translateY(3px);filter:brightness(.98);box-shadow:inset 0 2px 5px #07101b99,0 1px 0 #08111b,0 3px 6px #0005}
.game-started .history-controls button:nth-child(3){border-color:#b89a62;background:linear-gradient(180deg,#f2d69e 0%,#d9b570 50%,#a98143 100%);color:#261d11;box-shadow:inset 0 1px 0 #fff8d9, inset 0 -2px 0 #8d6935,0 5px 0 #5b4323,0 8px 13px #0006}
.game-started .history-controls button:nth-child(3):hover:not(:disabled){border-color:#f3dca7;filter:brightness(1.08)}
.game-started .history-controls button:disabled{opacity:.42;filter:saturate(.45);box-shadow:inset 0 1px 0 #ffffff12,0 2px 0 #08111b}
.game-started .history-controls button:focus-visible{outline:3px solid #f2d69e;outline-offset:3px}
/* Classic-game PGNs open directly in analysis, outside .game-started. Keep the same
   large, high-contrast transport visible there, including on a small screen. */
body[data-page="analysis"] .history-controls{position:relative;inset:auto;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 0;padding:10px;border:1px solid #60758f;border-radius:14px;background:linear-gradient(180deg,#1b2b40,#101b2b);box-shadow:inset 0 1px 0 #ffffff1c,0 8px 20px #0005}
body[data-page="analysis"] .history-controls button{display:grid;place-items:center;width:100%;min-width:0;min-height:58px;padding:0;border:1px solid #8da4bf;border-radius:10px;background:linear-gradient(180deg,#526c8a,#304760 52%,#22374f);color:#fff!important;box-shadow:inset 0 1px 0 #ffffff55,inset 0 -2px 0 #102033,0 4px 0 #091321,0 7px 12px #0006}
body[data-page="analysis"] .history-controls button svg{width:27px;height:27px;fill:currentColor;stroke:currentColor;stroke-width:1.35;stroke-linejoin:round}
body[data-page="analysis"] .history-controls button:nth-child(3){border-color:#eed39a;background:linear-gradient(180deg,#f2d69e,#d9b570 52%,#a98143);color:#261d11!important}
body[data-page="analysis"] .history-controls button:disabled{opacity:.72;filter:saturate(.6);color:#edf3fa!important}
body[data-page="analysis"] .history-controls button:hover:not(:disabled){filter:brightness(1.18);border-color:#f1d49a}
body[data-page="analysis"] .history-controls button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 5px #07101b99,0 1px 0 #08111b,0 3px 6px #0005}
.legend-analysis-return{max-width:1580px;margin:-12px auto 20px;padding:0 3.5%;display:flex;align-items:center;gap:12px}
.legend-analysis-return[hidden]{display:none}
.legend-analysis-return>span{flex:1;color:#c9d5e3;font-size:13px}
.legend-analysis-return button{min-height:46px;border-radius:9px;font-weight:650}
.legend-analysis-return #returnLegendArchive{border-color:#8197b1;color:#f4f7fb;background:linear-gradient(180deg,#2b4059,#1b2b3e);box-shadow:inset 0 1px 0 #ffffff22,0 3px 0 #091321}
.legend-analysis-return #returnLegendRoster{border:1px solid #526982;color:#e4edf7;background:#182638;padding:10px 14px}
.replay-transport{gap:10px;padding:10px;border:1px solid #40536b;border-radius:15px;background:linear-gradient(180deg,#1a293b,#101a28);box-shadow:inset 0 1px 0 #ffffff12,0 12px 28px #0004}
.replay-transport button{min-width:58px;min-height:58px;padding:0 15px;border:1px solid #516783;border-radius:11px;background:linear-gradient(180deg,#405873 0%,#293e57 46%,#1b2d43 100%);color:#eff6ff;box-shadow:inset 0 1px 0 #ffffff45,inset 0 -2px 0 #0b1521,0 5px 0 #08111b,0 8px 13px #0006;font-size:24px;line-height:1;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,border-color .12s ease}
.replay-transport button:hover:not(:disabled){transform:translateY(-2px);border-color:#b69a69;filter:brightness(1.12);box-shadow:inset 0 1px 0 #ffffff55,0 7px 0 #08111b,0 12px 18px #0007}
.replay-transport button:active:not(:disabled){transform:translateY(3px);filter:brightness(.98);box-shadow:inset 0 2px 5px #07101b99,0 1px 0 #08111b,0 3px 6px #0005}
.replay-transport button:disabled{opacity:.42;filter:saturate(.45);box-shadow:inset 0 1px 0 #ffffff12,0 2px 0 #08111b}
.replay-transport #replayAuto{min-width:132px;border-color:#b89a62;background:linear-gradient(180deg,#f2d69e 0%,#d9b570 50%,#a98143 100%);color:#261d11;box-shadow:inset 0 1px 0 #fff8d9,inset 0 -2px 0 #8d6935,0 5px 0 #5b4323,0 8px 13px #0006;font-weight:750}
@media(max-width:750px){.legend-analysis-return{padding:0 12px;margin:-8px auto 15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.legend-analysis-return>span{grid-column:1/-1;grid-row:1;font-size:12px}.legend-analysis-return button{min-height:48px;font-size:12px;padding:9px 8px}.game-started .right-panel{position:static}.game-started .history-controls{position:static;top:auto;order:2;gap:8px;margin-top:11px;padding:9px}.game-started .history-controls button{min-height:62px;border-radius:12px}.game-started .history-controls button svg{width:27px;height:27px}.replay-transport{gap:7px;padding:8px}.replay-transport button{min-width:50px;min-height:60px;padding:0 10px;border-radius:12px}.replay-transport #replayAuto{min-width:100px}}

.replay-flip{width:100%;min-height:48px;margin:4px 0 10px;border:1px solid #665b47;background:linear-gradient(180deg,#24384d,#18283b);color:#f2d394;font-weight:650}
.replay-flip[aria-pressed="true"],.broadcast-flip[aria-pressed="true"]{border-color:#dfbd79;background:linear-gradient(180deg,#5a4930,#30291f);color:#ffe5ae;box-shadow:inset 0 1px 0 #fff3c555,0 0 0 2px #dfbd7922}

.replay-stage>.preview-board{margin-bottom:0}
.replay-stage>.replay-transport{margin:8px 0 0;padding:7px}
.replay-stage>.replay-flip{display:block;width:min(100%,280px);margin:8px auto 0}
.replay-step{margin-top:8px}
.home-piece-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 5px}.home-piece-picker>span{margin-right:4px;color:#c4d5e2;font-size:13px}.home-piece-picker button{min-height:40px;padding:7px 12px;border:1px solid #68819a;border-radius:8px;background:#132638dc;color:#e6f3f4;font-size:13px}.home-piece-picker button.active{border-color:#9ae9ca;background:linear-gradient(110deg,#842c4d99,#164f4388);color:#f3fff9;box-shadow:inset 0 0 0 1px #adf2d355,0 0 15px #78dfbe28}.home-piece-picker #homePieceGems:not(.active){border-color:#a06485;background:linear-gradient(110deg,#59213988,#16443888);color:#ffdeec}.home-piece-picker button:hover{border-color:#b7ffe0}
.home-piece-picker #homePieceAmethyst:not(.active){border-color:#9b82c8;background:linear-gradient(110deg,#322047cc,#251d3acc);color:#eee2ff}.home-piece-picker #homePieceAmethyst.active{border-color:#d0b9ff;background:linear-gradient(110deg,#67449bbc,#332c64b8);box-shadow:inset 0 0 0 1px #e0cfff88,0 0 17px #a27cde44}
@media(max-width:480px){.home-piece-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px}.home-piece-picker>span{grid-column:1/-1}.home-piece-picker button{min-width:0;padding:8px 4px;font-size:12px}}

.collectible-preview{position:relative}.collectible-lock{position:absolute;bottom:12px;left:12px;right:12px;padding:9px 11px;text-align:center;background:#101b2de8;border:1px solid #bda276;border-radius:8px;color:#f1dcb4;font-size:12px;font-weight:650;backdrop-filter:blur(6px)}.collectible.locked .collectible-preview img{opacity:.76}

/* Compact Academy entry; full learning interface is loaded on demand. */
.home-training-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid #344758;border-radius:14px;background:linear-gradient(115deg,#111d30,#0d1421);margin:22px 0}.home-training-card p{color:#aabacd;margin:6px 0 0;font-size:14px}.home-training-card strong{font-size:19px}.home-training-card a{flex-shrink:0}.profile-academy-summary{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0}.profile-academy-summary a{flex-basis:100%;font-size:14px}@media(max-width:520px){.home-training-card{align-items:flex-start;flex-direction:column;padding:18px}.home-training-card a{width:100%;text-align:center}}

.home-legends,.legends-page{margin-top:40px}.home-legends .muted{margin:8px 0 0}.legend-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.legend-cards.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legend-card{--legend-accent:#cfad73;position:relative;display:grid;align-content:start;gap:11px;min-width:0;padding:18px;background:linear-gradient(135deg,#172338,#101926 70%);border:1px solid color-mix(in srgb,var(--legend-accent) 40%,#2c394b);border-radius:12px;overflow:hidden}.legend-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--legend-accent);box-shadow:0 0 24px var(--legend-accent)}.legend-card-top{display:flex;align-items:center;gap:13px;min-height:92px}.legend-card-top>div:last-child{min-width:0}.legend-card-top h3{font:24px/1.15 Georgia,serif;margin:5px 0;color:#f2eee6}.legend-card-top span{display:block;color:#b9c6d5;font-size:12px}.legend-card-top .eyebrow{font-size:9px;color:var(--legend-accent);text-transform:uppercase;letter-spacing:1px;line-height:1.45}.legend-avatar{display:grid;place-items:center;flex:0 0 auto;width:92px;height:92px;overflow:hidden;border:1px solid color-mix(in srgb,var(--legend-accent) 78%,#fff);border-radius:12px;background:var(--legend-bg);box-shadow:0 8px 24px #0008,0 0 16px color-mix(in srgb,var(--legend-accent) 18%,transparent)}.legend-avatar img{display:block;width:100%;height:100%;object-fit:cover}.legend-avatar.compact{width:42px;height:42px;border-radius:10px}.player-strip .legend-avatar.compact{width:36px;height:39px}.legend-quote{margin:0;color:#e8d7b7;font:italic 15px/1.5 Georgia,serif}.legend-style{margin:0;color:#bbc7d5;font-size:13px;line-height:1.55}.legend-openings{margin:0;padding-top:10px;border-top:1px solid #ffffff13;color:#91a5bb;font-size:12px;line-height:1.6}.legend-openings b{color:#d5c193;font-weight:600}.legend-card-controls{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:8px;margin-top:3px}.legend-card-controls select,.legend-equip-row select{min-width:0;width:100%;background:#0f1927;border:1px solid #40516a;border-radius:7px;color:#e5edf5;padding:10px 9px;font-size:13px}.legend-card-controls button{margin:0;min-height:42px;padding:9px 10px;font-size:12px}.legend-card-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding-top:9px;border-top:1px solid #ffffff12}.legend-card-footer>span:first-child{font-size:10px;color:#8194a9;text-transform:uppercase;letter-spacing:.9px}.legend-card-footer strong{font-size:12px;color:var(--legend-accent);font-weight:600}.legend-wins{grid-column:2;grid-row:1/3;font-size:12px;color:#d8c796;white-space:nowrap}
.legends-page{display:grid;gap:27px}.legends-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;min-height:285px;gap:30px;padding:35px 42px;background:radial-gradient(ellipse at 80% 55%,#553d285e,transparent 42%),linear-gradient(120deg,#172337,#111824 72%);border:1px solid #77623c;border-radius:16px;overflow:hidden}.legend-hero-copy{max-width:720px;position:relative;z-index:1}.legend-hero-copy .eyebrow{color:#d8bc82}.legend-hero-copy h2{margin:9px 0 12px;font:42px/1.12 Georgia,serif;color:#f4ecda}.legend-hero-copy>p{max-width:640px;color:#adbdcf;line-height:1.65}.legend-hero-stats{display:flex;gap:30px;margin-top:23px}.legend-hero-stats>div{display:grid;gap:5px}.legend-hero-stats strong{color:#e3c789;font:24px Georgia,serif}.legend-hero-stats small{color:#94a6bb;font-size:11px}.legend-trophy-display{display:grid;justify-items:center;gap:8px;width:190px;height:205px;align-content:center;border:1px solid #aa895b;border-radius:50% 50% 42% 42%;background:radial-gradient(ellipse at 50% 34%,#c0a46b21,#101722 67%);box-shadow:inset 0 0 32px #d7b97910,0 0 50px #d0a85b0a;rotate:4deg}.legend-trophy-display>span{font:82px/1 Georgia,serif;color:#dfc17e;text-shadow:0 0 25px #d8b97666}.legend-trophy-display i{font:12px/1.3 Georgia,serif;letter-spacing:2px;text-align:center;color:#e6d7b9;font-style:normal}.legend-trophy-display small{font-size:9px;letter-spacing:3px;color:#aa9367}.legend-rewards-panel{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:22px;align-items:center;padding:23px 25px;background:#141f2f;border:1px solid #34445c;border-radius:12px}.legend-rewards-panel h2{font:26px Georgia,serif;margin:7px 0}.legend-rewards-panel p{margin:4px 0;line-height:1.6}.legend-badges{display:flex;gap:9px;flex-wrap:wrap}.legend-badge{display:grid;justify-items:center;align-content:center;gap:5px;width:62px;height:66px;background:#111a27;border:1px solid #3a4758;border-radius:10px;opacity:.46;filter:grayscale(1)}.legend-badge.earned{opacity:1;filter:none;border-color:#b89a63;background:linear-gradient(150deg,#403a2a,#182230);box-shadow:0 4px 18px #c3a26117}.legend-badge>span{font:25px Georgia,serif;color:#d4b97a}.legend-badge small{max-width:56px;color:#99a8ba;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-equip-row{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:center;margin-top:16px}.legend-equip-row label{grid-column:1/-1;color:#abbace;font-size:12px}.legend-equip-row button{width:auto;margin:0;min-height:38px;padding:8px 12px;font-size:12px}.legend-equip-row .subtle{grid-column:1/-1;margin:0}.legend-challenge-section,.legend-roster{display:grid;gap:14px}.legend-challenges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.legend-challenge{--legend-accent:#d0ad75;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:16px;background:linear-gradient(145deg,#182439,#111a28);border:1px solid #35465d;border-top:2px solid var(--legend-accent);border-radius:10px}.legend-challenge.complete{border-color:#9fcbb5;background:linear-gradient(145deg,#1a302f,#111a28)}.legend-challenge .eyebrow{font-size:9px;color:var(--legend-accent);line-height:1.5}.legend-challenge h3{margin:0;font:20px/1.2 Georgia,serif}.legend-challenge p{margin:0;color:#9eafc1;font-size:12px;line-height:1.55;flex:1}.legend-challenge>span{color:#d8bc83;font-size:11px}.legend-challenge button{margin:3px 0 0;width:100%;min-height:39px;padding:8px;font-size:12px}.legend-roster>.section-heading{align-items:flex-end;gap:16px}.legend-rated-toggle{display:flex;align-items:center;gap:8px;color:#cfbd92;font-size:12px;white-space:normal}.legend-rated-toggle input{accent-color:#d5b775}.legend-footnote{margin:0;padding:13px 16px;border-left:2px solid #8e784f;background:#121c2a;color:#91a2b5;font-size:12px;line-height:1.65}.profile-legend-record{margin-top:32px;padding:20px 22px;background:#141f2e;border:1px solid #3b4657;border-radius:12px}.profile-legend-record .section-heading{margin:0}.profile-legend-record .section-heading h2{font:25px Georgia,serif}.profile-legend-record>p{font-size:13px}.legend-decoration{display:inline-flex;margin-top:9px;padding:6px 10px;border:1px solid #b39a64;border-radius:6px;background:#c5a96b14;color:#ddc68f;font-size:10px;letter-spacing:1px}.home-legends .legend-card:nth-child(n+5){display:none}#setupLegendPreview{display:flex;align-items:center;gap:10px;margin:4px 0 8px;padding:10px;background:#18263a;border:1px solid #3b4a62;border-radius:8px}#setupLegendPreview .legend-avatar{width:54px;height:54px}#setupLegendPreview strong,#setupLegendPreview small{display:block}#setupLegendPreview strong{font:17px Georgia,serif;color:#e6d2a6}#setupLegendPreview small{margin-top:5px;color:#9baec3;font-size:11px;line-height:1.4}
@media(max-width:1050px){.legend-challenges{grid-template-columns:repeat(2,minmax(0,1fr))}.legends-hero{grid-template-columns:minmax(0,1fr) 170px;padding:28px}.legend-trophy-display{width:155px;height:175px}.legend-trophy-display>span{font-size:68px}}
@media(max-width:750px){.header nav{justify-content:flex-start;gap:18px}.home-legends,.legends-page{margin-top:28px}.legend-cards,.legend-cards.compact-grid{grid-template-columns:1fr;gap:12px}.home-legends .legend-card:nth-child(n+4){display:none}.legend-card{padding:15px;gap:10px}.legend-card-top{gap:11px}.legend-card-top .legend-avatar{width:69px;height:69px}.legend-card-top h3{font-size:21px}.legend-quote{font-size:14px}.legend-style{font-size:12px}.legends-page{gap:22px}.legends-hero{display:block;min-height:0;padding:25px 19px}.legend-hero-copy h2{font-size:31px;max-width:360px}.legend-hero-copy>p{font-size:13px;max-width:100%;padding-right:12px}.legend-trophy-display{position:absolute;width:103px;height:117px;right:-12px;top:15px;opacity:.6}.legend-trophy-display>span{font-size:47px}.legend-trophy-display i{font-size:8px}.legend-trophy-display small{font-size:7px}.legend-hero-stats{gap:15px;flex-wrap:wrap;margin-top:18px}.legend-hero-stats strong{font-size:20px}.legend-hero-stats small{font-size:9px}.legend-rewards-panel{grid-template-columns:1fr;padding:17px;gap:13px}.legend-rewards-panel h2{font-size:23px}.legend-badges{gap:6px}.legend-badge{width:55px;height:60px}.legend-equip-row{grid-template-columns:minmax(0,1fr) auto}.legend-equip-row select{grid-column:1}.legend-equip-row button{grid-column:2}.legend-challenges{grid-template-columns:1fr 1fr;gap:9px}.legend-challenge{padding:12px;gap:7px}.legend-challenge h3{font-size:17px}.legend-challenge p{font-size:11px}.legend-challenge>span{font-size:10px;line-height:1.45}.legend-roster>.section-heading{display:grid;align-items:start}.legend-roster .section-heading h2{font-size:21px}.legend-rated-toggle{font-size:11px}.profile-legend-record{padding:15px}.profile-legend-record .section-heading h2{font-size:21px}.profile-legend-record .legend-badge{width:48px}.legend-footnote{font-size:11px}.battle-options #setupAI{grid-column:1/-1}}

/* Legends round-robin event */
.legend-tournament{display:grid;gap:18px;padding:22px;background:radial-gradient(ellipse at 95% 8%,#b7924012,transparent 36%),linear-gradient(145deg,#182439,#101722 76%);border:1px solid #655638;border-radius:14px;box-shadow:0 16px 36px #0002}.legend-tournament>.section-heading{margin:0}.legend-tournament>.section-heading h2{font:30px Georgia,serif;color:#f2e8d0;margin:8px 0}.legend-tournament-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(235px,.65fr);gap:20px}.lt-form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.lt-form-heading strong{font:19px Georgia,serif;color:#ead6aa}.lt-form-heading span{font-size:12px}.legend-tournament-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px;max-height:510px;overflow:auto;padding:2px 5px 4px 0}.lt-player-option{display:grid;grid-template-columns:18px 48px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 10px;min-height:62px;padding:7px 9px;background:#111b2a;border:1px solid #2e3d52;border-radius:9px;cursor:pointer}.lt-player-option:has(input:checked){border-color:#b99c64;background:linear-gradient(120deg,#b896351e,#172439)}.lt-player-option input{grid-column:1;grid-row:1/3;accent-color:#d5b36f}.lt-player-option .lt-avatar{grid-column:2;grid-row:1/3;width:48px;height:48px;border-radius:8px}.lt-player-option strong{grid-column:3;grid-row:1;min-width:0;color:#e9e5dc;font-size:12px;line-height:1.25}.lt-player-option small{grid-column:3;grid-row:2;min-width:0;color:#93a6bb;font-size:9px;line-height:1.25}.legend-tournament-settings{align-self:start;display:grid;gap:9px;padding:15px;background:#0e1724;border:1px solid #34445a;border-radius:10px}.legend-tournament-settings>label,.legend-tournament-clock label{display:grid;gap:6px;color:#b9c7d6;font-size:12px}.legend-tournament-settings select,.legend-tournament-clock input{width:100%;min-width:0;padding:10px 11px;border:1px solid #3a4b62;border-radius:7px;background:#172337;color:#f1f3f5;font-size:14px}.legend-tournament-clock{display:grid;grid-template-columns:1fr 1fr;gap:9px}.legend-tournament-settings>p{margin:2px 0 0;font-size:11px;line-height:1.5}.legend-tournament-settings button{margin:0}.legend-tournament-live{display:grid;gap:16px;padding:16px;background:#0c1420;border:1px solid #37465b;border-radius:11px}.lt-live-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.lt-live-header strong{font:21px Georgia,serif;color:#e4ca8a}.lt-live-header span{font-size:12px;color:#a8b7c8}.lt-live-game{display:grid;grid-template-columns:minmax(175px,.6fr) minmax(250px,1fr);gap:12px;align-items:start}.lt-live-pair{display:grid;gap:8px}.lt-live-player{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;background:#151f2e;border:1px solid #33445a;border-radius:8px}.lt-live-player.thinking{border-color:#d5b36f;box-shadow:0 0 16px #c9a66128}.lt-live-player .legend-avatar{width:42px;height:42px}.lt-live-player strong{font-size:12px;line-height:1.25}.lt-clock{font:17px ui-monospace,monospace;color:#e5d5ae}.legend-tournament-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,420px);aspect-ratio:1;border:4px solid #a7864e;border-radius:7px;overflow:hidden;box-shadow:0 10px 26px #0006}.lt-board-square{display:grid;place-items:center;background:#ead4ae}.lt-board-square.dark{background:#71889a}.lt-board-square img{width:90%;height:90%;object-fit:contain}.lt-live-moves{grid-column:1/-1;min-height:30px;padding:9px 11px;background:#141f2e;border-radius:7px;color:#c8d2df;font:12px/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.lt-standings{width:100%;border-collapse:collapse;font-size:12px}.lt-standings th,.lt-standings td{padding:8px 10px;border-bottom:1px solid #ffffff12;text-align:left}.lt-standings thead th{color:#c7b07e;font-weight:600}.lt-standings tbody th{color:#e3e7ed;font-weight:500}.lt-standings tbody td{color:#b7c4d2}.lt-match-results>strong{color:#d8c48e;font:16px Georgia,serif}.lt-match-results ol{display:grid;gap:5px;margin:8px 0 0;padding-left:22px;color:#aebdce;font-size:11px;line-height:1.5}
@media(max-width:750px){.legend-tournament{padding:16px;gap:14px}.legend-tournament>.section-heading h2{font-size:25px}.legend-tournament-form{grid-template-columns:1fr;gap:14px}.legend-tournament-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:430px}.lt-player-option{grid-template-columns:16px 38px minmax(0,1fr);min-height:54px;gap:2px 7px;padding:6px}.lt-player-option .lt-avatar{width:38px;height:38px}.lt-player-option strong{font-size:10px}.lt-player-option small{font-size:8px}.legend-tournament-settings{padding:12px}.lt-live-header{align-items:flex-start;flex-direction:column}.lt-live-game{grid-template-columns:1fr}.lt-live-pair{grid-template-columns:1fr 1fr}.lt-live-player{grid-template-columns:34px minmax(0,1fr);gap:5px;padding:6px}.lt-live-player .legend-avatar{width:34px;height:34px}.lt-live-player strong{font-size:10px}.lt-clock{grid-column:2;font-size:15px}.legend-tournament-board{width:min(100%,390px);margin:auto}.lt-standings{font-size:10px}.lt-standings th,.lt-standings td{padding:7px 5px}}

.legend-tournament-live[hidden]{display:none}
.sponsor-price{padding:12px 14px;border-left:2px solid #cfaa68;background:#1b2735;color:#d4ddeb;line-height:1.6}
.legend-paypal-buttons{max-width:460px;margin:12px auto 4px;padding:10px 12px;border:1px solid #35445b;border-radius:12px;background:#111a28}
.legend-paypal-buttons[hidden]{display:none}
.lt-history{margin-top:20px;padding:18px;border-top:1px solid #35445b}
.lt-history h3{margin:6px 0 12px;color:#e7edf6}
.lt-history-list{display:grid;gap:8px}
.lt-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:1px solid #35445b;border-radius:10px;background:#111a28;color:#d4ddeb;text-align:left;cursor:pointer}
.lt-history-item:hover{border-color:#cfaa68;background:#182335}
.lt-history-item small{display:block;margin-top:4px;color:#91a2b9}
.legend-game-archive{border:1px solid #ffffff16;border-radius:8px;background:#0d1622;color:#c7d1de;overflow:hidden}.legend-game-archive summary{cursor:pointer;list-style:none;padding:10px 11px;color:#d8c28d;font-size:12px;font-weight:600}.legend-game-archive summary::-webkit-details-marker{display:none}.legend-game-archive summary:after{content:'＋';float:right;color:#a3afbb}.legend-game-archive[open] summary:after{content:'−'}.legend-game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:420px;overflow:auto;overscroll-behavior:contain;margin:0;padding:0 9px 9px;list-style:none}.legend-game-list li{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:10px;background:#162132;border:1px solid #ffffff10;border-radius:7px}.legend-game-list li>div{min-width:0}.legend-game-list strong,.legend-game-list small{display:block}.legend-game-list strong{font:14px/1.3 Georgia,serif;color:#eee7da}.legend-game-list small{margin-top:4px;color:#91a4ba;font-size:10px;line-height:1.4}.legend-game-list p{margin:7px 0 0;color:#b6c0cd;font-size:11px;line-height:1.45}.legend-game-list a{margin-top:auto;color:#d2b977;font-size:10px;text-decoration:none}.legend-game-list a:hover{text-decoration:underline}.legend-game-tag{margin-top:auto;padding:4px 6px;border:1px solid #8fa0b533;border-radius:4px;color:#a9b8c7;font-size:8px;letter-spacing:.6px}@media(max-width:750px){.legend-game-list{grid-template-columns:1fr}}


.legend-archive-status{margin:0;padding:8px 11px;border-top:1px solid #ffffff12;color:#91a4ba;font-size:11px;line-height:1.5}

.legend-archive-search,.legend-archive-pages{display:flex;gap:.5rem;margin:.6rem 0;flex-wrap:wrap}.legend-archive-search input{flex:1;min-width:100px;max-width:100%}.legend-archive-pages button{min-height:46px;flex:1}.legend-game-list{max-height:600px;overflow-y:auto}

/* Original AnnaSchach artwork: one asset per board, proportions preserved. */
.textured-board{background-size:100% 100%;background-position:center;isolation:isolate}.textured-board>.square,.textured-board>.preview-cell,.textured-board>.square.dark,.textured-board>.preview-cell.dark{background:transparent}.textured-board>.last{box-shadow:inset 0 0 0 100px #f7d26744}.textured-board>.selected{box-shadow:inset 0 0 0 100px #a1dafa77}.textured-board>.check{box-shadow:inset 0 0 0 100px #dc294f77}.textured-board>.legal:after{z-index:3}.textured-board .coordinate{color:white;text-shadow:0 1px 3px #000,0 0 3px #000;font-size:11px}.square>img:not(.royal),.preview-cell>img:not(.royal){position:absolute;width:92%;height:94%;inset:3% 4%;object-fit:contain;filter:drop-shadow(0 2px 1px #0008)}.square>img[data-piece=p]:not(.royal),.preview-cell>img[data-piece=p]:not(.royal){height:78%;top:17%}.world-card{isolation:isolate;background:var(--card-bg)}.world-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1629ee,#0b162922),var(--card-art) center/cover;opacity:.85}.world-card img{height:175px;width:105px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 8px #000);opacity:1}.world-card small,.world-card strong,.world-card span{position:relative;z-index:1}.arena-scene{isolation:isolate;position:relative}.arena-scene:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(135deg,#0b142be8,#0b142bd4),var(--world-art) center/cover;opacity:.55;border-radius:inherit}.board-frame{border:2px solid var(--board-edge);box-shadow:0 16px 45px #0006,inset 0 0 0 2px #0006}.textured-board .square.check{background:#ff366055}.preview-board{box-shadow:0 14px 30px #0006;border:5px solid var(--board-edge)}[data-world=volcanic] .board-frame{box-shadow:0 0 26px #e4683028,0 16px 45px #0008}[data-world=druid] .board-frame{border-radius:12px;border-color:#607d43}[data-world=cyberpunk] .board-frame{border-color:#49ced6;box-shadow:0 0 18px #36e6de22}[data-world=ice] .board-frame{border-color:#bee6f6;box-shadow:0 0 23px #a4e4ff33}.motion-piece img:not(.royal){width:92%;height:94%;inset:3% 4%;object-fit:contain}
/* Puzzle Worlds: a journey with a chess board at its centre. */
.quest-masthead{display:grid;grid-template-columns:1.5fr .65fr;align-items:center;background:radial-gradient(ellipse at 80% 50%,#27634a66,transparent 65%),linear-gradient(120deg,#112c2c,#101927);border:1px solid #456452;border-radius:16px;padding:38px 48px;overflow:hidden;position:relative}.quest-masthead h2,.tournament-banner h2{font:42px/1.2 Georgia,serif;max-width:660px;margin:16px 0}.quest-masthead p{max-width:520px;font-size:16px;line-height:1.7}.quest-masthead .primary{width:auto;min-width:260px}.quest-figure{height:290px;display:flex;align-items:center;justify-content:center}.quest-figure img{height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 10px 24px #79ae4644)}.progress-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #314057;border-radius:12px;background:#111e2ecc;margin:20px 0 38px;padding:20px;gap:15px}.progress-strip>div{display:grid;gap:7px;border-right:1px solid #314057;padding-left:15px}.progress-strip>div:last-child{border:0}.progress-strip strong{font:30px Georgia,serif;color:#e9c990}.progress-strip span{font-size:13px;color:var(--muted)}.journey-map{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.journey-world{display:flex;flex-direction:column;gap:18px;background-size:cover;background-position:center;text-align:left;border:1px solid #586b4e;padding:25px 22px;border-radius:12px;min-height:230px;color:#edf0e5}.journey-world:disabled{filter:saturate(.45);opacity:.65}.journey-world small{font-size:11px;letter-spacing:1.3px;color:#c4d1b2}.journey-world strong{font:27px/1.2 Georgia,serif}.journey-world span{font-size:14px;margin-top:auto}.journey-world progress{width:100%;height:5px;accent-color:#c7d08c}.puzzle-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:24px 0}.puzzle-modes button{display:grid;gap:12px;text-align:left;border:1px solid #344966;background:linear-gradient(120deg,#1e3046,#132036);border-radius:12px;padding:24px;color:#e4e9ef}.puzzle-modes strong{font:25px Georgia,serif;color:#e8cea0}.puzzle-modes span{font-size:14px;color:#a7b8cf}.quest-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.quest-columns .section-heading{margin-top:16px}.quest-columns .section-heading h2{font-size:25px}.quest-columns .section-heading span{font-size:12px;max-width:160px;text-align:right}.daily-quest{display:grid;grid-template-columns:1fr auto;gap:9px;padding:21px 0;border-bottom:1px solid #31415a;align-items:center}.daily-quest strong{font-size:16px;font-weight:500}.daily-quest small{grid-row:2;font-size:13px;color:#a7bbca}.daily-quest button{grid-row:1/3;grid-column:2}.reward-card{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:13px;padding:18px;border:1px solid #3d4a5d;background:#152233;border-radius:10px;margin-bottom:12px}.reward-icon{font-size:31px;color:#e3be75}.reward-card>div{display:grid;gap:8px}.reward-card strong{font-size:15px}.reward-card small{font-size:12px;line-height:1.55;color:var(--muted)}.reward-card button{font-size:12px;padding:9px 12px;min-width:70px}.reward-card button:disabled{opacity:.5}.puzzle-feedback{min-height:65px;line-height:1.6;color:#dcead3;font-size:15px}.session-stats{padding:14px 0;font-size:18px;color:#e8c887}.puzzle-active .workspace{grid-template-columns:250px minmax(330px,650px) 270px;gap:22px}.puzzle-active .left-panel{display:block!important}.puzzle-active .right-panel{display:block}.puzzle-active .game-actions,.puzzle-active .export-actions,.puzzle-active #rematch,.puzzle-active #finishedReplay,.puzzle-active .style-peek,.puzzle-active #worldPuzzleControls[data-mode=mistakes] select,.puzzle-active #worldPuzzleControls[data-mode=mistakes] label,.puzzle-active #focusMode{display:none!important}.puzzle-active .board-tools #undo{display:none}.puzzle-active .player-strip{display:none}.puzzle-active .notation #moves{height:190px}.puzzle-active #worldPuzzleControls select{font-size:14px;padding:10px}.puzzle-active .board-column{padding:0}.puzzle-active .left-panel h2{font-size:24px}.puzzle-active #worldPuzzleControls>a:first-child{display:block;padding:0 0 22px}
/* Analysis shares the live board, history, import and navigation. */
body[data-page=analysis] .workspace{grid-template-columns:minmax(340px,min(72svh,720px)) minmax(280px,370px);gap:28px;justify-content:center}body[data-page=analysis] .workspace>.left-panel{display:none}body[data-page=analysis] .workspace>.right-panel{display:block}body[data-page=analysis] .right-panel>.status-card,body[data-page=analysis] .game-actions,body[data-page=analysis] .export-actions,body[data-page=analysis] .material,body[data-page=analysis] .finished-replay,body[data-page=analysis] #rematch,body[data-page=analysis] .player-strip,body[data-page=analysis] #focusMode{display:none!important}body[data-page=analysis] .board-column{align-self:start;padding:0 0 0 22px;position:sticky;top:15px}body[data-page=analysis] .board-frame{position:relative}body[data-page=analysis] .notation{margin-top:20px}body[data-page=analysis] .notation #moves{height:160px}#analysisControls h2{font-size:27px;margin-top:10px}#analysisControls textarea{min-height:55px;height:65px;font-size:13px}#analysisControls .divider{margin:15px 0}#analysisControls .quiet{padding:8px}#analysisControls label{margin-top:14px}#analysisControls .evaluation{font:23px Georgia,serif;min-height:30px;color:#eed8b1;background:none;border:0;padding:9px 0}.stockfish-tools{border-top:1px solid #344258;padding-top:14px}.engine-line{display:grid;width:100%;gap:9px;border:1px solid #31445f;border-radius:6px;padding:12px;text-align:left;background:#142236;color:#dce7f4;margin:9px 0}.engine-line strong{font-size:14px;color:#e1c996}.engine-line span{font-size:13px;line-height:1.7}.analysis-report{margin:35px 0;border-top:1px solid #344359}.evaluation-graph{position:relative;border:1px solid #304258;background:linear-gradient(#20334c,#101d2e);border-radius:10px;overflow:hidden}.evaluation-graph svg{display:block;width:100%;height:160px;cursor:crosshair}.evaluation-graph input{display:block;width:100%;margin:0;accent-color:#d4b474}.turning-points{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.turning-point{display:flex;flex-direction:column;gap:10px;border:1px solid #805243;border-left:3px solid #f1ab62;background:#251f25;color:#ead5b8;border-radius:8px;text-align:left;padding:17px}.turning-point.blunder{border-color:#9a5362}.turning-point span,.turning-point small{font-size:13px}.eval-bar{position:absolute;left:-28px;top:0;width:14px;height:100%;background:#102033;border:1px solid #52617b;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end}.eval-bar>div{height:50%;width:100%;background:#e6e4d5;transition:height .35s}.eval-bar span{position:absolute;top:50%;left:1px;font-size:9px;writing-mode:vertical-rl;color:#b68226;font-weight:bold}.stockfish-tools .primary{margin-top:15px}
/* Events and the local tournament hall, without invented live activity. */
.tournament-banner{position:relative;display:grid;grid-template-columns:1.5fr .6fr;gap:40px;align-items:center;padding:42px 48px;background:radial-gradient(ellipse at 80% 55%,#317dac45,transparent 60%),linear-gradient(135deg,#222d3d,#111822);border:1px solid #7c6741;border-radius:14px}.tournament-banner p{font-size:16px;line-height:1.7;max-width:570px;color:#bfc5ce}.tournament-banner .primary{width:auto}.tournament-banner img{width:100%;max-height:310px;object-fit:contain;filter:drop-shadow(0 0 30px #4b9fc855)}.tournament-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tournament-card{position:relative;overflow:hidden;isolation:isolate;background:#142032;border:1px solid #405066;border-radius:12px;padding:28px;display:flex;flex-direction:column;min-height:340px}.tournament-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#0b142b55,#101b2b 85%),var(--event-art) center/cover;opacity:.65}.event-type{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#ddd0b2}.tournament-card h3{font:30px/1.2 Georgia,serif;margin:18px 0}.tournament-card p{font-size:14px}.tournament-card .secondary{margin-top:auto}.event-state{font-size:13px;color:#c9ae7f;letter-spacing:.2px}.tournament-card .subtle{line-height:1.7;margin:18px 0 25px}.prize-showcase{padding:23px;border:1px solid #786746;border-radius:10px;color:#e7ca94;background:linear-gradient(110deg,#3f3327,#1a2738);font-size:18px}.hall-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:25px 0}.hall-columns h3{font-size:18px}.hall-columns p{font-size:14px}#tournamentHall{margin:28px 0;padding:30px;border:1px solid #56627a;background:#111d2f;border-radius:14px}.cup-form{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:25px 0}.cup-form label{font-size:14px}.cup-form input{margin-top:9px}.standings{width:100%;border-collapse:collapse;margin:25px 0}.standings th,.standings td{text-align:left;padding:14px;border-bottom:1px solid #34435a;font-size:15px}.standings th{color:#9cafc6;font-weight:400}.cup-rounds{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.cup-rounds>div{padding:17px;background:#1b2c42;border-radius:8px}.cup-rounds p,.cup-rounds a{font-size:13px}.podium{display:flex;justify-content:center;align-items:flex-end;gap:20px;padding:35px 20px}.podium-place{display:flex;flex-direction:column;align-items:center;gap:16px;width:27%;min-height:170px;padding:20px 12px;background:linear-gradient(#444c5966,#202b3e);border:1px solid #58637d;border-radius:12px}.podium-place.champion{min-height:235px;background:linear-gradient(#aa793b55,#302c2d);border-color:#a48951}.podium-place.bronze{min-height:150px;border-color:#846555}.podium-place small{font-size:13px;color:#d7c7a7}.podium-place strong{font-size:20px}.trophy-cabinet{margin:40px 0}.cabinet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cabinet-grid .reward-card{margin:0}.username-edit{display:flex;gap:12px;align-items:center;margin:20px 0;max-width:580px}.username-edit input{flex:1}.username-edit button{flex-shrink:0}.local-trophy{border:1px solid #9b814a;background:#3e352638;padding:24px;border-radius:12px;margin-top:25px}.portrait-avatar[data-frame=explorer]{outline:3px double #ead39d;outline-offset:4px}.portrait-avatar[data-frame=emerald]{outline:3px solid #7ac99e;box-shadow:0 0 23px #44b28766}.portrait-avatar[data-frame=century]{outline:4px double #d8b866;box-shadow:0 0 24px #b48835}.auth-dialog,.welcome-dialog{padding:38px;max-width:470px;width:calc(100% - 28px);background:linear-gradient(145deg,#24384f,#111c2d);max-height:90svh;overflow:auto}.auth-dialog h2,.welcome-dialog h2{font:31px/1.25 Georgia,serif}.auth-dialog p{font-size:15px;line-height:1.65}.auth-dialog #googleButton{margin:25px 0}.starter-reward{padding:17px;color:#e6cc96;background:#53463133;border:1px solid #84724e;border-radius:9px;font-size:14px;line-height:1.5}.award-dialog{isolation:isolate;overflow:hidden;text-align:center;max-width:470px;width:calc(100% - 28px);padding:44px 30px;background:radial-gradient(ellipse at 50% 0%,#ae854355,transparent 70%),#131f31;border:1px solid #c1a06a;border-radius:18px}.award-dialog h2{font:34px/1.25 Georgia,serif;color:#f0dcb5}.award-dialog p{color:#aebed0;line-height:1.7;font-size:16px}.award-emblem{display:block;font-size:80px;color:#ebc882;text-shadow:0 0 40px #eabc7466}.award-light{position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-conic-gradient(from 0deg at 50% 25%,#dbaa4311 0 5deg,transparent 5deg 20deg);animation:award-reveal .7s ease-out}@keyframes award-reveal{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.square>img[src*='/b'],.preview-cell>img[src*='/b'],.square>img[src*='#b'],.preview-cell>img[src*='#b']{filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 .5px #ffffc4)}
@media(max-width:1150px){.header nav{gap:18px}.header{gap:20px}.header nav a{font-size:14px}.puzzle-active .workspace{grid-template-columns:230px minmax(320px,1fr)}.puzzle-active .right-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:22px}.puzzle-active .right-panel .notation{margin:0}.quest-masthead{padding:30px}.quest-masthead h2,.tournament-banner h2{font-size:36px}.journey-world{padding:19px}.journey-world strong{font-size:23px}.tournament-grid{grid-template-columns:repeat(2,1fr)}.turning-points{grid-template-columns:repeat(3,1fr)}.quest-columns{gap:20px}.reward-card{grid-template-columns:25px 1fr;gap:12px}.reward-card button{grid-column:2;justify-self:start}.reward-icon{font-size:26px}.cup-rounds{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.header nav{overflow-x:auto;justify-content:space-between;gap:10px;scrollbar-width:none}.header nav a{font-size:12px;padding:13px 0;flex-shrink:0}.quest-masthead{padding:24px;grid-template-columns:1fr}.quest-masthead h2{font-size:32px;max-width:300px}.quest-figure{position:absolute;right:-12px;top:28px;height:130px;opacity:.28;pointer-events:none;z-index:-1}.quest-masthead p{font-size:14px}.quest-masthead .primary{width:100%;min-width:0}.progress-strip{padding:15px 5px;gap:5px;margin-bottom:25px}.progress-strip>div{padding-left:8px;gap:7px}.progress-strip strong{font-size:24px}.progress-strip span{font-size:10px}.journey-map{grid-template-columns:1fr 1fr;gap:10px}.journey-world{min-height:200px;padding:17px 15px;gap:14px}.journey-world strong{font-size:23px}.journey-world small{font-size:9px}.journey-world span{font-size:12px}.puzzle-worlds>.section-heading{flex-direction:column;gap:16px}.puzzle-modes{grid-template-columns:1fr;gap:10px}.puzzle-modes button{padding:18px 20px;gap:8px}.puzzle-modes strong{font-size:24px}.quest-columns{grid-template-columns:1fr;gap:16px}.quest-columns .section-heading span{font-size:11px}.reward-card{grid-template-columns:30px 1fr auto;padding:15px;gap:10px}.reward-card button{grid-row:1;grid-column:3;font-size:11px;padding:9px}.reward-card strong{font-size:14px}.puzzle-active .workspace{display:flex;flex-direction:column}.puzzle-active .board-column{order:0;position:static}.puzzle-active .left-panel{order:1;width:100%}.puzzle-active .right-panel{order:2;display:flex;flex-direction:column}.puzzle-active #worldPuzzleControls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.puzzle-active #worldPuzzleControls h2,.puzzle-active #worldPuzzleControls .puzzle-feedback,.puzzle-active #worldPuzzleControls>a:first-child,.puzzle-active #worldPuzzleControls>.subtle,.puzzle-active #worldPuzzleControls .session-stats{grid-column:1/-1}.puzzle-active #worldPuzzleControls>a:first-child{padding:0}.puzzle-active #worldPuzzleControls h2{margin:0}.puzzle-active #worldPuzzleControls label{font-size:13px;margin:0;align-self:center}.puzzle-active #worldPuzzleControls #puzzleModeName{grid-column:1/-1}.puzzle-active .puzzle-feedback{min-height:0;margin:5px 0}.puzzle-active .session-stats{padding:5px 0}.puzzle-active #worldNext{grid-column:1/-1}.puzzle-active .left-panel .style-peek{display:none}.puzzle-active .left-panel>h2{display:none}body[data-page=analysis] .workspace{display:flex;flex-direction:column;gap:20px}body[data-page=analysis] .board-column{position:static;padding-left:15px}body[data-page=analysis] .right-panel{width:100%}.eval-bar{left:-20px;width:10px}.eval-bar span{font-size:8px}.analysis-report .section-heading{flex-direction:column;gap:10px}.turning-points{grid-template-columns:1fr 1fr;gap:10px}.turning-point{padding:13px}.turning-point strong{font-size:14px}.tournament-banner{grid-template-columns:1fr;padding:26px 23px;gap:15px;isolation:isolate}.tournament-banner h2{font-size:35px}.tournament-banner img{position:absolute;right:4px;top:45px;height:150px;width:140px;opacity:.25;z-index:-1}.tournament-banner p{font-size:14px}.tournament-banner .primary{width:100%}.tournament-grid{grid-template-columns:1fr;gap:16px}.tournament-card{min-height:300px;padding:25px}.tournament-card h3{font-size:30px}.tournaments-page>.section-heading{flex-direction:column;gap:15px}.cup-form{grid-template-columns:1fr 1fr;gap:12px}.cup-rounds{grid-template-columns:1fr 1fr;gap:10px}.cup-rounds>div{padding:12px}.cup-rounds strong{font-size:13px}.standings td,.standings th{font-size:13px;padding:10px 5px}.hall-columns{grid-template-columns:1fr;gap:5px}#tournamentHall{padding:18px 14px}.podium{gap:8px;padding:24px 0}.podium-place{width:33%;padding:15px 7px;gap:12px}.podium-place strong{font-size:15px;overflow-wrap:anywhere}.podium-place .award-emblem{font-size:50px}.podium-place small{font-size:11px}.cabinet-grid{grid-template-columns:1fr;gap:12px}.trophy-cabinet>.section-heading{flex-direction:column;gap:12px}.username-edit{flex-wrap:wrap}.username-edit button{width:100%}.auth-dialog,.welcome-dialog{padding:30px 22px}.award-dialog h2{font-size:29px}.page-heading h1{line-height:1.25}}
[data-fx=leaf].fx-capture:after,[data-fx=leaf].fx-move:after{border-radius:0 75%;rotate:30deg;box-shadow:0 0 14px #82f2a0}[data-fx=frost].fx-capture:after,[data-fx=frost].fx-move:after{box-shadow:0 0 24px #c1f3ff;border-style:double}.effect-symbol.leaf{border-radius:0 70%;color:#82f2a0}.effect-symbol.frost{color:#c1f3ff;text-shadow:0 0 30px #c1f3ff}
.analysis-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.analysis-player{display:flex;align-items:center;gap:11px;min-width:0;padding:9px 12px;border:1px solid #40516a;border-radius:8px;background:linear-gradient(110deg,#202c3e,#121d2d)}.analysis-player.white{border-color:#b2935c;background:linear-gradient(110deg,#3a3427,#172338)}.analysis-player.black{border-color:#52647e}.analysis-player-glyph{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border-radius:7px;background:#dfc286;color:#302514;font:26px Georgia}.analysis-player.black .analysis-player-glyph{background:#25344a;color:#d6e2ef;border:1px solid #576d89}.analysis-player-info{display:grid;min-width:0;gap:3px}.analysis-player-info small{color:#cbb27f;font-size:10px;font-weight:800;letter-spacing:1.3px}.analysis-player.black .analysis-player-info small{color:#a8bdd5}.analysis-player-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f0f3f7;font-size:14px}
@media(max-width:750px){.analysis-players{gap:7px}.analysis-player{padding:8px;gap:7px}.analysis-player-glyph{width:29px;height:30px;flex-basis:29px;font-size:22px}.analysis-player-info strong{font-size:12px}.analysis-player-info small{font-size:9px}}

.board-tools{grid-template-columns:repeat(5,minmax(0,1fr))}#quickThemes{color:var(--gold)}#slamDoor{color:#b99aaa;font-size:13px;margin-top:10px}#slamDoor:hover{color:#ffb3b3;border-color:#905364}.theme-dialog{width:min(960px,94vw);max-height:88svh;padding:26px;border:1px solid #5a5872;border-radius:20px;background:#101725;color:#e5edf8;overflow:auto}.theme-dialog::backdrop{background:#020611d9;backdrop-filter:blur(9px)}.theme-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px}.theme-dialog h2{margin:4px 0}.theme-dialog p{color:#a4b6cc}.theme-filters{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.theme-filters button.active{color:#07131d;background:#d4b16e}.quick-worlds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-worlds .world-card{min-height:170px;padding:14px}.quick-worlds .world-card img{max-height:100px}.theme-parts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.theme-parts label{display:grid;gap:8px}.end-dialog{max-width:470px}.end-dialog footer{display:flex;gap:12px;margin-top:24px}.karma-portrait{position:relative;display:grid;place-items:center;width:100%;height:170px;isolation:isolate}.karma-portrait[data-level='0']{height:105px}.karma-portrait .portrait-avatar{z-index:1;margin:0!important}.karma-portrait>img{position:absolute;width:100%;max-width:430px;object-fit:contain;z-index:0;filter:drop-shadow(0 0 12px #83acff40)}.karma-portrait[data-level='1']>img{transform:scale(.66)}.karma-portrait[data-level='2']>img{transform:scale(.78)}.karma-portrait[data-level='3']>img{transform:scale(.9)}.karma-card{margin:8px 0 20px;color:#c3cfe0;font-size:13px}.karma-card strong{color:var(--gold);font-weight:500}.karma-card summary{cursor:pointer;margin-top:10px}.karma-card p{line-height:1.7;max-width:440px}.theme-note{font-size:13px;line-height:1.6}@media(max-width:650px){.theme-dialog{padding:18px}.quick-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-parts{grid-template-columns:1fr}.board-tools button{font-size:12px;padding:9px 2px}.end-dialog footer{flex-direction:column}}
/* 2D sprites share measured pedestal anchoring in game, previews and animation. */
.square>img.flat-piece,.preview-cell>img.flat-piece,.motion-piece>img.flat-piece{inset:auto;margin:0;max-width:none;max-height:none;object-fit:fill;transform:none}
#board{touch-action:none;user-select:none;-webkit-user-select:none}#board.dragging{cursor:grabbing}.square.drag-target{box-shadow:inset 0 0 0 4px #f2ce83!important}.drag-piece{pointer-events:none;filter:drop-shadow(0 6px 7px #0008)}.drag-piece img{pointer-events:none}
.lobby-modes{display:grid;gap:10px;margin:20px 0}.lobby-modes button{display:flex;align-items:center;gap:15px;width:100%;padding:17px 18px;text-align:left;border:1px solid #40516a;border-radius:9px;color:#e4edf8;background:linear-gradient(120deg,#203149,#142032)}.lobby-modes button:first-child{border-color:#b69860;background:linear-gradient(120deg,#4a3d28,#233048)}.lobby-modes button>span:first-child{font-size:27px;color:#dfc28a;min-width:30px}.lobby-modes strong{display:block;font-size:16px}.lobby-modes small{display:block;margin-top:5px;font-size:13px;color:#aabbd0}.lobby-modes b{margin-left:auto;color:#cbb07b}.lobby-invitation>h2{font-size:30px!important}.live-engine-toggle{display:flex;align-items:center;gap:12px;padding:15px;background:#203a3f;border:1px solid #528f80;border-radius:8px;color:#d0ffe9;font-size:17px}.live-engine-toggle input{width:21px;height:21px;accent-color:#6de5bf}.analysis-navigation{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 13px}.analysis-navigation span{font-size:13px;color:#a9b8c9}.engine-arrow{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;filter:drop-shadow(0 1px 2px #071d25);opacity:.9}.engine-line span{overflow-wrap:anywhere;line-height:1.65}.engine-line{min-height:70px}.engine-line:disabled{opacity:.65}
.custom-clock{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;background:#1d2e43;border-radius:9px;border:1px solid #58708c}.custom-clock label{margin:0}.custom-clock input{margin-top:8px}.custom-clock p{grid-column:1/-1;margin:0}.custom-waiting{margin:35px 0;padding:24px;border:1px solid #506782;border-radius:13px;background:#132135}.custom-waiting .quick-challenge{margin:7px 0}#returnAnalysis{border-color:#a88b53;color:#efd299;margin:12px 0}#analysisPositionCount{max-width:50%;text-align:center}
/* Launch stays attached to the board, before theme browsing. */
.battle-preview-column{min-width:0}.battle-launch{display:grid;gap:10px;margin-top:12px}.battle-launch #beginBattle{width:100%;margin:0;min-height:50px}.battle-launch .error-text:empty{display:none}.battle-launch .error-text{margin:0}.battle-launch #setupSignIn{margin:0}.standings-scroll{overflow-x:auto}.standings-scroll .standings{min-width:660px}.league-paging{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}#cupPlayers{width:100%;margin-top:12px;resize:vertical;font:inherit;font-size:16px;line-height:1.7;min-height:180px}
/* AnnaSchach 2.5D: the board is a shallow plane; sprites stand above it. */
#board.depth-board,.preview-board.depth-board{aspect-ratio:1 / .85;overflow:visible;isolation:isolate}
.depth-board>.square,.depth-board>.preview-cell{overflow:visible;isolation:auto;aspect-ratio:auto;z-index:auto}
.depth-board .square>img.depth-piece,.depth-board .preview-cell>img.depth-piece,.motion-piece>img.depth-piece{position:absolute;inset:auto;margin:0;max-width:none;max-height:none;object-fit:fill;transform:none;pointer-events:none;z-index:var(--piece-depth,10);filter:drop-shadow(0 3px 2px #0008)}
/* Ruby and emerald preserve Ice Crystal's transparent facets and 2.5D silhouettes. */
.depth-board .square>img.depth-piece[data-gem=ruby],.depth-board .preview-cell>img.depth-piece[data-gem=ruby],.motion-piece>img.depth-piece[data-gem=ruby],.pocket-piece img[data-gem=ruby]{filter:drop-shadow(0 3px 3px #420c22a8)}
.depth-board .square>img.depth-piece[data-gem=emerald],.depth-board .preview-cell>img.depth-piece[data-gem=emerald],.motion-piece>img.depth-piece[data-gem=emerald],.pocket-piece img[data-gem=emerald]{filter:drop-shadow(0 0 3px #43e6a866) drop-shadow(0 3px 3px #063b28ae)}
.depth-board[data-pieces="ice-gems"]>.square:not(.dark),.depth-board[data-pieces="ice-gems"]>.preview-cell:not(.dark){background:#f7e1a5 url('/world-assets/ice-gems/diamond-light.webp?v=0f0ba339472d86ec') center / cover no-repeat}
.depth-board[data-pieces="amethyst-diamond"]>.square:not(.dark),.depth-board[data-pieces="amethyst-diamond"]>.preview-cell:not(.dark),[data-pieces="amethyst-diamond-2d"]>.square:not(.dark),[data-pieces="amethyst-diamond-2d"]>.preview-cell:not(.dark){background:#c9e9d7 url('/world-assets/amethyst-diamond/emerald-diamond-light.webp?v=91527920e122aa02') center / cover no-repeat}
.depth-board img.depth-piece[data-gem=diamond],.motion-piece img.depth-piece[data-gem=diamond]{filter:drop-shadow(0 2px 3px #42325eb0)}
.depth-board img.depth-piece[data-gem=amethyst],.motion-piece img.depth-piece[data-gem=amethyst]{filter:drop-shadow(0 2px 3px #250b46c9)}
.depth-board .square.selected>img.depth-piece{filter:drop-shadow(0 0 5px #ffe1a2)}
.board-frame:has(>.depth-board){padding-top:26%}
.preview-board.depth-board{margin-top:26%!important}
.depth-board .engine-arrow{z-index:30}.depth-board .motion-piece{z-index:40}.drag-piece:has(>.depth-piece){isolation:isolate}
.depth-board .motion-piece.ice-motion-piece{z-index:60;transform-style:preserve-3d;will-change:transform,filter}.depth-board .ice-capture-shard{position:absolute;left:50%;top:54%;z-index:55;width:8%;height:16%;pointer-events:none;clip-path:polygon(50% 0,100% 36%,70% 100%,18% 82%,0 30%);background:linear-gradient(145deg,#f5fdff 0%,#c5f3ff 27%,#e9c776 56%,#fff7d4 100%);filter:drop-shadow(0 0 5px #d4f5ffb8)}
/* Tight classic SVGs: the visible silhouette nearly fills the square. */
.square>img.classic-large,.square>img.classic-large[data-piece=p],.preview-cell>img.classic-large,.preview-cell>img.classic-large[data-piece=p],.motion-piece>img.classic-large{inset:auto;left:2%;top:2%;width:96%;height:96%;margin:0;max-width:none;max-height:none;object-fit:contain;object-position:center bottom}
/* Wood & Gold and the preserved Ivory & Gold classic sets share the walnut frame. */
.board-frame:has(#board[data-pieces="classic"][data-theme="walnut"]),.board-frame:has(#board[data-pieces="classic-wood"][data-theme="walnut"]){padding:9px;background:linear-gradient(135deg,#e4bd78 0%,#6d3c20 16%,#bf7c3b 34%,#4b2918 52%,#d5a35d 73%,#5b321b 88%,#e7c47e 100%);border-color:#b37b3f;box-shadow:0 18px 48px #0008,inset 0 0 0 2px #29170c}
.preview-board[data-pieces="classic"][data-theme="walnut"],.preview-board[data-pieces="classic-wood"][data-theme="walnut"]{border:6px solid #8c542b;outline:1px solid #d6a65f;box-shadow:0 14px 34px #0007}
.square img.classic-large,.preview-cell img.classic-large,.motion-piece img.classic-large{filter:drop-shadow(0 2px 2px #0009)}
#board[data-pieces="classic"] .square>img.classic-large,#board[data-pieces="classic"] .motion-piece>img.classic-large,.preview-board[data-pieces="classic"] .preview-cell>img.classic-large,#board[data-pieces="classic-wood"] .square>img.classic-large,#board[data-pieces="classic-wood"] .motion-piece>img.classic-large,.preview-board[data-pieces="classic-wood"] .preview-cell>img.classic-large{left:-1%;top:-1%;width:102%;height:102%}
/* Amber Ice Crystal whites use dedicated recolored RGBA sprites in worlds.mjs. */

/* Royal marble uses the full ornamented frame around a precisely aligned grid. */
.framed-board{border:4px solid var(--board-edge);border-image:var(--board-frame-art) 24 / 8px / 4px stretch}
/* Gem kit frame: only the newly added opal/quartz board uses this ornament. */
.framed-board[data-theme="citrine-emerald"]{border-image:var(--board-frame-art) 80 / 12px / 4px stretch}
@media(max-width:650px){.framed-board[data-theme="citrine-emerald"]{border-image-width:8px;border-image-outset:2px}}

/* The flat ruby set keeps the dimensional set's diamond light cells. */
[data-pieces="ice-gems-classic-2d"]>.square:not(.dark),[data-pieces="ice-gems-classic-2d"]>.preview-cell:not(.dark){background:#f7e1a5 url('/world-assets/ice-gems/diamond-light.webp?v=0f0ba339472d86ec') center / cover no-repeat}

/* Built-in 2D artwork remains complete when a custom pack fails. */
.asset-fallback img:not(.motion-piece){left:2%!important;top:2%!important;width:96%!important;height:96%!important;object-fit:contain!important;transform:none!important;filter:none!important;}
#board.puzzle-loading>*{visibility:hidden}#board.puzzle-loading{background-image:none!important;position:relative;pointer-events:none}
#board.puzzle-loading:after{content:attr(data-load-message);position:absolute;inset:0;display:grid;place-items:center;color:#dfebf7;background:#172436eb;font:600 16px/1.5 Manrope,sans-serif;padding:20px;text-align:center}

/* Ice Crystal 2.5D: each square owns its crop of the existing gemstone atlas.
   Keep material visible beneath late-loaded Academy styles; geometry and pieces are unchanged. */
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell){background-image:url('/world-assets/ice/refresh/board.webp?v=604ed4d6599a13ab');background-size:800% 800%;background-position:var(--ice-material-x,0%) var(--ice-material-y,0%);background-repeat:no-repeat}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+1){--ice-material-x:0%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+2){--ice-material-x:14.285714285714286%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+3){--ice-material-x:28.571428571428573%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+4){--ice-material-x:42.857142857142854%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+5){--ice-material-x:57.142857142857146%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+6){--ice-material-x:71.42857142857143%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+7){--ice-material-x:85.71428571428571%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(8n+8){--ice-material-x:100%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+1):nth-child(-n+8){--ice-material-y:0%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+9):nth-child(-n+16){--ice-material-y:14.285714285714286%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+17):nth-child(-n+24){--ice-material-y:28.571428571428573%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+25):nth-child(-n+32){--ice-material-y:42.857142857142854%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+33):nth-child(-n+40){--ice-material-y:57.142857142857146%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+41):nth-child(-n+48){--ice-material-y:71.42857142857143%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+49):nth-child(-n+56){--ice-material-y:85.71428571428571%}
.depth-board[data-theme="ice"][data-pieces="ice"] > :is(.square,.preview-cell):nth-child(n+57):nth-child(-n+64){--ice-material-y:100%}

/* Signature gemstone atlas stays visible after lazily loaded lesson styles. */
[data-theme="sapphire"] > :is(.square,.preview-cell){background-image:url('/world-assets/sapphire/board.webp?v=6236ec945f1a1a61');background-size:800% 800%;background-position:var(--sapphire-x,0%) var(--sapphire-y,0%);background-repeat:no-repeat}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+1){--sapphire-x:0.0%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+2){--sapphire-x:14.285714285714286%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+3){--sapphire-x:28.571428571428573%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+4){--sapphire-x:42.857142857142854%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+5){--sapphire-x:57.142857142857146%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+6){--sapphire-x:71.42857142857143%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+7){--sapphire-x:85.71428571428571%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(8n+8){--sapphire-x:100.0%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+1):nth-child(-n+8){--sapphire-y:0.0%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+9):nth-child(-n+16){--sapphire-y:14.285714285714286%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+17):nth-child(-n+24){--sapphire-y:28.571428571428573%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+25):nth-child(-n+32){--sapphire-y:42.857142857142854%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+33):nth-child(-n+40){--sapphire-y:57.142857142857146%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+41):nth-child(-n+48){--sapphire-y:71.42857142857143%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+49):nth-child(-n+56){--sapphire-y:85.71428571428571%}
[data-theme="sapphire"] > :is(.square,.preview-cell):nth-child(n+57):nth-child(-n+64){--sapphire-y:100.0%}
[data-theme="sapphire"]:is(.preview-board,#board){box-shadow:0 0 0 2px #efce84,0 0 0 5px #594325,0 12px 30px #0008}

.legend-match-styles{color:#adbed0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.broadcast-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.broadcast-toolbar>strong{flex:1;text-align:center}.broadcast-set-picker{display:flex;align-items:center;gap:8px;color:#d6c49f;font-size:12px;white-space:nowrap}.broadcast-set-picker select{width:min(260px,30vw);min-width:165px;height:42px;margin:0;padding:0 32px 0 12px;border:1px solid #8f774d;border-radius:8px;background:linear-gradient(135deg,#1c2b3e,#121e2d);color:#f2dfb4;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.broadcast-set-picker select:focus-visible{outline:2px solid #e3c582;outline-offset:2px}
.broadcast-sound{min-height:42px;white-space:nowrap;border-color:#58735e;color:#ccebd0}.broadcast-sound.is-muted{border-color:#536176;color:#a7b2c1;background:#172231}
.broadcast-dialog{width:min(1320px,96vw);max-width:1320px;max-height:94svh;overflow:auto;padding:22px}
.broadcast-focus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--cw-broadcast-aside,320px));gap:24px;align-items:start}.broadcast-focus.broadcast-aside-hidden{grid-template-columns:minmax(0,1fr)}.broadcast-focus.broadcast-aside-hidden>aside{display:none}
.broadcast-focus>section{min-width:0}
.broadcast-board-viewport{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#536982 transparent}
.broadcast-focus #broadcastBoard{width:min(var(--cw-board-size,640px),100%);max-width:none;margin:12px auto}
.broadcast-focus aside{display:flex;flex-direction:column;min-width:0;min-height:0}
.broadcast-moves{max-height:min(62svh,680px);overflow:auto;overscroll-behavior:contain}
@media(min-width:751px){body[data-page="play"] .workspace,body.game-started[data-page="play"] .workspace,body[data-page="analysis"] .workspace,body[data-page="puzzles"] .workspace{grid-template-columns:minmax(280px,var(--cw-board-size,640px)) minmax(240px,310px);justify-content:center}body[data-page="analysis"] .workspace .left-panel{grid-column:1/-1}body[data-page="analysis"] .workspace .board-column{grid-column:1}body[data-page="analysis"] .workspace .right-panel{grid-column:2}body[data-page="puzzles"] .workspace .left-panel{grid-column:1/-1}.board-column{min-width:0}}
@media(max-width:900px){.broadcast-page{grid-template-columns:210px minmax(0,1fr)}#eventTeasers{grid-template-columns:1fr 1fr}#eventTeasers>a:nth-child(3){display:none}.header nav{gap:12px}.broadcast-focus{grid-template-columns:minmax(0,1fr) 230px;gap:15px}}
@media(max-width:750px){.events-rail{display:block;padding:16px;margin-bottom:16px}#eventTeasers{margin-top:14px;gap:12px}.broadcast-page{display:block}.broadcast-page>aside{margin-bottom:22px}#broadcastEvents{max-height:230px;grid-template-columns:repeat(2,minmax(0,1fr))}.broadcast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.broadcast-card{padding:8px;gap:8px}.broadcast-card strong{font-size:13px}.broadcast-dialog{width:calc(100vw - 16px);max-width:none;max-height:96svh;overflow:auto;padding:8px}.broadcast-toolbar{flex-wrap:wrap;gap:8px}.broadcast-toolbar strong{order:3;width:100%;font-size:16px}.broadcast-set-picker{flex:1;min-width:0}.broadcast-set-picker select{width:100%;min-width:0}.broadcast-focus{display:block}.broadcast-board-viewport{width:100%;margin-inline:auto}.broadcast-focus aside{margin-top:18px}.broadcast-moves{max-height:160px}.broadcast-transport button{padding:10px;font-size:14px}.board-column{width:min(100%,var(--cw-board-size,640px));align-self:center;box-sizing:border-box}.board-size-control{gap:8px}.board-size-control label{font-size:13px}}

/* Puzzle controls stay beside the board on desktop and dock after a solution on mobile. */
@media(min-width:751px){.puzzle-active:not(.legacy-puzzle) .workspace{grid-template-columns:minmax(280px,min(var(--cw-board-size,640px),72svh)) minmax(240px,310px);gap:22px;justify-content:center}.puzzle-active:not(.legacy-puzzle) .left-panel{display:none!important}.puzzle-active:not(.legacy-puzzle) .board-column{grid-column:1;grid-row:1}.puzzle-active:not(.legacy-puzzle) .right-panel{grid-column:2;grid-row:1;display:block;align-self:start}.puzzle-active:not(.legacy-puzzle) #worldPuzzleControls{position:sticky;top:12px}.puzzle-active.legacy-puzzle .legacy-next-puzzle{margin:12px 0}}
@media(max-width:750px){.puzzle-active:not(.legacy-puzzle) .workspace{display:flex;flex-direction:column;gap:16px}.puzzle-active:not(.legacy-puzzle) .left-panel{display:none!important}.puzzle-active .legacy-next-puzzle[hidden]{display:none}.puzzle-active.puzzle-solved #worldNext,.puzzle-active.legacy-puzzle.puzzle-solved #nextPuzzle{position:fixed;z-index:40;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;margin:0;box-shadow:0 8px 30px #000b;border:1px solid #e3c582;padding:16px}.puzzle-active.puzzle-solved main{padding-bottom:90px}}
.legend-event-event{border-color:#9b7a45;background:linear-gradient(120deg,#27364a,#1d2b3a 62%,#382e27)}.legend-event-event strong{color:#f4dbab}.legend-event-standings{display:grid;gap:10px;margin:10px 0 20px;padding:14px 16px;background:#101d2d;border:1px solid #354b63;border-radius:10px}.legend-event-standings>p{margin:0}.legend-event-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.legend-event-roster span{padding:8px 10px;border-radius:6px;background:#192b40;color:#dce5ef;font-size:13px}.legend-event-standings[hidden]{display:none}@media(max-width:750px){.legend-event-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
.legend-home-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:12px 0 0;padding:13px 15px;border:1px solid #a7874b66;border-radius:10px;background:linear-gradient(110deg,#15283b,#111a28 70%,#252019);box-shadow:0 8px 24px #0003}.legend-home-caption[hidden]{display:none}.legend-home-live-label{font-size:11px;font-weight:750;letter-spacing:1.2px;color:#e2bd78}.legend-home-live-label:first-letter{color:#fa6b55}.legend-home-players{font:clamp(17px,2vw,23px)/1.25 Georgia,serif;color:#f5e7ca}.legend-home-meta,.legend-home-clocks{font-size:12px;color:#bac8d7}.legend-home-link{margin-top:2px;color:#f0ca7e;font-size:12px;text-decoration:none}.legend-home-link:hover{text-decoration:underline}.legend-home-countdown{font:18px Georgia,serif;color:#f1d293}@media(max-width:750px){.legend-home-caption{margin-top:9px;padding:11px 12px}.legend-home-players{font-size:18px}.legend-home-meta,.legend-home-clocks{font-size:11px}}
.legend-home-caption .legend-home-sound{min-height:36px;padding:4px 9px;color:#e3d5bb;border:1px solid #8a785666;border-radius:7px;font-size:12px}.legend-home-caption .legend-home-sound:hover{border-color:#cbb077}
.world-home>.events-rail{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2.6fr);align-items:center;gap:18px;min-width:0;margin:0 0 2px;padding:14px 18px;border:1px solid #5b739033;border-radius:12px;background:linear-gradient(105deg,#132338e8,#111c2bdc 58%,#18283a);box-shadow:0 10px 32px #0002}.events-rail>div:first-child{display:grid;gap:5px;min-width:0}.events-rail>div:first-child a{color:#e9d1a0}.events-rail>div:first-child strong{font-size:14px;letter-spacing:.2px}.events-rail>div:first-child>span{font-size:12px;color:#98abc1;line-height:1.45}#eventTeasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0}#eventTeasers>.event-teaser{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:9px 12px;border:1px solid #344a64;border-radius:8px;background:#0e1928a8;color:#e5edf7;text-decoration:none;transition:border-color .16s,background .16s}#eventTeasers>.event-teaser:hover{border-color:#b9985f;background:#1a2b3e}#eventTeasers>.event-teaser small{font-size:10px;line-height:1.35;letter-spacing:.5px;color:#d7b876}#eventTeasers>.event-teaser span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;color:#dce5f0}#eventTeasers>button{justify-self:start;align-self:center;border:1px solid #40536b;border-radius:6px;background:#18273a;color:#e0c486;padding:8px 12px}@media(max-width:900px){.world-home>.events-rail{grid-template-columns:minmax(150px,.75fr) minmax(0,2fr);gap:12px;padding:12px}#eventTeasers{grid-template-columns:repeat(2,minmax(0,1fr))}#eventTeasers>.event-teaser:nth-child(3){display:none}}@media(max-width:750px){.world-home>.events-rail{display:block;padding:15px;margin:0 0 2px}#eventTeasers{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;gap:8px}#eventTeasers>.event-teaser{min-height:54px;padding:9px}#eventTeasers>.event-teaser small{font-size:9px}#eventTeasers>.event-teaser span{font-size:11px}}
.broadcast-page{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);align-items:start;gap:28px;margin:10px auto 42px;min-width:0}.broadcast-page>aside,.broadcast-page>section{min-width:0}.broadcast-page>aside{position:sticky;top:18px;padding:17px;border:1px solid #2e4057;border-radius:12px;background:linear-gradient(155deg,#142236,#101a28);box-shadow:0 14px 36px #0002}.broadcast-page>aside .section-heading{margin:0 0 14px}.broadcast-page>aside .section-heading h2{margin:0;font-size:18px}.broadcast-page>aside>a{display:inline-block;margin-top:12px;font-size:12px}.broadcast-page>section{padding:4px 0}.broadcast-page>section>h2{margin:0 0 8px;font:28px/1.3 Georgia,serif;color:#f0dfbe}.broadcast-page>section>#broadcastInfo{margin:0 0 16px}.broadcast-event{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;width:100%;min-width:0;margin:0 0 8px;padding:12px 13px;border:1px solid #30435a;border-radius:8px;background:linear-gradient(120deg,#17263a,#131f2e);color:#e7edf5;text-align:left;line-height:1.4}.broadcast-event:hover{border-color:#a88b58;background:linear-gradient(120deg,#20334a,#192739)}.broadcast-event small{font-size:10px;line-height:1.35;color:#9eafc3}.broadcast-event strong{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.45;color:#e5ecf4}.broadcast-event .subtle{font-size:11px;line-height:1.4;color:#a8b6c7}.legend-event-event{border-color:#9b7a45;background:linear-gradient(120deg,#27364a,#1d2b3a 62%,#382e27)}.legend-event-event strong{color:#f4dbab}#broadcastEvents{display:grid;gap:0;max-height:calc(100svh - 285px);min-height:180px;overflow:auto;align-content:start;padding-right:4px;scrollbar-width:thin;scrollbar-color:#485b72 transparent}#broadcastEvents:empty{min-height:0}#broadcastEvents>.broadcast-event:last-child{margin-bottom:0}.broadcast-controls{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.4fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid #26384e;border-radius:9px;background:#101a28}.broadcast-controls label{display:grid;gap:6px;margin:0;color:#9fb0c5;font-size:12px}.broadcast-controls select,.broadcast-controls input{height:42px;margin:0}.broadcast-controls button{height:42px;white-space:nowrap}#broadcastStatus{min-height:20px;margin:11px 2px;color:#8fa4bd;font-size:12px}#broadcastGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));align-items:start;gap:13px;margin-top:14px}.broadcast-card{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0;padding:11px;border:1px solid #2d4057;border-radius:10px;background:linear-gradient(145deg,#162437,#111a27);color:#e5edf6;text-align:left;box-shadow:0 8px 22px #0002}.broadcast-card:not(:disabled):hover{border-color:#a88d5e;transform:translateY(-2px)}.broadcast-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.broadcast-card .preview-board{width:100%;aspect-ratio:1;border:3px solid #2d3d52;border-radius:4px;box-shadow:0 5px 16px #0005}.broadcast-card .subtle{font-size:11px;line-height:1.35;color:#9cacc0}.broadcast-card .legend-match-styles{font-size:10px}#legendEventStandings{margin-top:12px}.broadcast-page [hidden]{display:none!important}@media(max-width:900px){.broadcast-page{grid-template-columns:minmax(195px,220px) minmax(0,1fr);gap:18px}.broadcast-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:10px;border-radius:0;overflow:auto}.broadcast-focus{grid-template-columns:minmax(0,1fr) minmax(0,var(--cw-broadcast-aside,230px));gap:15px}.broadcast-controls{grid-template-columns:minmax(100px,.7fr) minmax(150px,1.3fr)}.broadcast-controls button{grid-column:1/-1;width:100%}#broadcastGrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,165px),1fr));gap:10px}}@media(max-width:750px){.broadcast-page{display:block;margin-top:0}.broadcast-page>aside{position:static;margin:0 0 18px;padding:13px}.broadcast-page>aside .section-heading{align-items:center}.broadcast-page>aside>a{margin-top:9px}#broadcastEvents{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:240px;min-height:0;padding:0}.broadcast-event{margin:0;padding:9px}.broadcast-event strong{font-size:11px}.broadcast-event small,.broadcast-event .subtle{font-size:9px}.broadcast-page>section>h2{font-size:24px}.broadcast-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding:11px}.broadcast-controls button{grid-column:1/-1}.broadcast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.broadcast-card{padding:8px;gap:7px}.broadcast-card strong{font-size:11px}.broadcast-card .subtle{font-size:10px}}

/* Large board zoom uses the full viewport, and move navigation stays thumb-friendly. */
.broadcast-dialog.broadcast-zoomed{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:12px;border:0;border-radius:0;overflow:auto}
.broadcast-transport{display:grid;grid-template-columns:minmax(48px,60px) minmax(48px,60px) minmax(120px,1fr) minmax(48px,60px) minmax(48px,60px);grid-template-areas:"first prev live next last";gap:8px;margin-top:auto;padding-top:12px}
.broadcast-transport button{display:grid;place-items:center;width:100%;min-width:48px;min-height:56px;padding:10px;border:1px solid #40536b;border-radius:8px;background:#18273a;color:#e3ebf4;font-size:24px;font-weight:650;line-height:1}
.broadcast-transport button:disabled{opacity:.4}
.broadcast-transport #broadcastFirst{grid-area:first}
.broadcast-transport #broadcastPrev{grid-area:prev}
.broadcast-transport #broadcastNext{grid-area:next}
.broadcast-transport #broadcastLast{grid-area:last}
.broadcast-transport #broadcastLive{grid-area:live;min-height:56px;padding:8px 10px;font-size:14px;font-weight:600;white-space:nowrap}
@media(max-width:520px){.broadcast-dialog.broadcast-zoomed{padding:8px}.broadcast-transport{grid-template-columns:44px 44px minmax(90px,1fr) 44px 44px;gap:5px}.broadcast-transport button{min-height:54px;padding:6px;font-size:23px}.broadcast-transport #broadcastLive{font-size:12px}}

/* Inline Stockfish analysis in the broadcast viewer. */
.broadcast-dialog [hidden]{display:none!important}
.broadcast-engine-toggle{display:flex;align-items:center;gap:11px;margin:14px 0 10px;padding:12px;border:1px solid #526a85;border-radius:10px;background:linear-gradient(135deg,#1b3047,#142438);cursor:pointer}
.broadcast-engine-toggle input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#dfb967}
.broadcast-engine-toggle span{display:grid;gap:3px;min-width:0}
.broadcast-engine-toggle strong{color:#f0d49b;font-size:14px}
.broadcast-engine-toggle small{color:#aebed0;font-size:11px;line-height:1.35}
.broadcast-engine-panel{max-height:270px;overflow:auto;margin:0 0 14px;padding:11px;border:1px solid #354d68;border-radius:9px;background:#0e1a29}
.broadcast-engine-panel>p{margin:0 0 8px;font-size:11px;line-height:1.45}
.broadcast-engine-panel ol{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:engine-line}
.broadcast-engine-panel li{display:grid;gap:4px;padding:8px 9px;border-radius:7px;background:#18283b;color:#ced9e6;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.broadcast-engine-panel li strong{color:#e7c781;font-size:11px}
.broadcast-focus #broadcastBoard{position:relative;isolation:isolate}
.broadcast-engine-arrows{position:absolute;inset:0;z-index:8;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 2px 3px #000b)}
.broadcast-engine-arrows path{vector-effect:non-scaling-stroke}
.broadcast-dialog #broadcastBoard .preview-cell{cursor:default}
.broadcast-dialog:has(#broadcastEngineEnabled:checked) #broadcastBoard .preview-cell{cursor:pointer}
.broadcast-dialog #broadcastBoard .preview-cell.broadcast-selected{box-shadow:inset 0 0 0 4px #66dfc8,0 0 12px #48cfb599}
.broadcast-dialog #broadcastBoard .preview-cell.broadcast-legal::after{content:'';position:absolute;inset:37%;border-radius:50%;background:#5ddac6a6;pointer-events:none;z-index:5}
.broadcast-dialog #broadcastBoard .preview-cell.broadcast-legal:has(img)::after{inset:6%;border:4px solid #5ddac6b8;background:transparent}
.broadcast-variation{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0;padding:10px;border:1px solid #4c927e;border-radius:8px;background:#102b2e;color:#d9f9ec}
.broadcast-variation[hidden]{display:none}.broadcast-variation strong{width:100%;font-size:13px}.broadcast-variation button{min-height:38px;padding:6px 10px}.broadcast-variation button.active{border-color:#62e7cb;color:#d9fff3}
.broadcast-focus>section>.broadcast-variation{width:100%;box-sizing:border-box;max-height:180px;overflow-y:auto;scrollbar-width:thin}
.broadcast-variation .broadcast-saved-label{margin-top:6px;color:#a7d4c9}
.broadcast-variation .broadcast-saved-branch{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:750px){.broadcast-engine-toggle{padding:11px}.broadcast-engine-panel{max-height:220px}.broadcast-engine-panel li{font-size:12px}.broadcast-engine-panel li strong{font-size:12px}}
.broadcast-flip{width:100%;min-height:44px;margin:10px 0 4px;border-color:#665b47;background:linear-gradient(180deg,#24384d,#18283b);color:#f2d394;font-weight:650}

/* Dock move controls beside the board; keep the board flip centered directly beneath. */
.broadcast-focus>section>.broadcast-transport{width:min(100%,480px);margin:8px auto 0;padding-top:0}
.broadcast-focus>section>.broadcast-flip{display:block;width:min(100%,280px);margin:8px auto 0}
@media(max-width:750px){.broadcast-focus>section>.broadcast-transport{width:100%;margin-top:7px}.broadcast-focus>section>.broadcast-flip{width:min(100%,280px);margin-top:7px}}

.broadcast-appearance{position:relative;z-index:12;width:min(100%,var(--cw-board-size,640px));margin:10px auto 14px}
.broadcast-appearance summary{display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 16px;list-style:none;border:1px solid #60728b;border-radius:10px;background:linear-gradient(135deg,#24374e,#172539);color:#dce7f0;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff14,0 4px 10px #0002;font-size:14px}
.broadcast-appearance summary::-webkit-details-marker{display:none}
.broadcast-appearance summary>span:first-child{color:#d9bd84;flex-shrink:0}
.broadcast-appearance summary strong{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.broadcast-appearance-chevron{font-size:22px;line-height:1;color:#d9bd84;transition:transform .15s}
.broadcast-appearance[open] .broadcast-appearance-chevron{transform:rotate(180deg)}
.broadcast-appearance summary:hover,.broadcast-appearance[open] summary{border-color:#d3b77d}
.broadcast-appearance summary:focus-visible,.broadcast-appearance-option:focus-visible{outline:2px solid #e0c68e;outline-offset:2px}
.broadcast-appearance-list{position:absolute;inset:calc(100% + 6px) 0 auto;max-height:min(440px,52dvh);overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid #63738a;border-radius:12px;background:#142235;box-shadow:0 14px 34px #0009}
.broadcast-appearance:not([open]) .broadcast-appearance-list{display:none}
.broadcast-appearance-option{display:flex;align-items:center;width:100%;min-height:48px;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#e1eaf2;text-align:left;font-size:14px;line-height:1.4;white-space:normal;cursor:pointer}
.broadcast-appearance-option:hover{background:#253950;border-color:#516985}
.broadcast-appearance-option[aria-pressed="true"]{background:#34434b;border-color:#c7ab71;color:#fff1d2}
.broadcast-appearance-option[aria-pressed="true"]:after{content:'✓';margin-left:auto;color:#dfc58d;font-weight:700}
@media(max-width:520px){.broadcast-appearance summary{gap:8px;padding:10px 12px}.broadcast-appearance-list{max-height:45dvh}.broadcast-appearance-option{min-height:48px}}

.broadcast-explore-board{display:block;width:min(100%,480px);min-height:46px;margin:8px auto 0}.broadcast-explore-board[hidden]{display:none}

.broadcast-engine-panel li button{justify-self:start;min-height:38px;padding:7px 12px;font-size:14px;color:#eed3a4;border:1px solid #627997;border-radius:7px}.broadcast-engine-panel li button:hover{border-color:#d6b879;background:#29405b}

.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:66px;padding:8px 10px;border:1px solid #4b5b70;border-radius:7px;background:#152131;color:#d8e2ed;white-space:nowrap;font-size:12px;letter-spacing:.06em}
.language-toggle:hover{border-color:var(--gold);color:var(--gold)}
#languageFlag{font-size:17px;line-height:1}
#languageCode{font-size:11px;font-weight:700}
@media(max-width:750px){.language-toggle{min-width:54px;padding:7px 8px}.header .user-menu{margin-left:auto}}

.social-page{max-width:1320px;margin:0 auto 5rem;padding:clamp(1rem,3vw,2.5rem);color:#e6edf8}
.social-page .section-heading{margin-bottom:1.5rem}
.social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:1rem}
.social-card,.social-row,.club-content,.settings-form fieldset{background:linear-gradient(145deg,#18263a,#101b2d);border:1px solid #33465b;border-radius:15px;padding:1.25rem;box-shadow:0 16px 38px #0002}
.social-card h3{margin:.35rem 0;color:#f1d6a3}.social-card p{white-space:pre-wrap;overflow-wrap:anywhere}.social-card small{display:block;color:#afbdcf;margin:.5rem 0}
.social-card a,.social-actions a,.social-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.social-actions,.social-tabs,.social-profile-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.social-tabs button.active{border-color:#dec182;color:#f8dfaa;background:#283a52}
.club-hero{display:flex;gap:1.4rem;align-items:center;min-height:245px;background-size:cover;background-position:center;border:1px solid #6f6a58;border-radius:18px;padding:clamp(1.2rem,4vw,2.8rem);box-shadow:0 24px 70px #02081366}
.club-hero h2{font-size:clamp(2rem,5vw,3.8rem);margin:.3rem 0}.club-hero p{max-width:52ch;line-height:1.5}.club-crest{flex:none;width:92px;height:92px;border:2px solid #e7c889;border-radius:22px;background:#d7b56b33;color:#f2d18c;font-size:4rem;display:grid;place-items:center;box-shadow:0 0 45px #efc67d44}.club-crest img{max-width:100%;max-height:100%;object-fit:contain}
.social-list{display:grid;gap:.65rem}.social-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;min-height:62px;padding:.8rem 1rem}.social-row>a:first-of-type{font-weight:650;margin-right:auto;color:#f2ddab}.social-row button{min-height:42px}.presence-dot.online{color:#7fe0aa}.presence-dot.away{color:#e7c783}.presence-dot.offline{color:#8b9bb1}
.club-content{min-height:230px;margin-top:1rem}.club-content h3{margin:0 0 1rem}.club-content .social-grid{margin-top:1rem}.club-content .social-card{margin:.75rem 0}.club-content .social-card strong{display:block;margin-top:1rem}
.chat-feed{display:flex;flex-direction:column;gap:.5rem;min-height:180px;max-height:450px;overflow-y:auto;padding:1rem;background:#0b1626;border-radius:12px;border:1px solid #30425a}.chat-message{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;background:#1c2b3f;padding:.6rem .8rem;border-radius:9px;overflow-wrap:anywhere}.chat-message.mine{border-left:3px solid #d6af6d}.chat-message span{flex:1;min-width:120px}.chat-message small{color:#a9b5c6}
.social-dialog{border:1px solid #8c7959;border-radius:18px;background:#152236;color:#f1f4f9;box-shadow:0 30px 90px #000b;width:min(95vw,580px);max-height:min(90vh,850px);overflow-y:auto;padding:2rem}.social-dialog::backdrop{background:#010812aa;backdrop-filter:blur(6px)}.social-dialog .close{float:right;min-width:40px;min-height:40px}.social-dialog h2{margin:.6rem 0 1.5rem}.social-form,.settings-form{display:grid;gap:1rem}.social-form label,.settings-form label{display:grid;gap:.4rem;color:#b9c9dd;font-size:.95rem}.social-form input,.social-form select,.social-form textarea,.settings-form input,.settings-form select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #4a6077;border-radius:8px;padding:.55rem .75rem;background:#0b182b;color:#f1f5f9;font:inherit}.social-form input[type=checkbox],.settings-form input[type=checkbox]{width:22px;min-height:22px;accent-color:#d6b16d}.social-form textarea{min-height:110px}.social-form button[type=submit]{min-height:48px}.social-page input:not([type=checkbox]){max-width:100%;box-sizing:border-box}
.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.settings-form fieldset{min-width:0;display:grid;gap:.85rem}.settings-form legend{color:#f1d7a3;font-size:1.25rem;font-weight:700;padding:0 .5rem}.settings-form>button{min-height:50px}.settings-form>p{grid-column:1/-1}
.messages-layout{display:grid;grid-template-columns:minmax(210px,30%) minmax(0,1fr);gap:1rem}.message-thread{min-width:0}.message-thread .chat-feed{max-height:50vh}.message-thread .social-form{margin-top:1rem}.profile-clubs{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.social-profile-actions{padding:.75rem 0;border-top:1px solid #30425a}.social-profile-actions>p{width:100%}
@media(max-width:760px){.social-page{padding:.8rem}.club-hero{display:block;min-height:0}.club-crest{width:68px;height:68px;font-size:3rem;margin-bottom:1rem}.social-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.social-tabs button{min-width:0;font-size:.87rem;padding:.55rem .3rem;min-height:46px}.settings-form,.messages-layout{grid-template-columns:1fr}.social-row>*{min-width:0}.social-row button{flex:1}.social-dialog{padding:1rem}.club-content{padding:1rem}}
.hide-legal .square.legal::after,.hide-legal .square.legal::before{display:none!important}
.hide-last .square.last,.hide-last .preview-cell.last{box-shadow:none!important;filter:none!important}
.square.last-from,.preview-cell.last-from,.legend-tournament-board .lt-board-square.last-from{box-shadow:inset 0 0 0 2px #9decd1aa,inset 0 0 14px #68dcb591,inset 0 0 0 999px #5ad8ae4d}
.square.last-to,.preview-cell.last-to,.legend-tournament-board .lt-board-square.last-to{box-shadow:inset 0 0 0 2px #c2ffe9e5,inset 0 0 19px #86f4c9bc,inset 0 0 0 999px #62e7b976}
.square.last-to.check,.preview-cell.last-to.check{box-shadow:inset 0 0 0 2px #c2ffe9e5,inset 0 0 16px #f1a6a099,inset 0 0 0 999px #cd817c55}
.square.premove-from{box-shadow:inset 0 0 0 4px #5fe7eb,inset 0 0 24px #37d3ee88}
.square.premove-to{box-shadow:inset 0 0 0 999px #40c9d46b,inset 0 0 0 4px #9afaff}
.square.premove-to.legal:after{background:#eaffff;border-color:#eaffff}
.hide-last .square.last-from,.hide-last .square.last-to,.hide-last .preview-cell.last-from,.hide-last .preview-cell.last-to,.hide-last .lt-board-square.last-from,.hide-last .lt-board-square.last-to{box-shadow:none!important}
.hide-last .square.premove-from{box-shadow:inset 0 0 0 4px #5fe7eb,inset 0 0 24px #37d3ee88!important}
.hide-last .square.premove-to{box-shadow:inset 0 0 0 999px #40c9d46b,inset 0 0 0 4px #9afaff!important}
.hide-check .square.check,.hide-check .preview-cell.check{box-shadow:none!important;filter:none!important}

.piece-pocket{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1vw,10px);padding:7px 4px;width:100%;box-sizing:border-box;background:#102035e6;border:1px solid #33445b;border-radius:9px;flex:none}.piece-pocket[hidden]{display:none!important}.pocket-piece{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:46px;width:18%;max-width:96px;padding:3px 7px;background:#1b2d44;border:1px solid #50657c;border-radius:7px;touch-action:none;color:#f4e5be}.pocket-piece img{width:34px;height:38px;object-fit:contain;pointer-events:none}.pocket-piece:disabled{opacity:.45}.pocket-piece.selected{outline:2px solid var(--gold);background:#465070}.pocket-drag-ghost{position:fixed;z-index:100001;width:65px;height:65px;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 8px 7px #0008)}.square.drop-target{box-shadow:inset 0 0 0 5px #82ccb7}.variant-settings{margin:12px 0}.variant-settings label{display:block;margin:8px 0}.variant-settings input,.variant-settings select{max-width:100%;box-sizing:border-box}.variant-note{color:var(--gold);font-size:14px;line-height:1.5}.variant-rule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.variant-rule-cards article{padding:24px;background:#142236;border:1px solid #3c4f67;border-radius:12px;line-height:1.65}.variants-page{max-width:1100px;margin:35px auto;padding:16px}.variant-rule-cards .primary{min-height:48px}.variant-badge{font-size:14px;color:var(--gold)}.variant-stats{display:flex;flex-wrap:wrap;gap:12px}.variant-stats>div{padding:12px;border:1px solid #33445b;border-radius:8px}.variant-stats strong,.variant-stats small{display:block}.archive-variant-filter{max-width:280px;margin:14px 0}.board-frame:has(>.piece-pocket:not([hidden])){display:flex;flex-direction:column;gap:7px}.board-frame:has(>.piece-pocket:not([hidden]))>.board{flex:none}.square[data-promoted=true]::after,.preview-cell[data-promoted=true]::after{content:'~';position:absolute;right:2px;bottom:1px;color:#ffdf81;font-size:18px;z-index:90;text-shadow:0 1px 2px #000;pointer-events:none}@media(max-width:650px){.variant-rule-cards{grid-template-columns:1fr}.piece-pocket{padding:3px 2px;gap:3px}.pocket-piece{min-height:44px;padding:2px 4px}.pocket-piece img{width:29px;height:33px}.variants-page{padding:12px}.variant-rule-cards article{padding:16px}}

.square.engine-drop{box-shadow:inset 0 0 0 5px #6cf1cf}.square.engine-drop::before{content:'↓';position:absolute;inset:0;display:grid;place-items:center;color:#6cf1cf;font-size:2rem;z-index:80}

/* Keep the existing 2.5D headroom above the pieces, below the pocket. */
.board-frame:has(>.piece-pocket:not([hidden])){padding-top:7px}
.board-frame>.piece-pocket:not([hidden])+.depth-board{margin-top:26%}
/* Existing header actions wrap before the tablet layout runs out of room. */
@media (min-width:751px) and (max-width:1550px){.header{flex-wrap:wrap;gap:12px;padding:12px 20px}.header nav{order:5;flex:1 1 100%;min-width:0;overflow-x:auto;justify-content:flex-start;gap:24px}.header nav a{padding:12px 0;white-space:nowrap}.header .presence-badge{font-size:12px;max-width:100%}}
.variant-state{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:8px 10px;background:#142337;border:1px solid #3a4b61;border-radius:8px;font-size:13px;line-height:1.4;margin:6px 0;box-sizing:border-box;max-width:100%;color:#c6d5e7}.variant-state strong{color:#e6c785}.variant-state[hidden]{display:none}.variant-state.mandatory{border-color:#dbaf68}.variant-state span{overflow-wrap:anywhere}.variant-target{outline:2px solid #d6b57770;outline-offset:-5px}.preview-board .variant-target{outline-width:1px;outline-offset:-3px}.variant-rule-cards{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.variant-rule-cards article{display:flex;flex-direction:column}.variant-rule-cards button{margin-top:auto}.variant-discovery{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0;padding:20px;border:1px solid #38516b;border-radius:12px;background:#132238}.variant-discovery>div{flex:1;min-width:180px}.variant-discovery small,.variant-discovery strong{display:block}.variant-discovery small{letter-spacing:.15em;color:#b8a775;margin-bottom:8px}.variant-discovery a{color:#c4d7ed}.variant-ratings{padding:16px;border:1px solid #34465d;border-radius:10px;margin:16px 0;max-width:100%;box-sizing:border-box}.variant-ratings table{width:100%;border-collapse:collapse;font-size:14px}.variant-ratings td,.variant-ratings th{padding:8px 5px;text-align:left;border-bottom:1px solid #31415a}.variant-ratings th{color:#cbb580}.variant-ratings td:first-child{max-width:150px;overflow-wrap:anywhere}.atomic-flash{animation:atomic-glow .45s ease-out}.atomic-ring{position:absolute;inset:-75%;border-radius:50%;border:3px solid #ffe1a9;pointer-events:none;z-index:95;animation:atomic-burst .45s ease-out forwards}@keyframes atomic-glow{20%{box-shadow:inset 0 0 25px #ffbf73b0}100%{box-shadow:inset 0 0 0 transparent}}@keyframes atomic-burst{0%{transform:scale(.15);opacity:.9;box-shadow:0 0 18px #fa925a}100%{transform:scale(1);opacity:0}}@media(max-width:450px){.variant-ratings{padding:9px}.variant-ratings table{font-size:11px}.variant-ratings td,.variant-ratings th{padding:7px 3px}.variant-state{font-size:12px}.variant-discovery{padding:14px}}@media(prefers-reduced-motion:reduce){.atomic-flash,.atomic-ring{animation:none}}
.world-home>.variant-discovery{grid-column:1/-1}body:not([data-page=analysis]) .analysis-players{display:none!important}

/* Phase 4 extends the existing metal/sapphire surfaces; chess boards stay shared. */
.tools-menu{position:relative;display:inline-block;color:var(--muted);font-size:14px}.tools-menu>summary{cursor:pointer;list-style:none;padding:12px 6px}.tools-menu[open]>summary{color:var(--gold)}.tools-menu>div{position:absolute;top:100%;right:0;z-index:600;display:grid;min-width:220px;padding:10px;background:#142133;border:1px solid #46546a;border-radius:8px;box-shadow:0 16px 48px #0009}.tools-menu a{padding:10px!important;display:block;font-size:14px!important}.global-search-link{font-size:25px;padding:8px}.learning-page{max-width:1500px;margin:0 auto 48px}.learning-page button,.study-toolbar button,.study-panel button{min-height:40px;padding:8px 12px;border:1px solid #3b4a61;background:linear-gradient(#22324a,#182638);border-radius:7px;color:#e5ebf4;cursor:pointer;box-shadow:0 2px 3px #0003}.learning-page button:hover,.study-panel button:hover{border-color:var(--gold);background:#2b3b52}.learning-page input,.learning-page select,.learning-page textarea,.study-panel input,.study-panel textarea,.study-panel select{max-width:100%;min-width:0;width:100%;font-size:14px}.learning-page textarea{width:100%;box-sizing:border-box}.learning-page h2{font-size:clamp(24px,4vw,38px)}.learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:18px}.learning-card{padding:20px;background:#132032;border:1px solid #304058;border-radius:10px;min-width:0;overflow-wrap:anywhere}.learning-card>a{display:block;margin-bottom:10px}.learning-card h3{margin:0 0 12px}.learning-card .secondary{font-size:14px}.study-cover{width:100%;aspect-ratio:2;object-fit:cover;border-radius:7px;margin-bottom:14px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tool-actions>*{max-width:100%;min-width:0}.learning-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:14px;margin:18px 0;align-items:end}.tool-field{display:grid;gap:7px;font-size:14px}.archive-filter-panel{padding:18px;border:1px solid #334158;border-radius:8px;margin:16px 0}.archive-results{display:grid;gap:14px}.study-toolbar{max-width:1500px;margin:0 auto 18px;padding:18px 22px;background:#132032;border:1px solid #3e4c62;border-radius:10px}.study-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.study-heading strong{font-size:21px}.study-heading a{color:var(--gold)}.study-panel{border-bottom:1px solid #455267;margin-bottom:20px;padding-bottom:20px}.study-panel details{margin:14px 0}.study-panel summary{font-size:15px;cursor:pointer;color:#d7c398;margin:10px 0}.chapter-select{display:flex;gap:8px}.chapter-select select{flex:1}.chapter-select button{flex:0 0 42px}.tree-topline{display:flex;align-items:center;gap:8px;margin-top:16px}.tree-topline strong{flex:1}.move-tree{max-height:260px;overflow:auto;line-height:2.5;padding:10px 0;overscroll-behavior:contain;overflow-wrap:anywhere}.study-panel .tree-move{display:inline-flex;padding:3px 7px;margin:3px;min-height:34px;border:1px solid transparent;box-shadow:none;background:#1c2a40;border-radius:5px;font-size:14px}.study-panel .tree-move.selected{background:#d8b879;color:#101924;border-color:#f5deac}.study-panel .tree-move.variation:before{content:'( ';color:#94a7c2}.tree-end{color:#91a2ba}.study-panel label{font-size:14px}.annotation-controls{display:grid;grid-template-columns:60px 1fr;gap:7px;margin:10px 0}.study-panel [aria-pressed=true]{background:#8e6b36;border-color:#e7c17d}.study-annotations{position:absolute;inset:0;width:100%;height:100%;z-index:90;pointer-events:none;overflow:visible}#board.annotating{cursor:crosshair;touch-action:none}.study-member{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:10px 0}.tablebase-panel{background:#142f33;padding:14px;margin:16px 0;border:1px solid #4b827d;border-radius:8px}.tablebase-panel button,.explorer-move{display:block;width:100%;text-align:left;margin:7px 0}.tablebase-panel small{display:block;margin-top:10px}.add-engine-line{margin-bottom:8px}.board-editor-layout{display:grid;grid-template-columns:minmax(280px,760px) minmax(240px,340px);gap:24px;align-items:start;justify-content:center}.position-editor-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;border:4px solid #ac8a54;box-sizing:border-box;margin:0!important}.position-editor-board .preview-cell{border:0;border-radius:0;padding:0;position:relative;min-height:0;aspect-ratio:1;box-shadow:none;background:#dbc69d}.position-editor-board .preview-cell.dark{background:#92704f}.position-editor-board img{position:absolute;width:96%;height:96%;object-fit:contain;inset:2%;pointer-events:none}.editor-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:14px 0}.editor-palette button{padding:2px;min-height:44px}.editor-palette img{width:100%;max-height:42px;object-fit:contain}.editor-palette .selected{border-color:var(--gold);background:#605238}.profile-studies{margin-top:30px}#studyConflict{padding:12px;border:1px solid #c79955;background:#483720;border-radius:8px}#studySaveState{margin:6px 0}body[data-page=analysis] .study-panel .tool-actions button{flex:1;font-size:13px}body[data-page=analysis] #analysisControls{min-width:0}.learning-page>.secondary{display:inline-block;margin:8px}.study-toolbar[hidden],.learning-page[hidden]{display:none!important}
@media(max-width:800px){.board-editor-layout{grid-template-columns:1fr}.board-editor-layout>section{padding:14px}.study-toolbar{padding:14px;margin:8px 0}.study-heading{gap:8px}.study-heading strong{font-size:18px}.study-toolbar button{flex:1;font-size:14px}.study-panel .move-tree{max-height:220px}.learning-card{padding:15px}.global-search-link{font-size:22px;padding:3px}.tools-menu>div{position:fixed;left:16px;right:16px;top:70px;max-height:70vh;overflow:auto}.learning-page{width:100%;min-width:0}.tool-actions button{min-height:44px}.learning-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-filters input,.learning-filters select{width:100%;box-sizing:border-box}.learning-page h2{font-size:25px}}
@media(max-width:420px){.learning-filters{grid-template-columns:1fr}.study-heading .subtle{width:100%}.study-toolbar .tool-actions{gap:6px}.study-toolbar .tool-actions button{flex:1 1 40%}.learning-page .tool-actions button{flex:1 1 40%}.editor-palette{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Keep the shared board visible beside a bounded, independently scrollable tool panel. */
@media(min-width:801px){body[data-page=analysis] #analysisControls{max-height:calc(100svh - 140px);overflow-y:auto;overscroll-behavior:contain;padding-right:10px;scrollbar-gutter:stable}body[data-page=analysis] .workspace{align-items:start}body[data-page=analysis] .workspace .board-column{align-self:start;grid-row:1}body[data-page=analysis] .workspace .right-panel{grid-row:1}body[data-page=analysis] .right-panel>.notation{display:none}}
.editor-promoted{position:absolute;right:4px;bottom:0;font-size:24px;font-weight:bold;color:#ffe075;text-shadow:0 1px 2px #000;z-index:2}
#editorPromoted{width:auto}.study-panel [translate=no]{unicode-bidi:plaintext}

.study-toolbar .tool-actions .primary{width:auto;min-width:150px;flex:0 1 auto}.study-toolbar .tool-actions{margin:10px 0}.study-toolbar #studySaveState:empty{display:none}

.annotation-controls{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page=analysis] .right-panel>.notation{display:none}
@media(max-width:800px){body[data-page=analysis] .analysis-navigation button{display:none}body[data-page=analysis] .analysis-navigation{justify-content:center;font-size:14px}body[data-page=analysis] .board-column>.history-controls{margin:10px 0 0}body[data-page=analysis] .board-column>.history-controls button{min-height:52px}}
.starter-studies{margin:24px 0 34px}.starter-studies h3,.studies-community-heading{font-size:21px;margin:0 0 8px}.starter-studies>.subtle{margin:0 0 16px}.starter-study-card{position:relative;display:flex;flex-direction:column;min-height:220px;background:radial-gradient(circle at 92% 5%,#31516d76,transparent 48%),linear-gradient(135deg,#1c2d43,#111d2d);border-color:#5c5870;overflow:hidden}.starter-study-card h4{font-size:20px;line-height:1.25;margin:4px 0 8px}.starter-study-card>p:not(.starter-study-level){color:#b9c7d7;line-height:1.5;margin:0 0 18px}.starter-study-card>a{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:auto;color:#f0cd87;font-weight:600;text-decoration:none;padding:10px 0}.starter-study-card>a:hover{text-decoration:underline}.starter-study-symbol{position:absolute;right:20px;top:8px;color:#c9ad7961;font-size:72px;line-height:1}.starter-study-level{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#d7b97f;margin:0 0 12px}.studies-community-heading{margin:0 0 16px}

.community-page{max-width:1280px;margin:0 auto;padding:20px 0}.community-page h2{font-size:clamp(1.7rem,4vw,2.5rem)}.community-page h3{margin-top:24px}.community-page .learning-filters input,.community-page .learning-filters select{width:100%;min-width:0}.community-page .tool-actions{flex-wrap:wrap;gap:8px}.community-page button,.community-page a.secondary{min-height:44px}.community-page .preview-board{width:100%;aspect-ratio:1;cursor:pointer}.correspondence-card{min-width:0;gap:10px}.correspondence-card .preview-board{max-width:240px;margin:auto}.your-turn{color:var(--gold,#e4c487);font-weight:600}.personal-home{display:grid;gap:12px;margin-bottom:20px}.home-priority-block{padding:16px;border:1px solid #31445b;border-radius:12px;background:#111d2b}.home-priority-block h3{margin:0}.home-priority-block .section-heading button{font-size:14px}.compact-correspondence{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-correspondence .preview-board{max-width:150px}.correspondence-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0}.condition-dialog{max-width:min(95vw,650px);max-height:94dvh;overflow:auto;background:#111d2b;color:#e8ecf3;padding:22px;border:1px solid #65717b;border-radius:16px}.condition-dialog .preview-board{width:min(100%,460px);aspect-ratio:1;margin:16px auto}.condition-dialog .preview-cell:focus-visible{outline:3px solid #e4c487;outline-offset:-4px}.condition-dialog .preview-cell.selected{background:#b19f57}.condition-dialog .preview-cell.legal:after{content:'';width:22%;height:22%;position:absolute;inset:39%;border-radius:50%;background:#12294299;pointer-events:none}.conditional-lines .tool-actions{margin:8px 0;flex-wrap:wrap}.stats-table-wrap{overflow:auto;max-width:100%;border:1px solid #31445b;border-radius:10px}.stats-table{border-collapse:collapse;width:100%;font-size:14px}.stats-table th,.stats-table td{text-align:left;padding:12px;border-bottom:1px solid #263b51}.stats-table th{color:#c8d5e4}.statistics-group{margin:14px 0}.statistics-group summary{cursor:pointer;padding:14px;font-size:16px;background:#152234;border-radius:8px}.rating-chart{margin:20px 0;padding:16px;border:1px solid #31445b;border-radius:14px;background:#101a28}.rating-chart svg{display:block;width:100%;max-height:240px}.rating-chart figcaption{font-size:16px}.activity-timeline{padding-left:22px}.activity-timeline li{padding:14px 0;border-bottom:1px solid #263b51}.activity-timeline small{display:block;color:#94a6bb;margin-bottom:8px}.trophy-card{gap:10px}.trophy-mark{font-size:32px;color:#e2bf77}.community-page .learning-card strong{overflow-wrap:anywhere}.community-page label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center;min-height:44px}.community-page input[type=checkbox]{width:20px;height:20px}.simul-board [role=button]:focus-visible{outline:3px solid #e4c487;outline-offset:3px}.community-page :focus-visible,.personal-home :focus-visible{outline:3px solid #75c2ef;outline-offset:3px}@media(max-width:600px){.community-page{padding:12px 0}.community-page .learning-grid{grid-template-columns:minmax(0,1fr)}.compact-correspondence{grid-template-columns:minmax(0,1fr)}.compact-correspondence .preview-board{max-width:190px}.condition-dialog{padding:12px}.community-page .learning-filters{grid-template-columns:minmax(0,1fr)}.community-page .tool-field{min-width:0}.stats-table td,.stats-table th{padding:9px}.community-page .simul-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simul-board{padding:10px}.simul-board strong{font-size:14px}}@media(prefers-reduced-motion:reduce){.community-page *,.condition-dialog *{animation:none!important;transition:none!important}}

body[data-page=home].hide-home-broadcast .home-arena{display:none}body[data-page=home].hide-home-broadcast .home-hero{grid-template-columns:1fr}.notification-actions select{min-width:0;max-width:100%;min-height:44px}

#homeDailyPuzzle{width:min(100%,240px);margin-bottom:12px}.home-priority-block .learning-grid{margin-top:12px}
.world-home>.personal-home{grid-column:1/-1;min-width:0;margin:26px 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start}.personal-home[hidden]{display:none}.personal-home>.home-priority-block{min-width:0}.personal-home .section-heading{gap:12px;align-items:center}.personal-home .section-heading button{min-height:36px}.personal-home #homeDailyPuzzle{width:min(100%,210px);margin:10px auto}.personal-home .home-priority-block[data-block=puzzle]{text-align:center}.personal-home .home-priority-block[data-block=puzzle] .section-heading{text-align:left}.personal-home .home-priority-block[data-block=puzzle]>a{display:inline-flex}.home-community-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 0}.home-community-links{display:flex;gap:8px;flex-wrap:wrap}.home-community-footer a{min-height:40px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #31445b;border-radius:8px;background:#142236;color:#cbd9eb;text-decoration:none}.home-community-footer a:hover{border-color:#c7a86f;color:#fff}@media(max-width:600px){.world-home>.personal-home{margin-top:16px;grid-template-columns:minmax(0,1fr)}.home-community-footer{display:grid}.home-community-links{display:flex}}

.simul-host{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.simul-host img{object-fit:contain}.simul-host span{color:var(--muted)}
