:root{--color-bg:#fafafa;--color-surface:#fff;--color-text:#1a1a1a;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-accent:#00ad9f;--color-accent-hover:#009688;--color-link:#00ad9f;--color-link-hover:#007a6e;--color-success:#10b981;--color-error:#ef4444;--color-code-bg:#f3f4f6;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--max-width:64rem;--border-radius:6px;--border-radius-lg:12px;--transition:.15s ease}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0;font-size:1rem;line-height:1.6}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-md)0;color:var(--color-text);font-weight:600;line-height:1.25}h1{letter-spacing:-.025em;font-size:2rem}h2{letter-spacing:-.02em;font-size:1.5rem}h3{color:var(--color-text-muted);font-size:1.125rem;font-weight:500}p{margin:0 0 var(--space-md)0}a{color:var(--color-link);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}main{max-width:var(--max-width);padding:var(--space-xl);margin:0 auto}section{margin-bottom:var(--space-2xl)}header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}header nav{max-width:var(--max-width);padding:var(--space-md)var(--space-xl);align-items:center;margin:0 auto;display:flex}header nav a{align-items:center;display:inline-flex}button{padding:var(--space-sm)var(--space-md);font-family:var(--font-sans);color:var(--color-surface);background-color:var(--color-accent);border-radius:var(--border-radius);cursor:pointer;transition:background-color var(--transition),transform var(--transition);border:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;line-height:1.5;display:inline-flex}button:hover:not(:disabled){background-color:var(--color-accent-hover)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--color-text);border:1px solid var(--color-border);background-color:#0000}button.secondary:hover:not(:disabled){background-color:var(--color-bg);border-color:var(--color-text-muted)}input,textarea,select{width:100%;padding:var(--space-sm)var(--space-md);font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition),box-shadow var(--transition);font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #00ad9f1a}input::placeholder{color:var(--color-text-muted)}label{margin-bottom:var(--space-md);display:block}label span{margin-bottom:var(--space-xs);color:var(--color-text-muted);font-size:.875rem;font-weight:500;display:block}code{padding:var(--space-xs)var(--space-sm);font-family:var(--font-mono);background-color:var(--color-code-bg);border-radius:var(--border-radius);font-size:.875em}pre{padding:var(--space-md);font-family:var(--font-mono);background-color:var(--color-code-bg);border-radius:var(--border-radius);font-size:.875rem;overflow-x:auto}pre code{background:0 0;padding:0}ul,ol{margin:0 0 var(--space-md)0;padding-left:var(--space-lg)}li{margin-bottom:var(--space-sm)}li::marker{color:var(--color-text-muted)}hr{margin:var(--space-xl)0;border:none;border-top:1px solid var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-lg)}.grid{gap:var(--space-md);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.columns{gap:var(--space-2xl);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:768px){.columns{grid-template-columns:1fr}}.status{padding:var(--space-xs)var(--space-sm);border-radius:var(--border-radius);align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.status-success{color:var(--color-success);background-color:#10b9811a}.status-error{color:var(--color-error);background-color:#ef44441a}.info-box{padding:var(--space-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);margin-bottom:var(--space-lg)}.info-box h2{margin-top:0}.data-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-xs);font-size:.75rem;font-weight:500}.data-value{color:var(--color-text);font-size:1.5rem;font-weight:600}time{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.875rem}img{border-radius:var(--border-radius);max-width:100%;height:auto}.button-group{gap:var(--space-sm);flex-wrap:wrap;display:flex}.post{padding:var(--space-lg);margin-bottom:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg)}.post h3{color:var(--color-text);margin-bottom:var(--space-sm)}.post p{color:var(--color-text-muted);margin-bottom:0;font-size:.9375rem}.footer-link{margin-top:var(--space-lg);color:var(--color-text-muted);font-size:.875rem;display:inline-block}.nav-section{margin-bottom:var(--space-xl)}.nav-section h2{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);font-size:1.25rem}.nav-section h3{text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-size:.875rem}.nav-section ul{margin:0;padding:0;list-style:none}.nav-section li{margin-bottom:var(--space-xs)}.nav-section a{padding:var(--space-xs)0;color:var(--color-text);transition:color var(--transition);display:inline-block}.nav-section a:hover{color:var(--color-accent);text-decoration:none}.weather-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl)}.weather-stat{margin-bottom:var(--space-md)}.weather-stat .data-label{margin-bottom:var(--space-xs)}.weather-stat .data-value{font-size:2rem}.weather-meta{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem}.todo-input{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.todo-input input{flex:1}.todo-list{margin:0;padding:0;list-style:none}.todo-item{padding:var(--space-md);margin-bottom:var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);justify-content:space-between;align-items:center;display:flex}.todo-item button{padding:var(--space-xs)var(--space-sm);color:var(--color-error);border:1px solid var(--color-error);background-color:#0000;font-size:.75rem}.todo-item button:hover:not(:disabled){background-color:var(--color-error);color:var(--color-surface)}.form-inline{gap:var(--space-md);flex-wrap:wrap;align-items:flex-end;display:flex}.form-inline label{flex:1;min-width:200px;margin-bottom:0}.form-inline button{height:fit-content}.page-header{margin-bottom:var(--space-xl)}.page-header h1{margin-bottom:var(--space-sm)}.page-header p{color:var(--color-text-muted);margin-bottom:0}.result{padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);margin-top:var(--space-md)}.variant-a{color:#059669}.variant-b{color:#3b82f6}.image-grid{gap:var(--space-md);display:grid}.image-grid img{object-fit:cover;width:100%}.avatar-grid{gap:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.avatar-grid img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:100%}@media (max-width:640px){.avatar-grid{grid-template-columns:repeat(2,1fr)}}
