:root{font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fbff;background:#0a1020;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;min-width:280px;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid #fff4a8;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;place-items:center;width:100%;height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:radial-gradient(circle at 20% 10%,rgba(91,118,190,.24),transparent 38%),linear-gradient(145deg,#0a1020,#121c34)}.game-frame{position:relative;width:min(calc(100vw - 16px),calc((100dvh - 48px)*.5625),450px);aspect-ratio:9 / 16;overflow:hidden;border:1px solid rgba(190,220,255,.28);border-radius:clamp(12px,3vw,24px);background:#18233d;box-shadow:0 24px 70px #0000007a,inset 0 0 0 1px #ffffff0f;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.game-canvas,.game-canvas canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.hud{position:absolute;z-index:10;top:0;left:0;display:grid;grid-template-columns:76px 1fr 40px;gap:10px;align-items:start;width:100%;padding:16px 16px 0;pointer-events:none}.score-card{display:grid;line-height:1}.score-label,.timer-wrap span{color:#a8bad7;font-size:10px;font-weight:800;letter-spacing:.12em}.score-card strong{margin-top:4px;font-size:31px;font-weight:950;text-shadow:0 3px 12px rgba(0,0,0,.4)}.timer-wrap{display:grid;gap:6px;padding-top:3px;text-align:center}.timer-track{height:13px;overflow:hidden;border:2px solid rgba(255,255,255,.8);border-radius:999px;background:#040a1899;box-shadow:inset 0 2px 4px #00000059,0 2px 8px #00000038}.timer-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#50dfc1,#d8f278);transition:width 80ms linear}.timer-fill--danger{background:linear-gradient(90deg,#ff617a,#ffb45f)}.pause-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:#08102285;font-weight:900;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.run-shards{position:absolute;top:60px;right:17px;padding:5px 9px;border:1px solid rgba(168,255,232,.42);border-radius:999px;background:#144c4f94;color:#baffeb;font-size:11px;font-weight:900}.controls{position:absolute;z-index:12;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;padding:18px 25px max(22px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#080e1fe0 28%);pointer-events:none}.control-button{display:grid;place-items:center;width:88px;height:88px;padding:0;border:3px solid rgba(255,255,255,.72);border-radius:50%;box-shadow:0 7px #04081480;cursor:pointer;touch-action:none;transition:transform 70ms ease,filter 70ms ease,box-shadow 70ms ease;pointer-events:auto}.control-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 3px #04081480;filter:brightness(1.12)}.control-button:disabled{opacity:.34;cursor:default}.control-button--turn{background:radial-gradient(circle at 35% 28%,#957ce9,#513ca8 68%)}.control-button--climb{background:radial-gradient(circle at 35% 28%,#ff8098,#c63f65 68%)}.control-icon{font-size:46px;font-weight:950;line-height:1;text-shadow:0 3px 0 rgba(33,21,62,.42)}.overlay{position:absolute;z-index:11;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 28px 118px;background:linear-gradient(#0f182fc2,#0b1225e6);text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.eyebrow{margin:0 0 10px;color:#9bdff0;font-size:11px;font-weight:900;letter-spacing:.22em}.menu-overlay h1{margin:0;color:#fff4a8;font-size:clamp(42px,13vw,66px);font-weight:1000;letter-spacing:-.07em;line-height:.82;text-shadow:0 7px 0 #6d478d,0 13px 30px rgba(0,0,0,.45);transform:skewY(-4deg)}.menu-overlay{justify-content:flex-start;padding:32px 24px 100px}.menu-overlay .best-copy{margin-top:12px}.menu-overlay .feedback-controls{margin-top:10px}.menu-copy{margin:24px 0 14px;color:#d5e3f6;font-size:13px;line-height:1.7}.play-options{display:grid;gap:9px;width:100%;max-width:300px;margin-bottom:15px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-card{display:grid;gap:3px;min-height:48px;padding:7px 9px;border:1px solid rgba(177,202,236,.24);border-radius:12px;background:#070f228a;color:#aabbd4;text-align:left;cursor:pointer}.mode-card strong{color:#eaf5ff;font-size:12px}.mode-card small{font-size:9px}.mode-card--selected{border-color:#ffe57ebf;background:#6f4d8f94;box-shadow:inset 0 0 0 1px #ffeea52e}.skin-row{display:grid;grid-template-columns:47px repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}.shard-balance{display:grid;place-items:center;min-width:47px;border-radius:10px;background:#307c7c4d;color:#adffe8;font-size:11px;font-weight:900}.skin-button{display:flex;flex-direction:column;gap:3px;align-items:center;min-width:0;padding:5px 3px;border:1px solid transparent;border-radius:10px;background:#0810226b;color:#b8c6da;cursor:pointer}.skin-button:disabled{opacity:.42;cursor:default}.skin-button--selected{border-color:#fff0a0;background:#ffe67f1f}.skin-swatch{width:28px;height:38px;border-radius:5px;background:#ffffff14;object-fit:contain;image-rendering:auto}.skin-button small{overflow:hidden;max-width:100%;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.primary-button{min-width:170px;min-height:52px;padding:12px 24px;border:0;border-radius:16px;background:linear-gradient(145deg,#ffdc5e,#f59b48);box-shadow:0 7px #924d55,0 14px 22px #0000004d;color:#302245;font-size:17px;font-weight:950;cursor:pointer}.primary-button:active{transform:translateY(4px);box-shadow:0 3px #924d55}.best-copy{margin:20px 0 0;color:#b8c7dd;font-size:12px}.best-copy strong{margin-left:5px;color:#fff;font-size:16px}.feedback-controls{display:flex;gap:8px;justify-content:center;margin-top:17px}.setting-chip{display:inline-flex;gap:7px;align-items:center;min-height:36px;padding:7px 12px;border:1px solid rgba(190,210,238,.25);border-radius:999px;background:#08102280;color:#8fa0ba;font-size:11px;font-weight:800;cursor:pointer}.setting-chip span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#ffffff14;font-size:12px}.setting-chip--active{border-color:#89e2e39e;background:#42aab433;color:#d7ffff}.result-overlay h2,.pause-overlay h2{margin:0 0 25px;font-size:34px}.result-score{display:grid;margin-bottom:5px}.result-score span{color:#a9bbd5;font-size:12px}.result-score strong{color:#fff4a8;font-size:64px;line-height:1.05}.result-overlay .primary-button{margin-top:0}.shard-result{margin:12px 0 16px;color:#a9bbd5;font-size:11px}.shard-result strong{color:#adffe8}.result-actions{display:flex;gap:8px}.secondary-button{min-width:72px;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:#0c172fb8;color:#d6e4f5;font-size:13px;font-weight:900;cursor:pointer}.desktop-hint{position:fixed;bottom:8px;margin:0;color:#6f809f;font-size:10px;letter-spacing:.04em}@media(max-height:650px),(max-width:500px){.app-shell{padding:0}.game-frame{width:min(100vw,56.25dvh);border:0;border-radius:0}.desktop-hint{display:none}}@media(max-height:570px){.hud{padding-top:10px}.control-button{width:74px;height:74px}.control-icon{font-size:39px}.controls{padding-right:22px;padding-bottom:max(14px,env(safe-area-inset-bottom));padding-left:22px}.overlay{padding-top:48px;padding-bottom:96px}.menu-copy{margin:20px 0 14px}.feedback-controls{margin-top:11px}.menu-overlay{padding-top:12px;padding-bottom:78px}.menu-overlay h1{font-size:35px}.menu-overlay .menu-copy{margin:10px 0 7px;line-height:1.35}.menu-overlay .play-options{gap:5px;margin-bottom:8px}.menu-overlay .mode-card{min-height:40px;padding:4px 7px}.menu-overlay .skin-button{padding:2px}.menu-overlay .skin-swatch{width:23px;height:30px}.menu-overlay .primary-button{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
