:root{--stage:#121820;--ink:#dce8f7;--accent:#7fd4ff;--sumi:#06080b;--lacquer:#17120f;--gold:#d9b26a;--blood:#d8402c;--blood-lit:#ff6a4d;--washi:#efe6d6}*{box-sizing:border-box}html,body{background:var(--stage);height:100%;color:var(--ink);margin:0;padding:0;font-family:Inter,Segoe UI,system-ui,sans-serif;overflow:hidden}#viewport{touch-action:none;outline:none;width:100vw;height:100vh;display:block}.loader{z-index:10;background:radial-gradient(circle at 50% 45%, #1b242f 0%, var(--stage) 70%);place-items:center;transition:opacity .6s,visibility .6s;display:grid;position:fixed;inset:0}.loader--done{opacity:0;visibility:hidden;pointer-events:none}.loader__inner{text-align:center;width:min(360px,76vw)}.loader__title{letter-spacing:.34em;text-transform:uppercase;color:var(--ink);margin:0 0 1.6rem;font-size:1.1rem;font-weight:500}.loader__bar{background:#dce8f71f;width:100%;height:2px;overflow:hidden}.loader__bar i{background:var(--accent);width:0%;height:100%;box-shadow:0 0 12px var(--accent);transition:width .35s;display:block}.loader__status{letter-spacing:.12em;color:#dce8f78c;margin:.9rem 0 0;font-size:.75rem}.loader--failed .loader__status{color:#ff8f80}.loader--failed .loader__bar i{box-shadow:none;background:#ff8f80}.toast{letter-spacing:.1em;color:var(--ink);opacity:0;pointer-events:none;z-index:20;background:#121820e6;border:1px solid #7fd4ff40;padding:.5rem 1rem;font-size:.72rem;transition:opacity .22s,transform .22s;position:fixed;bottom:9.6rem;left:50%;transform:translate(-50%)translateY(6px)}.toast.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.stats{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0a0e14d1;border:1px solid #7fd4ff24;min-width:8.6rem;padding:.5rem .6rem;position:fixed;top:.75rem;left:.75rem}.stats[hidden]{display:none}.stats__headline{align-items:baseline;gap:.35rem;display:flex}.stats__value{color:var(--accent);font-size:1.35rem;font-weight:500;line-height:1;transition:color .25s}.stats.is-fair .stats__value{color:#ffd479}.stats.is-poor .stats__value{color:#ff8f80}.stats__unit{text-transform:uppercase;letter-spacing:.18em;color:#dce8f761;font-size:.58rem}.stats__rows{border-top:1px solid #7fd4ff1f;flex-direction:column;gap:.15rem;margin:.5rem 0 0;padding-top:.45rem;display:flex}.stats__row{justify-content:space-between;gap:.9rem;display:flex}.stats__rowLabel{text-transform:uppercase;letter-spacing:.16em;color:#dce8f761;font-size:.56rem}.stats__rowValue{letter-spacing:.06em;color:#dce8f7bf;margin:0;font-size:.62rem}.cs{z-index:15;pointer-events:none;letter-spacing:.06em;grid-template-rows:auto 1fr;grid-template-columns:260px 1fr 300px;gap:.75rem;padding:.75rem;font-size:.72rem;display:grid;position:fixed;inset:0}.cs[hidden]{display:none}.cs__bar,.cs__rail,.cs__inspector{pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#10161ef0,#0a0e14eb);border:1px solid #7fd4ff24;box-shadow:0 18px 50px #00000073}.cs__bar{scrollbar-width:thin;grid-column:1/-1;align-items:center;gap:1.1rem;padding:.5rem .75rem;display:flex;overflow-x:auto}.cs__brand{text-transform:uppercase;letter-spacing:.28em;color:#dce8f7e6;white-space:nowrap;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.cs__pip{background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%}.cs__group{white-space:nowrap;border-left:1px solid #7fd4ff1f;align-items:center;gap:.3rem;padding-left:1.1rem;display:flex}.cs__groupLabel{text-transform:uppercase;letter-spacing:.18em;color:#dce8f761;margin-right:.2rem;font-size:.6rem}.cs__close{margin-left:auto}.cs__rail{flex-direction:column;grid-column:1;min-height:0;padding:.6rem;display:flex}.cs__tabs{gap:.3rem;margin-bottom:.6rem;display:flex}.cs__tab{flex:1}.cs__cards{scrollbar-width:thin;flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex;overflow-y:auto}.cs__card{text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:#ffffff04;border:1px solid #7fd4ff1f;border-left:2px solid #0000;grid-template-columns:1fr auto;grid-template-areas:"name state""note state";gap:.15rem .5rem;padding:.6rem .65rem;transition:background .15s,border-color .15s;display:grid}.cs__card:hover{background:#7fd4ff12}.cs__card.is-equipped{border-left-color:var(--accent)}.cs__card.is-selected{background:#7fd4ff1f;border-color:#7fd4ff66}.cs__cardName{letter-spacing:.08em;grid-area:name;font-size:.76rem}.cs__cardNote{color:#dce8f766;grid-area:note;font-size:.62rem;line-height:1.35}.cs__cardState{text-transform:uppercase;letter-spacing:.14em;color:#dce8f780;border:1px solid #7fd4ff2e;grid-area:state;align-self:center;padding:.15rem .4rem;font-size:.56rem}.cs__card.is-equipped .cs__cardState{color:#05121a;background:var(--accent);border-color:var(--accent)}.cs__card.is-locked.is-equipped .cs__cardState{color:#dce8f7bf;background:0 0;border-color:#dce8f74d}.cs__card.is-pending .cs__cardState{color:var(--accent);animation:1.1s ease-in-out infinite cs-pulse}@keyframes cs-pulse{50%{opacity:.35}}.cs__actions{border-top:1px solid #7fd4ff1f;grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.6rem;padding-top:.6rem;display:grid}.cs__actions .cs__btn:last-child{grid-column:1/-1}.cs__inspector{scrollbar-width:thin;flex-direction:column;grid-column:3;min-height:0;padding:.7rem;display:flex;overflow-y:auto}.cs__title{text-transform:uppercase;letter-spacing:.2em;color:var(--ink);border-bottom:1px solid #7fd4ff24;padding-bottom:.55rem;font-size:.78rem}.cs__empty{color:#dce8f759;margin:.9rem 0 0;font-size:.66rem;line-height:1.6}.cs__body{flex-direction:column;gap:.9rem;padding-top:.8rem;display:flex}.cs__body.is-muted{opacity:.45}.cs__section{flex-direction:column;gap:.3rem;display:flex}.cs__sectionLabel{text-transform:uppercase;letter-spacing:.16em;color:#dce8f761;font-size:.58rem}.cs__section--inline{flex-flow:wrap;align-items:center;gap:.15rem .75rem}.cs__section--inline .cs__sectionLabel{flex-basis:100%}.cs__field{flex-direction:column;gap:.3rem;display:flex}.cs__fieldLabel{text-transform:uppercase;letter-spacing:.16em;color:#dce8f761;font-size:.58rem}.cs__row{grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.cs__btn{font:inherit;letter-spacing:.12em;text-transform:uppercase;color:#dce8f7bf;cursor:pointer;background:#ffffff05;border:1px solid #7fd4ff29;padding:.35rem .6rem;font-size:.64rem;transition:background .15s,color .15s,border-color .15s}.cs__btn:hover{color:var(--ink);background:#7fd4ff1f;border-color:#7fd4ff59}.cs__btn.is-active{color:#05121a;background:var(--accent);border-color:var(--accent)}.cs__select{width:100%;font:inherit;color:var(--ink);background:#080c11e6;border:1px solid #7fd4ff33;padding:.35rem .4rem;font-size:.68rem}.cs__toggle{text-transform:uppercase;letter-spacing:.1em;color:#dce8f799;cursor:pointer;align-items:center;gap:.3rem;font-size:.62rem;display:flex}.cs__toggle input{accent-color:var(--accent);cursor:pointer}.cs__slider{grid-template-columns:5.4rem 1fr 3.4rem .8rem;align-items:center;gap:.4rem;display:grid}.cs__bar .cs__slider{grid-template-columns:1fr 3.2rem;width:9rem}.cs__bar .cs__sliderLabel,.cs__bar .cs__unit{display:none}.cs__sliderLabel{letter-spacing:.1em;color:#dce8f78c;font-size:.6rem}.cs__unit{color:#dce8f74d;font-size:.58rem}.cs__slider input[type=range]{appearance:none;cursor:pointer;background:#dce8f729;width:100%;height:2px}.cs__slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border-radius:50%;width:11px;height:11px;box-shadow:0 0 8px #7fd4ff8c}.cs__slider input[type=range]::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:11px;height:11px}.cs__number{width:100%;font:inherit;color:var(--ink);background:#080c11e6;border:1px solid #7fd4ff29;padding:.2rem .3rem;font-size:.64rem}.cs__number:focus,.cs__select:focus,.cs__btn:focus-visible{outline:1px solid var(--accent);outline-offset:1px}body.cs-open .lil-gui.lil-auto-place,body.cs-open .lil-gui.autoPlace{max-height:calc(100vh - 5rem);top:3.6rem;right:320px}body.cs-open .stats{top:3.6rem;left:280px}@media (max-width:1100px){.cs{grid-template-columns:210px 1fr 250px}body.cs-open .lil-gui.lil-auto-place,body.cs-open .lil-gui.autoPlace{right:270px}body.cs-open .stats{left:230px}}.hud{z-index:18;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.1rem;left:50%;transform:translate(-50%)}.hud__row{align-items:flex-end;gap:1.1rem;display:flex}.hud__row--main{align-items:flex-start}.hud__panel{flex-direction:column;gap:.35rem;display:flex}.hud__head{align-items:center;gap:.35rem;padding-bottom:.1rem;display:flex}.hud__kanji{color:#d8402cb8;font-family:Yu Mincho,Hiragino Mincho ProN,MS Mincho,serif;font-size:.78rem;line-height:1}.hud__label{text-transform:uppercase;letter-spacing:.24em;color:#efe6d652;font-size:.52rem}.hud__items{align-items:flex-end;gap:.4rem;display:flex}.hud__icon,.tech__icon,.seal__icon,.move__icon{line-height:0;display:block}.tech__icon svg,.seal__icon svg,.move__icon svg{width:100%;height:100%;display:block}.tech{color:#efe6d69e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(170deg,#17120fe6,#06080beb);border:1px solid #d9b26a29;flex-direction:column;align-items:center;gap:.3rem;width:4.9rem;padding:.75rem .3rem .45rem;transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .18s,opacity .18s,filter .18s;display:flex;position:relative;box-shadow:0 10px 26px #00000080}.tech:before{content:"";background:linear-gradient(90deg, transparent, var(--blood), transparent);opacity:.5;height:2px;transition:opacity .18s;position:absolute;top:-1px;left:-1px;right:-1px}.tech:after{content:"";border-left:1px solid var(--gold);border-top:1px solid var(--gold);opacity:.3;width:12px;height:12px;transition:opacity .18s;position:absolute;top:3px;left:3px}.tech__key{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);opacity:.75;font-size:.54rem;font-weight:600;position:absolute;top:.28rem;left:.42rem}.tech__icon{width:1.85rem;height:1.85rem}.tech__name{letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;font-size:.55rem}.tech.is-active{color:var(--washi);background:linear-gradient(170deg,#581810eb,#140907f0);border-color:#d8402c99;transform:translateY(-3px);box-shadow:0 0 22px #d8402c57,0 12px 30px #0000008c}.tech.is-active:before,.tech.is-active:after{opacity:1}.tech.is-active .tech__icon{color:var(--blood-lit);filter:drop-shadow(0 0 6px #ff6a4d8c)}.hud__panel--ability .hud__head{justify-content:center}.seal{color:#efe6d69e;flex-direction:column;align-items:center;gap:.55rem;transition:color .2s,opacity .2s,filter .2s;display:flex}.seal__disc{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 34%,#3c1812d9,#06080bed 72%);border:1px solid #d9b26a47;border-radius:50%;place-items:center;width:3.35rem;height:3.35rem;transition:border-color .2s,box-shadow .2s,background .2s;display:grid;position:relative;box-shadow:inset 0 0 16px #0009,0 10px 24px #00000080}.seal__ring{border:1px dashed #d9b26a42;border-radius:50%;transition:border-color .2s,opacity .2s;animation:18s linear infinite paused seal-turn;position:absolute;inset:-5px}.seal__icon{width:1.6rem;height:1.6rem}.seal__name{letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;font-size:.55rem}.seal__key{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);background:#06080bf2;border:1px solid #d9b26a59;padding:.06rem .34rem;font-size:.5rem;font-weight:600;transition:color .2s,border-color .2s;position:absolute;bottom:-.42rem;left:50%;transform:translate(-50%)}.seal.is-active .seal__key{color:var(--washi);border-color:#d8402cb3}.seal.is-active{color:var(--washi)}.seal.is-active .seal__disc{background:radial-gradient(circle at 50% 34%,#7e2216f2,#0e0808f0 74%);border-color:#d8402cbf;animation:1.8s ease-in-out infinite seal-pulse;box-shadow:inset 0 0 18px #d8402c4d,0 0 26px #d8402c59}.seal.is-active .seal__ring{border-color:#ff6a4d99;animation-play-state:running}.seal.is-active .seal__icon{color:var(--blood-lit);filter:drop-shadow(0 0 7px #ff6a4d99)}@keyframes seal-turn{to{transform:rotate(360deg)}}@keyframes seal-pulse{50%{box-shadow:inset 0 0 22px #d8402c73,0 0 34px #d8402c80}}.hud__panel--movement .hud__head{display:none}.move{color:#efe6d666;background:linear-gradient(#0000,#06080b8c);border-bottom:1px solid #d9b26a2e;align-items:center;gap:.4rem;padding:.22rem .6rem .28rem;transition:color .18s,border-color .18s,opacity .18s,filter .18s;display:flex}.move__icon{width:.95rem;height:.95rem}.move__name{letter-spacing:.2em;text-transform:uppercase;font-size:.52rem}.move__key{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);opacity:.6;font-size:.5rem;font-weight:600}.move.is-active{color:var(--washi);border-bottom-color:#d8402cb3}.move.is-active .move__icon{color:var(--blood-lit)}.tech.is-off,.seal.is-off,.move.is-off{opacity:.3;filter:grayscale()}.target-keys{z-index:17;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.target-keys__row{transform-origin:bottom;will-change:transform, opacity;gap:.22rem;display:flex;position:absolute;top:0;left:0}.target-key{letter-spacing:.08em;text-align:center;text-transform:uppercase;color:#180a04;background:#ff8a4aeb;border:1px solid #ffceaab3;border-radius:.42rem;min-width:1.15rem;padding:.15rem .32rem;font-size:.6rem;font-weight:600;transition:color .16s,background .16s,border-color .16s,box-shadow .16s,opacity .16s;box-shadow:0 0 10px #ff7a3c66}.target-key.is-off{opacity:.55;color:#dce8f7cc;box-shadow:none;background:#0a0e14ad;border-color:#ff8a4a4d}.hint{letter-spacing:.12em;text-align:right;color:#dce8f74d;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:.66rem;position:fixed;bottom:1.2rem;right:1rem}body.cs-open .hud,body.cs-open .target-keys,body.cs-open .hint{display:none}@media (prefers-reduced-motion:reduce){.seal__ring,.seal.is-active .seal__ring,.seal.is-active .seal__disc{animation:none}}.character-roster{z-index:40;color:#e4eff7;background:#09131df0;border:1px solid #40586c;border-radius:8px;width:min(240px,100vw - 32px);font:13px/1.4 system-ui,sans-serif;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}.character-roster summary{cursor:pointer;padding:10px 14px}.character-roster button{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-top:1px solid #263849;padding:9px 14px;display:block}.character-roster button:hover,.character-roster button:focus-visible{background:#20364a}.character-roster small{color:#98adbd;font-size:11px;display:block}.character-roster a{color:#addcf4;padding:8px 14px;font-size:11px;display:block}:root{--urushi:#0c0a09;--urushi-2:#171311;--shu:#c8321e;--shu-hot:#ff5a36;--kin:#c9a25a;--kin-pale:#ead9aa;--washi:#efe6d2;--ai:#3b6fb0;--serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Noto Serif CJK JP", serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--u:1}body.game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;background:#000}body.game .hud,body.game .target-hotkeys,body.game .hint,body.game .toast{display:none!important}body.game .loader{font-family:var(--serif);background:radial-gradient(at 50% 60%,#1a1412 0%,#050404 70%)}body.game .loader__title{font-family:var(--serif);color:var(--washi);letter-spacing:.3em;font-weight:600}body.game .loader__bar{background:#c9a25a26}body.game .loader__bar i{background:linear-gradient(90deg, var(--shu), var(--kin))}body.game .loader__status{color:var(--kin);font-family:var(--serif)}.tc{z-index:20;pointer-events:none;font-family:var(--serif);position:fixed;inset:0}.tc.is-hidden,.tc--desktop .tc-stick-zone,.tc--desktop .tc-look-zone,.tc--desktop .tc-stick{display:none}.tc--desktop .tc-cluster{transform-origin:100% 100%;transform:scale(.82)}.tc-key{color:var(--urushi);background:var(--kin);white-space:nowrap;border-radius:3px;padding:0 4px;font:600 9px/14px system-ui,sans-serif;display:none;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.tc--desktop .tc-key{display:block}.tc-chip{position:relative}.tc-stick-zone{pointer-events:auto;width:44%;position:absolute;top:22%;bottom:0;left:0}.tc-look-zone{pointer-events:auto;position:absolute;inset:0 0 0 44%}.tc-stick{opacity:0;width:0;height:0;transition:opacity .15s;position:absolute;top:0;left:0}.tc-stick.is-active{opacity:1}.tc-stick:before{content:"";background:radial-gradient(circle,#0c0a0926 40%,#0c0a0973);border:1.5px solid #c9a25a73;border-radius:50%;width:128px;height:128px;position:absolute;top:-64px;left:-64px}.tc-stick__knob{background:radial-gradient(circle at 40% 35%, #3a2a22, var(--urushi));border:2px solid var(--kin);border-radius:50%;width:54px;height:54px;position:absolute;top:-27px;left:-27px;box-shadow:0 0 12px #c9a25a59}.tc-cluster{right:calc(18px + var(--safe-r));bottom:calc(14px + var(--safe-b));width:calc(250px * var(--u));height:calc(250px * var(--u));pointer-events:none;position:absolute}.tc-btn{pointer-events:auto;color:var(--washi);font-family:var(--serif);touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 40% 30%,#30221aeb,#0a0807eb);border:2px solid #c9a25abf;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:0;transition:transform 60ms,border-color .1s,box-shadow .1s;display:flex;position:absolute;box-shadow:0 2px 10px #0009,inset 0 0 0 1px #0009}.tc-btn.is-down{border-color:var(--kin-pale);transform:scale(.9);box-shadow:0 0 18px #ead9aa80}.tc-btn__glyph{font-size:calc(22px * var(--u));font-weight:700;line-height:1}.tc-btn__label{font-size:calc(9px * var(--u));color:var(--kin);letter-spacing:.1em;margin-top:2px}.tc-btn--attack{width:calc(92px * var(--u));height:calc(92px * var(--u));border-color:var(--shu);background:radial-gradient(circle at 40% 30%,#5a1a10,#1a0805);bottom:0;right:0}.tc-btn--attack .tc-btn__glyph{font-size:calc(34px * var(--u))}.tc-btn--attack.is-execute{border-color:var(--kin-pale);background:radial-gradient(circle at 40% 30%,#8a2a14,#2a0805);animation:.6s ease-in-out infinite alternate tc-pulse}@keyframes tc-pulse{0%{box-shadow:0 0 8px #ff5a3666}to{box-shadow:0 0 26px #ffc878e6}}.tc-btn--dodge{right:calc(104px * var(--u));bottom:calc(4px * var(--u));width:calc(66px * var(--u));height:calc(66px * var(--u))}.tc-btn--guard{right:calc(86px * var(--u));bottom:calc(86px * var(--u));width:calc(66px * var(--u));height:calc(66px * var(--u))}.tc-btn--guard.is-on{border-color:#9fd8ff;box-shadow:0 0 14px #9fd8ff80}.tc-btn--magic{right:calc(8px * var(--u));bottom:calc(106px * var(--u));width:calc(62px * var(--u));height:calc(62px * var(--u))}.tc-btn--magic[data-element="0"]{border-color:#ff7a3a}.tc-btn--magic[data-element="1"]{border-color:#a8c4ff}.tc-btn--magic[data-element="2"]{border-color:#8ff0ff}.tc-btn--magic.is-off{opacity:.55}.tc-btn--special{right:calc(160px * var(--u));bottom:calc(132px * var(--u));width:calc(56px * var(--u));height:calc(56px * var(--u));opacity:.8}.tc-btn--special .tc-btn__glyph{font-size:calc(15px * var(--u))}.tc-btn--special.is-ready{opacity:1;border-color:var(--kin-pale);animation:.8s ease-in-out infinite alternate tc-pulse}.tc-btn--lock{right:calc(176px * var(--u));bottom:calc(62px * var(--u));width:calc(42px * var(--u));height:calc(42px * var(--u))}.tc-btn--lock .tc-btn__label{display:none}.tc-btn--lock.is-on{border-color:var(--shu-hot);color:var(--shu-hot)}.tc-ring{pointer-events:none;width:calc(100% + 10px);height:calc(100% + 10px);position:absolute;inset:-5px;transform:rotate(-90deg)}.tc-ring circle{fill:none;stroke:var(--kin);stroke-width:5px;stroke-dasharray:0 289;stroke-linecap:round}.tc-ring--mp circle{stroke:#6aa0e8;stroke-width:4px}.tc-elements{right:calc(2px * var(--u));bottom:calc(176px * var(--u));gap:calc(6px * var(--u));pointer-events:none;display:flex;position:absolute}.tc-chip{pointer-events:auto;width:calc(34px * var(--u));height:calc(34px * var(--u));color:var(--washi);font-family:var(--serif);font-size:calc(15px * var(--u));touch-action:none;background:#0c0a09d9;border:1.5px solid #c9a25a80;border-radius:50%;padding:0}.tc-chip.is-selected{border-width:2px;transform:scale(1.12)}.tc-chip--0.is-selected{color:#ffb080;border-color:#ff7a3a;box-shadow:0 0 10px #ff6a1f99}.tc-chip--1.is-selected{color:#dbe6ff;border-color:#a8c4ff;box-shadow:0 0 10px #8fb8ff99}.tc-chip--2.is-selected{color:#d8fbff;border-color:#8ff0ff;box-shadow:0 0 10px #7fe6ff99}.tc-chip.is-locked{opacity:.25}.tc-pause{right:calc(14px + var(--safe-r));pointer-events:auto;background:#0c0a09bf;border:1.5px solid #c9a25a99;border-radius:50%;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:flex;position:absolute;top:12px}.tc-pause i{background:var(--kin);width:4px;height:14px;display:block}.tc-weapon{right:calc(64px + var(--safe-r));min-width:76px;height:40px;color:var(--washi);font-family:var(--serif);letter-spacing:.08em;pointer-events:auto;touch-action:none;background:#0c0a09bf;border:1.5px solid #c9a25a99;border-radius:20px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:16px;display:flex;position:absolute;top:12px}.tc-weapon__swap{color:var(--kin);font-size:13px}.tc-weapon .tc-key{position:static}.gh{z-index:15;pointer-events:none;font-family:var(--serif);color:var(--washi);position:fixed;inset:0}.gh.is-hidden{display:none}.gh-player{left:calc(14px + var(--safe-l));align-items:center;gap:10px;display:flex;position:absolute;top:12px}.gh-player__crest{width:calc(44px * var(--u));height:calc(44px * var(--u));background:radial-gradient(circle at 40% 30%, #3a1a10, var(--urushi));border:2px solid var(--kin);font-size:calc(20px * var(--u));color:var(--kin-pale);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #000000b3}.gh-player__bars{flex-direction:column;gap:4px;display:flex}.gh-bar{width:calc(210px * var(--u));height:calc(11px * var(--u));background:#0c0a09cc;border:1px solid #c9a25a8c;position:relative;overflow:hidden;transform:skew(-12deg)}.gh-bar i{transform-origin:0;position:absolute;inset:0}.gh-bar__ghost{background:#ffe6be99;transition:transform .6s ease-in .25s}.gh-bar__fill{transition:transform 80ms linear}.gh-bar--hp .gh-bar__fill{background:linear-gradient(#e6503a,#9a1e10)}.gh-bar--mp{height:calc(7px * var(--u));width:calc(170px * var(--u))}.gh-bar--mp .gh-bar__fill{background:linear-gradient(#7aa8f0,#2c5a9e)}.gh-bar--guard{height:calc(4px * var(--u));width:calc(130px * var(--u));border-color:#c9a25a4d}.gh-bar--guard .gh-bar__fill{background:var(--kin)}.gh-potion{font-size:calc(12px * var(--u));color:var(--kin-pale);text-shadow:0 1px 3px #000;align-self:flex-end}.gh-objective{left:calc(16px + var(--safe-l));top:calc(70px * var(--u) + 8px);font-size:calc(12.5px * var(--u));color:var(--kin-pale);border-left:2px solid var(--shu);opacity:0;text-shadow:0 1px 3px #000;background:linear-gradient(90deg,#0c0a09b3,#0000);padding:3px 10px 3px 8px;transition:opacity .4s;position:absolute}.gh-objective.is-on{opacity:1}.gh-boss{text-align:center;opacity:0;transition:opacity .6s;position:absolute;top:14px;left:50%;transform:translate(-50%)}.gh-boss.is-on{opacity:1}.gh-boss__name{font-size:calc(15px * var(--u));letter-spacing:.35em;color:var(--washi);text-shadow:0 0 10px #c8321ecc,0 1px 3px #000;margin-bottom:4px}.gh-bar--boss{width:min(46vw, calc(420px * var(--u)));height:calc(12px * var(--u));border-color:var(--kin)}.gh-bar--boss .gh-bar__fill{background:linear-gradient(#ff4a2a,#7a0e04)}.gh-bar--posture{width:min(30vw, calc(260px * var(--u)));height:calc(5px * var(--u));border-color:#c9a25a66;margin:4px auto 0}.gh-bar--posture .gh-bar__fill{background:linear-gradient(90deg,#e8b04a,#ffef9a)}.gh-combo{right:calc(24px + var(--safe-r));text-align:right;opacity:0;text-shadow:0 2px 6px #000;transition:opacity .25s;position:absolute;top:34%}.gh-combo.is-on{opacity:1}.gh-combo__n{font-size:calc(34px * var(--u));color:var(--kin-pale);font-style:italic;font-weight:700}.gh-combo__label{font-size:calc(13px * var(--u));color:var(--shu-hot);margin-left:4px}.gh-notice{font-size:calc(13px * var(--u));opacity:0;white-space:nowrap;background:#0c0a09bf;border-top:1px solid #c9a25a80;border-bottom:1px solid #c9a25a80;padding:6px 18px;transition:opacity .25s;position:absolute;bottom:26%;left:50%;transform:translate(-50%)}.gh-notice.is-on{opacity:1}.gh-big{font-size:calc(40px * var(--u));letter-spacing:.2em;opacity:0;text-shadow:0 0 18px,0 2px 6px #000;font-weight:700;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.gh-big.is-on{animation:.9s ease-out forwards gh-big}@keyframes gh-big{0%{opacity:0;transform:translate(-50%,-50%)scale(1.6)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-54%)scale(1)}}.gh-card{text-align:center;opacity:0;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.gh-card.is-on{animation:3.2s ease-in-out forwards gh-card}@keyframes gh-card{0%{opacity:0;letter-spacing:.9em}18%{opacity:1;letter-spacing:.45em}80%{opacity:1}to{opacity:0}}.gh-card__title{font-size:calc(36px * var(--u));letter-spacing:.45em;color:var(--washi);text-shadow:0 0 20px #c8321e99,0 2px 8px #000}.gh-card__sub{font-size:calc(13px * var(--u));color:var(--kin);letter-spacing:.3em;margin-top:6px}.gh-card__title:after{content:"";background:linear-gradient(90deg, transparent, var(--shu), transparent);width:60%;height:2px;margin:8px auto 0;display:block}.gh-world{position:absolute;inset:0;overflow:hidden}.gh-world>*{will-change:transform;position:absolute;top:0;left:0}.is-off{opacity:0!important}.gh-reticle{border:2px solid var(--shu-hot);border-radius:50%;width:34px;height:34px;transition:opacity .15s;box-shadow:0 0 10px #ff5a36b3}.gh-reticle:after{content:"";background:var(--shu-hot);border-radius:50%;position:absolute;inset:11px}.gh-prompt{font-size:calc(16px * var(--u));color:#fff3d8;border:1.5px solid var(--kin-pale);letter-spacing:.25em;background:linear-gradient(#9a2410,#4a0c04);padding:3px 12px;font-weight:700;animation:.5s ease-in-out infinite alternate tc-pulse}.gh-danger{font-size:calc(30px * var(--u));color:#ff2a14;text-shadow:0 0 14px #ff2a14,0 0 4px #000;font-weight:700;animation:.25s ease-in-out infinite alternate gh-danger}@keyframes gh-danger{0%{filter:brightness()}to{filter:brightness(1.8)}}.gh-num{font-size:calc(17px * var(--u));color:#fff1dc;text-shadow:0 0 4px #000,0 1px 2px #000;opacity:0;font-style:italic;font-weight:700}.gh-num--crit{font-size:calc(26px * var(--u));color:#ffcf6a;text-shadow:0 0 10px #ff7828e6,0 1px 2px #000}.gh-ebar{opacity:0;background:#000000bf;border:1px solid #c9a25a80;width:54px;height:6px}.gh-ebar i,.gh-ebar b{transform-origin:0;position:absolute;left:0;right:0}.gh-ebar i{background:#d8402a;height:4px;top:0}.gh-ebar b{background:#ffd870;height:1.5px;bottom:-1px}.gh-flash{opacity:0;position:absolute;inset:0}.gh-vignette{opacity:0;background:radial-gradient(#0000 55%,#a00a00bf 100%);transition:opacity .3s;position:absolute;inset:0}.gh-slow{opacity:0;background:radial-gradient(#0000 50%,#0a14288c 100%);transition:opacity .12s;position:absolute;inset:0}.gh-slow.is-on{opacity:1}.gs{z-index:40;font-family:var(--serif);color:var(--washi);background:radial-gradient(at 50% 55%,#140c0a8c,#000000e0);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.gs.is-on{display:flex}.gs-panel{opacity:0;flex-direction:column;align-items:center;gap:10px;max-height:100vh;padding:18px 28px;transition:opacity .4s,transform .4s;display:flex;overflow-y:auto;transform:translateY(8px)}.gs-panel.is-in{opacity:1;transform:none}.gs-title{gap:6px}.gs-title__mark{border:2px solid var(--shu);width:64px;height:64px;color:var(--shu);border-radius:50%;justify-content:center;align-items:center;font-size:32px;display:flex;box-shadow:0 0 24px #c8321e66}.gs-title__name{letter-spacing:.4em;text-shadow:0 0 30px #c8321e80,0 3px 10px #000;margin:4px -.4em 0 0;font-size:clamp(30px,8vh,54px);font-weight:600}.gs-title__sub{color:var(--kin);letter-spacing:.5em;margin:0 0 8px;font-size:13px}.gs-btn{min-width:220px;color:var(--washi);font-family:var(--serif);letter-spacing:.25em;cursor:pointer;pointer-events:auto;background:linear-gradient(#281c16f2,#0c0a09f2);border:1px solid #c9a25a99;padding:10px 22px;font-size:15px}.gs-btn:hover{border-color:var(--kin-pale)}.gs-btn--main{border-color:var(--shu);background:linear-gradient(#7a1e10,#2a0805);font-size:17px;box-shadow:0 0 16px #c8321e59}.gs-btn--quiet{color:var(--kin);background:0 0;border-color:#c9a25a40}.gs-controls{color:#cbbf9f;grid-template-columns:repeat(2,auto);gap:3px 22px;margin:10px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.gs-controls b{color:var(--kin-pale);margin-right:4px;font-weight:600}.gs-fine{color:#8a7d62;margin:6px 0 0;font-size:11px}.gs-h{letter-spacing:.4em;margin:0 0 6px;font-size:26px;font-weight:600}.gs-defeat__mark{color:var(--shu);text-shadow:0 0 24px #c8321eb3;font-size:54px}.gs-tip{text-align:center;color:#cbbf9f;max-width:420px;margin:2px 0 8px;font-size:13px;line-height:1.7}.gs-result__over{color:var(--kin);letter-spacing:.4em;margin:0;font-size:14px}.gs-rank{color:var(--kin-pale);text-shadow:0 0 24px #c9a25acc;font-size:72px;font-weight:700;line-height:1}.gs-rank--S{color:#ffdf8a}.gs-rank--C{color:#b8b0a0;text-shadow:none}.gs-rows{grid-template-columns:repeat(3,minmax(120px,auto));gap:4px 18px;font-size:13px;display:grid}.gs-row{border-bottom:1px solid #c9a25a33;justify-content:space-between;gap:12px;padding:2px 0;display:flex}.gs-row span{color:#b8ab8a}.gs-rotate{display:none}@media (orientation:portrait) and (max-width:700px){body.game .gs-rotate{z-index:60;color:var(--washi);font-family:var(--serif);letter-spacing:.2em;background:#050404;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}}@media (max-height:380px){.gs-controls{display:none}.gs-title__mark{width:44px;height:44px;font-size:22px}}.gs-character-link{color:#c6ac7b;text-underline-offset:3px;padding:6px 12px;font-size:12px}.gs-character-link:hover,.gs-character-link:focus-visible{color:#fff0c5}.gs-blessing{width:100%;max-width:900px}.gs-blessing .gs-h{letter-spacing:.12em;font-size:clamp(18px,3vw,26px)}.gs-blessing__choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.gs-blessing__choice{white-space:normal;flex-direction:column;align-items:center;gap:12px;width:100%;min-width:0;padding:22px 12px;display:flex}.gs-blessing__glyph{color:var(--kin);font-size:32px}.gs-blessing__choice strong{font-size:17px}.gs-blessing__choice small{letter-spacing:0;font-size:12px;line-height:1.6}.gs-blessing__choice:focus-visible{outline:2px solid var(--kin-pale);outline-offset:3px}@media (max-width:500px) and (orientation:portrait){.gs-blessing__choices{grid-template-columns:1fr}.gs-blessing__choice{gap:5px;padding:12px}}@media (max-height:450px){.gs-blessing{gap:5px;padding:12px}.gs-blessing__choice{gap:6px;padding:12px 8px}}.gh-spirit{font-size:calc(10px * var(--u));color:#c6c1b5;text-shadow:0 1px 3px #000;gap:10px;line-height:1.2;display:flex}.gh-spirit span:last-child{color:#91cbe3}.gh-spirit .is-ready{color:#ffe6a2;text-shadow:0 0 7px #d39c45}.gh-spirit span:last-child.is-ready{color:#d8f7ff;text-shadow:0 0 7px #56beff}.gh-combat-hint{left:16px;top:calc(110px * var(--u) + 8px);color:#f3dfb4;text-align:left;max-width:min(360px,55vw);font-size:calc(12px * var(--u));pointer-events:none;background:#0a0e14b3;border-radius:3px;padding:4px 10px;position:absolute}.gh-combat-hint:empty{display:none}.gh-bar--guard.is-low{border-color:#ff9975}.gh-bar--guard.is-low .gh-bar__fill{background:#ff9975}.tc:not(.tc--desktop) .tc-chip,.tc:not(.tc--desktop) .tc-btn--lock,.tc:not(.tc--desktop) .tc-btn--special{min-width:44px;min-height:44px}.tc:not(.tc--desktop) .tc-elements{bottom:calc(202px * var(--u))}.tc:not(.tc--desktop) .tc-pause,.tc:not(.tc--desktop) .tc-weapon{min-width:44px;min-height:44px}.gs-settings{gap:10px;width:min(720px,94vw);max-height:90dvh;padding:20px;overflow-y:auto}.gs-settings label{width:100%;color:var(--washi);justify-content:space-between;align-items:center;gap:16px;display:flex}.gs-settings input[type=range]{width:45%;min-height:44px}.gs-settings select,.gs-settings input[type=file]{max-width:60%;min-height:44px;font-size:16px}.gs-menu-row{gap:12px;display:flex}.gs-menu-row .gs-btn{min-width:100px;padding:8px 16px;font-size:16px}.gs-pause,.gs-title{max-height:96dvh;overflow-y:auto}.tc-cluster{transform:scale(var(--touch-size,1));transform-origin:100% 100%;opacity:var(--touch-opacity,.9)}.tc--left .tc-cluster{right:auto;left:calc(18px + var(--safe-l));transform:scale(var(--touch-size,1));transform-origin:0 100%}.tc--left .tc-stick-zone{left:auto;right:0}.tc--left .tc-look-zone{left:0;right:auto}.clear-effects .gh-num{opacity:.65;font-size:16px}.combat-coach{pointer-events:none;z-index:18;position:fixed;inset:0}.combat-warning{color:#fff1c7;white-space:nowrap;background:#17100de8;border:2px solid #ffc275;padding:4px 8px;font-size:15px;position:absolute;transform:translate(-50%,-50%)}.combat-warning.is-edge{border-style:dashed}.combat-warning.is-edge:before{content:"！"}.combat-reason{color:#ffe0d0;text-shadow:0 2px 4px #000;font-size:16px;position:absolute;top:24%;left:50%;transform:translate(-50%)}.tc:not(.tc--desktop) .tc-btn,.tc:not(.tc--desktop) .tc-chip{min-width:calc(44px / var(--touch-size,1));min-height:calc(44px / var(--touch-size,1))}.gs-blessing{max-height:94dvh;overflow-y:auto}.gs-blessing__choices{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}@media (max-height:450px){.gs-title__name{font-size:34px}.gs-title__mark{display:none}.gs-controls{font-size:11px}.gs-pause{gap:6px;padding:12px}.gs-pause .gs-btn{min-height:44px;padding:8px 16px}}.gs-settings{box-sizing:border-box;overscroll-behavior:contain;background:#100e0cf5;border:1px solid #786447;border-radius:8px}.gs-settings>*{flex-shrink:0}.gs-settings select{color:var(--washi);background:#211b16;border:1px solid #786447;border-radius:4px;padding:4px}.gs-settings input[type=file]{max-width:100%;color:var(--washi)}.gs-settings input::file-selector-button{color:var(--washi);background:#211b16;border:1px solid #786447;min-height:44px}
