:root{--bg: #0a0a0a;--fg: #ffffff;--muted: #9ca3af;--accent: #007aff}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(24px,6vw,64px) 24px;padding-top:max(env(safe-area-inset-top),48px);padding-bottom:max(env(safe-area-inset-bottom),48px)}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}.app-icon{width:clamp(120px,30vw,180px);height:clamp(120px,30vw,180px);border-radius:28%;box-shadow:0 0 120px #ffffff59,0 0 60px #ffffff40,0 0 24px #ffffff2e;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media (prefers-color-scheme: light){.app-icon{box-shadow:0 40px 80px -15px #00000059,0 20px 40px -20px #00000040}}.title{font-size:clamp(28px,6vw,36px);font-weight:700;margin:0;letter-spacing:-.02em}.subtitle{font-size:clamp(14px,3.5vw,16px);color:var(--muted);margin:0;letter-spacing:-.01em}.cta{width:100%;max-width:400px;padding:0 24px;margin-bottom:16px}.cta-button{width:100%;height:56px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:17px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:transform .15s ease,opacity .15s ease;font-family:inherit;position:relative}.cta-button:hover,.cta-button:focus-visible{transform:translateY(-2px);opacity:.9}.cta-button:active{transform:translateY(0);opacity:.8}.cta-button.is-busy{color:transparent;cursor:default;pointer-events:none;transform:none;opacity:.75}.cta-button.is-busy:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:cta-spin .7s linear infinite}@keyframes cta-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.cta-button.is-busy:after{animation:cta-pulse 1.2s ease-in-out infinite}@keyframes cta-pulse{50%{opacity:.25}}}@media (prefers-color-scheme: light){:root{--bg: #ffffff;--fg: #0a0a0a;--muted: #6b7280}}
