:root{--green:#1f3a2b;--green-deep:#1a2e22;--paper:#f6f2e9;--sand:#efe9dc;--straw:#e3d3a6;--straw-dark:#b59a5e;--ink:#33362f;--ink-muted:#4a4d44;--cream-on-green:#f1ebdd;--sage-on-green:#c9d3c5;--footer-text:#b7c3b4;--rule:#ddd4c0;--rule-sand:#d6ccb4;--map-bg:#e6dfcf;--serif:Fraunces, Georgia, serif;--sans:"Be Vietnam Pro", "Segoe UI", system-ui, sans-serif;--focus:var(--green);--tap-min:44px;--radius-pill:999px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:1.0625rem;font-weight:300;line-height:1.6}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.bar{justify-content:space-between;align-items:center;gap:12px;max-width:480px;margin:0 auto;padding:14px 16px;display:flex}.bar.wide{max-width:960px}.logo{width:auto;height:44px;display:block}@media (width>=380px){.logo{height:52px}}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 16px;display:flex}.nav a,.link-button{color:var(--green);font:inherit;min-height:var(--tap-min);text-underline-offset:3px;align-items:center;padding:0 4px;font-size:.95rem;font-weight:400;display:inline-flex}.link-button{cursor:pointer;background:0 0;border:0;text-decoration:underline}.inline{margin:0;display:inline}.page{max-width:480px;margin:0 auto;padding:40px 16px 88px}.page.wide{max-width:960px}h1,h2{font-family:var(--serif);color:var(--green);margin:0;font-weight:300}h1{letter-spacing:-.01em;margin-bottom:12px;font-size:clamp(2rem,6vw,2.8rem);line-height:1.15}h2{font-size:1.35rem;line-height:1.3}.lead{color:var(--ink-muted);margin:0 0 28px}.hint{color:var(--ink-muted);margin:6px 0 0;font-size:.9rem}.notice{background:var(--sand);border-left:3px solid var(--green);border-radius:8px;margin:0 0 24px;padding:14px 16px}.stack{flex-direction:column;gap:20px;display:flex}.row{flex-wrap:wrap;gap:12px;display:flex}.field label,.role span{margin-bottom:6px;font-size:.95rem;font-weight:500;display:block}input,select{width:100%;min-height:52px;font:inherit;color:var(--ink);border:1px solid var(--rule-sand);background:#fff;border-radius:12px;padding:12px 16px;font-weight:400}input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--green)}.button{border-radius:var(--radius-pill);border:1px solid var(--green);background:var(--green);min-height:52px;color:var(--cream-on-green);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:12px 28px;font-weight:500;text-decoration:none;display:inline-flex}.button.outline{color:var(--green);background:0 0}.button:disabled{opacity:.6;cursor:default}form>.button{width:100%}.error{color:var(--ink);background:var(--sand);border-left:3px solid var(--ink);border-radius:8px;margin:0;padding:10px 14px;font-weight:400}.error[hidden]{display:none}.card{background:var(--sand);border-radius:20px;margin:0 0 28px;padding:24px 20px}.temporary .password{margin:12px 0}.temporary code{letter-spacing:.02em;background:var(--paper);border:1px solid var(--rule-sand);word-break:break-all;border-radius:10px;padding:8px 14px;font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:1.4rem;display:inline-block}.accounts{border-top:1px solid var(--rule);margin:32px 0 0;padding:0;list-style:none}.account{border-bottom:1px solid var(--rule);gap:16px;padding:22px 0;display:grid}.account.disabled h2{color:var(--ink-muted)}.me{font-family:var(--sans);color:var(--ink-muted);font-size:.95rem}.meta{color:var(--ink-muted);flex-wrap:wrap;gap:2px 16px;margin:4px 0 0;font-size:.95rem;display:flex}.account-actions{gap:12px;display:grid}.role select{max-width:240px}.role span{white-space:nowrap}.account-actions .button{padding:12px 20px}.temporary:focus{outline:none}.temporary .row{margin-top:16px}.confirm p{margin:0 0 10px}@media (width>=760px){.account{grid-template-columns:1fr auto;align-items:start}.account-actions{justify-items:end}.role{align-items:center;gap:12px;display:flex}.role span{margin:0}.confirm{max-width:380px}}
