@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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{--bg: #0d0e16;--bg-sunken: #090a11;--bg-raised: #151725;--bg-header: #1a1c2b;--bg-hover: #1f2233;--border: #242739;--border-strong: #343850;--text: #dcdde9;--text-dim: #a4a8bf;--text-faint: #7a7e98;--accent: #43c1cf;--accent-hover: #5ad2df;--accent-sunken: #0e1e23;--disabled-bg: #1c1f2e;--on-accent: #04161a;--ok: #5f9d78;--warn: #b8903f;--danger: #c56b64;--danger-sunken: #21141a;--id-0: #a08ff0;--id-1: #dcaa5e;--id-2: #e07f9f;--id-3: #74c493;--id-4: #7ba2f2;--id-5: #e5905f;--id-6: #b3c86e;--id-7: #cd8fe3;--radius: 8px;--radius-sm: 6px;--font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.shell{display:grid;grid-template-columns:248px 1fr;height:100%}.rail{display:flex;flex-direction:column;min-height:0;background:var(--bg-sunken);border-inline-end:1px solid var(--border);padding-top:env(safe-area-inset-top)}.rail-head{display:flex;align-items:center;gap:10px;padding:0 16px;height:64px;flex:none}.rail-head .mark{width:28px;height:28px;flex:none;display:block}.rail-head .name{font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.rail-head .sub{display:block;font-size:12px;color:var(--text-faint);font-weight:400}.rail-scroll{flex:1;overflow-y:auto;padding:4px 10px 10px;min-height:0}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:0 10px;height:38px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);font-size:14.5px;text-align:start;cursor:pointer}.nav-item svg{flex:none;color:var(--text-faint)}.nav-item:hover,.nav-item[aria-current=page]{background:var(--bg-raised);color:var(--text)}.nav-item[aria-current=page] svg{color:var(--accent)}.nav-item .n{margin-inline-start:auto;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.rail-label{display:flex;align-items:center;gap:8px;padding:0 10px;margin:22px 0 6px;height:24px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.rail-add{margin-inline-start:auto;background:none;border:none;cursor:pointer;display:grid;place-items:center;width:24px;height:24px;color:var(--text-dim);border-radius:var(--radius-sm)}.rail-add:hover{color:var(--accent);background:var(--bg-raised)}.ev-item{display:flex;align-items:center;gap:10px;width:100%;padding:0 10px;height:36px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);font-size:14px;text-align:start;cursor:pointer}.ev-item:hover,.ev-item[aria-current=page]{background:var(--bg-raised);color:var(--text)}.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--text-faint)}.dot.on{background:var(--accent)}.dot.done{background:var(--ok)}.ev-item .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-item .n{margin-inline-start:auto;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.ev-more{color:var(--text-faint)}.rail-foot{flex:none;border-top:1px solid var(--border);padding:10px}.who{display:flex;align-items:center;gap:9px;padding:4px 6px}.who-face{width:32px;height:32px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--hue, var(--text-dim)) 20%,var(--bg-raised));color:var(--hue, var(--text-dim));display:grid;place-items:center;font-size:12px;font-weight:600}.who-text{min-width:0}.who-name{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-role{display:block;font-family:var(--mono);font-size:11.5px;color:var(--text-faint)}.rail-foot-actions{display:flex;align-items:center;gap:4px;margin-top:4px}.rail-foot-actions .spacer{flex:1}.content{display:flex;flex-direction:column;min-width:0;min-height:0;--page-max: 1040px;--gutter: max(24px, calc((100% - var(--page-max)) / 2))}.content:has(.detail){--page-max: 100vw}.chead{flex:none;display:flex;align-items:center;gap:12px;padding:0 var(--gutter);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top))}.chead h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chead .head-meta{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;font-size:13.5px}.chead .btn{white-space:nowrap;flex:none}.chead .spacer{flex:1}.csub{flex:none;display:flex;align-items:center;gap:10px;padding:6px var(--gutter);min-height:50px;border-bottom:1px solid var(--border);background:var(--bg-sunken)}.csub .spacer{flex:1}.csub .note{font-size:13px;color:var(--text-faint);white-space:nowrap}.cbody{flex:1;overflow-y:auto;min-height:0}.cbody.pad{padding:24px var(--gutter) 64px}.cbody.split{display:flex;overflow:hidden;padding:0}.board-list{flex:1;overflow-y:auto;min-width:0;padding-bottom:48px}.seg{display:flex;gap:2px;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.seg button{background:none;border:none;cursor:pointer;font:inherit;font-size:13.5px;color:var(--text-dim);white-space:nowrap;padding:5px 12px;border-radius:var(--radius-sm)}.seg button:hover{color:var(--text);background:var(--bg-raised)}.seg button[aria-pressed=true]{color:var(--text);background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}.rail-toggle,.scrim{display:none}@media(max-width:860px){.shell{grid-template-columns:1fr}.rail{position:fixed;inset-block:0;inset-inline-start:0;width:262px;z-index:40;transform:translate(-100%);transition:transform .16s ease}[dir=rtl] .rail{transform:translate(100%)}.shell.drawer-open .rail{transform:none}.scrim{display:block;position:fixed;inset:0;z-index:30;background:#090a1199;border:none}.rail-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;background:none;border:none;cursor:pointer;color:var(--text-dim);border-radius:var(--radius-sm)}.rail-toggle:hover{background:var(--bg-hover);color:var(--text)}.content{--gutter: 14px}.chead{gap:10px;height:calc(58px + env(safe-area-inset-top))}.chead h2{font-size:18px}}@media(prefers-reduced-motion:reduce){.rail{transition:none}}.centred{min-height:100%;display:grid;place-items:center;padding:24px}.centred-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.centred-brand:before{content:"";width:32px;height:32px;flex:none;background:url(/favicon.svg) center / contain no-repeat}.centred-wrap{width:100%;max-width:400px}.card{width:100%;max-width:400px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:32px}.card h2{margin:0 0 6px;font-size:20px;font-weight:600;letter-spacing:-.01em}.card .sub{color:var(--text-dim);margin:0 0 24px;font-size:14px}label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}input[type=text],input[type=tel],select{width:100%;padding:10px 12px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}input::placeholder{color:var(--text-faint)}input:focus,select:focus{border-color:var(--border-strong);outline:none}.code-input{font-family:var(--mono);font-size:16px;letter-spacing:.08em;text-align:center;padding:12px}.field{margin-bottom:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.grid-2{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;font-size:14px;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:disabled{color:var(--text-faint);cursor:not-allowed}.btn.primary:disabled{background:var(--disabled-bg);border-color:var(--border);color:var(--text-faint)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.btn.danger:hover:not(:disabled){background:var(--danger-sunken);border-color:var(--danger)}.btn.small{padding:6px 13px;font-size:13.5px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.error,.notice{padding:11px 14px;margin:14px 0;border-radius:var(--radius-sm);font-size:14px;border-inline-start:2px solid}.error{background:var(--danger-sunken);border-color:var(--danger);color:#e0a49e}.notice{background:var(--accent-sunken);border-color:var(--accent);color:#e0c88a}.panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.panel>header{display:flex;align-items:center;gap:12px;padding:0 16px;height:44px;background:var(--bg-header);border-bottom:1px solid var(--border)}.panel>header h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.panel>header .spacer{flex:1}.panel-body{padding:16px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:start;padding:9px 16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);background:var(--bg-sunken);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--bg-hover)}.row-name{font-weight:500}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:13px}.mono{font-family:var(--mono);font-size:13px}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;letter-spacing:.01em;background:var(--bg-sunken);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.pill.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.pill.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.role{display:inline-block;padding:2px 7px;font-family:var(--mono);font-size:12px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim)}.cap-list{display:flex;flex-wrap:wrap;gap:2px 10px;font-family:var(--mono);font-size:12px;color:var(--text-dim);max-width:28rem}.cap-list span{white-space:nowrap}.cap-list span.key{color:var(--accent)}.caps{display:flex;flex-wrap:wrap;gap:6px}.cap{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;cursor:pointer;font-family:var(--mono);font-size:12.5px;text-transform:none;letter-spacing:0;font-weight:400;margin-bottom:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-faint);transition:border-color .12s ease,color .12s ease}.cap:hover{border-color:var(--border-strong)}.cap input{margin:0;accent-color:var(--accent)}.cap.on{color:var(--text);border-color:var(--border-strong);background:var(--bg-hover)}.cap.prose{font-family:var(--font);font-size:13.5px}.code-reveal{font-family:var(--mono);font-size:18px;letter-spacing:.1em;background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:16px;text-align:center;-webkit-user-select:all;user-select:all;margin:12px 0;color:var(--accent)}.stat{color:var(--text-faint);font-size:13px}.empty{color:var(--text-faint);font-size:14px;margin:0}.group-head{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--bg-sunken);border-bottom:1px solid var(--border);border-top:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.04em}tr.departed td{color:var(--text-faint)}tr.departed .row-name{font-weight:400}.inline-select{width:auto;min-width:92px;padding:5px 9px;font-size:13px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm)}.inline-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}.audience.off{opacity:.45}.audience.off:hover{border-color:var(--border)}.skipped-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.skipped-row:last-child{border-bottom:none}code{font-family:var(--mono);font-size:12px;background:var(--bg-sunken);padding:1px 5px;border-radius:var(--radius-sm);border:1px solid var(--border)}.event-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.progress{display:flex;align-items:center;gap:8px;min-width:130px}.progress-bar{flex:1;height:4px;border-radius:2px;background:var(--bg-sunken);border:1px solid var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--accent)}.pill.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.audience-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(max-width:640px){.audience-picker{grid-template-columns:1fr}}.audience{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:baseline;cursor:pointer;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken);text-transform:none;letter-spacing:0;margin-bottom:0}.audience:hover{border-color:var(--border-strong)}.audience.on{border-color:var(--accent);background:var(--accent-sunken)}.audience input{grid-row:span 2;accent-color:var(--accent);margin:0}.audience-label{font-size:14px;color:var(--text);font-weight:500}.audience-hint{font-size:13px;color:var(--text-faint);grid-column:2}.task-draft{padding:14px;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sunken)}.task-draft:last-of-type{margin-bottom:16px}.task-draft .field{margin-bottom:10px}.deps{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.dep-x{background:none;border:none;cursor:pointer;padding:0 0 0 6px;color:var(--text-faint);font-size:13px;line-height:1}.dep-x:hover{color:var(--danger)}.modal{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px)}.modal.wide{width:min(820px,calc(100vw - 32px))}.modal::backdrop{background:#090a11b8}.modal-inner{display:flex;flex-direction:column;max-height:calc(100vh - 66px)}.modal>.modal-inner>header{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-header)}.modal-inner>header h3{margin:0;font-size:17px;font-weight:600}.modal-inner>header p{margin:3px 0 0}.modal-inner>header .spacer{flex:1}.modal-body{padding:20px;overflow-y:auto}.migration{display:grid;gap:8px}.migration-row{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken)}.migration-head{display:flex;align-items:center;gap:12px}.migration-head .row-name{flex:1;min-width:0}.migration-head select{width:auto;min-width:190px;margin:0}.migration-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-dim)}.migration-flow .gone{text-decoration:line-through;color:var(--text-faint)}.migration-flow .arrow{color:var(--accent)}.migration-pick{display:grid;gap:8px}.migration-pick select{margin:0}.migration-summary{display:flex;gap:14px;flex-wrap:wrap;padding:9px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);font-size:12px;color:var(--text-dim)}.migration-summary b{font-weight:600;color:var(--text)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font:inherit;font-size:13px;cursor:pointer;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-hover);color:var(--text)}.chip:hover{border-color:var(--danger);color:var(--danger)}.pill.retired{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}select.inline{width:auto;margin:0;padding:6px 11px;font-size:13px}.pill.live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.pill.live:before{content:"";display:inline-block;width:5px;height:5px;margin-inline-end:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.danger-text{color:var(--danger)}.tgroup{border-bottom:1px solid var(--border)}.tgroup>summary{display:flex;align-items:center;gap:10px;padding:12px var(--gutter) 8px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.tgroup>summary::-webkit-details-marker{display:none}.tgroup>summary:hover{background:var(--bg-raised)}.tgroup .chev{color:var(--text-faint);transition:transform .12s ease;flex:none}.tgroup[open]>summary .chev{transform:rotate(90deg)}[dir=rtl] .tgroup .chev{transform:scaleX(-1)}[dir=rtl] .tgroup[open]>summary .chev{transform:rotate(90deg)}.tgroup .gname{font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}.tgroup .gcount{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums;background:var(--bg-raised);border-radius:999px;padding:0 8px;line-height:20px}.tgroup .ghint{margin-inline-start:auto;font-size:13px;color:var(--text-faint)}@media(prefers-reduced-motion:reduce){.tgroup .chev{transition:none}}.row{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:0 var(--gutter);min-height:48px;background:none;border:none;border-top:1px solid var(--border);color:inherit;font:inherit;text-align:start;cursor:pointer}.row:hover{background:var(--bg-hover)}.row.sel{background:var(--bg-hover);box-shadow:inset 2px 0 0 var(--accent)}[dir=rtl] .row.sel{box-shadow:inset -2px 0 0 var(--accent)}.row .glyph{flex:none;display:flex}.row .t{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.is-done .t{color:var(--text-faint)}.row .waiting{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-faint);max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row .spacer{flex:1;min-width:8px}.row .row-meta{flex:none;display:flex;align-items:center;gap:16px}.row .dept{font-size:13.5px;color:var(--text-dim);display:inline-flex;align-items:center;gap:7px}.hue-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--hue, var(--text-faint))}.row .due{font-size:13.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.row .due.overdue{color:var(--danger)}.row .sec{flex:none;font-size:12px;color:var(--text-dim);border:1px solid var(--border-strong);border-radius:999px;padding:0 8px;line-height:19px}.faces{display:flex;flex:none}.face{width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--hue, var(--text-dim)) 22%,var(--bg-raised));border:2px solid var(--bg);font-size:10.5px;font-weight:600;color:var(--hue, var(--text-dim));display:grid;place-items:center;margin-inline-start:-7px}.face:first-child{margin-inline-start:0}.face.nobody{background:none;border:1px dashed var(--border-strong);color:var(--text-faint);font-weight:400;font-size:14px}.row-acts{position:absolute;inset-inline-end:calc(var(--gutter) - 4px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;padding-inline-start:16px;background:var(--bg-hover);opacity:0;pointer-events:none;transition:opacity .1s ease}.row:hover .row-acts,.row:focus-visible .row-acts,.row-acts:focus-within{opacity:1;pointer-events:auto}.row:has(.row-acts):hover .row-meta,.row:has(.row-acts):focus-visible .row-meta{visibility:hidden}.row-acts .btn{background:var(--bg-raised)}.row-acts .btn.primary{background:var(--accent)}@media(prefers-reduced-motion:reduce){.row-acts{transition:none}}@media(hover:none){.row{min-height:52px}.row-acts{display:none}}@media(max-width:860px){.row .row-meta .dept,.row .waiting,.tgroup .ghint,.chead .head-meta{display:none}.csub{overflow-x:auto;scrollbar-width:none}.csub::-webkit-scrollbar{display:none}.csub>*{flex:none}.csub .spacer{min-width:8px}}.detail{flex:none;width:340px;display:flex;flex-direction:column;border-inline-start:1px solid var(--border);background:var(--bg-sunken);min-height:0}.detail>header{flex:none;display:flex;align-items:center;gap:10px;height:50px;padding:0 18px;border-bottom:1px solid var(--border)}.detail>header .k{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.detail>header .spacer{flex:1}.detail-body{flex:1;overflow-y:auto;padding:20px 18px;min-height:0}.detail-title{margin:0 0 16px;font-size:18px;font-weight:600;line-height:1.35}.kv{display:grid;grid-template-columns:96px 1fr;gap:10px 12px;font-size:14px;margin:0 0 20px}.kv dt{color:var(--text-faint)}.kv dd{margin:0;color:var(--text-dim)}.detail-sec{margin:0 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.chain{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.chain-item{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--text-dim)}.chain-item .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.detail{display:none}}.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:20px var(--gutter) 8px}.strip>div{padding:16px 18px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.strip .k{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint)}.strip .v{margin-top:6px;font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.strip .v small{font-size:12px;font-weight:400;color:var(--text-faint);margin-inline-start:4px}.strip .v.danger-text small{color:inherit}.bar{display:block;width:110px;height:6px;border-radius:3px;background:var(--border-strong);overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:3px}.metric{display:inline-flex;align-items:center;gap:10px}.metric-label{display:block;width:144px}.row.head{min-height:30px;border-top:none;cursor:default;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.row.head:hover{background:none}.row.head .t,.row.head .dept,.row.head .due,.row.head .metric-label{font-size:11px;color:var(--text-faint);letter-spacing:.08em}.metric .n{font-variant-numeric:tabular-nums;font-size:14px;min-width:24px;text-align:end}.callout{margin:16px var(--gutter);padding:14px 16px;background:var(--bg-raised);border:1px solid var(--border);border-inline-start:2px solid var(--warn);border-radius:var(--radius)}.callout .ttl{margin:0 0 4px;font-size:14px;font-weight:600}.callout p{margin:0;font-size:13.5px;color:var(--text-dim)}.callout-rows{margin-top:9px;display:flex;flex-direction:column;gap:5px}.callout-rows>div{display:flex;gap:10px;font-size:13px;color:var(--text-faint)}.row.tall{min-height:62px;align-items:center;padding-block:8px}.row .stack{display:flex;flex-direction:column;gap:4px;min-width:0}.row .stack .t{font-size:15px}.caps-line{display:flex;flex-wrap:wrap;gap:0 10px;font-family:var(--mono);font-size:12px;color:var(--text-faint);max-height:18px;overflow:hidden}.caps-line .key{color:var(--warn)}.row-select{width:96px;padding:4px 8px;font-size:13.5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer}.row-select:hover,.row-select:focus{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text)}.csub input[type=text]{width:auto;max-width:220px;padding:6px 11px;font-size:13.5px;background:var(--bg-raised);border:1px solid var(--border)}.csub .toggle{display:inline-flex;align-items:center;gap:7px;margin-bottom:0;font-size:13.5px;letter-spacing:0;white-space:nowrap;text-transform:none;color:var(--text-dim);cursor:pointer}.csub .toggle input{margin:0;accent-color:var(--accent)}.modal.bare{padding:0;width:min(560px,calc(100vw - 32px))}.modal.bare::backdrop{background:#090a11b8}.palette{display:flex;flex-direction:column;max-height:min(440px,70vh)}.palette-input{flex:none;width:100%;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;font-size:16px;outline:none}.palette-input:focus{border-color:var(--border)}.palette-input::placeholder{color:var(--text-faint)}.palette-list{flex:1;overflow-y:auto;padding:6px;min-height:0}.palette-group{padding:10px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.palette-item{display:flex;align-items:center;gap:12px;padding:0 10px;height:38px;border-radius:var(--radius-sm);cursor:pointer;font-size:14.5px}.palette-item[aria-selected=true]{background:var(--bg-hover)}.palette-item .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{margin-inline-start:auto;flex:none;font-size:12.5px;color:var(--text-faint);white-space:nowrap}.rail-search{display:flex;align-items:center;gap:9px;width:100%;margin-bottom:10px;padding:0 10px;height:36px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-faint);font:inherit;font-size:14px;text-align:start;cursor:pointer}.rail-search:hover{border-color:var(--border-strong);color:var(--text-dim)}.rail-search kbd{margin-inline-start:auto;font-family:var(--mono);font-size:11px;color:var(--text-faint)}.toast{position:fixed;inset-inline-start:50%;bottom:22px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:14px;padding:11px 14px 11px 16px;font-size:14px;background:var(--bg-header);border:1px solid var(--border-strong);border-radius:var(--radius)}[dir=rtl] .arrow{transform:scaleX(-1);display:inline-block}[dir=rtl] .btn.small:has(+h3){transform:none}.lang-switch{background:none;border:0;padding:4px 8px;cursor:pointer;color:var(--text-faint);font:inherit;font-size:13.5px}.lang-switch:hover{color:var(--text)}.menu{position:relative;flex:none}.menu>.btn{padding-inline:10px}.menu-list{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:20;min-width:200px;padding:6px;background:var(--bg-header);border:1px solid var(--border-strong);border-radius:var(--radius)}.menu-item{display:flex;align-items:center;width:100%;padding:0 12px;height:38px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;font-size:14px;text-align:start;cursor:pointer;white-space:nowrap}.menu-item:hover:not(:disabled){background:var(--bg-hover)}.menu-item:disabled{color:var(--text-faint);cursor:not-allowed}.menu-item.danger{color:var(--danger)}.menu-divider{height:1px;margin:6px 4px;background:var(--border)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:72px var(--gutter)}.empty-icon{width:52px;height:52px;border-radius:50%;margin-bottom:6px;display:grid;place-items:center;background:var(--bg-raised);border:1px solid var(--border);color:var(--accent)}.empty-icon svg{width:22px;height:22px}.empty-title{margin:0;font-size:17px;font-weight:600}.empty-body{margin:0 0 10px;max-width:30rem;color:var(--text-dim);font-size:14.5px}.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;padding:24px var(--gutter) 64px}.ev-card{display:flex;gap:16px;align-items:flex-start;text-align:start;padding:18px;min-width:0;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);color:inherit;font:inherit;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.ev-card:hover{border-color:var(--border-strong);background:var(--bg-header)}.ev-date{flex:none;width:56px;padding:8px 0 9px;display:flex;flex-direction:column;align-items:center;background:var(--accent-sunken);border-radius:var(--radius-sm);color:var(--accent)}.ev-card.is-done .ev-date{background:var(--bg-hover);color:var(--ok)}.ev-date .d{font-size:24px;font-weight:600;line-height:1.05;font-variant-numeric:tabular-nums}.ev-date .m{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.ev-main{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.ev-title{font-size:16.5px;font-weight:600;line-height:1.3}.ev-sub{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13.5px;color:var(--text-dim)}.ev-sub>span+span:before{content:"·";margin-inline-end:12px;color:var(--text-faint)}.ev-progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:8px}.ev-progress .bar{flex:1;width:auto;max-width:160px}.ev-card.is-done .bar i{background:var(--ok)}@media(max-width:860px){.ev-grid{grid-template-columns:1fr;padding-top:16px;gap:10px}.ev-card{padding:14px}}.row .on-hover{opacity:0;transition:opacity .1s ease}.row:hover .on-hover,.row .on-hover:focus-visible{opacity:1}@media(hover:none){.row .on-hover{opacity:1}}.row>.face{margin-inline-start:0}.row .t .sec{margin-inline-start:8px;vertical-align:1px}.row .sec.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}@media(max-width:860px){.chead .btn .lbl{display:none}.chead .btn.primary{padding-inline:11px}.chead .pill.live{display:none}}.swatches{display:inline-flex;align-items:center;gap:5px}.swatch{width:20px;height:20px;padding:0;border-radius:50%;cursor:pointer;background:var(--hue);border:2px solid var(--bg-raised);box-shadow:0 0 0 1px var(--border)}.swatch:hover{box-shadow:0 0 0 1px var(--text-dim)}.swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--text)}.swatch.auto{width:auto;height:22px;padding:0 9px;border-radius:999px;margin-inline-start:4px;background:none;border:1px solid var(--border-strong);box-shadow:none;color:var(--hue);font:inherit;font-size:12px}.swatch.auto[aria-checked=true]{border-color:var(--hue)}
