/* ===========================================================================
   crAIze Council – user interface.
   Same palette, type and shapes as craize.de and crAIze Club (pill buttons,
   18px radii, mono uppercase labels), so the products read as one family.

   One file for every entry point (citizen portal, member portal, body back
   office, platform admin, login). A brand change is a change here, not in
   fifty templates.
   =========================================================================== */

/* --- Fonts: shipped, never fetched -----------------------------------------
   craize.de loads Space Grotesk, Inter and JetBrains Mono from Google. Here
   they live in the package: a council portal that reports every visitor's IP
   to a third party on each page view is a privacy problem nobody needs.
   All three are SIL Open Font License; the licence texts sit in fonts/.
   ------------------------------------------------------------------------ */
@font-face{font-family:"Inter var";src:url("fonts/inter.260c81a4759b.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-500.ab4861869c91.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-700.f9e147a59a93.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono var";src:url("fonts/jetbrains-mono.b058178d7f30.woff2") format("woff2");
  font-weight:100 800;font-style:normal;font-display:swap}

:root{
  --paper:#07090f; --surface:#0b0f1a; --surface2:#141b2b;
  --raised:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.008));

  --ink:#eef2f8; --ink-soft:#aab4c6; --quiet:#6b7689;

  --line:rgba(255,255,255,.10); --line-fine:rgba(255,255,255,.055);
  --line-strong:rgba(255,255,255,.18);

  --accent:#4cf0ff; --accent-2:#3b6cff; --accent-soft:rgba(76,240,255,.10);
  --gradient:linear-gradient(120deg,#4cf0ff,#3b6cff);

  --good:#3ddc97; --good-soft:rgba(61,220,151,.12);
  --warn:#ffb547; --warn-soft:rgba(255,181,71,.12);
  --bad:#ff5d7a; --bad-soft:rgba(255,93,122,.12);

  --display:"Space Grotesk","Segoe UI",system-ui,sans-serif;
  --sans:"Inter var","Inter","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --mono:"JetBrains Mono var","JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;

  --radius:18px; --radius-small:12px;
  --ease:cubic-bezier(.22,1,.36,1);
  --width:1160px;
}

*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:rgba(76,240,255,.25)}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:50;background:var(--ink);color:#05070c;padding:8px 14px;border-radius:999px}

/* --- Header ---------------------------------------------------------------- */
header.top{background:rgba(11,15,26,.86);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}
.top .bar{max-width:var(--width);margin:0 auto;padding:13px 22px 0;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* The brand: mark as SVG file, wordmark as text so the page font applies. */
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand .sign{width:30px;height:30px;display:block;flex:none}
.wordmark{font-family:var(--display);font-weight:700;font-size:1.12rem;
  letter-spacing:-.025em;color:var(--ink);white-space:nowrap}
.wordmark b{font-weight:700;background:var(--gradient);-webkit-background-clip:text;
  background-clip:text;color:transparent}
.wordmark .part{font-family:var(--mono);font-weight:500;font-size:.58em;
  letter-spacing:.18em;text-transform:uppercase;color:var(--quiet);
  margin-left:7px;vertical-align:2px}
.brand-sep{width:1px;height:26px;background:var(--line);flex:none}

.body-name{font-family:var(--display);font-size:1.12rem;font-weight:600;letter-spacing:-.015em;color:var(--ink);text-decoration:none}
.top .account{margin-left:auto;font-size:13.5px;color:var(--quiet);
  display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.top .account form{display:inline}

/* Body switcher – plain HTML, no script. */
.switch{position:relative}
.switch>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px}
.switch>summary::-webkit-details-marker{display:none}
.switch>summary::after{content:"";border:5px solid transparent;border-top-color:var(--quiet);margin-top:5px;align-self:center}
.switch[open]>summary::after{transform:rotate(180deg);margin-top:-5px}
.switch>summary:hover .body-name{color:var(--accent)}
.switch-list{position:absolute;top:calc(100% + 10px);left:0;z-index:40;min-width:288px;
  background:var(--surface2);border:1px solid var(--line-strong);border-radius:var(--radius-small);
  box-shadow:0 18px 40px rgba(0,0,0,.55);padding:6px}
.switch-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:14.5px}
.switch-list a:hover{background:rgba(255,255,255,.06)}
.switch-list a[aria-current]{font-weight:600;color:var(--accent)}

.role-flag{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent);background:var(--accent-soft);
  border:1px solid rgba(76,240,255,.22);border-radius:999px;padding:3px 10px;white-space:nowrap}

/* Navigation: pills like craize.de, the active item filled. */
nav.main{max-width:var(--width);margin:0 auto;padding:8px 22px 10px;
  display:flex;gap:2px;flex-wrap:wrap;align-items:center}
nav.main a{padding:8px 14px;border-radius:999px;color:var(--ink-soft);
  text-decoration:none;font-size:14.5px;font-weight:500;transition:color .2s,background .2s}
nav.main a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
nav.main a.active{color:#05070c;background:var(--ink);font-weight:600}
nav.main form.search{margin-left:auto;display:flex;gap:6px}
nav.main form.search input{width:220px;padding:7px 14px;border:1px solid var(--line);
  border-radius:999px;font:inherit;font-size:14px;background:#070a12;color:var(--ink)}
nav.main form.search input:focus{border-color:rgba(76,240,255,.45)}
nav.sub{display:flex;gap:2px;flex-wrap:wrap;margin:-8px 0 26px}
nav.sub a{padding:6px 12px;border-radius:999px;color:var(--ink-soft);text-decoration:none;font-size:13.5px}
nav.sub a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
nav.sub a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}
nav.sub a .n{font-family:var(--mono);font-size:11px;color:var(--quiet);margin-left:6px}

/* --- Content --------------------------------------------------------------- */
main{max-width:var(--width);margin:0 auto;padding:34px 22px 90px}
h1{font-family:var(--display);font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.12;margin:0 0 6px}
.subline{color:var(--ink-soft);margin:0 0 28px}
.subline a{color:var(--ink-soft)}
h2{font-family:var(--display);font-size:1.3rem;font-weight:600;letter-spacing:-.02em;
  margin:36px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--line)}
h2:first-child{margin-top:0}
h3{font-family:var(--display);font-weight:600;letter-spacing:-.015em;margin:22px 0 8px}
.quiet{color:var(--quiet)} .soft{color:var(--ink-soft)}
.mono{font-family:var(--mono);font-size:13px}
.marker{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:9px;margin-bottom:14px}
.marker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}

/* Tiles. The joints are tile borders, not gaps in the background. */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:28px}
.tile{background:var(--raised);padding:19px 21px;border-left:1px solid var(--line-fine);color:inherit;text-decoration:none}
.tile:first-child{border-left:0}
a.tile:hover{background:rgba(255,255,255,.05)}
.tile .num{font-family:var(--display);font-size:2rem;font-weight:700;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.tile .label{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--quiet);margin-top:8px}
.tile .extra{font-size:13px;color:var(--ink-soft);margin-top:5px;line-height:1.45}

/* Panels and two-column layout. */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:22px}
.panel>h2:first-child,.panel>h3:first-child{margin-top:0}
.cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.cols-wide{display:grid;gap:22px;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
@media(max-width:860px){.cols-wide{grid-template-columns:1fr}}

/* Definition rows (meeting info, paper metadata). */
.facts{display:grid;grid-template-columns:max-content 1fr;gap:9px 24px;margin:0}
.facts dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--quiet);padding-top:3px}
.facts dd{margin:0}
@media(max-width:560px){.facts{grid-template-columns:1fr;gap:2px 0}.facts dd{margin-bottom:10px}}

/* --- Tables ---------------------------------------------------------------- */
table{width:100%;border-collapse:collapse;font-size:15px}
th{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--quiet);text-align:left;padding:0 14px 9px 0;border-bottom:1px solid var(--line);font-weight:500}
td{padding:11px 14px 11px 0;border-bottom:1px solid var(--line-fine);vertical-align:top}
tr:hover td{background:rgba(255,255,255,.028)}
td.num,th.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
td.group{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);padding-top:18px}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 18px;margin-bottom:22px}
.table-wrap table{min-width:520px}
.date{font-family:var(--mono);font-size:13px;color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}

/* --- Buttons --------------------------------------------------------------- */
/* The full button is light on dark, not accent-coloured: white on #4cf0ff is unreadable. */
.btn{display:inline-flex;align-items:center;gap:9px;padding:9px 20px;border-radius:999px;
  background:var(--ink);color:#05070c;border:1px solid var(--ink);
  font:inherit;font-weight:600;font-size:14.5px;cursor:pointer;text-decoration:none;
  transition:background .22s,border-color .22s,color .22s,transform .22s var(--ease)}
.btn:hover{background:var(--accent);border-color:var(--accent);color:#05070c}
.btn.quiet{background:transparent;color:var(--ink-soft);border-color:var(--line-strong)}
.btn.quiet:hover{border-color:var(--accent);color:var(--accent);background:rgba(76,240,255,.06)}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#1a0509}
.btn.danger:hover{background:#ff7d94;border-color:#ff7d94;color:#1a0509}
.btn.small{padding:5px 14px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* --- Flags ----------------------------------------------------------------- */
.flag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.07em;
  text-transform:uppercase;padding:2px 9px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;vertical-align:middle}
.flag-good{color:var(--good);background:var(--good-soft)}
.flag-warn{color:var(--warn);background:var(--warn-soft)}
.flag-bad{color:var(--bad);background:var(--bad-soft)}
.flag-quiet{color:var(--quiet);background:rgba(255,255,255,.04)}
.flag-accent{color:var(--accent);background:var(--accent-soft)}
.flag a{color:inherit;text-decoration:none}

/* --- Forms ----------------------------------------------------------------- */
form.sheet{max-width:720px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.field{margin-bottom:18px}
.field label{display:block;font-size:13.5px;color:var(--ink-soft);margin-bottom:6px;font-weight:500}
.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=date],
.field input[type=time],.field input[type=datetime-local],.field input[type=number],.field input[type=search],
.field input[type=url],.field input[type=tel],.field select,.field textarea{
  width:100%;padding:10px 12px;background:#070a12;border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(76,240,255,.45)}
.field textarea{min-height:130px}
.field input[type=file]{color:var(--ink-soft);font-size:14px}
.field select[multiple]{min-height:120px}
.field .help{font-size:12.5px;color:var(--quiet);margin-top:5px;line-height:1.5}
.field .errorlist{font-size:13.5px;color:var(--bad);margin:0 0 6px;padding:0;list-style:none;font-weight:500}
.field.check{display:flex;gap:10px;align-items:center}
.field.check label{margin:0}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px;padding-top:21px;border-top:1px solid var(--line)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}

.search-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.search-bar input,.search-bar select{padding:9px 13px;border:1px solid var(--line);border-radius:999px;
  font:inherit;font-size:14.5px;background:#070a12;color:var(--ink)}
.search-bar input:focus,.search-bar select:focus{border-color:rgba(76,240,255,.45)}
.search-bar label{font-size:13px;color:var(--quiet);display:flex;align-items:center;gap:8px}
.search-bar .right{margin-left:auto}

/* --- Bands ----------------------------------------------------------------- */
.notice{padding:13px 18px;margin-bottom:22px;border-radius:var(--radius-small);
  border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface)}
.notice.success{border-left-color:var(--good)}
.notice.error{border-left-color:var(--bad)}
.notice.warning{border-left-color:var(--warn)}
.hint{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-small);padding:16px 18px;color:var(--ink-soft);font-size:14px}
.empty{color:var(--quiet);padding:34px 0;text-align:center}
pre.log{background:#070a12;border:1px solid var(--line);border-radius:var(--radius-small);padding:14px 16px;
  max-height:420px;overflow:auto;font:12.5px/1.5 var(--mono);white-space:pre-wrap;color:var(--ink-soft)}

/* --- Tabs (meeting: agenda / information / attendance) --------------------- */
.tabs{display:flex;gap:2px;flex-wrap:wrap;margin:0 0 22px;padding:4px;background:var(--surface);
  border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%}
.tabs a{padding:7px 16px;border-radius:999px;color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:500}
.tabs a.active{background:var(--ink);color:#05070c;font-weight:600}
.tabs a:hover:not(.active){color:var(--ink);background:rgba(255,255,255,.06)}

/* --- Meetings and agenda --------------------------------------------------- */
.meetings{list-style:none;margin:0;padding:0}
.meetings li{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:start;
  padding:14px 0;border-bottom:1px solid var(--line-fine)}
.meetings li:last-child{border-bottom:0}
.meetings .when{font-family:var(--mono);line-height:1.25}
.meetings .when .day{font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.03em;font-family:var(--display)}
.meetings .when .rest{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--quiet)}
.meetings .what a{color:var(--ink);text-decoration:none;font-weight:600}
.meetings .what a:hover{color:var(--accent)}
.meetings .what .meta{font-size:13.5px;color:var(--quiet);margin-top:2px}
.meetings .ics{color:var(--quiet);text-decoration:none;font-size:13px;border:1px solid var(--line);border-radius:999px;padding:4px 11px;white-space:nowrap}
.meetings .ics:hover{color:var(--accent);border-color:var(--accent)}
.section-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.section-head .time{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--quiet)}

.agenda{list-style:none;margin:0;padding:0}
.agenda li{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line-fine)}
.agenda li:last-child{border-bottom:0}
.agenda .no{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--accent);padding-top:3px}
.agenda .subject{font-weight:600;color:var(--ink);text-decoration:none;font-size:15.5px}
.agenda .subject:hover{color:var(--accent)}
.agenda .meta{font-size:13.5px;color:var(--ink-soft);margin-top:4px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.agenda .meta .ref{font-family:var(--mono);font-size:12.5px}
.files{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.files a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;
  padding:5px 13px 5px 10px;text-decoration:none;color:var(--ink-soft);font-size:13.5px;background:rgba(255,255,255,.02)}
.files a:hover{border-color:var(--accent);color:var(--accent)}
.files a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.75;flex:none}
.files a.role-invitation::before{background:var(--good)}
.files a.role-results_protocol::before{background:var(--warn)}
.resolution{white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:var(--radius-small);padding:16px 20px;line-height:1.6}

/* --- Calendar -------------------------------------------------------------- */
.cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
.cal-head div{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--quiet);padding:0 8px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal .d{min-height:96px;background:var(--surface);border:1px solid var(--line-fine);border-radius:var(--radius-small);padding:8px 9px;font-size:13px}
.cal .d.other{opacity:.38}
.cal .d.today{border-color:var(--accent)}
.cal .d .n{font-family:var(--mono);font-size:12px;color:var(--quiet)}
.cal .d.today .n{color:var(--accent);font-weight:700}
.cal .d a{display:block;margin-top:6px;color:var(--ink);text-decoration:none;font-size:12.5px;line-height:1.3;
  padding:4px 7px;border-radius:7px;background:var(--accent-soft);border-left:2px solid var(--accent)}
.cal .d a:hover{background:rgba(76,240,255,.2)}
.cal .d a.internal{border-left-color:var(--warn);background:var(--warn-soft)}
@media(max-width:720px){.cal,.cal-head{grid-template-columns:1fr}.cal-head{display:none}.cal .d.other{display:none}.cal .d{min-height:0}.cal .d:empty{display:none}}

.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.toolbar .right{margin-left:auto}
.toolbar h1{margin:0}
.pager{display:flex;gap:10px;align-items:center;margin-top:16px;color:var(--quiet);font-size:13.5px}

/* --- Platform level: same shapes, amber accent ----------------------------- */
body.platform{--accent:#ffb547;--accent-2:#ff8a5b;--accent-soft:rgba(255,181,71,.12);
  --gradient:linear-gradient(120deg,#ffb547,#ff8a5b)}
body.platform .wordmark b{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
body.platform .brand .sign{filter:hue-rotate(168deg) saturate(1.25)}

/* --- Entry pages without header (login, reset) ----------------------------- */
.entry-center{min-height:100dvh;display:grid;place-items:center;padding:28px}
.entry-card{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:34px 32px;box-shadow:0 26px 70px rgba(0,0,0,.45)}
.entry-card .brand{margin-bottom:22px}
.entry-card h1{font-size:1.5rem;margin-bottom:4px}
.entry-card .sub{color:var(--quiet);margin:0 0 26px;font-size:14.5px}
.entry-center::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(760px circle at 50% -10%,rgba(59,108,255,.20),transparent 62%),
             radial-gradient(520px circle at 82% 108%,rgba(76,240,255,.11),transparent 60%)}

/* --- Footer ---------------------------------------------------------------- */
footer.foot{max-width:var(--width);margin:0 auto;padding:20px 22px 40px;color:var(--quiet);font-size:13px;
  border-top:1px solid var(--line-fine);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
footer.foot a{color:var(--quiet)}
footer.foot a:hover{color:var(--accent)}

@media(max-width:640px){
  .top .bar{padding:12px 16px 0}
  .top .account{width:100%;margin:8px 0 0}
  nav.main{padding:6px 12px 10px}
  nav.main form.search{width:100%;margin:6px 0 0}
  nav.main form.search input{width:100%}
  main{padding:26px 16px 70px}
  h1{font-size:1.6rem}
  .meetings li{grid-template-columns:64px 1fr}
  .meetings .ics{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms !important;animation-duration:.01ms !important}}

/* --- Document viewer --------------------------------------------------- */
.doc-pages{display:flex;flex-direction:column;gap:18px;align-items:center}
.doc-page{margin:0;width:100%;max-width:935px}
.doc-page img{display:block;width:100%;height:auto;background:#fff;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.doc-page figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--quiet);text-align:center;margin-top:6px}
.doc-text pre{white-space:pre-wrap;font:15px/1.6 var(--sans);margin:0;color:var(--ink)}

/* --- Search results ------------------------------------------------------ */
.hits{list-style:none;margin:0;padding:0}
.hit{padding:16px 0;border-bottom:1px solid var(--line-fine)}
.hit:last-child{border-bottom:0}
.hit-head{display:flex;gap:10px;align-items:center;margin-bottom:4px}
.hit-title{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.hit-title:hover{color:var(--accent)}
.hit-meta{font-size:13.5px;color:var(--quiet);margin-top:2px}
.hit-snippet{font-size:14.5px;color:var(--ink-soft);margin-top:6px;line-height:1.55}
mark{background:rgba(76,240,255,.22);color:var(--ink);border-radius:3px;padding:0 2px}
.note-panel textarea{min-height:110px}
