:root{color-scheme:dark;--ink:#0c1822;--stone:#18323b;--gold:#dfbd78;--teal:#7edbc5;--purple:#c397d9;--red:#eb817c;--text:#edf0e9;--muted:#9baeb3;--line:#30434a;--body:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--display:"Songti SC","Noto Serif CJK SC",serif;font-family:var(--body);font-size:14px;color:var(--text);background:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 75% 38%,#203d442e,transparent 50%),var(--ink)}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}h1,h2,h3,p{margin:0}h1{font-family:var(--display);font-weight:700;letter-spacing:.03em}p{line-height:1.8}button,dialog{-webkit-tap-highlight-color:transparent}strong,b{font-weight:650}#app{max-width:1480px;margin:auto;padding:0 48px}button .muted,.muted{color:var(--muted)}.gold{color:var(--gold)}.small{font-size:12px;color:var(--muted);line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dfbd7820}.brand-button{padding:0;border:0;background:none}.brand{display:flex;align-items:center;gap:13px;text-align:left}.brand strong{font-family:var(--display);font-size:23px;letter-spacing:.13em;color:var(--gold)}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:5px;letter-spacing:.12em}.emblem{color:var(--gold);width:49px;height:49px;display:inline-flex}.emblem svg{width:100%;height:100%}.topbar nav{display:flex;gap:24px;align-items:center}.nav-button,.text-button,.icon-button{border:0;background:none}.nav-button{color:var(--muted);min-height:44px;padding:8px 0}.nav-button:hover,.text-button:hover{color:#fff}.floor-label{color:var(--gold);font-size:12px;border-right:1px solid var(--line);padding-right:24px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--gold);color:var(--ink);border:1px solid var(--gold);border-radius:5px;padding:14px 23px;min-height:48px;font-weight:650;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:#efd7a4;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--gold);border-color:#dfbd7860}.button.secondary:hover{background:#dfbd7810}.text-button{color:var(--gold);padding:12px 3px;min-height:44px}.icon-button{font-size:28px;color:var(--muted);width:44px;height:44px}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.save-error{padding:12px;text-align:center;color:var(--red);background:#eb817c10}
/* Three cards are the entrance to the game, not a marketing carousel. */
.home-screen{min-height:calc(100dvh - 100px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;padding-top:45px}.home-copy{padding:36px 0 55px;z-index:2}.intro-mark{font-size:12px;color:var(--gold);margin-bottom:24px;letter-spacing:.06em}.intro-mark span{margin-right:8px}.home-copy h1{font-size:clamp(38px,4.2vw,64px);line-height:1.5;white-space:nowrap}.home-description{color:var(--muted);margin:25px 0 30px;line-height:2;font-size:15px}.home-actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.home-actions .button{min-width:180px}.home-facts{display:flex;gap:38px;margin-top:48px}.home-facts span{font-size:12px;color:var(--muted)}.home-facts b{font-size:26px;font-weight:400;color:var(--gold);margin-right:9px;font-family:var(--display)}.save-caption{font-size:11px;color:var(--muted);margin-top:19px}.hero-cards{height:520px;position:relative;isolation:isolate;max-width:600px;width:100%;justify-self:center}.summon-ring{position:absolute;width:400px;height:400px;border:1px solid #dfbd7828;border-radius:50%;top:52px;left:50%;transform:translateX(-50%)}.summon-ring:before{content:"";position:absolute;inset:36px;border:1px solid #dfbd7821;transform:rotate(45deg)}.summon-ring:after{content:"";position:absolute;inset:64px;border:1px solid #dfbd7821;border-radius:50%}.hero-card{position:absolute;width:210px;left:50%;top:89px;filter:drop-shadow(0 24px 24px #0007)}.hero-card.center{transform:translateX(-50%) rotate(-5deg);z-index:2;top:65px;width:239px}.hero-card.left{transform:translateX(-100%) rotate(-20deg);top:125px}.hero-card.right{transform:translateX(0%) rotate(19deg);top:121px}.hero-caption{position:absolute;bottom:23px;width:100%;text-align:center;font-family:var(--display);letter-spacing:.13em;color:#dfbd7899;font-size:13px}.home-footer{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #dfbd781a;padding:22px 0 26px;font-size:10px;color:#9baeb380;margin-top:auto}.card{--card-color:var(--gold);display:flex;flex-direction:column;min-width:0;padding:6px;border:1px solid #dfbd7866;border-color:color-mix(in srgb,var(--card-color),transparent 40%);border-radius:7px;background:linear-gradient(140deg,#233744,#111e29 65%);color:var(--text);text-align:center;position:relative;isolation:isolate;overflow:visible;transition:transform .15s,border-color .15s,box-shadow .15s;box-shadow:inset 0 0 0 3px #0003}.card.spell{--card-color:var(--teal)}.card.trap{--card-color:var(--purple)}button.card:hover{border-color:var(--card-color);transform:translateY(-4px);box-shadow:0 8px 24px #0004}button.card.selected{border:2px solid var(--teal);box-shadow:0 0 18px #7edbc52b}.card-top{display:flex;justify-content:space-between;align-items:center;padding:5px 5px 9px;font-size:11px;color:var(--card-color)}.card-cost{color:#d1dcd9}.art{aspect-ratio:1.1;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 45%,#ffffff0e,transparent 70%);color:var(--card-color,var(--gold));overflow:hidden}.art svg{width:94%;height:94%;filter:drop-shadow(0 4px 6px #0003)}.white-dragon{color:#c8e3e4}.card .art{border:1px solid #ffffff08;background-color:#08151b90;aspect-ratio:1.05}.card-name{font-family:var(--display);font-size:17px;font-weight:700;padding:11px 2px 6px;line-height:1.3;white-space:nowrap}.card-bottom{font-size:11px;letter-spacing:.05em;color:var(--card-color);padding-bottom:7px}.card.compact{padding:4px}.card.compact .card-top{font-size:9px;padding:3px 4px 5px}.card.compact .card-name{font-size:12px;padding:6px 0 4px}.card.compact .card-bottom{font-size:10px;padding:0 0 3px}.card.compact .art{aspect-ratio:1.6}.card.exhausted{opacity:.58}.spent{position:absolute;right:-4px;top:-9px;font-size:9px;background:var(--stone);color:var(--teal);padding:3px 6px;border:1px solid #7edbc54d;border-radius:3px;transform:rotate(5deg)}
/* Life and route */
.life{width:100%;--lp-color:var(--teal)}.life.enemy{--lp-color:var(--red)}.life-label{display:flex;align-items:baseline;gap:8px;padding-bottom:8px;color:var(--muted);font-size:11px}.life-label strong{font-size:27px;font-variant-numeric:tabular-nums;font-weight:450;color:var(--lp-color);margin-left:auto;line-height:1}.life-label small{font-size:10px}.life-track{height:4px;background:#ffffff0a;border-radius:3px;overflow:hidden}.life-track>div{height:100%;background:var(--lp-color);transition:width .3s}.route-layout{display:grid;grid-template-columns:155px minmax(0,1fr) 235px;gap:50px;margin:42px auto 50px;max-width:1180px}.journey h2{font-size:13px;font-weight:500;color:var(--gold);margin-bottom:28px}.journey ol{list-style:none;margin:0;padding:0}.journey li{display:flex;align-items:center;gap:14px;position:relative;padding-bottom:21px;color:#60797f;min-height:54px}.journey li:not(:last-child):after{content:"";position:absolute;left:13px;top:27px;bottom:0;width:1px;background:var(--line)}.journey li>span{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;z-index:1;background:var(--ink)}.journey strong{font-size:11px;font-weight:500}.journey small{display:block;font-size:9px;margin-top:3px}.journey .current{color:var(--gold)}.journey .current>span{border-color:var(--gold);box-shadow:0 0 0 4px #dfbd780d}.journey .complete{color:var(--teal)}.journey p{font-family:var(--display);font-size:12px;color:var(--muted);margin-top:24px}.section-title{margin:30px 0}.section-title>p:first-child{color:var(--gold);font-size:12px;margin-bottom:10px}.section-title h1{font-size:34px;margin-bottom:13px}.section-title .muted{font-size:12px}.room-options{display:grid;gap:14px}.room{background:linear-gradient(100deg,#18323b8c,#14252e90);border:1px solid #dfbd7826;border-radius:6px;text-align:left;padding:22px;width:100%;transition:background .15s,border-color .15s;min-height:117px}.room:hover{border-color:var(--gold);background:#203942}.room-inner{display:flex;gap:24px;align-items:center}.room-symbol{font-size:31px;color:var(--gold);width:40px;text-align:center}.room.rest .room-symbol,.room.rest small{color:var(--teal)}.room.elite .room-symbol,.room.elite small{color:var(--red)}.room-copy{display:flex;flex-direction:column;gap:9px}.room-copy small{font-size:10px;color:var(--gold)}.room-copy strong{font-size:19px;font-family:var(--display)}.room-copy>span{color:var(--muted);font-size:11px}.room-enter{margin-left:auto;color:var(--gold);font-size:11px;white-space:nowrap}.route-aside{padding-top:25px}.side-card{width:153px;transform:rotate(5deg);margin:0 auto 44px}.relics{padding:20px 0;border-top:1px solid var(--line)}.relics h3{font-size:12px;color:var(--gold);margin-bottom:14px;font-weight:500}.relics .muted,.route-aside>.muted{font-size:11px}.relic{display:flex;gap:12px;margin-bottom:15px}.relic>span{font-size:22px;color:var(--gold)}.relic strong{font-size:12px;color:var(--gold);display:block;margin-bottom:5px}.relic small{color:var(--muted);font-size:10px;line-height:1.7;display:block}.message{color:var(--muted);font-size:11px;line-height:1.8;margin-top:20px;min-height:20px}
/* The two-sided duel mat */
.battle-layout{display:grid;grid-template-columns:minmax(0,790px) 264px;gap:32px;max-width:1110px;margin:30px auto 45px;align-items:start}.duel-table{padding:24px 28px 20px;border:1px solid #dfbd7833;background:radial-gradient(ellipse at 50% 40%,#1533407a,transparent 70%);border-radius:9px;position:relative}.duel-table:before,.duel-table:after{content:"◇";color:var(--gold);font-size:17px;position:absolute;top:-12px;background:var(--ink);padding:0 4px}.duel-table:before{left:20px}.duel-table:after{right:20px}.duelist{display:flex;gap:15px;align-items:center}.avatar{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #7edbc533;color:var(--teal);font-size:26px;transform:rotate(0deg);flex-shrink:0}.enemy-avatar{border-color:#eb817c33;color:var(--red)}.duelist-info{flex:1;min-width:0}.duelist h1{font-family:var(--body);font-size:16px;font-weight:550;display:flex;align-items:center;gap:10px;margin-bottom:9px}.enemy-tag{font-size:9px;background:#eb817c1a;color:var(--red);padding:3px 7px}.duelist .life-label{padding-bottom:7px}.duelist .life-label strong{font-size:24px}.enemy-duelist>.text-button{align-self:start;font-size:11px;padding-top:0;min-height:30px}.intent{background:#eb817c0a;padding:9px 12px;margin:15px 0 19px;display:flex;align-items:center;gap:15px;border-left:2px solid #eb817c55;font-size:11px;color:var(--red)}.intent span{white-space:nowrap;font-size:10px;opacity:.8}.intent strong{font-weight:450;line-height:1.6}.field{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:470px;margin:0 auto}.field>.card,.empty-slot{height:145px}.empty-slot{border:1px dashed #43616b80;border-radius:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#47636c}.empty-slot>span{font-size:20px;opacity:.6}.empty-slot small{font-size:10px;margin-top:10px}.field .card .art{flex:1;min-height:0}.field .card .art svg{height:80px}.turn-divider{display:flex;justify-content:center;align-items:center;gap:14px;color:var(--gold);font-size:10px;margin:17px auto;max-width:470px}.turn-divider:before,.turn-divider:after{content:"";height:1px;flex:1;background:#dfbd7833}.turn-divider span+span{font-size:9px;color:var(--muted)}.field-aux{display:flex;gap:12px;justify-content:space-between;font-size:10px;color:var(--muted);max-width:470px;margin:14px auto 0}.trap-set{color:var(--purple)}.action-hint,.attack-prompt{font-size:11px;text-align:center;line-height:1.6;min-height:37px;margin:8px 0;display:flex;align-items:center;justify-content:center;color:var(--muted)}.attack-prompt{color:var(--teal);background:#7edbc509;border-radius:4px}.attack-button{min-height:37px;padding:6px 22px;background:var(--teal);border-color:var(--teal);font-size:12px;width:100%}.player-duelist{margin:8px 0 21px}.mana{display:flex;flex-direction:column;gap:4px;text-align:right;min-width:70px}.mana strong{font-size:21px;font-weight:500;color:var(--teal)}.mana small{font-size:9px;color:var(--muted)}.hand-heading{display:flex;gap:12px;align-items:center;margin-bottom:8px}.hand-heading h2{font-size:12px;font-weight:550}.hand-heading>span{font-size:10px;color:var(--muted)}.draw-count{margin-left:auto}.hand{display:flex;gap:10px;padding:8px 3px 12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#dfbd7830 transparent;min-height:135px}.hand>.card{flex:0 0 106px;min-height:122px}.hand .card .art{height:64px;aspect-ratio:auto}.hand .card .art svg{height:66px}.hand .card-name{font-size:11px}.battle-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.battle-actions>span{font-size:10px;color:var(--muted)}.battle-actions>.button{font-size:12px;min-height:43px;min-width:141px;padding:10px 20px}.duel-table>.message{font-size:10px;margin-top:14px}.battle-aside{padding-top:0}.inspector-empty{padding:30px 17px 24px;text-align:center;border:1px solid #dfbd7826;min-height:300px;border-radius:6px;background:#18323b30}.inspector-empty .emblem{width:70px;height:70px;margin-bottom:22px}.inspector-empty h2{font-size:17px;font-family:var(--display);font-weight:500;color:var(--gold);margin-bottom:15px}.inspector-empty .muted{font-size:12px;line-height:1.9;margin-bottom:14px}.inspection{--card-color:var(--gold)}.battle-aside .inspection{padding:15px 18px 19px;border:1px solid #dfbd7833;border-radius:6px;background:#18323b30}.inspect-art{height:170px;color:var(--gold);background:#0002;border-radius:5px;margin-bottom:17px}.inspect-art>.art{height:100%;aspect-ratio:auto}.inspect-art svg{width:170px;height:170px}.inspection h3{font-family:var(--display);font-size:22px;line-height:1.5;margin:7px 0 13px}.card-type{font-size:10px;color:var(--gold)}.card-type.spell{color:var(--teal)}.card-type.trap{color:var(--purple)}.effect{font-size:12px;color:var(--muted);line-height:1.9}.inspect-stats{display:flex;justify-content:space-between;gap:8px;margin:18px 0;font-size:11px;color:var(--gold)}.tribute-note{font-size:10px;color:var(--muted);margin-bottom:17px}.inspection>.button{width:100%;font-size:12px;padding:12px 9px}.recent-log{margin:24px 0}.recent-log h3{font-size:12px;font-weight:450;color:var(--gold);margin-bottom:14px}.recent-log p{font-size:10px;color:var(--muted);padding:8px 0;border-bottom:1px solid #ffffff08}
/* Rewards and dialogs */
.reward-screen{text-align:center;margin:50px auto;max-width:920px}.reward-screen .section-title{max-width:680px;margin:0 auto 40px}.reward-screen .section-title .muted{font-size:13px}.reward-options{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-bottom:27px}.reward-option{display:flex;flex-direction:column;align-items:center;gap:22px}.reward-option>.card{width:100%;max-width:210px}.reward-option .effect{min-height:70px;text-align:left;max-width:240px}.reward-option>.button{width:100%;font-size:12px}.reward-screen>.muted{font-size:11px}.ending{text-align:center;padding:70px 15px;max-width:600px;margin:auto}.ending-seal{font-size:95px;color:var(--gold);border:1px solid #dfbd7828;width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin:0 auto 36px;border-radius:50%}.ending h1{font-size:35px;margin:14px 0 18px}.ending>.gold{font-size:12px}.ending>.muted{font-size:13px}.end-stats{display:flex;justify-content:space-around;margin:36px 0 40px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.end-stats strong{display:block;font-family:var(--display);font-size:27px;color:var(--gold);margin-bottom:10px}.end-stats span{font-size:11px;color:var(--muted)}dialog{color:var(--text);background:#11242e;border:1px solid #dfbd7860;border-radius:10px;padding:27px;max-width:min(92vw,440px);width:440px;max-height:88dvh;box-shadow:0 30px 120px #0008}dialog.wide{width:650px;max-width:92vw}dialog::backdrop{background:#030a10bf;backdrop-filter:blur(6px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.modal-head h2{font-family:var(--display);font-size:24px;font-weight:500}.modal-head .icon-button{flex-shrink:0}.confirm>.muted{margin-bottom:25px}.confirm .button{font-size:12px;flex:1}.rules>section{display:flex;gap:19px;margin:26px 0}.rule-number{font-family:var(--display);color:var(--gold);font-size:23px;flex-shrink:0;width:20px}.rules h3{font-size:15px;font-weight:550;margin-bottom:8px}.rules section p{font-size:12px;color:var(--muted);line-height:1.95}.deck-row{--card-color:var(--gold);display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.deck-row.spell{--card-color:var(--teal)}.deck-row.trap{--card-color:var(--purple)}.deck-row>.art{width:57px;height:61px;flex-shrink:0}.deck-row>div:nth-child(2){flex:1}.deck-row h3{font-size:13px;margin-bottom:6px}.deck-row p{font-size:11px;color:var(--muted)}.deck-row>b{color:var(--gold);font-size:13px;white-space:nowrap}.deck-list .relics{border-top:0;padding-top:0}.log-list>p:not(.muted){font-size:12px;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.home-screen{min-height:800px}}
@media(max-width:1150px){#app{padding:0 28px}.route-layout{gap:28px;grid-template-columns:120px minmax(0,1fr) 175px}.home-copy h1{font-size:43px}.hero-cards{transform:scale(.86);transform-origin:center}.battle-layout{gap:22px;grid-template-columns:minmax(0,1fr) 244px}.duel-table{padding:22px}.field{gap:12px}.hand>.card{flex-basis:95px}.home-facts{gap:28px}.home-actions{gap:10px}.home-actions .button{min-width:150px}}
@media(max-width:1000px){.battle-layout{display:block;max-width:720px}.battle-aside{display:none}.duel-table{padding:24px 32px}.route-layout{grid-template-columns:105px minmax(0,1fr);max-width:740px}.route-aside{display:none}.home-copy h1{font-size:38px}.hero-cards{transform:scale(.74);margin-left:-10px}.home-screen{gap:0}.home-copy{padding-bottom:35px}.home-facts{gap:19px}.home-description{font-size:13px}.topbar nav{gap:18px}}
@media(max-width:720px){#app{padding:0 20px}.topbar{height:82px;gap:10px}.brand{gap:8px}.brand strong{font-size:20px}.brand small{font-size:8px}.emblem{width:38px;height:38px}.topbar nav{gap:15px}.nav-button{font-size:11px}.floor-label{display:none}.home-screen{grid-template-columns:1fr;padding-top:5px;gap:0;min-height:calc(100dvh - 82px)}.home-copy{grid-row:2;text-align:center;padding:0 0 26px}.intro-mark{display:none}.home-copy h1{font-size:33px;line-height:1.45}.home-description{margin:18px 0 22px;font-size:12px}.home-actions{justify-content:center;gap:13px}.home-actions .button{min-width:190px}.home-facts{justify-content:center;gap:28px;margin-top:25px}.home-facts b{font-size:23px}.save-caption{margin-top:13px;font-size:10px}.hero-cards{height:320px;transform:none;margin:0;max-width:430px}.summon-ring{width:260px;height:260px;top:26px}.summon-ring:before{inset:26px}.summon-ring:after{inset:44px}.hero-card{width:140px;top:50px}.hero-card.center{width:163px;top:34px}.hero-card.left,.hero-card.right{top:75px}.hero-card .card-name{font-size:14px}.hero-card .card-top{font-size:9px}.hero-caption{display:none}.home-footer{font-size:8px;gap:10px;text-align:center;padding:16px 0;flex-direction:column}.route-layout{display:flex;flex-direction:column;gap:0;margin-top:25px}.journey{order:0}.journey h2,.journey p,.journey li>div{display:none}.journey ol{display:flex;justify-content:space-between;margin-bottom:27px;gap:0}.journey li{display:flex;flex:1;padding:0;min-height:28px}.journey li:last-child{flex:0}.journey li:not(:last-child):after{left:28px;right:0;top:14px;bottom:auto;height:1px;width:auto}.journey li>span{width:25px;height:25px;font-size:9px}.section-title{margin:27px 0}.section-title h1{font-size:29px}.section-title .muted{font-size:11px}.room{padding:18px 15px;min-height:114px}.room-inner{gap:14px}.room-symbol{font-size:27px;width:30px}.room-copy strong{font-size:18px}.room-copy>span{font-size:10px}.room-enter{font-size:10px}.life-label strong{font-size:25px}.battle-layout{margin:16px auto 25px}.duel-table{padding:16px 13px 13px}.duelist{gap:10px}.duelist h1{font-size:13px;margin-bottom:8px}.avatar{width:32px;height:35px;font-size:23px}.duelist .life-label strong{font-size:21px}.duelist .life-label{font-size:9px;gap:5px}.duelist .life-label small{font-size:8px}.enemy-duelist>.text-button{font-size:10px}.intent{margin:12px 0 15px;padding:8px;gap:9px;font-size:9px}.intent span{font-size:9px}.field{gap:10px}.field>.card,.empty-slot{height:118px}.field .card .art svg{height:59px}.field .card-name{font-size:11px}.field .card-top{font-size:8px}.field .card-bottom{font-size:9px}.empty-slot small{font-size:9px}.turn-divider{margin:13px 0}.field-aux{font-size:9px;margin-top:12px;gap:8px}.mana{min-width:53px}.mana strong{font-size:19px}.mana small{font-size:8px}.player-duelist{margin:5px 0 17px}.action-hint,.attack-prompt{font-size:10px;min-height:32px}.hand{gap:8px;min-height:125px}.hand>.card{flex-basis:88px;min-height:112px}.hand .card .art{height:56px}.hand .card .art svg{height:54px}.hand .card-name{font-size:10px}.hand-heading{gap:9px}.hand-heading h2{font-size:11px}.hand-heading>span{font-size:9px}.battle-actions>.button{min-width:125px;min-height:44px}.battle-actions>span{font-size:9px}.duel-table>.message{font-size:9px;margin-top:12px}.reward-screen{margin:32px auto}.reward-screen .section-title h1{font-size:25px}.reward-screen .section-title .muted{font-size:11px}.reward-options{grid-template-columns:1fr;gap:15px}.reward-option{display:grid;grid-template-columns:99px minmax(0,1fr);gap:13px 18px;align-items:center;padding:16px;border:1px solid var(--line);background:#18323b40;border-radius:6px}.reward-option>.card{grid-row:1/3;width:99px}.reward-option .card-name{font-size:11px;padding:7px 0 4px}.reward-option .card-top{font-size:8px;padding:3px 2px 5px}.reward-option .card-bottom{font-size:9px;padding-bottom:3px}.reward-option .effect{font-size:11px;min-height:0}.reward-option>.button{padding:8px;min-height:42px;font-size:11px}.ending{padding:38px 0}.ending-seal{width:135px;height:135px;font-size:70px}.ending h1{font-size:28px}.end-stats strong{font-size:23px}.ending .button{font-size:12px}.ending .actions{gap:10px}dialog{padding:20px;max-width:calc(100vw - 28px);max-height:90dvh}.modal-head{margin-bottom:14px}.modal-head h2{font-size:22px}.inspect-art{height:165px}.rules>section{gap:14px}.deck-row{gap:11px}.deck-row>.art{width:45px;height:48px}.deck-row p{font-size:10px}}
@media(max-width:360px){#app{padding:0 12px}.topbar nav{gap:12px}.brand small{display:none}.brand strong{font-size:18px}.hero-cards{height:290px;transform:scale(.9);transform-origin:top center;margin-bottom:-20px}.home-copy h1{font-size:29px}.home-facts{gap:20px}.field{gap:7px}.duel-table{padding:15px 10px}.room-enter{display:none}.reward-option{grid-template-columns:85px minmax(0,1fr);gap:12px}.reward-option>.card{width:85px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
