/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--viewport:#131416;--chrome:#17181a;--panel:#1c1d20;--field:#232428;--hover:#232528;--line:#2a2c30;--line-2:#383b40;--grid:#ffffff0e;--draw:#c9ccd1;--draw-2:#5e636b;--text:#e4e5e7;--text-2:#a3a7ae;--text-3:#6e737b;--accent:#4c8dff;--accent-bg:#4c8dff26;--on-accent:#fff;--s-sub:#5cc2d6;--s-prog:#e3a74f;--s-issue:#ee6b5f;--s-ok:#56be8b;--danger-bg:#2a1b1d;--danger-line:#5a2a2c;--danger-text:#f2a7a3;--font-sans:var(--font-geist-sans), "Geist", system-ui, sans-serif;--font-mono:var(--font-geist-mono), "Geist Mono", ui-monospace, monospace;--fs-caps:10.5px;--fs-small:11px;--fs-ui:12.5px;--fs-body:13px;--fs-title:14px;--radius-sm:4px;--radius:5px;--radius-lg:6px;--h-header:40px;--h-toolbar:42px;--h-panel-head:34px;--h-row:32px;--h-control:28px;--h-status:24px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--viewport:#f7f8f9;--chrome:#f3f4f5;--panel:#fff;--field:#f5f6f7;--hover:#f1f2f4;--line:#e2e4e7;--line-2:#cfd3d8;--grid:#14181e12;--draw:#3a3f46;--draw-2:#a9aeb5;--text:#1a1c20;--text-2:#5b6169;--text-3:#8b9097;--accent:#2563eb;--accent-bg:#2563eb17;--s-sub:#1e93ab;--s-prog:#c7811b;--s-issue:#d2463a;--s-ok:#2e9967;--danger-bg:#fdecea;--danger-line:#f3c3be;--danger-text:#a3342a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media print{:root,:root[data-theme=light]{--viewport:#fff;--chrome:#fff;--panel:#fff;--field:#fff;--hover:#fff;--line:#d5d8dc;--line-2:#b9bec4;--grid:transparent;--draw:#3a3f46;--draw-2:#a9aeb5;--text:#111316;--text-2:#3f444b;--text-3:#6b7079;--accent:#2563eb;--accent-bg:transparent;--s-sub:#1e93ab;--s-prog:#c7811b;--s-issue:#d2463a;--s-ok:#2e9967;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body{background:var(--chrome);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.4}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-3)}.caps{font-size:var(--fs-caps);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500}.tool{height:var(--h-control);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 9px;list-style:none;display:inline-flex}.tool::-webkit-details-marker{display:none}.tool:hover{background:var(--hover);color:var(--text)}.tool.on{background:var(--accent-bg);color:var(--accent)}.tool b{color:var(--text);font-weight:500}.seg{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--field);padding:2px;display:inline-flex}.seg .tool{height:24px}.sep{background:var(--line);flex:none;width:1px;height:20px}.btn-primary,.btn-quiet{border-radius:var(--radius);height:30px;font-size:var(--fs-ui);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--on-accent);border:0}.btn-primary:hover{filter:brightness(1.08)}.btn-quiet{border:1px solid var(--line-2);color:var(--text);background:0 0}.btn-quiet:hover{background:var(--hover)}.icon-btn{border-radius:var(--radius);width:26px;height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.sq{background:var(--text-3);border-radius:2px;flex:none;width:8px;height:8px}.sq.submitted{background:var(--s-sub)}.sq.progress{background:var(--s-prog)}.sq.issue{background:var(--s-issue)}.sq.ok{background:var(--s-ok)}.field{width:100%;height:var(--h-control);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);color:var(--text);font-size:var(--fs-ui);padding:0 8px}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.menu{position:relative}.menu-panel{z-index:20;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--panel);flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 32px #00000059}.menu-panel.wide{gap:10px;min-width:280px;padding:12px}.menu-item{height:var(--h-control);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-ui);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.menu-item:hover{background:var(--hover);color:var(--text)}.menu-item[aria-checked=true]{color:var(--text)}.menu-item[aria-checked=true]:after{content:"✓";color:var(--accent);margin-left:auto}.menu-field{flex-direction:column;gap:5px;display:flex}.app{background:var(--chrome);flex-direction:column;height:100vh;display:flex}.app-header{height:var(--h-header);border-bottom:1px solid var(--line);background:var(--chrome);scrollbar-width:none;flex:none;align-items:stretch;display:flex;overflow-x:auto}.app-brand{border-right:1px solid var(--line);white-space:nowrap;align-items:center;gap:10px;padding:0 14px;display:flex}.app-brand b{font-size:var(--fs-body);letter-spacing:.02em;font-weight:600}.app-brand span{font-size:var(--fs-ui);color:var(--text-2)}.app-brand .slash{color:var(--text-3)}.app-brand .menu>.tool{height:26px;margin-left:-6px;padding:0 6px}.app-brand .menu-panel{top:calc(100% + 8px)}.app-header{overflow:visible}.project-switch{font-size:var(--fs-ui);color:var(--text-2);align-items:center;gap:6px;display:inline-flex}.chevron-down{color:var(--text-3);transform:rotate(90deg)}.menu-meta{font-size:var(--fs-small);color:var(--text-3);margin-left:auto;padding-left:16px}.logo{width:18px;height:18px;color:var(--accent);flex:none}.app-tabs{align-items:stretch;display:flex}.doc-tab{border:0;border-right:1px solid var(--line);height:100%;color:var(--text-2);font-size:var(--fs-ui);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:7px;padding:0 14px;display:flex}.doc-tab:hover{color:var(--text);background:var(--hover)}.doc-tab.active{color:var(--text);background:var(--panel);box-shadow:inset 0 2px 0 var(--accent)}.doc-tab .n{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-3)}.app-header-end{align-items:center;gap:10px;margin-left:auto;padding:0 12px 0 14px;display:flex}.jump{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);width:250px;height:26px;color:var(--text-3);align-items:center;gap:8px;padding:0 8px;display:flex}.jump:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.jump input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:12px}.jump input::placeholder{color:var(--text-3)}.jump kbd{font-family:var(--font-mono);font-size:var(--fs-caps)}.avatar{border:1px solid var(--line);background:var(--field);width:26px;height:26px;font-size:var(--fs-caps);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.toolbar{min-height:var(--h-toolbar);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:0 12px;display:flex}.toolbar-end{font-size:var(--fs-small);color:var(--text-3);margin-left:auto}.workbench{flex:1;min-height:0;display:flex}.navigator{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;gap:18px;width:236px;padding:12px 8px;display:flex;overflow-y:auto}.workspace{background:var(--viewport);flex-direction:column;flex:1;min-width:0;display:flex}.properties{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;width:296px;display:flex}.status-bar{min-height:var(--h-status);border-top:1px solid var(--line);background:var(--chrome);font-size:var(--fs-small);color:var(--text-3);flex-wrap:wrap;flex:none;align-items:center;gap:18px;padding:0 12px;display:flex}.status-bar .end{margin-left:auto}.dot{background:var(--s-ok);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.dot.busy{background:var(--s-prog)}.dot.down{background:var(--s-issue)}.panel-head{height:var(--h-panel-head);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.panel-head .caps{color:var(--text-2)}.panel-head .meta{color:var(--text-3);font-size:12px}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-title{justify-content:space-between;align-items:center;padding:0 10px 6px;display:flex}.tree-item{width:100%;height:var(--h-control);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-ui);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px 0 10px;display:flex}.tree-item:hover{background:var(--hover);color:var(--text)}.tree-item.active{background:var(--accent-bg);color:var(--text)}.tree-item.hidden{opacity:.45}.tree-item.static{cursor:default}.tree-item.static:hover{color:var(--text-2);background:0 0}.tree-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree-item .n{min-width:26px;font-family:var(--font-mono);color:var(--text-3);text-align:right;margin-left:auto;font-size:11.5px}.tree-item .range{font-family:var(--font-mono);font-size:var(--fs-caps);color:var(--text-3)}.tree-row{align-items:center;gap:2px;display:flex}.tree-row .tree-item{flex:1;min-width:0}.watch{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--field);color:var(--text-2);flex-direction:column;gap:4px;margin-top:auto;padding:10px;font-size:12px;display:flex}.watch b{font-family:var(--font-mono);color:var(--text);font-weight:500}.watch b.alert{color:var(--s-issue)}.viewport{border-bottom:1px solid var(--line);background-color:var(--viewport);background-image:radial-gradient(var(--grid) 1px, transparent 1px);background-size:16px 16px;flex:none;height:300px;position:relative;overflow:hidden}.viewport.tall{border-bottom:0;flex:1;height:auto;min-height:360px}.viewport{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.viewport.dragging,.viewport.dragging .marker,.viewport.dragging .span,.viewport.dragging .dim{cursor:grabbing}.viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.vp-hint{font-size:var(--fs-small);color:var(--text-3)}.overview{z-index:4;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;touch-action:none;width:180px;height:14px;position:absolute;top:16px;right:140px}.overview-lot{background:var(--draw-2);height:1px;position:absolute;top:6px}.overview-lot+.overview-lot{border-left:1px solid var(--draw-2);background:linear-gradient(var(--draw-2), var(--draw-2)) 0 3px / 100% 1px no-repeat;height:7px;top:3px}.overview-window{border:1px solid var(--accent);background:var(--accent-bg);cursor:grab;border-radius:2px;min-width:4px;position:absolute;top:-1px;bottom:-1px}.vp-title{align-items:center;gap:10px;display:flex;position:absolute;top:12px;left:14px}.vp-title .caps{color:var(--text-2)}.vp-title .mono{font-size:var(--fs-small);color:var(--text-3)}.vp-controls{z-index:4;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);align-items:center;display:flex;position:absolute;top:10px;right:12px;overflow:hidden}.vp-ctrl{width:26px;height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.vp-ctrl:hover:not(:disabled){background:var(--hover);color:var(--text)}.vp-ctrl:disabled{opacity:.4;cursor:default}.vp-zoom{border-inline:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-2);padding:0 8px;line-height:26px}.vp-canvas{position:absolute;inset:0 48px}.vp-foot{z-index:4;font-size:var(--fs-small);color:var(--text-3);align-items:center;gap:14px;display:flex;position:absolute;bottom:10px}.vp-foot.left{left:14px}.vp-foot.right{right:14px}.vp-foot i{vertical-align:middle;background:var(--s-prog);opacity:.5;width:14px;height:8px;margin-right:6px;display:inline-block}.dim{height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:0;position:absolute;top:58px}.dim .bar{background:var(--draw-2);height:1px;position:absolute;top:20px;left:0;right:0}.dim .bar:before,.dim .bar:after{content:"";background:var(--draw-2);width:1px;height:11px;position:absolute;top:-5px}.dim .bar:before{left:0}.dim .bar:after{right:0}.dim .lbl{background:var(--viewport);font-family:var(--font-mono);font-size:var(--fs-caps);letter-spacing:.06em;white-space:nowrap;padding:0 6px;position:absolute;top:0;left:50%;transform:translate(-50%)}.dim:hover .lbl{color:var(--text)}.dim.off{opacity:.35}.dim.focus .lbl{color:var(--accent)}.dim.focus .bar,.dim.focus .bar:before,.dim.focus .bar:after{background:var(--accent)}.road-edge{background:var(--draw);height:1px;position:absolute;left:0;right:0}.road-axis{background-image:repeating-linear-gradient(90deg, var(--draw-2) 0 14px, transparent 14px 18px, var(--draw-2) 18px 20px, transparent 20px 24px);height:1px;position:absolute;left:0;right:0}.heat{background:var(--s-prog);pointer-events:none;height:22px;position:absolute;top:139px}.marker{cursor:pointer;background:var(--text-3);width:10px;height:10px;box-shadow:0 0 0 2px var(--viewport);border:0;border-radius:2px;margin-left:-5px;padding:0;position:absolute;top:144px;transform:rotate(45deg)}.marker.submitted,.span.submitted{background:var(--s-sub)}.marker.progress,.span.progress{background:var(--s-prog)}.marker.issue,.span.issue{background:var(--s-issue)}.marker.ok,.span.ok{background:var(--s-ok)}.marker.sel{z-index:3;box-shadow:0 0 0 2px var(--viewport), 0 0 0 4px var(--accent)}.span{cursor:pointer;background:var(--text-3);opacity:.85;border:0;border-radius:1px;min-width:3px;height:4px;padding:0;position:absolute}.span:hover{opacity:1}.span.sel{z-index:3;opacity:1;box-shadow:0 0 0 1px var(--viewport), 0 0 0 3px var(--accent)}.callout-stem{background:var(--accent);pointer-events:none;width:1px;position:absolute}.callout-leader{background:var(--accent);pointer-events:none;width:22px;height:1px;position:absolute}.callout{z-index:3;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--panel);white-space:nowrap;pointer-events:none;flex-direction:column;gap:1px;padding:5px 8px;display:flex;position:absolute}.callout .mono{font-size:var(--fs-small);color:var(--text)}.callout span:last-child{font-size:var(--fs-small);color:var(--text-2)}.tick{background:var(--draw-2);width:1px;position:absolute}.tick-label{font-family:var(--font-mono);font-size:var(--fs-caps);color:var(--text-3);white-space:nowrap;position:absolute;transform:translate(-50%)}.lanes{position:absolute;inset:96px 0 40px;overflow:hidden auto}.lane{border-bottom:1px dashed var(--line);height:26px;position:relative}.lane-label{z-index:2;background:var(--viewport);max-width:240px;font-size:var(--fs-small);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;padding-right:8px;position:absolute;top:5px;left:0;overflow:hidden}.lane .span{height:6px;top:10px}.lane-axis{border-top:1px solid var(--draw-2);height:40px;position:absolute;bottom:0;left:0;right:0}.legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sheet{background:var(--panel);flex-direction:column;flex:1;min-height:280px;display:flex}.sheet-scroll{flex:1;min-height:0;overflow:auto}.sheet-row{width:100%;height:var(--h-row);border:0;border-bottom:1px solid var(--line);color:var(--text);font-size:var(--fs-ui);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:0 14px;display:grid}.sheet-row:hover{background:var(--hover)}.sheet-row.sel{background:var(--accent-bg);box-shadow:inset 2px 0 0 var(--accent)}.sheet-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheet-row .soft{color:var(--text-2)}.sheet-row .faint{color:var(--text-3)}.sheet-row .mono{font-size:12px}.sheet-row.head{z-index:2;background:var(--panel);height:28px;color:var(--text-3);font-size:var(--fs-small);letter-spacing:.04em;text-transform:uppercase;cursor:default;position:sticky;top:0}.sheet-row.head:hover{background:var(--panel)}.sheet-group{z-index:1;border-bottom:1px solid var(--line);background:var(--chrome);align-items:center;gap:10px;height:28px;padding:0 14px;display:flex;position:sticky;top:28px}.sheet-group .caps{color:var(--text-2)}.sheet-group .mono{font-size:var(--fs-small);color:var(--text-3)}.sheet-empty{text-align:center;font-size:var(--fs-ui);color:var(--text-3);padding:36px 14px}.props{flex-direction:column;flex:1;gap:18px;min-height:0;padding:14px;display:flex;overflow-y:auto}.props-id{flex-direction:column;gap:6px;display:flex}.props-id .mono{color:var(--accent);font-size:11.5px}.props-id strong{font-size:var(--fs-title);font-weight:500;line-height:1.35}.props-id .state{color:var(--text-2);align-items:center;gap:7px;font-size:12px;display:inline-flex}.props-group{flex-direction:column;gap:8px;display:flex}.prop{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;margin:0;font-size:12px;display:grid}.prop dt{color:var(--text-3)}.prop dd{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);min-height:26px;color:var(--text);overflow-wrap:anywhere;align-items:center;margin:0;padding:4px 9px;display:flex}.prop dd.mono{font-size:12px}.prop dd.unset{color:var(--text-3)}.props-actions{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;display:flex}.props-empty{text-align:center;font-size:var(--fs-ui);color:var(--text-3);flex:1;place-items:center;padding:24px;display:grid}.calendar{background:var(--panel);flex-direction:column;flex:1;min-height:0;display:flex}.calendar-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(116px,auto);min-height:0;display:grid;overflow:auto}.calendar-weekday{border-bottom:1px solid var(--line);border-right:1px solid var(--line);height:28px;font-size:var(--fs-small);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;align-items:center;padding:0 10px;display:flex}.calendar-day{border-bottom:1px solid var(--line);border-right:1px solid var(--line);flex-direction:column;gap:2px;min-width:0;padding:6px;display:flex;overflow:hidden}.calendar-day.blank{background:var(--viewport)}.calendar-day.today .calendar-date{color:var(--accent)}.calendar-date{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-3);justify-content:space-between;margin-bottom:2px;display:flex}.calendar-item{border-radius:var(--radius-sm);min-width:0;height:22px;color:var(--text-2);font-size:var(--fs-small);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 6px;display:flex}.calendar-item:hover{background:var(--hover);color:var(--text)}.calendar-item.sel{background:var(--accent-bg);color:var(--text)}.calendar-item span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-more{font-size:var(--fs-small);color:var(--text-3);padding:0 6px}.state-panel{background:var(--viewport);flex:1;place-items:center;padding:32px 16px;display:grid}.state-card{flex-direction:column;gap:10px;width:min(420px,100%);display:flex}.state-card h2{margin:0;font-size:16px;font-weight:600}.state-card p{color:var(--text-2);margin:0;line-height:1.55}.state-card .btn-quiet{align-self:flex-start;margin-top:6px}.auth{background:var(--viewport);min-height:100vh;color:var(--text);display:flex}.auth-brand{isolation:isolate;border-right:1px solid var(--line);background:var(--chrome);flex-direction:column;flex:none;justify-content:space-between;gap:48px;width:560px;padding:38px 46px;display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";z-index:-2;filter:grayscale()contrast(1.15)brightness(.7);opacity:.45;background:url(https://images.unsplash.com/photo-1517089152318-42ec560349c0?w=1400&q=60&auto=format&fit=crop) 50%/cover no-repeat;position:absolute;inset:0}.auth-brand:after{content:"";z-index:-1;background:linear-gradient(180deg, var(--chrome) 0%, var(--chrome) 22%, var(--chrome) 45%, var(--chrome) 70%, var(--chrome) 92%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.auth-brand:after{background:linear-gradient(180deg, var(--chrome) 0%, color-mix(in srgb, var(--chrome) 70%, transparent) 22%, color-mix(in srgb, var(--chrome) 40%, transparent) 45%, color-mix(in srgb, var(--chrome) 80%, transparent) 70%, var(--chrome) 92%)}}.auth-lockup{font-size:var(--fs-title);letter-spacing:.02em;align-items:center;gap:10px;font-weight:600;display:flex}.auth-lockup .logo{width:22px;height:22px}.auth-pitch{max-width:440px}.auth-eyebrow{color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}.auth-pitch h2{letter-spacing:-.03em;margin:0;font-size:38px;font-weight:600;line-height:1.08}.auth-pitch p:last-child{color:var(--text-2);margin:18px 0 0;font-size:14px;line-height:1.6}.auth-ledger{border-bottom:1px solid var(--line);margin:0}.auth-ledger div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:46px;display:flex}.auth-ledger dt{color:var(--text-3);font-size:12px}.auth-ledger dd{color:var(--text-2);font-family:var(--font-mono);margin:0;font-size:12px}.auth-panel{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:38px 24px;display:flex;position:relative}.auth-form-wrap{width:min(372px,100%)}.auth-form-wrap h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}.auth-sub{color:var(--text-2);margin:8px 0 28px;font-size:14px;line-height:1.55}.auth-sub b{color:var(--text);font-weight:500}.auth-form{flex-direction:column;display:flex}.auth-form label{color:var(--text-3);font-size:var(--fs-small);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-weight:500}.auth-form input{border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--field);height:44px;color:var(--text);outline:none;padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-form input::placeholder{color:var(--text-3)}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.auth-form input+label,.auth-form .auth-hint+label,.auth-form input+.auth-label-row{margin-top:18px}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-label-row label{margin-bottom:8px}.auth-hint{color:var(--text-3);margin:8px 0 0;font-size:12px}.auth-link.small{margin-top:0;font-size:12px}.auth-form .btn-primary{height:44px;margin-top:16px;font-size:14px}.auth-form .btn-primary:disabled{opacity:.6;cursor:default}.auth-error{border:1px solid var(--danger-line);border-radius:var(--radius-lg);background:var(--danger-bg);color:var(--danger-text);font-size:var(--fs-body);margin:14px 0 0;padding:10px 12px;line-height:1.45}.auth-note{border-top:1px solid var(--line);color:var(--text-3);font-size:var(--fs-body);margin:24px 0 0;padding-top:20px;line-height:1.5}.auth-sent .auth-sub{margin-bottom:0}.auth-link{color:var(--accent);font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0}.auth-link:hover{text-decoration:underline}.auth-footer{color:var(--text-3);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;position:absolute;bottom:28px}@media (width<=1100px){.app{height:auto;min-height:100vh}.workbench{flex-wrap:wrap}.workspace{flex-basis:100%;order:1}.properties{border-left:0;border-top:1px solid var(--line);order:2;width:100%}.navigator{border-right:0;border-top:1px solid var(--line);order:3;width:100%}.sheet-scroll{max-height:70vh}.calendar-grid{max-height:80vh}}@media (width<=900px){.auth{flex-direction:column}.auth-brand{border-right:0;border-bottom:1px solid var(--line);gap:28px;width:auto;padding:28px 16px}.auth-pitch h2{font-size:28px}.auth-panel{padding:40px 16px 80px}.overview,.vp-hint,.vp-foot.left{display:none}}@media (width<=640px){.jump{width:150px}.app-brand span{display:none}}.print-title{display:none}@media print{@page{size:A4 landscape;margin:10mm}html,body,.app{background:#fff;height:auto}.app-header,.toolbar,.navigator,.properties,.viewport,.status-bar{display:none!important}.workbench,.workspace,.sheet,.sheet-scroll{display:block;overflow:visible}.print-title{margin:0 0 8px;font-size:14px;font-weight:600;display:block}.sheet-row{break-inside:avoid;height:auto;min-height:22px;padding:3px 0;font-size:10px}.sheet-row.head,.sheet-group{position:static}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
