.app-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-main--tabbar{flex:1;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.app-layout--fullscreen{position:relative}.skip-nav{position:absolute;top:-100%;left:0;background:var(--alparka-color-primary);color:var(--alparka-color-text-on-primary);padding:var(--alparka-space-sm) var(--alparka-space-md);z-index:10000;font-size:var(--alparka-font-caption);text-decoration:none;border-radius:0 0 4px}.skip-nav:focus{top:0}.link-button{background:none;border:none;color:inherit;cursor:pointer;padding:0;font:inherit;text-decoration:underline}.link-button:hover{opacity:.8}.page-loader{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--alparka-color-bg)}.spinner{width:40px;height:40px;border:4px solid var(--alparka-color-border);border-top-color:var(--alparka-color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--alparka-space-xl);text-align:center;background-color:var(--alparka-color-bg);font-family:var(--alparka-font-family)}.error-boundary h2{font-size:var(--alparka-font-h1);color:var(--alparka-color-text);margin-bottom:var(--alparka-space-md)}.error-boundary p{font-size:var(--alparka-font-body);color:var(--alparka-color-text-secondary);margin-bottom:var(--alparka-space-lg);max-width:480px;word-break:break-word}.error-boundary-actions{display:flex;gap:var(--alparka-space-md)}.error-boundary-actions button{padding:.625rem 1.25rem;border:none;border-radius:var(--alparka-radius-sm);font-size:var(--alparka-font-body);cursor:pointer;transition:opacity var(--alparka-duration-fast)}.error-boundary-actions button:first-child{background-color:var(--alparka-color-primary);color:var(--alparka-color-text-on-primary)}.error-boundary-actions button:last-child{background-color:var(--alparka-color-border);color:var(--alparka-color-text)}.error-boundary-actions button:hover{opacity:.85}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:var(--alparka-space-sm);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--alparka-space-md);min-width:260px;max-width:420px;padding:var(--alparka-space-md);border-radius:var(--alparka-radius-sm);box-shadow:var(--alparka-shadow-toast);font-family:var(--alparka-font-family);font-size:var(--alparka-font-caption);line-height:1.4;pointer-events:auto;animation:toast-slide-in .25s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast--info{background:var(--alparka-color-bg-elevated);color:var(--alparka-color-text);border-left:4px solid var(--alparka-color-blue)}.toast--success{background:var(--alparka-color-bg-elevated);color:var(--alparka-color-success);border-left:4px solid var(--alparka-color-success)}.toast--error{background:var(--alparka-color-bg-elevated);color:var(--alparka-color-error);border-left:4px solid var(--alparka-color-error)}.toast--warning{background:var(--alparka-color-bg-elevated);color:var(--alparka-color-warning);border-left:4px solid var(--alparka-color-warning)}.toast__message{flex:1}.toast__close{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:14px;color:inherit;opacity:.6;padding:0 var(--alparka-space-xs);line-height:1}.toast__close:hover{opacity:1}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.confirm-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:var(--alparka-color-overlay)}.confirm-dialog{background:var(--alparka-color-bg-elevated);border-radius:var(--alparka-radius-md);padding:var(--alparka-space-lg) var(--alparka-space-xl) var(--alparka-space-md);min-width:320px;max-width:440px;box-shadow:0 8px 24px #0003;font-family:var(--alparka-font-family);animation:confirm-pop var(--alparka-duration-fast) ease-out}@keyframes confirm-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-message{font-size:var(--alparka-font-body);line-height:1.5;color:var(--alparka-color-text);margin:0 0 var(--alparka-space-md);white-space:pre-wrap}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--alparka-space-sm)}.confirm-btn{padding:var(--alparka-space-sm) var(--alparka-space-md);border-radius:var(--alparka-radius-sm);border:none;font-size:var(--alparka-font-caption);font-family:var(--alparka-font-family);cursor:pointer;transition:opacity var(--alparka-duration-fast)}.confirm-btn:hover{opacity:.85}.confirm-btn--cancel{background:var(--alparka-color-border);color:var(--alparka-color-text)}.confirm-btn--ok{background:var(--alparka-color-primary);color:var(--alparka-color-text-on-primary)}@media(prefers-reduced-motion:reduce){.confirm-dialog{animation:none}.confirm-btn{transition:none}}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-around;height:56px;background:var(--alparka-color-bg-tabbar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--alparka-color-border);z-index:var(--alparka-z-tabbar);padding-bottom:env(safe-area-inset-bottom,0)}.tabbar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--alparka-space-2xs);flex:1;height:100%;background:none;border:none;cursor:pointer;color:var(--alparka-color-text-tertiary);transition:color var(--alparka-duration-fast) var(--alparka-ease-default);min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}.tabbar-item--active{color:var(--alparka-color-text)}.tabbar-icon{font-size:22px;line-height:1}.tabbar-icon--create{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--alparka-radius-full);background:var(--alparka-color-primary);font-size:18px;animation:coralGlow var(--alparka-duration-loop-ambient) ease-in-out infinite}.tabbar-item--create{color:var(--alparka-color-text)}.tabbar-label{font-size:var(--alparka-font-micro);font-weight:500;line-height:1}.tabbar-item--create .tabbar-label{margin-top:-2px}@media(prefers-reduced-motion:reduce){.tabbar-icon--create{animation:none;box-shadow:0 0 12px var(--alparka-color-primary-glow-strong)}}.header{width:100%;height:var(--header-height, 40px);background:var(--alparka-color-creator-primary-dark);position:fixed;top:0;z-index:1000}.header-inner{height:100%;margin:0;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:auto}.logo-image{height:20px;width:auto}.header .logo-image{height:25px!important;width:auto!important}.header-actions{display:flex;gap:var(--alparka-space-md);align-items:center}.btn-create-header{padding:8px 18px;background:transparent;color:#fff;border-radius:var(--alparka-radius-full);font-family:"PyeongChangPeace-Bold",var(--font-button);font-size:16px;font-weight:500;cursor:pointer;border:2px solid rgba(255,255,255,.12);transition:all var(--alparka-duration-normal) var(--alparka-ease-default)}.btn-arcade-header{padding:8px 18px;background:transparent;color:#fff;border-radius:var(--alparka-radius-full);font-family:"Gmarket Sans TTF",var(--font-button);font-size:16px;font-weight:500;cursor:pointer;border:2px solid rgba(255,255,255,.12);transition:all var(--alparka-duration-normal) var(--alparka-ease-default)}.btn-signup,.btn-login{padding:4px 20px;background:var(--alparka-color-bg-elevated);color:var(--alparka-color-creator-primary-dark);border:1px solid rgba(0,0,0,.06);border-radius:var(--alparka-radius-full);font-family:"Gmarket Sans TTF",var(--font-button);font-size:14px;font-weight:700;cursor:pointer;transition:all .18s ease;min-width:0;width:auto}.btn-create-header:hover,.btn-arcade-header:hover{background:#ffffff1a}.btn-signup:hover,.btn-login:hover{background:#f0f0f0;transform:translateY(-2px)}.btn-create-header.active,.btn-arcade-header.active{background:var(--alparka-color-creator-accent);color:#000;border-color:transparent}.mypage-btn{width:40px;height:40px;border-radius:50%;background:var(--alparka-color-bg-elevated);color:var(--alparka-color-creator-primary-dark);border:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all var(--alparka-duration-normal) var(--alparka-ease-default);padding:0}.mypage-btn:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}@media(prefers-reduced-motion:reduce){.btn-create-header,.btn-arcade-header,.btn-signup,.btn-login,.mypage-btn{transition:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;line-height:1.5;font-family:var(--alparka-font-family, "Pretendard Variable", "Noto Sans KR", -apple-system, BlinkMacSystemFont, system-ui, sans-serif)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}#root{min-height:100vh}:root{--alparka-color-bg: #FAFAF8;--alparka-color-bg-elevated: #FFFFFF;--alparka-color-bg-card: #FFFFFF;--alparka-color-bg-cinema: #0D0D0D;--alparka-color-border: rgba(0, 0, 0, .08);--alparka-color-border-strong: rgba(0, 0, 0, .12);--alparka-color-primary: #FF6B4A;--alparka-color-primary-hover: #FF8266;--alparka-color-primary-glow: rgba(255, 107, 74, .06);--alparka-color-primary-glow-strong: rgba(255, 107, 74, .15);--alparka-color-primary-glow-hover: rgba(255, 107, 74, .25);--alparka-color-text: #2D2D2D;--alparka-color-text-secondary: rgba(0, 0, 0, .5);--alparka-color-text-tertiary: rgba(0, 0, 0, .3);--alparka-color-pink: #EC407A;--alparka-color-blue: #4FC3F7;--alparka-color-green: #4CAF50;--alparka-color-amber: #FFB74D;--alparka-color-success: #4CAF50;--alparka-color-success-hover: #00a884;--alparka-color-warning: #FFB74D;--alparka-color-error: #FF6B6B;--alparka-color-error-hover: #e05555;--alparka-color-text-on-primary: #FFFFFF;--alparka-color-social-google: #4285f4;--alparka-color-social-kakao: #FEE500;--alparka-color-social-naver: #03c75a;--alparka-color-overlay: rgba(0, 0, 0, .5);--alparka-color-overlay-medium: rgba(0, 0, 0, .6);--alparka-color-overlay-heavy: rgba(0, 0, 0, .7);--alparka-color-overlay-solid: rgba(0, 0, 0, .8);--alparka-color-overlay-light: rgba(255, 255, 255, .3);--alparka-color-overlay-light-hover: rgba(255, 255, 255, .5);--alparka-color-bg-game-overlay: rgba(26, 16, 37, .85);--alparka-color-bg-game-overlay-solid: rgba(26, 16, 37, .95);--alparka-color-bg-tabbar: rgba(26, 26, 26, .85);--alparka-color-primary-glow-intense: rgba(255, 107, 74, .4);--alparka-color-creator-primary: #7C3AED;--alparka-color-creator-primary-hover: #6D28D9;--alparka-color-creator-primary-dark: #3A1C6E;--alparka-color-creator-primary-gradient: #5B21B6;--alparka-color-creator-primary-light: #a171f3;--alparka-color-creator-primary-soft: #B18AF5;--alparka-color-creator-accent: #A3E635;--alparka-color-creator-accent-hover: #bef264;--alparka-color-creator-accent-active: #84cc16;--alparka-color-creator-success: #10B981;--alparka-color-creator-gradient-start: #C498FF;--alparka-color-creator-gradient-end: #90B6F9;--alparka-color-creator-options-bg: rgba(225, 208, 255, .9);--alparka-color-blue-bg: rgba(79, 195, 247, .15);--alparka-color-green-bg: rgba(76, 175, 80, .15);--alparka-color-amber-bg: rgba(255, 183, 77, .15);--alparka-color-error-bg: rgba(255, 107, 107, .15);--alparka-font-family: "Pretendard Variable", "Noto Sans KR", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--alparka-font-display: 2rem;--alparka-font-h1: 1.5rem;--alparka-font-h2: 1.25rem;--alparka-font-h3: 1.0625rem;--alparka-font-body: .9375rem;--alparka-font-caption: .8125rem;--alparka-font-micro: .6875rem;--alparka-space-2xs: 2px;--alparka-space-xs: 4px;--alparka-space-sm: 8px;--alparka-space-md: 16px;--alparka-space-lg: 24px;--alparka-space-xl: 32px;--alparka-space-2xl: 48px;--alparka-radius-sm: 8px;--alparka-radius-md: 12px;--alparka-radius-lg: 16px;--alparka-radius-xl: 24px;--alparka-radius-full: 9999px;--alparka-duration-instant: .1s;--alparka-duration-fast: .2s;--alparka-duration-normal: .3s;--alparka-duration-slow: .5s;--alparka-duration-reveal: .8s;--alparka-duration-loop: 1s;--alparka-duration-loop-slow: 1.2s;--alparka-duration-loop-medium: 1.5s;--alparka-duration-loop-long: 2s;--alparka-duration-loop-ambient: 3s;--alparka-ease-default: cubic-bezier(.4, 0, .2, 1);--alparka-ease-reveal: cubic-bezier(0, 0, .2, 1);--alparka-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--alparka-shadow-card: 0 4px 16px rgba(255, 107, 74, .06);--alparka-shadow-card-hover: 0 8px 24px rgba(255, 107, 74, .15);--alparka-shadow-sheet: 0 -4px 24px rgba(0, 0, 0, .3);--alparka-shadow-toast: 0 4px 16px rgba(0, 0, 0, .2);--alparka-shadow-play: 0 8px 32px rgba(0, 0, 0, .4);--alparka-z-tabbar: 60;--alparka-z-sticky: 50;--alparka-z-play: 800;--alparka-z-remix: 1000;--alparka-z-share: 1100;--alparka-z-cinema: 900}[data-theme=dark]{--alparka-color-bg: #1A1A1A;--alparka-color-bg-elevated: #252525;--alparka-color-bg-card: #252525;--alparka-color-bg-cinema: #0D0D0D;--alparka-color-border: rgba(255, 255, 255, .08);--alparka-color-border-strong: rgba(255, 255, 255, .12);--alparka-color-text: #FFFFFF;--alparka-color-text-secondary: rgba(255, 255, 255, .5);--alparka-color-text-tertiary: rgba(255, 255, 255, .3)}:root{--alparka-primary: var(--alparka-color-primary);--alparka-primary-light: var(--alparka-color-primary-hover);--alparka-primary-dark: #E05535;--alparka-primary-bg: var(--alparka-color-primary-glow);--alparka-accent: var(--alparka-color-pink);--alparka-accent-light: #F48FB1;--alparka-accent-dark: #C2185B;--alparka-bg-dark: var(--alparka-color-bg);--alparka-bg-darker: var(--alparka-color-bg-cinema);--alparka-bg-card: var(--alparka-color-bg-card);--alparka-bg-light: var(--alparka-color-bg);--alparka-bg-white: var(--alparka-color-bg-elevated);--alparka-text-primary: var(--alparka-color-text);--alparka-text-secondary: var(--alparka-color-text-secondary);--alparka-text-light: var(--alparka-color-text-tertiary);--alparka-text-white: var(--alparka-color-text);--alparka-text-on-dark: var(--alparka-color-text-secondary);--alparka-success: var(--alparka-color-success);--alparka-warning: var(--alparka-color-warning);--alparka-error: var(--alparka-color-error);--alparka-info: var(--alparka-color-blue);--alparka-border: var(--alparka-color-border);--alparka-border-light: var(--alparka-color-border);--alparka-border-dark: var(--alparka-color-border-strong);--alparka-space-3xl: 64px;--alparka-radius-2xl: var(--alparka-radius-xl);--alparka-transition-fast: var(--alparka-duration-fast) var(--alparka-ease-default);--alparka-transition-normal: var(--alparka-duration-normal) var(--alparka-ease-default);--alparka-transition-slow: var(--alparka-duration-slow) var(--alparka-ease-default);--alparka-shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--alparka-shadow-md: var(--alparka-shadow-card);--alparka-shadow-lg: var(--alparka-shadow-card-hover);--alparka-shadow-glow: 0 0 20px var(--alparka-color-primary-glow-strong);--alparka-font-display-family: var(--alparka-font-family);--alparka-font-body-family: var(--alparka-font-family);--alparka-text-xs: var(--alparka-font-micro);--alparka-text-sm: var(--alparka-font-caption);--alparka-text-base: var(--alparka-font-body);--alparka-text-lg: var(--alparka-font-h3);--alparka-text-xl: var(--alparka-font-h2);--alparka-text-2xl: var(--alparka-font-h1);--alparka-text-3xl: var(--alparka-font-display);--alparka-text-4xl: 2.5rem;--alparka-z-dropdown: 100;--alparka-z-modal: 300;--alparka-z-overlay: 400;--alparka-z-toast: 500}body{background-color:var(--alparka-color-bg);color:var(--alparka-color-text);font-family:var(--alparka-font-family)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--alparka-color-text-tertiary);border-radius:var(--alparka-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--alparka-color-text-secondary)}:focus-visible{outline:2px solid var(--alparka-color-primary);outline-offset:2px}.alparka-icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0;display:inline-block}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes revealBurst{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes coralGlow{0%,to{box-shadow:0 0 8px var(--alparka-color-primary-glow),0 0 24px var(--alparka-color-primary-glow)}50%{box-shadow:0 0 16px var(--alparka-color-primary-glow-strong),0 0 48px var(--alparka-color-primary-glow)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html[lang=zh]{--alparka-font-family: "Pretendard Variable", "Noto Sans SC", system-ui, sans-serif}html[lang=ja]{--alparka-font-family: "Pretendard Variable", "Noto Sans JP", system-ui, sans-serif}
