:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base: 20px;--font-size-sm: .85em;--font-size-lg: 1.25em;--font-size-xl: 1.5em;--font-size-2xl: 1.875em;--line-height-body: 1.6;--line-height-heading: 1.3;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--color-text: #1A1A2E;--color-text-light: #4A4A6A;--color-bg: #DBEAFE;--color-bg-card: #FFFFFF;--color-primary: #1E40AF;--color-primary-hover: #1E3A8A;--color-primary-text: #FFFFFF;--color-secondary: #059669;--color-secondary-hover: #047857;--color-accent: #D97706;--color-danger: #DC2626;--color-border: #D1D5DB;--color-border-light: #E5E7EB;--color-focus: #2563EB;--color-shadow: rgba(0, 0, 0, .1);--color-smartphones: #2563EB;--color-computers: #7C3AED;--color-tablets: #0891B2;--color-smarttvs: #DC2626;--color-videocalling: #059669;--color-email: #D97706;--color-socialmedia: #DB2777;--color-onlinesafety: #065F46;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--max-width: 800px;--header-height: 64px;--border-radius: 12px;--border-radius-sm: 8px;--min-touch-target: 48px;--button-height: 56px;--transition-fast: .15s ease;--transition-normal: .25s ease;--focus-outline: 3px solid var(--color-focus);--focus-offset: 2px}[data-high-contrast=true]{--color-text: #000000;--color-text-light: #1A1A1A;--color-bg: #FFFFFF;--color-bg-card: #FFFFFF;--color-primary: #0000CC;--color-primary-hover: #000099;--color-primary-text: #FFFFFF;--color-secondary: #006600;--color-accent: #CC6600;--color-danger: #CC0000;--color-border: #000000;--color-border-light: #333333;--color-focus: #0000FF;--color-shadow: rgba(0, 0, 0, .3)}[data-high-contrast=true] a{text-decoration:underline;text-decoration-thickness:2px}[data-high-contrast=true] button,[data-high-contrast=true] [role=button]{border:2px solid currentColor}*:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:12px 24px;background:var(--color-primary);color:var(--color-primary-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);border-radius:var(--border-radius-sm);text-decoration:none}.skip-link:focus{top:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.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}.card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--border-radius);padding:var(--space-lg);box-shadow:0 1px 3px var(--color-shadow);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card:hover{box-shadow:0 4px 12px var(--color-shadow)}.card--interactive{cursor:pointer;text-decoration:none;color:inherit;display:block}.card--interactive:hover{transform:translateY(-2px)}.card--interactive:active{transform:translateY(0)}.grid{display:grid;gap:var(--space-lg)}.grid--categories{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.grid--topics{grid-template-columns:1fr}@media(min-width:500px){.grid--categories{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.page{padding:var(--space-lg) 0;min-height:calc(100vh - var(--header-height) - 80px)}.page__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-text);margin-bottom:var(--space-lg)}.page__subtitle{font-size:var(--font-size-lg);color:var(--color-text-light);margin-bottom:var(--space-xl);line-height:var(--line-height-body)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.modal-content{background:var(--color-bg);border-radius:var(--border-radius);padding:var(--space-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:999px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1}.badge--easy{background:#d1fae5;color:#065f46}.badge--medium{background:#fef3c7;color:#92400e}.badge--hard{background:#fee2e2;color:#991b1b}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-text-light)}.empty-state__icon{font-size:3em;margin-bottom:var(--space-md)}.empty-state__text{font-size:var(--font-size-lg);line-height:var(--line-height-body)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-family);line-height:var(--line-height-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-heading);font-weight:var(--font-weight-bold);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}ul,ol{list-style:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media print{header,footer,nav,.voice-button,.voice-modal,.modal-overlay,.guide-page__nav,.guide-page__view-toggle,.guide-page__print-btn,.guide-page__read-aloud-btn,.offline-banner,.install-prompt{display:none!important}body{font-size:12pt;color:#000;background:#fff}.page{padding:0;max-width:100%}a{color:#000;text-decoration:underline}}
