


.yashima-washi .codex-dialogue-skip{position:absolute;top:-16px;right:12px;z-index:5;min-height:44px;min-width:88px;padding:6px 14px;border:1px solid #b99a55;border-radius:22px;background:#0d2228f2;color:#f6e7bf;font:700 14px/1.2 var(--yashu-font,system-ui);letter-spacing:.08em;box-shadow:0 2px 6px #0006;cursor:pointer}
.yashima-washi .codex-dialogue-skip:hover,.yashima-washi .codex-dialogue-skip:focus-visible{background:#183840;outline:2px solid #e6c77c;outline-offset:2px}
.yashima-washi:not(.codex-nagi-dialogue) .codex-dialogue-skip{top:8px}


#meta .meta-foot .codex-fort-nav button{min-height:44px;font-size:14px}
#meta .meta-foot .codex-fort-nav button.is-current{background:var(--yashu-select,#24414c);color:#fff;border-color:var(--yashu-select,#24414c);box-shadow:inset 0 -3px #e2c06f}
.codex-title-link{margin:18px 0 4px;text-align:center}
#meta .codex-title-link .codex-return-title{min-height:44px;padding:8px 16px;border:0;background:transparent;box-shadow:none;color:var(--yashu-muted,#6a604a);font-size:13px;text-decoration:underline;text-underline-offset:3px}


:is(#meta,#preparation) .codex-fort-heading .codex-ui-trail{align-self:flex-start;padding:2px 10px;border-radius:16px;background:#0b1a1fb3;font-size:13px;line-height:1.6;gap:6px}
:is(#meta,#preparation) .codex-fort-heading .codex-ui-trail :is(button,span){font-size:13px!important;text-shadow:none}
.codex-ui-trail button{position:relative;min-height:28px;font-size:13px}
.codex-ui-trail button::after{content:'';position:absolute;inset:-8px -4px}
.codex-ui-trail{font-size:13px}


#meta :is(.codex-council-nav,.hero-tabs,.codex-army-tabs,.codex-mock-tabs,.codex-workshop-tabs,.codex-archive-tabs,.codex-workshop-types,.preset-grid,.unit-tabs) button,
#meta #metaFoot button,#meta .reserve-tools select,#meta .codex-workshop-save-buttons button,#meta .codex-workshop-tools button{min-height:44px}
#meta .preset-grid button{font-size:13px}


#meta .section-title span,#meta .codex-army-metrics span,#meta .codex-army-metrics small{font-size:12px}
:is(#meta,#preparation) .card-tile :is(.rarity,.mini-kind,.mini-morale,.trait,dt,.card-top,em,small),:is(#meta,#preparation) .card-tile .card-top em{font-size:11px}
#meta .card-tile .price-tag{font-size:12px}
#meta :is(.rule-tip,.micro,.lead){font-size:max(12px,1em)}


#meta .codex-sort-tools{margin:6px 0 10px;border:1px solid #c8b585;border-radius:6px;background:#fbf6e8}
#meta .codex-sort-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 12px;cursor:pointer;font-size:14px;font-weight:700;color:#2d3a35;list-style:none}
#meta .codex-sort-tools>summary::-webkit-details-marker{display:none}
#meta .codex-sort-tools>summary::after{content:'▾';font-size:13px;color:#7a6a45}
#meta .codex-sort-tools[open]>summary::after{content:'▴'}
#meta .codex-sort-tools>summary small{margin-left:auto;font-size:12px;font-weight:400;color:#6a604a}
#meta .codex-sort-tools[open]{padding:0 8px 8px}
#meta .codex-sort-tools .sort-row{margin-top:2px}


#meta .retreat-run{display:block;margin:0 0 10px auto;min-height:44px;padding:6px 16px;border:1px solid #b45a42!important;background:#fff4ef!important;color:#8e3a26!important;font-weight:700}
#meta .retreat-run::before{content:'⚑ ';}


#meta .codex-workshop-save-buttons{margin-left:-16px;margin-right:-16px;padding:8px 16px;background:#eee5ce;box-shadow:0 -4px 8px #5a4a2a1f}


body:has(.yashima-washi.is-modal:not(.is-finisher):not([hidden])) #metaBody>.adjutant,body:has(>.codex-expedition-guide) #metaBody>.adjutant{visibility:hidden}


#metaBody>.adjutant{position:relative}
#metaBody>.adjutant .codex-note-toggle{position:absolute;top:2px;right:2px;z-index:2;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:#5d6b55;font-size:13px}
#metaBody>.adjutant.codex-note-folded{min-height:0;height:auto;padding-top:8px;padding-bottom:8px;cursor:pointer}
#metaBody>.adjutant.codex-note-folded p{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-height:0;margin:0;padding-right:44px}
#metaBody>.adjutant.codex-note-folded :is(.codex-tutorial-bust,.adjutant-face){display:none}
#metaBody>.adjutant.codex-note-folded::after{display:none}


#meta button.codex-mode-card{cursor:pointer}
#meta button.codex-mode-card .codex-mode-go{display:block;justify-self:end;align-self:end;width:max-content;margin:8px 0 0 auto;padding:4px 12px;border-radius:14px;background:var(--yashu-select,#24414c);color:#fff;font-size:13px;font-weight:700}
#meta .codex-mode-more{margin:10px 0}
#meta .codex-mode-more p{margin:6px 0;font-size:13px;line-height:1.7}
#meta .codex-mode-build{display:block;width:100%;min-height:44px;margin:4px 0 8px}
#meta .codex-quick-departure{margin:10px 0 0}
#meta .codex-quick-departure button{width:100%;min-height:44px}


#meta .dba-entry{display:flex;flex-direction:column;gap:4px;min-width:0}
#meta .dba-entry>.dba-detail{position:static;align-self:stretch;min-height:36px;padding:4px 8px;border-radius:6px;font:700 12px/1.2 var(--yashu-font,system-ui);background:#f5edda;border:1px solid #b3a785;color:#3f5654;box-shadow:none}
#meta .dba-entry>.dba-detail::before{content:'';position:absolute;inset:-4px 0}
#meta .dba-entry>.dba-detail{position:relative}
#meta .codex-departure-party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
#meta .dba-entry>.card-tile{width:100%;margin:0;box-sizing:border-box}
#meta .codex-departure-party .card-tile.selected{box-shadow:0 0 0 3px #d9b45a,0 4px 10px #6b4e1a33}
#meta .codex-departure-party .card-tile:not(.selected){opacity:.78}


#app.codex-wide-menu{width:min(100% - 32px,1040px)}
#app.codex-wide-menu #meta .home-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}
#app.codex-wide-menu #meta .home-grid>*{grid-column:auto!important;grid-row:auto!important}
#app.codex-wide-menu #meta :is(.card-row,.dba-grid,.codex-departure-party){grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
#app.codex-wide-menu #meta .codex-expedition-modes{grid-template-columns:repeat(2,minmax(0,1fr))}


.codex-visual #meta.codex-map .codex-scroll-map .route-spot .map-node:disabled:not(.open):not(.chosen){opacity:.5;filter:grayscale(.7)}
.codex-scroll-map .route-spot .map-node.chosen b::after{content:' ✓';color:#4c5942}
.codex-visual #meta.codex-map .codex-scroll-map .route-spot .map-node.open{opacity:1;z-index:3}
.codex-scroll-map .route-spot .map-node.open .map-icon{position:relative}
.codex-scroll-map .route-spot .map-node.open .map-icon::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:3px solid #c8962e;box-shadow:0 0 0 4px #f3d48a80,0 0 14px #e8b85a;pointer-events:none;animation:codexNodePulse 1.6s ease-in-out infinite}
.codex-scroll-map .route-spot .map-node.open:not(.codex-boss-node) b,.codex-scroll-map .route-spot .map-node.open.codex-boss-node b{font-size:13px;color:#fff;background:#7a3b22;padding:1px 8px;border-radius:10px;text-shadow:none}
.codex-scroll-map .route-spot .map-node:not(.open) b{font-size:12px}
@keyframes codexNodePulse{50%{transform:scale(1.12);opacity:.55}}
@media(prefers-reduced-motion:reduce){.codex-scroll-map .route-spot .map-node.open .map-icon::after{animation:none}}


.yashima-presentation.is-reward .presentation-scene{inset:0 0 76px}
.yashima-presentation.is-reward .presentation-close{right:auto;left:50%;transform:translateX(-50%);min-width:min(260px,70vw);min-height:48px;bottom:max(16px,env(safe-area-inset-bottom));border-radius:24px;font-weight:700;letter-spacing:.1em}


#roster .battle-roster-card :is(.codex-roster-name,.unit-type){font-size:11px}
#roster .battle-roster-card .skill.codex-readiness>b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#roster .battle-roster-card .codex-skill-meta .codex-recast{font-size:11px;white-space:nowrap}
#hud :is(#allyValue,#enemyValue){font-size:11px}
#hud #enemyStrip .enemy-chip small{font-size:11px}
#battleHint{font-size:12px}
#codexRightBattleRail .codex-orb-value{font-size:11px;font-weight:700}
#codexRightBattleRail .codex-orb-value::before{content:'霊力';display:block;font-size:11px;letter-spacing:.05em}
#codexGreatDock .codex-great-heading{font-size:11px}
#codexGreatDock #treasure small{font-size:10px;line-height:1.25}
#codexLeftBattleRail .codex-team-commands button{font-size:12px}


#meta button .codex-why{display:block;margin-top:4px;font-size:12px;font-weight:700;color:#9a3a26;opacity:1}
#meta #metaFoot button.codex-heavy-action{border:1px solid #b45a42!important;background:#fff4ef!important;color:#8e3a26!important}
#meta #metaFoot button.codex-heavy-action::before{content:'⚑ '}


.codex-elite-choices button>span:last-child{display:grid;gap:2px}
.codex-elite-choices .codex-elite-need{font-size:12px;font-weight:700;color:#ebcb86;letter-spacing:.04em}


.codex-visual #app.codex-selected-portrait-mode #roster .unit-card.codex-unit-selected{box-shadow:0 0 0 2px #f1d27a,0 0 14px #f1d27aaa;border-radius:8px}
#roster .battle-roster-card{position:relative}
#codexRefusalToast{position:absolute;left:50%;bottom:14px;z-index:30;max-width:min(92%,420px);padding:8px 14px;border-radius:18px;background:#14242cf0;border:1px solid #c9a65a;color:#fbf1d6;font:700 13px/1.5 var(--yashu-font,system-ui);text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,6px);transition:opacity .18s,transform .18s}
#codexRefusalToast.is-shown{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){#codexRefusalToast{transition:none}}
#roster .battle-roster-card.codex-autonomous::after{content:'自律';position:absolute;top:-20px;right:2px;z-index:6;padding:1px 5px;border-radius:8px;background:#1d3540e6;color:#f3e6c4;font-size:11px;font-weight:700;pointer-events:none}

.codex-event-outcome{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start;margin:0 0 10px;padding:10px 44px 10px 10px;border:1px solid var(--yashu-gold-line,#d8b86a);border-radius:var(--yashu-radius,10px);background:var(--yashu-paper,#fffaf0);box-shadow:var(--yashu-shadow,0 2px 6px #0002);color:var(--yashu-ink,#1d2b36);animation:codexOutcomeIn .25s ease-out}
.codex-event-outcome-face{position:relative;width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid var(--yashu-gold,#c99a3c);background:var(--yashu-sky-soft,#dfe9f1)}
.codex-event-outcome-face img{position:absolute;max-width:none}
.codex-event-outcome-body>b{display:block;font-size:13px;color:var(--yashu-muted,#4a5866)}
.codex-event-outcome ul{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;padding:0;list-style:none}
.codex-event-outcome li{padding:3px 9px;border-radius:999px;background:var(--yashu-nature-soft,#e6efdc);font-size:14px;font-weight:700}
.codex-event-outcome-none{margin:6px 0;font-size:14px}
.codex-event-outcome-line{margin:0;font-size:15px;line-height:1.5}
.codex-event-outcome-line>span{display:inline-block;margin-right:6px;padding:0 6px;border-radius:4px;background:var(--yashu-night,#1f3442);color:#fff;font-size:12px;font-weight:700;vertical-align:1px}
.codex-visual #metaBody .codex-event-outcome-close{position:absolute;top:4px;right:4px;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--yashu-muted,#4a5866);font-size:20px;box-shadow:none;border-radius:50%}
@keyframes codexOutcomeIn{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.codex-event-outcome{animation:none}}
.codex-hero-status-fold{margin:10px 0}
.codex-hero-status-fold>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--yashu-ink,#1d2b36)}
.codex-result-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.codex-result-totals>div{padding:8px 4px;border:1px solid var(--yashu-line,#d9cfb8);border-radius:var(--yashu-radius,10px);background:var(--yashu-surface,#fff);text-align:center}
.codex-result-totals dt{font-size:12px;color:var(--yashu-muted,#4a5866)}
.codex-result-totals dd{margin:2px 0 0;font-size:13px}
.codex-result-totals dd b{font-size:24px;line-height:1.2;margin-right:2px;color:var(--yashu-ink,#1d2b36)}
.codex-result-flag{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;margin:10px 0;padding:10px;border-radius:var(--yashu-radius,10px);background:var(--yashu-sky-soft,#e3edf4)}
.codex-result-flag .codex-reunion-flag{position:static;width:44px;height:44px}
.codex-result-flag-note{margin:0;font-size:14px;line-height:1.5;white-space:pre-line}
.codex-hero-status-fold>p{white-space:pre-line}
.codex-hero-status-fold>summary{list-style:none;justify-content:space-between;padding:0 12px;border:1px solid var(--yashu-line,#d9cfb8);border-radius:var(--yashu-radius,10px);background:var(--yashu-surface,#fff);font-size:15px}
.codex-hero-status-fold>summary::-webkit-details-marker{display:none}
.codex-hero-status-fold>summary::after{content:'▼';font-size:12px;color:var(--yashu-muted,#4a5866)}
.codex-hero-status-fold[open]>summary::after{content:'▲'}
.codex-elite-choices .codex-elite-tags{display:flex;gap:6px;flex-wrap:wrap}
.codex-elite-choices .codex-elite-new{padding:0 6px;border-radius:4px;background:#ebcb86;color:#1d2b36;font-size:12px;font-weight:700}
.codex-visual .codex-tutorial-dialog .codex-elite-skip{position:absolute;right:12px;top:-22px;height:44px;min-height:44px;padding:0 14px;border:1px solid #ebcb86;border-radius:8px;background:#fdf6e3;color:#1d2b36;font-size:14px;font-weight:700;z-index:8}

.codex-chapter-heading .codex-clear-stamp{display:inline-grid;place-items:center;width:96px;height:96px;margin:8px auto 14px;border:4px solid #b4382a;border-radius:12px;color:#b4382a;font-family:'Yu Mincho',serif;font-size:34px;font-weight:700;line-height:1;writing-mode:vertical-rl;letter-spacing:.1em;transform:rotate(-8deg);box-shadow:inset 0 0 0 3px #fff8,0 0 0 2px #b4382a33;animation:codexStampIn .45s cubic-bezier(.2,1.6,.4,1) both}
@keyframes codexStampIn{from{opacity:0;transform:rotate(-8deg) scale(1.6)}}
@media (prefers-reduced-motion:reduce){.codex-chapter-heading .codex-clear-stamp{animation:none}}

.codex-visual :is(#meta,#preparation) .codex-fort-heading .codex-ui-trail button{min-height:44px;padding:0 6px}
.codex-visual #meta .adjutant .codex-nagi-link{min-height:44px;padding:10px 0}

.codex-visual #cardInfo :is(.family-name,.head-name small,.top-cost small,.trait,.strategy-scope,.morale,.codex-effect-time,.card-head .rarity,dt){font-size:12px}
.codex-visual #cardInfo .range-diagram figcaption,.codex-visual #cardInfo .range-diagram figcaption *{font-size:12px;line-height:1.3}
.codex-visual #cardInfo :is(.info-skills p,.info-lore){font-size:13px;line-height:1.6}
.codex-hero-sheet-fold{margin:0 0 10px}
.codex-guide-own .codex-nagi-guide{margin-top:0;padding-top:0;border-top:0}

.codex-visual #deployDone{color:#1d2b36}
#hud #enemyStrip :is(.codex-enemy-label,.enemy-chip b,.enemy-chip small),#resultDetail .unit-table em{font-size:12px}

#resultDetail .unit-table table,#resultDetail .unit-table caption,#resultDetail .result-score small,#resultDetail .chart-key{font-size:12px}
#resultDetail .castle-chart svg text{font-size:12px}
.codex-enemy-stats{margin-top:8px}
.codex-enemy-stats>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:700;color:#e8b8b0}
.codex-enemy-stats caption{display:none}

#titleSettings label.setting{min-height:44px;cursor:pointer}
#titleSettings label.setting input[type=checkbox]{width:28px;height:28px}
#titleSettings .help,#titleSettings .eyebrow{font-size:12px}
#titleSettings:focus{outline:none}
