:root{--bg-deep:#100c1a;--bg-panel:#181226e6;--bg-panel-solid:#191329;--bg-card:#221936d9;--border-gold:#dab66e57;--border-subtle:#b09ada2e;--text-main:#f4f0fb;--text-muted:#c4b9dc;--text-dim:#8c7fa8;--gold:#e5b95c;--gold-bright:#f7dca0;--day-amber:#ea9338;--day-bg:#ea933829;--night-indigo:#7484f2;--night-bg:#6876ec33;--off-slate:#7e8da3;--off-bg:#120d1e73;--ok-green:#38c994;--ok-bg:#38c99424;--warn-amber:#eab308;--danger-crimson:#f4647a;--danger-bg:#f4647a29;--font-sans:"Noto Sans JP", "M PLUS Rounded 1c", system-ui, sans-serif;--font-serif:"Shippori Mincho", Georgia, serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{background-color:var(--bg-deep);min-height:100dvh;color:var(--text-main);font-family:var(--font-sans);margin:0;padding:0;line-height:1.55;overflow-x:hidden}.castle-backdrop{z-index:-1;background-image:linear-gradient(#0e0a186b 0%,#100c1c94 55%,#0c0914c2 100%),url(/washi/games/demon-castle-shift/bg-castle-hall.jpg);background-position:50%;background-size:cover;position:fixed;inset:0}.title-screen{width:100%;min-height:100dvh;padding:1.25rem 2rem max(2.4rem, env(safe-area-inset-bottom));background-image:radial-gradient(circle at 50% 34%,#0f0a1c14 0%,#0a07148c 70%,#080510d6 100%),linear-gradient(#0a071473 0%,#0a07141f 35%,#0a0714c7 100%),url(/washi/games/demon-castle-shift/op-scene-1-castle.jpg);background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;display:flex;position:relative}.title-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;max-width:1200px;margin:0 auto;display:flex}.title-topbar-right{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.lang-switch{border:1px solid var(--border-subtle);backdrop-filter:blur(8px);background:#100b1cb8;border-radius:999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.lang-btn{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.22rem .55rem;font-family:inherit;font-size:.74rem;font-weight:700;transition:background .14s,color .14s}.lang-btn:hover{color:var(--text-main)}.lang-btn.active{color:var(--gold-bright);background:#e5b95c3d}.title-genre-pill{border:1px solid var(--border-gold);color:var(--gold-bright);backdrop-filter:blur(8px);background:#100b1cad;border-radius:999px;padding:.3rem .9rem;font-size:.82rem;font-weight:700;display:inline-block}.title-back-link{color:var(--text-main);border:1px solid var(--border-subtle);backdrop-filter:blur(8px);background:#100b1cad;border-radius:8px;padding:.32rem .85rem;font-size:.82rem;font-weight:600;text-decoration:none}.title-back-link:hover{color:#fff;border-color:var(--gold)}.title-hero-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:760px;margin:0 auto;padding:1rem 0;display:flex}.title-logo{justify-content:center;align-items:center;margin:0 auto;display:flex}.title-logo-img{filter:drop-shadow(0 14px 32px #000000eb)drop-shadow(0 0 24px #f59e0b52);width:min(92vw,520px);height:auto;transition:transform .25s,filter .25s;display:block}.title-logo-img:hover{filter:drop-shadow(0 18px 36px #000000f2)drop-shadow(0 0 28px #f59e0b73);transform:translateY(-2px)scale(1.015)}.title-menu-dock{backdrop-filter:blur(8px);background:linear-gradient(#140e22b8,#0e0a18d6);border:1px solid #e5b95c6b;border-radius:16px;width:100%;max-width:620px;padding:1.35rem 1.75rem 1.5rem;box-shadow:0 18px 48px #000000a6}.title-catchphrase{color:#f4f0fb;text-shadow:0 2px 8px #000000d9;max-width:560px;margin:0 auto 1.2rem;font-size:.95rem;line-height:1.65}.title-catchphrase strong{color:var(--gold-bright)}.title-cast-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin-bottom:1.35rem;display:grid}.title-cast-item{border:1px solid var(--border-subtle);background:#0f0b1ab8;border-radius:12px;flex-direction:column;align-items:center;gap:.22rem;padding:.6rem .4rem;display:flex}.title-cast-lilith{border-color:var(--border-gold);background:#e5b95c12}.title-cast-item img{object-fit:cover;border:1px solid var(--border-gold);border-radius:10px;width:64px;height:64px}.cast-role{color:var(--text-muted);white-space:nowrap;font-size:.68rem}.title-cast-item strong{color:var(--text-main);font-size:.84rem}.title-rules-preview{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.title-rule-box{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:10px;padding:.75rem .9rem}.title-rule-box .rule-num{color:var(--gold-bright);background:#e5b95c29;border-radius:999px;margin-bottom:.25rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.title-rule-box strong{color:#fff;margin-bottom:.2rem;font-size:.86rem;display:block}.title-rule-box p{color:var(--text-muted);margin:0;font-size:.78rem}.title-actions{flex-direction:column;align-items:center;gap:.7rem;display:flex}.btn-title-primary{cursor:pointer;border:1px solid var(--gold-bright);color:#fff;background:linear-gradient(135deg,#c98a2c 0%,#9e5a1b 100%);border-radius:10px;min-width:320px;padding:.85rem 1.8rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background .15s,transform .15s;box-shadow:0 8px 24px #00000073}.btn-title-primary:hover{background:linear-gradient(135deg,#d89634 0%,#b06620 100%);transform:translateY(-1px)}.btn-title-secondary{cursor:pointer;border:1px solid var(--border-gold);min-width:260px;color:var(--gold-bright);background:#e5b95c24;border-radius:10px;padding:.65rem 1.5rem;font-family:inherit;font-size:.92rem;font-weight:700}.btn-title-secondary:hover{background:#e5b95c3d}.title-sub-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.game-shell{max-width:1120px;padding:.45rem 1rem max(.65rem, env(safe-area-inset-bottom));flex-direction:column;gap:.5rem;min-height:100dvh;margin:0 auto;display:flex}.game-topbar{background:var(--bg-panel);border:1px solid var(--border-gold);backdrop-filter:blur(10px);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.38rem .75rem;display:flex}.brand-cluster{align-items:center;gap:.65rem;display:flex}.game-title-inline{font-family:var(--font-serif);letter-spacing:.04em;color:#fde68a;text-shadow:0 2px 6px #000000e6;background:linear-gradient(#2e1065b8,#0f0720e0) padding-box padding-box;border:1px solid #f59e0b6b;border-radius:8px;padding:.2rem .65rem;font-size:1rem;font-weight:700;box-shadow:inset 0 0 10px #f59e0b29}.stage-progress-nav{flex-wrap:wrap;align-items:center;gap:.32rem;display:flex}.stage-pill-btn{cursor:pointer;border:1px solid var(--border-subtle);color:var(--text-muted);background:#0f0b1abf;border-radius:8px;align-items:center;gap:.28rem;padding:.32rem .68rem;font-family:inherit;font-size:.76rem;font-weight:700;transition:border-color .15s,color .15s;display:inline-flex}.stage-pill-btn:hover:not(:disabled){border-color:var(--gold);color:#fff}.stage-pill-btn.is-active{border-color:var(--gold);color:var(--gold-bright);background:#e5b95c33}.stage-pill-btn:disabled{opacity:.4;cursor:not-allowed}.stage-rank-mini{color:#86efac;background:#38c9942e;border-radius:4px;padding:.04rem .32rem;font-size:.68rem}.topbar-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.btn-glass{cursor:pointer;color:var(--text-main);border:1px solid var(--border-subtle);white-space:nowrap;background:#ffffff0f;border-radius:8px;flex-shrink:0;padding:.38rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .15s,background .15s}.btn-glass:hover{border-color:var(--gold);background:#e5b95c24}.btn-sm{padding:.3rem .64rem;font-size:.75rem}.btn-audio{color:#fde68a;background:#f6c86a24;border-color:#f6c86a8c;font-weight:700;box-shadow:0 0 12px #f6c86a2e}.btn-audio:hover{border-color:var(--gold);background:#f6c86a42;box-shadow:0 0 16px #f6c86a52}.btn-audio[aria-pressed=true]{border-color:var(--ok-green);color:#a7f3d0;background:#38c99433;box-shadow:0 0 14px #38c99440}.board-container{flex-direction:column;flex:1;padding-bottom:.5rem;display:flex}.board-panel{background:var(--bg-panel);border:1px solid var(--border-gold);backdrop-filter:blur(10px);border-radius:12px;padding:.65rem .85rem;box-shadow:0 12px 32px #0006}.board-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.5rem;display:flex}.stage-title-block{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.stage-heading{color:var(--gold-bright);margin:0;font-size:.98rem;font-weight:700}.condition-summary-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.salamander-hp-pill{color:#bae6fd;background:#0e1826cc;border:1px solid #38bdf866;border-radius:6px;align-items:center;gap:.35rem;padding:.26rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.salamander-hp-pill strong{color:#38bdf8;font-weight:800}.cond-pill{border:1px solid var(--border-subtle);color:var(--text-muted);background:#0e0a18b3;border-radius:6px;padding:.26rem .62rem;font-size:.75rem;font-weight:600}.cond-pill.is-ok{background:var(--ok-bg);color:#a7f3d0;border-color:#38c99473}.cond-pill.is-ng{color:#fecdd3;background:#f4647a1f;border-color:#f4647a66}.score-pill-box{border:1px solid var(--border-gold);background:#0e0a18cc;border-radius:6px;align-items:center;gap:.38rem;padding:.22rem .65rem;display:inline-flex}.score-label{color:var(--text-muted);font-size:.72rem}.score-val{color:var(--gold-bright);font-size:.95rem;font-weight:800}.rank-chip{color:var(--text-muted);background:#ffffff14;border-radius:4px;padding:.08rem .42rem;font-size:.7rem;font-weight:700}.rank-chip.rank-s{color:var(--gold-bright);background:#e5b95c3d}.rank-chip.rank-a{color:#86efac;background:#38c99433}.matrix-scroll-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border-subtle);background:#0c0916bf;border-radius:10px;overflow-x:auto}.shift-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:620px}.shift-matrix th,.shift-matrix td{vertical-align:middle;border-bottom:1px solid #b09ada24;border-right:1px solid #b09ada24;padding:.32rem .45rem}.shift-matrix thead th{color:var(--gold-bright);text-align:center;background:#1e1630f2;border-top:1px solid #b09ada24;font-size:.84rem;font-weight:700}.shift-matrix thead th.col-monster{z-index:15;text-align:left;background:#1c152d;border-left:1px solid #b09ada24;width:240px;padding-left:.85rem;position:sticky;left:0;box-shadow:2px 0 8px #0000008c}.moon-tag{color:#ddd6fe;background:#a78bfa33;border-radius:4px;margin-left:.25rem;padding:.05rem .38rem;font-size:.68rem;font-weight:600;display:inline-block}.raid-row th{z-index:12;text-align:left;color:var(--text-main);background:#18112a;border-left:1px solid #b09ada24;padding-left:.85rem;font-size:.8rem;font-weight:700;position:sticky;left:0;box-shadow:2px 0 8px #0000008c}.raid-row-day{background:#ea93380a}.raid-row-night{background:#6876ec0d}.raid-cell{text-align:center;padding:.28rem .4rem!important}.raid-cell.is-satisfied{background:#38c99417}.raid-cell.is-probabilistic{background:#eab30814}.raid-cell.is-deficit{background:#f4647a12}.raid-enemy-title{color:var(--text-main);margin-bottom:.12rem;font-size:.72rem;font-weight:700}.raid-enemy-pred{color:var(--text-muted);margin-bottom:.22rem;font-size:.67rem}.raid-meters{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.meter-pill{border-radius:4px;padding:.08rem .42rem;font-size:.68rem;font-weight:600}.meter-pill.ok{background:var(--ok-bg);color:#86efac}.meter-pill.warn{color:#fde047;background:#eab3082e}.meter-pill.ng{background:var(--danger-bg);color:#fda4af}.monster-row-th{z-index:10;background:#150f24;border-left:1px solid #b09ada24;position:sticky;left:0;box-shadow:2px 0 8px #0000008c}.monster-cell-header{cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.15rem .2rem;transition:background .15s;display:flex}.monster-cell-header:hover{background:#ffffff0d}.monster-avatar{object-fit:cover;border:1.5px solid var(--monster-accent,var(--gold));border-radius:8px;flex-shrink:0;width:40px;height:40px}.monster-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.monster-name-row{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.monster-name{color:#fff;font-size:.88rem;font-weight:700}.monster-work-counter{color:var(--text-muted);font-size:.68rem}.monster-work-counter.over-limit{color:var(--danger-crimson);font-weight:700}.monster-power-compare{gap:.35rem;font-size:.7rem;font-weight:600;display:flex}.power-chip-day{color:#fdba74}.power-chip-night{color:#c7d2fe}.monster-rule-mini{color:var(--text-muted);font-size:.67rem}.shift-cell{text-align:center;transition:background-color .15s;position:relative;padding:.28rem .35rem!important}.shift-cell.state-off{background:var(--off-bg)}.shift-cell.state-day{background:var(--day-bg)}.shift-cell.state-night{background:var(--night-bg)}.shift-cell.cell-locked-pto{background:#0f0b1aa6}.shift-cell.has-violation{box-shadow:inset 0 0 0 1.5px var(--danger-crimson);background:#f4647a24}.locked-off-label{color:var(--text-dim);border:1px dashed #b09ada38;border-radius:6px;padding:.3rem .5rem;font-size:.72rem;display:inline-block}.shift-btn-group{background:#0a0712a6;border:1px solid #ffffff12;border-radius:7px;grid-template-columns:repeat(3,1fr);gap:.2rem;width:100%;max-width:156px;padding:.18rem;display:inline-grid}.shift-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:5px;padding:.3rem .2rem;font-family:inherit;font-size:.74rem;font-weight:700;transition:all .12s}.shift-btn:hover:not(:disabled){color:var(--text-main);background:#ffffff14}.shift-btn:disabled{opacity:.28;cursor:not-allowed}.shift-btn.active-off{color:var(--text-muted);background:#94a3b829}.shift-btn.active-day{color:#fff;background:#d97706;border-color:#fcd34d}.shift-btn.active-night{color:#fff;background:#4f46e5;border-color:#a5b4fc}.shift-matrix.is-tutorial-mode .is-tutorial-dimmed-row{opacity:.34;transition:opacity .2s}.shift-matrix.is-tutorial-mode .is-tutorial-dimmed-cell{opacity:.38;transition:opacity .2s}.shift-matrix.is-tutorial-mode .raid-cell.is-tutorial-related-raid{box-shadow:inset 0 0 0 2px var(--gold-bright);background:#e5b95c29}.shift-cell.is-tutorial-spotlight{box-shadow:inset 0 0 0 2px var(--gold-bright), 0 0 18px #e5b95c47;z-index:2;background:#e5b95c29!important}.shift-btn[data-tutorial-target=true],.btn-dispatch[data-tutorial-target=true]{outline:2px solid var(--gold-bright);box-shadow:0 0 0 3px #e5b95c61}.tutorial-callout-bubble{border:1.5px solid var(--gold-bright);text-align:left;max-width:190px;color:var(--text-main);background:linear-gradient(#241a3afa,#161026fa);border-radius:8px;margin:0 auto .42rem;padding:.38rem .5rem;position:relative;box-shadow:0 6px 16px #0009}.tutorial-callout-bubble:after{content:"";border-right:1.5px solid var(--gold-bright);border-bottom:1.5px solid var(--gold-bright);background:#161026fa;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.tutorial-callout-header{justify-content:space-between;align-items:center;gap:.3rem;margin-bottom:.2rem;display:flex}.tutorial-step-pill{color:var(--gold-bright);background:#e5b95c3d;border-radius:4px;padding:.06rem .38rem;font-size:.64rem;font-weight:700;display:inline-block}.tutorial-skip-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:1px solid #ffffff29;border-radius:4px;padding:.05rem .32rem;font-family:inherit;font-size:.62rem}.tutorial-skip-btn:hover{color:#fff;border-color:var(--gold)}.tutorial-callout-text{color:#fff;font-size:.72rem;font-weight:700;line-height:1.35}.dispatch-tutorial-callout{border:1.5px solid var(--gold-bright);text-align:left;background:linear-gradient(#241a3afa,#161026fa);border-radius:8px;padding:.45rem .6rem;position:relative;box-shadow:0 6px 16px #0000008c}.cell-note{color:var(--text-muted);margin-top:.2rem;font-size:.65rem;line-height:1.2}.cell-note.is-error{color:#fda4af;font-weight:700}.board-footer-bar{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:.6rem;padding-top:.5rem;font-size:.74rem;display:flex}.legend-group{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.legend-note{color:var(--text-dim)}.pair-bonus-strip{flex-wrap:wrap;gap:.35rem;display:flex}.pair-chip{border:1px solid var(--border-subtle);color:var(--text-muted);background:#ffffff0d;border-radius:4px;padding:.1rem .48rem;font-size:.7rem}.board-utility-btns{gap:.4rem;display:flex}.rpg-dialogue-dock{bottom:max(.5rem, env(safe-area-inset-bottom));z-index:30;grid-template-columns:minmax(0,1fr) 240px;align-items:stretch;gap:.65rem;display:grid;position:sticky}.dialogue-window{border:1.5px solid var(--gold);cursor:pointer;user-select:none;background:linear-gradient(#181228f5,#100b1cfa);border-radius:12px;align-items:center;gap:.75rem;min-height:70px;padding:.55rem .85rem;display:flex;position:relative;box-shadow:0 10px 28px #000000a6}.dialogue-window:focus-visible{outline:2px solid var(--gold-bright)}.dialogue-portrait-col{flex-shrink:0}.dialogue-portrait{object-fit:cover;border:1.5px solid var(--gold);border-radius:9px;width:52px;height:52px;display:block}.dialogue-content-col{flex:1;min-width:0}.dialogue-meta-row{align-items:center;gap:.45rem;margin-bottom:.15rem;display:flex}.dialogue-speaker{color:var(--gold-bright);font-size:.84rem}.dialogue-tag{color:var(--text-muted);background:#e5b95c26;border-radius:4px;padding:.05rem .42rem;font-size:.66rem}.dialogue-text{color:var(--text-main);min-height:2.4em;margin:0;font-size:.84rem;line-height:1.48}.dialogue-cursor{color:var(--gold);opacity:.75;font-size:.68rem;position:absolute;bottom:.45rem;right:.75rem}.dialogue-actions-col{flex-direction:column;justify-content:stretch;gap:.4rem;display:flex}.dialogue-actions-col>.btn-dispatch{flex:1}.btn-dispatch{cursor:pointer;border:1.5px solid var(--border-gold);width:100%;color:var(--text-main);background:#2d2246f0;border-radius:12px;flex:none;padding:.65rem 1rem;font-family:inherit;font-size:.96rem;font-weight:800;transition:background .15s,border-color .15s,transform .12s;box-shadow:0 10px 28px #000000a6}.btn-dispatch:hover{border-color:var(--gold-bright);background:#3e2e5ef5;transform:translateY(-1px)}.btn-dispatch.is-ready{color:#fff;background:linear-gradient(135deg,#0d9488 0%,#059669 100%);border-color:#a7f3d0;box-shadow:0 10px 28px #000000a6,0 0 18px #10b98166}@media (width<=900px){.rpg-dialogue-dock{grid-template-columns:minmax(0,1fr) 180px;gap:.55rem}.title-cast-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.title-rules-preview{grid-template-columns:1fr}}.game-dialog{-webkit-overflow-scrolling:touch;background:var(--bg-panel-solid);width:min(94vw,760px);max-width:760px;max-height:90dvh;color:var(--text-main);border:1.5px solid var(--border-gold);opacity:0;transition-behavior:allow-discrete;border-radius:16px;padding:0;transition-property:opacity,transform,display,overlay;transition-duration:.26s;transition-timing-function:ease-out;overflow-y:auto;transform:scale(.96);box-shadow:0 24px 64px #000000d1}.game-dialog:modal{overscroll-behavior:contain}.game-dialog::backdrop{backdrop-filter:blur(4px);overscroll-behavior:contain;transition-behavior:allow-discrete;background-color:#08050f00;transition-property:background-color,display,overlay;transition-duration:.26s;transition-timing-function:ease-out;overflow:hidden}.game-dialog[open]:where(:not([data-closing])){opacity:1;transform:scale(1);@starting-style{opacity:0;transform:scale(.96)}&::backdrop{background-color:#08050fcc;@starting-style{background-color:#08050f00}}}@media (prefers-reduced-motion:reduce){.game-dialog{transition-duration:.1s;transform:none}@starting-style{.game-dialog[open]{transform:none}}}.op-movie-dialog{background:#040208;border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden}.op-movie-shell{background:#040208;flex-direction:column;width:100vw;height:100dvh;display:flex;position:relative}.op-floating-controls{z-index:20;align-items:center;gap:.55rem;display:flex;position:absolute;top:1.25rem;right:1.5rem}.op-stage-viewport{cursor:pointer;background:#040208;flex:1;width:100%;height:100%;position:relative;overflow:hidden}.op-scene-img{object-fit:cover;transform-origin:50%;will-change:transform, filter;width:100%;height:100%;display:block}@keyframes opCamZoomIn{0%{filter:brightness(.75);transform:scale(1.01)translate(0,0)}20%{filter:brightness(1.02)}to{filter:brightness();transform:scale(1.12)translateY(-1.5%)}}@keyframes opCamPanLeft{0%{filter:brightness(.75);transform:scale(1.1)translate(2.5%)}20%{filter:brightness(1.02)}to{filter:brightness();transform:scale(1.1)translate(-2.5%)}}@keyframes opCamZoomOut{0%{filter:brightness(.75);transform:scale(1.14)translateY(1.5%)}20%{filter:brightness(1.05)}to{filter:brightness();transform:scale(1.01)translate(0,0)}}@keyframes opCamPanUp{0%{filter:brightness(.75);transform:scale(1.1)translateY(2.8%)}20%{filter:brightness(1.05)}to{filter:brightness(1.02);transform:scale(1.04)translateY(-1.8%)}}@keyframes opCamClimax{0%{filter:brightness(.55)blur(1px);transform:scale(1.08)}to{filter:brightness(.42)blur(2px);transform:scale(1.02)}}.op-cam-zoom-in{animation:5.2s ease-out forwards opCamZoomIn}.op-cam-pan-left{animation:5.2s ease-out forwards opCamPanLeft}.op-cam-zoom-out{animation:5.2s ease-out forwards opCamZoomOut}.op-cam-pan-up{animation:5.2s ease-out forwards opCamPanUp}.op-cam-climax{animation:5.5s ease-out forwards opCamClimax}.op-vignette-overlay{pointer-events:none;background:radial-gradient(circle,#0000 48%,#04020ab8 100%),linear-gradient(#05030c59 0%,#0000 25% 72%,#05030ce0 100%);position:absolute;inset:0}.op-particles-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.op-particle{opacity:0;border-radius:50%;animation:4.2s ease-in-out infinite opParticleFloat;position:absolute}@keyframes opParticleFloat{0%{opacity:0;transform:translateY(16px)scale(.7)}40%{opacity:.85}to{opacity:0;transform:translateY(-48px)scale(1.15)}}.op-climax-overlay{text-align:center;background:radial-gradient(circle,#180e308c 0%,#05030cd6 100%);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:1.5rem;animation:.65s ease-out forwards opClimaxFadeIn;display:flex;position:absolute;inset:0}@keyframes opClimaxFadeIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.op-climax-logo-img{object-fit:contain;filter:drop-shadow(0 14px 32px #000000f2)drop-shadow(0 0 26px #f59e0b6b);width:min(78%,360px);height:auto;max-height:40vh}.op-climax-tagline{font-family:var(--font-serif);color:#fef3c7;text-shadow:0 2px 10px #000000f2;letter-spacing:.06em;margin:0;font-size:clamp(.92rem,1.8vw,1.12rem)}.op-climax-btn{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);border-color:#fde68a;width:auto;min-width:280px;padding:.72rem 1.65rem;font-size:.96rem;box-shadow:0 10px 28px #000000bf}.op-letterbox-bottom{z-index:15;padding:3.2rem 2rem max(2.3rem, env(safe-area-inset-bottom));background:linear-gradient(#05030c00 0%,#05030cbf 32%,#05030cf2 100%);flex-direction:column;align-items:center;gap:1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.op-telop-box{backdrop-filter:blur(6px);text-align:center;background:#0a0616b8;border:1px solid #f59e0b6b;border-radius:14px;flex-direction:column;justify-content:center;gap:.38rem;width:100%;max-width:900px;min-height:4.2em;padding:1.05rem 1.8rem;display:flex;box-shadow:0 14px 36px #000000bf}.op-telop-lead{font-family:var(--font-serif);color:#fef3c7;text-shadow:0 2px 14px #000000fa;letter-spacing:.05em;margin:0;font-size:clamp(1.24rem,2.4vw,1.62rem);font-weight:700;line-height:1.45}.op-telop-sub{color:#f4f0fb;text-shadow:0 2px 12px #000000fa;margin:0;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.55}.op-char{opacity:0;transition:opacity .14s ease-out}.op-char.is-revealed{opacity:1}.op-bottom-bar{align-items:center;gap:1rem;width:100%;max-width:860px;display:flex}.op-progress-track{background:#ffffff29;border-radius:999px;flex:1;height:4px;overflow:hidden}.op-progress-fill{background:linear-gradient(90deg,#f59e0b,#38bdf8);border-radius:999px;width:20%;height:100%;transition:width .35s}.op-next-btn{flex-shrink:0}.prologue-vn-dialog{background:radial-gradient(circle at 50% 38%,#1c123440 0%,#0c0818b8 70%,#080510e6 100%),url(/washi/games/demon-castle-shift/bg-castle-hall.jpg) 50%/cover no-repeat;border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden}.prologue-vn-shell{width:100%;max-width:1120px;height:100dvh;padding:1.2rem 1.75rem max(1.6rem, env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;gap:1rem;margin:0 auto;display:flex}.prologue-vn-topbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.prologue-vn-top-controls{align-items:center;gap:.55rem;display:flex}.prologue-vn-center{flex:1;justify-content:center;align-items:center;gap:2rem;min-height:0;display:flex}.prologue-lilith-showcase{flex-direction:column;flex-shrink:0;align-items:center;gap:.65rem;transition:transform .3s;display:flex}.prologue-lilith-frame{background:linear-gradient(145deg,#f7dca0d9,#a855f773,#e5b95ccc);border-radius:22px;padding:6px;box-shadow:0 20px 52px #000000d1,0 0 36px #e5b95c47}.prologue-lilith-large{object-fit:cover;border:2px solid #160f29;border-radius:17px;width:clamp(190px,27vh,255px);height:clamp(190px,27vh,255px);transition:width .3s,height .3s;display:block}.prologue-vn-center.is-greeting-solo .prologue-lilith-large{width:clamp(230px,34vh,320px);height:clamp(230px,34vh,320px)}.prologue-lilith-nameplate{border:1.5px solid var(--gold);background:#120c22e6;border-radius:999px;align-items:center;gap:.55rem;padding:.32rem 1rem;display:inline-flex;box-shadow:0 8px 20px #000000a6}.prologue-lilith-role{color:var(--gold-bright);font-size:.76rem;font-weight:700}.prologue-lilith-name{font-family:var(--font-serif);color:#fff;letter-spacing:.06em;font-size:1.02rem}.prologue-visual-scene{border:1.5px solid var(--border-gold);background:#0b0714;border-radius:16px;flex:1;max-width:520px;padding:0;overflow:hidden;box-shadow:0 18px 44px #000000b8}.prologue-scene-banner{aspect-ratio:16/9;background:#080510;width:100%;max-height:30vh;position:relative;overflow:hidden}.prologue-banner-img{object-fit:cover;width:100%;height:100%;display:block}.prologue-banner-caption{color:#fde68a;letter-spacing:.04em;text-align:right;background:linear-gradient(#08051000 0%,#080510e6 100%);padding:1.4rem .95rem .55rem;font-size:.8rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.prologue-vn-textbox{border:1.5px solid var(--gold);backdrop-filter:blur(10px);cursor:pointer;background:linear-gradient(#161026f0,#0e0a1afa);border-radius:16px;width:100%;max-width:920px;margin:0 auto;padding:1.15rem 1.5rem 1.2rem;box-shadow:0 18px 48px #000000c7}.prologue-vn-textbox-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.dialog-inner{padding:1.15rem 1.35rem 1.35rem}.dialog-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.95rem;padding-bottom:.65rem;display:flex}.dialog-header h2{font-family:var(--font-serif);color:var(--gold-bright);white-space:nowrap;margin:0;font-size:1.05rem}.btn-dialog-close{cursor:pointer;border:1px solid var(--border-subtle);color:var(--text-muted);white-space:nowrap;background:#ffffff0f;border-radius:6px;flex-shrink:0;padding:.28rem .72rem;font-family:inherit;font-size:.78rem}.btn-dialog-close:hover{color:#fff;border-color:var(--gold)}.raid-assigned-avatars{justify-content:center;gap:.22rem;min-height:22px;margin-top:.25rem;display:flex}.raid-mini-avatar{object-fit:cover;border:1.5px solid var(--gold);border-radius:50%;width:22px;height:22px}.prologue-stage{border:1px solid var(--border-subtle);background:#0c0916c7;border-radius:12px;align-items:flex-start;gap:1rem;width:100%;margin-bottom:1rem;padding:1.05rem;display:flex}.prologue-portrait-col{flex-direction:column;flex:0 0 112px;align-items:center;gap:.38rem;width:112px;display:flex}.prologue-speaker-chip{color:var(--gold-bright);white-space:nowrap;border:1px solid var(--border-gold);background:#e5b95c24;border-radius:999px;padding:.1rem .52rem;font-size:.7rem;font-weight:700}.prologue-bubble{flex:1;width:100%;min-width:0;min-height:7.4rem}.prologue-bubble-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.prologue-listener-tag{color:var(--gold-bright);font-size:.72rem;font-weight:700}.prologue-portrait{border:1.5px solid var(--gold);object-fit:cover;border-radius:12px;flex-shrink:0;width:88px;height:88px}.prologue-step-indicator{color:var(--gold);font-size:.72rem;font-weight:700}.prologue-slide-heading{color:#fff;margin:.2rem 0 .35rem;font-size:.98rem}.prologue-slide-text{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.65}.prologue-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.prologue-dots{gap:.4rem;display:flex}.prologue-dot{background:#fff3;border-radius:50%;width:8px;height:8px}.prologue-dot.is-active{background:var(--gold);border-radius:999px;width:20px}.prologue-btn-row{gap:.5rem;display:flex}.btn-prologue-next{width:auto;padding:.5rem 1.25rem;font-size:.86rem}.briefing-new-rule-box{border:1px solid var(--border-gold);background:#e5b95c14;border-radius:10px;margin:.8rem 0;padding:.8rem 1rem}.briefing-new-rule-box h3{color:var(--gold-bright);margin:0 0 .3rem;font-size:.92rem}.briefing-new-rule-box p{color:var(--text-muted);margin:0;font-size:.83rem}@keyframes modalBreachShake{0%{transform:translate(0,0)}15%{transform:translate(-11px,3px)rotate(-.6deg)}30%{transform:translate(10px,-3px)rotate(.6deg)}45%{transform:translate(-8px,-2px)}60%{transform:translate(7px,2px)}75%{transform:translate(-4px,1px)}to{transform:translate(0,0)}}.game-dialog.is-breach-shake{animation:.36s cubic-bezier(.36,.07,.19,.97) modalBreachShake}.salamander-sanctum-banner{background:linear-gradient(90deg,#0c1a2aeb,#140f22eb);border:1px solid #38bdf861;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;margin-bottom:.75rem;padding:.7rem .95rem;display:flex}.salamander-sanctum-left{align-items:center;gap:.65rem;display:flex}.salamander-emblem{background:radial-gradient(circle at 35% 35%,#38bdf847,#0f172af2);border:1.5px solid #38bdf88c;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.4rem;display:flex}.salamander-status-title{color:#e0f2fe;font-size:.8rem;font-weight:700}.salamander-status-sub{color:var(--text-muted);font-size:.72rem}.castle-hp-orbs{align-items:center;gap:.38rem;font-size:.85rem;font-weight:700;display:inline-flex}.hp-orb{background:radial-gradient(circle at 30% 30%,#6ee7b7,#10b981);border-radius:50%;width:15px;height:15px;transition:all .25s;display:inline-block;box-shadow:0 0 10px #38c994bf}.hp-orb.is-lost{border:1px solid var(--danger-crimson);box-shadow:none;background:#f4647a38}@keyframes orbShatterPop{0%{background:#fb7185;transform:scale(1.65);box-shadow:0 0 18px #f43f5ef2}to{box-shadow:none;background:#f4647a38;transform:scale(1)}}.hp-orb.is-just-shattered{animation:.35s ease-out orbShatterPop}.result-dialog.is-fullscreen-battle{background:radial-gradient(circle at 50% 25%,#1c123473 0%,#0a0714f5 80%),url(/washi/games/demon-castle-shift/bg-castle-hall.jpg) 50%/cover no-repeat;border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow-y:auto}.result-dialog.is-fullscreen-battle>.dialog-inner{flex-direction:column;min-height:100dvh;padding:0;display:flex}.result-dialog.is-fullscreen-battle>.dialog-inner>.dialog-header{display:none}.result-dialog.is-fullscreen-battle #result-dialog-body{flex-direction:column;flex:1;display:flex}.battle-fs-shell{width:100%;max-width:1180px;min-height:100dvh;padding:.9rem 1.4rem max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;gap:.85rem;margin:0 auto;display:flex}.battle-fs-topbar{z-index:25;backdrop-filter:blur(12px);margin-bottom:0;position:sticky;top:.5rem;box-shadow:0 10px 28px #000000a6}.battle-fs-top-controls{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.btn-glass.is-active-speed{border-color:var(--gold-bright);color:#fef3c7;background:#f59e0b38}.battle-live-stage{cursor:pointer;border-radius:18px;flex-direction:column;flex:1;min-height:clamp(390px,60vh,560px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 56px #000c}@keyframes dawnSkySweep{0%{filter:brightness(.42)saturate(.75);transform:scale(1.06)}to{filter:brightness()saturate(1.08);transform:scale(1)}}@keyframes nightSkySweep{0%{filter:brightness(1.25)hue-rotate(-15deg);transform:scale(1.06)}to{filter:brightness(.95)hue-rotate();transform:scale(1)}}@keyframes celestialRise{0%{opacity:0;transform:translateY(36px)scale(.7)}to{opacity:.95;transform:translateY(0)scale(1)}}@keyframes sunRaysRotate{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes enemyCardBurstIn{0%{opacity:0;filter:brightness(.35);transform:scale(1.18)translateY(22px)}55%{opacity:1;filter:brightness(1.12);transform:scale(.98)translateY(-2px)}to{opacity:1;filter:brightness();transform:scale(1)translateY(0)}}@keyframes auraPulseRing{0%{opacity:.85;transform:scale(.92)}to{opacity:0;transform:scale(1.38)}}.battle-encounter-scene{z-index:12;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 2rem;transition:opacity .28s;display:flex;position:absolute;inset:0;overflow:hidden}.battle-encounter-scene.is-visible{opacity:1;pointer-events:auto}.battle-encounter-scene.is-day-encounter{background:radial-gradient(circle at 50% 18%,#fbbf246b 0%,#78350fb8 48%,#0f0a1cf0 100%),url(/washi/games/demon-castle-shift/op-scene-1-castle.jpg) 50%/cover no-repeat;border:2px solid #fbbf24b3;border-radius:18px;animation:.65s ease-out forwards dawnSkySweep}.battle-encounter-scene.is-night-encounter{background:radial-gradient(circle at 50% 18%,#38bdf852 0%,#0f173ad1 50%,#080614f5 100%),url(/washi/games/demon-castle-shift/op-scene-2-heroes.jpg) 50%/cover no-repeat;border:2px solid #7dd3fca6;border-radius:18px;animation:.65s ease-out forwards nightSkySweep}.battle-encounter-scene.is-boss-encounter{border-color:#f59e0b;box-shadow:inset 0 0 60px #f59e0b6b}.encounter-sky-rays{pointer-events:none;background:repeating-conic-gradient(#fde0471c 0deg 12deg,#0000 12deg 24deg);border-radius:50%;width:900px;height:900px;animation:36s linear infinite sunRaysRotate;position:absolute;top:18%;left:50%}.battle-encounter-scene.is-night-encounter .encounter-sky-rays{background:repeating-conic-gradient(#7dd3fc14 0deg 15deg,#0000 15deg 30deg)}.encounter-celestial-orb{filter:drop-shadow(0 0 24px #fbbf24d9);pointer-events:none;font-size:3.2rem;animation:.6s cubic-bezier(.22,1,.36,1) forwards celestialRise;position:absolute;top:1.1rem;right:1.8rem}.encounter-stage-inner{z-index:2;flex-direction:column;align-items:center;gap:1.05rem;width:100%;max-width:860px;display:flex;position:relative}.encounter-sky-header{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.encounter-slot-progress{letter-spacing:.08em;color:#fde68a;background:#0f172ad1;border:1px solid #ffffff40;border-radius:999px;padding:.2rem .85rem;font-size:.76rem;font-weight:800;display:inline-block}.encounter-time-headline{font-family:var(--font-serif);color:#fff;letter-spacing:.05em;text-shadow:0 3px 14px #000000f2,0 0 24px #fbbf2473;margin:0;font-size:clamp(1.35rem,2.6vw,2rem);font-weight:800}.battle-encounter-scene.is-night-encounter .encounter-time-headline{text-shadow:0 3px 14px #000000f2,0 0 24px #38bdf88c}.encounter-arrival-card{opacity:0;background:linear-gradient(135deg,#100b1eeb,#0a0714f5);border:2px solid #fb7185a6;border-radius:18px;align-items:center;gap:1.5rem;width:100%;padding:1.25rem 1.6rem;display:flex;transform:scale(.94)translateY(16px);box-shadow:0 20px 50px #000000d9,0 0 32px #f43f5e47}.battle-encounter-scene.is-enemy-revealed .encounter-arrival-card.is-burst-in{animation:.42s cubic-bezier(.22,1,.36,1) forwards enemyCardBurstIn}.battle-encounter-scene.is-peaceful-encounter .encounter-arrival-card{border-color:#34d3998c;box-shadow:0 18px 44px #000c,0 0 26px #10b9813d}.battle-encounter-scene.is-peaceful-encounter .encounter-aura-ring{border-color:#34d39980}.battle-encounter-scene.is-peaceful-encounter .encounter-enemy-img{border-color:#34d399;box-shadow:0 10px 24px #000c,0 0 18px #34d39973}.battle-encounter-scene.is-peaceful-encounter .encounter-kicker-badge{color:#d1fae5;background:#064e3be0;border-color:#6ee7b7}.encounter-enemy-showcase{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.encounter-aura-ring{pointer-events:none;border:2px solid #fb7185bf;border-radius:22px;animation:1.1s ease-out infinite auraPulseRing;position:absolute;inset:-10px}.encounter-enemy-img{object-fit:cover;border:3px solid #fb7185;border-radius:16px;width:clamp(120px,20vh,156px);height:clamp(120px,20vh,156px);display:block;box-shadow:0 12px 28px #000000d9,0 0 22px #f43f5e8c}.encounter-enemy-img.is-boss-unit{border-color:#fbbf24;box-shadow:0 12px 28px #000000d9,0 0 28px #f59e0bd9}.encounter-arrival-body{flex-direction:column;flex:1;gap:.42rem;min-width:0;display:flex}.encounter-kicker-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.encounter-kicker-badge{color:#ffe4e6;background:#9f1239d9;border:1px solid #fda4af;border-radius:999px;padding:.16rem .68rem;font-size:.74rem;font-weight:800;display:inline-block}.encounter-expected-badge{color:#fde68a;background:#0f172ae6;border:1px solid #fbbf2499;border-radius:999px;padding:.16rem .68rem;font-size:.76rem;font-weight:800;display:inline-block}.encounter-headline{font-family:var(--font-serif);color:#fff;letter-spacing:.03em;text-shadow:0 2px 10px #000000e6;font-size:clamp(1.25rem,2.3vw,1.72rem);font-weight:800;line-height:1.3}.encounter-quote{color:#fde68a;font-size:.92rem;line-height:1.45}.encounter-defender-callout{background:#0c2236bf;border:1px solid #38bdf873;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.35rem;padding:.5rem .85rem;display:flex}.encounter-defender-avatars{align-items:center;gap:.3rem;display:inline-flex}.encounter-def-mini{object-fit:cover;border:1.5px solid #38bdf8;border-radius:8px;width:36px;height:36px}.encounter-defender-lead{color:#e0f2fe;font-size:.84rem;font-weight:700}.encounter-bottom-hint{justify-content:center;margin-top:.4rem;display:flex}.btn-battle-proceed{appearance:none;cursor:pointer;font-family:var(--font-sans);letter-spacing:.04em;color:#fef3c7;background:linear-gradient(135deg,#1e293beb,#0f172af5);border:1.5px solid #fbbf24bf;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.7rem;font-size:.92rem;font-weight:800;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex;box-shadow:0 8px 24px #000000bf,0 0 18px #f59e0b47}.btn-battle-proceed:hover{border-color:#fde68a;transform:translateY(-2px)scale(1.02);box-shadow:0 10px 28px #000000d9,0 0 24px #fbbf247a}.btn-battle-proceed.is-combat-cta{color:#fff;background:linear-gradient(135deg,#9f1239f0,#581c87f5);border-color:#fbbf24;box-shadow:0 10px 28px #000000d9,0 0 24px #f43f5e73}.cutin-action-footer{z-index:6;justify-content:center;margin-top:.85rem;display:flex;position:relative}.cutin-action-footer[hidden]{display:none!important}.battle-cutin-stage{border:2px solid var(--border-gold);background:linear-gradient(#100b1cd1,#0a0714f0),url(/washi/games/demon-castle-shift/op-scene-1-castle.jpg) 50%/cover;border-radius:18px;flex-direction:column;flex:1;justify-content:space-between;padding:1.35rem 1.75rem;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 36px #000000a6}.battle-cutin-stage.is-day-battle{background:linear-gradient(135deg,#442a0cb8 0%,#100c1cdb 60%,#301418d1 100%),url(/washi/games/demon-castle-shift/op-scene-1-castle.jpg) 50%/cover;border-color:#f6c86aa6}.battle-cutin-stage.is-night-battle{background:linear-gradient(135deg,#0e1836cc 0%,#0c091ae0 60%,#2c0e1ed9 100%),url(/washi/games/demon-castle-shift/op-scene-2-heroes.jpg) 50%/cover;border-color:#7dd3fc8c}.battle-cutin-stage.is-win-flash{border-color:#34d399;box-shadow:0 0 32px #34d3996b,inset 0 0 36px #34d3992e}.battle-cutin-stage.is-perfect-flash{border-color:#fbbf24;box-shadow:0 0 36px #fbbf2485,inset 0 0 40px #fbbf2438}.battle-cutin-stage.is-breach-flash{border-color:#fb7185;box-shadow:0 0 36px #f43f5e94,inset 0 0 42px #f43f5e4d}.battle-fx-overlay{pointer-events:none;z-index:5;opacity:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@keyframes fxStampPop{0%{opacity:0;transform:scale(1.45)rotate(-3deg)}35%{opacity:1;transform:scale(.96)rotate(-1deg)}to{opacity:.96;transform:scale(1)rotate(-1deg)}}.battle-fx-overlay.is-win,.battle-fx-overlay.is-perfect,.battle-fx-overlay.is-breach{opacity:1}.battle-fx-overlay.is-win{background:radial-gradient(circle,#10b98140 0%,#0000 72%)}.battle-fx-overlay.is-perfect{background:radial-gradient(circle,#f59e0b4d 0%,#0000 74%)}.battle-fx-overlay.is-breach{background:linear-gradient(125deg,#0000 42%,#f43f5e7a 49%,#ffffffb8 50%,#f43f5e7a 51%,#0000 58%),radial-gradient(circle,#e11d485c 0%,#0000 75%)}.battle-fx-stamp{font-family:var(--font-serif);letter-spacing:.06em;text-shadow:0 2px 10px #000000f2;border-radius:999px;padding:.48rem 1.45rem;font-size:clamp(1.05rem,2vw,1.38rem);font-weight:800;animation:.26s ease-out forwards fxStampPop;box-shadow:0 10px 28px #000000d9}.battle-fx-overlay.is-win .battle-fx-stamp{color:#a7f3d0;background:#064e3bf2;border:2px solid #34d399}.battle-fx-overlay.is-perfect .battle-fx-stamp{color:#fef3c7;background:#78350ff5;border:2px solid #fde68a}.battle-fx-overlay.is-breach .battle-fx-stamp{color:#ffe4e6;background:#881337f5;border:2px solid #fda4af}.battle-cutin-header{z-index:2;color:#fef3c7;text-shadow:0 2px 6px #000000e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:1.05rem;font-weight:800;display:flex;position:relative}.cutin-header-left{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.cutin-phase-pill{color:#fde68a;background:#1e293be6;border:1px solid #fbbf2499;border-radius:999px;padding:.2rem .7rem;font-size:.76rem;font-weight:800}.cutin-phase-pill.is-win{color:#a7f3d0;background:#064e3be6;border-color:#34d399}.cutin-phase-pill.is-lose{color:#fecdd3;background:#881337e6;border-color:#fb7185}.cutin-winprob-badge{border:1px solid var(--border-subtle);background:#0f172ae0;border-radius:999px;padding:.22rem .75rem;font-size:.78rem;font-weight:700}.cutin-winprob-badge.is-safe{color:#a7f3d0;background:#064e3bbf;border-color:#34d39999}.cutin-winprob-badge.is-mid{color:#fde68a;background:#78350fb8;border-color:#fbbf2499}.cutin-winprob-badge.is-risky{color:#fecdd3;background:#881337bf;border-color:#fb7185a6}.battle-cutin-versus{z-index:2;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.1rem;margin:auto 0;display:grid;position:relative}.cutin-side{backdrop-filter:blur(8px);background:#0e0a1ae0;border:1.5px solid #ffffff2e;border-radius:14px;padding:1.05rem 1.2rem;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .2s,box-shadow .2s}.cutin-side-defenders{border-left:4px solid #38bdf8}.cutin-side-enemies{border-right:4px solid #fb7185}.cutin-side.is-lunge-win{border-color:#34d399;transform:translate(12px)scale(1.03);box-shadow:0 0 24px #34d3996b}.cutin-side.is-recoil-lose{opacity:.75;transform:translate(8px)scale(.95)}.cutin-side.is-lunge-breach{border-color:#fb7185;transform:translate(-12px)scale(1.04);box-shadow:0 0 24px #f43f5e80}@keyframes defenderHitShudder{0%{transform:translate(0)}25%{transform:translate(-9px)}50%{transform:translate(7px)}75%{transform:translate(-5px)}to{transform:translate(-3px)}}.cutin-side.is-hit-shudder{border-color:#f43f5eb3;animation:.28s ease-out forwards defenderHitShudder}.cutin-unit-row{align-items:center;gap:.9rem;display:flex}.cutin-unit-row.is-enemy-row{justify-content:space-between}.cutin-unit-info{flex:1;min-width:0}.cutin-side-label{color:#7dd3fc;letter-spacing:.04em;margin-bottom:.2rem;font-size:.72rem;font-weight:800}.cutin-side-label.is-ene-label{color:#fda4af}.battle-party-avatars{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem;display:flex}.battle-unit-avatar{object-fit:cover;background:#0c0818;border:2px solid #38bdf8d9;border-radius:12px;width:72px;height:72px;box-shadow:0 6px 16px #000000b3}.battle-unit-avatar.has-synergy-glow{border-color:#fbbf24;box-shadow:0 0 14px #fbbf24b3}.battle-unit-avatar.is-enemy{border-color:#fb7185d9;width:82px;height:82px}.battle-unit-avatar.is-boss-unit{border-color:#f59e0b;box-shadow:0 0 18px #f59e0bcc}.battle-synergy-chip{color:#fef3c7;white-space:nowrap;background:#f59e0b3d;border:1px solid #fbbf24;border-radius:999px;padding:.14rem .5rem;font-size:.68rem;font-weight:800;display:inline-block}.cutin-side-title{color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.96rem;font-weight:800;display:flex}.cutin-power-num{color:var(--gold-bright);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.cutin-power-num.is-def{color:#7dd3fc}.cutin-power-num.is-ene{color:#fda4af}.cutin-quote{color:#e2e8f0;margin-top:.35rem;font-size:.82rem;line-height:1.42}@keyframes vsClashPulse{0%,to{transform:scale(1)rotate(-10deg)}50%{transform:scale(1.28)rotate(10deg)}}.cutin-vs-badge{border:2px solid var(--gold);background:radial-gradient(circle,#f59e0b59 0%,#0f172af2 100%);border-radius:50%;justify-content:center;align-self:center;align-items:center;width:54px;height:54px;font-size:1.45rem;display:flex;box-shadow:0 0 20px #f59e0b73}.cutin-vs-badge.is-clashing{animation:.18s ease-in-out infinite vsClashPulse}.battle-tug-wrap{z-index:2;margin-top:.9rem;position:relative}.battle-tug-labels{color:#e2e8f0;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.82rem;font-weight:800;display:flex}.tug-status-center{color:#fde68a;font-size:.88rem;font-weight:800}.tug-status-center.is-win{color:#6ee7b7}.tug-status-center.is-lose{color:#fda4af}.battle-tug-track{background:linear-gradient(90deg,#e11d48 0%,#fb7185 100%);border:1.5px solid #ffffff4d;border-radius:999px;height:16px;position:relative;overflow:visible;box-shadow:inset 0 2px 5px #000000b3}.battle-tug-fill-def{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 60%,#fbbf24 100%);border-radius:999px 0 0 999px;height:100%;transition:width .14s ease-out;box-shadow:0 0 14px #38bdf8a6}.battle-tug-spark{filter:drop-shadow(0 0 8px #fbbf24f2);pointer-events:none;font-size:1.15rem;transition:left .14s ease-out;position:absolute;top:50%;transform:translate(-50%,-50%)}.battle-log-section{border:1px solid var(--border-subtle);background:#0c0916b8;border-radius:12px;padding:.65rem .85rem}.battle-log-heading{color:var(--gold-bright);letter-spacing:.04em;margin-bottom:.45rem;font-size:.76rem;font-weight:800}.battle-log-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.42rem;margin-bottom:0;display:grid}.battle-slot-item{border:1px solid var(--border-subtle);background:#0e0a18c7;border-radius:8px;justify-content:space-between;align-items:center;gap:.4rem;padding:.38rem .58rem;font-size:.73rem;transition:all .2s;display:flex}.battle-slot-left{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.battle-slot-time{color:#fef3c7;white-space:nowrap;font-weight:700}.battle-slot-avatars{align-items:center;gap:.15rem;display:inline-flex}.log-mini-avatar{object-fit:cover;border:1px solid var(--gold);border-radius:50%;width:20px;height:20px}.battle-slot-enemy{color:var(--text-muted);white-space:nowrap}.battle-slot-res{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.battle-slot-item.is-pending{opacity:.45}.battle-slot-item.is-active{border-color:var(--gold-bright);opacity:1;background:#221836eb;box-shadow:0 0 0 1.5px #e5b95c73}.battle-slot-item.win{color:#a7f3d0;background:#064e3b38;border-color:#38c99480}.battle-slot-item.is-peaceful{color:#bae6fd;opacity:.86;background:#0f172a8c;border-color:#7dd3fc59}.battle-slot-item.lose{color:#fecdd3;background:#88133747;border-color:#f4647aa6}.result-rank-banner{text-align:center;border:1.5px solid var(--border-gold);background:linear-gradient(135deg,#1a122cf2,#100c1cf5);border-radius:14px;margin-bottom:.85rem;padding:1.05rem 1.35rem;box-shadow:0 14px 36px #000000b3}.result-hero-banner{text-align:left}.result-hero-banner.is-gameover{border-color:var(--danger-crimson)}.result-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.result-hero-sub{color:var(--text-muted);margin:.35rem 0 0;font-size:.88rem}.result-hero-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.65rem;display:flex}.result-primary-cta{width:auto;padding:.72rem 1.65rem;font-size:.98rem;box-shadow:0 8px 24px #e5b95c59}.result-rank-letter{font-family:var(--font-serif);color:var(--gold-bright);font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:700}.result-score-compare{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.75rem 0;display:grid}.result-stat-box{border:1px solid var(--border-subtle);text-align:center;background:#0e0a18b8;border-radius:8px;padding:.55rem}.result-stat-box span{color:var(--text-muted);font-size:.7rem;display:block}.result-stat-box strong{color:var(--gold-bright);font-size:1.05rem}.guard-comments-box{flex-direction:column;gap:.4rem;margin:.75rem 0;display:flex}.guard-comment-item{border:1px solid var(--border-subtle);background:#0e0a18a6;border-radius:8px;align-items:center;gap:.6rem;padding:.45rem .65rem;font-size:.78rem;display:flex}.guard-comment-item img{object-fit:cover;border-radius:8px;flex-shrink:0;width:36px;height:36px}.lore-unlock-card{border:1px solid var(--border-gold);background:#e5b95c12;border-radius:10px;margin:.8rem 0;padding:.85rem 1rem}.lore-unlock-card h4{font-family:var(--font-serif);color:var(--gold-bright);margin:0 0 .35rem;font-size:.94rem}.lore-unlock-card p{color:var(--text-muted);margin:0 0 .45rem;font-size:.8rem;line-height:1.65}.lore-unlock-card p:last-child{margin-bottom:0}.lore-episode-list{flex-direction:column;gap:.75rem;max-height:62vh;padding-right:.25rem;display:flex;overflow-y:auto}.lore-episode-item{border:1px solid var(--border-subtle);background:#0e0a18c7;border-radius:10px;padding:.85rem 1rem}.lore-episode-item.is-locked{opacity:.55}.lore-episode-item h3{font-family:var(--font-serif);color:var(--gold-bright);margin:0 0 .2rem;font-size:.95rem}.lore-episode-sub{color:var(--text-dim);margin-bottom:.5rem;font-size:.74rem}.lore-episode-item p{color:var(--text-muted);margin:0 0 .45rem;font-size:.82rem;line-height:1.68}.lore-episode-item p:last-child{margin-bottom:0}.violation-list{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.violation-item{border-left:3px solid var(--danger-crimson);color:#fecdd3;background:#f4647a1f;border-radius:6px;padding:.35rem .55rem}.help-grid{flex-direction:column;gap:.7rem;display:flex}.help-step-card{border:1px solid var(--border-subtle);background:#0e0a18a6;border-radius:10px;padding:.75rem .95rem}.help-step-card h3{color:var(--gold-bright);margin:.2rem 0 .3rem;font-size:.9rem}.help-step-card p{color:var(--text-muted);margin:0;font-size:.8rem}.help-list{color:var(--text-muted);flex-direction:column;gap:.22rem;margin:.4rem 0 0;padding-left:1.2rem;font-size:.78rem;display:flex}.step-num{color:var(--gold-bright);background:#e5b95c29;border-radius:4px;padding:.08rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.monster-post-chip{color:#e2e8f0;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;padding:.06rem .35rem;font-size:.65rem;font-weight:600}.cell-note.is-synergy{color:#6ee7b7;font-weight:700}.cell-note.is-conflict{color:#fda4af;background:#f43f5e29;border-radius:4px;padding:.04rem .25rem;font-weight:700}button.pair-chip,.pair-chip{cursor:pointer;font-family:inherit;transition:transform .12s,filter .12s}button.pair-chip:hover{filter:brightness(1.12);transform:translateY(-1px)}.pair-chip.is-positive{color:#a7f3d0;background:#10b98124;border:1px solid #34d39973}.pair-chip.is-negative{color:#fecdd3;background:#f43f5e29;border:1px solid #fb71858c}.battle-conflict-chip{color:#ffe4e6;white-space:nowrap;background:#be123ce0;border:1px solid #fda4af;border-radius:999px;align-items:center;padding:.12rem .42rem;font-size:.66rem;font-weight:800;display:inline-flex}.roster-dialog.grimoire-dialog{width:min(95vw,1020px);max-width:1020px;box-shadow:none;background:0 0;border:none;padding:0}.grimoire-leather-binding{background:radial-gradient(circle at 50% 0,#783e1c59,#0000 65%),linear-gradient(145deg,#2d140a 0%,#190a05 48%,#261008 100%);border:4px solid #8c6228;border-radius:14px;padding:14px 18px 20px;position:relative;box-shadow:0 32px 80px #000000eb,inset 0 0 0 3px #42200e,inset 0 0 28px #000000d9}.grimoire-corner{pointer-events:none;z-index:3;border-style:solid;border-color:#d4a353;width:24px;height:24px;position:absolute}.grimoire-corner-tl{border-width:3px 0 0 3px;border-top-left-radius:6px;top:5px;left:5px}.grimoire-corner-tr{border-width:3px 3px 0 0;border-top-right-radius:6px;top:5px;right:5px}.grimoire-corner-bl{border-width:0 0 3px 3px;border-bottom-left-radius:6px;bottom:5px;left:5px}.grimoire-corner-br{border-width:0 3px 3px 0;border-bottom-right-radius:6px;bottom:5px;right:5px}.grimoire-parchment-spread{color:#2b180a;background:linear-gradient(90deg,#44260e3d 0%,#44260e0a 5%,#0000 46%,#2a160738 49.5%,#1c0e0457 50%,#2a160738 50.5%,#0000 54%,#44260e0a 95%,#44260e3d 100%),radial-gradient(#f4e8ce 0%,#e7d5b0 72%,#d5bc8e 100%);border:1.5px solid #8a6236;border-radius:8px;padding:1.15rem 1.35rem 1.25rem;position:relative;box-shadow:-4px 2px #d5be93,-8px 4px #b39666,4px 2px #d5be93,8px 4px #b39666,0 6px #c6ad80,0 12px 26px #000000a6,inset 0 0 42px #60381452}.grimoire-header{border-bottom:3px double #7c5227;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;padding-bottom:.7rem;display:flex}.grimoire-title-group{align-items:center;gap:.75rem;display:flex}.grimoire-wax-seal{color:#fde68a;width:38px;height:38px;font-family:var(--font-serif);background:radial-gradient(circle at 35% 35%,#b91c1c,#691010);border:2px solid #d4a353;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:0 3px 8px #2d0c088c,inset 0 0 6px #00000073}.grimoire-folio-sub{font-family:var(--font-serif);color:#6e4720;letter-spacing:.08em;font-size:.7rem;font-weight:700}.grimoire-title{font-family:var(--font-serif);color:#261305;letter-spacing:.04em;margin:.05rem 0 0;font-size:1.2rem;font-weight:700}.grimoire-close-btn{cursor:pointer;font-family:var(--font-serif);color:#fef3c7;background:linear-gradient(#7f1d1d,#581111);border:1.5px solid #d4a353;border-radius:6px;padding:.35rem .85rem;font-size:.8rem;font-weight:700;transition:filter .15s,transform .15s;box-shadow:0 3px 8px #2d140866}.grimoire-close-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.grimoire-pages-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.35rem;max-height:64dvh;padding:.15rem .35rem .25rem .15rem;display:grid;overflow-y:auto}.grimoire-entry-card{background:linear-gradient(#fffaeeb8,#f2e3c4c7);border:1px solid #7a52267a;border-left:4px solid #6b3c18;border-radius:6px;flex-direction:column;gap:.36rem;padding:.62rem .75rem;display:flex;position:relative;box-shadow:0 2px 5px #3c220c24}.grimoire-entry-card.is-on-duty{background:linear-gradient(#fff6daeb,#f5e0b2eb);border-color:#8c2d19 #8c2d19 #8c2d19 #991b1b;border-left-style:solid;border-left-width:4px;box-shadow:0 3px 10px #7c2d1238}.grimoire-wax-stamp{color:#fef2f2;font-family:var(--font-serif);letter-spacing:.06em;background:#881313;border:1px solid #fca5a5;border-radius:4px;padding:.08rem .42rem;font-size:.64rem;font-weight:700;position:absolute;top:6px;right:8px;transform:rotate(3deg);box-shadow:0 2px 4px #0000004d}.grimoire-entry-top{align-items:center;gap:.65rem;display:flex}.grimoire-portrait-frame{background:linear-gradient(135deg,#b88940,#694418);border-radius:6px;flex-shrink:0;padding:2px;box-shadow:0 2px 6px #2a160759}.grimoire-avatar{object-fit:cover;filter:sepia(.12)contrast(1.03);border-radius:4px;width:56px;height:56px;display:block}.grimoire-title-col{flex-direction:column;gap:.14rem;min-width:0;display:flex}.grimoire-name-line{flex-wrap:wrap;align-items:baseline;gap:.35rem;padding-right:2.4rem;display:flex}.grimoire-entry-no{font-family:var(--font-serif);color:#7c5227;font-size:.68rem;font-weight:700}.grimoire-char-name{font-family:var(--font-serif);color:#1f0f04;font-size:.94rem;font-weight:700}.grimoire-race-sub{color:#5c3d20;font-size:.68rem}.grimoire-post-line{color:#4a2c11;font-size:.71rem}.grimoire-post-line strong{color:#7c2d12}.grimoire-stats-line{flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.grimoire-ink-chip{border-radius:3px;padding:.05rem .36rem;font-size:.65rem;font-weight:800}.grimoire-ink-chip.is-day{color:#7c2d12;background:#b4530929;border:1px solid #b4530973}.grimoire-ink-chip.is-night{color:#1e1b4b;background:#312e8124;border:1px solid #4338ca6b}.grimoire-rule-text{color:#5c3d20;font-size:.65rem;font-weight:600}.grimoire-quote{font-family:var(--font-serif);color:#3b2310;border-top:1px dashed #7c522759;margin:0;padding-top:.28rem;font-size:.73rem;line-height:1.48}.grimoire-rels-row{flex-wrap:wrap;gap:.25rem;display:flex}.grimoire-rel-chip{border-radius:3px;padding:.06rem .36rem;font-size:.64rem;font-weight:700}.grimoire-rel-chip.is-pos{color:#14532d;background:#14532d1f;border:1px solid #16653473}.grimoire-rel-chip.is-neg{color:#7f1d1d;background:#991b1b21;border:1px solid #991b1b7a}.result-dialog{width:min(95vw,860px);max-width:860px}.optimal-compare-box{border:1.5px solid var(--border-gold);background:#0e0a1aeb;border-radius:12px;flex-direction:column;gap:.7rem;margin-top:.75rem;padding:.85rem 1rem;display:flex}.optimal-compare-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.optimal-compare-title{font-family:var(--font-serif);color:var(--gold-bright);margin:0;font-size:.96rem}.optimal-compare-sub{color:var(--text-muted);margin:.18rem 0 0;font-size:.74rem}.optimal-compare-totals{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.cmp-total-pill{border:1px solid var(--border-subtle);color:var(--text-muted);white-space:nowrap;background:#ffffff0f;border-radius:6px;padding:.2rem .6rem;font-size:.74rem}.cmp-total-pill.is-opt{color:#a7f3d0;background:#38c99424;border-color:#38c99473}.cmp-table-wrap{border:1px solid var(--border-subtle);border-radius:8px;overflow-x:auto}.shift-compare-table{border-collapse:collapse;background:#0a0712d9;width:100%;font-size:.75rem}.shift-compare-table th,.shift-compare-table td{text-align:center;white-space:nowrap;border:1px solid #b09ada24;padding:.42rem .5rem}.shift-compare-table thead th{color:var(--gold-bright);background:#221936e6;font-weight:700}.cmp-monster-th{color:#fff;background:#181226e6;align-items:center;gap:.4rem;font-weight:700;display:flex;text-align:left!important}.cmp-mini-avatar{object-fit:cover;border:1px solid var(--gold);border-radius:6px;flex-shrink:0;width:24px;height:24px}.cmp-td.is-match{background:#38c9940d}.cmp-td.is-diff{background:#e5b95c24;box-shadow:inset 0 0 0 1px #e5b95c8c}.cmp-cell-inner{justify-content:center;align-items:center;gap:.25rem;display:inline-flex}.cmp-shift-pill{border-radius:4px;padding:.1rem .38rem;font-size:.68rem;font-weight:700;display:inline-block}.cmp-shift-pill.is-day{color:#fde68a;background:#d9770647;border:1px solid #f59e0b}.cmp-shift-pill.is-night{color:#e0e7ff;background:#4f46e54d;border:1px solid #818cf8}.cmp-shift-pill.is-off{color:var(--text-muted);background:#94a3b829;border:1px solid #94a3b859}.cmp-from-pill{color:var(--text-dim);font-size:.66rem;text-decoration:line-through}.cmp-diff-arrow{color:var(--gold-bright);font-size:.62rem}.cmp-match-label{color:#6ee7b7;font-size:.64rem}.cmp-slot-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem;display:grid}.cmp-slot-card{border:1px solid var(--border-subtle);background:#181226cc;border-radius:8px;padding:.45rem .6rem;font-size:.72rem}.cmp-slot-card.is-breached{background:#f4647a1a;border-color:#f4647a8c}.cmp-slot-head{color:var(--text-main);justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.22rem;font-weight:700;display:flex}.cmp-breach-tag{color:#fda4af;white-space:nowrap;background:#f4647a38;border-radius:4px;padding:.05rem .36rem;font-size:.64rem}.cmp-slot-body{flex-direction:column;gap:.12rem;display:flex}.cmp-slot-line.is-player{color:var(--text-muted)}.cmp-slot-line.is-optimal{color:#a7f3d0}.optimal-compare-details{border:1px solid var(--border-subtle);background:#0e0a1a99;border-radius:10px;margin-top:.7rem;padding:.5rem .75rem}.optimal-compare-details summary{cursor:pointer;color:var(--gold-bright);user-select:none;font-size:.82rem;font-weight:700}@media (width<=768px){.title-screen{padding:.75rem .75rem max(1.2rem, env(safe-area-inset-bottom))}.title-topbar{gap:.4rem}.title-topbar-right{gap:.35rem}.title-genre-pill,.title-back-link{padding:.22rem .65rem;font-size:.74rem}.title-hero-stage{gap:.75rem;padding:.5rem 0}.title-logo-img{width:min(88vw,420px)}.title-menu-dock{border-radius:14px;max-width:100%;padding:1rem .85rem}.title-catchphrase{margin-bottom:.85rem;font-size:.84rem;line-height:1.55}.title-actions{width:100%}.btn-title-primary{width:100%;min-width:0;max-width:320px;padding:.75rem 1.2rem;font-size:.95rem}.btn-title-secondary{width:100%;min-width:0;max-width:320px;padding:.6rem 1.2rem;font-size:.88rem}.title-sub-actions{justify-content:center;gap:.45rem;width:100%}.title-sub-actions .btn-glass{text-align:center;flex:auto;max-width:150px}.op-floating-controls{top:max(.5rem, env(safe-area-inset-top));gap:.35rem;right:.6rem}.op-letterbox-bottom{padding:1.5rem .65rem max(1rem, env(safe-area-inset-bottom));gap:.5rem}.op-telop-box{border-radius:10px;min-height:3.6em;padding:.6rem .75rem}.op-telop-lead{font-size:1.05rem}.op-telop-sub{font-size:.78rem}.op-bottom-bar{gap:.5rem;width:100%}.op-climax-overlay{gap:.65rem;padding:1rem}.op-climax-logo-img{width:min(84%,300px);max-height:32vh}.op-climax-tagline{font-size:.88rem}.op-climax-btn{width:100%;min-width:0;max-width:280px;padding:.65rem 1.2rem}.prologue-vn-shell{padding:.6rem .65rem max(.8rem, env(safe-area-inset-bottom));gap:.5rem}.prologue-vn-topbar{gap:.4rem}.prologue-vn-top-controls{gap:.35rem}.prologue-vn-center{flex-direction:column;gap:.6rem}.prologue-lilith-large,.prologue-vn-center.is-greeting-solo .prologue-lilith-large{width:clamp(96px,18vh,140px);height:clamp(96px,18vh,140px)}.prologue-lilith-frame{border-radius:18px;padding:4px}.prologue-lilith-nameplate{gap:.35rem;padding:.2rem .75rem}.prologue-lilith-role{font-size:.68rem}.prologue-lilith-name{font-size:.92rem}.prologue-scene-banner{max-height:18vh}.prologue-vn-textbox{border-radius:12px;padding:.65rem .85rem}.prologue-slide-heading{margin:.15rem 0 .25rem;font-size:.92rem}.prologue-slide-text{min-height:3.5em;font-size:.8rem;line-height:1.45}.prologue-footer{margin-top:.4rem}.prologue-btn-row .btn-dispatch,.prologue-btn-row .btn-glass{padding:.45rem 1rem;font-size:.84rem}.game-shell{padding:.25rem .4rem max(.5rem, env(safe-area-inset-bottom));gap:.35rem}.game-topbar{gap:.35rem;padding:.3rem .45rem}.brand-cluster{justify-content:space-between;gap:.35rem;width:100%}.stage-progress-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;max-width:calc(100% - 85px);padding-bottom:2px;overflow-x:auto}.stage-progress-nav::-webkit-scrollbar{display:none}.stage-pill-btn{white-space:nowrap;flex-shrink:0;padding:.22rem .45rem;font-size:.72rem}.topbar-controls{justify-content:space-between;gap:.25rem;width:100%}.btn-glass{padding:.25rem .48rem;font-size:.74rem}.lang-btn{padding:.18rem .36rem;font-size:.68rem}.btn-audio .btn-audio-extra{display:none}.board-panel{border-radius:10px;padding:.45rem .55rem}.board-header{gap:.35rem;margin-bottom:.35rem}.stage-title-block{justify-content:space-between;gap:.35rem;width:100%}.stage-heading{font-size:.88rem}.condition-summary-row{justify-content:flex-start;gap:.25rem;width:100%}.cond-pill{padding:.2rem .42rem;font-size:.68rem}.condition-summary-row .btn-glass{padding:.2rem .45rem;font-size:.7rem}.pair-bonus-strip{gap:.25rem}.pair-pill{padding:.15rem .4rem;font-size:.68rem}.board-container{padding-bottom:5rem}.rpg-dialogue-dock{bottom:max(.35rem, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 124px;gap:.45rem}.dialogue-window{border-radius:10px;gap:.5rem;min-height:52px;padding:.35rem .55rem}.dialogue-portrait{border-radius:7px;width:38px;height:38px}.dialogue-meta-row{gap:.35rem;margin-bottom:.05rem}.dialogue-speaker{font-size:.78rem}.dialogue-tag{padding:.02rem .3rem;font-size:.6rem}.dialogue-text{min-height:2.7em;font-size:.76rem;line-height:1.35}.dialogue-cursor{font-size:.62rem;bottom:.3rem;right:.5rem}.btn-dispatch{text-align:center;white-space:normal;border-radius:10px;justify-content:center;align-items:center;padding:.45rem .4rem;font-size:.82rem;line-height:1.25;display:flex}.matrix-scroll-wrapper{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border-gold) transparent}.shift-matrix thead th.col-monster{width:168px;padding-left:.45rem;font-size:.76rem}.raid-row th{width:168px;padding-left:.45rem;font-size:.74rem}.monster-row-th{width:168px}.monster-cell-header{gap:.4rem;padding:.1rem}.monster-avatar{border-radius:6px;width:32px;height:32px}.monster-name{font-size:.78rem}.monster-meta{gap:.05rem}.monster-chips{gap:.15rem}.monster-chip{padding:.02rem .25rem;font-size:.58rem}.shift-cell{padding:.25rem .3rem}.shift-btn-group{gap:.15rem;min-width:144px;max-width:156px;padding:.15rem}.shift-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem .2rem;font-size:.82rem;display:flex}.cell-note{font-size:.62rem}.dispatch-tutorial-callout{display:none!important}.game-dialog:not(.op-movie-dialog):not(.prologue-vn-dialog):not(.is-fullscreen-battle){width:min(96vw,760px);max-height:90dvh}.op-movie-dialog,.prologue-vn-dialog{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden}.result-dialog.is-fullscreen-battle{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0}.dialog-inner{padding:.85rem .95rem}.dialog-header{margin-bottom:.65rem;padding-bottom:.5rem}.dialog-header h2{font-size:.95rem}.briefing-dialog .prologue-stage{gap:.75rem;padding:.75rem}.briefing-dialog .prologue-portrait{width:56px!important;height:56px!important}#btn-briefing-start{width:100%!important;max-width:100%!important}.roster-dialog.grimoire-dialog{width:min(96vw,1020px);max-height:92dvh}.grimoire-leather-binding{border-width:3px;padding:8px 10px 14px}.grimoire-parchment-spread{padding:.75rem .65rem .85rem;box-shadow:0 8px 20px #000000a6,inset 0 0 24px #60381447}.grimoire-header{flex-wrap:wrap;justify-content:space-between;gap:.45rem}.grimoire-title-group{gap:.5rem}.grimoire-wax-seal{width:32px;height:32px;font-size:.85rem}.grimoire-title{font-size:1.02rem}.grimoire-folio-sub{font-size:.65rem}.grimoire-close-btn{padding:.3rem .65rem;font-size:.74rem}.grimoire-pages-grid{grid-template-columns:1fr;gap:.6rem;max-height:58dvh}.grimoire-entry-card{gap:.3rem;padding:.5rem .65rem}.grimoire-avatar{width:44px;height:44px}.help-step-card{padding:.65rem .75rem}.battle-fs-shell{padding:.5rem .55rem max(.8rem, env(safe-area-inset-bottom));gap:.5rem}.battle-live-stage{min-height:clamp(320px,48vh,460px)}.encounter-arrival-card{text-align:center;flex-direction:column;gap:.65rem;padding:.85rem}.encounter-kicker-row,.encounter-defender-callout{justify-content:center}.encounter-enemy-img{width:72px;height:72px}.encounter-headline{font-size:1.15rem}.encounter-defender-callout{padding:.4rem .65rem}.encounter-def-mini{width:30px;height:30px}.battle-cutin-versus{grid-template-columns:1fr;gap:.6rem}.cutin-side{padding:.65rem .75rem}.cutin-unit-row{gap:.5rem}.cutin-vs-badge{justify-self:center;width:42px;height:42px;margin:0 auto;font-size:1.2rem}.battle-unit-avatar{width:36px;height:36px}.battle-party-avatars{gap:.25rem}.battle-log-section{padding:.55rem .65rem}.battle-slot-item{padding:.3rem .45rem;font-size:.72rem}.battle-slot-avatars img{width:22px;height:22px}.result-hero-top{flex-direction:column;align-items:stretch;gap:.6rem}.result-hero-actions{flex-direction:column;gap:.45rem;width:100%;display:flex}.result-hero-actions .btn-dispatch,.result-hero-actions .btn-glass{text-align:center;width:100%}.result-score-compare{gap:.35rem}.result-stat-box{padding:.4rem .3rem}.result-stat-box span{font-size:.65rem}.result-stat-box strong{font-size:.92rem}.guard-comments-box{gap:.3rem}.guard-comment-item{padding:.35rem .5rem;font-size:.74rem}.guard-comment-item img{width:30px;height:30px}}@media (width<=420px){.rpg-dialogue-dock{grid-template-columns:minmax(0,1fr) 104px;gap:.3rem}.dialogue-window{gap:.4rem;padding:.3rem .45rem}.dialogue-portrait{width:32px;height:32px}.dialogue-text{font-size:.72rem}.btn-dispatch{padding:.38rem .25rem;font-size:.76rem}.shift-matrix thead th.col-monster,.raid-row th{width:150px;padding-left:.35rem}.monster-row-th{width:150px}.monster-cell-header{gap:.25rem}.monster-avatar{width:28px;height:28px}.monster-name{font-size:.74rem}.shift-btn-group{min-width:136px;max-width:144px}.shift-btn{min-width:42px}}
