:root{--ink: #1f2937;--muted: #6b7280;--faint: #8a94a6;--rule: #cbd5e1;--accent: #2563eb;--accent-dark: #1d4ed8;--tint: #e0e7ff;--tint-ink: #3730a3;--error: #b91c1c;--error-tint: #fef2f2;--bg: #f8fafc;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}.site-header,main,.site-footer,.page{max-width:760px;margin:0 auto;padding:0 20px}.site-header{padding-top:24px}.brand{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none}.intro h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.2;margin:20px 0 8px}.intro p{color:#4b5563;margin:0 0 24px;font-size:1.05rem}.card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:24px;margin-bottom:32px}fieldset{border:0;margin:0;padding:0;min-width:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;flex:1}label,legend{font-weight:600}.optional{font-weight:400;color:var(--muted)}input:not([type=checkbox]),select{font:inherit;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink)}input:focus-visible,select:focus-visible,button:focus-visible,.status:focus-visible{outline:3px solid var(--tint);outline-offset:1px;border-color:var(--accent)}.row{display:flex;gap:16px}.skills{margin-bottom:18px}.skills legend{margin-bottom:8px}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.skill{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;cursor:pointer;font-weight:400}.skill.chosen{border-color:var(--accent);background:#f5f7ff}.skill input{margin-top:4px;grid-row:span 2}.skill-name{font-weight:600}.skill-description{color:var(--muted);font-size:.9rem}.check{display:flex;gap:10px;align-items:center;font-weight:400;margin-bottom:18px}.note{margin:-6px 0 18px;color:var(--muted);font-size:.92rem}.muted{color:var(--muted)}.problems{background:var(--error-tint);border:1px solid #fecaca;color:var(--error);border-radius:8px;padding:10px 14px 10px 32px;margin:0 0 18px}button{font:inherit;cursor:pointer}button.primary{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:600}button.primary:hover{background:var(--accent-dark)}fieldset:disabled button.primary{opacity:.6;cursor:default}button.link{background:none;border:0;color:var(--accent);text-decoration:underline;padding:12px}.status:empty{display:none}.status{margin-top:20px;padding-top:20px;border-top:1px dashed var(--rule)}.working{display:flex;gap:12px;align-items:center;margin:0}.spinner{width:18px;height:18px;border:3px solid var(--tint);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.done p{margin:0 0 12px}.error{color:var(--error)}.error p{margin:0 0 8px}.site-footer{display:flex;gap:20px;flex-wrap:wrap;padding-bottom:40px;color:var(--faint);font-size:.9rem}.page{padding-bottom:40px}.page h1{font-size:1.8rem;margin:20px 0 4px}.page h2{font-size:1.15rem;margin:28px 0 6px}.page .updated{color:var(--muted);margin:0 0 20px}@media (max-width: 560px){.row{flex-direction:column;gap:0}.card{padding:18px}}.hint{color:var(--muted);font-size:.88rem}
