*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-open: #166534;--color-open-bg: #dcfce7;--color-open-border: #86efac;--color-closed: #d72525;--color-closed-bg: #fef2f2;--color-closed-border: #fca5a5;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04)}[data-theme=dark]{--color-bg: #0f172a;--color-surface: #1e293b;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-border: #334155;--color-open: #4ade80;--color-open-bg: rgba(22, 101, 52, .25);--color-open-border: #166534;--color-closed: #f87171;--color-closed-bg: rgba(220, 38, 38, .15);--color-closed-border: #7f1d1d;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--shadow: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.5), 0 4px 6px -4px rgba(0,0,0,.3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}a{color:var(--color-accent);text-decoration:none;transition:color .15s}a:hover{color:var(--color-accent-hover)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:1rem 0;position:sticky;top:0;z-index:100;backdrop-filter:blur(8px);background:#fffffff2}[data-theme=dark] .site-header{background:#1e293bf2}.site-header .container{display:flex;align-items:center;justify-content:space-between}.header-right{display:flex;align-items:center;gap:.75rem;overflow:hidden;min-width:0}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s;padding:0;flex-shrink:0}.theme-toggle:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.theme-icon-moon,[data-theme=dark] .theme-icon-sun{display:none}[data-theme=dark] .theme-icon-moon{display:block}.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.25rem;color:var(--color-text)}.logo:hover{color:var(--color-text)}.logo-icon{font-size:1.5rem}.main-nav{display:flex;gap:1.25rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.main-nav::-webkit-scrollbar{display:none}.site-header nav a{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.site-header nav a:hover{color:var(--color-text)}.site-header nav a.nav-active{color:var(--color-accent);font-weight:600}.site-footer{border-top:1px solid var(--color-border);padding:2.5rem 0 1.5rem;margin-top:3rem;color:var(--color-text-muted);font-size:.875rem}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem}.footer-brand{display:flex;flex-direction:column;gap:.5rem}.footer-logo{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:1rem;color:var(--color-text)}.footer-logo:hover{color:var(--color-text)}.footer-tagline{font-size:.85rem;color:var(--color-text-muted);max-width:280px}.footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;flex:1;min-width:0}.footer-col{display:flex;flex-direction:column;gap:.5rem}.footer-heading{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin:0 0 .25rem}.footer-col a{color:var(--color-text-muted);font-size:.825rem;font-weight:500;transition:color .15s;line-height:1.6}.footer-col a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-border);padding-top:1rem;text-align:center}.footer-bottom p{color:var(--color-text-muted);font-size:.8rem}@media(max-width:520px){.site-header .container{flex-wrap:wrap;padding-left:.75rem;padding-right:.75rem}.logo{font-size:1rem;gap:.35rem}.logo-icon{font-size:1.25rem}.header-right{width:100%;order:3}.main-nav{width:100%;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem;flex:1}.main-nav::-webkit-scrollbar{display:none}.site-header nav a{font-size:.8rem;white-space:nowrap;flex-shrink:0}.theme-toggle{width:32px;height:32px}}@media(max-width:1100px){.footer-content{flex-direction:column;align-items:center;text-align:center}.footer-tagline{max-width:none}.footer-columns{grid-template-columns:repeat(2,1fr);text-align:center}}@media(max-width:480px){.footer-columns{grid-template-columns:1fr;text-align:center}.footer-heading{margin-top:.5rem}}.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}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--color-accent);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;z-index:200;text-decoration:none;transition:top .2s}.skip-link:focus{top:.75rem;color:#fff}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:4px}@media(max-width:640px){.container{padding:0 1rem}}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:50;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;box-shadow:var(--shadow-md);transition:background .2s,color .2s,box-shadow .2s,transform .2s;padding:0;font-family:inherit}.back-to-top:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.back-to-top:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media(max-width:640px){.back-to-top{bottom:1.25rem;right:1.25rem;width:40px;height:40px}}
