:root{--ink: #111827;--body: #374151;--muted: #6b7280;--faint: #8a94a6;--rule: #e5e7eb;--field: #cbd5e1;--accent: #2563eb;--accent-dark: #1d4ed8;--tint: #eff6ff;--ring: #bfdbfe;--error: #b91c1c;--error-tint: #fef2f2;--bg: #ffffff;--space: 32px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--body);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent)}h1,h2{color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.15}.site-header,main,.site-footer,.page{max-width:1040px;margin:0 auto;padding:0 20px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.brand{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}.header-link{font-weight:600;text-decoration:none}.header-link:hover{text-decoration:underline}.account{position:relative}.account-button{display:flex;align-items:center;gap:8px;max-width:46vw;background:none;border:0;padding:8px 0;color:var(--ink);font-weight:600}.account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:10;width:min(320px,calc(100vw - 40px));padding:20px;background:var(--bg);border:1px solid var(--rule);border-radius:8px}.account-label{margin:0;color:var(--muted);font-size:.85rem}.account-address{margin:0 0 16px;color:var(--ink);font-weight:600;overflow-wrap:anywhere}.account-actions{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.account-actions li{border-bottom:1px solid var(--rule)}.account-actions button{width:100%;text-align:left;background:none;border:0;padding:12px 0;color:var(--ink)}.account-actions button:hover:not(:disabled){color:var(--accent)}.account-actions button.quiet{color:var(--muted)}.confirm p{margin:0 0 16px}.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:48px;padding-top:24px;padding-bottom:64px;align-items:start}.split-side{position:sticky;top:24px;padding-left:32px;border-left:1px solid var(--rule)}.split-side h2{font-size:1.1rem;margin:0 0 16px}.intro h1,.split-main>h1{font-size:clamp(2rem,5vw,3rem);font-weight:900;letter-spacing:-.03em;margin:0 0 16px}.intro p,.lead{color:var(--muted);font-size:1.1rem;margin:0 0 var(--space);max-width:60ch}.lead strong{color:var(--ink)}fieldset{border:0;margin:0;padding:0;min-width:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:24px;flex:1}label,legend{font-weight:600;color:var(--ink)}.optional{font-weight:400;color:var(--muted)}input:not([type=checkbox]),select{font:inherit;padding:10px 12px;border:1px solid var(--field);border-radius:8px;background:var(--bg);color:var(--ink)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,.status:focus-visible{outline:3px solid var(--ring);outline-offset:2px}input:focus-visible,select:focus-visible{border-color:var(--accent)}input[aria-invalid=true]{border-color:var(--error)}.row{display:flex;gap:24px}.sign-in-form{max-width:420px}.code-input{font-size:1.6rem!important;letter-spacing:.4em;font-variant-numeric:tabular-nums;max-width:14ch}.skills{margin-bottom:var(--space)}.skills legend{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}.skill-list{border-top:1px solid var(--rule)}.skill{display:grid;grid-template-columns:auto minmax(0,12rem) 1fr;column-gap:16px;align-items:baseline;padding:14px 8px;border-bottom:1px solid var(--rule);cursor:pointer;font-weight:400}.skill:hover{background:#fafafa}.skill.chosen{background:var(--tint)}.skill input{accent-color:var(--accent);width:18px;height:18px;align-self:center}.skill-name{font-weight:700;color:var(--ink)}.skill-description{color:var(--muted)}.check{display:flex;gap:10px;align-items:center;font-weight:400;margin-bottom:24px}.check input{accent-color:var(--accent);width:18px;height:18px}.note,.hint,.small{color:var(--muted);font-size:.9rem}.note{margin:-8px 0 24px}.muted{color:var(--muted)}.summary{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0 0 24px}.summary dt{color:var(--muted)}.summary dd{margin:0;color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.plain-list{margin:0 0 16px;padding-left:20px}.plain-list li{margin-bottom:6px}.problems{color:var(--error);background:var(--error-tint);border:1px solid #fecaca;border-radius:8px;padding:10px 14px 10px 32px;margin:0 0 16px}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button.primary,button.danger{color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:700}button.primary{background:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-dark)}button.danger{background:var(--error)}button.primary:disabled,button.danger:disabled{opacity:.6}button.wide{width:100%}button.link{background:none;border:0;color:var(--accent);text-decoration:underline;padding:12px 4px}button.link:disabled{color:var(--faint);text-decoration:none}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.status:empty{display:none}.status{margin-top:24px;padding-top:24px;border-top:1px solid var(--rule)}.working{display:flex;gap:12px;align-items:center;margin:0}.spinner{width:18px;height:18px;flex:none;border:3px solid var(--ring);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}.done .primary{width:100%}.error{color:var(--error)}.error p,p.error{margin:0 0 12px}.site-footer{display:flex;gap:24px;flex-wrap:wrap;padding-top:24px;padding-bottom:48px;border-top:1px solid var(--rule);color:var(--faint);font-size:.9rem}main.page{max-width:760px;padding-bottom:64px}.page h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900;margin:24px 0 4px}.page h2{font-size:1.2rem;margin:40px 0 8px}.page .updated{color:var(--muted);margin:0 0 24px}@media (max-width: 800px){.split{grid-template-columns:1fr;gap:32px}.split-side{position:static;padding-left:0;padding-top:32px;border-left:0;border-top:1px solid var(--rule)}}@media (max-width: 640px){.row{flex-direction:column;gap:0}.skill{grid-template-columns:auto 1fr;row-gap:2px}.skill-description{grid-column:2}}
