.lego-loader{display:block;margin:auto;width:7rem;height:auto;--lightest300: hsl(220, 75%, 80.8%);--lightest400: hsl(220, 75%, 74.4%);--lightest500: hsl(220, 75%, 68%);--light300: hsl(240, 65%, 76%);--light400: hsl(240, 65%, 68%);--light500: hsl(240, 65%, 60%);--medium300: hsl(260, 55%, 71.2%);--medium400: hsl(260, 55%, 61.6%);--medium500: hsl(260, 55%, 52%);--dark300: hsl(265, 52%, 65.2%);--dark400: hsl(265, 52%, 53.6%);--dark500: hsl(265, 52%, 42%)}.lego-loader__brick--lightest{--brick-left: var(--lightest400);--brick-top: var(--lightest300);fill:var(--lightest500)}.lego-loader__brick--light{--brick-left: var(--light400);--brick-top: var(--light300);fill:var(--light500)}.lego-loader__brick--medium{--brick-left: var(--medium400);--brick-top: var(--medium300);fill:var(--medium500)}.lego-loader__brick--dark{--brick-left: var(--dark400);--brick-top: var(--dark300);fill:var(--dark500)}.lego-loader__brick-group{animation:brick-bounce 6s cubic-bezier(.37,0,.63,1) infinite}.lego-loader__brick-group--1{animation-name:brick-move-1}.lego-loader__brick-group--2{animation-name:brick-move-2}.lego-loader__brick-group--3{animation-name:brick-move-3}.lego-loader__brick-group--4{animation-name:brick-move-4}@keyframes brick-bounce{0%,12%,15%,27%,30%,42%,45%,62%,65%,77%,80%,92%,95%,to{transform:translate(0)}13.5%,28.5%,43.5%,63.5%,78.5%,93.5%{transform:translateY(6px)}}@keyframes brick-move-1{0%,4%,92%,to{transform:translate(0)}12%,19%,77%,84%{transform:translate(17.5px,10px)}27%,34%,62%,69%{transform:translate(35px,20px)}42%,54%{transform:translate(52.5px,30px)}}@keyframes brick-move-2{0%,92%,to{transform:translateY(-47px)}4%{transform:translateY(-87px)}8%{transform:translate(-35px,-87px)}12%,80%{transform:translate(-35px,-67px)}84%{transform:translate(-35px,-107px)}88%{transform:translateY(-67px)}}@keyframes brick-move-3{0%,15%,77%,to{transform:translateY(-47px)}19%{transform:translateY(-87px)}23%{transform:translate(-35px,-87px)}27%,65%{transform:translate(-35px,-67px)}69%{transform:translate(-35px,-107px)}73%{transform:translateY(-67px)}}@keyframes brick-move-4{0%,30%,62%,to{transform:translateY(-47px)}34%{transform:translateY(-87px)}38%{transform:translate(-35px,-87px)}42%,50%{transform:translate(-35px,-67px)}54%{transform:translate(-35px,-107px)}58%{transform:translateY(-67px)}}.rotating-loading-text{display:block;text-align:center;font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:400}.rotating-message{display:inline-block;animation:fadeIn .25s ease-out}.rotating-message:after{content:"…";animation:dotContent .9s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes dotContent{0%,to{content:"…"}33%{content:"."}66%{content:".."}}.top-nav{background:transparent;border-bottom:none;padding:var(--space-4) 0;position:sticky;top:0;z-index:100;box-shadow:none;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:none;backdrop-filter:none}.top-nav.scrolled{background:#fff9;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 1px #0000000d}@supports not (backdrop-filter: blur(12px)){.top-nav.scrolled{background:#fffffff2}}.top-nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.nav-left{display:flex;align-items:center}.nav-left .app-title{margin:0;font-family:Merriweather Sans,sans-serif;font-size:20px;font-style:normal;font-weight:700;color:#000;text-decoration:none;letter-spacing:-.05em}.nav-right,.user-section{display:flex;align-items:center;gap:var(--space-3)}.user-email{font-weight:700;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.guest-label,.tier-label{font-weight:700}.credits-count{color:#585858;font-weight:400}.credits-display{font-size:16px}.loading-auth{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.nav-button{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4);text-decoration:none;border-radius:var(--radius-md);font-weight:700;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:var(--space-2)}.login-with-google.btn{background:linear-gradient(to bottom,#f5f5f5,#e5e5e5);color:#333;border:1px solid #d1d5db;box-shadow:inset 0 1px #fff3;text-shadow:none;padding:8px 20px!important;font-size:14px!important}.login-with-google.btn:hover{background:linear-gradient(to bottom,#e5e5e5,#d5d5d5);border-color:#c4c7ca;box-shadow:inset 0 1px #fff3}.login-with-google.btn:active{background:linear-gradient(to bottom,#d5d5d5,#f5f5f5);border-color:#c4c7ca;box-shadow:inset 0 1px 2px #0003;transform:translateY(1px)}.google-icon{width:18px;height:18px;flex-shrink:0}.logout-icon{width:16px;height:16px;flex-shrink:0;color:#333}.logo-container{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer}.app-logo{height:32px;width:32px;flex-shrink:0;color:var(--color-text-primary)}.app-title{margin:0;font-family:Merriweather,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:24px;font-style:normal;font-weight:700;color:#000;text-decoration:none;letter-spacing:-.05em}.flash-message{padding:var(--space-3) var(--space-4);margin:var(--space-4) var(--space-4) 0;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #0000001a;animation:slideDown .3s ease-out}.flash-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.flash-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.flash-info{background:#e0f2fe;color:#0277bd;border:1px solid #b3e5fc}.flash-text{font-weight:700}.flash-dismiss{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.7;padding:0;margin-left:var(--space-3);line-height:1}.flash-dismiss:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}:root{--color-background: #fafafa;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: #e5e7eb;--color-border-subtle: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-accent: #0f172a;--color-accent-hover: #1e293b;--color-accent-light: #f8fafc;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-results-title: #374151;--color-results-score: #111827;--color-results-secondary: #6b7280;--color-progress-track: #e5e7eb;--color-progress-fill: #0a84ff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-conic-gradient(var(--bg) .0000001%,var(--grey) .000104%) 60% 60%/600% 600%;filter:opacity(10%) contrast(105%);border-radius:inherit}.card-inner{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;overflow:hidden;min-height:200px;background-color:var(--contrast);border-radius:30px;padding:var(--space-16);position:relative;z-index:1}*{margin:0;padding:0;box-sizing:border-box}#root:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 750px 500px at center 115%,#0573ff8c,#0573ff66 40%,#0573ff00),radial-gradient(circle 700px at center 85%,#ff634759 20%,#ff634733,#fdfaf500);pointer-events:none;z-index:-2}#root:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(https://i.ibb.co/Gf40BgJj/Nose.png);background-repeat:repeat;background-size:200px 200px;opacity:.14;pointer-events:none;z-index:-1}body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:linear-gradient(to bottom,#fff,#fff 8%,#fdfaf5 25%,#fdfaf5);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0}main{padding:var(--space-8);min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center}main.generating-state{justify-content:flex-start}h1.homepage-title.homepage-title{font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-size:var(--font-size-3xl);font-weight:700!important;background:linear-gradient(0deg,#272727 29.17%,#565656 75%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:var(--space-4);line-height:var(--line-height-tight)}.homepage-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:400;text-align:center;margin-bottom:var(--space-10)}.container{width:56rem;margin:-32px auto 0;position:relative;--bg: #ffffff;--contrast: #ffffff;--grey: #93a1a1;padding:9px;background-color:var(--bg);border-radius:35px;box-shadow:#32325d33 0 40px 80px -15px,#00000040 0 25px 50px -25px,#0a25404d 0 -2px 5px inset}@media (max-width: 60rem){.container{width:calc(100vw - var(--space-8));max-width:56rem;padding:var(--space-8);margin:var(--space-4)}main{padding:var(--space-4)}.top-nav-container{padding:0 var(--space-3)}.nav-left .app-title{font-size:var(--font-size-lg)}}@media (max-width: 480px){.container{width:calc(100vw - var(--space-4));padding:var(--space-6);margin:var(--space-2)}.homepage-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-3)}.homepage-subtitle{margin-bottom:var(--space-8)}main{padding:var(--space-2)}}h1{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-6);letter-spacing:-.025em}h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-6);letter-spacing:-.025em;text-align:center}h3{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:600;line-height:var(--line-height-normal);color:var(--color-text-primary);margin-bottom:2rem;text-align:center}p{font-family:var(--font-family-body);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);text-align:center}.btn,.btn-secondary,.btn-primary,.btn-primary-blue,.btn-primary-red{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:8px 20px;border-radius:8px;font-family:var(--font-family-body);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);position:relative;user-select:none;-webkit-user-select:none;border:1px solid}.btn:disabled,.btn-secondary:disabled,.btn-primary:disabled,.btn-primary-blue:disabled,.btn-primary-red:disabled{cursor:not-allowed}.btn{box-shadow:none}.btn:hover:not(:disabled){box-shadow:none}.btn:active:not(:disabled){transform:translateY(.5px);box-shadow:none}.btn:focus:not(:disabled){box-shadow:none}.btn:disabled{background:#f5f5f5;color:#9ca3af;border-color:#e5e5e5;box-shadow:none}.btn-secondary{background:linear-gradient(to bottom,#f5f5f5,#e5e5e5);color:#333;border-color:#d1d5db;box-shadow:inset 0 1px #fff3;text-shadow:none}.btn-secondary:hover:not(:disabled){background:linear-gradient(to bottom,#ececec,#ddd);border-color:#d4d7da;box-shadow:inset 0 1px #fff3}.btn-secondary:active:not(:disabled){background:linear-gradient(to bottom,#d5d5d5,#f5f5f5);border-color:#c4c7ca;box-shadow:inset 0 1px 2px #0003;transform:translateY(1px)}.btn-secondary:focus:not(:disabled){box-shadow:inset 0 1px #fff3}.btn-secondary:disabled{background:#f5f5f5;color:#9ca3af;border-color:#e5e5e5;box-shadow:none}.btn-primary{background:linear-gradient(to bottom,#f9f9f9,#e5e5e5);color:#333;border-color:#dcdcdc;box-shadow:none}.btn-primary:hover:not(:disabled){background:linear-gradient(to bottom,#f5f5f5,#dfdfdf);box-shadow:none}.btn-primary:active:not(:disabled){transform:translateY(.5px);box-shadow:none}.btn-primary:focus:not(:disabled){box-shadow:none}.btn-primary:disabled{background:#f5f5f5;color:#9ca3af;border-color:#e5e5e5;box-shadow:none}.btn-primary-blue{background:linear-gradient(to bottom,#4d9eff,#3b82f6);color:#fff;border-color:#2563eb;box-shadow:inset 0 1px #fff3,0 1px 2px #0000001a;text-shadow:none}.btn-primary-blue:hover:not(:disabled){background:linear-gradient(to bottom,#4593f7,#3178f0);border-color:#2a5fd4;box-shadow:inset 0 1px #fff3,0 1px 2px #0000001a}.btn-primary-blue:active:not(:disabled){background:linear-gradient(to bottom,#2563eb,#4d9eff);border-color:#1e40af;box-shadow:inset 0 1px 2px #0003;transform:translateY(1px)}.btn-primary-blue:focus:not(:disabled){box-shadow:inset 0 1px #fff3,0 1px 2px #0000001a}.btn-primary-blue:disabled{background:#e5e7eb;color:#9ca3af;border-color:#e5e7eb;box-shadow:none}.btn-primary-red{background:linear-gradient(to bottom,#ef5844,#dc2626);color:#fff;border-color:#dc262633;box-shadow:inset 0 1px #fff3;text-shadow:none}.btn-primary-red:hover:not(:disabled){background:linear-gradient(to bottom,#dc2626,#b91c1c);border-color:#dc26264d;box-shadow:inset 0 1px #fff3}.btn-primary-red:active:not(:disabled){background:linear-gradient(to bottom,#b91c1c,#ef5844);box-shadow:inset 0 1px 2px #0003;transform:translateY(1px)}.btn-primary-red:focus:not(:disabled){box-shadow:inset 0 1px #fff3}.btn-primary-red:disabled{background:#e5e7eb;color:#9ca3af;border-color:#0000000d;box-shadow:none;text-shadow:none;opacity:.7}.upload-section{margin-bottom:var(--space-8);text-align:center}.upload-zone{position:relative;width:100%;min-height:12rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);border:1px dashed #d1d5db;border-radius:16px;background-color:#fbfcff;transition:all .3s ease}.upload-zone:hover,.upload-zone.drag-over{background-color:#f8f9fe;border-color:#9ca3af}.upload-icon{width:1.25rem;height:1.25rem;margin-bottom:var(--space-4);opacity:.7;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.upload-icon svg{width:1.25rem;height:1.25rem}.upload-text{text-align:center;margin-bottom:var(--space-2);position:relative;z-index:1}.upload-main-text{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.upload-sub-text{font-size:14px;font-weight:400;color:var(--color-text-secondary);margin-bottom:var(--space-3);text-align:center}.upload-zone input[type=file]{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer;z-index:2}.upload-section label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4);font-size:var(--font-size-lg);text-align:center}.error{background-color:var(--color-error-bg);color:var(--color-error);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-error-border);margin-bottom:var(--space-6);font-size:14px;font-weight:700;text-align:center}.quiz-header{position:relative;margin-bottom:2rem}.quiz-header h2{margin:0;text-align:center}.question-counter{position:absolute;top:0;right:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:400;background-color:#f1f5f9;padding:var(--space-2) var(--space-3);border-radius:9999px;white-space:nowrap}.progress-bar-container{width:100%;height:8px;background-color:var(--color-progress-track);border-radius:9999px;margin-top:var(--space-8);margin-bottom:var(--space-8);overflow:hidden;box-shadow:inset 0 1px 2px #0000001a;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(to bottom,#60a5fa,#3b82f6);border-radius:9999px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 0 .5px #3b82f633}.question-section{text-align:center}.question-section h3{text-align:center;font-family:var(--font-family-body);font-size:var(--font-size-lg);font-weight:600}.question-section .options{text-align:left}.quiz-actions{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:8px;text-align:center}form{text-align:center}.button-container,.btn-container{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-6);text-align:center}.options{margin:var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.option{display:flex;align-items:center;gap:12px;padding:12px 20px;border:1px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:background-color .15s ease;background:#fff;position:relative}.option:hover{background:#00000008}.option:focus-within{outline:2px solid #93c5fd;outline-offset:2px}.option input[type=radio]{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.option input[type=radio]:focus-visible{outline:none}.option .radio-visual{position:relative;display:grid;place-items:center;width:20px;height:20px;border:1px solid #9ca3af;border-radius:50%;background:#fff;box-shadow:inset 0 1px #ffffffe6,0 1px 1px #0000000f;flex-shrink:0;transition:border-color .15s ease}.option input[type=radio]:checked~.radio-visual{border-color:#3b82f6}.option .radio-visual .dot{width:10px;height:10px;border-radius:50%;background:#3b82f6;opacity:0;transition:opacity .15s ease}.option input[type=radio]:checked~.radio-visual .dot{opacity:1}.option .option-text{flex:1;color:#0f172a;font-size:16px;line-height:1.5}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{display:flex;align-items:center;justify-content:center;padding:var(--space-16);font-size:14px;font-weight:700;color:var(--color-text-secondary);gap:var(--space-3)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.loader-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);transform:translateY(-24px)}.results-section{text-align:center;padding:var(--space-8) 0;display:flex;flex-direction:column;gap:var(--space-6)}.results-section h2{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-results-score);margin-bottom:var(--space-8)}.results-section h2.score-neutral{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--space-6)}.results-section h2.score-excellent{color:var(--color-success)}.results-section h2.score-good{color:#f59e0b}.results-section h2.score-poor{color:var(--color-error)}.results-section p{margin-bottom:var(--space-10);color:var(--color-results-secondary)}.results-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:0;flex-wrap:wrap;text-align:center;width:100%}.rotating-text{display:inline-block;position:relative;height:1.5em;overflow:hidden;vertical-align:top;min-width:160px;text-align:center}.rotating-word{position:absolute;width:100%;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s ease;opacity:1;transform:translateY(0)}.rotating-word.slide-out{transform:translateY(-100%);opacity:0}.rotating-word.slide-in{transform:translateY(100%);opacity:0}.rotating-word.active{transform:translateY(0);opacity:1}.score-display{text-align:center;margin-bottom:0}.score-ring-container{display:flex;flex-direction:column;align-items:center;gap:32px;margin:0 auto}.score-ring-wrapper{position:relative;width:192px;height:192px}.score-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;color:var(--color-text-primary);line-height:1}.score-ring-number{font-size:48px;text-align:center;font-family:Archivo,sans-serif;font-weight:700;font-style:italic;background:linear-gradient(0deg,#272727 29.17%,#565656 75%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-ring-percent{font-size:16px;position:absolute;bottom:6px;left:100%;margin-left:2px;font-family:Archivo,sans-serif;font-weight:700;font-style:italic}.score-ring-svg circle{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion: reduce){.score-ring-svg circle{transition:none}}.score-ring-details{font-size:16px;color:var(--color-text-secondary);text-align:center;margin:0;line-height:var(--line-height-normal)}@media (max-width: 480px){.score-ring-wrapper,.score-ring-svg{width:160px;height:160px}.score-ring-text{font-size:28px}.score-ring-details{font-size:14px}.score-ring-container{gap:24px}}.review-header{text-align:center;margin-bottom:0;padding-bottom:var(--space-8)}.review-score{font-size:var(--font-size-base);font-weight:400;color:var(--color-text-secondary);margin:24px 0 0}.review-questions{margin-bottom:0}.review-question-flat{position:relative;margin-bottom:var(--space-8);background:#fff;border:1px solid var(--color-border);border-radius:24px;padding:2rem;box-shadow:none}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.question-number{font-size:var(--font-size-base);font-weight:400;color:#6b7280;margin:0}.question-text{font-family:var(--font-family-body);font-size:var(--font-size-lg);font-weight:600;line-height:var(--line-height-normal);color:var(--color-text-primary);margin-bottom:var(--space-6)}.result-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.result-icon.correct{color:#10b981}.result-icon.incorrect{color:#ef4444}.result-icon svg{width:20px;height:20px;stroke-width:2.5}.options-review{margin:var(--space-6) 0 var(--space-4) 0;display:flex;flex-direction:column;gap:var(--space-3)}.option-review{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:all .2s cubic-bezier(.4,0,.2,1)}.option-review.correct-answer{background-color:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.option-review.user-wrong-answer{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.option-review.user-correct-answer{background-color:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.no-answer{padding:var(--space-4) var(--space-5);background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:var(--radius-md);color:#6b7280;font-style:italic;text-align:center;font-size:var(--font-size-base);font-weight:400;margin-top:var(--space-3)}.review-actions{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding-top:var(--space-8);margin:0 calc(-1 * var(--space-16)) calc(-1 * var(--space-16)) calc(-1 * var(--space-16));padding-left:var(--space-16);padding-right:var(--space-16);padding-bottom:var(--space-16);flex-wrap:wrap;text-align:center;width:auto}.error-boundary{text-align:center;padding:var(--space-12);background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);margin:var(--space-6) 0}.error-boundary h1,.error-boundary p{color:var(--color-error);margin-bottom:var(--space-6)}.error-details{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-6) 0;text-align:left}.error-details summary{cursor:pointer;font-weight:600;margin-bottom:var(--space-3);color:var(--color-text-primary)}.error-details pre{background-color:var(--color-accent-light);padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto;white-space:pre-wrap;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.components{display:none}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}*{transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}input[type=radio]{accent-color:#3b82f6}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:420px;width:100%;max-height:90vh;overflow:hidden;border:1px solid var(--color-border)}.modal-header{padding:var(--space-6) var(--space-6) var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-subtle)}.modal-title{margin:0;font-family:var(--font-family-body);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);text-align:center}.modal-body{padding:var(--space-4) var(--space-6) var(--space-6) var(--space-6)}.modal-text{margin:0;color:var(--color-text-secondary);line-height:var(--line-height-relaxed);text-align:center}.modal-actions{display:flex;gap:var(--space-3);padding:0 var(--space-6) var(--space-6) var(--space-6);justify-content:center}.modal-actions button{flex:1;max-width:120px}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-container{animation:modalFadeIn .15s cubic-bezier(.4,0,.2,1)}@media (max-width: 480px){.modal-container{margin:var(--space-4);max-width:none}.modal-actions{flex-direction:column}.modal-actions button{max-width:none}}.notification-container{position:fixed;top:80px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{background:var(--color-surface);border:none;border-radius:8px;padding:var(--space-4);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);box-shadow:0 4px 12px #00000026;pointer-events:auto;cursor:pointer;animation:slideInRight .3s ease-out;transition:all .2s ease;max-width:400px;word-wrap:break-word}.notification:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.notification-error{border-left:4px solid var(--color-danger);background:#fef2f2}.notification-success{border-left:4px solid var(--color-success);background:#f0fdf4}.notification-warning{border-left:4px solid #f59e0b;background:#fefbf0}.notification-info{border-left:4px solid var(--color-primary);background:#eff6ff}.notification-icon{display:flex;align-items:center;margin-right:var(--space-1);flex-shrink:0}.error-icon{width:20px;height:20px;background-color:#dc2626;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;line-height:1}.error-icon span{margin-top:-1px}.notification-message{flex:1;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text)}.notification-close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;flex-shrink:0}.notification-close:hover{background-color:#0000001a;color:var(--color-text)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.recovery-modal{max-width:500px;width:90%}.recovery-info{text-align:left}.quiz-details h4{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:600}.quiz-progress{margin:var(--space-1) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:700}.progress-percent{color:var(--color-accent);font-weight:600;margin-left:var(--space-1)}.quiz-timestamp{margin:var(--space-1) 0 var(--space-4) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.recovery-progress{margin:var(--space-4) 0}.recovery-explanation{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-4)}.recovery-explanation p{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.recovery-explanation p:last-child{margin-bottom:0}.recovery-continue{flex:1}.recovery-discard{flex:0 0 auto;min-width:120px}.app-footer{text-align:center;padding:2rem 1rem;color:#fff;font-size:var(--font-size-sm);margin-top:4rem}.error-boundary{text-align:center;padding:var(--space-6);max-width:600px;margin:0 auto}.error-boundary h1{color:var(--color-error);margin-bottom:var(--space-4)}.error-boundary p{color:var(--color-text-secondary);margin-bottom:var(--space-5);line-height:1.6}.error-details{text-align:left;margin:var(--space-4) 0;padding:var(--space-3);background:var(--color-background-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border)}.error-details summary{cursor:pointer;font-weight:600;margin-bottom:var(--space-2)}.error-details pre{font-size:var(--font-size-xs);white-space:pre-wrap;margin:var(--space-2) 0;color:var(--color-text-tertiary)}.error-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.notification-container{right:16px;left:16px;max-width:none}.notification{max-width:none}.recovery-modal{width:95%;max-width:none}.modal-actions{flex-direction:column}.recovery-discard{min-width:auto}.error-actions{flex-direction:column;align-items:center}.error-actions .btn{min-width:200px}}.user-menu-container{position:relative;display:inline-block}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);font-family:var(--font-family-body)}.user-menu-trigger:hover{background:#00000008;border-color:#0000000f}.user-menu-trigger[aria-expanded=true]{background:#0000000d;border-color:#0000001a}.trigger-avatar{position:relative;width:32px;height:32px;flex-shrink:0}.trigger-profile-picture{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8);box-shadow:0 1px 3px #0000001a}.trigger-profile-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2080ff,#1a6bdb);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:var(--font-size-sm);border:2px solid rgba(255,255,255,.8);box-shadow:0 1px 3px #0000001a}.trigger-user-name{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1}.plan-badge-pro{background:linear-gradient(135deg,#2080ff,#1a6bdb);color:#fff;box-shadow:inset 0 1px #fff3,0 1px 2px #2080ff4d}.plan-badge-free{background:linear-gradient(to bottom,#f5f5f5,#e5e5e5);color:#6b7280;border:1px solid #d1d5db;box-shadow:inset 0 1px #ffffff80}.user-menu-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:300px;background:#fffefc;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-4);z-index:1000;animation:popoverFadeIn .2s cubic-bezier(.4,0,.2,1)}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.popover-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.popover-avatar{position:relative;width:48px;height:48px;flex-shrink:0}.popover-profile-picture{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 4px #0000001a}.popover-profile-placeholder{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2080ff,#1a6bdb);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:var(--font-size-lg);border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 4px #0000001a}.popover-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.popover-display-name{font-size:var(--font-size-base);font-weight:700;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-divider{height:1px;background:var(--color-border-subtle);margin:var(--space-3) 0}.credits-section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1) 0}.credits-header{display:flex;justify-content:space-between;align-items:center}.credits-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.credits-fraction{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:400}.credits-progress-bar{width:100%;height:6px;background:var(--color-progress-track);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a;position:relative}.credits-progress-fill{height:100%;background:linear-gradient(to bottom,#60a5fa,#3b82f6);border-radius:9999px;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 0 .5px #3b82f633}.credits-renewal{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:400}.popover-sign-out{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:linear-gradient(to bottom,#f5f5f5,#e5e5e5);color:#333;border:1px solid #d1d5db;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px #fff3}.popover-sign-out:hover{background:linear-gradient(to bottom,#ececec,#ddd);border-color:#c4c7ca}.popover-sign-out:active{background:linear-gradient(to bottom,#d5d5d5,#f5f5f5);box-shadow:inset 0 1px 2px #0003;transform:translateY(1px)}.sign-out-icon{width:16px;height:16px;flex-shrink:0}@media (max-width: 768px){.user-menu-popover{right:-8px;left:auto;min-width:280px;max-width:calc(100vw - 32px)}.trigger-user-name{display:none}.trigger-avatar{width:28px;height:28px}.trigger-profile-picture,.trigger-profile-placeholder{width:28px;height:28px;font-size:var(--font-size-xs)}}@media (max-width: 480px){.user-menu-popover{right:-4px;min-width:260px}.popover-header{gap:var(--space-2)}.popover-avatar{width:40px;height:40px}.popover-profile-picture,.popover-profile-placeholder{width:40px;height:40px;font-size:var(--font-size-base)}}
