@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-mono-400-latin-ext-C2zvOubV.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-mono-400-latin-4GdczIuU.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-mono-500-latin-ext-BtRyHRi6.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-mono-500-latin-DRMDZjhP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/playfair-display-latin-ext-DYzKAy1Y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500 600;font-display:swap;src:url(/assets/playfair-display-latin-ClfjbrpZ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500 600;font-display:swap;src:url(/assets/playfair-display-italic-latin-ext-Bh6GUz44.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500 600;font-display:swap;src:url(/assets/playfair-display-italic-latin-BTalMiI3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#111114;--line:#efe5d229;--cream:#efe5d2;--muted:#998f85;--copper:#d8955a;--cyan:#76d9d6}body{background:var(--ink)}button{cursor:pointer;color:inherit;border:0}.app-shell{background:radial-gradient(circle at 80% 14%,#293033 0,#0000 30%),#111114;min-height:100vh;overflow:hidden}.briefing-screen{background:linear-gradient(112deg,#17171a 0%,#151518 56%,#20282a 100%);min-height:100vh;padding:46px 7vw;position:relative;overflow:hidden}.briefing-screen:after{content:"";border:1px solid #76d9d61c;border-radius:50%;width:58vw;height:75vh;position:absolute;bottom:-32vh;right:-6vw;transform:rotate(-22deg);box-shadow:0 0 0 80px #76d9d605,0 0 0 160px #76d9d604}.brand{z-index:2;color:var(--cream);letter-spacing:.08em;align-items:center;gap:12px;font:500 15px/13px DM Mono,monospace;display:flex;position:relative}.brand-mark{width:34px;height:34px;color:var(--copper);border:1px solid var(--copper);place-items:center;font:19px Georgia;display:grid;transform:rotate(45deg)}.brand-mark+span{transform:translateY(1px)}.brand b{color:var(--copper);font-weight:500}.brand small{color:var(--muted);letter-spacing:.16em;margin-left:18px;font:10px DM Mono,monospace}.briefing-content{z-index:1;width:min(760px,100%);padding-top:17vh;position:relative}.eyebrow,.label,.zone-label,.hand-title,.detail-header,.log-title,.rules-grid span,.turn-copy,.deck-status{letter-spacing:.14em;text-transform:uppercase;font:10px DM Mono,monospace}.eyebrow{color:var(--copper);margin-bottom:25px}h1{letter-spacing:-.07em;color:#f4ead9;margin:0 0 30px;font-size:clamp(62px,8vw,118px);font-weight:500;line-height:.87}h1 em{color:var(--cyan);font-weight:500}.intro{color:#b1aaa0;max-width:460px;font:16px/1.6 DM Mono,monospace}.rules-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:820px;margin:56px 0 43px;display:grid}.rules-grid article{border-top:1px solid var(--line);padding-top:16px}.rules-grid span{color:var(--copper)}.rules-grid h3{margin:15px 0 7px;font-size:20px;font-weight:500}.rules-grid p{color:var(--muted);margin:0;font:12px/1.6 DM Mono,monospace}.briefing-footer{align-items:center;gap:28px;display:flex}.primary-button{background:var(--copper);color:#1a1715;text-transform:uppercase;letter-spacing:.08em;min-height:44px;padding:15px 19px;font:11px DM Mono,monospace;transition:all .2s}.primary-button:hover{background:#f0ad70;transform:translateY(-2px)}.primary-button span{margin-left:24px;font-size:17px}.text-button{min-height:44px;color:var(--cream);text-transform:uppercase;letter-spacing:.08em;background:0 0;font:11px DM Mono,monospace}.text-button span{color:var(--copper);margin-left:8px}.arena-screen{background:radial-gradient(circle,#293538 0,#17181b 45%,#111114 86%);min-height:100vh}.arena-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;padding:0 34px;display:flex}.brand.compact{transform-origin:0;transform:scale(.85)}.match-info{text-align:center;gap:6px;display:grid}.match-info span{color:var(--copper);letter-spacing:.17em;font:9px DM Mono,monospace}.match-info strong{font:16px Playfair Display,serif}.header-actions{color:var(--muted);align-items:center;gap:17px;font:10px DM Mono,monospace;display:flex}.round{color:var(--cream)}.icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--cream);background:0 0;border-radius:50%;font-size:16px}.arena-layout{grid-template-columns:230px minmax(0,1fr) 285px;gap:24px;max-width:1500px;margin:auto;padding:23px 30px 0;display:grid}.side-panel{padding:14px 0}.profile-row{align-items:center;gap:12px;display:flex}.avatar{width:42px;height:42px;color:var(--cyan);background:#2d3133;border:1px solid #59666a;place-items:center;font-size:22px;display:grid}.avatar.player{color:var(--copper);background:#392e2a;border-color:#80604d}.label{color:var(--muted)}.profile-row h2{margin:4px 0 3px;font:17px Playfair Display,serif}.profile-row h2 i{color:var(--copper);font-size:11px;font-style:normal}.rank{color:var(--muted);font:10px DM Mono,monospace}.life-row{grid-template-columns:25px 1fr;align-items:end;gap:2px 11px;margin-top:32px;display:grid}.life-row>span{color:var(--muted);grid-row:span 2;align-self:center;font:10px DM Mono,monospace}.life-row strong{font:24px DM Mono,monospace}.life-track{background:#383336;grid-column:2;height:4px}.life-track i{background:var(--copper);height:100%;transition:all .4s;display:block}.opponent-panel .life-track i{background:var(--cyan)}.deck-status{color:var(--muted);align-items:center;gap:5px;margin-top:32px;display:flex}.deck-status b{color:var(--cream);margin-left:auto;font:11px DM Mono,monospace}.board{min-width:0}.board-hud{align-items:center;gap:15px;min-height:34px;display:flex}.turn-copy{color:var(--muted);letter-spacing:.02em;text-transform:none;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.duel-field{background:#0b0d0e59;border:1px solid #76d9d61f;min-height:155px;margin-top:10px;padding:14px 20px;position:relative}.enemy-field{border-color:#76d9d62b}.zone-label{color:#8fa3a2}.monster-zone{justify-content:center;align-items:center;gap:12px;min-height:102px;display:flex}.empty-zone{color:#7f8a89;border:1px dashed #efe5d221;place-items:center;width:94px;height:112px;font:9px DM Mono,monospace;display:grid}.empty-zone .game-card{margin:0}.field-divider{height:37px;color:var(--copper);align-items:center;gap:13px;display:flex}.field-divider i{background:#d8955a4d;flex:1;height:1px}.field-divider span{border:1px solid var(--copper);border-radius:50%;place-items:center;width:22px;height:22px;font:8px DM Mono,monospace;display:grid}.field-divider b{letter-spacing:.12em;font:400 9px DM Mono,monospace}.player-field{border-color:#d8955a38}.hand-area{margin-top:17px}.hand-title{color:var(--cream);border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:10px;display:flex}.hand-title b{color:var(--copper);margin-left:5px}.hand-title small{color:var(--muted);font-size:10px}.hand-cards{overscroll-behavior-x:contain;align-items:end;gap:11px;padding:14px 4px;display:flex;overflow-x:auto}.ai-action-banner{background:linear-gradient(90deg,#284a4ce6,#1f2629bf);border:1px solid #76d9d66b;align-items:center;gap:13px;margin-top:10px;padding:12px 16px;animation:.25s ease-out ai-enter;display:flex;box-shadow:0 0 26px #76d9d61a}.ai-action-banner div{flex:1;gap:4px;display:grid}.ai-action-banner b{color:var(--cyan);letter-spacing:.13em;font:8px DM Mono,monospace}.ai-action-banner strong{color:var(--cream);font:15px Playfair Display,serif}.ai-action-banner small{color:#85a6a4;letter-spacing:.1em;font:8px DM Mono,monospace}.ai-pulse{background:var(--cyan);width:10px;height:10px;box-shadow:0 0 0 5px #76d9d621,0 0 16px var(--cyan);border-radius:50%;animation:1.1s ease-in-out infinite ai-pulse}.ai-active{border-color:#76d9d699;box-shadow:inset 0 0 28px #76d9d614,0 0 16px #76d9d614}@keyframes ai-pulse{50%{opacity:.35;transform:scale(.7)}}@keyframes ai-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.game-card{text-align:left;color:#24211e;background:#d5c1a2;border:2px solid #998064;flex:none;width:112px;height:161px;padding:7px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 7px 18px #0000004d}.game-card:not(:disabled):hover,.game-card.selected{box-shadow:0 12px 25px #00000073,0 0 0 1px var(--copper);transform:translateY(-10px)}.card-top{letter-spacing:.05em;justify-content:space-between;font:6px DM Mono,monospace;display:flex}.card-art{background:radial-gradient(circle at 50% 35%,#da9e58,#39272c 70%);border:1px solid #ffffff6b;place-items:center;height:66px;margin:5px 0;display:grid;position:relative;overflow:hidden}.card-art span{z-index:1;color:#f9dc9d;text-shadow:0 2px 8px #8c321c;font-size:38px;position:relative}.card-art i,.card-art b{border:1px solid #ffdca566;width:90px;height:90px;position:absolute;transform:rotate(45deg)}.card-art b{border-color:#76d9d680;width:50px;height:50px}.sentinel .card-art{background:radial-gradient(circle,#527477,#172127 72%)}.oracle .card-art{background:radial-gradient(circle,#7da8a4,#283745 72%)}.blade .card-art{background:radial-gradient(circle,#dab174,#344654 72%)}.phoenix .card-art{background:radial-gradient(circle,#d26f3c,#3d202a 72%)}.card-name{white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #32271e59;padding-top:3px;font:600 9px Playfair Display,serif;overflow:hidden}.card-description{color:#50443b;height:22px;margin-top:5px;font:6px/1.2 DM Mono,monospace;overflow:hidden}.card-stats{border-top:1px solid #32271e59;justify-content:space-between;margin-top:5px;padding-top:4px;font:6px DM Mono,monospace;display:flex}.card-stats b{font-size:7px}.game-card.small{width:72px;height:102px;padding:4px}.game-card.small .card-art{height:45px;margin:3px 0}.game-card.small .card-art span{font-size:25px}.game-card.small .card-description{display:none}.game-card.small .card-stats{margin-top:2px;font-size:5px}.game-card.small .card-name{font-size:7px}.game-card.small .card-top{font-size:4px}.face-down{color:var(--cyan);background:repeating-linear-gradient(45deg,#1c3c43 0 4px,#234d51 4px 8px);border-color:#619b98;place-items:center;display:grid}.back-mark{border:1px solid var(--cyan);place-items:center;width:40px;height:53px;font-size:31px;display:grid;transform:rotate(45deg)}.hand-cards .game-card{height:180px}.position-badge{z-index:2;letter-spacing:.06em;color:#171719;background:#efe5d2;border:1px solid #11111459;padding:3px 5px;font:7px DM Mono,monospace;position:absolute;top:43px;right:4px;box-shadow:0 2px 5px #00000040}.position-def{color:#164c50;background:#b8e5df}.small .position-badge{padding:2px 3px;font-size:5px;top:31px}.spell-zone{min-height:52px;color:var(--muted);letter-spacing:.1em;border:1px dashed #d8955a47;align-items:center;gap:10px;margin-top:10px;padding:7px 12px;font:8px DM Mono,monospace;display:flex}.spell-zone .game-card{margin-left:4px}.targetable .game-card{outline:2px solid var(--cyan);box-shadow:0 0 18px #76d9d680}.target-box,.reveal-box{color:var(--cyan);background:#23434459;border:1px solid #76d9d673;margin-top:13px;padding:10px;font:9px/1.4 DM Mono,monospace}.reveal-box{color:var(--cream);gap:7px;display:grid}.reveal-box span{color:var(--cyan);font-size:8px}.reveal-box strong{font:16px Playfair Display,serif}.reveal-box button{color:var(--copper);text-align:left;background:0 0;min-height:44px;font:10px DM Mono,monospace}.deck-pile{width:210px;min-height:58px;color:var(--cream);text-align:left;background:linear-gradient(135deg,#203d42,#16272b);border:1px solid #76d9d673;grid-template-rows:1fr 1fr;grid-template-columns:42px auto;align-items:center;column-gap:11px;margin:0;padding:8px 14px;transition:all .2s;display:grid;box-shadow:0 0 18px #76d9d614}.deck-stack{border:1px solid var(--cyan);width:34px;height:42px;color:var(--cyan);grid-row:span 2;place-items:center;font-size:17px;display:grid;transform:rotate(45deg)}.deck-pile strong{letter-spacing:.14em;font:10px DM Mono,monospace}.deck-pile small{color:var(--muted);font:8px DM Mono,monospace}.right-panel{border-left:1px solid var(--line);background:#151619c2;padding:0 0 20px 22px}.detail-header{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0;display:flex}.detail-header button{color:var(--muted);background:0 0;min-width:44px;min-height:44px;font-size:22px}.right-panel>.game-card{width:142px;height:200px;margin:22px auto 18px;display:block}.detail-copy p{color:#aaa39a;font:11px/1.5 DM Mono,monospace}.detail-stats{gap:24px;margin:16px 0;display:flex}.stat{gap:3px;display:grid}.stat span{color:var(--muted);font:9px DM Mono,monospace}.stat strong{font:18px DM Mono,monospace}.stat-atk strong{color:var(--copper)}.stat-def strong{color:var(--cyan)}.action-stack{gap:7px;margin-top:21px;display:grid}.action-button,.end-button{text-align:left;border:1px solid var(--line);background:#2b2c2e;min-height:44px;padding:11px 12px;font:10px DM Mono,monospace}.action-button span{color:var(--copper);margin-right:9px}.action-button:disabled{cursor:not-allowed;opacity:.38}.end-button{color:var(--copper);background:0 0;border-color:#d8955a59}.end-button span{float:right;font-size:16px}.combat-log{border-top:1px solid var(--line);margin-top:22px;padding-top:13px}.log-title{color:var(--muted);justify-content:space-between;display:flex}.log-title i{color:#76c878;font-size:8px;font-style:normal}.log-line{color:#aaa39a;gap:9px;margin-top:11px;font:9px/1.4 DM Mono,monospace;display:flex}.log-line time{color:#8a9696}.no-card{text-align:center;min-height:250px;color:var(--muted);place-items:center;font:11px DM Mono,monospace;display:grid}.player-footer{border-top:1px solid var(--line);grid-template-columns:230px 190px 1fr;align-items:center;gap:24px;max-width:1500px;margin:4px auto 0;padding:17px 30px 23px;display:grid}.player-footer .life-row{margin:0}.position-choice{color:var(--muted);letter-spacing:.08em;grid-template-columns:1fr 52px 52px;align-items:center;gap:5px;font:8px DM Mono,monospace;display:grid}.position-choice button{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#242628;padding:8px 5px;font:10px DM Mono,monospace}.position-choice button.active{border-color:var(--copper);color:var(--copper);background:#d8955a2e}.position-choice button:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050607bf;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.guide-modal{border:1px solid var(--line);background:#202225;width:min(650px,100%);max-height:calc(100vh - 40px);padding:38px;position:relative;overflow-y:auto;box-shadow:0 24px 80px #000}.guide-modal h2{margin:0 0 20px;font:37px Playfair Display,serif}.guide-modal p{color:#b5aea3;font:12px/1.7 DM Mono,monospace}.guide-modal p b{color:var(--copper);font-weight:400}.guide-modal .primary-button{margin-top:12px}.close{width:44px;height:44px;color:var(--muted);background:0 0;font-size:25px;position:absolute;top:8px;right:8px}@media (width<=1080px){.arena-layout{grid-template-columns:160px minmax(0,1fr) 240px;gap:13px;padding-inline:16px}.right-panel{padding-left:14px}.player-footer{grid-template-columns:160px 190px}}@media (width<=900px){.briefing-screen{padding:28px 24px}.briefing-content{padding-top:13vh}.rules-grid{grid-template-columns:1fr;gap:13px;margin:37px 0}.rules-grid article{grid-template-columns:36px 1fr;display:grid}.rules-grid article p{grid-column:2}.rules-grid h3{margin:0 0 4px}.briefing-footer{flex-direction:column;align-items:flex-start;gap:20px}.arena-header{padding:0 14px}.match-info{display:none}.arena-layout{flex-direction:column;padding:14px 10px 0;display:flex}.opponent-panel{order:0}.side-panel{padding:0}.opponent-panel .life-row{margin:9px 0 0}.opponent-panel .deck-status{display:none}.board{order:1;overflow:hidden}.right-panel{border-left:0;border-top:1px solid var(--line);order:2;padding:16px 0 20px}.right-panel>.game-card{margin:15px auto}.detail-copy{text-align:center}.detail-stats{justify-content:center}.combat-log{max-width:500px;margin-inline:auto}.player-footer{grid-template-columns:1fr 1fr;padding:15px 10px}.player-footer .life-row{margin:0}.hand-cards .game-card{height:165px}}.target-actions{gap:8px;margin-top:8px;display:flex}.target-actions button{color:var(--cyan);background:0 0;border:1px solid #76d9d673;padding:8px 11px;font:9px DM Mono,monospace}.target-actions button:first-child:not(:last-child){background:var(--copper);border-color:var(--copper);color:#171719}.end-button:disabled,.deck-pile:disabled{cursor:not-allowed}.end-button:disabled{opacity:.38}.detail-header button:disabled{opacity:.3;cursor:default}.game-over h2{font-size:52px}button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.game-card:disabled{cursor:default}.hand-cards .game-card:disabled{opacity:.82}.game-card.marked{outline:3px solid #e0675a;transform:translateY(-10px);box-shadow:0 0 18px #e0675a8c}.face-down .back-mark span{font-size:18px;display:block;transform:rotate(-45deg)}.face-down{color:var(--cyan)}.pile-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.graveyard{border:1px solid var(--line);min-width:170px;color:var(--cream);letter-spacing:.1em;background:#1b1d20;font:10px DM Mono,monospace}.graveyard summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.graveyard summary b{color:var(--copper);margin-left:auto}.graveyard ol,.graveyard p{color:#b5aea3;letter-spacing:0;max-height:160px;margin:0;padding:6px 12px 10px 30px;line-height:1.6;overflow-y:auto}.graveyard p{padding-left:12px}.opponent-panel .graveyard{margin-top:14px}.opponent-panel .deck-status+.deck-status{margin-top:10px}.enemy-spells{min-height:44px;margin-top:8px}.spell-zone .game-card.face-down{width:52px;height:72px}.target-actions button{min-height:44px}.action-hint{color:#c9b8a6;margin:2px 0 0;font:10px/1.5 DM Mono,monospace}.coin-screen .briefing-content{padding-top:9vh}.coin{border:2px solid var(--copper);color:#24170e;background:radial-gradient(circle at 35% 30%,#f0ad70,#8a5a33 70%);border-radius:50%;place-items:center;width:132px;height:132px;margin:8px 0 26px;font-size:46px;display:grid;box-shadow:0 0 0 6px #d8955a26,0 12px 30px #000}.coin.coin-face{border-color:var(--cyan);background:radial-gradient(circle at 35% 30%,#a8ece9,#2e6d6b 70%)}.coin.flipping{animation:.9s ease-out coin-flip}@keyframes coin-flip{0%{transform:rotateY(0)}to{transform:rotateY(1440deg)}}@media (prefers-reduced-motion:reduce){.coin.flipping,.ai-pulse,.ai-action-banner{animation:none}.game-card,.primary-button,.life-track i{transition:none}}@media (width<=900px){.board{overflow:visible}.monster-zone{gap:6px}.empty-zone{aspect-ratio:72/102;width:calc(20% - 4.8px);max-width:94px;height:auto}.monster-zone>div:not(.empty-zone){width:calc(20% - 4.8px);max-width:72px}.monster-zone .game-card.small{aspect-ratio:72/102;width:100%;height:auto}.duel-field{padding:10px 8px}.board-hud{flex-wrap:wrap;gap:4px}.turn-copy{white-space:normal}.hand-title{gap:10px}.player-footer{grid-template-columns:1fr}.opponent-panel{grid-template-columns:1fr 1fr;align-items:center;gap:10px;display:grid}.opponent-panel .life-row{margin:0}.opponent-panel .graveyard{grid-column:span 2;margin:0}.opponent-panel .deck-status{margin:0;display:flex}.arena-header{height:64px}}@media (width<=480px){.monster-zone .game-card.small .card-top,.monster-zone .game-card.small .card-stats{display:none}.monster-zone .game-card.small .card-art{height:50%}.position-badge{font-size:6px}.hand-cards .game-card{width:96px;height:150px}.briefing-screen{padding:24px 16px}.arena-layout,.player-footer{padding-inline:8px}h1{font-size:clamp(48px,15vw,62px)}.guide-modal{padding:28px 18px}.guide-modal h2{padding-right:40px;font-size:28px}}.game-card.is-set{opacity:.62;border-style:dashed}.game-card.is-set .position-badge{color:var(--cyan);background:#2b3436;border-color:#76d9d680}.face-down .position-badge{top:auto;bottom:4px;right:4px}.turn-dot{background:var(--copper);width:9px;height:9px;box-shadow:0 0 12px var(--copper);border-radius:50%}.turn-dot-ai{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.round-side{color:var(--copper);letter-spacing:.12em}.discard-modal h2{font-size:32px}.discard-cards{flex-wrap:wrap;gap:10px;padding:14px 2px 6px;display:flex}.discard-cards .game-card.small{width:84px;height:120px}.discard-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:12px;display:flex}.discard-actions .primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.action-hint{order:-1}@media (width<=900px){.arena-screen{padding-bottom:calc(var(--action-bar-h,170px) + 8px)}.action-stack{z-index:6;max-height:55vh;padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111114f5;border-top:1px solid #d8955a59;grid-template-columns:1fr 1fr;gap:6px;margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 30px #0000008c}.action-stack>.action-hint,.action-stack>.target-box,.action-stack>.position-choice{grid-column:1/-1}.action-stack .target-box{margin:0}.action-stack .action-button,.action-stack .end-button{padding:8px 10px;font-size:10px}.action-stack .end-button span{float:none;margin-left:6px}}.stat-up{color:#7fe3a0!important}.stat-down{color:#ff8a7a!important}.card-stats b.stat-up{color:#1d7a43!important}.card-stats b.stat-down{color:#b3261e!important}.stat small{color:var(--muted);font:9px DM Mono,monospace}.card-flavor{color:#6e6052;font-style:italic}.detail-copy .card-flavor{color:#b8ab9c}.card-facts{gap:22px;margin:10px 0 0;display:flex}.card-facts div{gap:2px;display:grid}.card-facts dt{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font:9px DM Mono,monospace}.card-facts dd{color:var(--cream);margin:0;font:13px Playfair Display,serif}.choice-modal h2{font-size:32px}.choice-options{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.choice-options .primary-button span{margin-left:0}@media (width<=900px){.detail-copy .card-facts{justify-content:center}}.game-card.spell-card{background:#b9dcc0;border-color:#2f7a4f}.game-card.spell-card .card-art{border-color:#d6ffe28c}.game-card.trap-card{background:#d6c3e6;border-color:#7a4a9e}.game-card.trap-card .card-art{border-color:#f2e0ff8c}.game-card.spell-card .card-top{color:#1d5a37}.game-card.trap-card .card-top{color:#55306f}.effect-inactive{color:#9c5a3c;font-style:normal}.detail-copy .effect-inactive{color:#e0a07a}.seal-badge{z-index:2;color:#e7d3ff;background:#3a2a4a;border:1px solid #9b6fc4;padding:2px 4px;font-size:9px;position:absolute;top:43px;left:4px}.small .seal-badge{padding:1px 3px;font-size:7px;top:31px}.game-card.sealed{box-shadow:0 0 0 2px #9b6fc4,0 7px 18px #0000004d}.card-link{color:var(--cyan)!important}.choice-options .choice-detailed{text-align:left;text-transform:none;letter-spacing:.02em;gap:6px;max-width:100%;font-size:12px;display:grid}.choice-detail{color:#3a2a1e;letter-spacing:0;font:10px/1.45 DM Mono,monospace}.game-card.normal-monster{background:#e6d18e;border-color:#a3873a}.game-card.normal-monster .card-description{color:#5a4a2c}.plante .card-art{background:radial-gradient(circle,#7fae6a,#1f3324 72%)}.insecte .card-art{background:radial-gradient(circle,#b0a050,#2e2a16 72%)}.rocher .card-art{background:radial-gradient(circle,#8e8a84,#2a2826 72%)}.esprit .card-art{background:radial-gradient(circle,#a9b6c9,#1f2433 72%)}.attr-feu .card-art{box-shadow:inset 0 0 18px #ff6e3299}.attr-eau .card-art{box-shadow:inset 0 0 18px #4696ff8c}.attr-vent .card-art{box-shadow:inset 0 0 18px #96f0c880}.attr-terre .card-art{box-shadow:inset 0 0 18px #aa783c99}.attr-lumiere .card-art{box-shadow:inset 0 0 18px #fff0aaa6}.attr-tenebres .card-art{box-shadow:inset 0 0 18px #6e3ca0b3}.card-facts{flex-wrap:wrap;row-gap:8px}.game-card:not(.small) .card-name{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box;overflow:hidden}.game-card:not(.small) .card-description{margin-top:3px}.spell-slots{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.spell-slots .game-card{margin:0}.empty-slot{border:1px dashed #d8955a33;flex:none;width:52px;height:72px}@media (width<=900px){.spell-zone{flex-wrap:wrap;gap:6px}.spell-zone>span{flex-basis:100%}.spell-slots{gap:6px;width:100%}.spell-zone .spell-slots>.game-card,.spell-zone .spell-slots>.empty-slot{aspect-ratio:72/102;flex:none;width:calc(20% - 4.8px);max-width:72px;height:auto}}.alt-button{color:var(--copper);border:1px solid var(--copper);background:0 0}.alt-button:hover{background:#d8955a24}.account-content{max-width:520px}.account-content h1:focus{outline:none}.account-form{gap:12px;margin-top:22px;display:grid}.account-tabs{border:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.account-tabs button{min-height:44px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:0 0;font:11px DM Mono,monospace}.account-tabs button.active{color:var(--copper);background:#d8955a29}.account-form label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;gap:6px;font:10px DM Mono,monospace;display:grid}.account-form input{border:1px solid var(--line);min-height:44px;color:var(--cream);letter-spacing:0;text-transform:none;background:#17181b;padding:10px 12px;font:15px DM Mono,monospace}.account-form input:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:#0000}.account-rule{color:#8f8a82;margin-top:-4px;font:10px/1.5 DM Mono,monospace}.account-error{color:#f1b3a4;background:#78281e40;border:1px solid #e16e5a8c;margin:0;padding:10px 12px;font:11px/1.5 DM Mono,monospace}.account-form .primary-button{justify-self:start}.account-form .primary-button:disabled{opacity:.5;cursor:wait;transform:none}.account-note{color:#8f8a82;font:11px/1.6 DM Mono,monospace}.account-back{margin-top:22px}.online-screen .intro b{color:var(--copper);font-weight:400}.online-screen .account-content{max-width:640px}.friends{gap:6px;margin:26px 0 8px;display:grid}.friend-add{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.friend-add label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;gap:6px;font:10px DM Mono,monospace;display:grid}.friend-add input{border:1px solid var(--line);min-height:44px;color:var(--cream);text-transform:none;letter-spacing:0;background:#17181b;padding:10px 12px;font:15px DM Mono,monospace}.friend-add input:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:#0000}.friend-add .primary-button{margin:0}.friend-add .primary-button:disabled,.friend-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.friends-feedback{min-height:20px;color:var(--cyan);margin:2px 0 6px;font:11px/1.5 DM Mono,monospace}.friends-feedback.error{color:#f1b3a4}.friends-section{border-top:1px solid var(--line);padding:12px 0 6px}.friends-section h2{color:var(--cream);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font:11px DM Mono,monospace}.friends-section h2 b{color:var(--copper);margin-left:6px;font-weight:400}.friends-section ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.friends-empty{color:#8f8a82;margin:0 0 6px;font:11px/1.5 DM Mono,monospace}.friend-row{border:1px solid var(--line);background:#202225b3;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 10px;display:flex}.friend-name{color:var(--cream);overflow-wrap:anywhere;flex:120px;font:16px Playfair Display,serif}.friend-status{letter-spacing:.06em;color:var(--muted);font:10px DM Mono,monospace}.friend-status i{margin-right:3px;font-style:normal}.status-online{color:#76c878}.status-duel{color:var(--copper)}.friend-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.friend-button{border:1px solid var(--line);min-height:44px;color:var(--cream);letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:8px 12px;font:10px DM Mono,monospace}.friend-button:hover:not(:disabled),.friend-button.accept{border-color:var(--copper);color:var(--copper)}.friend-button.danger{color:#f1b3a4;background:#78281e59;border-color:#e16e5a99}.friend-confirm{color:#f1b3a4;font:11px DM Mono,monospace}@media (width<=480px){.friend-add{grid-template-columns:1fr}.friend-add .primary-button{justify-self:start}.friend-actions{width:100%;margin-left:0}.friend-actions .friend-button{flex:auto}}.countdown{color:var(--cyan);font-variant-numeric:tabular-nums;font:12px DM Mono,monospace}.countdown.urgent{color:#f1b3a4}.countdown small{color:var(--muted);font-size:9px}.turn-clock{text-align:center;border:1px solid #76d9d659;min-width:44px;padding:3px 6px}.forfeit-button{color:#f1b3a4;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #e16e5a80;min-height:44px;padding:6px 10px;font:9px DM Mono,monospace}.forfeit-button:hover{background:#78281e59}.duel-banner{color:var(--cream);background:#23434459;border:1px solid #76d9d66b;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 0;padding:10px 14px;font:11px/1.5 DM Mono,monospace;display:flex}.duel-banner b{color:var(--cyan);font-weight:400}.duel-banner.warning{background:#78281e40;border-color:#e16e5a8c}.duel-banner.warning b{color:#f1b3a4}.choice-clock{color:var(--cyan)!important}.danger-button{background:#c96a55}.danger-button:hover{background:#e08670}.invitation-row .countdown{min-width:40px}@media (width<=900px){.header-actions{gap:6px}.forfeit-button{padding:6px 8px}}.online-status{color:var(--cream);letter-spacing:.06em;background:#2343444d;border:1px solid #76d9d64d;order:-2;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:6px 10px;font:10px DM Mono,monospace;display:flex}@media (width<=900px){.action-stack>.online-status{grid-column:1/-1}}.guide-modal h2.choice-title-long{font-size:26px;line-height:1.25}:root{color:#efe5d2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#111114;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}
