/* 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;
  --lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23A9BCCE' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.5'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E");
  --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, var(--font-script), sans-serif;
  --font-script:"PingFang SC", "Microsoft YaHei UI", "Noto Sans CJK SC", "Noto Sans SC",
      "Hiragino Sans", "Yu Gothic UI", "Apple SD Gothic Neo", "Malgun Gothic",
      "Noto Sans CJK KR", "SF Arabic", "Geeza Pro", "Segoe UI Arabic", "Noto Sans Arabic",
      "SF Hebrew", "Arial Hebrew", "Noto Sans Hebrew", "Nirmala UI", "Kohinoor Devanagari",
      "Noto Sans Devanagari", "Leelawadee UI", "Thonburi", "Noto Sans Thai";
  --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;
  --lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23546A7E' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.5'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E");
  --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}
}
