:root{--color-primary:#1f4e79;--color-primary-dark:#163a5a;--color-accent:#f2b84b;--color-text:#1b1f24;--color-muted:#4a5561;--color-bg:#fff;--color-surface:#f4f6f8;--color-border:#c9d1d9;--color-error:#b3261e;--color-ai:#5b2a86;--color-ai-bg:#f1e9f9;--color-focus:#0b62d6;--radius:8px;--space:1rem;--max-width:72rem;color:var(--color-text);background:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}h1,h2,h3{line-height:1.25}h1{margin-top:0;font-size:2rem}a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space);z-index:10;background:var(--color-primary);color:#fff;border-radius:var(--radius);padding:.5rem 1rem;position:absolute;top:-4rem}.skip-link:focus{top:var(--space);color:#fff}.site-header{justify-content:space-between;align-items:center;gap:var(--space);border-bottom:1px solid var(--color-border);flex-wrap:wrap;padding:.75rem 1.5rem;display:flex}.brand{color:var(--color-text);align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand__name{font-size:1.25rem;font-weight:700}.brand__tagline{color:var(--color-muted);font-size:.875rem}.site-nav{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.site-nav a.active{font-weight:700}.notice{background:#fff4d6;border-bottom:1px solid #e6c46b;margin:0;padding:.5rem 1.5rem}.shell{max-width:var(--max-width);gap:1.5rem;margin:0 auto;padding:1.5rem;display:grid}.shell--with-assistant{grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);max-width:96rem}main:focus{outline:none}.lead{color:var(--color-muted);max-width:48rem;font-size:1.125rem}.hint{color:var(--color-muted);font-style:italic}.narrow{max-width:28rem}.module-group{margin-top:2rem}.card-grid{gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space);background:var(--color-surface)}.card h3{margin:0 0 .5rem;font-size:1.1rem}.card p{margin:0 0 .5rem}.card__meta{color:var(--color-muted);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.badge{border-radius:999px;padding:.1rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.badge--planned{color:#2f3a45;background:#e3e8ee}.badge--in-progress{color:#5c4300;background:#fff1c7}.badge--beta{color:#1e3a8a;background:#dbeafe}.badge--live{color:#1d5e2c;background:#d9f2df}.badge--ai{background:var(--color-ai-bg);color:var(--color-ai)}label{margin-bottom:.25rem;font-weight:600;display:block}input,textarea,select{font:inherit;border-radius:var(--radius);border:1px solid #7a8590;width:100%;padding:.5rem}.lang-switch select{width:auto}form>*+*{margin-top:.75rem}.form-error{color:var(--color-error);font-weight:600}[aria-invalid=true]{border-color:var(--color-error)}.button{font:inherit;cursor:pointer;border:2px solid var(--color-primary);border-radius:var(--radius);background:var(--color-primary);color:#fff;padding:.4rem .9rem}.button:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.button:disabled{opacity:.6;cursor:not-allowed}.button--secondary{color:var(--color-primary);background:#fff}.button--ghost{color:var(--color-primary);background:0 0;border-color:#0000}.button--secondary:hover,.button--ghost:hover{background:var(--color-surface);color:var(--color-primary-dark)}.button-row{flex-wrap:wrap;gap:.5rem;display:flex}.assistant{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space);background:#fff;align-self:start;position:sticky;top:1rem}.assistant__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.assistant__header h2{margin:0;font-size:1.25rem}.assistant__disclosure{color:var(--color-muted);font-size:.875rem}.assistant__answer{margin-top:var(--space);padding:var(--space);background:var(--color-ai-bg);border-radius:var(--radius)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);padding:1rem 1.5rem;font-size:.875rem}@media (width<=800px){.shell--with-assistant{grid-template-columns:1fr}.assistant{position:static}.brand__tagline{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
