@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap";:root{--color-primary: #003366;--color-primary-dark: #002244;--color-primary-light: #004488;--color-primary-lighter: #E6EEF5;--color-accent: #CE1126;--color-accent-dark: #A00E1E;--color-accent-light: #E64E5F;--color-accent-lighter: #FCE8EA;--color-success: #059669;--color-success-dark: #047857;--color-success-light: #10B981;--color-success-lighter: #D1FAE5;--color-error: #DC2626;--color-error-dark: #B91C1C;--color-error-light: #EF4444;--color-error-lighter: #FEE2E2;--color-warning: #D97706;--color-warning-dark: #B45309;--color-warning-light: #F59E0B;--color-warning-lighter: #FEF3C7;--color-info: #0284C7;--color-info-dark: #0369A1;--color-info-light: #0EA5E9;--color-info-lighter: #E0F2FE;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-black: #000000;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-bg-elevated: var(--color-white);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverse: var(--color-white);--color-border-light: var(--color-gray-200);--color-border-medium: var(--color-gray-300);--color-border-dark: var(--color-gray-400);--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--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;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-semibold: 600;--font-weight-light: 400;--font-weight-medium: 600;--font-weight-bold: 600;--font-weight-extrabold: 600;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--spacing-1: var(--space-1);--spacing-2: var(--space-2);--spacing-3: var(--space-3);--spacing-4: var(--space-4);--spacing-5: var(--space-5);--spacing-6: var(--space-6);--spacing-7: var(--space-7);--spacing-8: var(--space-8);--spacing-10: var(--space-10);--spacing-12: var(--space-12);--spacing-14: var(--space-14);--spacing-16: var(--space-16);--spacing-20: var(--space-20);--spacing-24: var(--space-24);--spacing-32: var(--space-32);--radius-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 35px 60px -15px rgba(0, 0, 0, .3);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-none: none;--shadow-primary: 0 10px 15px -3px rgba(0, 51, 102, .2), 0 4px 6px -4px rgba(0, 51, 102, .1);--shadow-accent: 0 10px 15px -3px rgba(206, 17, 38, .2), 0 4px 6px -4px rgba(206, 17, 38, .1);--shadow-success: 0 10px 15px -3px rgba(5, 150, 105, .2), 0 4px 6px -4px rgba(5, 150, 105, .1);--shadow-error: 0 10px 15px -3px rgba(220, 38, 38, .2), 0 4px 6px -4px rgba(220, 38, 38, .1);--duration-fast: .15s;--duration-base: .2s;--duration-medium: .3s;--duration-slow: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-sharp: cubic-bezier(.4, 0, .6, 1);--ease-smooth: cubic-bezier(.25, .1, .25, 1);--transition-fast: all var(--duration-fast) var(--ease-in-out);--transition-base: all var(--duration-base) var(--ease-in-out);--transition-medium: all var(--duration-medium) var(--ease-in-out);--transition-slow: all var(--duration-slow) var(--ease-smooth);--transition-colors: color var(--duration-base) var(--ease-in-out), background-color var(--duration-base) var(--ease-in-out), border-color var(--duration-base) var(--ease-in-out);--transition-transform: transform var(--duration-base) var(--ease-out);--transition-opacity: opacity var(--duration-base) var(--ease-in-out);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--breakpoint-xs: 375px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-xs: 20rem;--container-sm: 24rem;--container-md: 28rem;--container-lg: 32rem;--container-xl: 36rem;--container-2xl: 42rem;--container-3xl: 48rem;--container-4xl: 56rem;--container-5xl: 64rem;--container-6xl: 72rem;--container-7xl: 80rem;--opacity-disabled: .5;--opacity-hover: .9;--opacity-pressed: .8;--blur-sm: 4px;--blur-base: 8px;--blur-md: 12px;--blur-lg: 16px;--blur-xl: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px;line-height:1.5;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);min-height:100vh}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}button,select{text-transform:none}button,[role=button]{cursor:pointer}button:disabled,[disabled]{cursor:not-allowed;opacity:var(--opacity-disabled)}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}img,video{height:auto}ul,ol{list-style:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-gray-900);margin-bottom:var(--space-4)}h1{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}strong,b{font-weight:var(--font-weight-semibold)}small{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:--color-warning)}.font-normal{font-weight:var(--font-weight-normal)}.font-semibold{font-weight:var(--font-weight-semibold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-align:center;white-space:nowrap;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-colors),var(--transition-transform);-webkit-user-select:none;user-select:none;outline:none;text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:var(--opacity-disabled);pointer-events:none}.btn-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-primary)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-dark);opacity:var(--opacity-pressed)}.btn-accent{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:var(--shadow-accent)}.btn-accent:active:not(:disabled){background-color:var(--color-accent-dark);opacity:var(--opacity-pressed)}.btn-secondary{background-color:var(--color-white);color:var(--color-primary);border-color:var(--color-border-medium)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){background-color:var(--color-gray-100)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-primary)}.btn-outline:active:not(:disabled){opacity:var(--opacity-pressed)}.btn-outline-accent{background-color:transparent;color:var(--color-accent);border-color:var(--color-accent)}.btn-outline-accent:hover:not(:disabled){background-color:var(--color-accent);color:var(--color-white);box-shadow:var(--shadow-accent)}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-lighter);color:var(--color-primary-dark)}.btn-success{background-color:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark);box-shadow:var(--shadow-success)}.btn-error{background-color:var(--color-error);color:var(--color-white);border-color:var(--color-error)}.btn-error:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark);box-shadow:var(--shadow-error)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--font-size-xl);border-radius:var(--radius-xl)}.btn-block{display:flex;width:100%}.btn-icon{padding:var(--space-3);aspect-ratio:1}.btn-icon.btn-sm{padding:var(--space-2)}.btn-icon.btn-lg{padding:var(--space-4)}.card{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin-bottom:var(--space-2)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.card-body{margin-bottom:var(--space-4)}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-3);align-items:center;justify-content:flex-end}.card-interactive{cursor:pointer;transition:var(--transition-base),var(--transition-transform)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.card-interactive:active{transform:translateY(0)}.card-outlined{border:2px solid var(--color-border-medium);box-shadow:var(--shadow-none)}.card-elevated{box-shadow:var(--shadow-lg);border:none}.card-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.card-primary .card-title,.card-primary .card-subtitle,.card-primary p{color:var(--color-white)}.card-accent{border-left:4px solid var(--color-accent)}.card-sm{padding:var(--space-4)}.card-lg{padding:var(--space-8)}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--space-2);letter-spacing:var(--letter-spacing-wide)}.form-label.required:after{content:"*";color:var(--color-error);margin-left:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-white);border:2px solid var(--color-border-medium);border-radius:var(--radius-lg);transition:var(--transition-colors);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-gray-400)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-border-dark)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-lighter)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:var(--opacity-disabled)}.form-input.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid{border-color:var(--color-error)}.form-input.is-invalid:focus,.form-select.is-invalid:focus,.form-textarea.is-invalid:focus{box-shadow:0 0 0 3px var(--color-error-lighter)}.form-input.is-valid,.form-select.is-valid,.form-textarea.is-valid{border-color:var(--color-success)}.form-input.is-valid:focus,.form-select.is-valid:focus,.form-textarea.is-valid:focus{box-shadow:0 0 0 3px var(--color-success-lighter)}.form-input-sm,.form-select-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.form-input-lg,.form-select-lg{padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg)}.form-textarea{min-height:120px;resize:vertical}.form-hint{display:block;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.form-error{display:block;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-error);font-weight:var(--font-weight-medium)}.form-success{display:block;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-medium)}.form-check{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.form-check-input{width:1.25rem;height:1.25rem;margin-top:.125rem;border:2px solid var(--color-border-medium);border-radius:var(--radius-base);cursor:pointer;transition:var(--transition-colors);flex-shrink:0}.form-check-input[type=radio]{border-radius:var(--radius-full)}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-check-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.form-check-label{font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;line-height:var(--line-height-normal)}.container{width:100%;max-width:var(--container-7xl);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.container-3xl{max-width:var(--container-3xl)}.container-4xl{max-width:var(--container-4xl)}.container-5xl{max-width:var(--container-5xl)}.container-6xl{max-width:var(--container-6xl)}@media (min-width: 640px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (min-width: 1024px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-0{padding:var(--space-0)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.border{border:1px solid var(--color-border-light)}.border-2{border:2px solid var(--color-border-medium)}.border-t{border-top:1px solid var(--color-border-light)}.border-b{border-bottom:1px solid var(--color-border-light)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:var(--shadow-none)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.bg-white{background-color:var(--color-white)}.bg-primary{background-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.transition{transition:var(--transition-base)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.badge-primary{background-color:var(--color-primary-lighter);color:var(--color-primary-dark)}.badge-accent{background-color:var(--color-accent-lighter);color:var(--color-accent-dark)}.badge-success{background-color:var(--color-success-lighter);color:var(--color-success-dark)}.badge-error{background-color:var(--color-error-lighter);color:var(--color-error-dark)}.badge-warning{background-color:var(--color-warning-lighter);color:var(--color-warning-dark)}.badge-gray{background-color:var(--color-gray-200);color:var(--color-gray-700)}.alert{padding:var(--space-4);border-radius:var(--radius-lg);border-left:4px solid;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.alert-success{background-color:var(--color-success-lighter);border-color:var(--color-success);color:var(--color-success-dark)}.alert-error{background-color:var(--color-error-lighter);border-color:var(--color-error);color:var(--color-error-dark)}.alert-warning{background-color:var(--color-warning-lighter);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-info{background-color:var(--color-info-lighter);border-color:var(--color-info);color:var(--color-info-dark)}.divider{height:1px;background-color:var(--color-border-light);margin:var(--space-6) 0;border:none}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--color-gray-300);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:2.5rem;height:2.5rem;border-width:4px}.progress{width:100%;height:.5rem;background-color:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width var(--duration-medium) var(--ease-smooth)}.progress-bar-success{background-color:var(--color-success)}.progress-bar-error{background-color:var(--color-error)}@media (min-width: 640px){h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:block{display:block}.md\:hidden{display:none}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width: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}}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}img{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.app{min-height:100vh;display:flex;flex-direction:column}.app__header{background:var(--color-primary);padding:var(--spacing-4) var(--spacing-6);box-shadow:var(--shadow-md)}.app__logo{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;width:fit-content}.app__logo-icon{color:#fff;width:24px;height:24px}.app__logo-text{color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.app__main{flex:1;padding:var(--spacing-4);max-width:900px;margin:0 auto;width:100%}@media (min-width: 640px){.app__main{padding:var(--spacing-6)}}.app__footer{background:var(--color-gray-100);padding:var(--spacing-6);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.app__footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.app__footer-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm);transition:var(--transition-colors)}.app__footer-link:hover{text-decoration:underline;color:var(--color-primary-dark)}.app__footer-separator{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.app__footer-text{margin-top:0;margin-bottom:var(--spacing-2)}.app__footer-disclaimer{margin-top:var(--spacing-2);font-size:var(--font-size-xs)}.landing{text-align:center}.landing__hero{padding:var(--spacing-8) 0 var(--spacing-6)}.landing__badge{display:inline-block;background:var(--color-primary-lighter);color:var(--color-primary);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-4)}.landing__title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-4);line-height:1.2}.landing__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:550px;margin:0 auto var(--spacing-6);line-height:1.65}.landing__intro{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:700px;margin:0 auto var(--spacing-6);line-height:1.7;text-align:center}.landing__hero-chips{display:flex;justify-content:center;gap:var(--spacing-3);flex-wrap:wrap;margin-bottom:var(--spacing-6)}.landing__hero-chip{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--color-gray-50);border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-primary)}.landing__hero-chip-icon{flex-shrink:0;color:var(--color-primary)}.landing__hero-ctas{display:flex;gap:var(--spacing-4);justify-content:center;align-items:stretch;margin:var(--spacing-8) auto var(--spacing-3);flex-wrap:wrap}.landing__hero-ctas .btn{min-height:48px;height:48px;display:inline-flex;align-items:center}.landing__hero-microcopy{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;margin:0}.landing__hero-access-info{font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-semibold);text-align:center;margin:var(--spacing-3) 0 0 0}.landing__disclaimer{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:0}.landing__trust-signals{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--color-border-light)}@media (min-width: 768px){.landing__trust-signals{flex-direction:row;justify-content:center;gap:var(--spacing-8)}}.landing__trust-signal{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center}@media (min-width: 768px){.landing__trust-signal{text-align:left}}.landing__trust-signal-icon{color:var(--color-text-tertiary);flex-shrink:0;opacity:.6}.landing__quality{padding:var(--spacing-10) 0;text-align:center;border-top:1px solid var(--color-border-light)}@media (min-width: 768px){.landing__quality{padding:var(--spacing-12) 0}}.landing__quality-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3);color:var(--color-text-primary)}.landing__quality-description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--spacing-6)}.landing__quality-demo{display:grid;grid-template-columns:1fr;gap:var(--spacing-8);max-width:var(--container-5xl);margin:0 auto;align-items:start}@media (min-width: 1024px){.landing__quality-demo{grid-template-columns:repeat(2,1fr);gap:var(--spacing-6)}}.landing__quality-demo-column{display:flex;flex-direction:column;height:100%}.landing__quality-demo-column>.question-card{flex:1;display:flex;flex-direction:column}.landing__quality-demo-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-4);text-align:center}.landing__quality-examples{display:grid;grid-template-columns:1fr;gap:var(--spacing-6);max-width:900px;margin:0 auto;align-items:stretch}@media (min-width: 768px){.landing__quality-examples{grid-template-columns:repeat(2,1fr)}}.landing__quality-example{display:flex;flex-direction:column;text-align:left}.landing__quality-example-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-3);text-align:center}.landing__quality-screenshot{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-5);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);flex:1;display:flex;flex-direction:column}.screenshot-question{display:flex;flex-direction:column;gap:var(--spacing-4);flex:1}.screenshot-question-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.4}.screenshot-options{display:flex;flex-direction:column;gap:var(--spacing-2)}.screenshot-option{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);font-size:var(--font-size-sm)}.screenshot-option--selected{border-color:var(--color-primary);background:var(--color-primary-lighter)}.screenshot-option-letter{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-gray-100);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);flex-shrink:0}.screenshot-option--selected .screenshot-option-letter{background:var(--color-primary);color:var(--color-white)}.screenshot-feedback{padding:var(--spacing-4);border-radius:var(--radius-md);border:2px solid var(--color-success);background:var(--color-success-lighter);flex:1;display:flex;flex-direction:column;justify-content:center}.screenshot-feedback--correct{border-left:4px solid var(--color-success)}.screenshot-feedback-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);font-size:var(--font-size-base);color:var(--color-success-dark)}.screenshot-feedback-text{margin-bottom:var(--spacing-3);line-height:1.5;font-size:var(--font-size-sm);color:var(--color-text-primary)}.screenshot-feedback-reference{font-size:var(--font-size-xs);margin:0;font-style:italic;color:var(--color-text-secondary)}.landing__authenticity{padding:var(--spacing-10) var(--spacing-6);border-top:1px solid var(--color-border-light);text-align:center}@media (min-width: 768px){.landing__authenticity{padding:var(--spacing-12) var(--spacing-6)}}.landing__authenticity-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3);color:var(--color-text-primary)}.landing__authenticity-description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--spacing-6);line-height:1.5}.landing__authenticity-topics{display:grid;grid-template-columns:1fr;gap:var(--spacing-4);max-width:750px;margin:0 auto var(--spacing-6);text-align:left;background:var(--color-white);padding:var(--spacing-6);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}@media (min-width: 640px){.landing__authenticity-topics{grid-template-columns:repeat(2,1fr);gap:var(--spacing-4) var(--spacing-6)}}.landing__authenticity-topic{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-text-primary)}.landing__authenticity-icon{color:var(--color-success);flex-shrink:0}.landing__authenticity-source{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic;margin:0}.landing__testimonials{max-width:var(--container-5xl);margin:0 auto;padding:var(--spacing-10) var(--spacing-6);border-top:1px solid var(--color-border-light)}@media (min-width: 768px){.landing__testimonials{padding:var(--spacing-12) var(--spacing-6)}}.landing__testimonials-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-8)}.landing__testimonials-carousel{display:flex;align-items:center;gap:var(--spacing-4);max-width:var(--container-3xl);margin:0 auto var(--spacing-6)}.landing__testimonials-track{flex:1;overflow:hidden;position:relative}.landing__testimonials-slider{display:flex;transition:transform var(--duration-medium) var(--ease-out)}.landing__testimonial{min-width:100%;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-8) var(--spacing-6);box-shadow:var(--shadow-sm);text-align:center}.landing__testimonial-quote{font-size:var(--font-size-lg);color:var(--color-text-primary);line-height:1.6;margin-bottom:var(--spacing-4);font-style:italic}.landing__testimonial-author{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);margin:0}.landing__testimonials-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-border-light);background:var(--color-white);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-base);flex-shrink:0;color:var(--color-text-primary)}.landing__testimonials-arrow:hover{background:var(--color-gray-50);border-color:var(--color-primary);color:var(--color-primary)}.landing__testimonials-arrow:active{transform:scale(.95)}.landing__testimonials-dots{display:flex;justify-content:center;gap:var(--spacing-2)}.landing__testimonials-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-gray-300);border:none;cursor:pointer;transition:var(--transition-base);padding:0}.landing__testimonials-dot:hover{background:var(--color-gray-400)}.landing__testimonials-dot--active{background:var(--color-primary);width:24px}.landing__faq{max-width:var(--container-3xl);margin:0 auto;padding:var(--spacing-10) var(--spacing-6);border-top:1px solid var(--color-border-light)}@media (min-width: 768px){.landing__faq{padding:var(--spacing-12) var(--spacing-6)}}.landing__faq-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--spacing-12)}.landing__faq-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.landing__faq-item{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-white)}.landing__faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-5);background:var(--color-white);border:none;text-align:left;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.landing__faq-question:hover,.landing__faq-question--open{background:var(--color-gray-50)}.landing__faq-icon{flex-shrink:0;color:var(--color-text-secondary);transition:var(--transition-transform)}.landing__faq-question--open .landing__faq-icon{transform:rotate(180deg)}.landing__faq-answer{padding:var(--spacing-3) var(--spacing-5) var(--spacing-5);animation:fadeIn var(--duration-base) var(--ease-out)}.landing__faq-answer p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.landing__actions{display:flex;flex-direction:column;gap:var(--spacing-3);max-width:320px;margin:0 auto var(--spacing-8)}.landing__code-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:var(--font-size-sm)}.landing__pricing{margin:var(--spacing-8) 0;display:flex;justify-content:center}.landing__pricing-card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-8);box-shadow:var(--shadow-lg);border:2px solid var(--color-primary);max-width:500px;width:100%}.landing__pricing-header{text-align:center;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--color-border-light)}.landing__pricing-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.landing__pricing-price{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-2)}.landing__pricing-amount{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.landing__pricing-period{font-size:var(--font-size-base);color:var(--color-text-secondary)}.landing__pricing-subtext{margin-top:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.landing__pricing-features{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.landing__pricing-feature{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-text-primary)}.landing__pricing-icon{color:var(--color-success);flex-shrink:0}.landing__pricing-button{width:100%;margin-bottom:var(--spacing-4)}.landing__pricing-terms{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--color-border-light)}.landing__pricing-info{display:flex;flex-direction:column;gap:var(--spacing-3)}.landing__pricing-info-item{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin:0}.landing__pricing-info-item strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.landing__access-info{font-size:var(--font-size-sm);color:var(--color-success);margin-top:var(--spacing-2)}.landing__sources{padding:var(--spacing-10) var(--spacing-6);border-top:1px solid var(--color-border-light);background:var(--color-gray-50)}@media (min-width: 768px){.landing__sources{padding:var(--spacing-12) var(--spacing-6)}}.landing__sources-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);text-align:center;margin-bottom:var(--spacing-6);color:var(--color-text-primary)}.landing__sources-tiles{display:grid;grid-template-columns:1fr;gap:var(--spacing-4);max-width:900px;margin:0 auto var(--spacing-8)}@media (min-width: 768px){.landing__sources-tiles{grid-template-columns:repeat(3,1fr)}}.landing__sources-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-5);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.landing__sources-tile:hover{box-shadow:var(--shadow-md)}.landing__sources-tile-icon{color:var(--color-primary);margin-bottom:var(--spacing-3);flex-shrink:0}.landing__sources-tile-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0}.landing__sources-tile-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.landing__sources-callout{max-width:900px;margin:0 auto;padding:var(--spacing-6);background:var(--color-white);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.landing__sources-callout-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-5) 0;text-align:left}.landing__sources-callout-rows{display:flex;flex-direction:column;gap:var(--spacing-4)}.landing__sources-callout-row{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0;padding-left:var(--spacing-3);border-left:2px solid var(--color-border-light);text-align:left}.landing__features{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-6) var(--spacing-4);box-shadow:var(--shadow-sm);margin-top:var(--spacing-6)}@media (min-width: 640px){.landing__features{padding:var(--spacing-8)}}.landing__features-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-6)}.landing__features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-6)}.landing__feature{text-align:center}.landing__feature-icon{width:32px;height:32px;margin:0 auto var(--spacing-3);color:var(--color-primary);stroke-width:1.5}.landing__feature h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--color-text-primary)}.landing__feature p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.demo__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.demo__back{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm)}.demo__progress{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.demo__badge{background:var(--color-accent);color:#fff;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.demo__content{margin-bottom:var(--spacing-6)}.demo__actions{text-align:center;margin-top:var(--spacing-6)}.demo-complete{display:flex;justify-content:center;align-items:center;min-height:60vh}.demo-complete__card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-8);box-shadow:var(--shadow-lg);text-align:center;max-width:400px}.demo-complete__title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-2)}.demo-complete__score{font-size:var(--font-size-lg);margin-bottom:var(--spacing-4)}.demo-complete__message{color:var(--color-text-secondary);margin-bottom:var(--spacing-6)}.demo-complete__actions{display:flex;flex-direction:column;gap:var(--spacing-3)}.preview-paywall{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:var(--spacing-6) 0}.preview-paywall__card{background:#fff;border-radius:var(--radius-xl);padding:var(--spacing-8);box-shadow:var(--shadow-lg);text-align:center;max-width:550px;width:100%}.preview-paywall__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.preview-paywall__subhead{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-8);max-width:480px;margin-left:auto;margin-right:auto}.preview-paywall__benefits{display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-8);text-align:left}.preview-paywall__benefit{display:flex;align-items:flex-start;gap:var(--spacing-3);font-size:var(--font-size-base);color:var(--color-text-primary)}.preview-paywall__benefit-icon{color:var(--color-success);flex-shrink:0;margin-top:2px}.preview-paywall__locked{background:var(--color-gray-50);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-8)}.preview-paywall__locked-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-4);text-align:center}.preview-paywall__locked-list{display:grid;grid-template-columns:1fr;gap:var(--spacing-3);text-align:left}@media (min-width: 640px){.preview-paywall__locked-list{grid-template-columns:repeat(2,1fr);gap:var(--spacing-3) var(--spacing-4)}}.preview-paywall__locked-item{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.preview-paywall__locked-icon{color:var(--color-gray-400);flex-shrink:0}.preview-paywall__actions{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.preview-paywall__microcopy{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;text-align:center}.preview-paywall__code-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:var(--font-size-sm);padding:0}.preview-paywall__code-link:hover{color:var(--color-primary-dark)}.preview-paywall__back{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:0;transition:var(--transition-colors)}.preview-paywall__back:hover{color:var(--color-text-primary)}.quiz__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--spacing-4)}.quiz__sticky-header{position:sticky;top:0;background:var(--color-bg-secondary);padding:var(--spacing-6) var(--spacing-4);margin-bottom:var(--spacing-6);z-index:var(--z-sticky);box-shadow:0 2px 4px #0000000d}.quiz__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.quiz__exit{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.quiz__exit:hover{color:var(--color-error)}.quiz__content{margin:var(--spacing-6) 0}.quiz__navigation{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-6);gap:var(--spacing-4)}.quiz__nav-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.quiz__question-nav{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-6);justify-content:center}.quiz__question-dot{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-300);background:#fff;cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast)}.quiz__question-dot:hover{border-color:var(--color-primary)}.quiz__question-dot--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.quiz__question-dot--answered{background:var(--color-primary-light);border-color:var(--color-primary)}.question-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-md)}.question-card__image{margin-bottom:var(--spacing-4);border-radius:var(--radius-md);overflow:hidden}.question-card__image img{width:100%;height:auto}.question-card__question{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-6);line-height:1.4}.question-card__options{display:flex;flex-direction:column;gap:var(--spacing-3)}.question-card__option{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);background:#fff;cursor:pointer;transition:all var(--transition-fast),opacity .2s ease-in-out;text-align:left;width:100%}.question-card__option:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-lighter);opacity:.95}.question-card__option--selected{border-color:var(--color-primary);background:var(--color-primary-light)}.question-card__option--correct{border-color:var(--color-success);border-width:3px;border-style:solid;background:var(--color-success-lighter)}.question-card__option--incorrect{border-color:var(--color-error);border-width:3px;border-style:dashed;background:var(--color-error-lighter)}.question-card__option-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-gray-100);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.question-card__option--selected .question-card__option-letter{background:var(--color-primary);color:#fff}.question-card__option-text{flex:1}.question-card__option-indicator{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.question-card__option-icon{flex-shrink:0}.question-card__option-icon--correct{color:var(--color-success-dark)}.question-card__option-icon--incorrect{color:var(--color-error-dark)}.question-card__option-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.question-card__option--correct .question-card__option-label{color:var(--color-success-dark)}.question-card__option--incorrect .question-card__option-label{color:var(--color-error-dark)}.question-card__feedback{margin-top:var(--spacing-6);padding:var(--spacing-4);border-radius:var(--radius-md);color:var(--color-white)}.question-card__feedback--correct{background:var(--color-success);border-left:4px solid var(--color-success-dark)}.question-card__feedback--incorrect{background:var(--color-error);border-left:4px solid var(--color-error-dark)}.question-card__feedback-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--color-white)}.question-card__explanation{color:var(--color-white);margin-bottom:var(--spacing-2);opacity:.95}.question-card__reference{font-size:var(--font-size-sm);color:var(--color-white);opacity:.9}.timer{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--color-gray-100);border-radius:var(--radius-md);font-weight:var(--font-weight-medium)}.timer__icon{color:var(--color-text-secondary)}.timer__value{font-variant-numeric:tabular-nums}.timer--warning{background:var(--color-warning-light, #fef3c7);color:var(--color-warning-dark, #92400e)}.timer--warning .timer__icon{color:var(--color-warning)}.quiz__sticky-header .progress{height:auto;overflow:visible;background-color:transparent;margin-bottom:0}.progress__info{display:flex;justify-content:space-between;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}.progress__text{color:var(--color-text-secondary)}.progress__percentage{font-weight:var(--font-weight-medium);color:var(--color-primary)}.progress__bar{height:8px;background:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden}.progress__fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.results{display:flex;justify-content:center;padding:var(--spacing-8) 0}.results__card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-8);box-shadow:var(--shadow-lg);text-align:center;max-width:450px;width:100%}.results__card--pass{border-top:4px solid var(--color-success)}.results__card--fail{border-top:4px solid var(--color-error)}.results__icon{font-size:64px;margin-bottom:var(--spacing-4)}.results__title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-2)}.results__status{color:var(--color-text-secondary);margin-bottom:var(--spacing-6)}.results__score{margin-bottom:var(--spacing-6)}.results__score-circle{width:120px;height:120px;border-radius:var(--radius-full);background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-4)}.results__card--pass .results__score-circle{background:var(--color-success-light, #d1fae5)}.results__card--fail .results__score-circle{background:var(--color-error-light, #fee2e2)}.results__score-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.results__card--pass .results__score-value{color:var(--color-success)}.results__card--fail .results__score-value{color:var(--color-error)}.results__score-detail{font-size:var(--font-size-lg);margin-bottom:var(--spacing-1)}.results__pass-mark{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.results__breakdown{display:flex;justify-content:center;gap:var(--spacing-8);margin-bottom:var(--spacing-6)}.results__breakdown-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.results__breakdown-icon{font-size:var(--font-size-xl)}.results__breakdown-item--correct .results__breakdown-icon{color:var(--color-success)}.results__breakdown-item--incorrect .results__breakdown-icon{color:var(--color-error)}.results__breakdown-count{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.results__breakdown-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.results__actions{display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.results__actions .btn{flex:1}.results__home-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:var(--font-size-sm)}.review__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.review__back{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm)}.review__progress{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.review__status{margin-bottom:var(--spacing-4)}.review__badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.review__badge--correct{background:var(--color-success-light, #d1fae5);color:var(--color-success)}.review__badge--incorrect{background:var(--color-error-light, #fee2e2);color:var(--color-error)}.review__navigation{display:flex;justify-content:space-between;margin-top:var(--spacing-6)}.review__question-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-6);justify-content:center}.review__question-item{width:32px;height:32px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast)}.review__question-item--correct{background:var(--color-success-light, #d1fae5);color:var(--color-success)}.review__question-item--incorrect{background:var(--color-error-light, #fee2e2);color:var(--color-error)}.review__question-item--active{outline:2px solid var(--color-primary);outline-offset:2px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);z-index:var(--z-modal)}.modal{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-6);max-width:400px;width:100%;position:relative;box-shadow:var(--shadow-xl)}.modal__close{position:absolute;top:var(--spacing-4);right:var(--spacing-4);background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-tertiary);cursor:pointer;line-height:1}.modal__close:hover{color:var(--color-text-primary)}.modal__title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-2)}.modal__description{color:var(--color-text-secondary);margin-bottom:var(--spacing-6)}.modal__form{display:flex;flex-direction:column;gap:var(--spacing-4)}.modal__error{background:var(--color-error-light, #fee2e2);color:var(--color-error);padding:var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.modal__actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2)}.modal__actions .btn{flex:1}.spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-6);background:var(--color-bg-secondary)}.success__container{max-width:600px;width:100%;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-8);box-shadow:var(--shadow-lg);text-align:center}.success__icon-wrapper{display:flex;justify-content:center;margin-bottom:var(--spacing-6)}.success__icon{color:var(--color-success)}.success__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.success__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-8)}.success__instructions{display:flex;flex-direction:column;gap:var(--spacing-5);margin-bottom:var(--spacing-8);text-align:left}.success__step{display:flex;gap:var(--spacing-4);align-items:flex-start}.success__step-number{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.success__step-content{flex:1}.success__step-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.success__step-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.success__actions{display:flex;flex-direction:column;gap:var(--spacing-3);align-items:center;margin-bottom:var(--spacing-6)}.success__back-link{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:underline;cursor:pointer;transition:var(--transition-colors)}.success__back-link:hover{color:var(--color-text-primary)}.success__help{border-top:1px solid var(--color-border-light);padding-top:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-3)}.success__help-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;text-align:left}@media (min-width: 768px){.success__container{padding:var(--spacing-12)}.success__title{font-size:var(--font-size-4xl)}}.success__email-form{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.success__email-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2);text-align:center}.success__email-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-4);text-align:center}.success__email-form form{display:flex;flex-direction:column;gap:var(--spacing-3)}.success__email-input{width:100%;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:var(--transition-colors)}.success__email-input:focus{outline:none;border-color:var(--color-primary)}.success__error{color:var(--color-error);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-2)}.success__code-display{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);padding:var(--spacing-8);margin-bottom:var(--spacing-8);text-align:center}.success__code-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-white);margin-bottom:var(--spacing-4)}.success__code-box{background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-4);margin-bottom:var(--spacing-3)}.success__code{font-family:var(--font-family-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:2px;display:block}.success__code-description{color:var(--color-white);font-size:var(--font-size-sm);margin:0;opacity:.9}@media (min-width: 768px){.success__code{font-size:var(--font-size-3xl)}}.landing__footer{background:var(--color-gray-50);border-top:1px solid var(--color-border-light);margin-top:var(--spacing-12);padding:var(--spacing-10) var(--spacing-4) var(--spacing-6)}.landing__footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:var(--spacing-8);margin-bottom:var(--spacing-8)}@media (min-width: 768px){.landing__footer-content{grid-template-columns:repeat(3,1fr);gap:var(--spacing-10)}}.landing__footer-section{text-align:center}@media (min-width: 768px){.landing__footer-section{text-align:left}}.landing__footer-heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-3)}.landing__footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.landing__footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color .2s ease}.landing__footer-link:hover{color:var(--color-primary);text-decoration:underline}.landing__footer-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.landing__footer-bottom{max-width:1200px;margin:0 auto;padding-top:var(--spacing-6);border-top:1px solid var(--color-border-light);text-align:center}.landing__footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}
