:root{color-scheme:dark;background:#050507;font-family:Iowan Old Style,Songti SC,"Noto Serif SC",Georgia,serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#050507}[hidden]{display:none!important}#app{position:relative;display:grid;place-items:center}#game{width:100vw;height:100vh;height:100dvh;display:block;touch-action:none;image-rendering:auto}.top-controls{position:fixed;z-index:8;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:flex;gap:8px}.chrome-control{border:1px solid rgba(231,191,116,.58);border-radius:999px;padding:9px 15px;color:#f4d89a;background:#0b0808c2;font:700 14px/1 Songti SC,"Noto Serif SC",serif;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.chrome-control:hover{border-color:#ffdc95e6;background:#221410e0}.chrome-control:focus-visible,.stage-action:focus-visible,.touch-controls button:focus-visible{outline:2px solid #ffe4a2;outline-offset:3px}.stage-overlay{position:fixed;z-index:7;inset:0;display:grid;place-items:center;padding:28px;background:#030305a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.stage-panel{position:relative;width:min(720px,100%);border:1px solid rgba(232,184,98,.74);padding:38px 44px 34px;color:#f6e4bc;background:linear-gradient(#120a0cf0,#08080bf5),#0d090b;box-shadow:0 28px 80px #0000008f,inset 0 0 0 5px #682b1f38;text-align:center}.stage-panel:before,.stage-panel:after{position:absolute;top:10px;width:44px;height:1px;background:#e6b258ad;content:""}.stage-panel:before{left:10px}.stage-panel:after{right:10px}.stage-panel h1,.stage-panel h2{margin:0;color:#f6d889;font-weight:700;letter-spacing:.14em}.stage-panel--opening{width:min(860px,100%)}.stage-panel h1{font-size:clamp(42px,6vw,66px);line-height:1.08}.stage-panel h2{font-size:clamp(32px,5vw,48px)}.stage-lede{max-width:560px;margin:18px auto 26px;color:#f6e6c2c7;font-size:16px;line-height:1.8}.act-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px;text-align:left}.act-list article{border-top:1px solid rgba(220,164,83,.5);padding:14px 4px 4px}.act-list strong,.act-list span{display:block}.act-list strong{color:#edcd83;font-size:16px;letter-spacing:.04em}.act-list span{margin-top:7px;color:#eedebea3;font-size:13px;line-height:1.55}.stage-action{min-width:180px;border:1px solid #e9bd68;border-radius:2px;padding:13px 24px;color:#24120c;background:#e8bf6f;box-shadow:0 7px 24px #00000047;font:700 16px/1 Songti SC,"Noto Serif SC",serif;letter-spacing:.12em;cursor:pointer}.stage-action:hover{background:#f3d38b}.stage-action--secondary{color:#ebd4a5;background:transparent}.stage-action--secondary:hover{color:#26140d;background:#e8c67f}.stage-help{margin:22px 0 0;color:#f4e0b880;font-size:12px;line-height:1.6}.filing-link{display:flex;margin:12px 0 0;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;color:#f4e0b87a;font-size:11px;line-height:1.5}.filing-link a{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}.filing-link img{width:16px;height:17px;object-fit:contain}.filing-link a:hover{color:#ffe4a2e0;text-decoration:underline;text-underline-offset:3px}.stage-panel--compact{width:min(540px,100%);padding-block:44px}.stage-panel--compact>p{margin:18px auto 28px;color:#f2e4c5b3;line-height:1.75}.stage-actions{display:flex;justify-content:center;gap:12px}.stage-actions--opening{margin-top:4px}.keyboard-help{position:fixed;z-index:3;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);margin:0;padding:7px 14px;border:1px solid rgba(222,174,101,.32);border-radius:999px;color:#ffebbed1;background:#070607b3;font-size:12px;letter-spacing:.08em;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.touch-controls{display:none}.loading-status{color:#d2bc91;font-size:13px;line-height:1.6}.stage-action:disabled,.chrome-control:disabled{opacity:.55;cursor:progress}#opening-overlay{display:flex;align-items:center;justify-content:flex-start;overflow-y:auto;padding:60px max(36px,5vw) 30px;background:#100b0b url(/assets/covers/shadow-encore-cover.png) center / cover no-repeat;-webkit-backdrop-filter:none;backdrop-filter:none}.stage-panel--opening{width:min(480px,42vw);padding:20px 0;border:0;background:none;box-shadow:none;text-align:left;animation:curtain-arrival .9s ease-out both}.stage-panel--opening:before,.stage-panel--opening:after{display:none}.opening-kicker{display:flex;align-items:center;gap:15px;margin:0 0 24px;color:#cba972;font-size:13px;letter-spacing:.28em}.opening-kicker span{color:#8d4837}.stage-panel--opening h1{font-size:clamp(42px,5.2vw,78px);letter-spacing:.025em;white-space:nowrap;text-shadow:0 4px 30px #000}.title-dot{color:#ae4932}.opening-english{margin:15px 0 0;color:#c8a46e;font:11px/1.5 Georgia,serif;letter-spacing:.48em}.stage-panel--opening .stage-lede{margin:28px 0 30px;color:#d2c4a5;font-size:15px;line-height:1.95}.stage-panel--opening .act-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}.stage-panel--opening .act-list strong{font-size:15px}.stage-panel--opening .act-list span{font-size:12px}.stage-panel--opening .stage-actions{justify-content:flex-start}.stage-panel--opening .stage-action{min-width:0;flex:1;padding-inline:18px}.stage-panel--opening .filing-link{justify-content:flex-start;margin-top:25px;font-size:10px}.stage-panel--opening .stage-help{font-size:11px;max-width:420px;line-height:1.9}body:has(#opening-overlay:not([hidden])) .touch-controls,body:has(#opening-overlay:not([hidden])) .keyboard-help{visibility:hidden}@keyframes curtain-arrival{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.stage-panel--opening{animation:none}}@media(pointer:coarse),(max-width:820px){.top-controls{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}.chrome-control{padding:8px 12px;font-size:12px}.stage-overlay{padding:16px}.stage-panel{max-height:calc(100dvh - 32px);overflow-y:auto;padding:30px 22px 26px}.stage-panel h1{font-size:clamp(38px,12vw,54px)}.stage-lede{margin-block:14px 18px;font-size:14px}.act-list{grid-template-columns:1fr;gap:7px;margin-bottom:20px}.act-list article{padding-top:10px}.stage-help{display:none}.stage-actions{flex-direction:column}.stage-action{width:100%}.keyboard-help{display:none}.touch-controls{position:fixed;z-index:4;inset:auto 18px max(18px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;pointer-events:none}.touch-group{display:flex;gap:12px}.touch-group:last-child{display:grid;grid-template-columns:repeat(2,54px);gap:8px}.touch-controls button{width:54px;height:54px;border:1px solid rgba(236,194,118,.55);border-radius:50%;color:#f7dfa8;background:#08080ab8;font:700 19px/1 Songti SC,"Noto Serif SC",serif;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none}.touch-controls button[data-active=true]{color:#2a140d;background:#ecc46e}}@media(max-width:820px){#opening-overlay{align-items:flex-end;padding:70px 24px max(24px,env(safe-area-inset-bottom));background-image:linear-gradient(0deg,#080707 3%,#080707f5 32%,#0807078f 64%,#08070714),url(/assets/covers/shadow-encore-cover.png);background-position:center,68% top}.stage-panel--opening{width:min(480px,100%);padding:0;margin:auto auto 0;max-height:none;overflow:visible}.stage-panel--opening h1{font-size:clamp(40px,10.8vw,65px)}.opening-kicker{margin-bottom:18px}.opening-english{letter-spacing:.4em}.stage-panel--opening .stage-lede{margin-block:22px;font-size:14px}.stage-panel--opening .stage-actions{flex-direction:row;gap:10px}.stage-panel--opening .stage-action{padding:14px 10px;font-size:14px}.stage-panel--opening .act-list{gap:12px;margin-bottom:24px}.stage-panel--opening .filing-link{gap:6px 10px;margin-top:22px}}@media(max-height:590px)and (min-width:821px){#opening-overlay{padding-top:24px;padding-bottom:18px}.stage-panel--opening{padding:0}.opening-kicker{margin-bottom:12px}.stage-panel--opening .stage-lede{margin-block:16px}.stage-panel--opening .act-list{margin-bottom:18px}.stage-panel--opening .stage-help,.stage-panel--opening .filing-link{margin-top:12px}}
