*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:IBM Plex Sans KR;src:url(/assets/plex-sans-kr-400-t-5oqrTe.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans KR;src:url(/assets/plex-sans-kr-500-DFoekLzW.woff2)format("woff2");font-weight:500 700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/plex-mono-400-BnkUAtJF.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/plex-mono-500-Dbu1Jo5U.woff2)format("woff2");font-weight:500 700;font-display:swap}:root{--bg:#101215;--panel:#191c20;--btn:#22262b;--edge:#2b3036;--text:#e8e4dc;--text-2:#9aa0a6;--text-3:#6b747c;--accent:#c9764e;--line-sinbundang:#c9a86e;--line-7:#6e8177;--line-1:#5a6e8a;--line-bonus:#a15a52;--awaken-direct:#c9764e;--awaken-potential:#9a8ab8;--skill-dodge:#7fa8b8;--skill-single:#dcd7cb;--skill-aoe:#c9764e;--skill-cooldown:#4a5158;--skill-locked:#33383e;--font-sans:"IBM Plex Sans KR", system-ui, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Consolas", monospace}html,body{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);color:var(--text);background:var(--bg)}button,input,textarea,select{font-family:inherit}canvas{display:block}#hud{color:var(--text);text-shadow:0 1px 2px #000000b3;-webkit-user-select:none;user-select:none;z-index:10;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;left:24px}#hud[hidden]{display:none}#hud-level-row{align-items:center;gap:10px;display:flex}#level-label{font-family:var(--font-mono);font-size:17px;font-weight:500}#xp-bar-track{background:#00000073;border-radius:2px;width:120px;height:3px;overflow:hidden}#xp-bar-fill{background:var(--text-3);height:100%;transition:width .15s ease-out}#stat-allocation-label{font-family:var(--font-mono);color:var(--text-2);gap:12px;font-size:12px;display:flex}#awakening-label{flex-direction:column;gap:3px;font-size:12px;display:flex}#awakening-label[hidden]{display:none}.awakening-direct{color:var(--awaken-direct)}.awakening-potential{color:var(--awaken-potential)}#skill-loadout-label{display:none}#stage-hud{z-index:10;color:var(--text);text-shadow:0 1px 2px #000000b3;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-end;gap:7px;display:flex;position:fixed;top:20px;right:24px}#stage-hud[hidden]{display:none}#stage-hud-timer{font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:500;line-height:1}#stage-hud-timer.countdown{color:#f54}#stage-hud-progress{font-family:var(--font-mono);color:var(--text-2);font-size:14px}#stage-hud-progress .dim{color:var(--text-3)}#stage-hud-station{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}#stage-hud-station:before{content:"";background:var(--line,var(--text-3));border-radius:2px;width:3px;height:12px}@media (width<=640px){#stage-hud{top:64px}}#boss-bar{z-index:10;width:min(420px,60vw);color:var(--text);text-align:center;-webkit-user-select:none;user-select:none;pointer-events:none;position:fixed;top:18px;left:50%;transform:translate(-50%)}#boss-bar[hidden]{display:none}#boss-bar-name{letter-spacing:.08em;text-shadow:0 0 6px #000000e6;margin-bottom:5px;font-size:13px}#boss-bar-track{background:#00000080;border:1px solid #e8e4dc99;border-radius:3px;height:8px;overflow:hidden}#boss-bar-fill{background:var(--line-bonus);height:100%;transition:width .12s ease-out}#lobby-overlay{z-index:5;color:var(--text);background:var(--bg);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}#lobby-overlay[hidden]{display:none}#lobby-result-panel{flex-direction:column;align-items:center;gap:20px;margin:auto;padding:24px 16px;display:flex}#lobby-result-panel[hidden],#lobby-hub-panel[hidden]{display:none}#lobby-result-title{letter-spacing:.1em;font-size:44px;font-weight:500}#lobby-hub-panel{flex-direction:column;gap:14px;width:min(1280px,100%);height:100%;padding:26px 34px 22px;display:flex}#hub-top{flex-shrink:0;align-items:center;gap:14px;display:flex}#lobby-hub-title{display:none}#hub-head{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.stat-level{font-family:var(--font-mono);font-size:22px;font-weight:500}.stat-xp-track{background:var(--btn);border-radius:2px;width:200px;height:3px;overflow:hidden}.stat-xp-fill{background:var(--text-3);height:100%}.stat-unspent{color:var(--text-2);font-size:13px}.stat-unspent.has-points{color:var(--accent)}#hub-links{flex-shrink:0;gap:8px;display:flex}.hub-link{height:38px;color:var(--text-2);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:0 14px;font-size:12px;display:inline-flex;position:relative}.hub-link[hidden]{display:none}.hub-link:hover:not(:disabled){background:var(--btn)}.hub-link:disabled{opacity:.5;cursor:default}.hub-link-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.hub-link .new-badge{background:var(--accent);border-radius:50%;width:6px;height:6px;margin:0;padding:0;font-size:0;position:absolute;top:6px;right:6px}#hub-banners{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 14px;display:flex}#hub-banners:not(:has(>:not([hidden]))){display:none}#transfer-banner,#unlock-banner{letter-spacing:.08em;border:1px solid var(--accent);color:var(--accent);border-radius:6px;padding:5px 14px;font-size:14px}#transfer-banner[hidden],#unlock-banner[hidden],#hub-notice[hidden],#controls-hint[hidden]{display:none}#hub-notice{color:var(--text);font-size:13px}#controls-hint{color:var(--text-3);font-size:12px}#hub-columns{flex:1;grid-template-columns:380px 340px minmax(0,1fr);gap:24px;min-height:0;display:grid}.hub-col{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.hub-col h3{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-3);font-size:10px;font-weight:400}.hub-col h3:not(:first-child){margin-top:8px}.hub-h3-note{font-family:var(--font-sans);letter-spacing:0}#stat-panel{flex-direction:column;gap:8px;display:flex}.stat-row{background:var(--panel);border:1px solid var(--edge);border-radius:9px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;display:flex}.stat-name{width:52px;color:var(--text);flex-shrink:0;font-size:13px}.stat-value{font-family:var(--font-mono);color:var(--text);flex-shrink:0;font-size:14px}.stat-awaken{min-width:0;color:var(--text-3);flex:1;font-size:11px}.stat-awaken.open{color:var(--awaken-direct)}.stat-awaken.potential.open{color:var(--awaken-potential)}.stat-buttons{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.stat-buttons button{min-width:34px;height:30px;color:var(--text);background:var(--btn);border:1px solid var(--edge);cursor:pointer;border-radius:6px;padding:0 6px;font-size:12px}.stat-buttons button:hover:not(:disabled){border-color:var(--text-3)}.stat-buttons button:disabled{color:var(--text-3);cursor:default;background:0 0}.stat-rule{color:var(--text-3);margin:-2px 2px 2px;font-size:11px;line-height:1.5}.stat-gate-hint{color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:6px 8px;font-size:12px;line-height:1.5}#stat-actions{gap:8px;display:flex}#stat-actions button{height:38px;color:var(--text-2);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:8px;flex:1;font-size:12px}#stat-actions button:hover:not(:disabled){background:var(--btn)}#stat-actions button:disabled{opacity:.5;cursor:default}#redistribute-button[hidden],#retry-button[hidden],#next-stage-button[hidden]{display:none}#skill-panel{gap:8px;display:flex}.skill-row{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.skill-row .stat-name{width:auto;color:var(--text-3);text-align:center;order:2;font-size:10px}.skill-row button{width:100%;min-height:78px;color:var(--text);background:var(--panel);border:1px solid var(--edge);cursor:pointer;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:11px;display:flex;position:relative}.skill-row button:hover:not(:disabled){border-color:var(--text-3)}.skill-row button:disabled{cursor:default}.skill-row button .new-badge{margin:0;position:absolute;top:6px;right:7px}.hint-text{color:var(--accent);font-size:12px;line-height:1.5}.hint-text[hidden]{display:none}#hub-left button.hint-pulse{border-color:var(--accent);box-shadow:0 0 0 2px #c9764e59}#character-list{gap:8px;display:flex}#character-list button{min-height:56px;color:var(--text-2);background:var(--panel);border:1px solid var(--edge);cursor:pointer;border-radius:9px;flex:1;padding:6px 10px;font-size:13px;position:relative}#character-list button.selected{color:var(--text);background:var(--btn);border-color:var(--accent)}#character-list button:disabled{color:var(--text-3);cursor:default}#equipment-panel{flex-direction:column;gap:8px;display:flex}.exchange-token-line{color:var(--text-3);font-size:12px}.equip-row{align-items:center;gap:10px;display:flex}.equip-slot-label{width:52px;color:var(--text-3);flex-shrink:0;font-size:11px}.equip-empty{color:var(--text-3)}#equipment-panel button{color:var(--text);background:var(--panel);border:1px solid var(--edge);cursor:pointer;border-radius:9px;padding:4px 14px;font-size:13px}#equipment-panel .equip-slot-button{text-align:left;flex:1;min-height:52px}#equipment-panel button:hover:not(:disabled){border-color:var(--text-3)}#equipment-panel button.selected{border-color:var(--accent)}.exchange-option{opacity:.85;border-style:dashed!important}#hub-footer{flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;display:flex}#lobby-hub-buttons{flex-wrap:wrap;gap:8px;display:flex}#lobby-hub-buttons button{height:34px;color:var(--text-3);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:0 10px;font-size:11px}#lobby-hub-buttons button[hidden]{display:none}#lobby-hub-buttons button:hover{color:var(--text-2);background:var(--btn)}#lobby-hub-buttons #wipe-save-button{color:#b86a66;border-color:#4a2d2b}#save-code-box{width:100%;font-family:var(--font-mono);color:var(--text);background:var(--panel);border:1px solid var(--edge);resize:none;border-radius:6px;padding:6px;font-size:11px}#save-code-box[hidden]{display:none}#save-status{color:var(--text-2);min-height:1em;font-size:12px}.cloud-code{width:100%;font-family:var(--font-mono);color:var(--text);background:var(--bg);border:1px solid var(--edge);border-radius:4px;font-size:11px}.cloud-code[hidden]{display:none}.new-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-left:6px;font-size:9px;font-weight:500;display:inline-block}#hub-right h3{align-items:baseline;gap:10px;display:flex}#route-count{letter-spacing:0;color:var(--text-2);font-size:11px}#route-status{color:var(--text-2);font-size:12px}#stage-list{background:var(--panel);border:1px solid var(--edge);border-radius:10px;flex:1;min-height:0;padding:2px 12px 10px;overflow-y:auto}.line-header{align-items:center;gap:9px;padding:16px 0 6px;display:flex}.line-header-name{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-3);font-size:10px}.line-header-note{color:var(--text-3);font-size:10px}.line-header-rule{background:var(--edge);flex:1;height:1px}.station-row{width:100%;height:46px;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:0 8px 0 0;display:flex}.station-row:hover:not(:disabled),.station-row.current{background:var(--btn)}.station-row:disabled{cursor:default}.station-row.locked{opacity:.55}.station-rail{flex-shrink:0;align-self:stretch;width:40px;position:relative}.rail-above,.rail-below{width:2px;height:50%;position:absolute;left:19px}.rail-above{background:var(--line-above,var(--line));top:0}.rail-below{background:var(--line);bottom:0}.station-node{border:2px solid var(--line);background:var(--panel);border-radius:50%;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%;left:13px}.station-row.cleared .station-node{background:var(--line)}.station-row.boss .station-node{border-radius:3px;width:16px;height:16px;margin-top:-8px;left:12px;transform:rotate(45deg)}.station-row.locked .station-node{border-color:var(--edge);background:0 0}.station-row.current .station-node{box-shadow:0 0 0 3px var(--btn), 0 0 0 5px var(--accent)}.station-num{width:26px;font-family:var(--font-mono);color:var(--text-3);flex-shrink:0;font-size:10px}.station-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-2);flex:1;font-size:14px;overflow:hidden}.station-row.cleared .station-name{color:var(--text)}.station-badge{letter-spacing:.04em;color:var(--text-3);flex-shrink:0;font-size:10px}.station-row.boss .station-badge{color:var(--accent)}#enter-button{color:#14171a;background:var(--accent);cursor:pointer;border:0;border-radius:10px;flex-shrink:0;height:56px;font-size:15px;font-weight:500}#enter-button:disabled{color:var(--text-3);background:var(--btn);cursor:default}#tier-select{flex-shrink:0;gap:6px;display:flex}#tier-select button{height:36px;color:var(--text-2);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:8px;flex:1;font-size:12px}#tier-select button.active{color:var(--text);background:var(--btn);border-color:var(--accent)}#tier-select button:disabled{color:#4a5158;cursor:default}.line-header-count{font-family:var(--font-mono);color:var(--text-3);font-size:10px}.station-time{min-width:38px;font-family:var(--font-mono);text-align:right;color:var(--text-3);flex-shrink:0;margin-left:12px;font-size:11px}@media (width<=900px){#lobby-hub-panel{gap:16px;height:auto;padding:0 16px 92px}#hub-top{z-index:3;background:var(--bg);border-bottom:1px solid var(--edge);margin:0 -16px;padding:12px 16px;position:sticky;top:0}#hub-head{flex-wrap:wrap;gap:8px 12px}.stat-level{font-size:20px}.stat-xp-track{flex-basis:100%;order:3;width:auto}.hub-link{justify-content:center;width:40px;height:40px;padding:0}.hub-link-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#hub-columns{flex-direction:column;gap:22px;display:flex}.hub-col{overflow:visible}#stage-list{flex:none;height:min(62vh,520px)}#hub-footer{margin-top:0}#enter-button{z-index:4;position:fixed;bottom:14px;left:16px;right:16px;box-shadow:0 6px 18px #0000008c}.stat-row{flex-wrap:wrap;gap:6px 8px}.stat-buttons{flex-basis:100%;gap:6px;margin-left:0}.stat-buttons button{flex:1;height:44px;font-size:13px}#stat-actions button,#tier-select button{height:44px}}#skill-modal{z-index:30;background:#060709c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#skill-modal[hidden]{display:none}#skill-modal-card{width:min(400px,100%);max-height:88vh;color:var(--text);background:var(--panel);border:1px solid var(--edge);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}#skill-modal-title{border-bottom:1px solid var(--edge);align-items:baseline;gap:7px;padding-bottom:11px;font-size:15px;font-weight:500;display:flex}.modal-title-num{font-family:var(--font-mono);color:var(--text-3);font-size:11px;font-weight:400}.modal-title-tag,.modal-title-count{margin-left:auto;font-size:10px;font-weight:400}.modal-title-tag{color:var(--accent)}.modal-title-count{color:var(--text-3)}#skill-modal-options{flex-direction:column;gap:8px;display:flex}.skill-option{text-align:left;min-height:52px;color:var(--text);background:var(--btn);border:1px solid var(--edge);cursor:pointer;border-radius:9px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex;position:relative}.skill-option:hover:not(:disabled){border-color:var(--text-3)}.skill-option.selected{border-color:var(--accent)}.skill-option:disabled{color:#4a5158;cursor:default;background:0 0}.skill-option-name{font-size:13px}.skill-option-info{white-space:pre-line;color:var(--text-3);font-size:11px}.skill-option .new-badge{margin:0;position:absolute;top:7px;right:10px}.skill-option-locked{cursor:default;background:0 0}.skill-option-locked .skill-option-name{color:var(--text-3)}.skill-unlock-condition{color:#4a5158}.skill-unlock-condition.flash{animation:.9s ease-out unlock-flash}@keyframes unlock-flash{0%,30%{color:var(--accent)}to{color:#4a5158}}.skill-locked-blank{flex:none;width:44px;height:44px}#skill-modal-close{height:40px;color:var(--text-2);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:8px;margin-top:2px;font-size:12px}#result-reason-label{color:var(--text-2);margin-top:10px;font-size:16px}#result-reason-label[hidden]{display:none}#result-tip{border-left:3px solid var(--edge);max-width:min(520px,90vw);color:var(--text-2);text-align:left;word-break:keep-all;background:var(--panel);margin-top:4px;padding:8px 14px;font-size:14px;line-height:1.5}#result-tip[hidden]{display:none}#result-reward{color:var(--accent);font-size:18px}#result-reward[hidden]{display:none}#lobby-result-buttons{gap:12px;display:flex}#lobby-result-buttons button{min-width:96px;height:44px;color:var(--text);background:var(--btn);border:1px solid var(--edge);cursor:pointer;border-radius:9px;padding:0 20px;font-size:15px}#lobby-result-buttons button:hover:not(:disabled){border-color:var(--text-3)}#lobby-result-buttons button:disabled{color:var(--text-3);cursor:default;background:0 0}#countdown-overlay{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#countdown-overlay[hidden]{display:none}#countdown-value{font-family:var(--font-sans);color:#fff;text-shadow:0 0 16px #000c;font-size:96px;font-weight:700}#result-story,#result-clue{text-align:center;max-width:min(560px,90vw);line-height:1.5}#result-story{color:#ddd;font-size:17px}#result-clue{color:#9ab;font-size:15px;font-style:italic}#result-story[hidden],#result-clue[hidden]{display:none}#messenger-overlay{z-index:40;font-family:var(--font-sans);background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#messenger-overlay[hidden]{display:none}#messenger-phone{background:#15171a;border:3px solid #3a3f46;border-radius:28px;flex-direction:column;gap:10px;width:min(340px,92vw);height:min(560px,86vh);padding:14px;display:flex}#messenger-header{color:#eee;border-bottom:1px solid #2c3036;justify-content:space-between;align-items:baseline;padding:4px 6px 10px;display:flex}#messenger-contact{font-size:17px}#messenger-status{color:#777;font-size:12px}#messenger-status.online{color:#8fd18f}#messenger-thread{flex-direction:column;flex:1;gap:8px;padding:4px 2px;display:flex;overflow-y:auto}.msg-bubble{color:#eee;border-radius:16px;max-width:78%;padding:9px 13px;font-size:15px;line-height:1.4}.msg-in,.msg-typing{background:#2a2e34;border-bottom-left-radius:4px;align-self:flex-start}.msg-typing{color:#999;letter-spacing:.1em;animation:1s ease-in-out infinite msg-typing-pulse}.msg-out{opacity:.6;background:#3b4654;border-bottom-right-radius:4px;align-self:flex-end}.msg-out.msg-delivered{opacity:1}.msg-status{color:#8a929e;align-self:flex-end;margin-top:-4px;font-size:12px}.msg-status-read{color:#b9c2cc}.msg-status-failed{color:#e06c6c}@keyframes msg-typing-pulse{0%,to{opacity:.4}50%{opacity:1}}#messenger-close{min-height:44px;font-family:var(--font-sans);color:#eee;cursor:pointer;background:0 0;border:2px solid #888;border-radius:12px;font-size:14px}#messenger-close:disabled{opacity:.25;cursor:default}#lobby-hub-buttons button:disabled{opacity:.35;cursor:default}.story-entry{border:1px solid #444;border-radius:6px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.story-entry-stage{color:#9fd8ff;font-size:12px}.story-entry-silence{color:#777;font-size:13px}.story-entry-text{color:#ddd;font-size:14px}.story-entry-clue{color:#9ab;font-size:13px;font-style:italic}#unlock-banner{letter-spacing:.08em;border-style:dashed;padding:4px 16px;font-size:16px}#stage-end-overlay{z-index:6;pointer-events:none;font-family:var(--font-sans);animation:stage-end-dim var(--stage-end-duration,1.4s) ease-in forwards;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#stage-end-overlay[hidden]{display:none}#stage-end-title{letter-spacing:.12em;color:#fff;text-shadow:0 0 18px #000000e6;font-size:56px;animation:.5s ease-out both stage-end-title}#stage-end-overlay[data-outcome=fail] #stage-end-title{color:#ff8a8a}@keyframes stage-end-dim{0%{background:0 0}35%{background:#00000040}to{background:#000}}@keyframes stage-end-title{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}#intro-overlay[hidden]{display:none}#intro-overlay{z-index:40;color:#e6ebf2;text-align:center;background:#080a0eeb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 16px;display:flex;position:fixed;inset:0}#intro-title{letter-spacing:.35em;font-size:42px;font-weight:700}#intro-tagline{color:#9aa6b5;margin-bottom:12px;font-size:14px}#intro-buttons{flex-direction:column;gap:8px;width:min(260px,80vw);display:flex}#intro-buttons button,#intro-settings-panel button{color:#cfd6e0;cursor:pointer;background:#1c2026;border:1px solid #3a414d;border-radius:4px;min-height:44px;font-size:15px}#intro-buttons #intro-continue{color:#fff;background:#2e3a4d;border-color:#7da2d6}#intro-settings-panel{flex-direction:column;gap:6px;width:min(320px,86vw);display:flex}#intro-code-box{color:#cfd6e0;background:#12151a;border:1px solid #3a414d;width:100%;font-size:12px}#intro-settings-status{color:#9aa6b5;min-height:16px;font-size:12px}#touch-controls{z-index:8;pointer-events:none;touch-action:none;position:fixed;inset:0}#touch-controls[hidden]{display:none}#touch-stick-zone{pointer-events:auto;touch-action:none;width:48%;height:62%;position:absolute;bottom:0;left:0}#touch-stick-base{background:#12151a59;border:2px solid #cfd6e059;border-radius:50%;justify-content:center;align-items:center;width:116px;height:116px;margin:-58px 0 0 -58px;display:flex;position:absolute}#touch-stick-base[hidden]{display:none}#touch-stick-knob{background:#cfd6e080;border:1px solid #ffffff59;border-radius:50%;width:52px;height:52px}#touch-action-buttons{pointer-events:auto;touch-action:none;flex-direction:column;gap:12px;display:flex;position:absolute;bottom:24px;right:18px}#touch-action-buttons button{width:76px;height:76px;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;background:#0d0f1199;border:1px solid #2e373b;border-radius:50%;font-size:16px}#touch-action-buttons button:active{background:#2e3a4dcc;border-color:#7da2d6}#touch-dodge{width:88px!important;height:88px!important}#touch-action-buttons button{padding:0;position:relative;overflow:hidden}.skill-sweep{height:calc(var(--cd,0) * 100%);pointer-events:none;background:#0009;position:absolute;bottom:0;left:0;right:0}.skill-face{text-align:center;word-break:keep-all;pointer-events:none;flex-direction:column;align-items:center;gap:5px;padding:0 4px;font-size:11px;line-height:1.15;display:flex;position:relative}.skill-face-name{color:var(--text)}.cooling .skill-face-name{color:var(--text-3)}#skill-bar{z-index:6;pointer-events:none;gap:12px;display:flex;position:fixed;bottom:24px;left:24px}#skill-bar[hidden]{display:none}#skill-bar .skill-slot{background:#0d0f1199;border:1px solid #2e373b;border-radius:14px;justify-content:center;align-items:center;width:104px;height:104px;display:flex;position:relative;overflow:hidden}#skill-bar .skill-key{font-family:var(--font-mono);color:var(--text-3);font-size:10px;position:absolute;top:6px;left:8px}#touch-action-buttons .skill-face{gap:2px;font-size:10px}#touch-action-buttons .skill-face .skill-icon{width:28px;height:28px}.skill-icon.dodge{color:var(--skill-dodge)}.skill-icon.single{color:var(--skill-single)}.skill-icon.aoe{color:var(--skill-aoe)}.skill-icon.cooldown,.cooling .skill-icon{color:var(--skill-cooldown)}.skill-icon.locked{color:var(--skill-locked)}.skill-face .skill-icon{width:40px;height:40px;display:block}.skill-row button .skill-icon{flex:none;width:30px;height:30px}.skill-option .skill-icon{flex:none;width:40px;height:40px}#tutorial-hint{z-index:9;color:#e6ebf2;letter-spacing:.02em;pointer-events:none;white-space:nowrap;background:#0c0f14b8;border:1px solid #7da2d673;border-radius:999px;padding:8px 18px;font-size:15px;position:fixed;top:12%;left:50%;transform:translate(-50%)}#tutorial-hint[hidden]{display:none}#touch-action-buttons button.hint-pulse{border-color:#7da2d6;animation:1.1s ease-in-out infinite touch-hint-pulse}@keyframes touch-hint-pulse{0%,to{box-shadow:0 0 #7da2d68c}50%{box-shadow:0 0 0 10px #7da2d600}}#rotate-notice{z-index:45;color:#e6ebf2;text-align:center;background:#080a0ef2;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:18px;display:flex;position:fixed;inset:0}#rotate-notice[hidden]{display:none}#rotate-notice .sub{color:#9aa6b5;font-size:13px}#rotate-notice button{color:#cfd6e0;cursor:pointer;background:#1c2026;border:1px solid #3a414d;border-radius:4px;min-height:44px;margin-top:12px;padding:0 20px;font-size:14px}#dev-panel{z-index:50;max-width:min(360px,100vw - 16px);max-height:calc(100vh - 16px);font-family:var(--font-sans);background:#10141aeb;border:1px dashed #4a5566;border-radius:6px;padding:6px;position:fixed;top:8px;right:8px;overflow-y:auto}#dev-panel[hidden]{display:none}#dev-toggle{letter-spacing:.06em;color:#8fa3bd;cursor:pointer;background:#232935;border:1px solid #3a414d;border-radius:4px;width:100%;padding:6px 10px;font-size:12px;display:block}#dev-body[hidden]{display:none}#dev-panel .dev-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}#dev-panel .dev-row button{color:#dbe3ee;cursor:pointer;background:#232935;border:1px solid #3a414d;border-radius:4px;padding:6px 10px;font-size:12px}#dev-panel .dev-row button:hover{background:#2c3442}#dev-status{color:#9aa6b5;min-height:16px;margin-top:6px;font-size:12px}#intro-title.dev-on:after{content:" · dev";color:#6f8099;font-size:12px}#dev-log-table{white-space:pre-wrap;color:#b9c6d6;max-height:180px;margin-top:6px;font-family:monospace;font-size:11px;line-height:1.5;overflow-y:auto}#dev-log-box{color:#dbe3ee;background:#11151b;border:1px solid #3a414d;border-radius:4px;width:100%;margin-top:6px;font-family:monospace;font-size:10px}#dev-log-box[hidden]{display:none}#pause-button{cursor:pointer;touch-action:none;background:#0d0f118c;border:1px solid #2e373b;border-radius:9px;width:44px;height:44px;margin-top:4px;position:relative}#pause-button:before,#pause-button:after{content:"";background:var(--text-2);border-radius:1px;width:4px;height:12px;position:absolute;top:15px}#pause-button:before{left:15px}#pause-button:after{right:15px}@media (height<=500px){#pause-button{margin:0;position:absolute;top:0;right:calc(100% + 12px)}}#pause-button[hidden]{display:none}#pause-overlay{z-index:35;font-family:var(--font-sans);color:#eee;background:#000000b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#pause-overlay[hidden],#pause-main[hidden],#pause-confirm[hidden]{display:none}#pause-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(360px,100%);display:flex}#pause-title{letter-spacing:.1em;font-size:30px;font-weight:700}#pause-station{color:#8a929e;font-size:13px}.pause-buttons{flex-direction:column;gap:10px;width:100%;display:flex}.pause-buttons button{font-family:var(--font-sans);color:#eee;cursor:pointer;background:#ffffff14;border:2px solid #eee;border-radius:4px;padding:12px 20px;font-size:17px}.pause-buttons button:hover{background:#fff3}#pause-confirm{flex-direction:column;gap:12px;width:100%;display:flex}#pause-confirm-text{font-size:16px;line-height:1.5}#pause-confirm-note{color:#9aa3ad;font-size:13px;line-height:1.5}.story-record{align-self:stretch;margin-top:4px}.story-record summary{cursor:pointer;letter-spacing:.1em;color:#8a929e;-webkit-user-select:none;user-select:none;font-size:12px}.story-record-body{color:#d4d8de;background:#0d0f12;border:1px solid #333a42;margin-top:6px;padding:10px 12px;font-family:D2Coding,NanumGothicCoding,ui-monospace,Consolas,monospace;font-size:13px;line-height:1.55}.story-record-line{white-space:pre-wrap;word-break:keep-all;min-height:1.55em}.story-record-label{color:#7d8691}.item-record{color:#b7bcc4;text-align:left;flex-direction:column;margin-top:4px;font-family:D2Coding,NanumGothicCoding,ui-monospace,Consolas,monospace;font-size:11px;line-height:1.5;display:flex}.item-record-line{white-space:pre-wrap;word-break:keep-all}.skill-option.skill-option-with-shape{flex-direction:row;align-items:center;gap:12px}.skill-option-text{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.skill-shape-icon{flex:none}.skill-shape-icon .shape-fill{fill:#ffee6659;stroke:#fe6;stroke-width:1px}.skill-shape-icon .shape-stroke{fill:none;stroke:#9fd8ff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.skill-shape-icon .shape-player{fill:#4da6ff}.cloud-modal{z-index:48;background:#000000c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cloud-card{width:min(460px,100%);max-height:90vh;font-family:var(--font-sans);color:#eee;background:#111;border:2px solid #eee;border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.cloud-title{text-align:center;font-size:18px}.cloud-subtitle{color:#ccc;border-top:1px solid #333;margin-top:6px;padding-top:8px;font-size:15px}.cloud-body,.cloud-status{color:#bbb;font-size:13px;line-height:1.5}.cloud-status:empty{display:none}.cloud-buttons{flex-wrap:wrap;gap:8px;display:flex}.cloud-button{min-height:44px;font-family:var(--font-sans);color:#eee;cursor:pointer;background:#222;border:2px solid #aaa;border-radius:6px;flex:auto;padding:6px 12px;font-size:14px}.cloud-secondary{background:0 0;border-color:#666}.cloud-danger{color:#f99;border-color:#c55}.cloud-choices{gap:10px;display:flex}.cloud-choice{font-family:var(--font-sans);text-align:left;color:#eee;cursor:pointer;background:#1c1c1c;border:2px solid #aaa;border-radius:6px;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.cloud-choice-title{font-size:16px;font-weight:700}.cloud-choice-line{color:#ccc;font-size:13px}.cloud-choice-pick{color:#ffd27a;margin-top:6px;font-size:13px}.cloud-snapshot{align-items:center;gap:8px;display:flex}.cloud-snapshot-text{color:#ccc;flex:auto;font-size:12px}.cloud-snapshot .cloud-button{flex:none;min-height:36px}.cloud-google{justify-content:center;min-height:44px;display:flex}@media (width<=480px){.cloud-choices{flex-direction:column}}.sound-settings{font-family:var(--font-sans);color:#ccc;flex-direction:column;gap:6px;margin-top:8px;font-size:13px;display:flex}.sound-row{align-items:center;gap:10px;min-height:32px;display:flex}.sound-row span{min-width:56px}.sound-row input[type=range]{flex:auto;min-width:120px}.sound-row input[type=checkbox]{width:20px;height:20px}#hub-sound[hidden]{display:none}#hub-sound{max-width:360px;margin:6px auto 0}
