/* Shared site theme: edit :root to configure all pages. Layout stays in the page styles. */
:root {
  color-scheme:dark;
  --bg:#111315;
  --surface:#1a1d20;
  --raised:#22262a;
  --line:#33383c;
  --text:#f1f3ed;
  --muted:#a6adae;
  --acid:#d6fc53;
  --orange:#ffc386;
  --purple:#c9baff;
  --sport-color:#91c7ff;
  --social-color:#e8bd87;
  --habit-color:#8de0cb;
  --danger:#ffb4a7;
  --on-accent:#171d0c;
  --accent-border:var(--acid);
  --accent-soft:color-mix(in srgb,var(--acid) 8%,transparent);
  --border-hover:var(--acid);
  --dialog-border:var(--muted);
  --overlay:#000000cc;
  --radius-control:9px;
  --radius-panel:16px;
  --control-height:44px;
  --control-compact:32px;
  --font-body:Manrope,Arial,sans-serif;
  --font-size:16px;
  --line-height:1.5;
  /* Two shared capsule sizes: page controls and card content. */
  --capsule-medium-height:34px;
  --capsule-medium-font:13px;
  --capsule-medium-line:20px;
  --capsule-medium-py:6px;
  --capsule-medium-px:12px;
  --capsule-small-height:26px;
  --capsule-small-font:12px;
  --capsule-small-line:18px;
  --capsule-small-py:3px;
  --capsule-small-px:8px;
  --capsule-radius:999px;
  --capsule-height:var(--capsule-medium-height);
  --capsule-font:var(--capsule-medium-font);
  --capsule-line:var(--capsule-medium-line);
  --capsule-py:var(--capsule-medium-py);
  --capsule-px:var(--capsule-medium-px);
  /* Timeline and feedback colors */
  --event-color:#547986;
  --company-color:#aa95c5;
  --free-color:#377653;
  --conflict-color:#ffb4a7;
  --notice-color:#bbd94b;
  /* Self-assessed spoken-language proficiency */
  --language-a1:#e9a094;
  --language-a2:var(--language-a1);
  --language-b1:#dfc77d;
  --language-b2:var(--language-b1);
  --language-c1:#99d28a;
  --language-c2:var(--language-native);
  --language-native:#7bd0a2;
  --field-surface:var(--raised);
  /* Shared supporting surfaces and a small set of effect strengths. */
  --banner-surface:#273638;
  --control-neutral:#58616a;
  --shade-soft:#0000000f;
  --shade:#00000026;
  --shadow:#0000003d;
  --shadow-strong:#00000080;
  --highlight-soft:#ffffff14;
  --highlight:#ffffff29;
  --highlight-strong:#ffffff47;
  --highlight-bright:#ffffff80;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-6:24px;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:var(--font-size)/var(--line-height) var(--font-body)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--acid)}
.btn{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--raised);padding:11px 17px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:var(--control-height)}.btn:hover{border-color:var(--border-hover)}.btn.primary{background:var(--acid);color:var(--on-accent);border-color:var(--acid)}.btn.ghost{background:transparent}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.small{padding:7px 12px;min-height:38px;font-size:13px}
input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);padding:12px;width:100%}
textarea{resize:vertical;min-height:88px}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--acid)}
dialog{width:min(590px,calc(100% - 28px));max-height:90vh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--dialog-border);border-radius:var(--radius-panel);padding:26px}
dialog::backdrop{background:var(--overlay);backdrop-filter:blur(5px)}

/* Capsule geometry lives here; feature styles only supply colors and layout. */
:where(.card,.company-sheet,.participant-row,.genre-pill-small){
  --capsule-height:var(--capsule-small-height);
  --capsule-font:var(--capsule-small-font);
  --capsule-line:var(--capsule-small-line);
  --capsule-py:var(--capsule-small-py);
  --capsule-px:var(--capsule-small-px);
}
.chip,.genre-pill,.tag,.selected-genres li:not(.muted),.genre-choice span,.filter-choice span,.interest-choice span,.language-capsule{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--capsule-height);max-width:100%;
  padding:var(--capsule-py) var(--capsule-px);
  border:1px solid var(--line);border-radius:var(--capsule-radius);
  font-size:var(--capsule-font);line-height:var(--capsule-line);
  overflow-wrap:anywhere;
}
.language-capsule{padding:0;align-items:stretch}
.language-capsule button{
  min-height:calc(var(--capsule-height) - 2px);
  padding:var(--capsule-py) var(--capsule-px);
  font-size:var(--capsule-font);line-height:var(--capsule-line);
  border-radius:var(--capsule-radius);
}
.language-capsule button:first-child{min-width:0;padding-right:6px}
.language-capsule .language-remove{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 26px;padding:0 6px 0 0;font-size:18px;line-height:var(--capsule-line);
}
@media(pointer:coarse){
  .language-capsules,.interest-options{row-gap:10px}
  .language-capsule button,.interest-choice span{position:relative}
  .language-capsule button:after,.interest-choice span:after{content:"";position:absolute;inset:-5px 0}
}
