.diag{max-width:var(--page-w);margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-5)}.diag h1{font-size:var(--fs-xl);margin:0}.diag h2{font-size:var(--fs-md);margin:0}.diag h3{font-size:var(--fs);margin:var(--sp-4) 0 var(--sp-2);color:var(--muted)}.diag-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--sp-4)}.diag-head p{margin:var(--sp-2) 0 0}.diag-head-acts,.diag-acts{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.diag-back{color:var(--muted);text-decoration:none;font-size:var(--fs-sm)}.diag-box{background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);box-shadow:var(--shadow-sm)}.diag-box-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.diag-switch{margin:0;align-self:flex-start}.diag-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--sp-2) 0;line-height:var(--lh)}.diag-ai.running{color:var(--amber)}.diag-lines{list-style:none;margin:0;padding:0}.diag-lines li{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--row-h);padding:var(--sp-3) var(--sp-4);border-bottom:var(--border) solid var(--line)}.diag-lines li:nth-child(2n){background:var(--row-alt)}.diag-ro{font-weight:var(--fw-semi);white-space:nowrap;min-width:70px}.diag-grow{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--ink);text-decoration:none}.diag-grow small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diag-concerns{margin:0;padding-left:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}.diag-concern{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;background:transparent;border:0;box-shadow:none;padding:var(--sp-2) 0;min-height:0;white-space:normal}.diag-concern small{color:var(--muted);font-weight:400}.diag-steps{display:grid;grid-template-columns:1fr 1fr .8fr;gap:var(--sp-6);padding:var(--sp-2) 0 var(--sp-4);border-bottom:var(--border) solid var(--line)}.diag-steps ol,.diag-steps ul{margin:0;padding-left:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2)}.diag-steps p{margin:0}.diag-steps .muted{display:block;font-size:var(--fs-sm)}.diag-next{border-left:var(--mark) solid var(--accent);padding-left:var(--sp-5);margin-bottom:var(--sp-6)}.diag-group+.diag-group{margin-top:var(--sp-5)}.diag-checks{list-style:none;margin:0;padding:0;border-top:var(--border) solid var(--line)}.diag-check{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--sp-3) var(--sp-5);align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:var(--border) solid var(--line);border-left:var(--mark) solid transparent}.diag-check:nth-child(2n){background:var(--row-alt)}.diag-check.pass{border-left-color:var(--green)}.diag-check.fail{border-left-color:var(--accent)}.diag-check-main{display:flex;gap:var(--sp-4);align-items:flex-start;cursor:pointer}.diag-check-main input{width:auto;min-height:0;margin-top:var(--sp-1)}.diag-check-main .chip{margin-left:var(--sp-3)}.diag-check-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--sp-3);align-items:center}.diag-who{grid-column:1 / -1}.diag-pf{display:inline-flex;gap:var(--sp-2)}.diag-pf button.on.pass{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);color:var(--green)}.diag-pf button.on.fail{color:var(--accent)}.diag-addtest{margin-top:var(--sp-5)}.diag-addtest{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.diag-addtest select{flex:0 1 var(--col-url-w);width:auto}.diag-addtest input{flex:1 1 var(--col-url-w);width:auto}.diag-drop{border:2px dashed var(--line-strong);border-radius:var(--radius-lg);padding:var(--sp-6);text-align:center;margin-bottom:var(--sp-5)}.diag-drop p{margin:var(--sp-2) 0}.diag-drop.over{border-color:var(--accent);background:var(--accent-soft)}.diag-files{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--sp-5)}.diag-file{display:flex;flex-direction:column;gap:var(--sp-3)}.diag-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;width:100%;padding:0;overflow:hidden;background:var(--sunken);border-radius:var(--radius);min-height:0}.diag-thumb img{width:100%;height:100%;object-fit:cover}.diag-thumb.doc{font-weight:var(--fw-bold);color:var(--muted)}.diag-file-meta{display:flex;flex-direction:column;gap:var(--sp-1);overflow-wrap:anywhere}.diag-viewer{position:fixed;inset:0;z-index:60;background:var(--ink);display:flex;flex-direction:column}.diag-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);background:var(--surface)}.diag-viewer-body{flex:1;overflow:auto;touch-action:pan-x pan-y pinch-zoom}.diag-viewer-body img{display:block;margin:0 auto;max-width:none}.diag-viewer-body img.z1{width:100%;height:100%;object-fit:contain}.diag-viewer-body img.z2{width:200%}.diag-viewer-body img.z3{width:300%}.diag-viewer-body img.z4{width:400%}.diag-chat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-4)}.diag-chat li{max-width:85%;padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-lg);background:var(--surface-2);border:var(--border) solid var(--line)}.diag-chat li.me{align-self:flex-end;background:var(--accent-soft);border-color:var(--accent-soft)}.diag-chat li.err{border-color:var(--accent)}.diag-chat-form{margin-top:var(--sp-5);align-items:stretch}.diag-chat-form textarea{flex:1;font:inherit}.diag-switchbox p{margin:0}.diag-alldata{border-left:var(--mark) solid var(--line-strong);padding-left:var(--sp-5);margin-bottom:var(--sp-5)}.diag-alldata.done{border-left-color:var(--green)}.diag-alldata.blocked,.diag-alldata.failed{border-left-color:var(--accent)}.diag-alldata p{margin:var(--sp-2) 0}.diag-runners{list-style:none;padding:0;margin:var(--sp-2) 0}.diag-runners li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) 0;border-bottom:var(--border) solid var(--line)}.diag-runners label{display:inline-flex;align-items:center;gap:var(--sp-2);margin:0}.diag-runners input[type=radio]{width:auto;height:auto;margin:0;flex:none}.diag-runners .chip{margin-left:var(--sp-2)}.diag-paircode{font-size:var(--fs-sm);padding:0 var(--sp-2);background:var(--sunken);border-radius:var(--radius)}.diag-runlog{margin-top:var(--sp-3)}.diag-runlog ol{margin:var(--sp-2) 0;padding-left:var(--sp-5);overflow-wrap:anywhere}.diag-runlog li{margin:var(--sp-1) 0}.diag-runlog-error{color:var(--accent)}.diag-file-meta .chip{margin-right:var(--sp-2)}.diag-home-card{max-width:var(--narrow-w);margin:calc(-1 * var(--sp-7)) auto var(--sp-8);padding:0 var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}@media(max-width:760px){.diag-steps{grid-template-columns:1fr;gap:var(--sp-2)}.diag-check{grid-template-columns:1fr}.diag-check-fields{grid-template-columns:1fr auto}.diag-check-fields input:last-of-type{grid-column:1 / -1}.diag-box{padding:var(--sp-4)}.diag-chat li{max-width:100%}}.diag-thin{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-5);border-left:var(--mark) solid var(--amber);background:var(--row-alt);border-radius:var(--radius)}.diag-crm{white-space:nowrap;font-size:var(--fs-sm)}.diag-session .tabbar{margin:0 calc(-1 * var(--sp-6))}.diag-search{width:100%;min-height:44px;font-size:16px;margin-bottom:var(--sp-4)}.diag-hint{margin:0 0 var(--sp-4)}.diag-check-main .diag-box-check{width:28px;height:28px;min-height:28px;flex:0 0 28px;margin:0;accent-color:var(--accent);cursor:pointer}.diag-check-main label{cursor:pointer;padding-top:var(--sp-1)}.diag-check.done{border-left-color:var(--line-strong)}.diag-check-fields input{min-height:44px;font-size:16px}.diag-pf button{min-height:44px;min-width:64px}.diag-mark{margin:var(--sp-3) auto}.diag-wires{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-6)}.diag-wire{display:block;width:100%;padding:0;min-height:0;border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;cursor:zoom-in}.diag-wire img{display:block;width:100%;height:auto}.diag-file-meta select{width:auto;min-height:36px}.diag-viewer-body img.z5{width:500%}.diag-viewer-body img.z6{width:600%}.diag-specs{width:100%;border-collapse:collapse;margin-bottom:var(--sp-5)}.diag-specs th,.diag-specs td{text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:var(--border) solid var(--line);vertical-align:top}.diag-specs th{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semi)}.diag-specs tbody tr:nth-child(2n){background:var(--row-alt)}.diag-specs tr.unchecked td:first-child{border-left:var(--mark) solid var(--amber)}.diag-specs .chip{margin-left:var(--sp-3)}.diag-warn{color:var(--amber);border-color:var(--amber)}.diag-spec-acts{white-space:nowrap}.diag-spec-acts button+button{margin-left:var(--sp-5)}.diag-spec-form{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.diag-spec-form input{flex:1 1 140px;width:auto;min-height:44px;font-size:16px}.diag-spec-form input:nth-child(3){flex:0 1 90px}.diag-wrapup-text{width:100%;font:inherit;font-size:16px;line-height:var(--lh);margin-bottom:var(--sp-4)}.diag-ok{color:var(--green);margin:var(--sp-3) 0 0}@media(max-width:600px){.diag-specs thead{display:none}.diag-specs,.diag-specs tbody,.diag-specs tr,.diag-specs td{display:block;width:100%}.diag-specs tr{padding:var(--sp-3) 0;border-bottom:var(--border) solid var(--line)}.diag-specs td{border:0;padding:var(--sp-1) var(--sp-3)}.diag-specs td[data-label]:not(:first-child):before{content:attr(data-label) ": ";color:var(--muted);font-size:var(--fs-sm)}.diag-specs .chip{margin:var(--sp-2) 0 0;display:inline-block}.diag-check-fields{grid-template-columns:1fr auto}.diag-check-fields .diag-reading{grid-column:1 / -1}.diag-check-fields .diag-pf{grid-column:1 / -1;display:flex}.diag-pf button{flex:1}.diag-check-fields .diag-note{grid-column:1 / -1}.diag-addtest select{flex:1 1 100%;min-width:0;max-width:100%}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-italic-zoDFlEzN.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-italic-Drp6JL_V.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-italic-BLN19cOa.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-italic-C-sRFhvU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-italic-C7D4Dq0H.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-italic-Ce3U_qGW.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-italic-B7_QYl3c.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-italic-7zG0SGDK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-italic-Cj8BerOQ.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-italic-Cttr6ITu.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-italic-DZulBB6l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Inter Variable", Inter, Arial, Helvetica, sans-serif;--font-verse: "Source Serif 4", Georgia, "Times New Roman", serif;--fs-xxs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs: 13px;--fs-md: 14px;--fs-lg: 17px;--fs-verse: 19px;--fs-xl: 22px;--lh: 1.4;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 12px;--sp-6: 16px;--sp-7: 24px;--sp-8: 48px;--radius: 8px;--radius-lg: 10px;--radius-pill: 99px;--border: 1px;--mark: 3px;--row-h: 30px;--control-h: 32px;--bar-h: 52px;--tab-h: 40px;--side-w: 210px;--page-w: 1200px;--narrow-w: 760px;--stack-w: 340px;--col-name-w: 130px;--col-url-w: 220px;--col-user-w: 180px;--col-w: 100px;--col-note-w: 190px;--switch-w: 34px;--switch-h: 18px;--icon: 16px;--icon-box: 28px;--avatar: 26px;--doc-side-w: 250px;--doc-w: 760px;--doc-indent: 14px;--embed-h: min(75vh, 720px);--fs-doc: 15px;--fs-doc-h1: 24px;--fs-doc-h2: 19px;--fs-doc-h3: 16px;--fs-doc-title: 28px;--lh-doc: 1.55;--bg: #f5f5f3;--surface: #ffffff;--surface-2: #fafaf8;--sunken: #ebebe7;--ink: #18181b;--ink-2: #2a2a2e;--muted: #6b6b72;--faint: #b4b4ae;--line: #e8e8e4;--line-strong: #dcdcd6;--row-alt: #fafaf8;--accent: #ee0000;--accent-ink: #c40000;--accent-soft: #fdecec;--on-accent: #ffffff;--green: #1e7a3c;--amber: #9a6a00;--shadow-sm: 0 1px 2px rgba(16, 16, 20, .05), 0 1px 3px rgba(16, 16, 20, .06);--shadow-md: 0 4px 14px rgba(16, 16, 20, .08);--shadow: 0 8px 28px rgba(16, 16, 20, .14);--scrim: rgba(0, 0, 0, .3);--speed: .15s;--c-gray: #787774;--cb-gray: #f1f1ef;--c-brown: #9f6b53;--cb-brown: #f4eeee;--c-orange: #d9730d;--cb-orange: #fbecdd;--c-yellow: #cb912f;--cb-yellow: #fbf3db;--c-green: #448361;--cb-green: #edf3ec;--c-blue: #337ea9;--cb-blue: #e7f3f8;--c-purple: #9065b0;--cb-purple: #f6f3f9;--c-pink: #c14c8a;--cb-pink: #faf1f5;--c-red: #d44c47;--cb-red: #fdebec;--cb-none: #f7f6f3;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #161615;--surface: #20201e;--surface-2: #262624;--sunken: #2c2c29;--ink: #f1f1ed;--ink-2: #e6e6e0;--muted: #a3a39c;--faint: #6e6e68;--line: #34342f;--line-strong: #45453f;--row-alt: #262624;--accent-ink: #ff8a8a;--accent-soft: #3d1f1f;--green: #5ccf86;--amber: #e3b341;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow: 0 8px 28px rgba(0, 0, 0, .55);--c-gray: #9b9b9b;--cb-gray: #2f2f2f;--c-brown: #ba856f;--cb-brown: #4a3228;--c-orange: #c77d48;--cb-orange: #5c3b23;--c-yellow: #ca9849;--cb-yellow: #564328;--c-green: #529e72;--cb-green: #243d30;--c-blue: #5e87c9;--cb-blue: #143a4e;--c-purple: #9d68d3;--cb-purple: #3c2d49;--c-pink: #d15796;--cb-pink: #4e2c3c;--c-red: #df5452;--cb-red: #522e2a;--cb-none: #2a2a28}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg: #161615;--surface: #20201e;--surface-2: #262624;--sunken: #2c2c29;--ink: #f1f1ed;--ink-2: #e6e6e0;--muted: #a3a39c;--faint: #6e6e68;--line: #34342f;--line-strong: #45453f;--row-alt: #262624;--accent-ink: #ff8a8a;--accent-soft: #3d1f1f;--green: #5ccf86;--amber: #e3b341;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow: 0 8px 28px rgba(0, 0, 0, .55);--c-gray: #9b9b9b;--cb-gray: #2f2f2f;--c-brown: #ba856f;--cb-brown: #4a3228;--c-orange: #c77d48;--cb-orange: #5c3b23;--c-yellow: #ca9849;--cb-yellow: #564328;--c-green: #529e72;--cb-green: #243d30;--c-blue: #5e87c9;--cb-blue: #143a4e;--c-purple: #9d68d3;--cb-purple: #3c2d49;--c-pink: #d15796;--cb-pink: #4e2c3c;--c-red: #df5452;--cb-red: #522e2a;--cb-none: #2a2a28}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs);line-height:var(--lh)}a{color:var(--ink)}button{font:inherit;font-size:var(--fs);min-height:var(--control-h);padding:var(--sp-1) var(--sp-5);border-radius:var(--radius);border:var(--border) solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}button.ghost{background:transparent}button.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}button.icon{min-height:var(--control-h);padding:0 var(--sp-3);line-height:1}button:disabled{opacity:.5;cursor:not-allowed}a.btn-link{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--control-h);padding:var(--sp-1) var(--sp-5);border-radius:var(--radius);border:var(--border) solid var(--line);background:var(--surface);color:var(--ink);font-size:var(--fs);text-decoration:none;white-space:nowrap}a.btn-link:hover{border-color:var(--accent)}input,select,textarea{width:100%;font:inherit;font-size:var(--fs);min-height:var(--control-h);padding:var(--sp-1) var(--sp-4);border-radius:var(--radius);border:var(--border) solid var(--line);background:var(--surface);color:var(--ink)}textarea{min-height:calc(var(--control-h) * 2)}label{display:block;font-size:var(--fs-sm);color:var(--muted)}label.check{display:flex;gap:var(--sp-4);align-items:center;margin:0;padding:var(--sp-2);font-size:var(--fs);color:var(--ink);cursor:pointer}label.check input{width:auto;min-height:0}.meta{color:var(--muted)}.meta.small,p.small{font-size:var(--fs-sm);margin:var(--sp-2) 0 var(--sp-4)}.err{color:var(--accent);margin:var(--sp-4) 0}.ok{color:var(--green);margin:var(--sp-4) 0}.line{margin:0 0 var(--sp-4)}.empty{color:var(--muted);text-align:center;padding:var(--sp-7) 0}.good{color:var(--green);font-weight:700}.bad{color:var(--accent);font-weight:700}.lv-green{color:var(--green)}.lv-yellow{color:var(--amber)}.lv-red{color:var(--accent)}.chip{display:inline-block;font-size:var(--fs-xs);padding:0 var(--sp-3);border-radius:var(--radius-pill);border:var(--border) solid var(--line);color:var(--muted);white-space:nowrap}.chip.approved,.chip.paid{color:var(--green);border-color:var(--green)}.chip.rejected{color:var(--accent);border-color:var(--accent)}.chip.requested{color:var(--amber);border-color:var(--amber)}.chip.withdrawn{color:var(--muted)}.chip.ok{color:var(--green);border-color:var(--green)}.chip.partial{color:var(--amber);border-color:var(--amber)}.chip.failed{color:var(--accent);border-color:var(--accent);font-weight:700}.chip.on{color:var(--green);border-color:var(--green);font-weight:700}.chip.lunch{color:var(--amber);border-color:var(--amber)}.chip.out,.chip.notin{color:var(--muted)}.banner{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-5);border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted)}.banner.bad{color:var(--accent);border-color:var(--accent);font-weight:700}.banner.good{color:var(--green);border-color:var(--green)}.tbl code{font-size:var(--fs-xs);color:var(--muted);overflow-wrap:anywhere}.tbl td.fit{white-space:normal;overflow-wrap:anywhere;min-width:var(--col-w)}.page{max-width:var(--narrow-w);margin:0 auto;padding:var(--sp-6)}.page h1{font-size:var(--fs-xl);margin:0 0 var(--sp-5)}.shell{min-height:100vh}.bar{position:sticky;top:0;z-index:30;height:var(--bar-h);display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);background:var(--surface);border-bottom:var(--border) solid var(--line)}.bar .title{font-size:var(--fs-md)}.bar .spacer{flex:1}.bar button.home{font-weight:700;font-size:var(--fs-md)}.burger{width:38px;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;justify-content:space-between}.burger span{display:block;height:2px;background:var(--ink);border-radius:1px}.side{position:fixed;top:var(--bar-h);left:0;bottom:0;width:var(--side-w);z-index:25;background:var(--surface);border-right:var(--border) solid var(--line);transform:translate(-100%);transition:transform .15s ease}.side-open .side{transform:none}.side nav{display:flex;flex-direction:column;padding:var(--sp-4);gap:var(--sp-1);font-size:var(--fs-md)}.side nav a,.side nav .cur,.side nav .soon,.side nav button{padding:var(--sp-3) var(--sp-5);border-radius:var(--radius);color:var(--ink);text-decoration:none;border:0;background:transparent;text-align:left;font-size:var(--fs-md)}.side nav a:hover,.side nav button:hover{background:var(--bg)}.side nav .cur{font-weight:700}.side nav .sub{padding-left:var(--sp-7)}.side nav .on{background:var(--bg);box-shadow:inset var(--mark) 0 0 var(--accent);font-weight:700}.side nav .soon{color:var(--muted);opacity:.6;cursor:default}.side nav .soon em{font-size:var(--fs-xs);font-style:normal;margin-left:var(--sp-2)}.scrim{display:none}.main{transition:margin-left .15s ease;min-width:0}@media(min-width:900px){.side-open .main{margin-left:var(--side-w)}}@media(max-width:899px){.side-open .scrim{display:block;position:fixed;inset:var(--bar-h) 0 0 0;background:var(--scrim);z-index:20}}.tabbar{position:sticky;top:var(--bar-h);z-index:15;display:flex;gap:var(--sp-1);overflow-x:auto;scrollbar-width:none;background:var(--bg);border-bottom:var(--border) solid var(--line);padding:0 var(--sp-5)}.tabbar button{flex:0 0 auto;min-height:var(--tab-h);padding:var(--sp-4) var(--sp-5);border:0;border-radius:0;background:transparent;font-size:var(--fs-md);color:var(--muted);border-bottom:var(--mark) solid transparent}.tabbar button.on{color:var(--ink);font-weight:700;border-bottom-color:var(--accent);box-shadow:none}.pad{padding:var(--sp-5) var(--sp-6) var(--sp-8);max-width:var(--page-w)}.narrow{max-width:var(--narrow-w)}.filters{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin:0 0 var(--sp-4)}.filters select,.filters input{width:auto}.filters .range{display:inline-flex;gap:var(--sp-2);align-items:center}.filters .line{margin:0}.pop{position:relative}.popmenu{position:absolute;z-index:40;top:calc(100% + var(--sp-2));left:0;min-width:220px;max-height:60vh;overflow:auto;background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius);padding:var(--sp-3);box-shadow:var(--shadow)}.popacts{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-2)}.popacts button{flex:1;font-size:var(--fs-sm)}.tblbox{margin:0 0 var(--sp-5)}.tblwrap{overflow-x:auto;background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius)}.tblwrap.nobar{scrollbar-width:none}.tblwrap.nobar::-webkit-scrollbar{display:none}.hbar{position:sticky;bottom:0;z-index:5;overflow-x:auto;overflow-y:hidden;background:var(--surface);border:var(--border) solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius)}.hbar>div{height:1px}.tbl.fixed{table-layout:fixed}.tbl.fixed th,.tbl.fixed td{overflow:hidden;text-overflow:ellipsis}.tbl.fixed td .cw{max-width:none;min-width:0}.tbl.fixed .acts>.cw{flex:0 1 auto;min-width:0}.tbl.fixed tr.detail td{overflow:visible}.tbl th{position:relative}.tbl .colgrip{position:absolute;top:0;right:0;bottom:0;width:9px;cursor:col-resize;touch-action:none;z-index:2}.tbl .colgrip:after{content:"";position:absolute;top:25%;bottom:25%;right:3px;width:1px;background:var(--line)}.tbl .colgrip:hover,.tbl .colgrip.on{background:var(--line)}.tbl{width:100%;border-collapse:collapse;line-height:1.3}.tbl th,.tbl td{height:var(--row-h);padding:var(--sp-1) var(--sp-2);border-bottom:var(--border) solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}.tbl th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700;background:var(--bg)}.tbl td.n,.tbl th.n{text-align:right;font-variant-numeric:tabular-nums}.tbl td.wrap{white-space:normal;min-width:160px;max-width:360px}.tbl tr:last-child td{border-bottom:0}.tbl>tbody>tr:where(:nth-child(2n of:not(.detail):not(.sub)))>td{background:var(--row-alt)}.tbl.sticky1>*>tr:not(.detail)>:first-child{position:sticky;left:0;z-index:1;box-shadow:inset calc(var(--border) * -1) 0 0 var(--line)}:where(.tbl.sticky1>tbody>tr>td:first-child){background:var(--surface)}.tbl .cw{display:block;white-space:normal;overflow-wrap:break-word}.tbl .cw.name{max-width:var(--col-name-w)}.tbl .cw.sm{max-width:var(--col-w)}.tbl .cw.note{min-width:var(--col-w);max-width:var(--col-note-w)}.tbl .cw.url{max-width:var(--col-url-w);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbl .cw.user{max-width:var(--col-user-w);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbl .copyable{flex-wrap:nowrap}.tbl .copyable .copy{visibility:hidden}.tbl td:hover>.copyable .copy,.tbl .copyable:focus-within .copy{visibility:visible}@media(hover:none){.tbl .copyable .copy{visibility:visible}}@media(max-width:560px){.tblwrap.cards{overflow:visible;background:transparent;border:0;border-radius:0}.tblwrap.cards+.hbar{display:none}.tbl.cards{width:100%!important;table-layout:auto}.tbl.cards thead{display:none}.tbl.cards,.tbl.cards>tbody{display:block}.tbl.cards>tbody>tr{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3) var(--sp-5);margin:0 0 var(--sp-4);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.tbl.cards>tbody>tr>td{display:block;height:auto;width:auto!important;min-width:0;max-width:none;padding:0;border:0;background:none!important;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-align:left}.tbl.cards>tbody>tr>td:before{content:attr(data-label);display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700}.tbl.cards>tbody>tr>td:not([data-label]):before{content:none}.tbl.cards>tbody>tr>td[data-blank]{display:none}.tbl.cards>tbody>tr>td.wrap,.tbl.cards>tbody>tr>td:has(.acts),.tbl.cards>tbody>tr>td[colspan]{grid-column:1 / -1}.tbl.cards .acts{flex-wrap:wrap}.tbl.cards .acts input{flex:1 1 100%}}@media(hover:hover){.tbl .copyable:has(>.cw+.copy){position:relative}.tbl .copyable>.cw+.copy{position:absolute;right:0;top:50%;transform:translateY(-50%)}}.tbl .clamp2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tbl .subnote{display:block;font-size:var(--fs-xs)}.tbl tfoot td{font-weight:700;background:var(--bg)}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--bg)}.tbl tr.sub td{background:var(--bg);font-size:var(--fs-sm)}.tbl th.gp2,.tbl td.gp2{font-size:var(--fs-sm)}.tbl tr.detail td{background:var(--bg);white-space:normal;padding:var(--sp-4) var(--sp-5)}.tbl .twisty{display:inline-block;width:12px;color:var(--muted)}.tbl button,.tbl input,.tbl select,.tbl textarea{min-height:calc(var(--row-h) - 4px);padding:0 var(--sp-4)}.tbl input,.tbl select{width:auto}.tbl .acts{display:flex;gap:var(--sp-2);align-items:center}.tbl a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}.tbl select.cell:disabled,.tbl input.cell:disabled{opacity:1;background:transparent;border-color:transparent;color:inherit;appearance:none}.tbl input.cell.note{width:220px}.weekhead{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);align-items:baseline;margin:var(--sp-5) 0 var(--sp-3)}.weekhead h3{font-size:var(--fs-md);margin:0}.stats{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);color:var(--muted);margin:0 0 var(--sp-4)}.stats b{color:var(--ink)}.detailbox{position:sticky;left:var(--sp-5);max-width:min(1000px,calc(100vw - 52px))}.detailbox dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--sp-1) var(--sp-6);margin:0}.detailbox dl div{display:flex;justify-content:space-between;gap:var(--sp-4);border-bottom:1px dotted var(--line);padding:var(--sp-1) 0}.detailbox dl.stack{grid-template-columns:minmax(0,var(--stack-w))}.detailbox dl.stack dd{text-align:right}.detailbox dt{color:var(--muted);font-size:var(--fs-sm)}.detailbox dd{margin:0;font-variant-numeric:tabular-nums;font-weight:700}.detailbox .note{color:var(--amber);font-size:var(--fs-sm);margin:var(--sp-2) 0 0}.detailbox .head{display:flex;align-items:center;gap:var(--sp-4);margin:0 0 var(--sp-3)}.form{border-top:var(--border) solid var(--line);border-bottom:var(--border) solid var(--line);padding:var(--sp-4) 0;margin:0 0 var(--sp-5);max-width:900px}.form .seg{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-4)}.form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-3) var(--sp-5)}.form input,.form select,.form textarea{margin-top:var(--sp-1)}.form label.wide{margin-top:var(--sp-3)}.toggle{display:inline-flex;align-items:center;gap:var(--sp-4);cursor:pointer;font-weight:700}.toggle input{position:absolute;opacity:0;width:0;height:0;margin:0}.toggle span{position:relative;width:var(--switch-w);height:var(--switch-h);border-radius:var(--radius-pill);background:var(--line);transition:background .15s;flex:none}.toggle span:after{content:"";position:absolute;top:var(--sp-1);left:var(--sp-1);width:calc(var(--switch-h) - 2 * var(--sp-1));height:calc(var(--switch-h) - 2 * var(--sp-1));border-radius:50%;background:var(--surface);transition:transform .15s}.toggle input:checked+span{background:var(--accent)}.toggle input:checked+span:after{transform:translate(calc(var(--switch-w) - var(--switch-h)))}.toggle input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.form .acts{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}@media(max-width:560px){input,select,textarea{font-size:16px}.form input:not([type=checkbox]):not([type=radio]),.form select,.form button,.filters input:not([type=checkbox]):not([type=radio]),.filters select,.filters button,.tbl.cards button,.tbl.cards input:not([type=checkbox]):not([type=radio]){min-height:44px}.form .acts button.primary{flex:1 1 100%}}@media(max-width:560px){.pad{padding:var(--sp-4) var(--sp-4) var(--sp-8)}.hide-sm{display:none}.tbl td.fit{min-width:0}}.addrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3)}.addrow .range{display:inline-flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.form .acts.left{justify-content:flex-start;margin-top:var(--sp-3)}.tbl .form textarea{min-height:calc(var(--control-h) * 4);padding:var(--sp-3) var(--sp-4)}.form textarea.tall{min-height:calc(var(--row-h) * 14)}.tbl th.tick,.tbl td.tick{width:var(--control-h);text-align:center}.tbl td.tick input{width:auto;min-height:0}.tbl tr.section td{background:var(--bg);font-size:var(--fs-xs);text-transform:uppercase;color:var(--muted)}button,a.btn-link{font-weight:var(--fw-medium);box-shadow:var(--shadow-sm);transition:border-color var(--speed),background var(--speed)}button:hover:not(:disabled),a.btn-link:hover{border-color:var(--line-strong)}button.primary{font-weight:var(--fw-semi)}button.primary:hover:not(:disabled){border-color:var(--accent);filter:brightness(.94)}button.ghost,.tabbar button,.side nav button,.tbl button.ghost{box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:focus,select:focus,textarea:focus{border-color:var(--line-strong)}.page h1,.pad h1{font-weight:var(--fw-bold);letter-spacing:-.01em}.chip{font-weight:var(--fw-semi);padding:0 var(--sp-4)}.chip.red{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}.chip.soft{color:var(--ink);background:var(--sunken);border-color:transparent}.bar .title{font-weight:var(--fw-semi)}.side nav a,.side nav button{font-weight:var(--fw-medium)}.tabbar button{font-weight:var(--fw-medium)}.tabbar button.on{font-weight:var(--fw-semi)}.tblwrap{box-shadow:var(--shadow-sm)}.tbl th{background:var(--surface-2);font-weight:var(--fw-semi);letter-spacing:.05em}.popmenu{border-radius:var(--radius-lg)}.page-head{margin:0 0 var(--sp-6)}.page-head h1{margin:0 0 var(--sp-2);font-size:var(--fs-xl)}.page-head p{margin:0;color:var(--muted)}.switcher{display:inline-flex;flex-wrap:wrap;gap:var(--sp-1);padding:3px;margin:0 0 var(--sp-5);background:var(--sunken);border-radius:var(--radius)}.switcher a,.switcher button{min-height:0;padding:var(--sp-2) var(--sp-5);border:0;border-radius:calc(var(--radius) - 2px);background:transparent;box-shadow:none;color:var(--muted);font-size:var(--fs);font-weight:var(--fw-medium);text-decoration:none}.switcher a.active,.switcher a.on,.switcher button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-5)}.tile{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);min-width:0;background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;text-align:left;font:inherit;cursor:pointer;transition:box-shadow var(--speed),border-color var(--speed),transform var(--speed)}button.tile{min-height:0;white-space:normal;font-weight:inherit}.tile:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-1px)}.tile-text{display:flex;flex-direction:column;flex:1;min-width:0}.tile-text strong{font-size:var(--fs-md);font-weight:var(--fw-semi)}.tile-text small{color:var(--muted);font-size:var(--fs-sm);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile>i{font-style:normal;color:var(--faint)}.tile.soon{background:transparent;box-shadow:none;border-style:dashed;cursor:default}.tile.soon:hover{transform:none;border-color:var(--line)}.tile.soon .ico{background:var(--sunken);color:var(--muted)}.ico{flex:none;display:grid;place-items:center;width:var(--icon-box);height:var(--icon-box);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.ico svg,svg.icon{width:var(--icon);height:var(--icon)}.avatar{flex:none;display:inline-grid;place-items:center;width:var(--avatar);height:var(--avatar);border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);font-weight:var(--fw-semi);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.docs{display:grid;grid-template-columns:var(--doc-side-w) minmax(0,1fr);gap:var(--sp-6);align-items:start}.docs-side{position:sticky;top:calc(var(--bar-h) + var(--tab-h) + var(--sp-4));max-height:calc(100vh - var(--bar-h) - var(--tab-h) - var(--sp-6));overflow:auto;border-right:var(--border) solid var(--line);padding-right:var(--sp-4)}.docs-side-toggle{display:none}.docs-side input[type=search]{margin-bottom:var(--sp-3)}.doc-tree-row{display:flex;align-items:center;min-height:var(--row-h);border-radius:var(--radius)}.doc-tree-row:hover{background:var(--row-alt)}.doc-tree-row.on{background:var(--bg);box-shadow:inset var(--mark) 0 0 var(--accent);font-weight:700}.doc-tree-row.retired .doc-tree-title{color:var(--muted)}.doc-tree-row.d1{padding-left:var(--doc-indent)}.doc-tree-row.d2{padding-left:calc(var(--doc-indent) * 2)}.doc-tree-row.d3{padding-left:calc(var(--doc-indent) * 3)}.doc-tree-row.d4,.doc-tree-row.d5{padding-left:calc(var(--doc-indent) * 4)}.doc-twisty{flex:none;width:var(--sp-6);min-height:0;padding:0;border:0;background:transparent;color:var(--muted);font-size:var(--fs-xs)}.doc-tree-title{flex:1;min-width:0;min-height:var(--row-h);padding:0 var(--sp-2);border:0;background:transparent;text-align:left;white-space:normal;font-weight:inherit}.doc-dot{flex:none;width:var(--sp-4);height:var(--sp-4);margin-right:var(--sp-3);border-radius:50%;background:var(--amber)}.doc-newpage{margin-top:var(--sp-4);width:100%;text-align:left}.doc-hits{display:flex;flex-direction:column;gap:var(--sp-1)}.doc-hit{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);white-space:normal;text-align:left;border:0;border-bottom:var(--border) solid var(--line);border-radius:0;background:transparent;padding:var(--sp-3) var(--sp-2)}.doc-hit .small{margin:0}.docs-main{min-width:0}.doc-article{max-width:var(--doc-w)}.doc-trail{margin:0}.doc-trail a,.doc-pagelink a,.doc-inlinepage{color:var(--ink)}.doc-title{font-size:var(--fs-doc-title);line-height:1.2;margin:var(--sp-2) 0 var(--sp-2);overflow-wrap:anywhere}.doc-acts{margin-top:var(--sp-3)}.doc-versions{margin:var(--sp-2) 0 var(--sp-3)}.doc-versions summary{cursor:pointer;margin:0}.doc-version{color:var(--ink)}.doc-kids{margin-top:var(--sp-6);border-top:var(--border) solid var(--line);padding-top:var(--sp-4)}.doc-page{font-size:var(--fs-doc);line-height:var(--lh-doc);overflow-wrap:break-word}.doc-page:focus{outline:none}.doc-page p{margin:var(--sp-2) 0}.doc-page p.doc-empty{min-height:calc(var(--fs-doc) * var(--lh-doc))}.doc-page h2,.doc-page h3,.doc-page h4,.doc-page.doc-editing h1,.doc-page.doc-editing h2,.doc-page.doc-editing h3{line-height:1.3;margin:var(--sp-6) 0 var(--sp-2)}.doc-page .doc-h1,.doc-page.doc-editing h1{font-size:var(--fs-doc-h1)}.doc-page .doc-h2,.doc-page.doc-editing h2{font-size:var(--fs-doc-h2)}.doc-page .doc-h3,.doc-page.doc-editing h3{font-size:var(--fs-doc-h3)}.doc-page ul,.doc-page ol{margin:var(--sp-2) 0;padding-left:var(--sp-7)}.doc-page li>p{margin:var(--sp-1) 0}.doc-page ul.doc-tasks,.doc-page ul[data-type=taskList]{list-style:none;padding-left:var(--sp-2)}.doc-page ul.doc-tasks>li,.doc-page ul[data-type=taskList]>li{display:flex;gap:var(--sp-4);align-items:flex-start}.doc-page ul.doc-tasks>li>input,.doc-page ul[data-type=taskList]>li>label input{width:auto;min-height:0;margin-top:var(--sp-3);accent-color:var(--accent)}.doc-page ul[data-type=taskList]>li>label{flex:none}.doc-page ul.doc-tasks>li>div,.doc-page ul[data-type=taskList]>li>div{flex:1;min-width:0}.doc-page ul.doc-tasks>li.done>div>p,.doc-page ul[data-type=taskList]>li[data-checked=true]>div>p{color:var(--muted);text-decoration:line-through}.doc-page blockquote{margin:var(--sp-4) 0;padding:0 var(--sp-5);border-left:var(--mark) solid var(--ink)}.doc-page pre{background:var(--bg);border:var(--border) solid var(--line);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);overflow-x:auto;font-size:var(--fs)}.doc-page code{background:var(--bg);border-radius:var(--radius);padding:0 var(--sp-2);font-size:.9em;color:var(--c-red)}.doc-page pre code{background:transparent;padding:0;color:var(--ink)}.doc-page hr{border:0;border-top:var(--border) solid var(--line);margin:var(--sp-6) 0}.doc-page a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:2px}.doc-tablewrap,.doc-page .tableWrapper{overflow-x:auto;margin:var(--sp-4) 0}.doc-page table{border-collapse:collapse;font-size:var(--fs);min-width:100%}.doc-page th,.doc-page td{border:var(--border) solid var(--line);padding:var(--sp-2) var(--sp-4);vertical-align:top;text-align:left;min-width:var(--col-w)}.doc-page th{background:var(--bg);font-weight:700}.doc-page th p,.doc-page td p{margin:0}.doc-page .selectedCell{background:var(--cb-blue)}.doc-details{margin:var(--sp-2) 0}.doc-page details>summary{cursor:pointer;font-weight:700}.doc-page details>div{padding-left:var(--sp-6)}.doc-page [data-type=details]{display:flex;gap:var(--sp-2);margin:var(--sp-2) 0}.doc-page [data-type=details]>button{flex:none;min-height:0;padding:0 var(--sp-2);border:0;background:transparent;color:var(--muted);cursor:pointer}.doc-page [data-type=details]>button:before{content:"▸"}.doc-page [data-type=details].is-open>button:before{content:"▾"}.doc-page [data-type=details]>div{flex:1;min-width:0}.doc-page [data-type=details]:not(.is-open)>div>[data-type=detailsContent]{display:none}.doc-page [data-type=details] summary{font-weight:700;list-style:none}.doc-callout{display:flex;gap:var(--sp-4);margin:var(--sp-4) 0;padding:var(--sp-4) var(--sp-5);border-radius:var(--radius);background:var(--cb-none)}.doc-callout-icon{flex:none;line-height:var(--lh-doc)}.doc-callout-body{flex:1;min-width:0}.doc-callout-body>:first-child{margin-top:0}.doc-callout-body>:last-child{margin-bottom:0}.c-gray{background:var(--cb-gray)}.c-brown{background:var(--cb-brown)}.c-orange{background:var(--cb-orange)}.c-yellow{background:var(--cb-yellow)}.c-green{background:var(--cb-green)}.c-blue{background:var(--cb-blue)}.c-purple{background:var(--cb-purple)}.c-pink{background:var(--cb-pink)}.c-red{background:var(--cb-red)}.fg-gray{color:var(--c-gray)}.fg-brown{color:var(--c-brown)}.fg-orange{color:var(--c-orange)}.fg-yellow{color:var(--c-yellow)}.fg-green{color:var(--c-green)}.fg-blue{color:var(--c-blue)}.fg-purple{color:var(--c-purple)}.fg-pink{color:var(--c-pink)}.fg-red{color:var(--c-red)}.bg-gray{background:var(--cb-gray)}.bg-brown{background:var(--cb-brown)}.bg-orange{background:var(--cb-orange)}.bg-yellow{background:var(--cb-yellow)}.bg-green{background:var(--cb-green)}.bg-blue{background:var(--cb-blue)}.bg-purple{background:var(--cb-purple)}.bg-pink{background:var(--cb-pink)}.bg-red{background:var(--cb-red)}.doc-embed{margin:var(--sp-4) 0}.doc-embed iframe{display:block;width:100%;height:var(--embed-h);border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--surface)}.doc-embed .small{margin:var(--sp-2) 0 0}.doc-embed-edit{position:relative}.doc-embed-edit.sel iframe{outline:2px solid var(--accent)}.doc-file{margin:var(--sp-4) 0;padding:var(--sp-4) var(--sp-5);border:var(--border) dashed var(--amber);border-radius:var(--radius)}.doc-file .small{display:block;margin:var(--sp-1) 0 0}.doc-pagelink{margin:var(--sp-2) 0}.doc-pagelink a,.doc-pagelink .doc-pagelink-a{font-weight:700}.doc-pagelink a:before,.doc-pagelink .doc-pagelink-a:before{content:"▤ ";color:var(--muted);font-weight:400}.doc-editbar{position:sticky;top:calc(var(--bar-h) + var(--tab-h));z-index:12;background:var(--bg);padding:var(--sp-3) 0;margin:0;border-bottom:var(--border) solid var(--line)}.doc-editwrap{position:relative;padding-left:var(--sp-7);margin-left:calc(var(--sp-7) * -1)}.doc-editing{min-height:50vh;padding:var(--sp-4) 0 var(--sp-8)}.doc-editing p.is-editor-empty:first-child:before,.doc-editing .is-empty:before{content:attr(data-placeholder);color:var(--muted);float:left;height:0;pointer-events:none}.doc-editing .ProseMirror-selectednode{outline:2px solid var(--accent);border-radius:var(--radius)}.doc-handle{position:absolute;left:0;width:var(--sp-6);text-align:center;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;opacity:0;font-size:var(--fs-sm);letter-spacing:-2px;line-height:calc(var(--fs-doc) * var(--lh-doc));margin-top:var(--sp-2)}.doc-handle.on{opacity:1}.doc-handle:hover{color:var(--ink);background:var(--row-alt);border-radius:var(--radius)}.doc-bubble{display:flex;gap:var(--sp-1);padding:var(--sp-2);background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.doc-bubble button{min-height:calc(var(--control-h) - 4px);padding:0 var(--sp-4)}.doc-slash{position:fixed;top:0;left:0;z-index:50;width:min(320px,calc(100vw - 16px));display:flex;flex-direction:column;gap:var(--sp-1)}.doc-slash button{display:block;width:100%;text-align:left;white-space:normal;border:0}.doc-slash button.on{background:var(--bg);box-shadow:inset var(--mark) 0 0 var(--accent)}.doc-slash .small{margin:0}.doc-picker{position:fixed;top:20vh;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;gap:var(--sp-1)}.doc-picker button.ghost{text-align:left;border:0;white-space:normal}@media(max-width:760px){.docs{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)}.docs-side{position:static;max-height:none;overflow:visible;border-right:0;padding-right:0;border-bottom:var(--border) solid var(--line);padding-bottom:var(--sp-3)}.docs-side-toggle{display:block;width:100%;text-align:left;white-space:normal;font-weight:700}.docs-side .docs-side-body{display:none;margin-top:var(--sp-3)}.docs-side.open .docs-side-body{display:block}.doc-tree-row{min-height:var(--control-h)}.doc-title{font-size:var(--fs-doc-h1)}.doc-editwrap{padding-left:0;margin-left:0}.doc-handle{display:none}}.pm{position:relative;display:inline-flex;font-family:var(--font)}.pm-bubble{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--control-h);height:var(--control-h);min-height:0;padding:0;overflow:hidden;border:var(--border) solid var(--line);border-radius:50%;background:var(--accent);color:var(--on-accent);font:inherit;font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;cursor:pointer}.pm-bubble img{width:100%;height:100%;object-fit:cover;display:block}button.pm-bubble:hover,button.pm-bubble:focus-visible,button.pm-bubble[aria-expanded=true]{box-shadow:0 0 0 var(--mark) var(--line)}.pm-big{width:calc(var(--control-h) * 1.25);height:calc(var(--control-h) * 1.25);cursor:default}.pm-menu{position:absolute;top:calc(100% + var(--sp-2));right:0;z-index:50;min-width:240px;max-width:calc(100vw - 2 * var(--sp-4));display:flex;flex-direction:column;padding:var(--sp-2) 0;text-align:left;background:var(--surface);color:var(--ink);border:var(--border) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);border-radius:var(--radius-lg)}.pm-who{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5) var(--sp-4);border-bottom:var(--border) solid var(--line);margin-bottom:var(--sp-2)}.pm-who>span:last-child{display:flex;flex-direction:column;min-width:0}.pm-who strong{font-size:var(--fs)}.pm-who small{color:var(--muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--control-h);padding:var(--sp-2) var(--sp-5);border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs);text-align:left;text-decoration:none;cursor:pointer}.pm-item .icon{flex:none;width:var(--icon);height:var(--icon);color:var(--muted)}.pm-item:hover .icon{color:var(--accent)}.pm-item:hover,.pm-item:focus-visible{background:var(--bg)}.pm-item:disabled{opacity:.6;cursor:default}.pm-err{margin:var(--sp-2) var(--sp-5);color:var(--accent);font-size:var(--fs-xs)}.home-page{position:relative;max-width:var(--narrow-w);margin:0 auto;padding:var(--sp-7) var(--sp-6) var(--sp-8);text-align:center;font-family:var(--font);color:var(--ink)}.home-corner{position:fixed;top:var(--sp-5);right:var(--sp-6);z-index:40}.home-logo{width:min(260px,70%);height:auto;display:block;margin:var(--sp-4) auto var(--sp-7)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .home-logo{filter:invert(1)}}:root[data-theme=dark] .home-logo{filter:invert(1)}.home-verse{margin:0 auto var(--sp-7);max-width:600px;padding:var(--sp-6) var(--sp-7);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.home-verse blockquote{margin:0;font-family:var(--font-verse);font-size:var(--fs-verse);line-height:1.5;font-style:italic;color:var(--ink-2)}.home-verse figcaption{margin-top:var(--sp-4);color:var(--accent);font-weight:var(--fw-semi);font-size:var(--fs);letter-spacing:.02em}.home-apps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.home-credit{font-size:var(--fs-xxs);line-height:1.4;max-width:560px;margin:var(--sp-7) auto 0;color:var(--muted)}@media(max-width:600px){.home-corner{right:var(--sp-4);top:var(--sp-4)}.home-corner+.home-logo{margin-top:calc(var(--control-h) + var(--sp-4))}.home-verse{padding:var(--sp-5)}}h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;margin:0 0 var(--sp-6)}h2{font-size:var(--fs-md);font-weight:var(--fw-semi);margin:0 0 var(--sp-4)}.muted{color:var(--muted);font-size:var(--fs-sm)}.error{color:var(--accent)}.page{max-width:var(--page-w);margin:0 auto;padding:var(--sp-7) var(--sp-6) var(--sp-8)}.centered{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6)}.topbar{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:var(--border) solid var(--line)}.topbar-inner{max-width:var(--page-w);margin:0 auto;min-height:var(--bar-h);padding:var(--sp-3) var(--sp-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4) var(--sp-5)}.brand{display:inline-flex;align-items:center;gap:var(--sp-4);font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--ink);text-decoration:none;margin-right:var(--sp-5)}.brand:before{content:"R";display:grid;place-items:center;width:24px;height:24px;border-radius:calc(var(--radius) - 2px);background:var(--accent);color:var(--on-accent);font-size:var(--fs-sm)}.topbar nav{display:flex;gap:var(--sp-2);flex:1}.topbar nav a{color:var(--muted);text-decoration:none;padding:var(--sp-3) var(--sp-5);border-radius:var(--radius);font-weight:var(--fw-medium)}.topbar nav a:hover{color:var(--ink)}.topbar nav a.active{color:var(--ink);background:var(--sunken)}.who{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-sm);margin-left:auto}.badge{background:var(--sunken);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--muted)}@media(max-width:600px){.topbar nav{order:3;flex-basis:100%}}.card{background:var(--surface);border:var(--border) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-5)}.card>h2{margin:0 0 var(--sp-2)}.card>h2+.muted,.card-head+.muted{margin:0 0 var(--sp-3)}.card>:last-child{margin-bottom:0}.card.narrow{max-width:380px;width:100%;text-align:center;padding:var(--sp-7)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);padding:var(--sp-1) var(--sp-5);border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:var(--fw-medium);box-shadow:var(--shadow-sm)}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:var(--fw-semi)}.stack .primary,.card.narrow .primary{margin-top:var(--sp-3)}.page>.primary,.page>div>.primary{margin:0 0 var(--sp-4)}.link{border:0;background:none;box-shadow:none;color:var(--accent);padding:0;min-height:0;font-weight:var(--fw-medium)}.wide{width:100%}.or{margin:var(--sp-4) 0 var(--sp-2);color:var(--muted);font-size:var(--fs-sm)}.card.narrow .stack{text-align:left}.card.narrow .link{align-self:center}.stack{display:flex;flex-direction:column;gap:var(--sp-5)}.stack label{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--muted)}fieldset{border:var(--border) solid var(--line);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5)}.check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:var(--sp-3);margin-right:var(--sp-5);font-size:var(--fs);color:var(--ink)}.check input{width:auto;min-height:0;accent-color:var(--accent)}.rows{list-style:none;margin:0;padding:0}.rows li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--sp-4) var(--sp-6);padding:var(--sp-5) 0;border-top:var(--border) solid var(--line)}.rows li:first-child{border-top:0}.rows li.off{opacity:.55}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4) var(--sp-5)}.controls select{width:auto}.subnav{display:inline-flex;flex-wrap:wrap;gap:var(--sp-1);padding:3px;margin:0 0 var(--sp-5);background:var(--sunken);border-radius:var(--radius)}.subnav a{padding:var(--sp-2) var(--sp-5);border-radius:calc(var(--radius) - 2px);color:var(--muted);text-decoration:none;font-weight:var(--fw-medium)}.subnav a.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}fieldset.inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) 0;padding:var(--sp-2) var(--sp-4)}fieldset.inline legend{font-size:var(--fs-xs);color:var(--muted);padding:0 var(--sp-2)}fieldset.inline:disabled{opacity:.6}.ok{color:var(--green)}.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-3) var(--sp-5)}.pair label,.person-edit label:not(.check){display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--muted)}.people{list-style:none;margin:0;padding:0}.person{padding:var(--sp-2) 0;border-top:var(--border) solid var(--line)}.person:first-child{border-top:0}.person.off .person-line,.person.off .person-edit{opacity:.6}.person-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-5);min-height:var(--control-h)}.person-line>button{margin-left:auto;min-height:var(--control-h);padding:var(--sp-1) var(--sp-5)}.person-name{min-width:160px;font-weight:var(--fw-semi)}.person-email,.person-roles{font-size:var(--fs-sm)}.person-line+.person-edit{margin-top:var(--sp-5)}.person-edit{display:flex;flex-direction:column;gap:var(--sp-4);border:0;padding:var(--sp-5);margin:0;min-width:0;background:var(--surface-2);border-radius:var(--radius)}.person-edit fieldset.inline{align-self:flex-start;background:var(--surface)}.person-save{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-3)}.person-save .primary{margin-top:0}.person-save .grow{flex:1}.danger{color:var(--accent);border-color:var(--accent)}.danger:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.settings{max-width:var(--narrow-w)}.row-form{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center}.row-form input{flex:1 1 220px;width:auto}.row-form .primary{margin-top:0}@media(max-width:560px){.tbl th,.tbl td{padding-left:var(--sp-3);padding-right:var(--sp-3)}}
