:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{min-width:320px}#root{min-height:100vh}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090a0d;--surface:#111319;--surface-2:#171a22;--surface-3:#20242d;--line:#ffffff1f;--line-strong:#ffffff38;--text:#f4f0e8;--muted:#f4f0e8ad;--red:#ff675f;--blue:#72c7ff;--gold:#f2c76b;--green:#8de0ad;--ink:#07080a;--radius:8px;--shadow:0 24px 60px #00000057}*{box-sizing:border-box}html{background:var(--bg)}body{background:linear-gradient(180deg, #ffffff0a, transparent 220px), repeating-linear-gradient(90deg, #ffffff06 0, #ffffff06 1px, transparent 1px, transparent 92px), var(--bg);min-width:320px;color:var(--text);margin:0;font-family:Pretendard Variable,SUIT Variable,Inter,system-ui,sans-serif}button,input,textarea{font:inherit}button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);min-height:44px;color:var(--text);cursor:pointer;transition:transform .14s,border-color .14s,background .14s}button:hover{background:var(--surface-3);border-color:#ffffff61;transform:translateY(-1px)}button.primary{background:var(--gold);color:#161008;border-color:#0000;font-weight:800}img{max-width:100%;display:block}.app-shell{min-height:100vh;overflow-x:hidden}.app-stage{width:min(1280px,100vw - 28px);margin:0 auto;padding:14px 0 28px}.screen-frame{margin-top:10px}.ticker-shell{border:1px solid var(--line);border-radius:var(--radius);background:#07080ae6;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:44px;padding:6px 8px;display:grid}.ticker-label{background:var(--red);color:#1b0706;border-radius:6px;align-items:center;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:900;display:inline-flex}.ticker-track{white-space:nowrap;overflow:hidden}.ticker-marquee{gap:28px;min-width:max-content;animation:38s linear infinite ticker-marquee;display:inline-flex}.ticker-item{color:var(--muted);font-size:.92rem}@keyframes ticker-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.intro-screen,.ending-screen,.stats-screen,.compare-share-screen,.game-screen{gap:16px;display:grid}.eyebrow,.intro-card span,.stats-card>span,.ending-side-card span,.result-share-card>span,.compare-result-card>span,.compare-panel>span,.situation-card>span,.reaction-panel header span,.dossier-block header span{color:var(--gold);text-transform:uppercase;font-size:.78rem;font-weight:800}.intro-hero,.ending-hero{border:1px solid var(--line);border-radius:var(--radius);min-height:580px;box-shadow:var(--shadow);background:#111319db;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);display:grid;overflow:hidden}.intro-hero>img,.ending-hero>img{object-fit:cover;width:100%;height:100%;min-height:580px}.intro-copy,.ending-copy{align-content:center;gap:14px;padding:36px;display:grid}.intro-copy h1,.ending-copy h1,.compare-header h1,.stats-header h1{margin:0;font-size:3rem;line-height:1.02}.intro-copy .lead,.ending-copy h2{color:var(--blue);margin:0;font-size:1.16rem}.intro-copy p,.ending-copy p,.stats-header p,.compare-header p{color:var(--muted);margin:0;line-height:1.6}.prompt-copy{color:var(--gold)!important}.feature-list,.rank-list,.dossier-block ul,.reaction-panel ul,.shortcut-guide ul{margin:0;padding:0;list-style:none}.feature-list{flex-wrap:wrap;gap:8px;display:flex}.feature-list li,.chip-row small{color:var(--gold);background:#f2c76b14;border:1px solid #f2c76b47;border-radius:999px;padding:7px 10px;font-size:.86rem}.hero-actions,.ending-actions,.pause-actions,.game-bottom-bar,.choice-footer,.result-card-actions,.stats-header-actions,.compare-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-actions button,.ending-actions button,.pause-actions button,.game-bottom-bar button,.choice-footer button,.result-card-actions button,.stats-header-actions button,.compare-actions button{padding:11px 14px}.intro-grid,.ending-grid,.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.intro-card,.stats-card,.ending-side-card,.reaction-panel,.dossier-block,.personality-card,.debug-panel,.pause-card,.result-share-card,.compare-result-card,.compare-panel,.situation-card,.beat-breakdown,.beat-row{border:1px solid var(--line);border-radius:var(--radius);background:#111319e6;padding:16px}.intro-card h2,.stats-card strong,.ending-side-card h3{margin:8px 0 0}.intro-card p,.intro-card small,.stats-card p,.ending-side-card p,.result-share-card p,.compare-result-card p,.compare-panel p,.situation-card p{color:var(--muted);margin:8px 0 0;line-height:1.55}.stat-card strong{color:var(--blue);font-size:2rem;display:block}.shortcut-guide{gap:10px;display:grid}.shortcut-guide ul{gap:8px;display:grid}.shortcut-guide li{border-radius:var(--radius);background:#ffffff0a;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.shortcut-guide kbd{border:1px solid var(--line);background:var(--ink);min-width:72px;color:var(--gold);text-align:center;border-radius:6px;padding:7px 9px}.shortcut-copy,.ending-side-panel,.result-share-card,.compare-share-screen,.compare-result-card,.compare-side,.compare-panel,.rank-list,.ending-stat-list,.beat-breakdown-list{gap:12px;display:grid}.shortcut-copy span,.shortcut-note{color:var(--muted);font-size:.88rem;line-height:1.45}.game-screen{min-height:calc(100vh - 78px)}.game-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.desk-hud{border:1px solid var(--line);border-radius:var(--radius);background:#07080aeb;gap:12px;padding:12px;display:grid}.desk-hud-topline,.dossier-block header,.reaction-panel header,.stats-header,.beat-row header,.ending-stat header,.metric-card header,.swipe-card-topline,.personality-card header,.personality-card footer,.route-meter header,.compare-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.desk-hud-badge,.pause-badge{color:var(--red);background:#ff675f29;border-radius:999px;margin-right:8px;padding:5px 9px;font-size:.76rem;font-weight:900;display:inline-flex}.desk-hud-controls{color:var(--muted);align-items:center;gap:12px;display:flex}.desk-metrics,.personality-grid,.compare-summary-grid,.beat-row-bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.metric-card,.clock-item,.compare-summary-grid>div,.result-card-context,.compare-note,.compare-copy-box,.ending-stat.mine{border-radius:var(--radius);background:#ffffff0a;border:1px solid #ffffff14;padding:10px}.metric-card span,.clock-item span,.compare-summary-grid small,.result-card-context small,.compare-note span{color:var(--muted);font-size:.8rem;line-height:1.45}.metric-bar,.progress-track,.route-meter>div{background:#ffffff1a;border-radius:999px;height:7px;margin-top:8px;overflow:hidden}.metric-bar.large{height:9px}.metric-bar>span,.progress-track>span,.route-meter>div>span{border-radius:inherit;background:var(--blue);height:100%;display:block}.desk-hud-feed{border-left:3px solid var(--gold);background:#f2c76b14;gap:5px;margin:0;padding:10px 12px;display:grid}.desk-hud-feed span{color:var(--muted)}.tone-alert strong{color:var(--red)}.tone-intel strong{color:var(--gold)}.tone-ratings strong{color:var(--blue)}.tone-private strong{color:var(--green)}.playfield-column{gap:12px;display:grid}.visual-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:330px;position:relative;overflow:hidden}.visual-image,.visual-fallback{object-fit:cover;width:100%;height:100%;min-height:330px}.visual-fallback{background:linear-gradient(135deg,#20242d,#111319)}.visual-overlay{background:linear-gradient(#0000,#07080aeb);gap:6px;padding:22px;display:grid;position:absolute;inset:auto 0 0}.visual-kicker,.visual-location{color:var(--gold);text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.visual-overlay h2{max-width:860px;margin:0;font-size:2rem;line-height:1.1}.swipe-card-shell{position:relative}.swipe-card{border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);background:#111319fa;gap:14px;padding:18px;display:grid;position:relative}.swipe-card h3{max-width:820px;margin:0;font-size:1.75rem;line-height:1.16}.swipe-card p{color:var(--muted);margin:0;line-height:1.6}.swipe-card-topline span,.swipe-card-topline strong{font-size:.84rem;font-weight:900}.swipe-card-topline strong{color:var(--red)}.swipe-hint{pointer-events:none;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800;position:absolute;top:18px}.swipe-hint.left{color:var(--red);background:#ff675f24;left:18px}.swipe-hint.right{color:var(--blue);background:#72c7ff24;right:18px}.swipe-card-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-preview{border-radius:var(--radius);text-align:left;align-content:start;gap:8px;min-height:178px;padding:14px;display:grid}.choice-left{background:#ff675f14;border-color:#ff675f5c}.choice-right{background:#72c7ff14;border-color:#72c7ff5c}.choice-direction{color:var(--muted);font-size:.8rem;font-weight:900}.choice-preview h3{margin:0;font-size:1.1rem;line-height:1.25}.choice-preview p{font-size:.94rem}.choice-impact-row{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.choice-impact-row small{color:var(--muted);background:#ffffff14;border-radius:999px;padding:5px 8px;font-size:.76rem}.hidden-choice-chip{text-align:left;background:#f2c76b1a;border-color:#f2c76b6b;gap:4px;padding:13px 14px;display:grid}.hidden-choice-chip span,.hidden-choice-chip small{color:var(--muted)}.situation-panel{gap:10px;display:grid;position:sticky;top:12px}.situation-card strong{margin-top:6px;display:block}.feed-card{border-color:#f2c76b38}.route-card{gap:10px;display:grid}.route-meter{gap:2px;display:grid}.route-meter header span{color:var(--muted)}.chip-row{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.secret-card.unlocked{background:#f2c76b1a;border-color:#f2c76b80}.reaction-panel ul,.dossier-block ul{gap:8px;margin-top:12px;display:grid}.reaction-panel li,.dossier-block li{border-radius:var(--radius);background:#ffffff0a;padding:10px 12px}.reaction-panel li p,.dossier-block li{color:var(--muted)}.empty{color:#f4f0e86b}.clock-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.game-bottom-bar{justify-content:flex-end}.pause-overlay{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000008f;place-items:center;display:grid;position:fixed;inset:0}.pause-card{text-align:center;gap:14px;width:min(540px,100vw - 32px);display:grid}.pause-card .shortcut-guide{text-align:left}.debug-panel{z-index:18;width:min(420px,100vw - 32px);max-height:60vh;position:fixed;bottom:16px;right:16px;overflow:auto}.debug-panel pre{color:var(--green);margin:12px 0 0;font-size:.78rem;line-height:1.45}.timer-countdown{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.timer-ring{border-radius:999px;place-items:center;width:40px;height:40px;padding:4px;display:grid}.timer-ring span{border-radius:inherit;background:var(--ink);place-items:center;width:100%;height:100%;font-weight:900;display:grid}.timer-countdown.urgent .timer-ring{animation:.8s infinite urgent-pulse}@keyframes urgent-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.ending-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.result-share-card{border-color:#f2c76b5c}.result-share-card h3,.compare-result-card h2,.compare-panel h3,.beat-breakdown h2{margin:0;line-height:1.15}.result-card-context{gap:4px;display:grid}.personality-card{border-color:color-mix(in srgb, var(--accent) 52%, #ffffff14);gap:14px;display:grid}.personality-card header strong{font-size:1.3rem}.personality-card blockquote,.ending-copy blockquote{border-left:3px solid var(--gold);background:#ffffff0a;margin:0;padding:14px;line-height:1.55}.personality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-header{align-items:end}.stats-card.big{grid-column:span 2}.ending-stat{gap:8px;display:grid}.rank-list li{border-top:1px solid #ffffff14;gap:4px;padding-top:10px;display:grid}.rank-list li:first-child{border-top:0;padding-top:0}.rank-list span,.rank-list small{color:var(--muted);line-height:1.45}.compare-header{align-items:end}.compare-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);align-items:start;gap:12px;display:grid}.compare-result-card{border-color:#72c7ff47}.compare-result-card h2{font-size:2.35rem}.compare-copy-box p{white-space:pre-line}.beat-breakdown{gap:14px;display:grid}.beat-breakdown header p{color:var(--muted);margin:6px 0 0}.beat-row{background:#ffffff09;gap:12px;display:grid}.beat-row-bars label{color:var(--muted);margin-bottom:6px;font-size:.84rem;display:block}@media (width<=1100px){.intro-hero,.ending-hero,.game-layout,.intro-grid,.stats-grid,.ending-grid,.compare-layout{grid-template-columns:1fr}.intro-hero,.ending-hero{min-height:0}.intro-hero>img,.ending-hero>img{min-height:340px;max-height:420px}.situation-panel{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.stats-card.big{grid-column:auto}}@media (width<=720px){.app-stage{width:min(100vw - 14px,100%);padding-top:8px}.ticker-shell{grid-template-columns:1fr}.ticker-label{width:fit-content}.ticker-marquee{white-space:normal;animation:none}.intro-copy,.ending-copy{padding:22px}.intro-copy h1,.ending-copy h1,.compare-header h1,.stats-header h1{font-size:2.15rem}.visual-panel,.visual-image,.visual-fallback{min-height:190px}.visual-overlay{padding:16px}.visual-overlay h2{font-size:1.18rem}.swipe-card{padding:14px}.swipe-card h3{font-size:1.35rem}.desk-hud-topline,.stats-header,.hero-actions,.ending-actions,.pause-actions,.game-bottom-bar,.choice-footer,.compare-header,.stats-header-actions,.result-card-actions,.compare-actions{flex-direction:column;align-items:stretch}.desk-metrics,.personality-grid,.swipe-card-previews,.clock-grid,.beat-row-bars,.compare-summary-grid,.situation-panel{grid-template-columns:1fr}.desk-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:8px}.desk-hud-feed{display:none}.choice-preview{min-height:150px}.game-bottom-bar{z-index:8;border:1px solid var(--line);border-radius:var(--radius);background:#07080aeb;padding:8px;position:sticky;bottom:8px}}.reduced-motion .ticker-marquee,.reduced-motion .timer-countdown.urgent .timer-ring{animation:none}
