:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#3d4147;--surface:#43474d;--surface-2:#4d5056;--border:#5c5f64;--text:#d9d9d9;--muted:#c2c2c3;--accent:#fdd459;--accent-ink:#3d4147;--accent-soft:#5a574a;--link:#fdd459;--focus:#fdd459;--header-bg:#36393e;--header-text:#d9d9d9;--highlight:#fdd459;--success:#fdd459;--success-text:#fdd459;--danger:#e45735;--danger-text:#f3b3a4;--warning:#ffb274;--info:#9cc4ff;--hover:#2f2f30;--selected:#272727;--st-draft:var(--muted);--st-submitted:var(--warning);--st-approved:var(--success-text);--st-archived:var(--muted);--danger-soft:color-mix(in srgb, var(--danger) 18%, var(--bg));--line-strong:color-mix(in srgb, var(--text) 55%, var(--bg));--border-strong:var(--line-strong);--shadow:0 1px 2px #00000059;--shadow-pop:0 8px 30px #00000073;--radius:10px;--bg-raised:color-mix(in srgb, var(--text) 6%, var(--bg));--bg-sunken:var(--selected);--bg-hover:var(--hover);--header:var(--header-bg);--line:color-mix(in srgb, var(--text) 15%, var(--bg));--text-muted:color-mix(in srgb, var(--text) 83%, var(--bg));--on-accent:var(--selected);--on-danger:#1d1d1d;--positive:#6fcf97;--positive-soft:#33503f;--shadow-float:0 8px 24px #0006;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:9999px;--control-height:36px;--touch-target:44px;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading:"Oswald", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;--font-sans:var(--font-body);--font-display:var(--font-heading);--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/oswald-latin-wght-normal-CzS3kehr.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:Oswald;font-style:normal;font-weight:200 700;font-display:swap;src:url(/assets/oswald-latin-ext-wght-normal-Dj_1K-Kw.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}:root{--plan-floor:#2b2e32;--plan-area:#33373c;--plan-carpet:#46564c;--plan-pipe:#ecece6;--plan-pipe-shared:#a9b8c2;--plan-line:#fdd459;--plan-jump:#e0b16a;--plan-jump-edge:#6b4a1f;--plan-rostrum:#8a8f96;--plan-obstacle:#b07a7a;--plan-grid:#ffffff1a;--plan-grid-major:#fff3;--plan-error:#ff7f5c;--plan-warning:#fdd459;--print-paper:#fff;--print-ink:#1a1a1a;--print-muted:#555;--print-carpet:#e9ece8;--print-grid:#d6d6d6;--print-grid-major:#8a8a8a;--print-jump:#bdbdbd;--print-watermark:#1a1a1a1f;--plan-ink:#fff;--plan-ink-dark:#111;--plan-halo:#000c;--plan-ui-bg:#141a16d1;--plan-ui-bg-strong:#141a16f0;--plan-ui-hover:#3c4640f2;--plan-ui-border:#ffffff2e;--plan-tip-bg:#0f1311f2;--plan-ui-shadow:0 4px 14px #0006;--plan-dim:#00000073;--ed-control:#ffffff59;--ed-guide:#7fd3ff;--ed-point-edge:#c2187a;--ed-point-hover:#ffd6ec;--ed-hover:#fff9;--ed-edges:#ffffffbf;--ed-mitre:#ffd166}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--link)}h1,h2,h3{line-height:1.2;font-family:var(--font-heading);letter-spacing:.01em;margin:0;font-weight:500}h1{font-size:1.75rem}h2{font-size:1.1rem}.figure,.card-stats dd,.stat-grid dd{font-family:var(--font-heading);letter-spacing:.02em;font-weight:500}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:var(--surface);padding:6px 10px;top:8px;left:8px}.wrap{max-width:1320px;margin:0 auto;padding:0 16px}.page{padding-top:20px;padding-bottom:48px}.page-head{margin-bottom:16px}.lede{color:var(--muted);max-width:70ch;margin:6px 0 0}.avatar{border-radius:50%}.header-status{color:var(--muted);font-size:.85rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.dev-login{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.dev-login input[type=text],.dev-login input:not([type]){padding:4px 6px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:progress}.btn.on{background:var(--accent-soft);border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--danger-text)}.btn-quiet{color:inherit;background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--hover)}.linkish{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:6px 8px}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.card-body{flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.card-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-title h3{font-size:1.02rem}.card-title a{color:var(--text);text-decoration:none}.card-title a:hover{text-decoration:underline}.card-stats{gap:18px;margin:0;display:flex}.card-stats div{flex-direction:column;display:flex}.card-stats dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.card-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.card-meta{color:var(--muted);margin:0;font-size:.9rem}.count-pill{background:var(--surface-2);color:var(--muted);border-radius:99px;margin-left:4px;padding:0 7px;font-size:.75rem;font-weight:600}.msg{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:10px 0;padding:10px 14px}.msg-error{border-color:var(--danger);color:var(--danger-text)}.loading{color:var(--muted);padding:24px 0}.card-link{display:block}.count{color:var(--muted);margin:0 0 10px;font-size:.9rem}.track-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0 0;display:flex}.ok{color:var(--success-text);margin:0}.checks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.checks li{grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;font-size:.92rem;display:grid}.checks .lvl{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.lvl-error .lvl,strong.lvl-error{color:var(--danger-text)}.lvl-warning .lvl,strong.lvl-warning{color:var(--warning)}.lvl-info .lvl,strong.lvl-info{color:var(--info)}.crumbs{color:var(--muted);margin:0 0 4px;font-size:.9rem}.actions{flex-wrap:wrap;gap:8px;display:flex}.track-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.track-main,.track-side{flex-direction:column;gap:16px;min-width:0;display:flex}.track-plan{border-radius:var(--radius);height:min(72vh,680px);min-height:360px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.panel h2{margin-bottom:10px}.details{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.details dt{color:var(--muted)}.details dd{font-variant-numeric:tabular-nums;margin:0}.field{flex-direction:column;gap:4px;max-width:360px;display:flex}.field>span{color:var(--muted);font-size:.8rem;font-weight:600}.fit-plan{border-radius:8px;height:380px}.hint{color:var(--muted);margin:0;font-size:.88rem}.obstacles{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.obstacles li{flex-direction:column;display:flex}.obstacles span{color:var(--muted);font-size:.9rem}.fitting{margin-top:28px}.fitting h2{margin-bottom:12px;font-size:1.2rem}.venue-thumb{aspect-ratio:30/19;background:var(--plan-floor);width:100%;height:auto;display:block}.plan{background:var(--plan-floor);-webkit-user-select:none;user-select:none;touch-action:none;position:relative;overflow:hidden}.plan-svg{cursor:grab;width:100%;height:100%;display:block}.plan-svg:active{cursor:grabbing}.plan-svg:focus-visible{outline-offset:-2px}.plan-svg [data-tip]{cursor:help}.plan-svg .p-jump:hover .p-jump-body{stroke:var(--plan-ink)}.plan-svg .p-label{pointer-events:none}.plan-highlight{fill:none;stroke:var(--plan-ink);stroke-width:2.5px;stroke-dasharray:4 4;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.plan-highlight{animation:none}}.plan-controls{flex-direction:column;gap:4px;display:flex;position:absolute;top:10px;right:10px}.plan-controls button{border:1px solid var(--plan-ui-border);background:var(--plan-ui-bg);width:34px;height:34px;color:var(--plan-ink);cursor:pointer;border-radius:8px;font-size:1.1rem;line-height:1}.plan-controls button:hover,.plan-controls button.on{background:var(--plan-ui-hover)}.plan-layers{background:var(--plan-ui-bg-strong);color:var(--plan-ink);border:1px solid var(--plan-ui-border);border-radius:8px;flex-direction:column;gap:4px;padding:8px 12px;font-size:.9rem;display:flex;position:absolute;top:10px;right:52px}.plan-layers label{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;display:flex}.plan-scale{color:var(--plan-ink);text-shadow:0 1px 2px var(--plan-halo);pointer-events:none;align-items:center;gap:6px;font-size:.75rem;display:flex;position:absolute;bottom:8px;left:10px}.plan-scale span{border:2px solid var(--plan-ink);border-top:0;height:6px;display:block}.plan-tip{z-index:2;background:var(--plan-tip-bg);max-width:240px;color:var(--plan-ink);border:1px solid var(--plan-ui-border);pointer-events:none;box-shadow:var(--plan-ui-shadow);border-radius:8px;flex-direction:column;gap:2px;padding:7px 10px;font-size:.85rem;display:flex;position:absolute}.plan-tip strong.lvl-warning{color:var(--plan-warning)}.plan-hint{background:var(--plan-dim);color:var(--plan-ink);pointer-events:none;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.plan-compact .plan-controls button{width:30px;height:30px}.embed{background:var(--plan-floor);height:100vh;color:var(--plan-ink);flex-direction:column;display:flex}.embed-bar{background:var(--header-bg);color:var(--header-text);flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 12px;font-size:.9rem;display:flex}.embed-title{color:var(--header-text);font-family:var(--font-heading);font-size:1rem;font-weight:500;text-decoration:none}.embed-title:hover{text-decoration:underline}.embed-stats{color:var(--muted)}.embed-open{color:var(--link);margin-left:auto;font-size:.85rem}.embed-plan{flex:1;min-height:0}.embed-msg{gap:8px;padding:20px}.embed-msg a{color:var(--link)}@media (width<=960px){.track-grid{grid-template-columns:minmax(0,1fr)}.track-plan,.fit-plan{height:auto;aspect-ratio:var(--plan-ratio,4 / 3);min-height:240px;max-height:70vh}}@media (width<=560px){h1{font-size:1.35rem}}.section-h{margin:22px 0 10px;font-size:1.1rem}.blank-form{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;max-width:760px;display:flex}.blank-help{flex-basis:100%}.blank-name{flex:200px}.blank-hint{text-transform:none;letter-spacing:0;font-weight:400}.blank-go{margin-top:20px}.start-btn{align-self:flex-start}.narrow{max-width:680px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.designer{flex-direction:column;height:calc(100vh - 57px);min-height:520px;display:flex}.designer-bar{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex;position:relative}.designer-bar .back{color:var(--header-text)}.designer .btn-icon{justify-content:center;width:36px;height:36px;padding:0}.btn-touch{min-height:44px}.designer-bar .btn-icon:not(.back){border-color:var(--line-strong);background:0 0}.designer-bar .btn:disabled{cursor:not-allowed;opacity:.45}.name-input{border:1px solid var(--border);width:280px;max-width:100%;height:36px;color:var(--text);font:500 20px var(--font-heading);background:0 0;border-radius:4px;padding:0 10px}.name-input:hover,.name-input:focus{border-color:var(--line-strong)}.designer-venue,.save-state{color:var(--muted);font-size:13px}.steps{color:var(--muted);gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.steps li{border-radius:var(--radius-md);padding:4px 10px}.steps li[aria-current=step]{background:var(--accent-soft);color:var(--accent);font-weight:600}.mode-toggle{background:var(--selected);border-radius:6px;margin-left:auto;padding:2px;display:flex}.mode-toggle button{height:32px;color:var(--muted);font:600 14px var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 14px}.mode-toggle button[aria-pressed=true]{background:var(--surface);color:var(--text)}.save-pop{z-index:6;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);flex-direction:column;gap:10px;width:min(420px,100%);padding:14px;display:flex;position:absolute;top:calc(100% + 6px);right:16px}.save-pop label{flex-direction:column;gap:4px;display:flex}.save-pop label>span{color:var(--muted);font-size:.85rem;font-weight:600}.designer-messages{padding:0 16px}.designer-grid{flex:auto;grid-template-columns:168px minmax(0,1fr) 300px;min-height:0;display:grid}.designer-palette{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:8px;padding:16px 12px;display:flex;overflow-y:auto}.designer .label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.designer .label-gap{margin-top:12px}.palette-btn{border:1px solid var(--line-strong);min-height:44px;color:var(--text);font:600 14px var(--font-body);text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;display:flex}.palette-btn:hover{background:var(--hover)}.palette-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.jump-symbol{flex:none}.jump-symbol path{fill:var(--plan-jump);stroke:var(--plan-jump-edge)}.sel-warning{gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);grid-template-columns:16px 1fr;align-items:start;font-size:14px;line-height:20px;display:grid}.sel-warning svg{margin-top:2px}.palette-help{color:var(--muted);margin:auto 0 0;font-size:13px;line-height:18px}.lay-help{color:var(--muted);margin:0;font-size:13px;line-height:18px}.seg-snap{gap:4px 0;margin:12px 0 0}.seg-snap .label{width:100%}.seg-snap button{padding:4px 9px;font-size:13px}.seg-snap .snap-info{width:100%;font-size:12px}.designer-plan-wrap{background:var(--selected);min-width:0;min-height:0;position:relative}.designer-plan{height:100%}.designer-hint{z-index:3;background:var(--header-bg);box-shadow:var(--shadow-pop);color:var(--text);pointer-events:none;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex;position:absolute;top:14px;left:16px}.designer-hint b{color:var(--accent)}.designer-side{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;gap:16px;min-width:0;padding:16px;display:flex;overflow-y:auto}.designer-side h2{margin:0 0 12px;font-size:22px;line-height:28px}.sel-panel h2{margin:0 0 8px;font-size:18px;line-height:22px}.checks-panel .checks{gap:8px}.check-counts{gap:12px;margin:0 0 12px;font-size:14px;display:flex}.check-counts .lvl-error{color:var(--danger-text)}.check-counts .lvl-warning{color:var(--accent)}.checks li.check{background:var(--selected);border-radius:4px;grid-template-columns:16px 1fr auto;align-items:start;gap:8px;padding:8px 12px;font-size:14px;line-height:20px;display:grid}.check svg{margin-top:2px}.check-error{color:var(--danger-text);background:var(--danger-soft)!important}.check-warning{color:var(--accent);background:var(--accent-soft)!important}.check-info{color:var(--info)}.check-ok{color:var(--success-text)}.check-code{opacity:.85;font-size:12px;display:block}.check-show{color:inherit;font:13px var(--font-body);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.submit-why{background:var(--selected);color:var(--text);border-radius:4px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:18px}.figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.figures>div{flex-direction:column;display:flex}.figures dd{font:500 18px/22px var(--font-heading);font-variant-numeric:tabular-nums;margin:0}.figures dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.designer-stats{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.designer-phone{height:auto;min-height:0}.designer-phone .designer-bar{flex-wrap:nowrap;padding:6px 8px}.designer-phone .back{width:44px;height:44px}.designer-name{font:500 19px var(--font-heading);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.phone-body{flex-direction:column;gap:16px;padding:16px;display:flex}.phone-body .empty{text-align:center;border:1px dashed var(--line-strong);border-radius:10px;justify-items:center;gap:12px;padding:28px 20px;display:grid}.phone-body .empty h1{font-size:22px;line-height:28px}.phone-body .empty p{color:var(--muted);max-width:32ch;margin:0}.empty-icon{color:var(--accent)}.phone-plan{aspect-ratio:240/152;border:1px solid var(--border);border-radius:10px}.phone-body .figures{gap:20px;display:flex}@media (width<=900px){.designer{height:auto}.designer-grid{grid-template-columns:150px minmax(0,1fr)}.designer-plan{height:70vh}.designer-side{border-left:0;border-top:1px solid var(--border);grid-column:1/-1}}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tool{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:5px 10px;font-size:.9rem}.tool:hover{background:var(--surface-2)}.tool.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tool-sep{background:var(--border);align-self:stretch;width:1px;margin:0 4px}.tool-label{color:var(--muted);font-size:.85rem}.tool-hint{color:var(--muted);margin-left:auto;font-size:.82rem}.stat-grid{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;display:grid}.stat-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem}.stat-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:650}.pending{color:var(--muted);margin-left:6px;font-weight:400}.fields{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.nfield{flex-direction:column;gap:3px;min-width:0;display:flex}.nfield>span:first-child{color:var(--muted);font-size:.78rem;font-weight:600}.nfield-input{align-items:center;gap:4px;display:flex}.nfield-input input{width:100%}.nfield-input em{color:var(--muted);font-size:.85rem;font-style:normal}.nfield.wide{margin-top:4px}.nfield textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:8px;padding:6px 8px}.panel .hint{margin:0 0 10px}.check-link{text-align:left;font:inherit;color:var(--text);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.check-link:hover{color:var(--link)}.shortcuts summary{cursor:pointer;font-weight:600}.shortcuts ul{flex-direction:column;gap:6px;margin:10px 0 0;padding-left:18px;font-size:.9rem;display:flex}kbd{font:.8em var(--font-body);border:1px solid var(--border);background:var(--surface-2);border-bottom-width:2px;border-radius:4px;padding:0 4px}.ed-lane polyline{fill:none;stroke:#0000;pointer-events:stroke;stroke-linecap:round;stroke-linejoin:round;cursor:copy}.ed-placing .ed-lane polyline{cursor:crosshair}.ed-control{fill:none;stroke:var(--ed-control);stroke-width:1px;stroke-dasharray:3 4;pointer-events:none}.ed-guide{stroke:var(--ed-guide);stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none}.ed-arc{fill:none;stroke:var(--ed-guide);stroke-width:3px;pointer-events:none}.ed-point{fill:var(--plan-ink);stroke:var(--ed-point-edge);stroke-width:2.5px;cursor:grab}.ed-point:hover{fill:var(--ed-point-hover)}.ed-point.on{fill:var(--plan-line);stroke:var(--plan-ink)}.ed-point:active{cursor:grabbing}.ed-feature{fill:#0000;stroke:#0000;stroke-width:2px;cursor:grab;pointer-events:all}.ed-feature:hover{stroke:var(--ed-hover)}.ed-feature.on{stroke:var(--plan-ink);stroke-dasharray:4 3}.ed-feature.warn{stroke:var(--plan-warning)}.ed-feature.warn.on{stroke:var(--plan-ink);stroke-dasharray:4 3}.ed-ghost{fill:var(--ed-control);stroke:var(--plan-ink);stroke-width:1.5px;stroke-dasharray:4 3;pointer-events:none}.ed-start line{stroke:#0000;pointer-events:stroke;cursor:grab}.ed-start .grip{fill:var(--plan-ink);stroke:var(--plan-ink-dark);stroke-width:1.5px;cursor:grab}.ed-start.on .grip{fill:var(--plan-line)}.ed-problems,.ed-problems *{pointer-events:none}.ed-problems-tips circle[data-tip]{pointer-events:stroke}.ed-label{fill:var(--plan-ink);font-family:var(--font-body);paint-order:stroke;stroke:var(--plan-halo);stroke-linejoin:round;pointer-events:none;font-weight:600}.seg{flex-wrap:wrap;align-items:center;gap:0;margin:0 0 10px;display:flex}.seg-label{color:var(--muted);margin-right:10px;font-size:.78rem;font-weight:600}.seg button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:4px 12px;font-size:.9rem}.seg button:first-of-type{border-radius:8px 0 0 8px}.seg button:last-of-type{border-left:0;border-radius:0 8px 8px 0}.seg button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.snap-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.snap-bar .seg{margin:0}.snap-info{color:var(--muted);min-width:16ch;font-size:.82rem}.snap-info b{color:var(--text)}.ed-mitre{fill:var(--plan-ink-dark);stroke:var(--ed-mitre);stroke-width:2px;cursor:grab}.ed-mitre:hover,.ed-mitre.on{fill:var(--ed-mitre);stroke:var(--plan-ink-dark)}.ed-edges{fill:none;stroke:var(--ed-edges);stroke-width:1.2px;stroke-dasharray:5 4;pointer-events:none}.ed-shared{stroke:var(--ed-mitre);stroke-width:6px;stroke-linecap:round;opacity:.75;pointer-events:none}.ed-badge{fill:var(--plan-warning);font-family:var(--font-body);paint-order:stroke;stroke:var(--plan-halo);stroke-linejoin:round;pointer-events:none;font-weight:700}.lay-hit{fill:#0000;pointer-events:all;cursor:crosshair;touch-action:none}.lay-grid{fill:none;stroke:var(--ed-control);stroke-width:1px;pointer-events:none}.lay-cell{fill:var(--plan-carpet);pointer-events:none}.lay-blocked{pointer-events:none}.lay-hatch{stroke:var(--plan-obstacle)}.lay-line{fill:none;stroke:var(--plan-line);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.lay-first{fill:none;stroke:var(--plan-line);stroke-width:3px;pointer-events:none}.lay-end{fill:none;stroke:var(--ed-guide);stroke-width:2px;pointer-events:none}.panel .seg .seg-label{width:100%;margin-bottom:4px}.snap-info{white-space:nowrap}.sheet-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding-top:14px;padding-bottom:14px;display:flex}.sheet-toolbar .seg{margin:0}.sheet-toolbar .btn-primary{margin-left:auto}.sheet-hint{width:100%;color:var(--muted);margin:0;font-size:.85rem;display:none}@media (width<=560px){.sheet-hint{display:block}}.sheet-stage{padding:0 16px 32px;overflow-x:auto}.sheet-zoom{zoom:var(--screen-zoom,1);width:max-content;box-shadow:var(--shadow-pop);margin:0 auto}.sheet{background:var(--print-paper);width:1587px;height:1122px;color:var(--print-ink);font:16px/22px var(--font-body);flex-direction:column;gap:20px;padding:40px 48px;display:flex;position:relative;overflow:hidden}.sheet-watermark{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.sheet-watermark span{font:600 300px/1 var(--font-heading);letter-spacing:.08em;color:var(--print-watermark);transform:rotate(-24deg)}.sheet-head{border-bottom:2px solid var(--print-ink);align-items:flex-start;gap:24px;padding-bottom:16px;display:flex}.sheet-title{gap:4px;min-width:0;display:grid}.sheet-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--print-muted);font-size:13px;font-weight:600}.sheet h1{font:500 40px/46px var(--font-heading);letter-spacing:0;overflow-wrap:anywhere}.sheet-meta{color:var(--print-muted)}.sheet-head-side{flex:none;align-items:center;gap:16px;margin-left:auto;display:flex}.sheet-banner{border:2px solid var(--print-ink);font:600 22px/30px var(--font-heading);letter-spacing:.06em;padding:6px 14px}.sheet-link{color:var(--print-muted);justify-items:center;gap:4px;font-size:12px;line-height:16px;display:grid}.sheet-link svg{width:88px;height:88px;fill:var(--print-ink)}.sheet-body{flex:auto;grid-template-columns:minmax(0,1fr) 420px;gap:32px;min-height:0;display:grid}.sheet-plan{align-content:start;gap:8px;display:grid}.sheet-plan svg{max-width:100%;height:auto;display:block}.sheet-ticks line{stroke:var(--print-grid-major)}.sheet-edge text{fill:var(--print-muted);font-family:var(--font-body)}.sheet-corners circle{fill:var(--print-ink)}.sheet-corners text{fill:var(--print-paper);font-family:var(--font-body);font-weight:600}.sheet-note{color:var(--print-muted);margin:0;font-size:14px;line-height:20px}.sheet-side{align-content:start;gap:18px;min-height:0;display:grid}.sheet-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.sheet-figures dd{font:500 28px/32px var(--font-heading);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.sheet-figures dt{letter-spacing:.08em;text-transform:uppercase;color:var(--print-muted);font-size:11px;font-weight:600;line-height:14px}.sheet-figures div{flex-direction:column-reverse;display:flex}.sheet-corner-tables{align-items:flex-start;gap:12px;display:flex}.sheet-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px;line-height:19px}.sheet-table caption{text-align:left;font:500 22px/28px var(--font-heading);padding-bottom:2px}.sheet-table th{text-align:left;border-bottom:2px solid var(--print-ink);padding:3px 6px;font-size:13px}.sheet-table td{border-bottom:1px solid var(--print-grid);padding:2px 6px}.sheet-table .num{text-align:right}.sheet-table .no{font-weight:600}.sheet-corner-tables .sheet-table{font-size:14px}.sheet-body-wide{grid-template-columns:minmax(0,1fr) 520px}.sheet-body-wide .sheet-corner-tables .sheet-table{white-space:nowrap;font-size:13px}.sheet-body-wide .sheet-corner-tables :is(th,td){padding-left:4px;padding-right:4px}@media print{body{background:var(--print-paper)}.sheet-toolbar{display:none}.sheet-stage{padding:0;overflow:visible}.sheet-zoom{zoom:var(--print-zoom,1);box-shadow:none;margin:0}.sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.btn-sm{padding:5px 10px;font-size:.87rem;font-weight:600}.btn-icon:disabled{cursor:default;opacity:.45}.ve-edit-btn{align-self:flex-start}.venue-editor{flex-direction:column;height:calc(100vh - 57px);min-height:600px;display:flex}.ve-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 24px;display:flex}.ve-title{min-width:0}.ve-title h1{font-size:2rem;line-height:1.2}.ve-title .crumbs{margin:0 0 2px}.ve-sub,.ve-state{color:var(--muted);font-size:.87rem}.ve-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ve-actions .btn-icon{border-color:var(--border-strong);background:0 0;justify-content:center;width:36px;height:36px;padding:0}.btn-icon svg{flex:none}.ve-msg{padding:0 24px}.ve-grid{flex:auto;grid-template-columns:380px minmax(0,1fr);min-height:0;display:grid}.ve-form{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:16px;min-width:0;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.ve-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ve-field{align-content:start;gap:4px;min-width:0;display:grid}.ve-field.wide{grid-column:span 2}.ve-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.73rem;font-weight:600}.ve-label-hint{text-transform:none;letter-spacing:0;font-weight:400}.ve-input{border:1px solid var(--border-strong);background:var(--selected);height:36px;color:var(--text);font:inherit;border-radius:4px;width:100%;padding:0 12px}select.ve-input{padding:0 8px}textarea.ve-input{resize:vertical;height:auto;padding:6px 12px}.ve-input.invalid{border-color:var(--danger)}.ve-with-unit{align-items:center;gap:8px;display:flex}.ve-unit{color:var(--muted)}.ve-help{color:var(--muted);font-size:.85rem}.ve-help.error{color:var(--danger-text);margin:0}.ve-obstacles{gap:8px;display:grid}.ve-obstacles-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ve-obstacles-head .btn{border-color:var(--border-strong);background:0 0}.ve-empty{color:var(--muted);margin:0;font-size:.9rem}.ve-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ve-item{border:1px solid var(--border);background:var(--selected);border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.ve-item.on{border-color:var(--accent)}.ve-item.bad{border-color:var(--danger)}.ve-item.on.bad{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--danger)}.ve-item-pick{text-align:left;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;gap:2px;min-width:0;padding:8px 12px;display:grid}.ve-item-name{overflow-wrap:anywhere;font-weight:600}.ve-item-sum{color:var(--muted);font-size:.87rem}.ve-item .btn-icon{color:var(--muted);margin:4px}.ve-item-fields{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 12px 12px;display:grid}.ve-item-fields .ve-help{grid-column:span 2}.ve-check{border-radius:4px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:.93rem;display:flex}.ve-check svg{flex:none;margin-top:3px}.ve-check.ok{background:var(--positive-soft);color:var(--positive)}.ve-check.bad{background:var(--selected);color:var(--danger-text);border:1px solid var(--danger)}.ve-check.warn{background:var(--selected);color:var(--warning);border:1px solid var(--warning)}.ve-note{color:var(--muted);margin:0;font-size:.87rem;line-height:1.4}.ve-plan-wrap{background:var(--selected);min-width:0;min-height:0;padding:24px;display:flex;position:relative}.ve-plan{border-radius:var(--radius);flex:1;min-height:0}.ve-hint{background:var(--header-bg);box-shadow:var(--shadow-pop);pointer-events:none;border-radius:6px;max-width:calc(100% - 110px);padding:6px 10px;font-size:.87rem;position:absolute;top:20px;left:24px}.ve-narrow{background:var(--selected);border-radius:6px;align-items:flex-start;gap:10px;margin:12px 0;padding:12px;font-size:.93rem;line-height:1.4;display:none}.ve-narrow-icon{color:var(--accent);flex:none;margin-top:2px}.venue-editor>.ve-narrow{margin:16px}.ve-area-edge{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none}.ve-dim{fill:var(--plan-ink);font-family:var(--font-body);paint-order:stroke;stroke:var(--plan-halo);pointer-events:none}.ve-obstacle{fill:#0000;stroke:#0000;stroke-width:2px;cursor:grab;pointer-events:all}.ve-obstacle:hover{stroke:var(--ed-hover)}.ve-obstacle.out{stroke:var(--plan-warning);stroke-dasharray:4 3}.ve-obstacle.on{stroke:var(--accent);stroke-dasharray:none}.ve-obstacle:active,.ve-rostrum:active,.ve-resize:active{cursor:grabbing}.ve-rostrum{fill:#0000;stroke:#0000;stroke-width:2px;cursor:grab;pointer-events:all}.ve-rostrum:hover{stroke:var(--ed-hover)}.ve-rostrum.on{stroke:var(--accent)}.ve-resize{fill:var(--accent);stroke:var(--plan-ink-dark);stroke-width:1.5px;cursor:nwse-resize}@media (width<=1100px){.ve-grid{grid-template-columns:340px minmax(0,1fr)}}@media (width<=760px){.venue-editor{height:auto;min-height:0}.ve-grid,.ve-actions,.ve-edit-btn{display:none}.ve-narrow{display:flex}.ve-bar{padding:16px}.ve-title h1{font-size:1.75rem}}.lucide{flex:none}.ts-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line-strong);color:var(--text);font:600 14px/20px var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;text-decoration:none;display:inline-flex}.ts-btn:hover{background:var(--bg-hover);color:var(--text)}.ts-btn:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.ts-btn--primary,.ts-btn--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ts-btn--primary:hover{filter:brightness(1.06)}.ts-btn--quiet{border-color:#0000}.ts-btn--danger,.ts-btn--danger:hover{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.ts-btn--icon{width:var(--control-height);padding:0}.ts-btn--touch{height:var(--touch-target);min-width:var(--touch-target)}.ts-btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}.ts-btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ts-linkbtn{color:var(--link);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.ts-linkbtn:focus-visible,.ts-check__go:focus-visible,.ts-back:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:2px solid #0000}.ts-field{gap:var(--space-1);align-content:start;min-width:0;display:grid}.ts-fieldset{border:0;margin:0;padding:0}.ts-fieldset>legend{margin-bottom:var(--space-1);padding:0}.ts-label{font:600 11px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.ts-input{height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-sunken);color:var(--text);font:400 15px/22px var(--font-sans);min-width:0}select.ts-input{padding:0 var(--space-2)}.ts-input:focus-visible{box-shadow:var(--focus-ring);border-color:var(--accent);outline:2px solid #0000}.ts-input[disabled]{opacity:.6}.ts-help{color:var(--text-muted);margin:0;font-size:13px;line-height:18px}.ts-help--error{color:var(--danger-text)}.ts-input--invalid{border-color:var(--danger)}.ts-unit{align-items:center;gap:var(--space-2);color:var(--text-muted);display:flex}.ts-unit .ts-input{font-variant-numeric:tabular-nums;width:96px}.ts-badge{height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);border:1px solid var(--line-strong);font:600 11px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex:none;align-items:center;display:inline-flex}.ts-badge--submitted{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ts-badge--approved{background:var(--positive-soft);border-color:var(--positive);color:var(--positive)}.ts-badge--archived{border-style:dashed}.ts-page{max-width:1320px;padding:var(--space-8) var(--space-6) var(--space-12);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.ts-title{font:500 32px/38px var(--font-display);letter-spacing:.01em;margin:0}.ts-heading{font:500 22px/28px var(--font-display);letter-spacing:.01em;margin:0}.ts-page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.ts-page-head__sub{margin:var(--space-1) 0 0;color:var(--text-muted)}.ts-meta{color:var(--text-muted);margin:0;font-size:13px;line-height:18px}.ts-meta a{color:var(--text-muted)}.ts-meta a:hover{color:var(--text)}.ts-panel{gap:var(--space-4);padding:var(--space-4);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid}.ts-section{gap:var(--space-2);display:grid}.ts-note{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-raised);border-left:3px solid var(--accent);margin:0;font-size:14px;line-height:20px}.ts-back{place-self:flex-start start;align-items:center;gap:var(--space-1);color:var(--link);font-size:13px;text-decoration:none;display:inline-flex}.ts-back:hover{text-decoration:underline}.ts-header{z-index:5;align-items:center;gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--space-6);background:var(--header);color:var(--header-text);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex;position:sticky;top:0}.ts-brand{align-items:center;gap:var(--space-2);color:var(--header-text);border-radius:var(--radius-sm);text-decoration:none;display:flex}.ts-brand:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.brand-logo,.brand-logo svg{width:auto;height:28px;display:block}.ts-brand__app{font:500 20px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.ts-header__menu{color:var(--header-text);margin-left:auto;display:none}.ts-header__fold{align-items:center;gap:var(--space-3) var(--space-6);flex-wrap:wrap;flex:auto;display:flex}.ts-nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.ts-nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--header-text);font:600 14px/20px var(--font-sans);text-decoration:none}.ts-nav a:hover{background:var(--bg-hover)}.ts-nav a:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.ts-nav a[aria-current=page]{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}.ts-nav a[aria-current=page]:focus-visible{box-shadow:inset 0 -2px 0 var(--accent), var(--focus-ring)}.ts-header__end{align-items:center;gap:var(--space-2);color:var(--text-muted);flex-wrap:wrap;margin-left:auto;font-size:13px;display:flex}.ts-filters{gap:var(--space-3);padding:var(--space-4);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:flex-end;display:flex}.ts-filters__search{flex:220px}.ts-filters__searchrow{gap:var(--space-2);display:flex}.ts-filters__searchrow .ts-input{flex:auto}.ts-filters__toggle{display:none}.ts-filters__more{display:contents}.ts-filters__more>.ts-field:has(select){width:200px}.ts-filters__note{flex:100%}.ts-toggles{gap:var(--space-2);flex-wrap:wrap;display:flex}.ts-range{align-items:center;gap:var(--space-1);color:var(--text-muted);display:flex}.ts-range .ts-input{font-variant-numeric:tabular-nums;width:76px}.ts-cards{gap:var(--space-6) 20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.ts-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-raised);color:inherit;grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.ts-card:hover{border-color:var(--line-strong)}.ts-card:has(.ts-card__link:focus-visible){box-shadow:var(--focus-ring)}.ts-card__plan{aspect-ratio:16/9;background:var(--plan-floor);display:block}.ts-card__plan img{object-fit:contain;width:100%;height:100%;display:block}.ts-card__body{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);align-content:start;display:grid}.ts-card__top{gap:var(--space-2);justify-content:space-between;align-items:flex-start;display:flex}.ts-card__name{font:500 20px/24px var(--font-display);color:var(--text);margin:0}.ts-card__link{color:inherit;outline:none;text-decoration:none}.ts-card__link:after{content:"";position:absolute;inset:0}.ts-card__venue{z-index:1;color:inherit;position:relative}.ts-card__venue:hover{color:var(--text)}.ts-card__venue:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:2px solid #0000}.ts-card__meta{color:var(--text-muted);margin:0;font-size:13px;line-height:18px}.ts-card__note{color:var(--accent);margin:0;font-size:13px;line-height:18px}.ts-fits{z-index:1;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex;position:relative}.ts-fit-chip{column-gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line-strong);color:var(--text);font:600 13px/18px var(--font-sans);cursor:pointer;grid-template-columns:auto auto;align-items:baseline;text-decoration:none;display:inline-grid;position:relative}.ts-fit-chip small{color:var(--text-muted);font-weight:400}.ts-fit-chip:hover,.ts-fit-chip[aria-current]{border-color:var(--accent);background:var(--accent-soft)}.ts-fit-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.ts-fit-chip:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.ts-fit-chip:has(input:focus-visible){box-shadow:var(--focus-ring);outline:2px solid #0000}.ts-fit-chip input{opacity:0;pointer-events:none;position:absolute}.ts-figures{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.ts-figure{flex-direction:column-reverse;justify-content:flex-end;display:flex}.ts-figure dd{margin:0}.ts-figure__v{font:500 18px/22px var(--font-display);font-variant-numeric:tabular-nums;color:var(--text)}.ts-figure__l{font:600 11px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.ts-figure__sub{color:var(--text-muted);order:-1;font-size:13px;line-height:18px}.ts-figures--key{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ts-figures--key .ts-figure__v{font-size:28px;line-height:32px}.ts-desc{color:var(--text-muted);margin:0;font-size:14px;line-height:20px}.ts-summary{margin:0;font-size:14px;line-height:20px}.ts-checks{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ts-check{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-raised);grid-template-columns:16px 1fr auto;align-items:start;margin:0;font-size:14px;line-height:20px;display:grid}.ts-check .lucide{margin-top:2px}.ts-check--error{background:var(--danger-soft);color:var(--danger-text)}.ts-check--warning{background:var(--accent-soft);color:var(--accent)}.ts-check--info{color:var(--text-muted)}.ts-check--ok{background:var(--positive-soft);color:var(--positive)}.ts-check__go{color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:13px;text-decoration:underline}.ts-track{padding-top:var(--space-6);gap:20px}.ts-track-head{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.ts-track-head__text{gap:var(--space-1);min-width:0;display:grid}.ts-track-head__title{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.ts-actions-wrap{gap:var(--space-1);justify-items:end;display:grid}.ts-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ts-confirm{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-soft);border:1px solid var(--danger);flex-wrap:wrap;display:flex}.ts-confirm p{margin:0}.ts-track-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.ts-track-main,.ts-track-side{gap:var(--space-4);min-width:0;display:grid}.ts-plan-well{border-radius:var(--radius-lg);border:1px solid var(--line);width:100%;overflow:hidden}.ts-plan-caption{gap:var(--space-1) var(--space-4);margin:calc(-1 * var(--space-2)) 0 0;color:var(--text-muted);flex-wrap:wrap;padding:0;font-size:13px;line-height:18px;list-style:none;display:flex}.ts-revisions{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.ts-revisions li{align-items:center;gap:var(--space-1);display:flex}.ts-revision{gap:0 var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text);font:400 14px/20px var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:1fr auto;display:grid}.ts-revision:hover{background:var(--bg-hover)}.ts-revision:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.ts-revision[aria-current]{background:var(--bg-sunken);box-shadow:inset 2px 0 0 var(--accent)}.ts-revision__name{font-weight:600}.ts-revision__date,.ts-revision__meta{color:var(--text-muted);font-size:13px}.ts-revision__meta{grid-column:1/-1;line-height:18px}.ts-fit{gap:var(--space-3)}.ts-fit .ts-field{max-width:320px}.ts-fit__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.ts-fit__options>legend{width:100%}.ts-fit__loading{gap:var(--space-2);display:grid}.ts-empty{justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);display:grid}.ts-empty__title{font:500 22px/28px var(--font-display);margin:0}.ts-empty__text{max-width:42ch;color:var(--text-muted);margin:0}.ts-alert{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger-text);grid-template-columns:16px 1fr;max-width:640px;display:grid}.ts-alert__icon{margin-top:3px}.ts-alert__body{gap:var(--space-1);justify-items:start;display:grid}.ts-alert p{color:var(--text);margin:0}.ts-alert strong{color:var(--danger-text)}.ts-alert__retry{margin-top:var(--space-1);margin-left:calc(-1 * var(--space-4));color:var(--text)}.ts-skeleton{border-radius:var(--radius-sm);background:var(--bg-raised);animation:1.4s ease-in-out infinite ts-pulse;display:block}@keyframes ts-pulse{50%{background:var(--line)}}@media (prefers-reduced-motion:reduce){.ts-skeleton{animation:none}}.ts-skeleton--title{width:70%;height:24px}.ts-skeleton--line{width:90%;height:18px;margin:var(--space-1) 0}.ts-skeleton--short{width:30%}.ts-skeleton--heading{width:45%;height:38px}.ts-skeleton--figures{width:60%;height:38px}.ts-skeleton--panel{border-radius:var(--radius-lg);height:160px}.ts-skeleton--plan{aspect-ratio:16/9;border-radius:var(--radius-lg)}.ts-skeleton--fit{height:380px}.ts-card--skeleton{border-color:var(--line)}.ts-card--skeleton .ts-card__plan{border-radius:0}@media (width<=960px){.ts-track-grid{grid-template-columns:minmax(0,1fr)}.ts-actions-wrap{justify-items:start}}@media (width<=640px){.ts-page{padding:var(--space-6) var(--space-4) var(--space-12);gap:var(--space-4)}.ts-title{font-size:28px;line-height:34px}.ts-header{padding:var(--space-2) var(--space-4);gap:var(--space-2)}.brand-logo,.brand-logo svg{height:24px}.ts-brand__app{font-size:17px}.ts-header__menu{display:inline-flex}.ts-header__fold{padding-bottom:var(--space-2);flex-direction:column;flex:100%;align-items:stretch;display:none}.ts-header[data-open] .ts-header__fold{display:flex}.ts-nav{flex-direction:column}.ts-nav a{min-height:var(--touch-target);align-items:center;display:flex}.ts-nav a[aria-current=page]{box-shadow:inset 2px 0 0 var(--accent)}.ts-header__end{margin-left:0}.ts-page-head>.ts-btn{display:none}.ts-filters{background:0 0;border:0;padding:0}.ts-filters__search{flex-basis:100%}.ts-filters__search>.ts-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ts-filters__searchrow .ts-input{height:var(--touch-target)}.ts-filters__toggle{padding:0 var(--space-3);display:inline-flex}.ts-filters__more{display:none}.ts-filters[data-open] .ts-filters__more{gap:var(--space-3);padding:var(--space-4);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);flex:100%;display:grid}.ts-filters__more>.ts-field:has(select){width:auto}.ts-filters .ts-btn,.ts-filters .ts-input{min-height:var(--touch-target)}.ts-track-head__title{align-items:flex-start;gap:var(--space-2);flex-direction:column-reverse}.ts-actions-wrap,.ts-actions{width:100%}.ts-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ts-actions .ts-btn{height:var(--touch-target);white-space:normal;text-align:center;line-height:18px}.ts-actions .ts-btn--primary{order:-1;grid-column:1/-1}.ts-actions--share .ts-btn--quiet{border-color:var(--line-strong);grid-column:1/-1}.ts-figures--key .ts-figure__v{font-size:26px;line-height:30px}.ts-revision{min-height:var(--touch-target)}}.ed-sharp{fill:none;stroke:var(--ed-control);stroke-width:1.2px;stroke-dasharray:4 4;pointer-events:none}.ed-corner{cursor:grab;touch-action:none}.ed-corner:active{cursor:grabbing}.ed-corner-dot{fill:var(--plan-ink);stroke:var(--ed-point-edge);stroke-width:2px}.ed-corner:hover .ed-corner-dot{fill:var(--ed-point-hover)}.ed-corner.on .ed-corner-dot{fill:var(--plan-line);stroke:var(--plan-ink)}.ed-corner-n{fill:var(--plan-ink-dark);font-family:var(--font-body);pointer-events:none;font-weight:700}.ed-corner.on .ed-corner-n{fill:var(--plan-ink)}.ed-hit{fill:#0000;stroke:none;pointer-events:all;touch-action:none}.ed-hit-apex{cursor:move}.ed-apex{fill:var(--plan-halo);stroke:var(--ed-guide);stroke-width:2px;pointer-events:none}.ed-apex.on{fill:var(--ed-guide)}.step-back{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.step-back.armed{color:var(--danger-text);font-weight:600;text-decoration:none}@media (pointer:coarse){.step-back{align-items:center;min-width:44px;min-height:44px;display:inline-flex}}.sel-turn{color:var(--muted);margin:-4px 0 8px;font-size:14px}.sizes{grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 10px;display:grid}.sizes .palette-btn{justify-content:space-between}.size-m{color:var(--muted);font-size:13px;font-weight:400}
