@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=UnifrakturCook:wght@700&display=swap";@import "https://fonts.googleapis.com/css2?family=UnifrakturCook:wght@700&display=swap";.devil-lobby{--lobby-gold:#e7c27a;--lobby-gold-bright:#ffe3a0;--lobby-red:#9f2638;--lobby-bg:#0b0810;--lobby-panel:#19121eeb;isolation:isolate;box-sizing:border-box;background:radial-gradient(ellipse at 50% 0%, #382033 0%, transparent 50%), radial-gradient(ellipse at 0% 100%, #32151e 0%, transparent 45%), var(--lobby-bg);color:#f8edf5;justify-content:center;align-items:center;min-height:100dvh;padding:48px 20px;font-family:Georgia,Times New Roman,serif;display:flex;position:relative;overflow:hidden}.devil-lobby *,.devil-lobby :before,.devil-lobby :after{box-sizing:border-box}.lobby-ambient{z-index:-1;filter:blur(100px);opacity:.2;pointer-events:none;border-radius:50%;width:360px;height:360px;position:absolute}.ambient-one{background:#8f1e39;top:5%;left:-180px}.ambient-two{background:#6836a0;bottom:5%;right:-180px}.lobby-shell{width:100%;max-width:1000px;margin:auto;animation:.7s ease-out both lobbyAppear}.lobby-header{text-align:center;margin-bottom:40px}.lobby-eyebrow,.lobby-card-label{color:var(--lobby-gold);letter-spacing:4px;font-family:Arial,sans-serif;font-size:11px;font-weight:700}.lobby-emblem{width:74px;height:74px;color:var(--lobby-gold-bright);background:linear-gradient(145deg,#34202e,#100c14);border:1px solid #e7c27aa6;border-radius:50%;place-items:center;margin:22px auto 14px;font-size:42px;display:grid;box-shadow:0 0 28px #b750702b,inset 0 0 20px #e7c27a12}.lobby-header h1{color:#fff5e8;letter-spacing:5px;text-shadow:0 4px 25px #000000a6;margin:0;font-size:clamp(30px,5vw,54px);font-weight:900;line-height:1.15}.lobby-header h1 span{color:var(--lobby-gold)}.lobby-subtitle{color:#b9aab9;max-width:520px;margin:16px auto 0;font-family:Arial,sans-serif;font-size:14px;line-height:1.7}.lobby-divider{width:min(320px,80%);color:var(--lobby-gold);justify-content:center;align-items:center;gap:15px;margin:25px auto 0;display:flex}.lobby-divider span{background:linear-gradient(90deg,#0000,#e7c27ab3);flex:1;height:1px}.lobby-divider span:last-child{transform:rotate(180deg)}.lobby-divider i{font-size:17px;font-style:normal}.lobby-panels{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch;display:grid}.lobby-card{background:linear-gradient(145deg,#2e1e2beb,#110d16f7);border:1px solid #e7c27a33;border-radius:16px;min-width:0;padding:32px;transition:transform .25s,border-color .25s,box-shadow .25s;box-shadow:0 20px 60px #00000040,inset 0 1px #ffffff09}.lobby-card:hover{border-color:#e7c27a7a;transform:translateY(-4px);box-shadow:0 24px 65px #00000059}.lobby-card-icon{width:54px;height:54px;color:var(--lobby-gold);background:#e7c27a12;border:1px solid #e7c27a59;border-radius:12px;place-items:center;margin-bottom:24px;font-size:28px;display:grid}.lobby-card-label{letter-spacing:2.2px;font-size:9px}.lobby-card h2{color:#fff4e7;margin:12px 0;font-size:clamp(23px,3vw,30px)}.lobby-card>p{color:#b9adbd;min-height:48px;margin:0 0 26px;font-family:Arial,sans-serif;font-size:13px;line-height:1.7}.lobby-button{cursor:pointer;letter-spacing:1.5px;border:1px solid #0000;border-radius:7px;width:100%;min-height:49px;padding:14px 16px;font-family:Arial,sans-serif;font-size:11px;font-weight:800;transition:transform .2s,filter .2s,box-shadow .2s;display:block}.lobby-button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}.lobby-button:focus-visible,.copy-code-button:focus-visible,.room-code-input:focus-visible{outline:2px solid var(--lobby-gold-bright);outline-offset:4px}.lobby-button:disabled{cursor:wait;opacity:.65}.create-button{color:#21130e;background:linear-gradient(135deg,#ffe4a3,#c18b3d);box-shadow:0 7px 25px #c18b3d26}.create-button:hover:not(:disabled){box-shadow:0 8px 30px #c18b3d4d}.join-button{color:#fff2f4;background:linear-gradient(135deg,#a92d45,#68192d);border-color:#e3657973;margin-top:16px;box-shadow:0 7px 25px #9f263829}.join-button:hover:not(:disabled){box-shadow:0 8px 30px #9f263852}.lobby-or{justify-content:center;align-items:center;display:flex}.lobby-or span{width:34px;height:34px;color:var(--lobby-gold);background:#17101a;border:1px solid #e7c27a40;border-radius:50%;place-items:center;font-family:Arial,sans-serif;font-size:10px;font-weight:700;display:grid}.join-form label{color:#d4c0d2;letter-spacing:1.5px;margin-bottom:10px;font-family:Arial,sans-serif;font-size:10px;font-weight:700;display:block}.room-code-input{width:100%;min-width:0;min-height:54px;color:var(--lobby-gold-bright);letter-spacing:7px;text-align:center;text-transform:uppercase;background:#050409a6;border:1px solid #e7c27a45;border-radius:7px;padding:12px;font-family:Courier New,monospace;font-size:23px;font-weight:800;transition:border-color .2s,box-shadow .2s;display:block}.room-code-input::placeholder{color:#69596c;letter-spacing:2px;font-size:12px}.room-code-input:focus{border-color:var(--lobby-gold);box-shadow:0 0 18px #e7c27a1a}.invitation-panel{text-align:center;background:#0504096b;border:1px dashed #e7c27a80;border-radius:10px;margin-top:22px;padding:18px;animation:.35s ease-out both lobbyAppear}.invitation-label{color:#c8b6c8;letter-spacing:1.6px;font-family:Arial,sans-serif;font-size:9px;font-weight:700}.invitation-code{color:var(--lobby-gold-bright);letter-spacing:8px;text-shadow:0 0 18px #e7c27a33;margin:13px 0;font-family:Courier New,monospace;font-size:clamp(25px,4vw,34px);font-weight:900}.copy-code-button{color:var(--lobby-gold);cursor:pointer;letter-spacing:1px;background:#e7c27a14;border:1px solid #e7c27a66;border-radius:6px;padding:10px 15px;font-family:Arial,sans-serif;font-size:10px;font-weight:800}.copy-code-button:hover{background:#e7c27a29}.invitation-panel p{color:#a99aab;margin:13px 0 0;font-family:Arial,sans-serif;font-size:11px}.lobby-message{color:#ffb7c1;text-align:center;background:#70182b38;border:1px solid #ff697859;border-radius:8px;max-width:600px;margin:20px auto 0;padding:13px 16px;font-family:Arial,sans-serif;font-size:13px}.lobby-message span{margin-right:6px}.lobby-footer{color:#8f8192;letter-spacing:1.5px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:32px;font-family:Arial,sans-serif;font-size:9px;font-weight:700;display:flex}.status-dot{background:#80cf92;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #80cf9280}.footer-separator{color:#8f6b48;font-size:7px}@keyframes lobbyAppear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.devil-lobby{align-items:flex-start;padding:36px 16px}.lobby-header{margin-bottom:28px}.lobby-header h1{letter-spacing:3px}.lobby-emblem{width:64px;height:64px;font-size:36px}.lobby-panels{grid-template-columns:minmax(0,1fr);gap:16px}.lobby-card{padding:25px}.lobby-card>p{min-height:0}.lobby-card-icon{margin-bottom:18px}.lobby-or{height:24px}.lobby-or span{width:30px;height:30px}.lobby-footer{letter-spacing:1px;line-height:1.8}}@media (prefers-reduced-motion:reduce){.lobby-shell,.invitation-panel{animation:none}.lobby-card,.lobby-button{transition:none}}.devil-lobby{letter-spacing:.5px;font-family:Cinzel,serif}.lobby-header h1{letter-spacing:2px;color:#d9c1a0;text-shadow:0 0 8px #872337b3,0 0 24px #4b0c1ee6,2px 3px 3px #000;font-family:UnifrakturCook,Cinzel,serif;font-size:clamp(38px,6vw,66px);font-weight:700;line-height:1.15}.lobby-header h1 span{color:#a82b43;text-shadow:0 0 12px #b4193299,2px 3px 3px #000;font-family:UnifrakturCook,serif}.lobby-card h2{letter-spacing:1px;color:#d7bd91;text-shadow:0 2px 8px #000000b3;font-family:Cinzel,serif;font-weight:800}.lobby-eyebrow,.lobby-card-label,.invitation-label,.lobby-footer{letter-spacing:2px;font-family:Cinzel,serif;font-weight:700}.lobby-button,.copy-code-button{letter-spacing:1.5px;font-family:Cinzel,serif;font-weight:800}.invitation-code,.room-code-input{letter-spacing:5px;font-family:Cinzel,serif;font-weight:900}.lobby-subtitle,.lobby-card>p,.invitation-panel p,.join-form label{font-family:Cinzel,serif;font-size:12px;line-height:1.9}.modal-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-over-modal{color:#fff;text-align:center;background:#1e1b2e;border-radius:18px;width:360px;padding:40px;box-shadow:0 15px 50px #00000080}.game-over-modal h1{margin-bottom:20px;font-size:2rem}.game-over-modal h2{color:#d4af37;margin-bottom:30px}.modal-buttons{justify-content:center;gap:20px;display:flex}.modal-buttons button{cursor:pointer;border:none;border-radius:10px;padding:12px 25px;font-size:16px}.new-game-btn{color:#000;background:#d4af37}.close-btn{color:#fff;background:#444}.online-game-page{--online-gold:#dfbd7e;--online-muted:#b8a8b8;isolation:isolate;color:#f8edf5;background:radial-gradient(at 50% 0,#35202e,#0000 55%),#0b0810;min-height:100dvh;padding:28px 20px 50px;font-family:Cinzel,Georgia,serif;position:relative;overflow:hidden}.online-game-page *,.online-game-page :before,.online-game-page :after{box-sizing:border-box}.online-game-ambient{z-index:-1;filter:blur(100px);pointer-events:none;background:#6419331f;border-radius:50%;width:min(800px,100vw);height:500px;position:absolute;top:150px;left:50%;transform:translate(-50%)}.online-game-header{background:#150f18e0;border:1px solid #dfbd7e3d;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1200px;margin:0 auto 34px;padding:18px 24px;display:flex;box-shadow:0 12px 40px #00000038}.online-game-brand{align-items:center;gap:16px;display:flex}.online-brand-emblem{width:54px;height:54px;color:var(--online-gold);background:#211522;border:1px solid #dfbd7e80;border-radius:50%;flex-shrink:0;place-items:center;font-size:32px;display:grid;box-shadow:0 0 24px #9f26381f}.online-brand-kicker{color:var(--online-gold);letter-spacing:2.5px;font-size:9px;font-weight:700}.online-game-brand h1{color:#e4d0b5;letter-spacing:1px;margin:5px 0 0;font-family:UnifrakturCook,Cinzel,Georgia,serif;font-size:clamp(22px,3vw,34px);line-height:1.15}.online-game-brand h1 span{color:#a83249}.online-room-details{align-items:center;gap:12px;display:flex}.online-room-code,.online-player-color{border-left:1px solid #dfbd7e40;flex-direction:column;gap:7px;min-width:120px;padding:12px 16px;display:flex}.room-detail-label{color:#99889e;letter-spacing:1.5px;font-size:9px;font-weight:700}.online-room-code strong{color:var(--online-gold);letter-spacing:3px;font-family:Cinzel,Georgia,serif;font-size:18px}.online-player-color strong{color:#f0e1d0;letter-spacing:1px;font-size:12px}.battle-waiting-screen{text-align:center;background:radial-gradient(at 50% 0,#6b213a33,#0000 65%),linear-gradient(145deg,#231724f5,#0d0a11f7);border:1px solid #dfbd7e47;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:min(650px,100%);min-height:400px;margin:45px auto 0;padding:42px 28px;animation:.55s ease-out both onlinePageEnter;display:flex;box-shadow:0 25px 90px #0006,inset 0 1px #ffffff09}.waiting-rune{width:86px;height:86px;color:var(--online-gold);background:#dfbd7e0a;border:1px solid #dfbd7e73;border-radius:50%;place-items:center;margin-bottom:25px;font-size:40px;display:grid;box-shadow:0 0 45px #9f263821}.waiting-eyebrow{color:var(--online-gold);letter-spacing:4px;font-size:10px;font-weight:700}.battle-waiting-screen h2{color:#e8d4b7;margin:17px 0 12px;font-family:Cinzel,Georgia,serif;font-size:clamp(23px,4vw,35px);font-weight:800;line-height:1.35}.waiting-description{max-width:430px;color:var(--online-muted);margin:0;font-family:Georgia,serif;font-size:14px;line-height:1.8}.waiting-invitation{background:#05040961;border:1px dashed #dfbd7e66;border-radius:10px;flex-direction:column;align-items:center;width:min(340px,100%);margin-top:28px;padding:20px;display:flex}.waiting-invitation>span{color:#aa98ad;letter-spacing:2px;font-size:9px;font-weight:700}.waiting-invitation strong{color:#f0cf8d;letter-spacing:7px;margin:12px 0 15px;font-family:Cinzel,Georgia,serif;font-size:32px}.waiting-invitation button{color:var(--online-gold);cursor:pointer;letter-spacing:1px;background:#dfbd7e14;border:1px solid #dfbd7e66;border-radius:6px;padding:11px 15px;font-family:Cinzel,Georgia,serif;font-size:9px;font-weight:800}.waiting-invitation button:hover{background:#dfbd7e29}.opponent-waiting-status{color:#bc9cad;letter-spacing:1.5px;justify-content:center;align-items:center;gap:10px;margin-top:27px;font-family:Cinzel,Georgia,serif;font-size:10px;font-weight:700;display:flex}.waiting-pulse,.battle-live-dot{background:#d8ad63;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.6s ease-in-out infinite onlinePulse;box-shadow:0 0 12px #d8ad63a6}.online-battle-arena{width:100%;max-width:1000px;margin:0 auto;animation:.65s ease-out both onlinePageEnter}.battle-status-bar{background:#150f18e0;border:1px solid #dfbd7e38;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:15px 20px;display:flex}.battle-status-indicator{color:#a6d5a9;letter-spacing:2px;align-items:center;gap:10px;font-size:10px;font-weight:800;display:flex}.battle-live-dot{background:#83cf92;width:7px;height:7px;box-shadow:0 0 10px #83cf928c}.battle-turn-status{color:var(--online-gold);letter-spacing:1.5px;text-align:right;font-size:11px;font-weight:800}.online-board-container{justify-content:center;width:100%;display:flex}@keyframes onlinePageEnter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes onlinePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media (width<=700px){.online-game-page{padding:18px 12px 32px}.online-game-header{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:24px;padding:18px}.online-game-brand,.online-room-details{justify-content:center}.online-room-code,.online-player-color{flex:1;min-width:0;padding:10px}.online-room-code strong{font-size:16px}.battle-waiting-screen{min-height:360px;margin-top:15px;padding:32px 18px}.waiting-rune{width:70px;height:70px;font-size:32px}.battle-status-bar{padding:13px}.battle-status-indicator,.battle-turn-status{letter-spacing:1px;font-size:9px}}@media (prefers-reduced-motion:reduce){.online-game-page *,.online-game-page :before,.online-game-page :after{transition:none!important;animation:none!important}}.online-brand-wolf{object-fit:contain;filter:drop-shadow(0 0 8px #dfbd7e4d);width:38px;height:38px;display:block}.online-player-color-label{align-items:center;gap:9px;display:flex}.player-color-circle{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.white-circle{background:#fff;border:1px solid #c9bda9;box-shadow:0 0 8px #ffffff4d}.black-circle{background:#17121b;border:1px solid #c9bda9;box-shadow:0 0 8px #dfbd7e33}:root{--bg-0:#0f0d18;--bg-1:#151228;--panel:#ffffff0b;--panel-border:#ffffff17;--light-sq:#8c8478;--dark-sq:#2b2b2b;--sq-highlight:#ffffff29;--move-dot:#f2ede28c;--gold:#c9a24b;--gold-soft:#c9a24b59;--teal:#49b6ab;--teal-soft:#49b6ab59;--danger:#e2574c;--text-0:#f3efe6;--text-1:#b9adda;--text-2:#7c7098;--serif:"Fraunces", serif;--sans:"Manrope", sans-serif;--mono:"JetBrains Mono", monospace}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{min-height:100dvh;color:var(--text-0);font-family:var(--sans);background-color:#0000;background-image:linear-gradient(#0000008c,#0000008c),url(/assets/background-DSS9ntOG.avif);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:center;align-items:flex-start;padding:40px 20px 60px;display:flex}.app{width:100%;max-width:1180px}header.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{box-shadow:none;background:0 0;border:none}.brand-piece{filter:drop-shadow(0 0 10px #b4141440)}.brand-mark span{z-index:2;position:relative}.brand h1{color:#f3efe6;text-shadow:0 0 10px #78000080;font-family:UnifrakturCook,cursive;font-size:56px}.brand p{color:var(--text-1);letter-spacing:.3px;margin:2px 0 0;font-size:13px}.top-actions{align-items:center;gap:10px;display:flex}button{font-family:var(--sans);cursor:pointer;border:1px solid var(--panel-border);background:var(--panel);color:var(--text-0);border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:transform .12s,background .12s,border-color .12s}button:hover{background:#ffffff14;transform:translateY(-1px)}button:active{transform:translateY(0)}button.primary{background:linear-gradient(135deg, var(--gold), #b58a3a);color:#1c1608;border:none}button.primary:hover{filter:brightness(1.08)}.layout{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:20px;display:flex}@media (width<=900px){.layout{grid-template-columns:1fr}}.board-wrap{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px;flex-shrink:0;width:min(700px,90vw);margin:0 auto;padding:20px;position:relative}.board-frame{position:relative}.seam{background:linear-gradient(180deg, transparent, var(--gold-soft) 20%, var(--teal-soft) 80%, transparent);filter:blur(.5px);pointer-events:none;z-index:1;width:2px;position:absolute;top:8px;bottom:8px;left:50%;transform:translate(-1px)}.board{aspect-ratio:1;z-index:2;border-radius:10px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 50px -20px #0009}.sq{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:clamp(20px,4.2vw,40px);display:flex;position:relative}.sq.light{background:var(--light-sq)}.sq.dark{background:var(--dark-sq)}.sq .coord{font-family:var(--mono);opacity:.45;pointer-events:none;font-size:9px;position:absolute;top:3px;left:4px}.sq.light .coord{color:#4a4230}.sq.dark .coord{color:#cfc4ea}.sq.selected:before{content:"";background:var(--sq-highlight);position:absolute;inset:0}.sq.last-from:before,.sq.last-to:before{content:"";background:#c9a24b47;position:absolute;inset:0}.sq.check-glow:before{content:"";background:#e2574c61;animation:1.1s ease-in-out infinite pulse;position:absolute;inset:0}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.dot{background:var(--move-dot);pointer-events:none;border-radius:50%;width:26%;height:26%;position:absolute}.ring{border:3px solid var(--move-dot);pointer-events:none;border-radius:50%;position:absolute;inset:6%}.piece{z-index:3;cursor:grab;filter:drop-shadow(0 3px 4px #00000059);line-height:1;transition:transform 80ms;position:relative}.piece:hover{transform:scale(1.06)}.piece.white-piece{color:#faf6ec;-webkit-text-stroke:1px #55482a}.piece.black-piece{color:#1a1626;-webkit-text-stroke:1px #0a0812}.wolf-piece{border-radius:50%;justify-content:center;align-items:center;width:78%;height:78%;font-size:.62em;display:flex}.wolf-piece.white-piece{-webkit-text-stroke:0;background:radial-gradient(circle at 35% 30%,#fffaf0,#d8cba0);box-shadow:inset 0 0 0 2px #55482a80}.wolf-piece.black-piece{-webkit-text-stroke:0;background:radial-gradient(circle at 35% 30%,#3a3050,#17131f);box-shadow:inset 0 0 0 2px #00000080}.sq.playable{cursor:pointer}.panel{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px;flex-direction:column;gap:18px;padding:20px;display:flex}.turn-card{border:1px solid var(--panel-border);background:#ffffff08;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.turn-label{font-family:var(--serif);font-size:17px;font-weight:600}.turn-sub{color:var(--text-1);margin-top:2px;font-size:12px}.swatch{border:1px solid #ffffff40;border-radius:50%;width:16px;height:16px}.swatch.w{background:#faf6ec}.swatch.b{background:#1a1626}.kings-status{gap:10px;display:flex}.king-chip{border:1px solid var(--panel-border);background:#ffffff08;border-radius:12px;flex-direction:column;flex:1;gap:4px;padding:10px 12px;display:flex}.king-chip .dotlight{border-radius:50%;width:9px;height:9px}.king-chip.Q .dotlight{background:var(--gold)}.king-chip.K .dotlight{background:var(--teal)}.king-chip.checked{border-color:var(--danger)}.king-chip.checked .dotlight{background:var(--danger);box-shadow:0 0 8px var(--danger)}.king-chip .name{color:var(--text-1);align-items:center;gap:6px;font-size:12px;display:flex}.king-chip .state{font-family:var(--mono);font-size:13px}.section-title{font-family:var(--serif);color:var(--text-1);text-transform:uppercase;letter-spacing:1.2px;margin:0 0 8px;font-size:14px;font-weight:600}.captured{flex-wrap:wrap;gap:4px;min-height:26px;font-size:20px;display:flex}.captured span{opacity:.9}.movelog{max-height:220px;font-family:var(--mono);color:var(--text-1);grid-template-columns:28px 1fr 1fr;gap:4px 6px;font-size:12.5px;display:grid;overflow-y:scroll}.movelog .num{color:var(--text-2)}.movelog .w-mv,.movelog .b-mv{color:var(--text-0)}details.rules{border-top:1px solid var(--panel-border);padding-top:14px}details.rules summary{cursor:pointer;font-family:var(--serif);color:var(--text-1);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;list-style:none;display:flex}details.rules summary::-webkit-details-marker{display:none}details.rules summary:after{content:"+";color:var(--text-2);font-size:18px}details.rules[open] summary:after{content:"–"}.rules-body{color:var(--text-1);margin-top:10px;font-size:12.8px;line-height:1.65}.rules-body b{color:var(--text-0)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;opacity:0;pointer-events:none;background:#08060eb8;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-backdrop.show{opacity:1;pointer-events:auto}.modal{border:1px solid var(--panel-border);text-align:center;background:linear-gradient(#1c1832,#14101f);border-radius:18px;width:min(420px,90vw);padding:32px;transition:transform .2s;transform:translateY(10px);box-shadow:0 30px 80px -20px #000000b3}.modal-backdrop.show .modal{transform:translateY(0)}.modal h2{font-family:var(--serif);margin:0 0 8px;font-size:26px}.modal p{color:var(--text-1);margin:0 0 22px;font-size:14px;line-height:1.6}.modal .btnrow{justify-content:center;gap:10px;display:flex}.promo-options{justify-content:center;gap:14px;margin:18px 0 6px;display:flex}.promo-opt{border:1px solid var(--panel-border);cursor:pointer;background:#ffffff0a;border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;font-size:30px;display:flex}.promo-opt:hover{background:#ffffff17}footer.credit{text-align:center;color:var(--text-2);letter-spacing:.3px;margin-top:26px;font-size:11.5px}.sq{position:relative}.sq.legal:before{content:"";pointer-events:none;background:#00000047;border-radius:50%;width:22%;height:22%;transition:all .18s;animation:.15s legalFade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes legalFade{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.sq.capture:after{content:"";box-sizing:border-box;pointer-events:none;border:6px solid #00000047;border-radius:50%;position:absolute;inset:10%}.sq.light.capture:after{border-color:#46464652}.sq.dark.capture:after{border-color:#ffffff47}@keyframes captureFade{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.move-history{width:280px;min-width:280px;max-width:280px;overflow-y:auto}.check{box-shadow:inset 0 0 20px #ff0000b3;border:4px solid red!important}.animated-piece{z-index:100;pointer-events:none;pointer-events:none;z-index:100;justify-content:center;align-items:center;width:12.5%;height:12.5%;transition:transform 90ms cubic-bezier(.25,.8,.25,1);display:flex;position:absolute}.piece-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:90%;height:90%}.brand-mark{justify-content:center;align-items:center;width:110px;height:110px;display:flex;position:relative}.brand-piece{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:72px;height:72px;position:absolute}.black-logo{z-index:2;top:18px;left:18px;transform:rotate(-15deg)}.white-logo{z-index:1;top:18px;right:18px;transform:rotate(15deg)}@media (width<=768px){.top-actions{justify-content:center;width:100%;margin-bottom:20px;display:flex}}.game-area{justify-content:center;align-items:center;gap:20px;display:flex}.evaluation-container{background:#444;border:2px solid #444;border-radius:10px;flex-direction:column;align-self:stretch;width:30px;display:flex;overflow:hidden}.evaluation-black{background:#111;transition:height .5s}.evaluation-white{background:#fff;transition:height .5s}.promotion-piece{object-fit:contain;width:50px;height:50px}.move-piece{object-fit:contain;vertical-align:middle;width:20px;height:20px;margin-right:4px}.evaluation-container{flex-direction:column;width:30px;height:100%;display:flex}@media (width<=768px){.evaluation-container{flex-direction:row;width:100%;height:14px;margin-bottom:10px}.evaluation-black,.evaluation-white{transition:width .5s;height:100%!important}}.layout{justify-content:center;align-items:flex-start;gap:20px;display:flex}@media (width<=768px){.layout{flex-direction:column;align-items:center;gap:15px;display:flex}.board-wrap{order:1;width:min(95vw,700px)}.evaluation-wrapper{order:2;width:min(95vw,700px)}.panel{order:3;width:min(95vw,420px)}}.board-section{flex-direction:column;align-items:center;display:flex}.creator-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121212d1;border-top:1px solid #ffffff1f;flex-direction:column;justify-content:center;align-items:center;width:100vw;margin-top:25px;margin-left:calc(50% - 50vw);padding:16px 20px;display:flex}.creator-card img{object-fit:cover;border:2px solid #c9a24b;border-radius:50%;width:25px;height:25px}.creator-card p{color:#d8d8d8;margin:8px 0 3px;font-family:Cinzel,serif;font-size:10px}.creator-card h3{color:#f3efe6;margin:0;font-family:Cinzel,serif;font-size:10px}.board-wrap{position:relative}.revival-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08050cdb;justify-content:center;align-items:center;padding:20px;animation:.35s ease-out revivalOverlayIn;display:flex;position:absolute;inset:0}.revival-overlay-content{text-align:center;color:#fff4d6;width:100%;animation:.55s ease-out revivalContentIn}.revival-overlay-wolf{object-fit:contain;filter:drop-shadow(0 0 18px #d2aaffb3);width:clamp(90px,22vw,170px);height:auto;max-height:25vh;margin:0 auto 18px;display:block}.revival-overlay-content h2{color:#f3d18b;text-shadow:0 0 18px #bf7dff99;margin:0 0 12px;font-size:clamp(22px,4vw,38px);font-weight:800;line-height:1.2}.revival-overlay-content p{color:#f5e9ff;margin:0;font-size:clamp(15px,2.5vw,22px);line-height:1.5}@keyframes revivalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes revivalContentIn{0%{opacity:0;transform:scale(.88)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.revival-wolf{object-fit:contain;filter:drop-shadow(0 0 12px #ffffff40)drop-shadow(0 0 20px #ff000040);width:110px;height:110px;margin-bottom:18px;animation:2s ease-in-out infinite wolfFloat}.revival-banner h2{color:#d4af37;letter-spacing:2px;text-shadow:0 0 10px #ffd7008c;margin:0;font-family:UnifrakturCook,serif;font-size:38px}.revival-banner p{color:#f3f3f3;margin-top:18px;font-family:Cinzel,serif;font-size:22px;line-height:1.5}@keyframes revivalAppear{0%{opacity:0;transform:translate(-50%,-50%)scale(.75)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes revivalGlow{0%{box-shadow:0 0 18px #ffd70059,0 0 45px #ff00001f}50%{box-shadow:0 0 35px #ffd700b3,0 0 90px #ff00004d}to{box-shadow:0 0 18px #ffd70059,0 0 45px #ff00001f}}@keyframes wolfFloat{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;background:#000000d1;justify-content:center;align-items:center;animation:.35s fadeIn;display:flex;position:fixed;inset:0}.game-over-modal{text-align:center;background:linear-gradient(#1d1d1d,#090909);border:3px solid #b8860b;border-radius:18px;width:500px;max-width:90vw;padding:35px 45px;animation:.45s modalAppear;box-shadow:0 0 18px #ffd70059,0 0 50px #000c}.game-over-modal h1{color:#d4af37;letter-spacing:2px;text-shadow:0 0 12px #ffd70073;margin:0;font-family:UnifrakturCook,serif;font-size:52px}.game-over-modal h2{color:#fff;letter-spacing:1px;margin-top:22px;font-family:Cinzel,serif;font-size:34px}.game-over-modal h3{color:#cfcfcf;margin-top:12px;font-family:Cinzel,serif;font-size:22px;font-weight:400}.modal-buttons{justify-content:center;margin-top:35px;display:flex}.modal-buttons button{color:#fff;cursor:pointer;background:#242424;border:2px solid #d4af37;border-radius:10px;padding:14px 38px;font-family:Cinzel,serif;font-size:18px;transition:transform .2s,background .2s,box-shadow .2s}.modal-buttons button:hover{color:#000;background:#b8860b;transform:translateY(-3px);box-shadow:0 0 15px #ffd70080}.modal-buttons button:active{transform:scale(.96)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalAppear{0%{opacity:0;transform:scale(.8)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}
