@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,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-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,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-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.p.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_85720a81-module__184UtW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_85720a81-module__184UtW__variable{--font-doc-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,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-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.p.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,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-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.p.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_b19ffce7-module__0y3Sxa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_b19ffce7-module__0y3Sxa__variable{--font-doc-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.p.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_104c326a-module__b4RSjW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_104c326a-module__b4RSjW__variable{--font-doc-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.3x137p1ifayze.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.1x971o6gwfy6w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.1ri8jgkzoo1l-.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.1veyi_qwtij86.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.p.1t-2a-g4m3ypx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.20at88_q9f_kt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_960aad48-module__oJ9W_a__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_960aad48-module__oJ9W_a__variable{--font-doc-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--bg:#1a1d21;--bg-elev:#23282e;--bg-soft:#2c333b;--ink:#e8ecef;--muted:#9aa3ad;--line:#3a424c;--accent:#c4a35a;--accent-ink:#1a1d21;--danger:#d9786a;--region:#5aaa7838;--region-stroke:#5aaa78d9;--line-fill:#5a8cd233;--line-stroke:#6ea0e6e6;--selected-fill:#c4a35a59;--selected-stroke:#c4a35a;--status-in-progress:#e3c565;--status-done:#e08a3c;--status-final:#6aaa78;--status-ground-truth:#6ea0e6;--font:"IBM Plex Sans", "Segoe UI", "Helvetica Neue", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--font-sans:"IBM Plex Sans", "Segoe UI", "Helvetica Neue", sans-serif;--font-display:Fraunces, Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--bg-soft);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.4rem .7rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}button.active{border-color:var(--accent);color:var(--accent)}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:6px;width:100%;padding:.45rem .55rem}textarea.auto-grow{resize:none;min-height:2.2rem;overflow:hidden}textarea.auto-grow.is-expanded{overflow:hidden}.node-anchor{width:0;height:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.8rem}.app{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(#22272e,#1a1d21);grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.4rem .85rem;display:grid}.brand{align-items:center;line-height:0;display:flex}.brand img{width:auto;height:1.85rem;display:block}.top-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.top-controls label{letter-spacing:.02em;color:var(--muted);flex-direction:row;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.top-controls label.check,.modal-card label.check{text-transform:none;letter-spacing:0;color:var(--ink);flex-direction:row;align-items:center;gap:.4rem;padding-bottom:.35rem;font-size:.9rem}.top-controls select{min-width:10rem}.color-menu{min-width:11rem;position:relative}.color-menu.is-disabled{opacity:.45}.color-menu-trigger,.color-menu-option{text-align:left;text-transform:none;letter-spacing:0;border-left:3px solid #0000;width:100%;font-size:.9rem;display:block}.color-menu-trigger{min-height:2.15rem}.color-menu-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.color-menu-trigger[data-status=in_progress],.color-menu-option[data-status=in_progress]{border-left-color:var(--status-in-progress)}.color-menu-trigger[data-status=done],.color-menu-option[data-status=done]{border-left-color:var(--status-done)}.color-menu-trigger[data-status=final],.color-menu-option[data-status=final]{border-left-color:var(--status-final)}.color-menu-trigger[data-status=ground_truth],.color-menu-option[data-status=ground_truth]{border-left-color:var(--status-ground-truth)}.color-menu-list{z-index:30;background:var(--bg-elev);border:1px solid var(--line);border-radius:6px;min-width:100%;max-height:16rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto;overflow:auto;box-shadow:0 8px 24px #00000059}.color-menu-list li+li{margin-top:1px}.color-menu-option{border-radius:4px;padding:.4rem .65rem}.color-menu-option.is-selected{background:var(--bg-soft)}.tag-menu{min-width:11rem;position:relative}.tag-menu.is-disabled{opacity:.45}.tag-menu-trigger{text-align:left;text-transform:none;letter-spacing:0;align-items:center;gap:.45rem;width:100%;min-height:2.15rem;font-size:.9rem;display:flex}.tag-icon{width:1rem;height:1rem;color:var(--accent);flex:none}.tag-menu-placeholder{color:var(--muted)}.tag-menu-chips{flex-wrap:wrap;gap:.25rem;min-width:0;display:flex}.tag-chip{text-overflow:ellipsis;white-space:nowrap;background:var(--bg);border:1px solid var(--line);letter-spacing:0;text-transform:none;border-radius:999px;max-width:8.5rem;padding:.08rem .4rem;font-size:.75rem;display:inline-block;overflow:hidden}.tag-chip.is-more{color:var(--muted)}.tag-menu-panel{z-index:30;background:var(--bg-elev);border:1px solid var(--line);border-radius:6px;min-width:max(100%,14rem);position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000059}.tag-menu-list{max-height:16rem;margin:0;padding:.25rem;list-style:none;overflow:auto}.tag-menu-list li+li{margin-top:1px}.tag-menu-option{text-align:left;text-transform:none;letter-spacing:0;border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.4rem .55rem;font-size:.9rem;display:flex}.tag-menu-option.is-selected{background:var(--bg-soft)}.tag-check{border:1px solid var(--line);background:var(--bg);border-radius:3px;flex:none;width:.85rem;height:.85rem}.tag-check.is-on{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--bg-elev)}.tag-menu-add{border-top:1px solid var(--line);gap:.35rem;padding:.4rem .45rem .5rem;display:flex}.tag-menu-add input{flex:1;min-width:0;padding:.35rem .5rem}.tag-menu-add button{flex:none}.top-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;font-size:.85rem;display:flex}.user-pill,.reserve-pill{border:1px solid var(--line);background:var(--bg-soft);border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .5rem;display:inline-flex}.role-label{text-transform:capitalize;opacity:.7;font-size:.8em}.danger-link{color:var(--danger);cursor:pointer;font:inherit;background:0 0;border:0;margin-top:.4rem;padding:0}.danger-link:disabled{opacity:.45;cursor:not-allowed}.reserve-pill.is-taken{border-color:var(--danger);color:var(--danger)}.reserve-pill.is-mine{border-color:var(--status-final)}.login-screen{background:var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.75rem;width:min(22rem,100%);padding:1.5rem;display:flex}.login-card label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:.25rem;font-size:.72rem;display:flex}.login-card .brand{margin-bottom:.15rem}.login-card .brand img{height:2.85rem;margin:0 auto}.modal-backdrop{z-index:50;background:#080a0c9e;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.75rem;width:min(28rem,100%);max-height:calc(100vh - 2.5rem);padding:1.25rem 1.35rem 1.1rem;display:flex;overflow:visible;box-shadow:0 16px 48px #00000073}.modal-card h2{font-family:var(--font-display), Georgia, serif;color:var(--accent);margin:0;font-size:1.2rem}.modal-card label,.modal-card .field{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:.28rem;font-size:.72rem;display:flex}.modal-card label .small,.modal-card .field .small{text-transform:none;letter-spacing:0}.modal-card.is-wide{width:min(34rem,92vw)}.tab-strip{border-bottom:1px solid var(--line);gap:.2rem;display:flex}.tab-strip button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:5px 5px 0 0;margin-bottom:-1px;padding:.35rem .7rem}.tab-strip button.is-active{color:var(--ink);border-bottom-color:var(--accent)}.tab-body{flex-direction:column;gap:.6rem;display:flex}.modal-actions.is-spread{justify-content:space-between}.modal-section{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.6rem;display:flex}.modal-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.72rem}.icon-button{flex:none;padding:0 .5rem;line-height:1}.modal-card .mono-path{font-family:var(--mono);word-break:break-all;color:var(--ink);margin:0}.modal-card .tag-menu{text-transform:none;letter-spacing:0;width:100%;min-width:0}.modal-card .tag-menu-panel{z-index:60}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.error{color:var(--danger)}.status{color:var(--accent)}.app-layout{flex:1;grid-template-columns:240px 7px 1fr minmax(320px,400px);min-height:0;display:grid}.app-layout.is-splitting{cursor:col-resize;-webkit-user-select:none;user-select:none}.app-layout.is-splitting .stage,.app-layout.is-splitting .text-panel,.app-layout.is-splitting .rail{pointer-events:none}.view-split{z-index:3;cursor:col-resize;background:0 0;position:relative}.view-split:after{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:3px}.view-split:hover:after,.app-layout.is-splitting .view-split:after{background:var(--accent);width:3px;left:2px}.rail-split:after{left:auto;right:3px}.rail-split:hover:after,.app-layout.is-splitting .rail-split:after{left:auto;right:2px}.app-layout.rail-collapsed .rail{pointer-events:none;border-right:none;padding:0;overflow:hidden}.rail{border-right:1px solid var(--line);background:var(--bg-elev);flex-direction:column;gap:.5rem;min-width:0;padding:.6rem;display:flex;overflow:hidden}.rail-filter{flex:none}.rail-empty{margin:.2rem .3rem}.doc-list,.page-list{margin:0;padding:0;list-style:none}.doc-list{flex:auto;min-height:0;overflow:auto}.doc-item,.page-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:.45rem;padding:.3rem .4rem;font-size:.85rem;display:flex}.doc-item:hover,.page-item:hover{background:var(--bg-soft)}.doc-item.is-active,.page-item.is-active{background:var(--bg-soft);box-shadow:inset 2px 0 0 var(--accent)}.doc-item-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.doc-item-count,.doc-item-lock{color:var(--muted);flex:none;font-size:.7rem}.doc-item-lock{color:var(--danger)}.page-list{margin:.1rem 0 .35rem .85rem}.page-item{color:var(--muted);font-size:.8rem}.page-item.is-active{color:var(--ink)}.status-dot{background:var(--line);border-radius:50%;flex:none;width:7px;height:7px}.status-dot[data-status=in_progress]{background:var(--status-in-progress)}.status-dot[data-status=done]{background:var(--status-done)}.status-dot[data-status=final]{background:var(--status-final)}.status-dot[data-status=ground_truth]{background:var(--status-ground-truth)}.rail-foot{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:.3rem;padding-top:.4rem;display:flex}.rail-foot button{width:100%}.doc-inspector{flex-direction:column;gap:.3rem;min-width:0;margin:.25rem 0 .4rem .85rem;display:flex}.doc-inspector .color-menu,.doc-inspector .tag-menu{width:100%;min-width:0}.doc-inspector .color-menu-trigger,.doc-inspector .tag-menu-trigger{min-height:1.5rem;padding:.12rem .4rem;font-size:.75rem}.doc-inspector .tag-menu-panel,.doc-inspector .color-menu-list{z-index:8}.access-list{flex-direction:column;gap:.2rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.page-bar{z-index:4;border-bottom:1px solid var(--line);flex-direction:column;gap:.35rem;padding:.45rem .75rem;display:flex;position:relative}.page-bar .page-item-meta{flex-direction:row;align-items:center;gap:.4rem;display:flex}.page-bar .page-item-meta .color-menu,.page-bar .page-item-meta .tag-menu{text-transform:none;letter-spacing:0;flex:1;width:auto;min-width:0}.page-bar .color-menu-trigger,.page-bar .tag-menu-trigger{min-height:1.55rem;padding:.12rem .4rem;font-size:.75rem}.page-bar .tag-icon{width:.8rem;height:.8rem}.page-bar .tag-chip{padding:.05rem .3rem;font-size:.68rem}.app-toast{z-index:80;background:var(--bg-elev);border:1px solid var(--accent);max-width:min(34rem,100vw - 2rem);color:var(--ink);border-radius:8px;padding:.7rem 1rem;font-size:.9rem;position:fixed;bottom:1.35rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000073}.file-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.file-label input[type=file]{text-transform:none;letter-spacing:0;color:var(--ink);background:0 0;border:none;padding:.35rem 0;font-size:.8rem}.check.inline{text-transform:none;color:var(--ink);letter-spacing:0;flex-direction:row;align-items:center;gap:.4rem;font-size:.85rem}.folder-actions{flex-direction:column;gap:.4rem;display:flex}.folder-actions button{text-align:center;width:100%}.log-box{background:var(--bg);border:1px solid var(--line);max-height:8rem;font-family:var(--mono);white-space:pre-wrap;border-radius:6px;margin:0;padding:.5rem;font-size:.7rem;overflow:auto}.row{gap:.35rem;display:flex}.row.wrap{flex-wrap:wrap}.stage{background:radial-gradient(circle at 20% 0,#c4a35a14,#0000 40%),linear-gradient(#15181c,#1a1d21);min-width:0;min-height:0}.empty-stage{text-align:center;place-content:center;gap:.35rem;height:100%;display:grid}.viewer-shell{flex-direction:column;height:100%;display:flex}.viewer-toolbar{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.45rem;padding:.3rem .55rem;display:grid}.viewer-toolbar-start,.viewer-toolbar .overlay-level{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.viewer-toolbar .overlay-level{justify-content:flex-end;margin-left:0}.viewer-page-nav{justify-content:center;align-items:center;gap:.35rem;min-width:0;display:flex}.viewer-page-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:16rem;font-size:.85rem;overflow:hidden}.viewer-hint{text-transform:none;letter-spacing:0;max-width:24rem}.viewer-viewport{cursor:grab;touch-action:none;flex:1;position:relative;overflow:hidden}.viewer-viewport:active{cursor:grabbing}.viewer-viewport.is-splitting,.viewer-viewport.is-splitting:active{cursor:crosshair}.viewer-stage{transform-origin:0 0;will-change:transform;position:relative}.page-image{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.no-image{width:100%;height:100%;color:var(--muted);background:repeating-linear-gradient(-45deg,#222,#222 12px,#1b1b1b 12px 24px);place-items:center;display:grid}.image-missing-banner{background:var(--bg-elev);border:1px solid var(--line);border-radius:6px;align-items:center;gap:.6rem;max-width:calc(100% - 2rem);padding:.45rem .7rem;font-size:.8rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.overlay{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.poly{fill:var(--line-fill);stroke:var(--line-stroke);stroke-width:2px;vector-effect:non-scaling-stroke;cursor:pointer}.poly-region{fill:var(--region);stroke:var(--region-stroke)}.poly-table{fill:#c4a35a1f;stroke:#c4a35ab3}.poly-selected{fill:var(--selected-fill);stroke:var(--selected-stroke);stroke-width:3px}.poly-picked{stroke-dasharray:7 4}.poly-handle{fill:#f4f1ea;stroke:var(--selected-stroke);stroke-width:2px;vector-effect:non-scaling-stroke;cursor:grab}.poly-handle:hover{fill:var(--accent)}.split-guide{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.viewer-shell.is-order-view .page-image{opacity:.88}.order-arrow{fill:none;stroke:var(--accent);stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none}.order-arrow-head{fill:var(--accent);stroke:none}.order-label{cursor:pointer}.order-label rect{fill:#121214e0;stroke:var(--accent);stroke-width:1.25px}.order-label.is-selected rect{fill:var(--accent)}.order-label.is-first rect{stroke-width:2.25px}.order-label text{fill:#f4f1ea;font-variant-numeric:tabular-nums;pointer-events:none;font-size:13px;font-weight:650}.order-label.is-selected text{fill:#1a1a1c}.order-label.is-readonly{cursor:default}.order-index-select{z-index:6;field-sizing:content;font-variant-numeric:tabular-nums;width:max-content;min-width:0;max-width:none;padding:.15rem 1.25rem .15rem .35rem;font-size:.85rem;font-weight:650;position:absolute;transform:translate(-50%,-50%)}.table-toolbar{flex-direction:column;gap:.4rem;display:flex}.table-scroll{max-width:100%;overflow:auto}.cell-meta{align-items:center;gap:.35rem;margin-bottom:.2rem;display:flex}.text-panel{--text-content-size:16px;--text-content-font:var(--font-doc-sans,"Segoe UI"), "Helvetica Neue", sans-serif;background:var(--bg-elev);flex-direction:column;min-width:0;min-height:0;display:flex}.panel-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .6rem;padding:.4rem .75rem;display:flex}.panel-filters{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.panel-tag-filter{color:var(--muted);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.panel-tag-filter select{text-transform:none;letter-spacing:0;min-width:7rem;max-width:10rem;padding:.22rem .4rem;font-size:.8rem}.panel-tag-filter .mode-toggle button{text-transform:none;letter-spacing:0}.panel-header .mode-toggle button{padding:.22rem .45rem}.panel-header-actions{flex:none;align-items:center;gap:.45rem;display:flex}.text-prefs{position:relative}.text-prefs-panel{z-index:12;background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.7rem;min-width:18rem;max-width:min(24rem,100vw - 2rem);padding:.7rem;display:flex;position:absolute;top:calc(100% + .3rem);right:0;box-shadow:0 12px 28px #0006}.text-prefs-panel .panel-filters,.text-prefs-panel .panel-header-actions{flex-wrap:wrap}.text-font-control{color:var(--muted);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.text-font-control select{text-transform:none;letter-spacing:0;min-width:7.25rem;max-width:9.5rem;padding:.22rem .4rem;font-size:.8rem}.text-size-control{color:var(--muted);align-items:center;gap:.28rem;display:flex}.text-size-control input[type=range]{width:5.5rem;accent-color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0}.text-size-control .size-small{font-size:.7rem;line-height:1}.text-size-control .size-large{font-size:1.05rem;font-weight:600;line-height:1}.text-panel .line-row textarea,.text-panel .doc-table textarea,.text-panel .cell-preview{font-size:var(--text-content-size);font-family:var(--text-content-font);line-height:1.4}.panel-scroll{flex-direction:column;gap:1rem;padding:.75rem;display:flex;overflow:auto}.text-panel.meta-off .panel-scroll,.text-panel.meta-regions .panel-scroll{gap:.55rem}.region-block,.table-block{flex-direction:column;gap:.45rem;display:flex}.block-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);cursor:pointer;font-size:.8rem}.region-head{flex-wrap:wrap;flex:auto;align-items:center;gap:.35rem .55rem;min-width:0;display:flex}.region-meta{flex:none;align-items:center;gap:.35rem;display:flex}.region-structure{min-width:0;display:flex}.region-structure select{text-transform:none;letter-spacing:0;width:auto;max-width:10.5rem;padding:.12rem .35rem;font-size:.78rem}.region-meta .copy-ref,.panel-header-actions .copy-ref,.line-meta .copy-ref,.region-head.is-compact .copy-ref{width:1.55rem;height:1.55rem;color:var(--muted);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.region-meta .copy-ref:hover:not(:disabled),.panel-header-actions .copy-ref:hover:not(:disabled){color:var(--accent)}.region-meta .copy-ref.is-danger:hover:not(:disabled),.line-meta .copy-ref.is-danger:hover:not(:disabled),.region-head.is-compact .copy-ref.is-danger:hover:not(:disabled){color:var(--danger)}.region-head.is-compact{justify-content:flex-end;min-height:0}.line-row{position:relative}.line-meta.is-compact{opacity:0;z-index:1;margin-bottom:0;position:absolute;top:.2rem;right:.2rem}.line-row:hover .line-meta.is-compact,.line-row.selected .line-meta.is-compact{opacity:1}.region-meta .copy-ref.is-copied{color:var(--accent)}.copy-ref-icon{width:.95rem;height:.95rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.region-block.selected,.table-block.selected{outline:1px solid var(--accent);outline-offset:4px;background:#c4a35a0d;border-radius:10px}.region-block.drop-before,.table-block.drop-before,.line-row.drop-before{box-shadow:inset 0 3px 0 0 var(--accent)}.region-block.drop-after,.table-block.drop-after,.line-row.drop-after{box-shadow:inset 0 -3px 0 0 var(--accent)}.region-block.is-reorder-source,.table-block.is-reorder-source,.line-row.is-reorder-source{opacity:.45}.text-panel.is-reordering,.text-panel.is-reordering *{cursor:grabbing!important}.text-panel.is-reordering{-webkit-user-select:none;user-select:none}.line-row{background:#ffffff05;border:1px solid #0000;border-radius:8px;padding:.35rem}.line-row.selected{border-color:var(--accent);background:#c4a35a14}.line-row.no-geom{opacity:.95}.line-row.is-plain{background:0 0;border-radius:4px;padding:.15rem .2rem}.line-meta{align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.chip{font-family:var(--mono);background:var(--bg-soft);border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.linkish{color:var(--accent);background:0 0;border:none;padding:0;font-size:.75rem}.doc-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.9rem}.doc-table td,.doc-table th{border:1px solid var(--line);vertical-align:top;min-width:3.2rem;padding:.25rem;position:relative}.doc-table td.selected{outline:1px solid var(--accent)}.doc-table td.layout-selected{outline:1px solid var(--accent);background:#c4a35a29}.doc-table textarea{background:0 0;border:none;min-height:2.5rem}.doc-table .cell-lines{flex-direction:column;gap:.2rem;display:flex}.doc-table .cell-lines textarea{border-bottom:1px dashed var(--line);min-height:1.6rem;padding:.15rem 0}.doc-table .cell-lines textarea:last-child{border-bottom:none}.cell-line-preview{min-height:1.15rem}.cell-line-preview.selected{outline:1px solid var(--accent)}.table-toolbar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mode-toggle{gap:0;display:flex}.mode-toggle button{border-radius:0;padding:.25rem .55rem;font-size:.75rem}.mode-toggle button:first-child{border-radius:6px 0 0 6px}.mode-toggle button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.table-tools button{padding:.28rem .5rem;font-size:.75rem}.tool-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-self:center;padding:0 .15rem;font-size:.7rem}.table-hint{margin:0;line-height:1.35}.doc-table.layout-mode{-webkit-user-select:none;user-select:none}.doc-table .row-gutter,.doc-table th.gutter{width:1.7rem;min-width:1.7rem;padding:0}.doc-table thead th,.doc-table th.row-head{background:var(--bg-soft);color:var(--muted);font-family:var(--mono);text-align:center;vertical-align:middle;cursor:pointer;font-size:.68rem;font-weight:500}.doc-table th.row-head{height:100%}.cell-preview{white-space:pre-wrap;word-break:break-word;min-height:1.6rem;font-size:.85rem}.table-block.is-dragging{cursor:col-resize}.resize-handle{z-index:2;background:0 0;position:absolute}.resize-handle.col{cursor:col-resize;width:8px;height:100%;top:0;right:-4px}.resize-handle.row{cursor:row-resize;width:100%;height:8px;bottom:-4px;left:0}.resize-handle:after{content:"";background:var(--accent);opacity:.35;position:absolute}.resize-handle.col:after{width:2px;top:20%;bottom:20%;left:3px}.resize-handle.row:after{height:2px;top:3px;left:20%;right:20%}.resize-handle:hover:after,.table-block.is-dragging .resize-handle:after{opacity:1}@media (max-width:960px){.app-layout{grid-template-rows:auto 50vh auto;grid-template-columns:1fr!important}.view-split{display:none}.rail,.text-panel{border:none;max-height:40vh}}
