/* Generated by tools/build-frontdoor.js from muster/index.html and
   tools/manual.js. Edit those, never this. */
:root{
  --ground:#0A1430;
  --surface:#14223F;
  --surface2:#1C2E52;
  --line:#2E4163;
  --ink:#FFFFFF;
  --muted:#C2D1DE;
  --faint:#A9BCCE;
  --accent:#6AA3EE;
  --ctl-ink:#DDEBFC;
  --accent-fill:#1B63D6;
  --accent-ink:#FFFFFF;
  --accent-soft:#1C3F72;
  --ok:#3FBF8F;
  --warn:#FF7A70;
  --caution:#E8A33D;
  --well:#0E1A3A;
  --well-empty:#1E3A70;
  --ot-ramp:linear-gradient(to top,#2E9E78 0%,#3FBF8F 25%,
                              #4FD9A0 50%,#79ECBE 75%,#B6F8E2 100%);
  --ot-full:8;
  --ot-mid:#3FBF8F;
  --bar-p:#7E6A55;
  --ot-ink:#6FEFC4;
  --hatch:repeating-linear-gradient(135deg,#3A5688 0 4px,#1D2E52 4px 8px);
  --nowgrad:linear-gradient(180deg,#182A50,#14223F);
  --nav-bg:rgba(10,20,48,.72);
  --stop-ink:#2B0D0A;
  --ok-ink:#08211A;
  --go:#127A55;
  --go-ink:#FFFFFF;
  --s1:4px;
  --s2:8px;
  --s3:12px;
  --s4:16px;
  --s5:24px;
  --f1:0.75rem;
  --f2:0.8438rem;
  --f3:0.9063rem;
  --f4:1rem;
  --f5:1.0625rem;
  --f6:1.3125rem;
  --f7:1.5625rem;
  --f8:1.9375rem;
  --f9:2.875rem;
  --ambient:
      radial-gradient(720px 520px at 104% 16%, #173266, transparent 62%),
      radial-gradient(680px 560px at -6% 60%, #241F5E, transparent 60%),
      radial-gradient(900px 460px at 72% 106%, #12385E, transparent 62%);
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  --tab-glow:radial-gradient(120% 100% at 50% 0%, rgba(106,163,238,.30), transparent 72%);
  --glass-fill:rgba(30,52,90,.60);
  --glass-line:rgba(255,255,255,.10);
  --glass-edge:rgba(255,255,255,.22);
  --glass-sheen:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 45%,
                                          rgba(0,0,0,.04));
  --glass-shadow:0 10px 28px rgba(0,0,0,.42), 0 2px 6px rgba(0,0,0,.28);
  --glass-blur:blur(18px) saturate(150%);
  --field-inset:inset 0 1px 2px rgba(0,0,0,.30);
  --dim:#6C8095;
  --band:#172644;
  --font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --font-fig:var(--font-ui);
  --ctl-fill:rgba(34,56,96,.62);
  --accent-glass:rgba(27,99,214,.70);
  --fig-ink:#DFE7F2;
  --caution-glass:rgba(232,163,61,.86);
  --caution-ink:#1A1206;
  --rim-caution:linear-gradient(150deg, rgba(255,224,170,.75), rgba(232,163,61,.30) 45%,
                                          rgba(240,200,140,.45));
  --ok-glass:rgba(63,191,143,.78);
  --rim-ok:linear-gradient(150deg, rgba(150,240,205,.70), rgba(63,191,143,.30) 45%,
                                     rgba(120,220,185,.45));
  --edge-w:2px;
  --glass-rim:linear-gradient(150deg, rgba(198,219,247,.60), rgba(146,176,214,.22) 38%,
                                        rgba(96,126,170,.12) 62%, rgba(168,196,232,.38));
  --card-rim:linear-gradient(150deg, rgba(160,190,230,.46), rgba(100,132,180,.20) 45%,
                                       rgba(126,158,204,.32));
  --rim-accent:linear-gradient(150deg, rgba(125,175,255,.75), rgba(61,139,253,.30) 45%,
                                         rgba(100,155,235,.45));
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
}

@media (prefers-color-scheme: light){
:root{
  --ground:#E5EDFA;
  --surface:#F7FAFE;
  --surface2:#E4EDF9;
  --line:#BFCFE7;
  --ink:#0B1015;
  --muted:#3F5265;
  --faint:#546A7E;
  --accent:#1B63D6;
  --ctl-ink:#1655B8;
  --accent-fill:#1B63D6;
  --accent-ink:#FFFFFF;
  --accent-soft:#B9D0F2;
  --ok:#127A55;
  --caution:#8A5A05;
  --warn:#C0342A;
  --well:#D5E2F6;
  --well-empty:#BCD3F7;
  --sheet-edge:#7A8DA6;
  --ot-ramp:linear-gradient(to top,#34A37C 0%,#17875E 25%,
                              #0E7350 50%,#0A5E41 75%,#075030 100%);
  --ot-full:8;
  --ot-mid:#127A55;
  --bar-p:#8E7C68;
  --ot-ink:#0E6B49;
  --hatch:repeating-linear-gradient(135deg,#8FAFD6 0 4px,#C2D7F0 4px 8px);
  --nowgrad:linear-gradient(180deg,#DDEAFD,#FFFFFF);
  --nav-bg:rgba(235,242,253,.94);
  --grain:none;
  --tab-glow:none;
  --stop-ink:#FFFFFF;
  --ok-ink:#FFFFFF;
  --ambient:
      radial-gradient(900px 520px at 12% -6%, #DCE7F8, transparent 62%),
      radial-gradient(760px 480px at 92% 3%, #E1EAF9, transparent 60%);
  --glass-fill:rgba(252,254,255,.60);
  --glass-line:rgba(17,40,66,.12);
  --glass-edge:rgba(255,255,255,.85);
  --glass-sheen:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0) 45%);
  --glass-shadow:0 8px 24px rgba(20,44,72,.10), 0 1px 3px rgba(20,44,72,.07);
  --glass-blur:blur(18px) saturate(160%);
  --field-inset:inset 0 1px 2px rgba(20,44,72,.12);
  --dim:#6F8093;
  --band:#EDF3FC;
  --ctl-fill:rgba(18,42,84,.075);
  --accent-glass:rgba(27,99,214,.94);
  --fig-ink:#1C2836;
  --caution-glass:rgba(138,90,5,.96);
  --caution-ink:#FFFFFF;
  --rim-caution:linear-gradient(150deg, rgba(255,255,255,.90), rgba(138,90,5,.45) 45%,
                                          rgba(138,90,5,.35));
  --ok-glass:rgba(18,122,85,.92);
  --rim-ok:linear-gradient(150deg, rgba(255,255,255,.90), rgba(18,122,85,.45) 45%,
                                     rgba(18,122,85,.35));
  --glass-rim:linear-gradient(150deg, rgba(255,255,255,.95), rgba(176,198,228,.55) 40%,
                                        rgba(140,168,205,.35) 65%, rgba(255,255,255,.75));
  --card-rim:linear-gradient(150deg, rgba(190,208,232,.85), rgba(150,175,208,.45) 50%,
                                       rgba(200,216,238,.70));
  --rim-accent:linear-gradient(150deg, rgba(27,99,214,.55), rgba(120,160,225,.35) 50%,
                                         rgba(27,99,214,.40));
}
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--ground); color:var(--ink);
  font:16px/1.65 var(--font-ui, system-ui, sans-serif);
  display:grid; grid-template-columns:minmax(0,1fr); }
a{color:var(--accent)}
a:hover{color:var(--ink)}

/* minmax(0,1fr), not the implicit auto column: auto grows to the widest
   table's min-content, and at 320 px When it goes wrong's strip table made
   the whole page 380 wide (found 2 October 2026). The table scrolls in its
   .tw instead. */
.wrap{display:grid; grid-template-columns:minmax(0,1fr); gap:0; max-width:1100px;
  margin:0 auto; width:100%}
header.top{display:flex; justify-content:space-between; align-items:center;
  max-width:1100px; margin:0 auto; width:100%; padding:16px 20px 0}
header.top a{font-weight:600; text-decoration:none}
header.top .home{color:var(--ink)}
nav.toc{padding:20px; border-top:1px solid var(--line)}
nav.toc ol{list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:6px}
nav.toc a{display:block; padding:6px 10px; border-radius:8px;
  border:1px solid var(--line); text-decoration:none; font-size:14px;
  color:var(--faint); background:var(--surface)}
nav.toc a:hover{color:var(--ink)}
nav.toc a[aria-current]{color:var(--ink); border-color:var(--accent)}

main{padding:28px 20px 72px; max-width:72ch}
h1{font-size:30px; line-height:1.2; margin:0 0 6px; letter-spacing:-.01em}
h2{font-size:22px; line-height:1.25; margin:38px 0 10px;
  padding-top:18px; border-top:1px solid var(--line)}
h3{font-size:17px; margin:26px 0 6px}
h4{font-size:15px; margin:20px 0 4px; color:var(--faint)}
p{margin:0 0 14px}
ul,ol{margin:0 0 14px; padding-left:22px}
li{margin:0 0 6px}
hr{border:0; border-top:1px solid var(--line); margin:34px 0}
hr + h2{border-top:0; padding-top:0; margin-top:0}
strong{font-weight:600}
/* A real monospace, not the app's --font-fig: that is the UI face with
   tabular figures, which is right for a column of hours and wrong for a
   column name somebody has to type exactly. */
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9em;
  background:var(--surface2); border:1px solid var(--line);
  border-radius:5px; padding:1px 5px}
pre{background:var(--surface2); border:1px solid var(--line);
  border-radius:10px; padding:12px 14px; overflow-x:auto; margin:0 0 16px}
pre code{background:none; border:0; padding:0; font-size:13px; line-height:1.55}

blockquote{margin:0 0 18px; padding:14px 16px; background:var(--surface);
  border:1px solid var(--line); border-left:3px solid var(--caution);
  border-radius:10px}
blockquote>*:last-child{margin-bottom:0}
blockquote h3{margin-top:0; font-size:16px}

.tw{overflow-x:auto; margin:0 0 18px}
table{border-collapse:collapse; width:100%; font-size:15px}
th,td{text-align:left; vertical-align:top; padding:9px 12px;
  border-bottom:1px solid var(--line)}
th{font-weight:600; color:var(--faint); white-space:nowrap;
  border-bottom:1px solid var(--accent)}
tbody tr:last-child td{border-bottom:0}

/* The line a guide ends on (tools/guides.js): the demo, a request, the manual. */
main .next{margin-top:38px; padding-top:18px; border-top:1px solid var(--line)}

footer{border-top:1px solid var(--line); padding:18px 20px 40px;
  color:var(--faint); font-size:13px; max-width:72ch}

@media (min-width:900px){
  .wrap{grid-template-columns:240px minmax(0,1fr); gap:0 32px; padding:0 20px}
  header.top .jump{display:none}
  nav.toc{grid-column:1; grid-row:1 / span 2; position:sticky; top:0;
    align-self:start; max-height:100vh; overflow-y:auto; border-top:0;
    border-right:1px solid var(--line); padding:12px 20px 40px 0}
  main{grid-column:2; grid-row:1}
  nav.toc ol{flex-direction:column; gap:2px}
  nav.toc a{border:0; background:none; padding:5px 8px}
  nav.toc a[aria-current]{background:var(--surface); color:var(--ink)}
  main{padding:28px 0 72px}
  footer{padding:18px 0 40px; grid-column:2; grid-row:2}
}

@media print{
  header.top,nav.toc,footer{display:none}
  body{background:#fff; color:#000}
  main{max-width:none}
}
