@use "tailwindcss";:root{--font-family-base: system-ui, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;--font-family-heading: system-ui, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;--font-family-mono: ui-monospace, Cascadia Code, Source Code Pro, menlo, consolas, 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: 2rem;--font-size-4xl: 2.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--sidebar-width: 400px;--content-max-width: 720px;--header-height: 75px;--color-primary: #06c;--color-primary-hover: #0052a3;--color-secondary: #6c757d;--color-bg: #fff;--color-bg-secondary: #f8f9fa;--color-text: #1a1a1a;--color-text-muted: #6c757d;--color-border: #dee2e6;--color-success: #28a745;--color-warning: #ffc107;--color-error: #dc3545;--metric-color-0: #1d4ed8;--metric-color-1: #047857;--metric-color-2: #b45309;--metric-color-3: #7c3aed;--metric-color-4: #0e7490;--metric-color-5: #be123c;--metric-color-6: #4338ca;--metric-color-7: #0f766e;--metric-color-8: #c2410c;--metric-color-9: #a21caf}[data-theme=dark],.dark-mode{--color-primary: #4da6ff;--color-primary-hover: #80bfff;--color-secondary: #adb5bd;--color-bg: #111827;--color-bg-secondary: #1f2937;--color-text: #f9fafb;--color-text-muted: #9ca3af;--color-border: #374151;--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--metric-color-0: #60a5fa;--metric-color-1: #34d399;--metric-color-2: #fbbf24;--metric-color-3: #c4b5fd;--metric-color-4: #22d3ee;--metric-color-5: #fb7185;--metric-color-6: #a5b4fc;--metric-color-7: #5eead4;--metric-color-8: #fdba74;--metric-color-9: #f0abfc}.app-layout{display:flex;min-height:100vh;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:flex-end;padding:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-lg);background-color:var(--color-bg);border-bottom:1px solid var(--color-border);min-height:var(--header-height);position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--spacing-md)}.header-home-link{text-decoration:none;color:inherit}.header-home-link:visited{color:inherit}.header-home-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.header-branding{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.header-branding-center{justify-content:center;margin:0 auto}.header-logo{height:50px;width:auto;display:block;object-fit:contain}.header-logo-light,.header-logo-dark{display:none}:root[data-theme=light] .header-logo-light{display:block}:root[data-theme=dark] .header-logo-dark{display:block}.header-title{font-weight:var(--font-weight-semibold);color:var(--color-text);margin-left:var(--spacing-lg)}.header-actions{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}@media(max-width:767px){.header-branding{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.header-title{display:none}.header-logo{order:1;height:36px;margin:auto}}.app-sidebar{width:100%;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md);position:relative;transition:width var(--transition-normal),padding var(--transition-normal);overflow-y:auto;scrollbar-color:var(--color-border) transparent}@media(min-width:768px){.app-sidebar{width:var(--sidebar-width);height:calc(100vh - var(--header-height));border-bottom:none;border-right:1px solid var(--color-border);position:sticky;top:0;flex-shrink:0;padding:var(--spacing-lg)}}@media(min-width:768px){.app-sidebar.collapsed{width:56px;padding:var(--spacing-sm)}}.app-sidebar.collapsed .sidebar-content{opacity:0;visibility:hidden;height:0;margin:0;padding:0;overflow:hidden}.app-sidebar.collapsed .sidebar-compact{display:flex}.app-sidebar.collapsed .sidebar-toggle-icon{transform:none}.app-sidebar .sidebar-compact{display:none}.app-sidebar .app-sidebar.collapsed .sidebar-compact{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0;width:100%}.app-sidebar .app-sidebar .sidebar-compact .compact-list{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:center;width:100%}.app-sidebar .compact-list .compact-cat{width:40px;min-height:40px;border-radius:6px;display:inline-flex;align-items:center;justify-content:flex-start;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);flex-direction:column;margin-bottom:5px;gap:2px;padding:4px 0;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.app-sidebar .compact-list .compact-cat:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-primary);color:var(--color-primary)}.app-sidebar .compact-list .compact-count{font-size:10px;line-height:1;color:inherit}.app-sidebar .compact-list .compact-cat.completed{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.app-sidebar .compact-list .compact-cat.active{border-color:var(--color-primary);color:var(--color-primary)}.sidebar-content{transition:opacity var(--transition-normal),visibility var(--transition-normal)}.sidebar-toggle{display:flex;position:sticky;float:right;margin:-12px -12px 5px auto;width:28px;height:28px;border-radius:var(--radius-sm);background-color:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--color-text-muted);transition:all var(--transition-fast);z-index:10}@media(min-width:768px){.sidebar-toggle{margin-right:-20px;margin-top:-20px}}.sidebar-toggle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.collapsed .sidebar-toggle{transform:none;float:none;margin:0 0 5px;height:40px;width:40px}.sidebar-toggle-icon{transition:transform var(--transition-normal)}@media(min-width:768px){.app-layout:not(.has-header){flex-direction:row;align-items:stretch}.app-layout.centered-layout{flex-direction:column}.app-layout.has-header{display:grid;grid-template:"header header" var(--header-height) "sidebar main" 1fr/var(--sidebar-width) 1fr;min-height:100vh}.app-layout.has-header.no-sidebar{grid-template-columns:1fr;grid-template-areas:"header" "main"}.app-layout.has-header.sidebar-collapsed{grid-template-columns:56px 1fr}.app-layout.has-header .app-header{grid-area:header;position:sticky;top:0;z-index:100}.app-layout.has-header .app-sidebar{grid-area:sidebar;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));width:var(--sidebar-width);padding:var(--spacing-lg);border-right:1px solid var(--color-border)}.app-layout.has-header .app-sidebar.collapsed{width:56px;padding:var(--spacing-sm)}.app-layout.has-header .app-main{grid-area:main}.app-layout.has-header.no-sidebar .app-main{grid-column:1/-1}}@media(max-width:767px){.app-sidebar.collapsed{padding:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.app-sidebar.collapsed .sidebar-content{display:none}.app-sidebar.collapsed .sidebar-compact{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;width:auto;flex:1;justify-content:center}.app-sidebar.collapsed .sidebar-compact .compact-list{flex-flow:row wrap;align-items:center;width:auto;justify-content:flex-start}.app-sidebar.collapsed .sidebar-toggle{margin-left:auto;order:2}.app-sidebar.collapsed .sidebar-compact{order:1}}.app-main{flex:1;padding:var(--spacing-lg);display:flex;flex-direction:column}@media(min-width:768px){.app-main{padding:var(--spacing-xl) var(--spacing-2xl)}}.report-view .report-tabs{width:100%}.app-content{max-width:var(--content-max-width);width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.app-footer{padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);max-width:var(--content-max-width);width:100%;margin:0 auto;flex-wrap:wrap}@media(max-width:500px){.app-footer{flex-direction:column;text-align:center;gap:var(--spacing-sm)}}.centered-footer{border-top:1px solid var(--color-border);margin-top:var(--spacing-xl)}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);width:100%;flex-wrap:wrap}@media(max-width:500px){.footer-content{flex-direction:column;text-align:center;gap:var(--spacing-sm)}}.footer-branding{font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer-links{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}@media(max-width:500px){.footer-links{justify-content:center;gap:var(--spacing-sm)}}.footer-link{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none}.footer-link:hover{color:var(--color-primary);text-decoration:underline}.footer-separator{color:var(--color-border)}@media(max-width:500px){.footer-separator{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-fast);min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-secondary)}.btn-text{background-color:transparent;color:var(--color-primary);border-color:transparent;padding:var(--spacing-xs) var(--spacing-sm)}.btn-text:hover:not(:disabled){text-decoration:underline}.btn-icon{margin-right:var(--spacing-xs)}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.progress-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs)}.progress-item{display:flex;flex-direction:column;gap:0}.progress-category-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;width:100%;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.progress-category-btn:hover{background-color:var(--color-bg);transform:translate(2px)}.active .progress-category-btn{background-color:var(--color-bg);color:var(--color-text);font-weight:500}.completed .progress-category-btn{color:var(--color-success)}.progress-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--font-size-xs);background-color:var(--color-border);color:var(--color-text-muted);flex-shrink:0}.active .progress-icon{background-color:var(--color-primary);color:#fff}.completed .progress-icon{background-color:var(--color-success);color:#fff}.progress-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-count{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.progress-expand{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;width:16px;text-align:center}.progress-sidebar{display:flex;flex-direction:column;gap:var(--spacing-md)}.sidebar-header{display:flex;align-items:center;justify-content:flex-end}.question-list{list-style:none;margin:0;padding:0 var(--spacing-md) var(--spacing-sm) var(--spacing-xl);display:flex;flex-direction:column;gap:2px}.question-nav-item{display:flex}.question-nav-btn{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:4px var(--spacing-sm);border-radius:var(--radius-sm);background:transparent;border:none;text-align:left;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);line-height:1.2;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.question-nav-btn:hover{background-color:var(--color-bg);color:var(--color-text);transform:translate(2px)}.answered .question-nav-btn{color:var(--color-text)}.current .question-nav-btn{background-color:var(--color-bg);color:var(--color-primary)}.question-num{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--color-border);color:var(--color-text-muted);font-size:10px;flex-shrink:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.answered .question-num{background-color:var(--color-success);color:var(--color-bg)}.current .question-num{background-color:var(--color-primary);color:var(--color-bg)}.question-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-status{font-size:10px;color:var(--color-text-muted);flex-shrink:0}.answered .question-status{color:var(--color-success)}.nav-footer{padding:var(--spacing-md) 0;background-color:var(--color-bg);border-top:1px solid var(--color-border);margin-top:auto}.nav-actions{display:flex;gap:var(--spacing-sm);align-items:center;width:100%;justify-content:space-between}.nav-spacer{flex:0 0 auto}.nav-forward-actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav-actions .nav-back-btn{flex-shrink:0}@media(max-width:500px){.nav-actions{flex-direction:column;gap:var(--spacing-sm)}.nav-actions .nav-back-btn,.nav-forward-actions{width:100%}.nav-forward-actions{justify-content:stretch}.nav-forward-actions .btn{flex:1}}.answer-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none}.answer-item{display:block}.answer-option{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);width:100%;text-align:left;box-shadow:var(--shadow-sm)}.answer-option:hover{border-color:var(--color-primary);background-color:var(--color-bg-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.answer-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.answer-option[aria-checked=true],.answer-option.selected{border-color:var(--color-primary);background-color:#0066cc0d;box-shadow:0 0 0 3px #0066cc14}.answer-radio{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-full);flex-shrink:0;margin-top:2px;position:relative}.answer-option[aria-checked=true] .answer-radio,.answer-option.selected .answer-radio{border-color:var(--color-primary)}.answer-option[aria-checked=true] .answer-radio:after,.answer-option.selected .answer-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:var(--color-primary);border-radius:var(--radius-full)}.answer-text{flex:1;font-size:var(--font-size-base);line-height:1.5;color:var(--color-text)}.error-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:var(--spacing-xl)}.error-icon{font-size:3rem;color:var(--color-error);margin-bottom:var(--spacing-lg)}.error-title{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm)}.error-message{color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.language-select{display:flex;align-items:center;gap:var(--spacing-sm)}.language-select-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.language-select-dropdown{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;color-scheme:light dark}.language-select-dropdown:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.language-select-dropdown option{background-color:var(--color-bg);color:var(--color-text)}.loading{display:flex;align-items:center;justify-content:center;min-height:50vh}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.burger-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);transition:all var(--transition-fast)}.burger-menu-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.burger-menu-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.burger-menu-btn[aria-expanded=true]{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.burger-icon{display:flex;flex-direction:column;gap:4px;width:20px}.burger-icon span{display:block;height:2px;background-color:currentcolor;border-radius:1px;transition:transform var(--transition-fast),opacity var(--transition-fast)}[aria-expanded=true] .burger-icon span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}[aria-expanded=true] .burger-icon span:nth-child(2){opacity:0}[aria-expanded=true] .burger-icon span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.burger-menu-panel{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:280px;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast);z-index:200}.burger-menu-panel.open{opacity:1;visibility:visible;transform:translateY(0)}.burger-menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.burger-menu-title{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.burger-menu-section{padding:var(--spacing-md) var(--spacing-lg)}.burger-menu-section:not(:last-child){border-bottom:1px solid var(--color-border)}.burger-menu-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.appearance-toggle{display:flex;gap:var(--spacing-xs);background-color:var(--color-bg-secondary);padding:var(--spacing-xs);border-radius:var(--radius-md)}.appearance-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);transition:all var(--transition-fast)}.appearance-btn:hover{color:var(--color-text);background-color:var(--color-bg)}.appearance-btn.active{background-color:var(--color-bg);color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.appearance-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.burger-menu-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:var(--spacing-xl);color-scheme:light dark}.burger-menu-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.burger-menu-select option{background-color:var(--color-bg);color:var(--color-text)}.asset-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#fef3c7;border-bottom:1px solid #f59e0b;color:#92400e;font-size:var(--font-size-sm)}[data-theme=dark] .asset-warning{background-color:#451a03;border-color:#92400e;color:#fcd34d}.asset-warning-icon{font-size:1.25rem}.asset-warning-content{flex:1;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.asset-warning-content strong{font-weight:600}.asset-warning-dismiss{padding:var(--spacing-xs);background:transparent;border:none;font-size:1.25rem;line-height:1;cursor:pointer;opacity:.7}.asset-warning-dismiss:hover{opacity:1}@media(prefers-reduced-motion:reduce){.intro-view,.category-intro-view,.question-view,.summary-view,.report-view,.card,.answer-option,.progress-category-btn,.question-nav-btn,.compact-list .compact-cat,.score-chip,.recommendation-item{animation:none!important;transition:none!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);background-color:var(--color-bg, #fff);color:var(--color-text, #1a1a1a);min-height:100vh}#app{min-height:100vh}a{color:var(--color-primary, #06c);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}
