:root{--font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--color-primary: #a78bfa;--color-primary-light: #c4b5fd;--color-primary-muted: rgba(167, 139, 250, .15);--color-accent: #c4b5fd;--color-bg-base: #0f0f14;--color-bg-elevated: #18181f;--color-bg-subtle: #1f1f28;--color-bg-glass: rgba(24, 24, 31, .85);--color-text-primary: #f4f4f5;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-success: #22c55e;--color-success-light: #4ade80;--color-success-dark: #16a34a;--color-warning: #fbbf24;--color-warning-dark: #fb923c;--color-error: #f87171;--color-border-default: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-border-glass: rgba(255, 255, 255, .08);--gradient-primary: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);--gradient-progress-start: linear-gradient(90deg, #a78bfa 0%, #8b5cf6 100%);--gradient-progress-80: linear-gradient(90deg, #c4b5fd 0%, #a78bfa 100%);--gradient-progress-100: linear-gradient(90deg, var(--color-success) 0%, var(--color-success-light) 100%);--color-surface: #18181f;--color-on-surface: #e4e4e7;--shadow-card: 0 2px 8px rgba(0, 0, 0, .25);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .3);--shadow-glow: 0 0 12px rgba(167, 139, 250, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-family);line-height:1.5;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-base);transition:background-color var(--transition-normal),color var(--transition-normal)}.glass-card{background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.glass-card-solid{background:#18181fe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;padding:8px 16px;background:var(--color-primary);color:#fff;z-index:1000;transition:top var(--transition-fast)}.skip-link:focus{top:0}@media(max-width:768px){html,body,#root{height:auto;min-height:100%;-webkit-overflow-scrolling:touch}}.sr-only{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;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes checkPop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes checkDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .25s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .3s ease-out forwards}.animate-fade-in-scale{animation:fadeInScale .2s ease-out forwards}.animate-bounce-in{animation:fadeInScale .25s ease-out forwards}.animate-slide-in-right{animation:slideInRight .25s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .25s ease-out forwards}.stagger-1{animation-delay:.03s}.stagger-2{animation-delay:.06s}.stagger-3{animation-delay:.09s}.stagger-4{animation-delay:.12s}.stagger-5{animation-delay:.15s}.stagger-6{animation-delay:.18s}.stagger-7{animation-delay:.21s}.stagger-8{animation-delay:.24s}@keyframes slideFromRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideToLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-60px)}}@keyframes slideToRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}@keyframes tapFeedback{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}.animate-tap{animation:tapFeedback .12s ease-out}@keyframes successPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.animate-success{animation:successPop .25s ease-out forwards}.ad-container{width:100%;min-height:100px;display:flex;justify-content:center;align-items:center;margin:1rem 0}@media(min-width:768px){.ad-container{min-height:120px}}.ad-placeholder{width:100%;min-height:100px;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#2a2a3a,#1e1e2e);border:2px dashed #4a4a5a;border-radius:8px;margin:1rem 0;color:#888;font-size:.875rem;font-weight:500}.ad-container.ad-intro-bottom{margin-top:1.5rem}.ad-container.ad-result-top{margin-bottom:1.5rem}.ad-container.ad-result-bottom{margin-top:1.5rem;margin-bottom:.5rem}.ad-placeholder.ad-intro-bottom,.ad-placeholder.ad-result-top,.ad-placeholder.ad-result-bottom{margin-top:1.5rem}.language-switcher{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:12px}.language-switcher .globe-icon{width:18px;height:18px;color:var(--color-text-muted);flex-shrink:0}.lang-btn{padding:8px 14px;font-size:13px;font-weight:600;letter-spacing:.5px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.lang-btn:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.lang-btn.active{background:var(--color-primary);color:#fff}@media(max-width:480px){.language-switcher{padding:4px 8px;gap:4px}.language-switcher .globe-icon{width:16px;height:16px}.lang-btn{padding:6px 10px;font-size:12px}}.intro-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:20px;background:var(--color-bg-base);position:relative;transition:background var(--transition-normal)}.intro-container{max-width:600px;width:100%;margin:auto;background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-card);position:relative;z-index:1;animation:fadeInScale .4s ease-out}.intro-title{font-size:2.2rem;font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:8px;animation:fadeInUp .3s ease-out;animation-delay:.05s;animation-fill-mode:backwards}.intro-subtitle{font-size:1rem;color:var(--color-text-secondary);text-align:center;margin-bottom:28px;animation:fadeInUp .3s ease-out;animation-delay:.1s;animation-fill-mode:backwards}.intro-description{margin-bottom:32px;animation:fadeInUp .3s ease-out;animation-delay:.15s;animation-fill-mode:backwards}.intro-description>p{color:var(--color-text-secondary);line-height:1.7;text-align:center;margin-bottom:24px}.intro-info-box{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;gap:14px}.info-item{display:flex;align-items:center;gap:12px;color:var(--color-text-secondary);font-size:.95rem}.info-icon{font-size:1.3rem;width:32px;text-align:center;color:var(--color-primary)}.scale-preview{margin-top:28px}.scale-preview h3{font-size:1.1rem;color:var(--color-text-primary);margin-bottom:16px;text-align:center;font-weight:600}.scale-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.scale-category{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:16px;transition:border-color var(--transition-fast)}.scale-category:hover{border-color:var(--color-border-hover)}.scale-category h4{font-size:1rem;color:var(--color-primary);margin-bottom:4px;font-weight:600}.scale-note{font-size:.8rem;color:var(--color-text-muted);margin-bottom:12px}.scale-category ul{list-style:none;padding:0;margin:0}.scale-category li{font-size:.9rem;color:var(--color-text-secondary);padding:5px 0 5px 16px;position:relative}.scale-category li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--color-primary);border-radius:50%;opacity:.6}.start-button{width:100%;padding:18px 32px;min-height:48px;font-size:1.15rem;font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);animation:fadeInUp .3s ease-out;animation-delay:.2s;animation-fill-mode:backwards;position:relative;overflow:hidden}.start-button:hover{background:var(--color-primary-light);transform:translateY(-2px)}.start-button:active{transform:translateY(0)}.intro-disclaimer{margin-top:24px;font-size:.8rem;color:var(--color-text-muted);text-align:center;line-height:1.5;animation:fadeIn .3s ease-out;animation-delay:.25s;animation-fill-mode:backwards}@media(max-width:480px){.intro-container{padding:28px 20px;margin:10px}.intro-title{font-size:1.7rem}.intro-subtitle{font-size:.95rem}.scale-grid{grid-template-columns:1fr}.info-item{font-size:.9rem}.start-button{padding:16px 28px;font-size:1.05rem}}.intro-language-switcher{position:absolute;top:16px;right:16px;z-index:100}@media(max-width:480px){.intro-language-switcher{top:12px;right:12px}}.progress-dots{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.dots-container{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;padding:12px 16px;background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);border:1px solid var(--color-border-default)}.dot{width:10px;height:10px;border-radius:50%;background:var(--color-bg-subtle);transition:all var(--transition-fast)}.dot.answered{background:var(--color-text-muted)}.dot.current{background:var(--color-primary);transform:scale(1.3)}.dot.current.answered{background:var(--color-success)}.progress-counter{font-size:1rem;font-weight:600;color:var(--color-text-secondary)}@media(max-width:480px){.dots-container{gap:5px;padding:10px 12px}.dot{width:8px;height:8px}.progress-counter{font-size:.9rem}}.test-page.single-question{min-height:100vh;min-height:100dvh;background:var(--color-bg-base);padding:20px;display:flex;align-items:center;justify-content:center;position:relative;transition:background var(--transition-normal)}.test-container-single{width:100%;max-width:500px;display:flex;flex-direction:column;position:relative;z-index:1}.question-area{position:relative;min-height:380px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;touch-action:pan-y pinch-zoom}.question-card-single{width:100%;background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);padding:32px 28px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);cursor:grab;transition:background var(--transition-normal),box-shadow var(--transition-fast)}.question-card-single:active{cursor:grabbing}.question-number-single{font-size:.9rem;color:var(--color-primary);font-weight:600;margin-bottom:16px;text-align:center}.question-text-single{font-size:1.25rem;font-weight:500;color:var(--color-text-primary);text-align:center;line-height:1.7;margin-bottom:32px;min-height:80px;display:flex;align-items:center;justify-content:center}.likert-scale-single{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.likert-btn{width:56px;height:56px;border:1px solid var(--color-border-default);border-radius:50%;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);background:var(--color-bg-elevated);color:var(--color-text-muted);box-shadow:none}.likert-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-muted)}.likert-btn:active{transform:scale(.95)}.likert-btn.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.05)}.likert-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.likert-labels-single{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-muted);padding:0 8px}.navigation-single{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;min-height:52px;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.nav-btn svg{width:20px;height:20px}.nav-btn.prev{background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.nav-btn.prev:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.nav-btn.prev:active:not(:disabled){transform:scale(.98)}.nav-btn.next{background:var(--color-primary);color:#fff}.nav-btn.next:hover:not(:disabled){background:var(--color-primary-light);transform:translateY(-1px)}.nav-btn.submit{background:var(--color-success);color:#fff}.nav-btn.submit:hover:not(:disabled){background:var(--color-success-dark);transform:translateY(-1px)}.nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.nav-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.keyboard-hint{display:flex;justify-content:center;gap:24px;font-size:.8rem;color:var(--color-text-muted)}@media(max-width:768px){.keyboard-hint{display:none}}@media(max-width:480px){.test-page.single-question{padding:12px}.question-area{min-height:340px}.question-card-single{padding:24px 20px}.question-text-single{font-size:1.1rem;min-height:70px}.likert-scale-single{gap:8px}.likert-btn{width:48px;height:48px;font-size:1rem}.likert-btn.selected{transform:scale(1.02)}.nav-btn{padding:14px 16px;min-height:48px;font-size:.95rem}}.test-page:not(.single-question){min-height:100vh;min-height:100dvh;background:var(--color-bg-base);padding:20px;position:relative;transition:background var(--transition-normal)}.test-container{max-width:700px;margin:0 auto;position:relative;z-index:1}.progress-section{background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);padding:20px 24px;border-radius:var(--radius-lg);margin-bottom:20px;box-shadow:var(--shadow-card);position:sticky;top:10px;z-index:10}.progress-bar{height:8px;background:var(--color-bg-base);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .4s ease;position:relative}.progress-fill.progress-80{background:var(--color-primary-light)}.progress-fill.progress-100{background:var(--color-success)}.progress-text{margin-top:12px;font-size:.95rem;color:var(--color-text-secondary);text-align:center;font-weight:500}.progress-message{margin-top:8px;font-size:1rem;font-weight:600;text-align:center;animation:fadeIn .25s ease-out}.progress-message.almost-there{color:var(--color-warning)}.progress-message.complete{color:var(--color-success)}.questions-section{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.question-card{background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:fadeInUp .25s ease-out backwards;transition:border-color var(--transition-fast)}.question-card:nth-child(1){animation-delay:.03s}.question-card:nth-child(2){animation-delay:.06s}.question-card:nth-child(3){animation-delay:.09s}.question-card:nth-child(4){animation-delay:.12s}.question-card:nth-child(5){animation-delay:.15s}.question-card.answered{border-color:var(--color-primary)}.question-number{font-size:.85rem;color:var(--color-text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.check-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--color-primary);border-radius:50%;animation:checkPop .3s ease-out}.check-icon svg{width:12px;height:12px;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}.check-icon svg path{stroke-dasharray:24;stroke-dashoffset:0;animation:checkDraw .25s ease-out .05s backwards}.question-text{font-size:1.1rem;font-weight:500;color:var(--color-text-primary);margin-bottom:20px;line-height:1.6}.likert-scale{display:flex;justify-content:space-between;gap:8px}.likert-option{flex:1;display:flex;justify-content:center}.likert-option input{display:none}.likert-circle{width:52px;height:52px;border:1px solid var(--color-border-default);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-elevated)}.likert-option:hover .likert-circle{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-muted)}.likert-option.selected .likert-circle{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.05);animation:checkPop .2s ease-out}.likert-labels{display:flex;justify-content:space-between;margin-top:12px;font-size:.8rem;color:var(--color-text-muted)}.navigation-section{display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border-default);padding:20px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:background var(--transition-normal)}.nav-button{padding:14px 32px;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);min-width:100px}.nav-button.prev{background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.nav-button.prev:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.nav-button.next,.nav-button.submit{background:var(--color-primary);color:#fff}.nav-button.next:hover:not(:disabled),.nav-button.submit:hover:not(:disabled){background:var(--color-primary-light);transform:translateY(-1px)}.nav-button.submit{background:var(--color-success)}.nav-button.submit:hover:not(:disabled){background:var(--color-success-dark)}.nav-button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.page-indicator{font-size:.95rem;color:var(--color-text-muted);font-weight:500}@media(max-width:480px){.test-page:not(.single-question){padding:12px}.progress-section{padding:16px;top:5px}.question-card{padding:18px}.question-text{font-size:1rem}.likert-circle{width:48px;height:48px;font-size:.9rem}.likert-option.selected .likert-circle{transform:scale(1.02)}.nav-button{padding:12px 24px;min-height:48px;font-size:.95rem;min-width:80px}.navigation-section{padding:16px}}*{box-sizing:border-box;margin:0;padding:0}#root{min-height:100vh}button{font-family:inherit}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}::selection{background:#13ecda4d}.loading-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--color-text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
