/* v0.27 — ink, warm paper, restrained vermilion. Layout remains owned by v0.26. */
:root{--ink:#e8e2d7;--muted:#a7aaa4;--gold:#c5b18c;--gold-bright:#e6d9bb;--line:#aa9c813d;--surface:#1b2223;--bg:#141b1d;--accent:#aa5544;--ui-font:'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif;--display-font:Georgia,'Songti SC',SimSun,serif}
body{font-family:var(--ui-font);font-variant-numeric:tabular-nums;color:var(--ink);background:#141b1d;-webkit-font-smoothing:antialiased}
button,input,select{font-family:var(--ui-font);border-radius:3px;letter-spacing:0}
button{background:#252e2e;border-color:#8c90844d;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s}
button:hover:not(:disabled){background:#333b39;border-color:#c1b08a;color:#faf2e3}
button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #dfcda7;outline-offset:3px}
button.gold,.gold{background:#cabb9b;color:#202625;border-color:#ddccac;box-shadow:inset 0 1px #f7efdc44;font-weight:600;text-shadow:none}
button.gold:hover:not(:disabled){background:#e0d0ae;color:#172123;border-color:#eee2c8}
input,select{background:#171f21;color:#e3ddd2;border-color:#79857d66}select{color-scheme:dark}
.topbar,html[lang=en] .topbar,.duel3d .game .topbar,.duel3d[lang=en] .game .topbar{background:#141d20f5;border-bottom:1px solid #a99b7940;box-shadow:none}
.brand{font-family:var(--display-font);color:#eee5d2;letter-spacing:2px;font-weight:400;gap:12px}
.brand-mark{transform:none!important;clip-path:none;background:#934938;border:1px solid #b66d55;color:#f8ebce;box-shadow:inset 0 0 0 3px #934938,inset 0 0 0 4px #e1c5a178;width:29px;height:32px;border-radius:1px;font-family:SimSun,serif}
.brand-mark i{transform:none!important;font-style:normal;font-size:17px}
.brand small{font-family:var(--ui-font);color:#9baba9;font-size:9px;letter-spacing:1px}
.nav button{color:#b8c1bc;border-radius:2px}.nav button:hover:not(:disabled){background:#ffffff09;color:#f0e4cb;border-color:transparent}
.nav button.guide-on{border-bottom-color:#bd9c71;color:#dfcda7}
.language-switch{border:1px solid #79857d4d;background:#0e181c50;padding:2px}.language-switch button{color:#aeb9b5;border:0;box-shadow:none}
.language-switch button.active,.language-switch [aria-pressed=true]{background:#cabb9b;color:#1c2828}
/* Title screen: one landscape, deliberate typography, a single primary action. */
.home{background-image:linear-gradient(90deg,#111b20e8 0%,#152026a8 38%,#17202375 62%,#11191ede),linear-gradient(0deg,#11191ff0,transparent 75%),url('home-mountains-v2.jpg');background-position:center,center,center 40%;background-size:cover}
.hero-figure{display:none}.home-content{max-width:1440px;grid-template-columns:minmax(0,1fr) 410px;gap:clamp(28px,6vw,100px);padding:52px 6vw 44px}
.home-title{padding:0 0 70px;text-align:left}.home .eyebrow{font-family:var(--ui-font);font-size:11px;letter-spacing:3px;color:#cbb58f;display:flex;align-items:center;gap:13px}.home .eyebrow::before{content:'';width:28px;height:1px;background:#b66d55}
.home h1{font-family:var(--display-font);color:#f1e9db;letter-spacing:.1em;font-weight:400;font-size:clamp(72px,7.4vw,106px);line-height:1.1;text-shadow:0 2px 20px #0f191933;margin:30px 0 28px}
.home .intro{font-family:var(--display-font);font-size:25px;color:#d5ccba;letter-spacing:2px;line-height:1.55;margin-bottom:20px}
.hero-description{font-family:var(--ui-font);font-size:14px;line-height:1.95;color:#aebcb7;max-width:330px;text-shadow:none}.hero-tag{display:none}
.home-console{padding:28px;background:#1a2426f2;border:1px solid #93958250;border-top:2px solid #b59b73;border-radius:3px;box-shadow:0 18px 55px #080f1738;backdrop-filter:none;position:relative}
.home-console::before,.home-console::after{display:none}.console-label{padding-bottom:17px;margin-bottom:19px;border-bottom:1px solid #9ca19130}.console-label span{font-family:var(--display-font);font-weight:400;font-size:21px;color:#e4d7bc;letter-spacing:2px}.console-label i{font-family:var(--ui-font);font-style:normal;color:#a9b4af;border:1px solid #89948844;padding:3px 6px;border-radius:2px}
.deck-select label{font-size:11px;letter-spacing:0;color:#aab7b1}.deck-select select{height:39px;background:#141f21;border-color:#88908450}.deck-select>button{background:#ffffff04;border-color:#88908450;min-height:39px;color:#bcc8c0}
.deck-summary{background:none!important;border:0!important;border-left:2px solid #918260!important;border-radius:0;padding:3px 0 3px 12px;margin-top:17px;box-shadow:none}
.deck-summary strong{font-family:var(--ui-font);font-weight:500;font-size:16px;color:#e1dacb}.deck-summary span{color:#acb7b0;font-size:11px}.deck-summary em.legal{background:none;color:#95b6a5;border:0;padding:0;font-size:10px}
.home-actions{gap:9px;margin-top:23px}.home-actions button{background:#202c2e;border:1px solid #8b968546;border-radius:3px;box-shadow:none;padding:13px 15px}
.home-actions button span{font-family:var(--ui-font);font-weight:500;font-size:15px;letter-spacing:0}.home-actions button small{font-family:var(--ui-font);font-size:10px;color:#a2b1aa}
.home-actions .gold{background:#c7b898;border:1px solid #d7c7a8;color:#202a2a}.home-actions .gold small{color:#43504a}.home-actions button:hover:not(:disabled){background:#303b3b;border-color:#b4a484}.home-actions .gold:hover:not(:disabled){background:#e1d1ad;color:#172123}
.home-actions [data-act=tutorial-hub]{border-style:solid;background:transparent}.home-meta{color:#91a29b;font-size:10px;margin-top:19px;justify-content:space-between}.home-meta span{border-color:#79877f38;padding:0 6px}
.showcase-entry{border:1px solid #a9695059;background:#302a27;margin-top:20px;padding:12px 13px;border-radius:3px}.showcase-entry span{font-family:var(--ui-font);font-size:13px;color:#e3c1a5}.showcase-entry small{font-size:10px;color:#afa99d}
.journey{border-color:#9da28d30;margin-top:21px;padding-top:18px}.journey b{font-family:var(--ui-font);font-weight:300;font-size:22px;color:#d7cbb6}.journey span{font-size:10px;color:#929f99}.journey>div+div{border-color:#89998b25}.telemetry-choice{border-color:#89998b25}.telemetry-choice strong{font-size:10px;color:#a6b3aa}.telemetry-choice small{font-size:10px;color:#83968c}
/* Printed card vocabulary: no ornamental corners or exaggerated foil/glow. */
.card{--faction-accent:#8b9383;border-radius:3px;border-color:#899486;background:#26302c;box-shadow:0 3px 9px #07141630}.card.faction-剑修{--faction-accent:#7b9c9f}.card.faction-体修{--faction-accent:#aa8b69}.card-ornament{display:none!important}
.card .cost{border-radius:3px;background:#18272a;color:#f3e9d0;border:1px solid #d8c39a;font-family:var(--ui-font);font-weight:600;box-shadow:0 1px 4px #0005}
.card>strong{font-family:var(--ui-font);font-weight:500;color:#e5dfd0;letter-spacing:0!important;text-shadow:none}.card .type{font-family:var(--ui-font);letter-spacing:0;color:#a7b6a8}.card .description{color:#b5c1b5}.card .cost-copy{color:#c2ad88}.card .stats{border-top:1px solid #adad8538;color:#c8c4ae;font-family:var(--ui-font)}
.card-art[data-has-art='1']{filter:saturate(.78);border-color:#b9aa892f}.card:hover .card-art{filter:saturate(.92)}
.duel3d .hand{background:linear-gradient(0deg,#111e24f2,#111e2482 60%,transparent);border:0}
.duel3d .hand .card,.duel3d[lang=en] .hand .card{border-radius:3px;border:1px solid #a9a386;background:#23302e;box-shadow:0 3px 8px #030c144d;border-bottom:3px solid var(--faction-accent)}
.duel3d .hand .card>strong,.duel3d[lang=en] .hand .card>strong{font-family:var(--ui-font);font-weight:500;color:#eee6d4;background:#25312e;border-bottom:0}
.duel3d .hand .card .stats{background:#1a2828;border-top-color:#b5b0922e;color:#cdcbb5}
.duel3d .hand .card .action-chip,.duel3d[lang=en] .hand .card .action-chip{background:#203c35f2;border:0;border-top:1px solid #8baa8966;border-radius:2px;color:#cbe1c8;font-weight:400;letter-spacing:0}
.duel3d .hand .card.selected,.duel3d .hand .card:hover{border-color:#e5d6b0;box-shadow:0 0 0 1px #e5d6b0,0 6px 16px #06131a88;outline:none}
/* The landscape supports the board instead of competing with the cards. */
#duel3d-view{background:linear-gradient(180deg,#172a37a3,#23364175 65%,#12242ce0),url('home-mountains-v2.jpg') center 37%/cover}
#duel3d-view::after{content:'';position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(#142127db,transparent);pointer-events:none}
.duel3d .game .brand{font-family:var(--display-font);letter-spacing:2px;color:#eee3ca}
.duel3d .battle-hud,.duel3d[lang=en] .battle-hud{background:#162329ed;border-color:#8d968154;border-radius:3px;box-shadow:0 3px 12px #0b171f19;backdrop-filter:none}
.duel3d .duel-turn strong{font-family:var(--ui-font);font-weight:500;color:#e2d3b2}.duel3d .duel-turn small{color:#9dafaa}.duel3d .duel-pulse{color:#bfcbbf}
.duel3d .phase-rail li{background:none;color:#80928c}.duel3d .phase-rail li::before,.duel3d .phase-rail li::after{display:none}.duel3d .phase-rail li.current{background:#79614633;border-radius:2px;color:#e2cca3}.duel3d .phase-rail li i{border-color:#9c9f8244}.duel3d .phase-rail li.current i{background:#c6b391;color:#273131;border-color:#c6b391}
.duel3d .master{background:#17262aeF;border:1px solid #88978666;border-left:2px solid #aebeae;border-radius:3px;box-shadow:none;backdrop-filter:none}.duel3d .master-foe{border-left-color:#b18068}.duel3d .master-mine{border-left-color:#94aea3}
.duel3d .master-name,.duel3d[lang=en] .master-name{font-family:var(--ui-font);font-weight:500;color:#dce3d8;letter-spacing:0}.duel3d .master .hp b{font-family:var(--ui-font);font-weight:300;color:#e4ddd0}.duel3d .master .hp small{color:#90a29d}.duel3d .master .track{background:#c0b99822}.duel3d .master .track i{background:#b98269}
.duel3d .master .qi{color:#b4cbbb;border-color:#8295864d;background:#20333255}.duel3d .master .grave-link{color:#9cafa5}.duel3d .master .grave-link:hover{color:#e4d7b7;background:#ffffff05}
.duel3d .scene-brand{top:79px;right:26px;max-width:calc(var(--rail-right) - 26px);color:#d6c7a8}.duel3d .scene-brand small{display:none}.duel3d .scene-brand span{font-family:var(--display-font);font-size:18px;letter-spacing:2px;line-height:1.4}.duel3d[lang=en] .scene-brand span{font-family:var(--ui-font);font-size:12px;letter-spacing:1.3px}
.duel3d .side.has-detail>.inspect,.duel3d .side .guide-panel,.duel3d .side .quick-guide-coach,.duel3d .side .tutorial-coach{background:#17262bf5;border:1px solid #88998555;border-radius:3px;box-shadow:none;backdrop-filter:none}
.duel3d .side .inspect strong,.duel3d[lang=en] .side .inspect strong{font-family:var(--ui-font);font-weight:500;font-size:18px;letter-spacing:0;color:#e0d2b2}.duel3d .side .inspect p{color:#bccbbe}.duel3d .side .inspect .cost-copy{color:#cbb993}.duel3d .side .inspect-art{border:1px solid #94a19030;filter:saturate(.8);background-color:#111f24}
.duel3d .row .unit .unit-title,.duel3d .row .unit.defense-form .unit-title,.duel3d[lang=en] .row .unit .unit-title{font-family:var(--ui-font);font-weight:500;color:#e4e6d7;text-shadow:none;background:linear-gradient(90deg,transparent,#14272dec 8%,#14272dec 92%,transparent)}
.duel3d .row .unit .unit-stats,.duel3d .row .unit.defense-form .unit-stats,.duel3d .row .unit.hidden-unit .unit-stats{font-family:var(--ui-font);font-weight:600;color:#ddd6bd;background:#182b2feb;border-color:#a4ad9752;border-radius:2px;text-shadow:none}
.duel3d .unit.ready .unit-stats{box-shadow:none!important;border-color:#a5c9b1!important}.duel3d .unit.target .unit-stats{border-color:#e4cd8d!important;box-shadow:0 0 0 1px #e4cd8d44!important}
.duel3d .action-dock .hint{background:#172a2ce8;color:#adc1b5;text-shadow:none;border-radius:2px}
.duel3d .action-dock button,.duel3d[lang=en] .action-dock button{background:#233836;border-color:#9eab9170;box-shadow:none;border-radius:3px}.duel3d .action-dock button.gold{background:#cbbb98;color:#26302e;border-color:#d4c6a7}
.duel3d .play-controls,.duel3d .choice-prompt,.duel3d[lang=en] .choice-prompt{background:#17272ef5;border-color:#a8a18180;border-radius:3px;box-shadow:0 4px 12px #07121e40}.duel3d .play-summary strong{font-family:var(--ui-font);font-weight:500;color:#ddcfad}
.duel3d .play-actions button{background:#293c3c;border-color:#83988b5c;border-radius:3px}.duel3d .play-actions button.gold{background:#cbb994;border-color:#d8c6a3;color:#24332f}
.action-stage,.duel3d .action-stage{border:1px solid #a2997880;border-radius:3px;background:#192a30f5;box-shadow:0 9px 25px #07141e59}.action-stage-title{border-bottom-color:#adb09433}.action-stage-title span{font-family:var(--ui-font);letter-spacing:1px}.action-versus b{font-family:var(--display-font);color:#c4b38e}.action-portrait{border-color:#a9ab9133!important;background:#101f2499!important}
.response,.duel3d .response:not(.discard-panel),.duel3d .discard-panel{background:#202e31f7;border:1px solid #b7a887;border-radius:3px;box-shadow:0 6px 24px #07151f55;color:#e5e4d4}.response button{border-radius:3px}
.winner,.duel3d .winner{background:#1b2b30f7;border:1px solid #b4a584;border-radius:3px;box-shadow:0 0 0 100vmax #081018b8,0 14px 45px #040c1250}.winner h2{font-family:var(--display-font);font-weight:400;color:#e5d5b1;letter-spacing:2px}.result-metrics{border-color:#a7ae983b}.result-metrics b{font-family:var(--ui-font);font-weight:300;color:#d5c7aa}
/* Collection, deck workshop, settings and rules share the same component system. */
dialog{background:#192529;border:1px solid #9f9f8359;border-radius:4px;padding:26px 28px;box-shadow:0 24px 70px #030a1299;color:#dce0d4;scrollbar-color:#798679 #172326}dialog::backdrop{background:#09121cd9;backdrop-filter:blur(5px)}
.modal-head{border-bottom:1px solid #aab29538;padding-bottom:18px;margin-bottom:22px;gap:14px}.modal-head h2{font-family:var(--display-font);font-size:26px;font-weight:400;letter-spacing:2px;color:#e2d3b4}.modal-head>[data-act=close]{margin-left:auto;font-size:12px;padding:7px 13px;background:transparent}
.filters,.builder-filters{gap:7px;flex-wrap:wrap}.filters button,.builder-filters button{font-size:12px;background:transparent;border-color:#82938344;padding:7px 14px}.filters button.gold,.builder-filters button.gold{background:#c6b697;color:#1b2a2b;border-color:#c6b697}
.catalog{gap:18px}.catalog .card{padding:12px;min-height:440px;border-color:#8e9d885e;box-shadow:none;background:#23312e;border-radius:3px}.catalog .card-art{border:1px solid #b5ad8b40}.catalog .card>strong{font-size:17px;font-weight:500;margin-top:5px}.catalog .card .description{font-size:12px;line-height:1.75}.catalog .card .type{font-size:10px;letter-spacing:0}.catalog .card .stats{font-size:12px}
.rules{max-width:740px;color:#bdcbbf;font-size:14px;line-height:1.95}.rules h3{font-family:var(--ui-font);font-weight:500;font-size:17px;letter-spacing:0;color:#e0d0ac;border-top:1px solid #9faa9033;padding-top:20px;margin-top:25px}.rules li{margin-bottom:10px}
.settings-panel label{border-color:#9ba99233;color:#d0d8cd;font-size:14px}.settings-panel input{accent-color:#bdab88}.settings-panel p{color:#96aa9e}.settings-panel h3{font-family:var(--ui-font);font-size:15px;font-weight:500;color:#ddcfb1}.settings-panel hr{border-color:#99a28c33}.settings-panel button{font-size:12px;background:#263b3b}
.workshop{background:#141f24;background-image:linear-gradient(#141f24ed,#141f24fa),url('home-mountains-v2.jpg')}.workshop-head h1{font-family:var(--display-font);font-weight:400;color:#e8dcc3;letter-spacing:3px}.workshop-head p{color:#a5b6ab}.workshop-head .eyebrow{font-size:11px;letter-spacing:2px;color:#bfad88}
.workshop-toolbar,.deck-dashboard{background:#1c2c30;border:1px solid #81938140;box-shadow:none;border-radius:3px}.workshop-toolbar label{font-size:11px;color:#a7b6aa}.workshop-toolbar select,.workshop-toolbar input{font-size:12px;min-height:36px;background:#152429;border-color:#81958150}.toolbar-actions button{font-size:12px}
.builder-layout h2,.deck-scroll h2{font-family:var(--ui-font);font-weight:500;font-size:15px;letter-spacing:1px;color:#cfc5ac}.builder-card{border-radius:3px;background:#1d2e31;border-color:#81988340;box-shadow:none;padding:14px}.builder-card.included{background:#233631;border-color:#9ba98a8c}.builder-card-top strong{font-family:var(--ui-font);font-weight:500;font-size:16px;color:#e4ddcc}.builder-card-top small{font-size:10px;color:#9cb1a4}.builder-art{border-radius:2px;border-color:#b8ac8566;filter:saturate(.78)}.builder-card p{color:#b5c8b6;line-height:1.75}.builder-card button{font-size:12px;background:#293f39}.builder-stats{border-color:#9bab8833;color:#c9b995}
.deck-scroll{background:#1c2b2e;border-color:#84958050;box-shadow:none;border-radius:3px}.deck-row{border-bottom-color:#86998525}.deck-row strong{font-family:var(--ui-font);font-weight:500;font-size:12px;color:#d4ddcf}.deck-row small{color:#8da796;font-size:10px}.deck-row button{font-size:11px}.deck-count strong{font-family:var(--ui-font);font-weight:300;color:#dcccac}.cost-curve i{background:#b2a580}.deck-breakdown strong{font-size:12px;font-weight:400;color:#c2cdbb}
.tutorial-list article{border:1px solid #8b9c8059;background:#203231;border-radius:3px;padding:18px}.tutorial-list strong{font-family:var(--ui-font);font-weight:500;color:#e4d5b5}.tutorial-list p{font-size:13px;color:#a8bfae;line-height:1.75}.toast{background:#d4c4a3;color:#223331;border:1px solid #e7d5b4;border-radius:3px;box-shadow:0 5px 20px #08172244;font-family:var(--ui-font)}
html:not(.duel3d) .game{background-image:linear-gradient(#152329eF,#152329eF),url('home-mountains-v2.jpg')}html:not(.duel3d) .arena{background:#192b2cbb;border-color:#99a58633;box-shadow:none}html:not(.duel3d) .side{background:#1b2a2e;border-color:#8a9f8155}html:not(.duel3d) .unit{background:#233934;border-color:#95ac864f}html:not(.duel3d) .unit-title{font-family:var(--ui-font);font-weight:500}html:not(.duel3d) .spell-slot{border-color:#8ea18359}html:not(.duel3d) .spell-slot.empty{background:#15282777}
@media(max-width:1099px){.home-content{grid-template-columns:minmax(0,1fr) 380px;gap:25px;padding:36px 3vw}.home h1{font-size:76px}.home-console{padding:22px}.home .intro{font-size:22px}.hero-description{font-size:13px}}
@media(max-width:760px){.home-content{display:block;padding:28px 18px}.home-title{padding:0 4px 26px}.home h1{font-size:68px;margin:22px 0 18px}.home .intro{font-size:20px;letter-spacing:1px;margin-bottom:12px}.hero-description{max-width:330px;font-size:12px;line-height:1.8}.home-console{padding:22px 18px}.home .eyebrow{font-size:10px;letter-spacing:2px}.home .topbar{padding:10px 16px}.home .nav{gap:1px}.home-meta{justify-content:flex-start}.catalog{gap:12px}.catalog .card{min-height:400px}.modal-head{flex-wrap:wrap}.modal-head h2{font-size:22px;margin-right:auto}.modal-head .language-switch{order:3}.modal-head>[data-act=close]{margin-left:0}dialog{padding:20px 16px}.workshop-head h1{font-size:30px}.builder-card{padding:12px}}
@media(min-width:1000px) and (max-height:719px){.duel3d .scene-brand{top:65px}.duel3d .scene-brand span{font-size:16px}.duel3d[lang=en] .scene-brand span{font-size:10px;letter-spacing:1px}.duel3d .side .inspect strong,.duel3d[lang=en] .side .inspect strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
html[lang=en] .brand-mark i{font:600 8px/1 var(--ui-font);letter-spacing:.5px}
html[lang=en] .home h1{font-family:var(--display-font);font-size:clamp(48px,5.2vw,76px);letter-spacing:.025em;line-height:1.05;font-weight:400}
html[lang=en] .home .intro{font-family:var(--display-font);font-size:22px;letter-spacing:0;line-height:1.5}
@media(max-width:760px){html[lang=en] .home h1{font-size:52px}html[lang=en] .home .intro{font-size:19px}}
/* The seal is a fixed mark, not a tilted decorative badge. */
.home h1 span:last-child{transform:none;border:1px solid #b7755b;background:#914d3e;color:#f0e4cb;font-size:.57em;letter-spacing:0;padding:5px 10px;margin-left:10px;vertical-align:.1em;border-radius:1px;box-shadow:inset 0 0 0 4px #914d3e,inset 0 0 0 5px #e0c6a178}
html[lang=en] .home h1 span:last-child{transform:none;border:0;background:none;color:#d2c2a2;font-size:.74em;letter-spacing:.045em;padding:0;margin:12px 0 0;vertical-align:baseline;box-shadow:none}
.home-console .deck-summary{display:flex;align-items:center;gap:12px;margin-top:12px;padding:3px 0 3px 10px;min-height:24px}.home-console .deck-summary strong{display:none}.home-console .deck-summary span{margin:0}.home-console .deck-summary em{margin:0 0 0 auto;font-style:normal;flex:none}
.home-console .console-label{padding-bottom:14px;margin-bottom:16px}.home-console .home-actions{margin-top:19px}.home-console .home-actions button{padding:11px 15px}.home-console .home-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:5px 9px;line-height:1.5}.home-console .home-meta span{padding:0 8px 0 0;white-space:nowrap}
.home-console .journey{margin-top:17px;padding-top:15px}.home-console .telemetry-choice{margin-top:15px;padding-top:12px}
.catalog .card::before,.catalog .card::after{display:none}
.builder-card .cost,.deck-row .cost{border-radius:3px;background:#1a2b2d;border-color:#9eab8f8c;color:#d8ceae;font-family:var(--ui-font);font-size:12px}
@media(max-width:760px){.home h1 span:last-child{padding:4px 8px;margin-left:8px}.home-console .home-meta{font-size:9px;gap:4px 7px}}
