
/* Layout: a GP's work surface. Search runs across the top, clinical areas run down a left rail, and one tool opens at a time with its result and note pinned beside the inputs. */
:root{
  --bg:#F4F6FA; --surface:#FFFFFF; --surface-2:#EDF0F7; --line:#D7DCE8; --fg:#131A2C; --muted:#586280;
  --accent:#0033CC; --accent-soft:#E4EAFB; --on-accent:#FFFFFF;
  --ok:#1D7A4E; --ok-soft:#DFF2E7; --info:#0B5CAD; --info-soft:#E1EEFA;
  --warn:#8A5A00; --warn-soft:#FAEFD4; --high:#A94605; --high-soft:#FCE4D3; --crit:#B3261E; --crit-soft:#FADDDA;
  --shadow:0 12px 32px rgba(16,28,64,.14); --logo-bg:#FFFFFF;
  --g-tools:#0033CC; --g-tools-soft:#E4EAFB; --g-forms:#17785A; --g-forms-soft:#DDF3EA; --g-links:#6A3DB0; --g-links-soft:#EEE7FA; --g-info:#A35A00; --g-info-soft:#FCEFDB;
  color-scheme:light;
  --font:Arial, "Helvetica Neue", Helvetica, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --r:8px;
}
:root.cd-dark{
  --bg:#0C1120; --surface:#141B2D; --surface-2:#1B2338; --line:#2A3450; --fg:#E7EBF5; --muted:#9AA4BF;
  --accent:#8AA4FF; --accent-soft:#1D2A55; --on-accent:#0C1120;
  --ok:#5CC895; --ok-soft:#12321F; --info:#7DB6F0; --info-soft:#13263D;
  --warn:#E6B552; --warn-soft:#382A0C; --high:#F09457; --high-soft:#3C2111; --crit:#FF8B80; --crit-soft:#3F1917;
  --shadow:0 12px 32px rgba(0,0,0,.5); --logo-bg:#F2F4F8; color-scheme:dark;
  --g-tools:#8AA4FF; --g-tools-soft:#1D2A55; --g-forms:#5CC8A0; --g-forms-soft:#11342A; --g-links:#B69BFF; --g-links-soft:#2A1F4A; --g-info:#F0B35A; --g-info-soft:#3A2A10;
}
*{box-sizing:border-box}
body{background-color:var(--bg);background-image:var(--bg-img,none);background-size:var(--bg-size,auto);background-attachment:fixed;background-position:center bottom;color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.5}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

/* Top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--top-bg, var(--surface));border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:20px;padding:10px 16px;max-width:1280px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);flex:none}
.brand-mark{width:36px;height:36px;display:grid;place-items:center;flex:none}
.brand-mark img{width:36px;height:36px;display:block;border-radius:9px}
.brand-mark svg{width:18px;height:18px}
.brand b{display:block;font-size:15px;line-height:1.15}
.brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.search{position:relative;flex:1;min-width:0;max-width:580px}
.search input{width:100%;height:40px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);color:var(--fg);font:inherit;padding:0 44px 0 38px}
.search input:focus{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface)}
.search .s-ico{position:absolute;left:12px;top:11px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.kbd{position:absolute;right:10px;top:9px;font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:4px;padding:1px 7px;color:var(--muted);background:var(--surface);pointer-events:none}
.sr-list{position:absolute;left:0;right:0;top:46px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);list-style:none;margin:0;padding:6px;max-height:65vh;overflow:auto}
.sr-list li{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:6px;cursor:pointer}
.sr-list li[aria-selected="true"]{background:var(--accent-soft)}
.sr-list li b{font-weight:bold}
.sr-list .sr-cat{color:var(--muted);font-size:12.5px;white-space:nowrap}
.sr-list .sr-empty{color:var(--muted);cursor:default}

/* Layout */
.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:1280px;margin:0 auto;padding:24px 16px 40px}
.rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px);align-self:start}
.rail-label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 10px 8px}
.rail nav{display:flex;flex-direction:column;gap:2px}
.rail a{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:6px;color:var(--fg);text-decoration:none;font-size:14px}
.rail a{justify-content:flex-start;align-items:center}.rail a .r-ic{flex:none;width:18px;height:18px;color:var(--muted);display:grid;place-items:center}.rail a .r-ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rail a[aria-current="page"] .r-ic{color:var(--accent)}
.rail a:hover{background:var(--surface-2)}
.rail a[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:bold}
.rail .count{color:var(--muted);font-family:var(--mono);font-size:12px}
.rail .sep{height:1px;background:var(--line);margin:8px 10px}
main{min-width:0}

/* Headings */
.page-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.page-h > div:first-child{min-width:0}
h1{font-size:26px;line-height:1.2;margin:0;text-wrap:balance}
.crumb{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.crumb a{color:inherit;text-decoration:none}
.crumb a:hover{color:var(--accent)}
.lede{color:var(--muted);margin:6px 0 0;max-width:65ch}
.actions{display:flex;gap:8px;flex:none;align-items:center}
h2.sec{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:30px 0 12px}

/* Tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.tile{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.tile:hover{border-color:var(--accent)}
.tile-link{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px 14px 12px;text-decoration:none;color:var(--fg);height:100%}
.tile-text{display:flex;flex-direction:column;gap:3px;min-width:0;height:100%}
.tile-link b{font-size:15px;padding-right:26px}
.ico{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}
.ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico.k-calc,.ico.k-score{background:var(--g-tools-soft);color:var(--g-tools)}
.ico.k-q,.ico.k-pdf,.ico.k-doc{background:var(--g-forms-soft);color:var(--g-forms)}
.ico.k-link{background:var(--logo-bg);border:2px solid var(--g-links-soft)}
.ico.k-link .mono{color:var(--g-links)}
.ico.k-link img{width:26px;height:26px;display:block}
.ico .mono{font-family:var(--font);font-weight:bold;font-size:11px;letter-spacing:.02em;color:var(--muted)}
.ico.sm{width:24px;height:24px;border-radius:6px}
.ico.sm svg{width:15px;height:15px}
.ico.sm img{width:16px;height:16px}
.ico.sm .mono{font-size:7.5px}
.ico.lg{width:52px;height:52px;border-radius:12px}
.ico.lg svg{width:28px;height:28px}
.title-row{display:flex;align-items:center;gap:14px;min-width:0}
.tile-link .d{font-size:13px;color:var(--muted)}
.meta{display:flex;gap:6px;margin-top:auto;padding-top:8px;flex-wrap:wrap}
.chip{font-size:11.5px;padding:2px 8px;border-radius:99px;background:var(--surface-2);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.chip.g-tools{background:var(--g-tools-soft);color:var(--g-tools)}
.chip.g-forms{background:var(--g-forms-soft);color:var(--g-forms)}
.chip.g-links{background:var(--g-links-soft);color:var(--g-links)}
.tile.g-tools{border-top:4px solid var(--g-tools)}
.tile.g-forms{border-top:4px solid var(--g-forms)}
.tile.g-links{border-top:4px solid var(--g-links)}
.tile.g-tools:hover{border-color:var(--g-tools)} .tile.g-forms:hover{border-color:var(--g-forms)} .tile.g-links:hover{border-color:var(--g-links)}
.grp-h{display:flex;align-items:center;gap:10px;margin:28px 0 12px;font-size:15px}
.grp-h:first-of-type{margin-top:8px}
.grp-h .grp-move{margin-left:auto;display:inline-flex;gap:6px}.grp-h .grp-move .btn{color:var(--fg);font-weight:normal}
.grp-h .dot{width:12px;height:12px;border-radius:4px;flex:none}
.grp-h .n{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:normal}
.grp-h.g-tools .dot{background:var(--g-tools)} .grp-h.g-forms .dot{background:var(--g-forms)} .grp-h.g-links .dot{background:var(--g-links)} .grp-h.g-info .dot{background:var(--g-info)}
.grp-h.g-tools{color:var(--g-tools)} .grp-h.g-forms{color:var(--g-forms)} .grp-h.g-links{color:var(--g-links)} .grp-h.g-info{color:var(--g-info)}
.info-block{border-top:4px solid var(--g-info)}
.theme-btn{flex:none;width:40px;height:40px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--fg);display:grid;place-items:center;cursor:pointer;margin-left:auto}
#appear-btn + #theme-btn{margin-left:-12px}
.theme-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.star{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.actions .star{position:static;border:1px solid var(--line);background:var(--surface);width:36px;height:36px}
.star:hover{background:var(--surface-2)}
.star svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.star[aria-pressed="true"]{color:var(--accent)}
.star[aria-pressed="true"] svg{fill:currentColor}
.empty{padding:18px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}

/* Area lists */
.areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 30px}
.area h3{font-size:14px;margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.area h3 a{color:var(--fg);text-decoration:none}
.area h3 a:hover{color:var(--accent)}
.area ul{list-style:none;margin:0;padding:0}
.area li{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:14px}
.area li a{flex:1;min-width:0}
.area li a{text-decoration:none}
.area li a:hover{text-decoration:underline}
.area .ty{color:var(--muted);font-size:12px;white-space:nowrap}

/* Tool */
.tool{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;min-width:0}
.result{position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px)}
.intro{margin:0 0 14px;color:var(--muted);font-size:14px}
.help-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.help-toc a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg);text-decoration:none;font-size:13.5px}.help-toc a:hover{border-color:var(--accent);color:var(--accent)}
.help-toc .r-ic,.help-sec h2 .r-ic{display:inline-grid;width:16px;height:16px;color:var(--accent)}.help-toc .r-ic svg,.help-sec h2 .r-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.help-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:22px;padding:20px;margin-bottom:14px;scroll-margin-top:80px}
.help-sec:not(:has(.help-media)){grid-template-columns:1fr}
.help-sec h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0 0 8px}.help-sec h2 .r-ic,.help-sec h2 .r-ic svg{width:20px;height:20px}
.help-text p{margin:0 0 8px;color:var(--muted)}.help-text ol{margin:0;padding-left:20px;display:grid;gap:7px;line-height:1.5}
.help-media{display:grid;gap:12px;align-content:start}.help-fig{margin:0}.help-fig img,.help-fig video{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.help-fig figcaption{font-size:12.5px;color:var(--muted);margin-top:5px}
@media (max-width:860px){.help-sec{grid-template-columns:1fr}}
.adm-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-6px 0 12px;flex-wrap:wrap}
.adm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.adm-stat{padding:14px 16px}.adm-stat b{display:block;font-size:30px;line-height:1.1}.adm-stat span{color:var(--muted);font-size:13px}
.adm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.adm-card{padding:16px}.adm-card h3{margin:0 0 10px;font-size:15px}.adm-wide{grid-column:1/-1}
.adm-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.adm-bars li{display:grid;grid-template-columns:minmax(0,42%) 1fr auto;gap:8px;align-items:center;font-size:13px}
.ab-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-t{height:10px;background:var(--surface-2);border-radius:5px;overflow:hidden}.ab-f{display:block;height:100%;background:var(--accent);border-radius:0 4px 4px 0}.ab-n{min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.adm-chart-wrap{position:relative}.adm-chart{width:100%;height:auto;display:block}.adm-chart .b{fill:var(--accent)}.adm-chart .g{stroke:var(--line);stroke-width:1}.adm-chart .t{fill:var(--muted);font-size:10px}.adm-chart .hit{fill:transparent}.adm-chart .hit:hover{fill:var(--accent-soft);fill-opacity:.5}
.adm-tip{position:absolute;pointer-events:none;background:var(--fg);color:var(--bg);font-size:12px;padding:4px 8px;border-radius:4px;white-space:nowrap}
.adm-tbl{margin-top:8px;font-size:13px}.adm-tbl table{border-collapse:collapse;margin-top:6px}.adm-tbl td,.adm-tbl th{padding:3px 12px 3px 0;text-align:left}
.adm-subs-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.adm-subs-h h3{margin:0}.adm-subs-h .btn{margin-left:auto}
.adm-table{width:100%;border-collapse:collapse;font-size:13px}.adm-table th,.adm-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.adm-table th{color:var(--muted);font-weight:600}
@media (max-width:760px){.adm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-grid{grid-template-columns:1fr}}
.subcat{margin:0 0 26px}.subcat-h{margin:0 0 10px}.subcat-h h2{font-size:17px;margin:0}.subcat-h h2 a{color:inherit;text-decoration:none}.subcat-h p{margin:2px 0 0;color:var(--muted);font-size:13px}
.form-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}.form-bar .fb-gap{flex:1}
.btn.shade{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:bold}.btn.shade:hover{filter:brightness(.97)}
.example{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--info-soft);color:var(--info);border-radius:6px;padding:8px 8px 8px 12px;font-size:13px;margin-bottom:16px}
.btn{height:36px;padding:0 14px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--accent)}
.btn.sm{height:30px;padding:0 10px;font-size:13px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:bold}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* Questionnaire */
fieldset.q{border:0;border-top:1px solid var(--line);margin:0;padding:14px 0;min-width:0}
fieldset.q:first-of-type{border-top:0;padding-top:0}
.q legend{padding:0;font-weight:bold;font-size:14.5px;margin-bottom:8px;display:flex;gap:10px;align-items:baseline}
.qn{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:600;min-width:1.4em}
.seg{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}
.seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.seg label{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:13.5px;line-height:1.3;background:var(--surface)}
.seg label:hover{border-color:var(--accent)}
.seg label b{font-family:var(--mono);color:var(--muted);font-weight:600}
.seg input:checked + label{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:bold}
.seg input:checked + label b{color:var(--accent)}
.seg input:focus-visible + label{outline:2px solid var(--accent);outline-offset:1px}
.check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 0;border-top:1px solid var(--line);cursor:pointer;font-size:14.5px}
.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.check small{display:block;color:var(--muted);font-size:12.5px}
.pts{font-family:var(--mono);color:var(--muted);font-size:13px}
.sub-head{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:bold;margin:18px 0 2px}
.sub-head:first-child{margin-top:0}
.hb{border-collapse:separate;border-spacing:4px;font-size:12.5px;min-width:340px;width:100%}
.hb th{text-align:left;color:var(--muted);font-weight:bold;white-space:nowrap;padding:0 4px}
.hb .inp input{height:34px;padding:0 6px;text-align:center}
.hrt td{height:34px}

/* Calculator fields */
.fields{display:flex;flex-direction:column;gap:16px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.f{display:flex;flex-direction:column;gap:5px;min-width:0}
.f > label{font-size:13px;font-weight:bold}
.f .hint{font-size:12px;color:var(--muted);font-weight:normal}
.inp{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:6px;background:var(--surface);overflow:hidden}
.inp input,.inp select{flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--fg);font:inherit;font-family:var(--mono);font-variant-numeric:tabular-nums;height:40px;padding:0 10px}
.inp select{font-family:var(--font);cursor:pointer}
.inp input:focus,.inp select:focus{outline:none}
.inp span{display:flex;align-items:center;padding:0 10px;background:var(--surface-2);color:var(--muted);font-size:13px;border-left:1px solid var(--line);white-space:nowrap}
.inp:focus-within{outline:2px solid var(--accent);outline-offset:-1px}
.seg.small{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));max-width:340px}
.sub{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 -6px}

/* Result */
.r-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.r-fig{font-family:var(--mono);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;min-width:0}
.r-num{font-size:42px;font-weight:600;line-height:1}
.r-unit{font-size:15px;color:var(--muted)}
.pill{font-size:13px;font-weight:bold;padding:4px 11px;border-radius:99px}
.lv-idle{background:var(--surface-2);color:var(--muted)}
.lv-ok{background:var(--ok-soft);color:var(--ok)}
.lv-info{background:var(--info-soft);color:var(--info)}
.lv-warn{background:var(--warn-soft);color:var(--warn)}
.lv-high{background:var(--high-soft);color:var(--high)}
.lv-crit{background:var(--crit-soft);color:var(--crit)}
.r-adv{margin-top:14px;font-size:14px}
.r-adv p{margin:0 0 8px}
.r-adv ul{margin:0 0 8px;padding-left:18px}
.r-adv li{margin-bottom:4px}
.flag{background:var(--crit-soft);color:var(--crit);padding:8px 10px;border-radius:6px;font-weight:bold}
.note-wrap{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.note-label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
pre.note{font-family:var(--mono);font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px dashed var(--line);border-radius:6px;padding:10px 12px;margin:6px 0 10px;min-height:44px;color:var(--fg)}
pre.note.placeholder{color:var(--muted)}
.copy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.copy-msg{font-size:13px;color:var(--ok)}

/* Tables */
.tbl-wrap{overflow-x:auto;margin-top:6px}
.kd{border-collapse:separate;border-spacing:3px;font-size:12.5px;width:100%;min-width:300px}
.kd th{font-weight:bold;text-align:left;color:var(--muted);padding:4px 6px;white-space:nowrap}
.kd td{height:30px;border-radius:4px;text-align:center;font-family:var(--mono);color:var(--fg)}
.h-g{background:var(--ok-soft)} .h-y{background:var(--warn-soft)} .h-o{background:var(--high-soft)} .h-r{background:var(--crit-soft)}
.kd td.on{outline:2px solid var(--fg);outline-offset:-2px;font-weight:bold}
.ms{width:100%;border-collapse:collapse;font-size:13.5px}
.ms td{padding:7px 6px;border-top:1px solid var(--line);vertical-align:top}
.ms td:first-child{font-family:var(--mono);white-space:nowrap;color:var(--muted);width:1%}
.ms td:last-child{font-family:var(--mono);white-space:nowrap;text-align:right}
.ms tr.past td{color:var(--muted)}
.ms tr.now td{background:var(--accent-soft);color:var(--accent);font-weight:bold}
.ref h3{font-size:14px;margin:0 0 8px}
.ref table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:18px}
.ref td{padding:6px 4px;border-top:1px solid var(--line)}
.ref td:first-child{font-family:var(--mono);white-space:nowrap}
.conv-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
.conv-row .eq{padding-bottom:10px;color:var(--muted);font-family:var(--mono)}
.conv-row .f .inp + .inp{margin-top:6px}
.pairs{display:flex;gap:6px}
.pairs .inp{flex:1;min-width:0}

/* News */
.nw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.nw-tabs button{height:34px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:14px;cursor:pointer}
.nw-tabs button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:bold}
.nw-list{list-style:none;margin:0;padding:0}
.nw-item{padding:12px 0;border-top:1px solid var(--line)}
.nw-item:first-child{border-top:0;padding-top:4px}
.nw-item > a{font-weight:bold;font-size:15px;line-height:1.35;color:var(--fg);text-decoration:none}
.nw-item > a:hover{color:var(--accent);text-decoration:underline}
.nw-meta{display:flex;gap:10px;align-items:center;margin-top:5px;font-size:12.5px;color:var(--muted)}
.nw-text{margin:6px 0 0;font-size:13.5px;color:var(--muted);max-width:75ch}
.nw-loading{padding:12px 0;color:var(--muted)}
.nw-status,.nw-sources{font-size:12.5px;color:var(--muted);margin:0 0 8px}
.nw-sources{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.nw-home{margin-top:0;border-top:4px solid var(--g-info);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.nw-home-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.nw-home-h a{font-size:13.5px;text-decoration:none;white-space:nowrap}
.nw-home-act{display:flex;align-items:center;gap:12px}
.nw-home .nw-status{margin:2px 0 6px}
.nw-list.compact .nw-item{padding:9px 0}
.nw-list.compact .nw-item > a{font-size:14px}

/* Customise desk */
.tiles.editing .tile.edit{border-style:dashed;position:relative;display:flex;flex-direction:column}
.tile.edit .tile-link{padding-right:44px;height:auto}
.tile.edit{cursor:grab;user-select:none}
.tile.edit.dragging{opacity:.35;border-style:dashed;border-color:var(--accent)}
.drag-ghost{position:fixed;left:0;top:0;z-index:100;pointer-events:none;box-shadow:var(--shadow);opacity:.95;cursor:grabbing;background:var(--surface);border-radius:var(--r);transition:none}
body.is-dragging,body.is-dragging *{cursor:grabbing!important;user-select:none!important}
.grip{position:absolute;top:6px;right:6px;width:40px;height:40px;display:grid;place-items:center;border-radius:6px;color:var(--muted);cursor:grab;touch-action:none;user-select:none}
.grip:hover{background:var(--surface-2);color:var(--accent)}
.grip svg{width:18px;height:18px;fill:currentColor}
.edit-bar{display:flex;gap:6px;padding:0 14px 12px;margin-top:auto}
.edit-bar .rm{margin-left:auto;color:var(--crit)}
.add-panel{margin-bottom:16px}
.add-panel h3{font-size:14px;margin:0 0 8px}
.add-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}
@media (max-width:760px){.add-grid{grid-template-columns:minmax(0,1fr)}}
.add-panel .inp input{font-family:var(--font)}
.add-list{list-style:none;margin:8px 0 0;padding:0;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px}
.add-list li{display:flex;align-items:center;gap:10px;padding:7px 10px;border-top:1px solid var(--line);font-size:14px}
.add-list li:first-child{border-top:0}
.al-name{flex:1;min-width:0}
.al-name small{display:block;font-size:12px;color:var(--muted)}
.al-empty{color:var(--muted)}
.opt{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;cursor:pointer}
.opt input{width:18px;height:18px;accent-color:var(--accent)}

/* Letters and results */
.ta{width:100%;min-height:72px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);font:inherit;font-size:14px;line-height:1.45;padding:8px 10px;resize:vertical}
.ta:focus{outline:2px solid var(--accent);outline-offset:-1px}
.inp input[type=text]{font-family:var(--font)}
.flag-info{background:var(--info-soft);color:var(--info);border-radius:6px;padding:9px 12px;font-size:13px;margin:0 0 14px}
.letter-side .note-label{margin-bottom:6px}
pre.letter{font-family:var(--font);font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin:0 0 10px;max-height:62vh;overflow:auto;color:var(--fg)}
.copy-msg.warn{color:var(--warn)}
#letter-tip.warn{color:var(--warn);font-weight:bold}
.lab-flags{display:flex;gap:6px 20px;flex-wrap:wrap;margin:10px 0 6px}
details.lab-panel{border-top:1px solid var(--line);padding:4px 0}
details.lab-panel summary{cursor:pointer;font-weight:bold;padding:10px 0;font-size:14.5px}
details.lab-panel[open] summary{margin-bottom:8px}
.lab-find{border-left:4px solid var(--line);background:var(--surface-2);border-radius:0 6px 6px 0;padding:8px 12px;margin-bottom:8px}
.lab-find b{font-size:14px}
.lab-find p{margin:4px 0 0;font-size:13.5px}
.lab-panel-tag{float:right;font-size:11.5px;color:var(--muted);margin-left:8px}
.lv-b-crit{border-left-color:var(--crit)} .lv-b-high{border-left-color:var(--high)} .lv-b-warn{border-left-color:var(--warn)} .lv-b-info{border-left-color:var(--info)} .lv-b-ok{border-left-color:var(--ok)}

.paste-box{border:1px dashed var(--accent);border-radius:8px;padding:12px 14px;margin:16px 0 4px;background:var(--accent-soft)}
.paste-h{display:block;font-weight:bold;font-size:14px;margin-bottom:8px;color:var(--accent)}
.paste-box .ta{background:var(--surface);margin-bottom:10px}
.paste-msg{margin:8px 0 0;font-size:13px}
.paste-msg:empty{display:none}

/* Appearance */
.has-bg .rail nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 6px}
.has-bg .rail-label{background:var(--surface);display:inline-block;padding:2px 8px;border-radius:4px;margin-left:0}
.has-bg .page-h > div:first-child,.has-bg .grp-h,.has-bg h2.sec,.has-bg .crumb{background:var(--surface);border-radius:6px}
.has-bg .page-h > div:first-child{padding:10px 14px;margin:-10px -14px}
.has-bg .grp-h{display:inline-flex;padding:6px 12px}
.has-bg h2.sec{display:inline-block;padding:4px 10px}
.has-bg .areas{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.has-bg .foot{background:var(--surface)}
.has-bg .gov{background:var(--surface);border-radius:6px;padding:8px 12px}
@media (max-width:860px){.has-bg .rail nav{background:transparent;border:0;padding:0 0 6px}}
.ap-overlay{position:fixed;inset:0;z-index:200;background:rgba(10,16,32,.45);display:flex;justify-content:flex-end}
.ap-dialog{width:min(440px,100%);height:100%;overflow:auto;background:var(--surface);color:var(--fg);box-shadow:var(--shadow);padding:calc(env(safe-area-inset-top,0px) + 18px) 20px calc(env(safe-area-inset-bottom,0px) + 24px)}
.ap-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ap-head h2{margin:0;font-size:20px}
.ap-dialog h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}
.ap-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:380px){.ap-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ap-sw{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.ap-sw[aria-checked="true"]{border:2px solid var(--accent);padding:7px 9px;font-weight:bold}
.ap-dot{width:22px;height:22px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.ap-bgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ap-bg{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:12.5px;cursor:pointer}
.ap-bg[aria-checked="true"]{border:2px solid var(--accent);padding:5px;font-weight:bold}
.ap-prev{display:grid;place-items:center;height:56px;border-radius:5px;border:1px solid var(--line);font-size:22px;color:var(--muted)}
.ap-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.ap-upload .hint{font-size:12px;color:var(--muted)}
.ap-imgrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:13.5px}
.ap-imgrow input[type=range]{flex:1;min-width:120px;accent-color:var(--accent)}
.ap-mode{display:flex;gap:8px}
.ap-mode .btn[aria-pressed="true"]{border:2px solid var(--accent);font-weight:bold}
.ap-msg{font-size:13px;color:var(--ok);min-height:1em;margin:14px 0 0}
.ap-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.theme-btn svg circle{fill:currentColor;stroke:none}

/* Accounts */
.acct-btn{flex:none;height:40px;min-width:40px;padding:0 14px;border-radius:99px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font:inherit;font-size:14px;font-weight:bold;cursor:pointer;margin-left:auto}
.acct-btn.in{background:var(--accent);color:var(--on-accent);padding:0;width:40px;letter-spacing:.02em}
#acct-btn + #appear-btn{margin-left:-12px}
.acct .intro{margin-top:4px}
.acct-msg{font-size:13.5px;color:var(--ok);margin:4px 0 0;min-height:1em}
.acct-msg.bad{color:var(--crit)}
.linkish{border:0;background:none;color:var(--accent);font:inherit;font-size:14px;cursor:pointer;padding:0;text-decoration:underline}
.acct-alt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.acct-alt p{margin:0;color:var(--muted);font-size:14px}
.acct-card{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--r);margin:8px 0 12px}
.acct-av{width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-weight:bold;font-size:17px;flex:none}
.acct-card .hint{font-size:13px;color:var(--muted)}
.acct-sync{font-size:13px;color:var(--muted);margin:0 0 14px}
.acct-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
.btn.danger{color:var(--crit);border-color:var(--crit)}
.rg-hint{font-size:12.5px;color:var(--muted);margin:-8px 0 0}
.acct .f .inp input[type=text],.acct .f .inp input[type=email],.acct .f .inp input[type=password]{font-family:var(--font)}
.join-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--accent);border-radius:var(--r);padding:14px 16px;margin-bottom:8px}
.join-bar > div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}
.join-bar span{color:var(--muted);font-size:14px}
.legal{max-width:760px}
.legal h1{margin-bottom:10px}
.legal p{max-width:70ch}
.legal-h{font-size:16px;margin:22px 0 6px}
.foot a{color:inherit}
@media (max-width:520px){.acct-btn{padding:0 10px;font-size:13px}}

.chip.mine{background:var(--accent-soft);color:var(--accent);font-weight:bold}
.cu-form{gap:10px}
.cu-list{max-height:200px}

.rail-edit{margin:10px 10px 0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;text-align:left;cursor:pointer;padding:4px 0;text-decoration:underline}
.rail-edit:hover{color:var(--accent)}
@media (max-width:860px){.rail-edit{margin:0;white-space:nowrap;border:1px dashed var(--line);border-radius:6px;padding:7px 10px;text-decoration:none;background:var(--surface)}}
.pz-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px}
.pz-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-top:1px solid var(--line);font-size:14px}
.pz-list li:first-child{border-top:0}
.pz-name{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0;flex:1}
.pz-name small{color:var(--muted);font-family:var(--mono);font-size:12px}
.pz-name input,.pz-home input{width:18px;height:18px;accent-color:var(--accent)}
.pz-move{display:flex;gap:4px}
.pz-home{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);white-space:nowrap;cursor:pointer}
.pz-links{display:flex;gap:8px;flex-wrap:wrap}

.undo-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 20px);z-index:300;display:flex;align-items:center;gap:14px;background:var(--fg);color:var(--bg);padding:10px 12px 10px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:14px;max-width:calc(100% - 32px)}
.undo-toast .btn{background:var(--bg);color:var(--fg);border-color:var(--bg);font-weight:bold}

/* Calmer layout */
.rail a{padding:6px 10px;font-size:14px}
.rail .sep{margin:6px 10px}
.desk-h{margin-bottom:14px}
.desk-h h1{font-size:24px}
.desk{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
@media (min-width:1180px){.desk.with-side{grid-template-columns:minmax(0,1fr) 330px}}
.desk-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 76px)}
.desk-side .nw-home{margin:0}
.desk-side .nw-home-h{flex-wrap:wrap}
.desk-side .nw-home-h .sec{font-size:12px}
.desk-side .nw-status{display:none}
.desk-side .nw-home-act .btn{display:none}
.desk-side .nw-home-act{gap:14px;font-size:13px}
.desk-side .nw-home-act .linkish,.desk-side .nw-home-act a{font-size:12.5px}
.desk-side .nw-item{padding:8px 0}
.desk-side .nw-item > a{font-size:13.5px;font-weight:600}
.desk-side .nw-meta{margin-top:3px;font-size:12px}
.desk-side .nw-meta .chip{font-size:11px;padding:1px 6px}
.desk-main .grp-h:first-child{margin-top:4px}
.grp-h{margin:22px 0 10px;font-size:14px}
.tiles.compact-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.tile.compact{border-top-width:3px}
.tile.compact .tile-link{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 10px 12px;min-height:102px;justify-content:flex-start}
.tile.compact .tile-link b{font-size:13.5px;line-height:1.3;padding:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile.compact .ico{width:44px;height:44px}
.mine-tag{font-size:10.5px;font-weight:bold;color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:1px 7px}
.join-bar{padding:9px 12px 9px 16px;font-size:14px;border-color:var(--line);margin-bottom:16px}
.join-bar > span:first-child{color:var(--muted);flex:1 1 260px}
.join-bar > span:first-child b{color:var(--fg)}
.join-act{display:flex;align-items:center;gap:12px}
.join-x{border:0;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}
.join-x:hover{background:var(--surface-2)}
@media (max-width:520px){.tiles.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tile.compact .tile-link{min-height:98px;padding:12px 6px 10px}.tile.compact .ico{width:38px;height:38px}.tile.compact .tile-link b{font-size:12.5px}}

.title-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.title-edit .inp input{font-family:var(--font);font-size:18px;font-weight:bold}
.rename{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;opacity:.7}
.rename:hover,.rename:focus-visible{background:var(--surface-2);color:var(--accent);opacity:1}
.rename svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}

.about{max-width:720px;line-height:1.65}
.about p{max-width:65ch;margin:0 0 14px}
.about-head{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.about-head h1{margin:0}
.about-head .crumb{margin:0 0 4px}
.about-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--accent-soft)}
.about-photo.ph{display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-size:30px;font-weight:bold;letter-spacing:.02em}
.about-list{margin:0 0 14px;padding-left:20px;max-width:65ch}
.about-list li{margin-bottom:8px}
.about-sign{margin-top:26px;display:flex;flex-direction:column;gap:2px}
.about-sign p{margin:0 0 4px}
.signature{font-family:'Caveat', 'Segoe Script', 'Bradley Hand', cursive;font-size:42px;line-height:1.1;color:var(--accent);margin:2px 0 6px}
.about-sign span{color:var(--muted);font-size:14px}
@media (max-width:520px){.about-head{flex-direction:column;align-items:flex-start}.about-photo{width:80px;height:80px}}

.acct .grid2{align-items:end}
.ta.reading{opacity:.6;background-image:linear-gradient(90deg,transparent,var(--accent-soft),transparent);background-size:200% 100%;animation:ocrscan 1.4s linear infinite}
.ta.drop{outline:2px dashed var(--accent);outline-offset:2px}
@keyframes ocrscan{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion: reduce){.ta.reading{animation:none}}
.ocr-msg{margin:8px 0 0;font-size:13px;color:var(--muted)}
.ocr-msg:empty{display:none}

/* Print */
#print-root{display:none}
@media print {
  @page{size:A4;margin:14mm}
  body.printing > *:not(#print-root){display:none!important}
  body.printing{background:#fff!important;color:#000}
  body.printing #print-root{display:block;font-family:Arial,Helvetica,sans-serif;color:#000;font-size:11.5pt;line-height:1.4}
  #print-root .pr-top{display:flex;justify-content:space-between;align-items:center;font-size:9pt;color:#444;border-bottom:1px solid #999;padding-bottom:6px;margin-bottom:10px}
  #print-root .pr-brand{display:inline-flex;align-items:center;gap:8px;font-size:12pt;color:#000}
  #print-root .pr-brand img{width:30px;height:30px;border-radius:7px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #print-root h1{font-size:18pt;margin:0 0 2px}
  #print-root h2{font-size:12pt;margin:12px 0 4px}
  #print-root .pr-sub{margin:0 0 10px;color:#444}
  #print-root .pr-id{width:100%;border-collapse:collapse;margin-bottom:10px}
  #print-root .pr-id td{border:1px solid #999;padding:6px;height:26px;font-size:10pt}
  #print-root .pr-id td:nth-child(odd){width:16%;background:#f0f0f0;font-weight:bold}
  #print-root .pr-intro{font-style:italic;margin:6px 0 8px}
  #print-root .pr-q{break-inside:avoid;border-top:1px solid #ccc;padding:6px 0}
  #print-root .pr-q p{margin:0 0 4px}
  #print-root .pr-opts{display:flex;flex-wrap:wrap;gap:4px 18px}
  #print-root .pr-opt{display:inline-flex;align-items:center;gap:6px}
  #print-root .pr-opt small{color:#555}
  #print-root .pr-check{display:flex;gap:8px;align-items:flex-start;break-inside:avoid;padding:4px 0;border-top:1px solid #ddd}
  #print-root .pr-check > span:nth-child(2){flex:1}
  #print-root .pr-pts{color:#555}
  #print-root .pr-box{display:inline-grid;place-items:center;width:13px;height:13px;border:1.4px solid #000;font-size:10px;line-height:1;flex:none}
  #print-root .pr-result{border:1.5px solid #000;padding:8px 10px;margin-top:12px;break-inside:avoid}
  #print-root .pr-result p{margin:4px 0 0}
  #print-root .pr-foot{font-size:8.5pt;color:#555;margin-top:10px}
  #print-root .pr-list{margin:0 0 8px;padding-left:18px}
  #print-root .pr-list li{margin-bottom:2px}
  #print-root .pr-bp{width:100%;border-collapse:collapse;margin:8px 0}
  #print-root .pr-bp th,#print-root .pr-bp td{border:1px solid #777;padding:4px 6px;text-align:center;font-size:10pt}
  #print-root .pr-bp th{background:#eee}
  #print-root .pr-bp tbody td{height:38px}
  #print-root .pr-bp tbody td:first-child{font-weight:bold;width:9%}
  #print-root .pr-bp tbody td:nth-child(2){width:13%}
  #print-root .pr-bp tbody td:last-child{width:22%}
  #print-root .pr-bp.filled tbody td{height:26px}
  #print-root .pr-bp.filled tbody td:last-child{width:auto}
}

.navbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-6px 0 14px}
.navbar a{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 9px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--fg);text-decoration:none;font-size:13.5px;font-weight:600}
.navbar a:hover{border-color:var(--accent);color:var(--accent)}
.navbar a.nav-back{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
.navbar a.nav-back:hover{border-color:var(--accent)}
.navbar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav-sep{color:var(--muted);font-size:13px}

.ico.kid{position:relative;background:#FFF4E5;border-color:#F6C77A}
.cd-dark .ico.kid{background:#3A2A10;border-color:#8A6420}
.kid-badge{position:absolute;right:-6px;bottom:-6px;width:20px;height:20px;border-radius:50%;background:#E8890C;color:#fff;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}
.kid-badge svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ico.sm .kid-badge{width:13px;height:13px;right:-4px;bottom:-4px}
.ico.sm .kid-badge svg{width:9px;height:9px}
.kid-tag{display:inline-block;margin-left:8px;vertical-align:2px;font-size:10.5px;font-weight:bold;color:#9A4E00;background:#FFF0D9;border:1px solid #F6C77A;border-radius:99px;padding:0 7px;line-height:17px}
.cd-dark .kid-tag{color:#F6C77A;background:#3A2A10;border-color:#8A6420}
.tile.compact .kid-tag{margin-left:0}

/* Governance + footer */
.gov{margin-top:16px;font-size:12.5px;color:var(--muted);display:flex;gap:6px 18px;flex-wrap:wrap}
.foot{max-width:1280px;margin:0 auto;padding:18px 16px 32px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.foot p{margin:0;max-width:90ch}

@media (max-width:980px){ .tool{grid-template-columns:minmax(0,1fr)} .result{position:static} }
@media (max-width:860px){
  .layout{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:12px}
  .rail{position:static}
  .rail-label,.rail .count,.rail .sep{display:none}
  .rail nav{flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:6px}
  .rail a{white-space:nowrap;border:1px solid var(--line);background:var(--surface);font-size:13.5px}
  .brand small,.kbd{display:none}
  h1{font-size:22px}
}
@media (max-width:520px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tile-link{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 12px 10px}
  .tile-link .d,.tile-link .meta .chip + .chip{display:none}
  .tile-link b{font-size:14px;padding-right:24px;line-height:1.3}
  .tile .star{top:4px;right:4px}
  .ico{width:36px;height:36px}
  .edit-bar{flex-wrap:wrap;padding:0 10px 10px}
  .edit-bar .rm{margin-left:0}
  .tile.edit .tile-link{padding-right:40px}
}
@media (max-width:520px){ .brand b{display:none} .top-in{gap:12px} .r-num{font-size:36px} .page-h{flex-direction:column} }
