@font-face{font-family:CodexUI;src:url("/static/eda7ceee3e1913ef440be94c769a96f687a3863456269ab875c94ef67867fc7c.woff2") format("woff2");font-weight:400;font-display:swap}

:root{--yashu-ink:#18384c;--yashu-muted:#586269;--yashu-sky:#244a5a;--yashu-sky-soft:#f2ecdd;--yashu-paper:#fffdf5;--yashu-surface:#f5f0e4;--yashu-line:#c8b995;--yashu-gold:#f1cd7a;--yashu-gold-line:#b88b37;--yashu-nature:#416558;--yashu-nature-soft:#edf0e0;--yashu-danger:#a5363e;--yashu-danger-soft:#fff0ed;--yashu-night:#102936;--yashu-disabled:#e9e3d7;--yashu-radius:8px;--yashu-shadow:0 2px 8px #18384c12;--yashu-font:CodexUI,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;--yashu-heading:CodexBook,"Yu Mincho",serif}
.codex-visual,.codex-visual body{background:#f5f1e7;color:var(--yashu-ink)}
.codex-visual :is(#app,#meta,#preparation,#cardInfo,#result,.codex-name-dialog,.washi-body,.codex-tutorial-dialog){font-family:var(--yashu-font)}
.codex-visual :is(#app,.yashima-washi) :is(button,input,select,textarea){font-family:var(--yashu-font)}
.codex-visual :is(#meta,#preparation,#cardInfo,#resultCard,.codex-ui-panel){color:var(--yashu-ink);background-color:var(--yashu-paper);background-image:none;border-color:var(--yashu-line)}
.codex-visual :is(#meta,#preparation) .sheet-body{background:var(--yashu-paper)}
.codex-visual :is(#meta,#preparation) .sheet-foot{background:var(--yashu-surface);border-color:var(--yashu-line);box-shadow:0 -2px 8px #18384c0a}
.codex-visual :is(#meta,#preparation) .sheet-head:not(.codex-fort-heading){background:var(--yashu-sky-soft);background-image:none;border-color:var(--yashu-line);border-left-color:var(--yashu-gold-line);box-shadow:none;clip-path:none}
.codex-visual :is(#meta,#preparation) :is(h1,h2,h3,.section-title,.home-cmd b){font-family:var(--yashu-font);color:var(--yashu-ink);font-weight:700;letter-spacing:.02em}
.codex-visual #meta .home-cmd b{font-size:22px}
.codex-visual :is(#meta,#preparation) :is(p,.lead,.rule-tip,.micro,.rule-note,.help,.codex-secondary-info small){color:var(--yashu-muted);font-family:var(--yashu-font);text-shadow:none}
.codex-visual :is(#meta,#preparation) :is(.home-cmd small,.codex-mode-grid small){font:500 12px/1.7 var(--yashu-font);color:var(--yashu-muted)}

.codex-visual :is(#meta,#preparation,#cardInfo,#resultCard,.codex-ui-panel) :is(button:where(:not(.map-node)),.codex-ui-button:where(:not(.map-node))){color:var(--yashu-ink);background:var(--yashu-gold);border:1px solid var(--yashu-gold-line);border-radius:var(--yashu-radius);box-shadow:var(--yashu-shadow);font-weight:600;transition:background-color .15s,box-shadow .15s}
.codex-visual :is(#meta,#preparation) :is(button,select,input){min-height:38px}
.codex-visual :is(#meta,#preparation,#cardInfo,#resultCard) :is(button.secondary,.home-cmd,.unit-tabs button,.preset-grid button,.codex-council-nav button,.codex-army-tabs button,.codex-workshop-tabs button,.codex-archive-tabs button,.codex-mock-tabs button,.codex-arena-steps button){background:var(--yashu-paper);color:var(--yashu-ink);border-color:var(--yashu-line)}
.codex-visual :is(#meta,#preparation) :is(select,input,textarea){background:var(--yashu-paper);border:1px solid var(--yashu-line);border-radius:6px;color:var(--yashu-ink);accent-color:var(--yashu-nature)}
.codex-visual #app :is(button:where(:not(.map-node))[aria-pressed=false]){background:var(--yashu-paper)!important;color:var(--yashu-ink)!important;border-color:var(--yashu-line)!important}
.codex-visual #app :is(button:where(:not(.map-node))[aria-pressed=true],button:where(:not(.map-node))[aria-selected=true],button:where(:not(.map-node))[aria-current=page],.codex-ui-button:where(:not(.map-node)).is-selected){background:var(--yashu-sky)!important;color:#fff!important;border-color:#155579!important;box-shadow:inset 0 -3px var(--yashu-gold)!important}
.codex-visual #app :is(button:where(:not(.map-node))[aria-pressed=true],button:where(:not(.map-node))[aria-selected=true],button:where(:not(.map-node))[aria-current=page]) *{color:#fff!important}
.codex-visual :is(#meta,#preparation,#cardInfo,#resultCard) button:where(:not(.map-node)):disabled,.codex-visual .codex-ui-button:where(:not(.map-node))[aria-disabled=true]{opacity:1;filter:none;background:var(--yashu-disabled)!important;color:var(--yashu-muted)!important;border-color:var(--yashu-line)!important;box-shadow:none!important;cursor:not-allowed}
.codex-visual :is(button,input,select,textarea):focus-visible{outline:3px solid var(--yashu-sky);outline-offset:2px}
@media(hover:hover){.codex-visual :is(#meta,#preparation,#cardInfo,#resultCard) button:not(:disabled):hover{box-shadow:0 2px 9px #244a5a24;border-color:var(--yashu-sky)}}
.codex-visual :is(#meta,#preparation,#cardInfo,#resultCard) button:not(:disabled):active{box-shadow:inset 0 2px 5px #18384c24}

.codex-visual :is(#meta,#preparation) :is(.codex-council-current,.codex-council-set,.codex-workshop-row,.codex-secondary-info,.armament,.research,.rule,.prep-fold,.prep-treasures,.opponent,.codex-ui-panel){background:var(--yashu-surface);background-image:none;border-color:var(--yashu-line);border-radius:var(--yashu-radius);color:var(--yashu-ink);box-shadow:none}
.codex-visual :is(#meta,#preparation) .research.have{background:var(--yashu-nature-soft);color:var(--yashu-nature)}
.codex-visual #meta :is(.home-cmd,.codex-mode-grid .home-cmd){background:var(--yashu-paper);background-image:none;border-color:var(--yashu-line);border-radius:var(--yashu-radius);box-shadow:var(--yashu-shadow)}
.codex-visual #meta .home-cmd[data-home=expedition]{background:var(--yashu-nature-soft);border-color:var(--yashu-line);border-top:3px solid var(--yashu-nature)}
.codex-visual #meta .home-stats{background:var(--yashu-sky-soft);padding:8px;border-radius:6px;color:var(--yashu-muted)}
.codex-visual .codex-ui-trail,.codex-visual .codex-ui-trail :is(button,span){color:var(--yashu-muted);font-family:var(--yashu-font)}
.codex-visual :is(.codex-council-nav,.codex-army-tabs,.codex-workshop-tabs,.codex-archive-tabs,.codex-mock-tabs,.codex-ui-tabs){background:var(--yashu-paper);border-color:var(--yashu-line)}
.codex-visual .codex-army-banner{background:var(--yashu-sky-soft);background-image:none;border-color:var(--yashu-line);color:var(--yashu-ink)}
.codex-visual .codex-army-banner-title b,.codex-visual .codex-army-metrics b{color:var(--yashu-ink);font-family:var(--yashu-font)}
.codex-visual .codex-army-metrics{background:var(--yashu-paper);border-color:var(--yashu-line);box-shadow:none}
.codex-visual #meta .sheet-foot button[data-ui-priority=high]{background:var(--yashu-gold);color:var(--yashu-ink);box-shadow:var(--yashu-shadow)}
.codex-visual #meta .codex-nagi-note{background:var(--yashu-nature-soft)!important;color:var(--yashu-ink);border:1px solid #a6aa8c!important;border-radius:var(--yashu-radius)!important;box-shadow:none;padding-top:24px!important;margin-top:12px!important}
.codex-visual #meta .codex-nagi-note::before{display:none}
.codex-visual #meta .codex-nagi-note p{color:var(--yashu-ink)!important;font:500 14px/1.8 var(--yashu-font);text-shadow:none}
.codex-visual #meta .codex-nagi-note .codex-tutorial-speaker{top:0;left:12px;padding:2px 10px;min-height:0;background:var(--yashu-nature);color:#fff;clip-path:none;font:700 12px/1.6 var(--yashu-font);border-radius:0 0 6px 6px}

.codex-visual :is(#meta,#preparation) .codex-fort-heading :is(h1,#metaTitle,#metaEyebrow,.codex-ui-trail,.codex-ui-trail button,.codex-ui-trail span){color:#fff;font-family:var(--yashu-font)}

.codex-visual .military-card{--ink:var(--yashu-ink);--paper:var(--yashu-paper);--muted:var(--yashu-muted);border-radius:var(--yashu-radius)}
.codex-visual .military-card :is(h3,.card-name,.mini-name h3,.specs,.mini-specs,.strategy,.mini-strategy){font-family:var(--yashu-font)}
.codex-visual .military-card .mini-name h3{font-weight:700}
.codex-visual .card-tile.selected{border-color:var(--yashu-sky);box-shadow:0 0 0 2px var(--yashu-sky)}
.codex-visual .codex-workshop-warning,.codex-visual .codex-expedition-recovery{color:var(--yashu-danger);border-color:#d5a19c;background:var(--yashu-danger-soft)}

.codex-visual #meta.codex-map .sheet-head{background:var(--yashu-paper);background-image:none;border-color:var(--yashu-line)}
.codex-visual #meta.codex-map .sheet-foot{background:var(--yashu-paper)}

.codex-visual #meta.codex-map .route-spot .map-node{background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important}
.codex-visual #meta.codex-map :is(.map-route-legend,.castle-bar,.stage-tag){color:var(--yashu-ink);font-family:var(--yashu-font)}
.codex-visual #meta.codex-map .map-route-legend .passed::before{background:var(--yashu-nature)}

.codex-visual :is(#controls,#roster,.roster,#deployBar){background:var(--yashu-night);background-image:none;color:#eff7fa;border-color:#587687}
.codex-visual #hud.codex-castle-overlay{background:transparent}
.codex-visual #hud .castleBox{background:#fffdf5ef;color:var(--yashu-ink);border-radius:6px}
.codex-visual #hud .row,.codex-visual #hud .row :is(small,b){color:var(--yashu-ink);font-family:var(--yashu-font)}
.codex-visual #hud #timer{background:var(--yashu-night);color:#fff4cc;border-color:#91acb5;font-family:var(--yashu-font);font-variant-numeric:tabular-nums}
.codex-visual #hud.codex-castle-overlay{gap:0;padding:0 4px;background:#122c35f2;border-top:1px solid #b6a47a;border-bottom:2px solid #6b7163;box-shadow:0 3px 8px #10262c66,inset 0 1px #e5d7ac22;isolation:isolate}
.codex-visual #hud.codex-castle-overlay .castleBox{padding:3px 6px;background:transparent;border-radius:0;min-width:0;color:#fff4d9}
.codex-visual #hud.codex-castle-overlay .row,.codex-visual #hud.codex-castle-overlay .row :is(small,b){color:#fff4d9;text-shadow:0 1px 2px #000}
.codex-visual #hud.codex-castle-overlay .codex-player-name{background:transparent;border:0;color:#e6f5f7;font:800 13px/16px var(--yashu-font);min-height:0;letter-spacing:.04em;text-shadow:0 1px 2px #000}
.codex-visual #hud.codex-castle-overlay #enemyLabel{color:#f5d2b7;font-weight:800}
.codex-visual #hud.codex-castle-overlay .castle-wall{height:21px!important;border-radius:2px;filter:drop-shadow(0 1px 1px #0006)}
.codex-visual #hud.codex-castle-overlay #timer{position:relative;background:#173b43;color:#fff4d7;border:0;border-left:1px solid #a98d57;border-right:1px solid #a98d57;border-radius:0;box-shadow:inset 0 0 0 2px #132e34,inset 0 -3px #a48c5266;font:800 24px/30px var(--yashu-font);padding:10px 0 0;min-height:44px;height:44px;letter-spacing:-.04em}
.codex-visual #hud.codex-castle-overlay #timer:before{content:'残り';position:absolute;top:2px;left:0;right:0;color:#ccb98d;font:700 8px/10px var(--yashu-font);letter-spacing:.18em}
.codex-visual #hud.codex-castle-overlay #timer.paused{background:#4b4532;color:#ffedaa}
.codex-visual #hud.codex-castle-overlay #timer:focus-visible{outline:2px solid #ffe5a5;outline-offset:-3px}
.codex-visual #app #codexLeftBattleRail{align-items:flex-end;gap:10px;padding:5px 5px 5px 0;justify-content:center;overflow:auto;background:transparent;text-shadow:0 1px 2px #102630}
.codex-visual #app #codexLeftBattleRail .rail{position:static;inset:auto;display:flex;flex:none;align-self:flex-end;max-height:none;padding:0;gap:5px;overflow:visible}
.codex-visual #app #codexLeftBattleRail .rail:has(.rail-title:only-child){display:none}
.codex-visual #app #codexLeftBattleRail .rail button{min-height:44px;background:#17343dde;color:#fff4d9;border:1px solid #ac9565;border-radius:4px;box-shadow:inset 0 1px #efe0b62b,0 2px 4px #10262c44}
.codex-visual #app #codexLeftBattleRail .rail button.active{background:#236075;border-color:#f3d291;color:#fff}
.codex-visual #app #codexLeftBattleRail .rail button.warn{color:#f5c0a1}
.codex-visual #app #codexLeftBattleRail .codex-team-commands{max-width:100%;flex:none;height:auto}
.codex-visual #app #codexLeftBattleRail .codex-team-commands button{flex:none;min-height:44px;height:48px;max-height:none;padding:4px 5px;background:#17343dde!important;color:#fff4d9!important;border-color:#ac9565!important;border-radius:4px;box-shadow:inset 0 1px #efe0b62b,0 2px 4px #10262c44;font:800 11px/15px var(--yashu-font)}
.codex-visual #app #codexLeftBattleRail .codex-team-commands button[aria-pressed=true]{background:#236075!important;color:#fff!important;border-color:#f3d291!important}
.codex-visual #controls :is(.codex-selected-treasure,.morale label,.help){color:#edf5f8}
.codex-visual #controls .morale-bar{background:#486071}
.codex-visual #controls #moraleFill{background:var(--yashu-gold)}
.codex-visual #controls .codex-team-commands button{color:var(--yashu-ink);background:var(--yashu-paper);border-color:var(--yashu-line)}
.codex-visual .unit-button{background:var(--yashu-paper);color:var(--yashu-ink);border-color:var(--yashu-line);border-radius:6px}
.codex-visual .unit-button :is(strong,small){color:var(--yashu-ink)}
.codex-visual .unit-button[aria-pressed=true] :is(strong,small){color:#fff}
.codex-visual .rail button{background:var(--yashu-paper);color:var(--yashu-ink);border-color:var(--yashu-line);border-radius:6px}
.codex-visual .rail button.warn{color:var(--yashu-danger);border-color:#ca8887}

.codex-visual :is(.codex-tutorial-dialog p,.washi-body,.washi-text,#talkText){font-family:var(--yashu-font);line-height:1.8}
.codex-visual :is(.codex-tutorial-dialog,.codex-nagi-dialogue .washi-panel){color:#fff4df}
@media(prefers-reduced-motion:reduce){.codex-visual :is(button:where(:not(.map-node)),.codex-ui-button:where(:not(.map-node))){transition:none}}

.codex-visual :is(#meta,#preparation) .codex-fort-heading .codex-ui-trail button{background:transparent;color:#fff;border:0;box-shadow:none;min-height:26px;padding:1px 4px;border-radius:0;font-size:11px}
.codex-visual #meta .codex-army-metrics{background:var(--yashu-paper);border-color:var(--yashu-line);box-shadow:none;border-radius:6px}
.codex-visual #meta .codex-army-metrics span{color:var(--yashu-muted)}
.codex-visual :is(#meta,#preparation) .dba-card{background:var(--yashu-paper);border-color:var(--yashu-line);box-shadow:none;color:var(--yashu-ink)}
.codex-visual :is(#meta,#preparation) .dba-summary{background:var(--yashu-sky-soft);border-color:var(--yashu-sky);color:var(--yashu-ink)}
.codex-visual :is(#meta,#preparation) .dba-card[aria-disabled=true]{opacity:1;background:var(--yashu-disabled);color:var(--yashu-muted)}
.codex-visual :is(#meta,#preparation) .military-card.compact{background:var(--yashu-paper);border-color:var(--rule)}
.codex-visual #meta [data-army-panel]{background:var(--yashu-paper);background-image:none;border-color:var(--yashu-line);border-radius:var(--yashu-radius);box-shadow:none}
.codex-visual #meta .codex-army-banner::before,.codex-visual #meta .codex-army-banner::after{opacity:.25}
.codex-visual #meta .codex-return-title{background:transparent;border:0;box-shadow:none;color:var(--yashu-muted);min-height:32px;padding:4px 8px}
.codex-visual #meta .home-cmd small{text-wrap:pretty;letter-spacing:0}


.codex-visual #meta.codex-road-scene .story{color:#fff4df}
