*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-bg-secondary: #f8f9fa;--color-text: #0f172a;--color-text-secondary: #64748b;--color-accent: #0ea5e9;--color-accent-hover: #0284c7;--color-accent-transparent: rgba(14, 165, 233, .1);--color-accent-secondary: #8b5cf6;--color-section-header: var(--color-text);--color-border: #e2e8f0;--color-card-bg: #ffffff;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--font-display: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--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.75rem;--line-height-base: 1.6;--line-height-tight: 1.2;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 3px rgba(42, 37, 32, .08);--shadow-md: 0 4px 12px rgba(42, 37, 32, .12);--shadow-lg: 0 12px 24px rgba(42, 37, 32, .16);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-accent: #38bdf8;--color-accent-hover: #7dd3fc;--color-accent-transparent: rgba(56, 189, 248, .15);--color-accent-secondary: #a78bfa;--color-section-header: var(--color-text);--color-border: #334155;--color-card-bg: #1e293b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .7)}}:root[data-theme=dark]{--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-accent: #38bdf8;--color-accent-hover: #7dd3fc;--color-accent-transparent: rgba(56, 189, 248, .15);--color-accent-secondary: #a78bfa;--color-section-header: var(--color-text);--color-border: #334155;--color-card-bg: #1e293b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .7)}:root[data-theme=light]{--color-bg: #ffffff;--color-bg-secondary: #f8f9fa;--color-text: #0f172a;--color-text-secondary: #64748b;--color-accent: #0ea5e9;--color-accent-hover: #0284c7;--color-accent-transparent: rgba(14, 165, 233, .1);--color-accent-secondary: #8b5cf6;--color-section-header: var(--color-text);--color-border: #e2e8f0;--color-card-bg: #ffffff;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 12px rgba(15, 23, 42, .12);--shadow-lg: 0 12px 24px rgba(15, 23, 42, .16)}html{font-family:var(--font-sans);font-size:16px;line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--line-height-tight);font-weight:600;color:var(--color-text);letter-spacing:-.01em}h1{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg);font-weight:700}h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}p{margin-bottom:var(--spacing-md);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}header{position:sticky;top:0;z-index:10001;padding:.875rem var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background-color var(--transition-base),border-color var(--transition-base)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) header{background-color:#0f172ad9}}:root[data-theme=dark] header{background-color:#0f172ad9}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.logo{font-family:var(--font-display);font-weight:600;font-size:1.125rem;color:var(--color-text);opacity:1;letter-spacing:-.01em;transition:color var(--transition-fast)}.logo:hover{color:var(--color-accent);text-decoration:none}.header-left{display:flex;align-items:center;gap:2rem}.header-right{display:flex;align-items:center;gap:.75rem}header nav{display:flex;gap:2rem;align-items:center}header nav a{font-weight:400;font-size:.9375rem;color:var(--color-text);opacity:.8;transition:opacity var(--transition-fast)}header nav a:hover{opacity:1;text-decoration:none}@media(max-width:768px){header{padding:.625rem var(--spacing-sm)}.header-content{gap:var(--spacing-md)}.logo{font-size:1rem}.header-left{gap:var(--spacing-md)}header nav{gap:1.25rem}header nav a{font-size:.875rem}}main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-md)}footer{padding:var(--spacing-lg) var(--spacing-md);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-secondary);font-size:.875rem}.card{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}@media(max-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media print{header,footer{display:none}main{padding:0;max-width:100%}}.theme-toggle{display:inline-flex;align-items:center;gap:0;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.5rem;padding:.25rem}.theme-toggle-button{display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:.375rem;padding:.375rem;cursor:pointer;color:var(--color-text);opacity:.6;transition:all var(--transition-fast);width:2rem;height:2rem}.theme-toggle-button:hover{opacity:1;background-color:#8080801a}.theme-toggle-button.active{opacity:1;background-color:var(--color-bg);box-shadow:0 1px 3px #0000001a}.theme-toggle-button svg{width:16px;height:16px;display:block}.mobile-nav-toggle{display:none;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text);transition:opacity var(--transition-fast)}.mobile-nav-toggle:hover{opacity:.7}.mobile-nav-icon-line{transition:transform .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.mobile-nav-icon-line-1{transform:translateY(-3px)}.mobile-nav-icon-line-2{transform:translateY(3px)}.mobile-nav-toggle[aria-expanded=true] .mobile-nav-icon-line-1{transform:rotate(45deg)}.mobile-nav-toggle[aria-expanded=true] .mobile-nav-icon-line-2{transform:rotate(-45deg)}.mobile-nav-overlay{position:fixed;inset:61px 0 0;width:100vw;height:calc(100vh - 61px);background-color:var(--color-bg);z-index:10000;animation:fadeIn .2s ease-out;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-nav-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 61px);padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg)}.mobile-nav-menu{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.mobile-nav-link{font-size:1.125rem;font-weight:400;color:var(--color-text);padding:.75rem 0;transition:color var(--transition-fast);text-decoration:none;opacity:.8}.mobile-nav-link:hover{color:var(--color-text);opacity:1;text-decoration:none}.mobile-nav-theme{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-lg)}.mobile-nav-theme-label{font-size:.9375rem;font-weight:400;color:var(--color-text);opacity:.8}.desktop-nav{display:flex}@media(max-width:768px){.mobile-nav-toggle{display:flex;align-items:center;justify-content:center}.desktop-nav,.header-right .theme-toggle{display:none}.mobile-nav-theme .theme-toggle{display:inline-flex}.logo{white-space:nowrap}}
