/* Shared site chrome: tokens, top bar, footer, feedback dialog */
:root{
  --bg:#ECEFF3; --panel:#FFFFFF; --panel-2:#F4F6F8; --ink:#141C26; --muted:#586475; --rule:#D2D8E0;
  --accent:#1C4F8A; --accent-ink:#FFFFFF; --bar:#14385F; --bar-ink:#FFFFFF; --bar-dim:#A9C3E0;
  --good:#1E7A46; --good-soft:#E3F3E9; --bad:#C2352B; --bad-soft:#FBE7E5;
  --display:'Barlow Condensed','Arial Narrow','Helvetica Neue',Arial,sans-serif;
  --body:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme:dark;
    --bg:#0E1319; --panel:#161D25; --panel-2:#1C252F; --ink:#E4E9EF; --muted:#94A1B0; --rule:#2B3643;
    --accent:#86B3EA; --accent-ink:#0E1319; --bar:#0A1F36; --bar-ink:#FFFFFF; --bar-dim:#86B3EA;
    --good:#5BC48A; --good-soft:#15301F; --bad:#F2776C; --bad-soft:#3A1A18;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.45;min-height:100vh;display:flex;flex-direction:column}
body > .wrap{flex:1 0 auto;width:100%}
[hidden]{display:none!important}

.site-bar{background:var(--bar);color:var(--bar-ink);padding-top:env(safe-area-inset-top,0px)}
.site-bar-in{max-width:1120px;margin:0 auto;padding-inline:16px;height:48px;display:flex;align-items:center}
.brand{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--bar-ink);text-decoration:none;line-height:1}
.brand span{color:var(--bar-dim);font-weight:600}
.brand:hover{text-decoration:underline;text-underline-offset:4px}

.site-foot{border-top:1px solid var(--rule);background:var(--panel);padding-bottom:env(safe-area-inset-bottom,0px)}
.site-foot-in{max-width:1120px;margin:0 auto;padding-inline:16px;padding-block:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;font-size:14px}
.site-foot a{color:var(--ink);font-weight:600;text-decoration:none;padding:6px 0}
.site-foot a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.site-foot .copy{margin-left:auto;color:var(--muted)}
@media (max-width:480px){.site-foot .copy{margin-left:0;width:100%}}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Feedback dialog */
dialog.fb{border:1px solid var(--rule);border-radius:12px;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--panel);color:var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.3)}
dialog.fb::backdrop{background:rgba(10,20,32,.55)}
.fb-in{padding:20px;display:grid;gap:14px}
.fb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fb h2{font-family:var(--display);font-weight:700;font-size:26px;line-height:1.05;margin:0;text-transform:uppercase;letter-spacing:.02em}
.fb-subj{margin:4px 0 0;font-size:13px;color:var(--muted)}
.fb-x{font:inherit;font-size:22px;line-height:1;background:none;border:1px solid var(--rule);border-radius:8px;width:40px;height:40px;color:var(--ink);cursor:pointer;flex:none}
.fb-x:hover{border-color:var(--accent)}
.fb-field{display:grid;gap:5px}
.fb-field label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fb input[type=email],.fb textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--panel-2);color:var(--ink);width:100%}
.fb textarea{min-height:180px;resize:vertical}
.fb .invalid{border-color:var(--bad);border-width:2px}
.fb-count{font-size:12px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.fb-count.over{color:var(--bad);font-weight:600}
.fb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fb-err{margin:0;padding:10px 12px;border-radius:8px;background:var(--bad-soft);border:1px solid var(--bad);color:var(--ink);font-size:14px}
.fb-note{margin:0;font-size:13px;color:var(--muted)}
.fb-note a{color:var(--accent)}
.fb-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.fb-btn{font:inherit;font-weight:600;padding:10px 18px;border-radius:8px;border:1px solid var(--rule);background:var(--panel);color:var(--ink);cursor:pointer;min-height:44px}
.fb-btn:hover{border-color:var(--accent)}
.fb-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.fb-btn[disabled]{opacity:.6;cursor:progress}
.fb-done{padding:14px;border-radius:8px;background:var(--good-soft);border:1px solid var(--good)}
.fb-done strong{display:block;font-size:17px;color:var(--good)}
.fb-done p{margin:6px 0 0}
.site-foot .ver{font-variant-numeric:tabular-nums;user-select:all}
