:root{--play-aspect: .5625 ;--bg: #0a0a16;--win-top: #101a4e;--win-bottom: #1c2d78;--border-outer: #05060f;--border-main: #f4f4fc;--border-inner: #5878d8;--panel-bg: #0e1236;--panel-border: #5878d8;--text: #ffffff;--text-sub: #a8b4e0;--text-disabled: #6a7098;--accent: #ffd23f;--selected-bg: #2f4bb0;--text-shadow: 1px 1px 0 #05060f, -1px 1px 0 #05060f, 1px -1px 0 #05060f, -1px -1px 0 #05060f;--window-bg: linear-gradient(180deg, var(--win-top) 0%, var(--win-bottom) 100%);--window-border: 2px solid var(--border-main);--window-shadow: 0 0 0 1px var(--border-outer), inset 0 0 0 1px var(--border-inner);--window-radius: 5px;--font-ui: "DotGothic16", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif}*{box-sizing:border-box;touch-action:manipulation}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-ui);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app-shell{display:flex;align-items:stretch;justify-content:center;gap:0;width:100vw;height:100vh;height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#stage-frame{position:relative;height:100%;aspect-ratio:9 / 16;max-width:100%;max-height:100%;background:var(--bg);flex:0 0 auto}#game-root{position:absolute;inset:0}#game-root canvas{display:block;width:100%!important;height:100%!important;image-rendering:auto}#dom-overlay{position:absolute;inset:0;pointer-events:none;z-index:10}.side-panel{flex:1 1 0;min-width:0;max-width:420px;height:100%;background:var(--bg);overflow:hidden;text-shadow:var(--text-shadow)}@media(max-width:719px),(orientation:portrait){.side-panel{display:none}#stage-frame{height:100%;max-width:100vw}}.is-hidden{display:none!important}.portrait{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px}.portrait-fig{position:relative;width:96px;height:160px}.pf-hair{position:absolute;top:8px;left:50%;transform:translate(-50%);width:56px;height:40px;border-radius:28px 28px 8px 8px}.pf-head{position:absolute;top:18px;left:50%;transform:translate(-50%);width:44px;height:44px;border-radius:50%}.pf-body{position:absolute;top:56px;left:50%;transform:translate(-50%);width:72px;height:100px;border-radius:16px 16px 10px 10px}.pf-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;image-rendering:auto}.portrait-name{font:600 14px/1 var(--font-ui);color:var(--text);text-shadow:var(--text-shadow)}.status-box{padding:16px 12px}.status-title{font:700 11px/1 var(--font-ui);color:var(--accent);letter-spacing:.1em;margin-bottom:8px}.status-text{font:500 13px/1.6 var(--font-ui);color:var(--text);white-space:pre-line;margin-bottom:10px}.reward-box{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;overflow-y:auto;gap:12px;padding:16px 0;background:#000c;pointer-events:auto;z-index:20}.reward-title{font:700 16px/1 var(--font-ui);color:var(--accent);text-shadow:var(--text-shadow)}.reward-held{width:min(86%,300px);padding:6px 10px;border-radius:var(--window-radius);background:var(--window-bg);border:var(--window-border);box-shadow:var(--window-shadow)}.reward-held-title{font:700 10px/1.4 var(--font-ui);letter-spacing:.08em;color:var(--text-sub);margin-bottom:2px}.reward-held-item{font:500 11px/1.45 var(--font-ui);color:var(--text);text-shadow:var(--text-shadow)}.reward-cards{display:flex;flex-direction:column;gap:10px;width:min(86%,300px)}.reward-card{display:block;width:100%;text-align:left;padding:10px 12px 10px 28px;position:relative;border-radius:var(--window-radius);background:var(--window-bg);border:var(--window-border);box-shadow:var(--window-shadow);color:var(--text);cursor:pointer;font-family:var(--font-ui);text-shadow:var(--text-shadow)}.reward-card:before,.dialog-option:before{content:"▶";position:absolute;left:10px;top:9px;color:var(--accent);visibility:hidden}.reward-card:hover:before,.reward-card:active:before,.dialog-option:hover:before,.dialog-option:active:before{visibility:visible}.reward-card:hover,.reward-card:active{border-color:var(--accent);background:var(--selected-bg)}.reward-skip{display:block;width:100%;text-align:center;padding:8px 12px;border-radius:10px;background:transparent;border:2px solid #3a3a52;color:var(--text-sub);cursor:pointer;font:600 12px/1.3 var(--font-ui)}.reward-skip:hover,.reward-skip:active{border-color:#9a9ab0;color:var(--text)}.reward-name{font:700 14px/1.3 var(--font-ui)}.reward-rarity{font:600 10px/1.4 var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--text-sub)}.rarity-rare{color:#6fb7ff}.rarity-epic{color:#c78bff}.rarity-legendary{color:#ffb454}.rarity-god{background:linear-gradient(90deg,#ff6ec4,#ffd447,#6fe0ff,#b98bff);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;text-shadow:0 0 6px #ffffff55}.reward-desc{margin-top:4px;font:500 11px/1.4 var(--font-ui);color:var(--text-sub)}.dialog-box{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:#000c;pointer-events:auto;z-index:20}.dialog-title{font:700 16px/1.3 var(--font-ui);color:var(--accent);text-shadow:var(--text-shadow);text-align:center;width:min(88%,320px)}.dialog-body{font:500 12px/1.5 var(--font-ui);color:var(--text-sub);text-align:center;width:min(88%,320px);margin-bottom:6px}.dialog-options{display:flex;flex-direction:column;gap:8px;width:min(88%,320px)}.dialog-option{display:block;width:100%;text-align:left;padding:9px 12px 9px 28px;position:relative;border-radius:var(--window-radius);background:var(--window-bg);border:var(--window-border);box-shadow:var(--window-shadow);color:var(--text);cursor:pointer;font-family:var(--font-ui);text-shadow:var(--text-shadow)}.dialog-option:hover,.dialog-option:active{border-color:var(--accent);background:var(--selected-bg)}.dialog-option.is-disabled{opacity:.4;cursor:not-allowed}.dialog-option-label{font:700 13px/1.3 var(--font-ui)}.dialog-option-detail{margin-top:3px;font:500 10px/1.4 var(--font-ui);color:var(--text-sub)}.dialog-speaker{display:flex;align-items:flex-end;gap:12px;width:min(88%,320px);margin-bottom:4px}.dialog-speaker.is-hidden{display:none}.dialog-speaker-fig{position:relative;width:54px;height:88px;flex:0 0 auto}.dialog-speaker-fig .pf-hair{top:4px;width:32px;height:22px;border-radius:16px 16px 5px 5px}.dialog-speaker-fig .pf-head{top:10px;width:26px;height:26px}.dialog-speaker-fig .pf-body{top:32px;width:42px;height:58px;border-radius:10px 10px 6px 6px}.dialog-speaker-name{font:700 13px/1.3 var(--font-ui);color:var(--accent);padding-bottom:6px}.status-view{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;pointer-events:auto;z-index:21}.status-view-panel{width:min(90%,320px);background:var(--window-bg);border:var(--window-border);box-shadow:var(--window-shadow);border-radius:var(--window-radius);padding:16px;text-shadow:var(--text-shadow)}.status-view-title{font:700 16px/1.3 var(--font-ui);color:var(--accent);text-align:center;margin-bottom:10px}.status-view-portrait{position:relative;width:72px;height:116px;margin:0 auto 10px}.status-view-portrait.is-hidden{display:none}.status-view-portrait .pf-hair{top:6px;width:42px;height:30px;border-radius:21px 21px 6px 6px}.status-view-portrait .pf-head{top:16px;width:34px;height:34px}.status-view-portrait .pf-body{top:46px;width:56px;height:68px;border-radius:13px 13px 8px 8px}.status-view-body{font:500 12px/1.7 var(--font-ui);color:#e8e8f0;white-space:pre-wrap}.status-view-hint{margin-top:12px;font:500 10px/1.4 var(--font-ui);color:var(--text-sub);text-align:center}
