.cmp-picker{position:relative}.cmp-search{display:flex;align-items:center;gap:var(--s-2);width:300px;height:34px;padding:0 10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-3);cursor:text}.cmp-search:focus-within{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.cmp-search input{all:unset;flex:1;min-width:0;color:var(--ink);font-size:var(--fs-sm)}.cmp-search input::placeholder{color:var(--ink-3)}.cmp-list{position:absolute;right:0;top:calc(100% + 6px);z-index:25;width:380px;max-height:420px;overflow-y:auto;padding:6px;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3);animation:cmpPop var(--t-base) var(--ease-out) both}@keyframes cmpPop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.cl-g{padding:var(--s-2) var(--s-2) var(--s-1);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.cl-o{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px var(--s-2);border-radius:var(--r-md);cursor:pointer}.cl-o:hover,.cl-o.on{background:var(--surface-2)}.cl-o.on{box-shadow:inset 0 0 0 1px var(--accent-line)}.cl-o .th,.sg .th{display:block;width:40px;height:32px;border-radius:var(--r-inner);overflow:hidden;background:var(--surface-3)}.cl-o .th img,.cl-o .th svg,.sg .th img,.sg .th svg{display:block;width:100%;height:100%;object-fit:cover}.cl-t,.sg-t{display:flex;flex-direction:column;min-width:0}.cl-t b,.sg-t b{font-weight:var(--fw-semibold);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-t b .u,.sg-t b .u{color:var(--ink-2);font-weight:var(--fw-medium)}.cl-t span,.sg-t>span{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.cl-s,.sg-s{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.cl-none{padding:14px;color:var(--ink-3);font-size:var(--fs-sm);text-align:center}.cmp-empty{padding:var(--s-8) var(--s-6);margin-bottom:var(--s-4)}.cmp-empty .kbd-i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--r-xs);background:var(--surface-3);vertical-align:-4px}.cmp-empty .kbd-i svg{width:12px;height:12px}.cmp-sugg{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s-2);width:min(980px,100%);margin:var(--s-2) 0 var(--s-1)}.sg{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:var(--s-2) 10px;text-align:left;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-1);color:var(--ink);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.sg:hover{border-color:var(--accent-line);background:var(--surface-2)}.cmp-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1);margin-bottom:var(--s-4)}.cmp-grid{--lab: 176px;display:grid;grid-template-columns:var(--lab) repeat(var(--n),minmax(220px,1fr));width:max(100%,calc(var(--lab) + var(--n) * 220px))}.cmp-grid>*{min-width:0}.cg-corner,.cg-k{position:sticky;left:0;z-index:2;background:var(--surface-1)}.cg-corner{display:flex;align-items:flex-end;padding:14px var(--s-4);border-right:1px solid var(--line)}.cg-key{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-xs);color:var(--ink-3)}.cg-key i,.cg-v.best:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.cg-head{padding:var(--s-3);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:10px;animation:cmpIn var(--t-slow) var(--ease-out) both}@keyframes cmpIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ch-media{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-md);overflow:hidden;background:var(--surface-3)}.ch-media>img,.ch-media>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.ch-let{position:absolute;left:8px;top:8px;width:24px;height:24px;border-radius:var(--r-inner);display:grid;place-items:center;font:var(--fw-semibold) var(--fs-sm)/1 var(--font-sans);background:var(--ink);color:var(--ground);box-shadow:var(--shadow-2)}.ch-btns{position:absolute;right:8px;top:8px;display:flex;gap:5px}.ch-btns button{width:28px;height:28px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:var(--overlay);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);color:var(--ink-2);transition:color var(--t-fast),transform var(--t-base) var(--ease-spring)}.ch-btns button:hover{color:var(--ink);transform:scale(1.08)}.ch-btns button.on{color:var(--fav)}.ch-btns svg{width:14px;height:14px}.ch-top{display:flex;gap:10px;align-items:flex-start}.ch-t{flex:1;min-width:0}.ch-t h3{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:var(--lh-snug)}.ch-name{all:unset;cursor:pointer}.ch-name:hover{color:var(--accent)}.ch-name:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off);border-radius:var(--r-xs)}.ch-t h3 .u{color:var(--ink-2);font-weight:var(--fw-medium)}.ch-t p{margin:2px 0 0;font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-tags{display:flex;flex-wrap:wrap;gap:var(--s-1)}.ch-acts{display:flex;gap:6px}.cg-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:var(--s-3);min-height:180px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:none;color:var(--ink-3);cursor:pointer;font:inherit;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.cg-add:hover{border-color:var(--accent-line);color:var(--ink);background:var(--accent-soft)}.cg-add span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3)}.cg-add span svg{width:16px;height:16px}.cg-add b{font-weight:var(--fw-semibold);color:var(--ink);font-size:var(--fs-sm)}.cg-add small{font-size:var(--fs-xs)}.cg-sec{grid-column:1 / -1;padding:18px var(--s-4) var(--s-2);border-top:1px solid var(--line-strong);background:var(--surface-1)}.cg-sec span{position:sticky;left:16px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.cg-sec small{margin-left:var(--s-2);text-transform:none;letter-spacing:0;font-weight:var(--fw-regular)}.cg-k{padding:9px var(--s-4);border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2);display:flex;flex-direction:column;justify-content:center}.cg-k small{font-size:var(--fs-2xs);color:var(--ink-3)}.cg-v{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--s-2);padding:9px 14px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;min-height:40px}.cg-v.best{background:var(--good-soft)}.cg-v .u{margin-left:3px;color:var(--ink-3);font-size:var(--fs-xs)}.cg-v .cg-big{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.cg-sub{flex-basis:100%;font-size:var(--fs-xs);color:var(--ink-3)}.cg-unk{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:var(--r-xs);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--ink-3);background:repeating-linear-gradient(-45deg,var(--surface-3) 0 4px,transparent 4px 8px)}.cg-yes{color:var(--good);font-weight:var(--fw-semibold)}.cg-no{color:var(--ink-3)}.cg-bad{color:var(--bad);font-weight:var(--fw-semibold)}.cg-cm{display:inline-flex;align-items:center;gap:6px}.cg-cm b{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.cg-cm .u{margin-left:-3px}.cg-walk{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--ink-2);background:var(--surface-3);border-radius:var(--r-xs);padding:1px 6px}.cg-route{flex-basis:100%;font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-bar{display:flex;align-items:center;gap:10px;width:100%}.cg-bar .tr{flex:1;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.cg-bar .tr i{display:block;height:100%;border-radius:var(--r-xs);transition:width var(--t-slow) var(--ease-out)}.cg-bar b{width:24px;text-align:right;font-weight:var(--fw-semibold)}.cg-bar.big .tr{height:8px}.cg-bar.big b{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.cg-v.best .cg-bar{margin-left:-2px}.cg-pills{display:flex;flex-wrap:wrap;gap:var(--s-1)}.cg-notes{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-xs);line-height:1.5;color:var(--ink-2);font-variant-numeric:normal}.cmp-charts{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--s-3);align-items:start}.cmp-scatter{position:relative}.cmp-scatter svg{display:block;max-width:100%;height:auto;overflow:visible}.cmp-scatter .gl{stroke:var(--line)}.cmp-scatter .ax{font:var(--fw-medium) var(--fs-2xs) var(--font-mono);fill:var(--ink-3)}.cmp-scatter .ax.tier{font-weight:var(--fw-semibold)}.cmp-scatter .frontier{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:2 4;stroke-linecap:round;opacity:.8}.cmp-scatter .pt{opacity:.78;cursor:pointer;stroke:var(--surface-1);stroke-width:1;transition:opacity var(--t-fast)}.cmp-scatter .pt:hover{opacity:1;stroke:var(--ink);stroke-width:1.5}.cmp-scatter .pt.sv{stroke:var(--fav);stroke-width:2;opacity:.95}.cmp-scatter .pk{cursor:pointer;outline:none}.cmp-scatter .pk circle{stroke:var(--ink);stroke-width:2.5;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));transition:r var(--t-base) var(--ease-spring)}.cmp-scatter .pk:hover circle,.cmp-scatter .pk:focus-visible circle{r:13}.cmp-scatter .pk:focus-visible circle{stroke:var(--accent)}.cmp-scatter .pk text{font:var(--fw-bold) 11px var(--font-sans);fill:#08090ce6;pointer-events:none}.cmp-tip{position:absolute;z-index:4;min-width:180px;max-width:260px;padding:9px 11px;pointer-events:none;display:flex;flex-direction:column;gap:2px;background:var(--overlay);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2);font-size:var(--fs-xs);color:var(--ink-3)}.cmp-tip>b{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.cmp-tip>b .u{color:var(--ink-2);font-weight:var(--fw-medium)}.cmp-tip div{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.cmp-tip div b{color:var(--ink);font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.lg-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:-1px;background:linear-gradient(90deg,var(--score-1),var(--score-3),var(--score-5))}.lg-dot.sv{background:var(--surface-3);box-shadow:inset 0 0 0 2px var(--fav)}.lg-line{display:inline-block;width:18px;margin-right:6px;vertical-align:3px;border-top:1.5px dashed var(--accent)}.dz{display:flex;flex-direction:column;gap:10px}.dz-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s-3);align-items:center}.dz-k{display:flex;flex-direction:column;font-size:var(--fs-sm);color:var(--ink-2)}.dz-k small{font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.dz-lanes{display:flex;flex-direction:column;gap:3px;padding:0 9px}.dz-lane{position:relative;height:15px;display:flex;align-items:center}.dz-tr{position:relative;flex:1;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.dz-tr:after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;border-left:1px dashed var(--line-strong)}.dz-tr i{display:block;height:100%;border-radius:2px;opacity:.85}.dz-lane.unk .dz-tr{background:repeating-linear-gradient(-45deg,var(--surface-3) 0 3px,transparent 3px 6px)}.dz-m{position:absolute;top:50%;width:17px;height:17px;margin:-8.5px 0 0 -8.5px;border-radius:50%;display:grid;place-items:center;font:var(--fw-semibold) 9.5px/1 var(--font-sans);background:var(--ink-2);color:var(--surface-1);box-shadow:0 0 0 2px var(--surface-1)}.dz-m.top{background:var(--good);color:var(--surface-1)}.dz-m.q{background:var(--surface-1);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--ink-4),0 0 0 2px var(--surface-1)}.dz-axis{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s-3)}.dz-axis div{display:flex;justify-content:space-between;padding:0 9px;font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3)}.dz-key{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:6px;border-radius:var(--r-xs);background:var(--ink-2);color:var(--surface-1);font-size:9.5px}@media (max-width: 1180px){.cmp-charts{grid-template-columns:minmax(0,1fr)}}@media (max-width: 760px){.cmp-grid{--lab: 112px;grid-template-columns:var(--lab) repeat(var(--n),minmax(176px,1fr));width:max(100%,calc(var(--lab) + var(--n) * 176px))}.cg-k{padding:var(--s-2) 10px;font-size:var(--fs-xs)}.cg-corner{padding:10px}.cg-v{padding:var(--s-2) 10px var(--s-2) var(--s-4)}.ch-t h3{font-size:var(--fs-md)}.cg-head .ring.lg{zoom:.75}.cmp-search{width:100%}.cmp-picker{flex:1 1 100%;min-width:0}#view-compare .page-h .actions{width:100%}.cmp-list{left:0;right:0;width:auto}.cg-add{min-height:140px;margin:var(--s-2)}}.cg-v.best:before{position:absolute;left:5px;top:50%;margin-top:-3px}.cmp-tip[hidden],#cmpClear[hidden]{display:none}.cmp-charts.solo{grid-template-columns:minmax(0,1fr)}#view-unit [hidden]{display:none!important}.u-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s-1)}.u-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:var(--s-2);font-size:var(--fs-sm);color:var(--ink-3)}.u-addr{color:var(--ink-2)}.u-fact{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.u-fact b{font-weight:var(--fw-medium);color:var(--ink-2);font-variant-numeric:tabular-nums}.u-pick select{min-width:250px}.u-links{display:inline-flex;gap:2px}.u-head .btn svg{width:15px;height:15px}.u-grid{display:grid;grid-template-columns:minmax(0,1fr) 404px;gap:var(--s-4);align-items:start}.u-main,.u-side{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.u-stage.canvas-stage{aspect-ratio:auto;background:var(--surface-2);touch-action:none}@media (min-width: 1181px){#view-unit .u-pad{min-height:100%;display:flex;flex-direction:column;padding-bottom:var(--s-5)}#view-unit .u-head,#view-unit .u-units,#view-unit .u-studies{flex:none}.u-grid{flex:none;height:calc(100vh - 230px);min-height:560px;grid-template-rows:minmax(0,1fr);align-items:stretch}.u-grid:has(>.empty){display:block;flex:none;min-height:0}.u-main{min-height:0}.u-stage.canvas-stage{flex:1 1 auto;min-height:360px;height:auto}.u-time{flex:none}.u-side{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-right:-6px;padding-right:6px;padding-bottom:var(--s-6);-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent)}}.u-stage canvas:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:-2px;border-radius:var(--r-lg)}.u-views{position:absolute;z-index:6;top:12px;left:12px;right:108px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s-2);pointer-events:none}#uViews>.acc-chip{order:2}#uViews>.u-look{order:4}#uViews>*{pointer-events:auto;position:relative;inset:auto}.u-modes{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-lg, 14px);max-width:100%}.u-modes .um-b{display:inline-flex;align-items:center;gap:var(--s-2);border:0;background:none;height:38px;padding:0 15px 0 var(--s-3);border-radius:var(--r-md);font:var(--fw-semibold) var(--fs-sm) var(--font-sans, inherit);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.u-modes .um-b svg{width:18px;height:18px;flex:none}.u-modes .um-b:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.u-modes .um-b.on{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-1)}.u-modes .um-b:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.u-modes .um-sep{width:1px;height:22px;margin:0 var(--s-1);background:var(--line-strong);flex:none}.u-modes .um-s,.u-modes .um-fp{display:inline-flex;align-items:center;gap:6px;border:0;background:none;height:30px;padding:0 10px;border-radius:var(--r-md);font:var(--fw-medium) var(--fs-xs) var(--font-sans, inherit);color:var(--ink-3);cursor:pointer;white-space:nowrap;text-decoration:none;transition:color var(--t-fast),background var(--t-fast)}.u-modes .um-fp{color:var(--accent)}.u-modes .um-fp svg{width:14px;height:14px}.u-modes .um-fp[hidden]{display:none}.u-modes .um-s:hover,.u-modes .um-fp:hover{color:var(--ink);background:var(--surface-2)}.u-modes .um-s.on{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.u-modes :is(.um-b,.um-s,.um-fp):focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:1px}.u-tools{top:12px;right:12px;display:flex;flex-direction:column;gap:2px;padding:3px;border-radius:var(--r-md)}.u-tools button{position:relative;width:30px;height:30px;border:0;background:none;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.u-tools button:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.u-tools button.on{color:var(--accent);background:var(--accent-soft)}.u-tools button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.u-tools svg{width:16px;height:16px}.u-tools hr{border:0;border-top:1px solid var(--line);margin:2px var(--s-1)}.u-tmode{position:absolute;right:2px;bottom:1px;font:var(--fw-bold) 8px/1 var(--font-mono);font-style:normal;color:inherit}.u-compass{position:absolute;z-index:5;top:12px;right:56px;width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer;background:var(--overlay);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line-strong);box-shadow:var(--shadow-2)}.u-compass svg{width:100%;height:100%;display:block;overflow:visible}.u-compass circle{fill:none;stroke:var(--line-strong)}.u-compass .n{fill:var(--bad)}.u-compass .s{fill:var(--ink-4)}.u-compass text{font:var(--fw-bold) 6.5px var(--font-sans);fill:var(--ink-2)}.u-hud{right:auto;max-width:calc(100% - 80px);z-index:4}.u-stage[data-mode=win] .u-hud{max-width:calc(100% - 270px)}.u-loading{position:absolute;inset:0;z-index:9;display:grid;place-items:center;align-content:center;gap:var(--s-3);background:var(--surface-2);color:var(--ink-3);font-size:var(--fs-sm)}.u-loading .skeleton{width:180px;height:6px}.u-loading[hidden],.u-lens[hidden],.u-card[hidden]{display:none}.u-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.u-lab{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:1px;padding:var(--s-1) var(--s-2) 5px;border-radius:var(--r-md);white-space:nowrap;line-height:1.2;background:var(--overlay);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transition:opacity var(--t-fast) var(--ease-out);will-change:transform}.u-lab.on{opacity:1;visibility:visible}.u-lab b{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink)}.u-lab span{font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums}.u-lab:not(.street):after{content:"";position:absolute;left:50%;bottom:-7px;width:1px;height:6px;background:var(--line-strong)}.u-lab.own{border-color:var(--accent-line)}.u-lab.own b{color:var(--accent)}.u-lab.win{background:var(--sun);border-color:transparent}.u-lab.win b,.u-lab.win span{color:#1b1200}.u-lab.win:after{background:var(--sun)}.u-lab.future{border-style:dashed;border-color:color-mix(in srgb,var(--warn) 60%,transparent)}.u-lab.future b{color:var(--warn)}.u-lab.on.dim{opacity:.5}.u-lab.street{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font:var(--fw-semibold) 9.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-shadow:0 0 3px var(--ground),0 0 6px var(--ground),0 0 1px var(--ground)}.u-card{top:12px;right:58px;width:300px;max-width:calc(100% - 80px);max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;padding:var(--s-3) 14px var(--s-3);z-index:6;animation:rise var(--t-base) var(--ease-out) both}.u-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.u-card-h b{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.u-card-h .u-eyebrow{margin-bottom:2px}.u-card .icon-btn{width:26px;height:26px;flex:none}.u-card dl{display:grid;grid-template-columns:104px minmax(0,1fr);gap:5px 10px;margin:10px 0 0;font-size:var(--fs-xs)}.u-card dt{color:var(--ink-3)}.u-card dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}.u-card-flag{margin-top:10px;padding:5px var(--s-2);border-radius:var(--r-sm);background:var(--bad-soft);color:var(--bad);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.u-card-foot{margin:10px 0 0;font-size:var(--fs-2xs)}.u-lens{right:12px;bottom:12px;width:236px;padding:10px var(--s-3);display:flex;flex-direction:column;gap:6px;z-index:5}.u-lens .field{flex:none;gap:2px}.u-time{padding:var(--s-3) var(--s-4) var(--s-3)}.u-time-top{display:flex;align-items:center;gap:var(--s-3) var(--s-5);flex-wrap:wrap}.u-clock{min-width:128px}.u-clock b{display:block;font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.1}.u-clock span{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.u-date-ctl{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;flex:1}.u-date-ctl input[type=date]{width:148px}#uPlay{margin-left:auto}#uPlay svg{width:12px;height:12px}.u-strip{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 10px;margin-top:var(--s-3)}.u-strip-keys{display:flex;flex-direction:column;gap:var(--s-1);font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3);text-align:right}.u-strip-keys span{line-height:18px;height:18px}.u-strip-keys span+span{line-height:10px;height:10px}.u-strip-track{position:relative;padding-bottom:18px;cursor:pointer;touch-action:none;border-radius:var(--r-sm)}.u-strip-track:focus-visible{outline-offset:4px}.u-strip-bar{position:relative;height:18px;border-radius:var(--r-xs);overflow:hidden;background:var(--surface-3)}.u-strip-bar.cmp{height:10px;margin-top:var(--s-1);border-radius:var(--r-xs);opacity:.85}.u-strip-bar i{position:absolute;top:0;bottom:0}.u-strip .s0,.u-strip-legend .s0{background:color-mix(in srgb,var(--ink-4) 22%,var(--surface-2))}.u-strip .s1,.u-strip-legend .s1{background:repeating-linear-gradient(-45deg,var(--surface-3) 0 3px,color-mix(in srgb,var(--ink-4) 30%,var(--surface-2)) 3px 6px)}.u-strip .s2,.u-strip-legend .s2{background:color-mix(in srgb,var(--band-30) 38%,var(--surface-3))}.u-strip .s3,.u-strip-legend .s3{background:var(--sun)}.u-strip-axis{position:absolute;left:0;right:0;bottom:0;height:14px}.u-strip-axis span{position:absolute;top:2px;transform:translate(-50%);font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3);white-space:nowrap}.u-strip-cur{position:absolute;top:-4px;bottom:15px;width:2px;margin-left:-1px;background:var(--ink);border-radius:1px;pointer-events:none}.u-strip-cur i{position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}.u-strip-legend{margin-top:var(--s-1)}.u-strip-legend .sw{border-radius:2px}.u-strip-legend .faint{margin-left:auto}.u-note{margin:var(--s-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.45}.u-note b{color:var(--ink-2);font-weight:var(--fw-semibold)}.u-note.warn{color:var(--warn)}.u-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3) var(--s-4);margin-top:var(--s-3)}.u-win-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--fs-xs);flex-wrap:wrap}#winPanel select{width:100%}.u-why{margin:var(--s-3) 0 var(--s-1);font-size:var(--fs-sm);color:var(--ink);line-height:1.45}.u-segs{margin:0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.u-segs b{color:var(--ink-2);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.u-lit{color:var(--sun)!important}.u-range{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-2);margin-top:var(--s-3);padding:var(--s-2) 10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3)}.u-range b{color:var(--ink);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.u-band-wrap{margin-top:var(--s-4)}.u-band-wrap .label{margin-bottom:6px}.u-band{width:100%;height:auto;display:block;overflow:visible}.u-band text{font:var(--fw-medium) 9.5px var(--font-mono);fill:var(--ink-3)}.u-band text.now{fill:var(--ink);font-weight:var(--fw-bold)}.u-band text.yl{font-size:8.5px}.u-band .gl{stroke:var(--line)}.u-lms{list-style:none;margin:var(--s-3) 0 0;padding:0}.u-lm{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:7px 0;border-top:1px solid var(--line)}.u-lm b{display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.u-lm div span{font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums}.u-lm.off b{color:var(--ink-2)}.u-lm .pill{flex:none}.u-path{margin-top:2px}.u-side .metrics.m3{grid-template-columns:repeat(3,minmax(0,1fr))}.u-side .metrics.m4{grid-template-columns:repeat(2,minmax(0,1fr))}.u-side .metric{padding:9px 10px}.u-side .metric .v{font-size:var(--fs-lg);white-space:nowrap}#view-unit .metric .v small{display:inline;margin:0 0 0 2px;font-size:var(--fs-xs)}.u-behind{padding-top:var(--s-2);border-top:1px solid var(--line);margin-top:0}.u-heat-box{max-height:420px;overflow:auto;margin-top:var(--s-3);border-radius:var(--r-sm)}.u-heat{display:grid;grid-template-columns:28px repeat(12,minmax(22px,1fr));gap:2px;font:var(--fw-medium) var(--fs-2xs) var(--font-mono);font-variant-numeric:tabular-nums}.u-heat .hd{position:sticky;top:0;z-index:1;background:var(--surface-1);color:var(--ink-3);text-align:center;padding:2px 0 var(--s-1)}.u-heat .hd.now{color:var(--ink);font-weight:var(--fw-bold)}.u-heat .fl{color:var(--ink-3);text-align:right;padding-right:6px;line-height:19px;cursor:pointer}.u-heat .fl.cur{color:var(--accent);font-weight:var(--fw-bold)}.u-heat .fl.cmp{color:var(--ink)}.u-heat .c{height:19px;line-height:19px;text-align:center;border-radius:var(--r-xs);cursor:pointer;color:var(--ink-2);background:color-mix(in srgb,var(--sun) var(--p, 0%),var(--surface-2));transition:box-shadow var(--t-fast)}.u-heat .c.hi{color:#1b1200}.u-heat .c.pend{background:var(--surface-2);cursor:default}.u-heat.busy .c.pend{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s linear infinite}.u-heat .c.cur{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--ink);font-weight:var(--fw-semibold)}.u-heat .c.cur.hi{color:#1b1200}.u-heat .c.cmp{outline:1px dashed var(--ink-2);outline-offset:-1px}.u-heat .c:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.u-sw-cur{box-shadow:inset 0 0 0 1.5px var(--accent)}.u-sw-cmp{outline:1px dashed var(--ink-2);outline-offset:-1px}.u-heat-scale{display:inline-flex;align-items:center;gap:6px}.u-heat-scale i{width:56px;height:8px;border-radius:2px;background:linear-gradient(90deg,var(--surface-2),var(--sun))}.u-sw-sky{background:var(--ink-4)}.u-sw-cmp2{background:var(--ink-2);height:2px!important;vertical-align:3px!important}.u-sw-sun{background:var(--sun)}.u-sw-ref{background:var(--ink-3);height:2px!important;vertical-align:3px!important}.u-sw-fut{background:var(--warn);height:2px!important;vertical-align:3px!important}.u-ev{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.u-ev-k{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.u-ev p{margin:3px 0 0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.45}.u-caveat{margin-top:var(--s-4);padding:10px var(--s-3);border-radius:var(--r-md);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);font-size:var(--fs-xs);color:var(--ink-2);line-height:1.5}.u-caveat b{display:block;color:var(--ink);font-size:var(--fs-sm);margin-bottom:2px}.u-src{display:grid;grid-template-columns:72px minmax(0,1fr);gap:7px var(--s-3);margin:var(--s-4) 0 0;font-size:var(--fs-xs);line-height:1.45}.u-src dt{color:var(--ink-3)}.u-src dd{margin:0;color:var(--ink-2)}.u-src a{color:var(--accent)}.u-rule{margin:var(--s-4) 0 0;padding-top:var(--s-3);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.u-strip .s4,.u-strip-legend .s4{background:color-mix(in srgb,var(--sun) 52%,var(--surface-3))}.u-win-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-3) var(--s-4);align-items:end;margin-top:var(--s-3)}.u-bay{padding:0;align-items:flex-start}.u-bay .switch{margin-top:2px}.u-bay .lbl{display:flex;flex-direction:column;gap:2px;font-weight:var(--fw-medium)}.u-bay small{font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums}.u-slab{flex:none;gap:3px}.u-slab label .val{font-weight:var(--fw-medium)}.u-slab-in{display:flex;align-items:center;gap:6px}.u-slab-in input{width:100%;min-width:0;font-variant-numeric:tabular-nums}.u-slab-in span,.u-slab small{font-size:var(--fs-2xs);color:var(--ink-3)}.u-link{border:0;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.u-link:hover{color:var(--ink)}#view-unit .warnline{color:var(--warn)}.u-units{margin:calc(-1 * var(--s-2)) 0 var(--s-4)}.u-units-h{display:flex;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-2);font-size:var(--fs-xs)}.u-units-h .u-eyebrow{margin:0}.u-units-row{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-1);scrollbar-width:thin}.u-unit{flex:none;display:flex;align-items:center;gap:10px;min-width:196px;max-width:250px;padding:9px var(--s-3) 9px 9px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-1);color:var(--ink);text-align:left;cursor:pointer;font:inherit;transition:border-color var(--t-fast),background var(--t-fast)}.u-unit:hover{border-color:var(--line-strong);background:var(--surface-2)}.u-unit.cur{border-color:var(--accent-line);background:var(--accent-soft);cursor:default}.u-unit.cur small{color:var(--ink-2)}.u-unit.cur .pill.accent{color:var(--ink)}.u-unit.gone{border-style:dashed}.u-unit.gone>svg{opacity:.55}.u-unit-t{display:flex;flex-direction:column;gap:2px;min-width:0}.u-unit-t b{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.u-unit-t small{font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.u-unit-p{display:flex;flex-wrap:wrap;gap:var(--s-1);margin:2px 0 1px}.u-unit-p .pill{height:18px;padding:0 6px}.u-unit-n{white-space:normal;line-height:1.3}.u-dial{flex:none;width:40px;height:40px}.u-dial .ring{fill:var(--surface-2);stroke:var(--line-strong)}.u-dial .n{stroke:var(--bad);stroke-width:1.6}.u-dial .nl{font:var(--fw-bold) 5.5px var(--font-sans);fill:var(--ink-3)}.u-dial .arm{stroke:var(--ink-2);stroke-width:2;stroke-linecap:round}.u-dial .tip{fill:var(--ink-2)}.u-dial .hub{fill:var(--ink-3)}.u-dial .q{font:var(--fw-bold) 12px var(--font-sans);fill:var(--warn)}.u-dial.confirmed .arm{stroke:var(--good)}.u-dial.confirmed .tip{fill:var(--good)}.u-dial.likely .arm{stroke:var(--accent)}.u-dial.likely .tip{fill:var(--accent)}.u-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1;mix-blend-mode:normal;border-radius:inherit}.u-photo-ctl{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px solid var(--line)}.u-photo-btn{position:relative;justify-content:flex-start;height:28px;padding:0 var(--s-2);font-size:var(--fs-xs);cursor:pointer}.u-photo-btn svg{width:14px;height:14px}.u-stage:not([data-mode=win]) .u-win-only,.u-stage:not([data-mode=in]) .u-in-only{display:none}.u-lens select{width:100%;height:28px;font-size:var(--fs-xs)}.u-roofs-wrap{margin-top:var(--s-4)}.u-roofs-wrap .label{margin-bottom:6px}.u-roofs{width:100%;height:auto;display:block;overflow:visible}.u-roofs .gl{stroke:var(--line)}.u-roofs .ax{font:var(--fw-medium) 8.5px var(--font-mono);fill:var(--ink-3)}.u-roofs .nm{font:var(--fw-medium) 10px var(--font-sans);fill:var(--ink-2)}.u-roofs .ds{font:var(--fw-medium) 8.5px var(--font-mono);fill:var(--ink-3)}.u-roofs .v{font:var(--fw-semibold) 9.5px var(--font-mono);fill:var(--ink-2)}.u-roofs .row{cursor:pointer}.u-roofs .row:hover .nm{fill:var(--ink)}.u-roofs .bar{fill:color-mix(in srgb,var(--ink-4) 55%,var(--surface-3))}.u-roofs .row.level .bar{fill:color-mix(in srgb,var(--warn) 55%,var(--surface-3))}.u-roofs .row.above .bar{fill:color-mix(in srgb,var(--band-30) 60%,var(--surface-3))}.u-roofs .row.fut .bar{stroke:var(--warn);stroke-dasharray:3 2}.u-roofs .eye line{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:3 3}.u-roofs .eye text{font:var(--fw-semibold) 8.5px var(--font-mono);fill:var(--ink-2)}.u-roofs .eye.cur line{stroke:var(--sun);stroke-width:2;stroke-dasharray:none}.u-roofs .eye.cur text{fill:var(--sun)}.u-roofs .eye.unit line{stroke:var(--accent);opacity:.7}.u-roofs .eye.unit text{fill:var(--accent)}.u-sw-above{background:color-mix(in srgb,var(--band-30) 60%,var(--surface-3))}.u-sw-below{background:color-mix(in srgb,var(--ink-4) 55%,var(--surface-3))}.u-blk{margin-top:var(--s-4)}.u-blk .label{margin-bottom:var(--s-1)}.u-blk-t td{vertical-align:middle}.u-blk-t button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:0;background:none;padding:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.u-blk-t button:hover b{color:var(--accent)}.u-blk-t b{font-weight:var(--fw-medium);font-size:var(--fs-sm)}.u-blk-t small,.u-nb small,.u-lm-t small,.u-rcpt small{display:block;font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.u-blk-t td.num,.u-nb td.num,.u-lm-t td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.u-lms .u-lm{cursor:pointer}.u-all-lm,.u-nb-d,.u-rcpt{margin-top:var(--s-3);border-top:1px solid var(--line);padding-top:var(--s-2)}.u-all-lm summary,.u-nb-d summary,.u-rcpt summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-2);padding:var(--s-1) 0}.u-all-lm summary span,.u-nb-d summary span,.u-rcpt summary span{color:var(--ink-3);font-weight:var(--fw-regular);font-size:var(--fs-xs);margin-left:6px}.u-lm-t{margin-top:6px}.u-lm-t tr{cursor:pointer}.u-lm-t td{vertical-align:middle}.u-lm-t input{accent-color:var(--accent)}.u-use{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-2);font-size:var(--fs-xs);flex-wrap:wrap}.u-nb-wrap{overflow-x:auto;margin-top:6px;max-height:460px;overflow-y:auto}.u-nb{font-size:var(--fs-xs);min-width:340px}.u-nb td:first-child{min-width:128px}.u-nb td.num,.u-nb th.num{white-space:nowrap}.u-nb thead th{position:sticky;top:0;background:var(--surface-1);z-index:1}.u-nb th button{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.u-nb th button:hover{color:var(--ink)}.u-nb th button i{font-style:normal;margin-left:3px;color:var(--accent)}.u-nb th.num button{margin-left:auto;display:block}.u-nb tbody tr{cursor:pointer}.u-nb tbody tr:hover td,.u-nb tbody tr.on td{background:var(--surface-2)}.u-nb td b{font-weight:var(--fw-medium);color:var(--ink)}.u-vw{white-space:nowrap;color:var(--ink-2)}.u-vw.in-view{color:var(--good)}.u-vw.hidden,.u-vw.behind{color:var(--ink-3)}.u-nb-foot{display:flex;justify-content:flex-end;margin-top:var(--s-3)}.u-card-chips{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2)}.u-checks{margin-top:var(--s-4)}.u-checks ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.u-checks li{display:flex;gap:var(--s-2);align-items:baseline;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.4}.u-checks li .pill{flex:none}.u-checks li b{color:var(--ink-2);font-weight:var(--fw-semibold)}.u-rcpt table{margin-top:6px;font-size:var(--fs-xs)}.u-rcpt a{color:var(--accent)}@media (max-width: 1360px){.u-grid{grid-template-columns:minmax(0,1fr) 372px}}@media (max-width: 1180px){.u-grid{grid-template-columns:minmax(0,1fr)}.u-stage.canvas-stage{height:clamp(380px,62vh,760px)}.u-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width: 760px){.u-side{grid-template-columns:minmax(0,1fr)}.u-stage.canvas-stage{height:clamp(320px,58vh,560px)}.u-head .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.u-head .actions>.u-pick,.u-head .actions>.u-links{grid-column:1 / -1}.u-head .actions>.btn{justify-content:center}.u-pick{flex:1 1 100%}.u-pick select{min-width:0;width:100%}.u-hud-x{display:none}.u-hud{max-width:calc(100% - 64px)}.u-card{inset:auto 52px 8px 8px;width:auto;max-width:none}.u-lens{left:8px;right:52px;width:auto;bottom:8px;padding:var(--s-2) 10px;gap:var(--s-1)}.u-lens .field:has(#uFov),.u-lens .field:has(#uYaw),.u-lens .field:has(#uPitch){display:none}.u-stage[data-mode=win] .u-photo-ctl{border-top:0;padding-top:0;flex-direction:row;align-items:center;flex-wrap:wrap}.u-stage[data-mode=win] .u-photo-ctl .field{flex:1 1 120px}.u-stage[data-mode=win] .u-hud,.u-strip-legend .faint{display:none}.u-time-top{gap:var(--s-3)}#uPlay{margin-left:0}.u-date-ctl{flex:1 1 100%}.u-date-ctl .seg{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}}@media (max-width: 460px){.u-sliders{gap:var(--s-3)}.u-win-row{grid-template-columns:minmax(0,1fr)}.u-unit{min-width:178px}.u-units-h .faint{display:none}.u-clock{min-width:0}}.u-daylight{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line)}.u-daylight .label{margin-bottom:6px}.u-daylight .metrics{margin-bottom:0}.u-daylight .u-note{margin-top:var(--s-2)}.u-card-parts{margin-top:10px;padding-top:var(--s-2);border-top:1px solid var(--line)}.u-card-parts .label{margin-bottom:var(--s-1)}.u-card-parts table.mini{width:100%;font-size:var(--fs-2xs)}.u-card-parts td{padding:3px var(--s-1);vertical-align:top}.u-card-parts td.num{white-space:nowrap;font-variant-numeric:tabular-nums}.u-card-parts .u-part-src{color:var(--ink-3);overflow-wrap:anywhere}.u-card-parts .u-part-src a{color:var(--ink-2)}.u-card-parts .pill{font-size:var(--fs-2xs)}.u-card-parts p{margin:var(--s-1) 0 0;font-size:var(--fs-2xs)}.u-lab.ht{padding:2px 6px 3px;border-radius:var(--r-sm)}.u-lab.ht b{font:var(--fw-semibold) var(--fs-2xs) var(--font-mono);font-variant-numeric:tabular-nums}.u-lab.ring{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font:var(--fw-semibold) var(--fs-2xs) var(--font-mono);color:var(--ink-2);text-shadow:0 0 3px var(--ground),0 0 6px var(--ground)}.u-lab.ring:after{display:none}.u-studies{padding:var(--s-3) var(--s-4) var(--s-4);margin-top:var(--s-4)}.u-st-h{display:flex;align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-3)}.u-st-h h3{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3);display:flex;gap:var(--s-2);align-items:baseline}.u-st-h h3 span{text-transform:none;letter-spacing:0;font-weight:var(--fw-regular)}.u-st-h .seg{flex:0 1 auto;overflow-x:auto;scrollbar-width:none;max-width:100%}.u-st-h .seg button{white-space:nowrap}.u-st-h .seg button[aria-selected=true]{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.u-st-acts{display:flex;gap:var(--s-1);margin-left:auto}.u-st-acts .btn{height:28px;padding:0 10px;font-size:var(--fs-xs);gap:5px}.u-st-acts .btn svg{width:13px;height:13px}.u-st-cv{display:block;width:100%;border-radius:var(--r-md)}.u-st-body .u-note{margin-top:var(--s-2)}.u-hm-grid{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:var(--s-5);align-items:start}.u-hm-side .u-sec-t{margin-top:var(--s-3)}.u-hm{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}.u-hm svg{display:block;width:100%;height:auto}.u-hm .bl path{stroke:var(--surface-1);stroke-width:.6;cursor:pointer;transition:opacity var(--t-fast)}.u-hm .bl path:hover{stroke:var(--ink);stroke-width:1.2}.u-hm .bl path.t{fill:var(--accent);stroke:var(--ink);stroke-width:1.6}.u-hm .bl path.sel{stroke:var(--ink);stroke-width:1.8}.u-hm .bl path.ed{stroke:var(--warn);stroke-width:1.6;stroke-dasharray:3 2}.u-hm .fu path{fill:color-mix(in srgb,var(--warn) 14%,transparent);stroke:var(--warn);stroke-width:1.2;stroke-dasharray:4 3}.u-hm .st polyline{fill:none;stroke:var(--line-strong);stroke-width:1;stroke-dasharray:1 3}.u-hm .ring{fill:none;stroke:var(--ink-3);stroke-width:1;stroke-dasharray:5 4}.u-hm .face{stroke:var(--sun);stroke-width:2.4;stroke-linecap:round}.u-hm .fan{stroke:var(--sun);stroke-width:1.2;stroke-opacity:.6;stroke-dasharray:3 3}.u-hm .faceh{fill:var(--sun)}.u-hm .win{fill:var(--sun);stroke:var(--surface-1);stroke-width:2}.u-hm-l{position:absolute;transform:translate(-50%,-50%);padding:1px 5px;border-radius:var(--r-xs);background:var(--overlay);border:1px solid var(--line-strong);font:var(--fw-semibold) var(--fs-2xs) var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass)}.u-hm-l small{font-size:9px;color:var(--ink-3)}.u-hm-l.ed{border-color:var(--warn);color:var(--warn)}.u-hm-r{position:absolute;transform:translate(-50%,-50%);font:var(--fw-semibold) var(--fs-2xs) var(--font-mono);color:var(--ink-3);pointer-events:none;text-shadow:0 0 3px var(--surface-2),0 0 6px var(--surface-2)}.u-hm-n{position:absolute;top:8px;right:10px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--overlay);border:1px solid var(--line-strong);font:var(--fw-bold) var(--fs-xs) var(--font-sans);color:var(--bad)}.u-hm-sc{position:absolute;left:10px;bottom:8px;display:flex;flex-direction:column;gap:2px;width:40%;font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3);pointer-events:none}.u-hm-sc i{display:block;height:4px;border:1px solid var(--ink-3);border-top:0}.u-hm-legend{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);margin-top:var(--s-2);font-size:var(--fs-2xs);color:var(--ink-3)}.u-hm-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.u-hm-legend i{width:12px;height:10px;border-radius:2px;border:1px solid var(--line)}.u-hm-legend i.t{background:var(--accent)}.u-hm-legend i.fu{border:1.5px dashed var(--warn)}.u-hm-legend i.face{height:3px;border:0;background:var(--sun)}.u-hm-side .label{margin-bottom:6px}.u-sec{width:100%;max-width:780px;height:auto;display:block;overflow:visible}.u-sec .gl{stroke:var(--line)}.u-sec .ax{font:var(--fw-medium) 9.5px var(--font-mono);fill:var(--ink-3)}.u-sec .facebg{fill:var(--sun);opacity:.08}.u-sec .col{cursor:pointer}.u-sec .col rect{stroke:var(--line-strong)}.u-sec .col:hover rect{stroke:var(--ink)}.u-sec .med{stroke:var(--ink);stroke-width:1.5;opacity:.7}.u-sec .v{font:var(--fw-semibold) 10.5px var(--font-mono);fill:var(--ink)}.u-sec .dir{font:var(--fw-semibold) 11px var(--font-sans);fill:var(--ink-2)}.u-sec .dir.on{fill:var(--sun)}.u-sec .sub{font:var(--fw-medium) 9.5px var(--font-mono);fill:var(--ink-3)}.u-sec .none{font:var(--fw-medium) 9.5px var(--font-mono);fill:var(--ink-4)}.u-sec .eye{stroke:var(--sun);stroke-width:1.5;stroke-dasharray:5 3}.u-sec .eyel{font:var(--fw-semibold) 10px var(--font-mono);fill:var(--sun)}.u-sec-d{margin-top:var(--s-3)}.u-sec-d summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-2)}.u-sec-d summary span{color:var(--ink-3);font-weight:var(--fw-regular);font-size:var(--fs-xs)}.u-sec-t{margin-top:var(--s-2);width:100%}.u-sec-t td b{display:block;font-weight:var(--fw-medium)}.u-sec-t td small{color:var(--ink-3);font:var(--fw-medium) var(--fs-2xs) var(--font-mono)}.u-sec-t tr.face td:first-child{color:var(--sun);font-weight:var(--fw-semibold)}.u-sec-t tr[data-bi]{cursor:pointer}.u-if .u-if-h{margin-top:var(--s-3)}.u-if select{width:100%}.u-if-acts{display:flex;align-items:center;flex-wrap:wrap;gap:6px var(--s-3);margin-top:var(--s-2)}.u-if-acts .tg{margin-left:auto;padding:0}.u-if-m{margin-top:var(--s-3)}.u-side .u-if-m.metrics.m4{grid-template-columns:repeat(2,minmax(0,1fr))}.u-up{color:var(--good)!important}.u-down{color:var(--bad)!important}.u-if-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--s-3)}.u-if-list .label{width:100%}.u-if-list .chip{font-size:var(--fs-xs)}@media (max-width: 900px){.u-hm-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 460px){.u-studies{padding:var(--s-3)}.u-st-acts{margin-left:0}.u-hm-l{font-size:9px;padding:0 3px}}.u-lab.water,.u-lab.park{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font:var(--fw-semibold) var(--fs-2xs) var(--font-sans);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 3px var(--ground),0 0 6px var(--ground),0 0 1px var(--ground)}.u-lab.water{font-style:italic;letter-spacing:.24em;color:color-mix(in srgb,var(--band-30) 78%,var(--ink))}.u-lab.park{letter-spacing:.12em;color:color-mix(in srgb,var(--ok, #3fa56b) 62%,var(--ink-2))}.u-lab.water:after,.u-lab.park:after{display:none}@media (max-width: 760px){.u-views{right:56px}.u-modes .um-b{height:36px;padding:0 9px 0 var(--s-2);gap:6px;font-size:var(--fs-xs)}.u-modes .um-b svg{width:16px;height:16px}.u-modes .um-sep{flex-basis:100%;height:0;margin:0;background:none}.u-compass{top:150px;left:12px;right:auto;width:36px;height:36px}.u-stage[data-mode=in] .u-compass,.u-stage[data-mode=win] .u-compass{display:none}}@media (max-width: 460px){.u-modes .um-x{display:none}}.u-lens .ul-tog{display:inline-flex;align-items:center;gap:var(--s-2);align-self:flex-start;height:28px;padding:0 6px;border:0;border-radius:var(--r-inner);background:none;color:var(--ink-2);font:var(--fw-medium) var(--fs-xs) var(--font-sans, inherit);cursor:pointer;white-space:nowrap}.u-lens .ul-tog:hover{color:var(--ink);background:var(--surface-2)}.u-lens .ul-tog:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:1px}.u-lens .ul-tog svg{width:16px;height:16px;flex:none}.u-lens:not(.open) .ul-tog span{display:none}.u-lens:not(.open) .ul-tog{padding:0;width:28px;justify-content:center}.u-lens:not(.open){width:auto;padding:3px}.u-stage[data-mode=win] .u-lens:not(.open){padding:var(--s-2)}.u-lens:not(.open) .field:has(#uFov),.u-lens:not(.open) .field:has(#uYaw),.u-lens:not(.open) .field:has(#uPitch){display:none}@media (max-width: 760px){.u-lens .ul-tog{display:none}.u-lens:not(.open){padding:var(--s-2) 10px}}@media (min-width: 761px){.u-lens{right:56px}}.u-head{align-items:center;margin-bottom:var(--s-3)}.u-head .u-eyebrow{display:none}.u-tline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.u-head h1{margin:0;font-size:var(--fs-xl);line-height:28px}.u-fold{display:inline-flex;align-items:center;gap:var(--s-1);height:26px;padding:0 var(--s-2) 0 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-3);font:var(--fw-medium) var(--fs-xs) var(--font-sans, inherit);cursor:pointer}.u-fold:hover{color:var(--ink);border-color:var(--line-strong)}.u-fold:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off)}.u-fold svg{width:12px;height:12px;transition:transform var(--t-base) var(--ease-out)}.u-fold[aria-expanded=true]{color:var(--ink);background:var(--accent-soft);border-color:var(--accent-line)}.u-fold[aria-expanded=true] svg{transform:rotate(180deg)}.u-pad:has(#uUnits[hidden]) #uUnitsBtn{display:none}#view-unit:not([data-facts]) .u-sub{display:none}#view-unit:not([data-units]) #uUnits{display:none!important}#view-unit .u-units{margin-bottom:var(--s-3)}.u-hud{flex-wrap:nowrap;overflow:hidden}.u-hud span{white-space:nowrap}.u-stage .u-hud .u-hud-x{display:none}.u-stage:hover .u-hud .u-hud-x,.u-stage:focus-within .u-hud .u-hud-x{display:inline-block}@media (min-width: 1181px){#view-unit[data-wide="1"] .u-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}#view-unit[data-wide="1"] .u-side{overflow:visible;margin:0;padding:0;-webkit-mask-image:none;mask-image:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media (max-width: 760px){#uFull,#uWide{display:none}}.u-hud span{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1360px){.u-links a[href^="#plan"]{display:none}}#view-unit .u-tools{max-height:calc(100% - 24px);overflow-y:auto;scrollbar-width:none}.ps-head h1 span{font-weight:var(--fw-medium)}.ps-head p{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) 6px}.ps-head .warnline{color:var(--warn)}.ps-head select{max-width:240px}.ps-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s-4);align-items:start}.ps-main{min-width:0;display:flex;flex-direction:column;gap:var(--s-3)}.ps-side{min-width:0;display:flex;flex-direction:column;gap:var(--s-3);position:sticky;top:0}.ps-panes{display:grid;gap:var(--s-3);height:clamp(440px,calc(100vh - 290px),860px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ps-panes[data-mode="2d"]{grid-template-columns:minmax(0,1fr)}.ps-panes[data-mode="2d"] #pstage,.ps-panes[data-mode="3d"] .ps-2d{display:none}.ps-panes[data-mode="3d"]{grid-template-columns:minmax(0,1fr)}.ps-panes>.empty{grid-column:1 / -1}.ps-pane{position:relative;min-width:0;min-height:0;border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden;background:var(--surface-1)}#pstage.canvas-stage{aspect-ratio:auto;height:100%;background:var(--surface-2)}#pstage canvas{touch-action:none}.ps-2d svg{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.ps-corner{position:absolute;left:10px;bottom:10px;display:flex;gap:6px;pointer-events:none}.ps-corner>span{display:inline-flex;align-items:center;gap:6px;font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-2);background:var(--overlay);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:3px var(--s-2)}.ps-north i{width:10px;height:12px;display:inline-block;transform:rotate(var(--rot, 0deg));background:var(--ink);clip-path:polygon(50% 0,100% 100%,50% 74%,0 100%)}.ps-north[hidden]{display:none!important}.ps-cams{top:10px;left:10px;display:flex;gap:2px;padding:3px;border-radius:var(--r-md);max-width:calc(100% - 20px);overflow-x:auto;scrollbar-width:none}.ps-walls{top:10px;right:10px;display:flex;gap:2px;padding:3px;border-radius:var(--r-md)}.ps-cams button,.ps-walls button{border:0;background:none;height:26px;padding:0 10px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast)}.ps-cams button:hover,.ps-walls button:hover{color:var(--ink)}.ps-cams button.on,.ps-walls button.on{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.ps-cams button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.ps-panes[data-mode=both] .ps-walls{top:50px}#pstage .hud{right:auto;max-width:60%}.ps-hint{position:absolute;right:12px;bottom:14px;max-width:46%;text-align:right;font-size:var(--fs-2xs);color:var(--ink-3);pointer-events:none;text-shadow:0 0 6px var(--surface-2)}.ps-2d svg *{vector-effect:non-scaling-stroke}.p2-room{fill:var(--surface-2);stroke:none}.p2-room.k-living,.p2-room.k-bedroom,.p2-room.k-office,.p2-room.k-dining,.p2-room.k-hall{fill:color-mix(in srgb,var(--sun) 6%,var(--surface-2))}.p2-room.k-kitchen,.p2-room.k-bath,.p2-room.k-closet{fill:var(--surface-3)}.p2-room.k-outdoor{fill:color-mix(in srgb,var(--good) 8%,var(--surface-2))}.p2-gridline{fill:none;stroke:var(--line-strong);stroke-width:.6px}.p2-hatchline{stroke:var(--ink-4);stroke-width:.8px}.p2-keep polygon{fill:url(#p2hatch);stroke:var(--ink-4);stroke-width:1px;stroke-dasharray:3 3;opacity:.7}.p2-walls polygon{fill:color-mix(in srgb,var(--ink) 74%,transparent);stroke:none}.p2-wins polygon{fill:var(--surface-1);stroke:var(--ink-3);stroke-width:1px}.p2-wins line{stroke:var(--ink-3);stroke-width:1px}.p2-arc{fill:none;stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:3 3}.p2-leaf{stroke:var(--ink-2);stroke-width:1.6px}.p2-doorway{fill:url(#p2hatch);stroke:none;opacity:.6}.p2-fx polygon{fill:var(--surface-3);stroke:var(--line-strong);stroke-width:1px}.p2-fx.est polygon{stroke:var(--ink-4);stroke-dasharray:4 2}.p2-fx.k-ac polygon,.p2-fx.k-ptac polygon{fill:color-mix(in srgb,var(--warn) 22%,var(--surface-3))}.p2-fx.k-column polygon{fill:color-mix(in srgb,var(--ink) 74%,transparent)}.p2-fx text{font:var(--fw-medium) 5.4px var(--font-sans);fill:var(--ink-3);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.p2-reserve{fill:none;stroke:var(--ink-4);stroke-width:1px;stroke-dasharray:2 3}.p2-reserve.ac{fill:color-mix(in srgb,var(--warn) 7%,transparent);stroke:color-mix(in srgb,var(--warn) 55%,transparent)}.p2-rl text{font:var(--fw-semibold) 9px var(--font-sans);fill:var(--ink-3);text-anchor:middle;letter-spacing:.01em;pointer-events:none}.p2-rl text.d{font:var(--fw-medium) 6.2px var(--font-mono);fill:var(--ink-3);opacity:.8}.p2-rl.sm text{font-size:6.4px}.p2-rl.sm text.d{font-size:5px}.p2-it{cursor:grab}.p2-it:active{cursor:grabbing}.p2-it .g-base{fill:color-mix(in srgb,var(--ink) 17%,var(--surface-2));stroke:var(--ink-3);stroke-width:1px}.p2-it .g-dk{fill:color-mix(in srgb,var(--ink) 30%,var(--surface-2));stroke:none}.p2-it .g-lt{fill:color-mix(in srgb,var(--ink) 6%,var(--surface-1));stroke:none}.p2-it .g-ln{fill:none;stroke:var(--ink-3);stroke-width:1px}.p2-it .g-tv{fill:var(--ink);stroke:none}.p2-it .g-chair{fill:color-mix(in srgb,var(--ink) 9%,var(--surface-2));stroke:var(--ink-4);stroke-width:1px}.p2-it .g-t{font:var(--fw-semibold) 6px var(--font-sans);fill:var(--ink);text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:color-mix(in srgb,var(--surface-2) 70%,transparent);stroke-width:2.5px;vector-effect:none}.p2-it .g-d{font-family:var(--font-mono);font-weight:var(--fw-medium);fill:var(--ink-2)}.p2-it:hover .g-base{stroke:var(--ink-2)}.p2-it.st-tight .g-base{stroke:var(--warn);fill:color-mix(in srgb,var(--warn) 16%,var(--surface-2))}.p2-it.st-blocked .g-base{stroke:var(--bad);fill:color-mix(in srgb,var(--bad) 22%,var(--surface-2))}.p2-it.sel .g-base{stroke:var(--accent);stroke-width:2px}.p2-it.sel:not(.st-tight):not(.st-blocked) .g-base{fill:color-mix(in srgb,var(--accent) 20%,var(--surface-2))}.p2-zone{stroke-width:1px;stroke-dasharray:3 2;pointer-events:none}.p2-zone.z-clear{fill:color-mix(in srgb,var(--good) 14%,transparent);stroke:color-mix(in srgb,var(--good) 60%,transparent)}.p2-zone.z-tight{fill:color-mix(in srgb,var(--warn) 18%,transparent);stroke:var(--warn)}.p2-zone.z-blocked{fill:color-mix(in srgb,var(--bad) 18%,transparent);stroke:var(--bad)}.p2-gap{pointer-events:none}.p2-gap line{stroke:var(--accent);stroke-width:1.4px}.p2-gap rect{fill:var(--accent)}.p2-gap text,.p2-sight text{font:var(--fw-semibold) 6px var(--font-mono);fill:var(--accent-ink);text-anchor:middle;dominant-baseline:middle}.p2-sight{pointer-events:none}.p2-sight line{stroke:var(--sun);stroke-width:1.4px;stroke-dasharray:5 3}.p2-sight circle,.p2-sight rect{fill:var(--sun)}.p2-sight text{fill:#1b1200}.p2-flash{fill:var(--bad);opacity:.45;pointer-events:none;animation:psPulse var(--t-page) var(--ease-in-out) 3}@keyframes psPulse{50%{opacity:.12}}.ps-sun{padding:var(--s-3) var(--s-4)}.ps-sunrow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s-3) var(--s-4)}.ps-date{flex:0 1 160px}.ps-time{flex:2 1 260px}.ps-play{flex:none}.ps-play.on{background:var(--accent);color:var(--accent-ink);border-color:transparent}.ps-play svg{width:13px;height:13px}.ps-quick{flex:none}.ps-sum .metrics{margin-bottom:var(--s-3)}.ps-sum .metrics,.ps-pm{grid-template-columns:repeat(3,minmax(0,1fr))}.ps-sum p{margin:0;font-size:var(--fs-sm);color:var(--ink-3);line-height:1.6}#view-plan .metric .v.bad{color:var(--bad)}#view-plan .metric .v.warn{color:var(--warn)}#view-plan .metric .v small{display:block;margin:2px 0 0;font-size:var(--fs-2xs)}.ps-ih{display:flex;align-items:center;gap:10px;margin-bottom:var(--s-3)}.ps-ih .t{flex:1;min-width:0;display:flex;flex-direction:column}.ps-ih b{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-ih small{font-size:var(--fs-xs);color:var(--ink-3)}.ps-ih .icon-btn{width:28px;height:28px;flex:none}.ps-sw{width:12px;height:12px;border-radius:var(--r-xs);flex:none;background:var(--c);box-shadow:inset 0 0 0 1px var(--line-strong)}.ps-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-2)}.ps-fields .field{flex:none}.ps-fields .field:nth-child(5){grid-column:1 / -1}.ps-fields label{justify-content:flex-start;gap:var(--s-1)}.ps-fields label span{color:var(--ink-3)}.ps-fields input{width:100%;font-variant-numeric:tabular-nums}.ps-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-3)}.ps-acts .icon-btn{width:28px;height:28px}.ps-acts .icon-btn.danger:hover{color:var(--bad)}.ps-place{display:flex;gap:var(--s-1);flex:1 1 180px;min-width:0}.ps-place select{flex:1;min-width:0;height:28px}.ps-nudge{display:none;grid-template-columns:repeat(3,40px);grid-template-areas:". u ." "l d r";gap:var(--s-1);justify-content:center;margin-top:var(--s-3)}.ps-nudge button{height:36px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:var(--fs-md);cursor:pointer}.ps-nudge button:nth-child(1){grid-area:u}.ps-nudge button:nth-child(2){grid-area:l}.ps-nudge button:nth-child(3){grid-area:d}.ps-nudge button:nth-child(4){grid-area:r}@media (hover: none),(max-width: 760px){.ps-nudge{display:grid}}.ps-checks{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.ps-issues{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ps-issues button{display:flex;gap:9px;width:100%;text-align:left;border:0;background:none;padding:5px 6px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;line-height:1.4}.ps-issues button:hover{background:var(--surface-2);color:var(--ink)}.ps-issues button:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;margin-top:6px;background:var(--warn)}.ps-issues .g-blocked button:before{background:var(--bad)}.ps-ok{margin:0;font-size:var(--fs-sm);color:var(--good)}.ps-zones{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2)}.ps-z{display:inline-flex;align-items:baseline;gap:5px;font-size:var(--fs-2xs);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px var(--s-2);font-variant-numeric:tabular-nums}.ps-z b{font-weight:var(--fw-semibold);color:var(--ink)}.ps-z small{color:var(--ink-3)}.ps-z.g-clear b{color:var(--good)}.ps-z.g-tight b{color:var(--warn)}.ps-z.g-blocked b{color:var(--bad)}.ps-src{margin:var(--s-3) 0 0;font-size:var(--fs-2xs);color:var(--ink-3);line-height:1.5}#view-plan kbd{white-space:nowrap}.ps-tabs{display:flex;width:100%;flex-wrap:nowrap}.ps-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px}.ps-tabs .n{font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;color:var(--ink-3)}.ps-tabs .n.bad{color:var(--bad)}.ps-tabs .n.warn{color:var(--warn)}.ps-tab .label{margin-top:var(--s-5)}.ps-tab .label:first-child{margin-top:0}.ps-presets{display:flex;flex-direction:column;gap:6px}.ps-preset{display:flex;flex-direction:column;gap:2px;text-align:left;padding:9px var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.ps-preset:hover{border-color:var(--line-strong)}.ps-preset.on{border-color:var(--accent-line);background:var(--accent-soft)}.ps-preset b{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.ps-preset span{font-size:var(--fs-xs);color:var(--ink-3);line-height:1.45}.ps-list{display:flex;flex-direction:column;gap:1px;margin:0 -6px}.ps-item{display:flex;align-items:center;gap:2px;border-radius:var(--r-md)}.ps-item:hover{background:var(--surface-2)}.ps-item.on{background:var(--accent-soft)}.ps-item.off .t{opacity:.5}.ps-ib{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:6px;cursor:pointer;color:var(--ink)}.ps-ib .t{flex:1;min-width:0;display:flex;flex-direction:column}.ps-ib b{font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-ib small{font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-item .icon-btn{width:28px;height:28px;border-color:transparent;background:none;color:var(--ink-3)}.ps-item .icon-btn svg{width:14px;height:14px}.ps-item .ps-vis{flex:none;margin-right:4px}.ps-item .dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--good)}.ps-item .dot.g-tight{background:var(--warn)}.ps-item .dot.g-blocked{background:var(--bad)}.ps-item .dot.g-off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-4)}.ps-cat{margin-top:var(--s-3)}.ps-cat-h{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.ps-cat .chip svg{width:11px;height:11px;margin-left:-2px}.ps-opts{display:flex;flex-direction:column;margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--line)}.ps-cm{margin:0 0 var(--s-2)}.ps-cm .no{color:var(--bad);font-weight:var(--fw-semibold)}.ps-cm .unk{color:var(--warn);font-weight:var(--fw-semibold)}.ps-room{margin-top:var(--s-4)}.ps-room h4{margin:0 0 6px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-1) 10px}.ps-room h4 span{font-weight:var(--fw-regular);font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.ps-ck{list-style:none;margin:0 -6px;padding:0}.ps-ck button{display:grid;grid-template-columns:62px minmax(0,1fr);gap:var(--s-2);align-items:start;width:100%;text-align:left;border:0;background:none;padding:6px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;line-height:1.45}.ps-ck button:hover{background:var(--surface-2);color:var(--ink)}.ps-ck .pill{justify-content:center;margin-top:1px}.ps-ck b{color:var(--ink);font-weight:var(--fw-semibold)}.ps-tab table.mini{margin-top:2px}.ps-tab table.mini small{font-size:var(--fs-2xs)}.ps-note{margin:var(--s-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.ps-rules{margin-top:var(--s-5);font-size:var(--fs-xs);color:var(--ink-3)}.ps-rules summary{cursor:pointer;color:var(--ink-2);font-weight:var(--fw-medium)}.ps-rules ul{padding-left:var(--s-4);margin:var(--s-2) 0 0;display:flex;flex-direction:column;gap:6px;line-height:1.5}.ps-rules b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.ps-sunline{margin:0 0 var(--s-2);font-size:var(--fs-sm);color:var(--ink-2)}.ps-srcline{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55}.ps-bul{margin:0;padding-left:18px;font-size:var(--fs-sm);color:var(--ink-2);display:flex;flex-direction:column;gap:3px}.ps-bul.warn li::marker{color:var(--warn)}.ps-rooms,.ps-pm{margin-top:var(--s-4)}.ps-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-4)}.ps-files .btn svg{width:14px;height:14px}.ps-compare{margin-top:var(--s-4)}.ps-cmp-h{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-3)}.ps-cmp-h>div{flex:1;min-width:0}.ps-cmp-h .label{justify-content:flex-start;gap:var(--s-3)}.ps-cmp-h .ps-note{margin:0;max-width:720px}.ps-cmp-cards{display:flex;gap:var(--s-4);overflow-x:auto;padding-bottom:var(--s-2);align-items:flex-start}.ps-cmp-card{flex:none;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2)}.ps-cmp-card.cur{border-color:var(--accent-line)}.ps-cmp-ct{display:flex;justify-content:space-between;gap:var(--s-3);align-items:baseline}.ps-cmp-ct a{font-weight:var(--fw-semibold);text-decoration:none}.ps-cmp-ct a:hover{color:var(--accent)}.ps-cmp-sum{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.ps-cmp-sum .ok{color:var(--good)}.ps-cmp-sum .no{color:var(--bad)}.ps-cmp-sum .unk{color:var(--warn)}.ps-cmp-card small{font-size:var(--fs-xs);color:var(--ink-3)}.ps-cmp-svg{display:block;margin-top:var(--s-2)}.ps-cmp-svg *{vector-effect:non-scaling-stroke}.ps-cmp-t{margin-top:var(--s-4)}.ps-cmp-t th,.ps-cmp-t td{white-space:nowrap}.ps-cmp-t td small{font-size:var(--fs-2xs)}.ps-menu-wrap{position:relative}.ps-menu-wrap .btn svg{width:14px;height:14px}.ps-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:250px;padding:var(--s-1);background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3)}.ps-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:none;padding:var(--s-2) 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink);cursor:pointer;text-align:left}.ps-menu button:hover,.ps-menu button:focus-visible{background:var(--surface-2)}.ps-menu button span{font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3)}.ps-menu hr{border:0;border-top:1px solid var(--line);margin:var(--s-1) 2px}@media (max-width: 1360px){.ps-grid{grid-template-columns:minmax(0,1fr) 330px}}@media (max-width: 1080px){.ps-grid{grid-template-columns:minmax(0,1fr)}.ps-side{position:static}}@media (max-width: 760px){.ps-panes{height:min(64vh,560px)}.ps-panes[data-mode=both]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:min(110vh,900px)}.ps-head .actions{width:100%}.ps-head select{flex:1 1 100%;max-width:none}.ps-panes[data-mode=both] .ps-walls{top:10px}.ps-walls{top:auto!important;bottom:44px;right:10px}.ps-hint{display:none}#pstage .hud{max-width:calc(100% - 24px)}.ps-quick{flex:1 1 100%}.ps-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.ps-glaze{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.ps-glaze .label{align-items:center;margin-bottom:var(--s-2)}.ps-glaze .label .pill{font-size:var(--fs-2xs)}.ps-blinds{margin:var(--s-2) 0 0}.ps-blinds button{flex:1}.ps-df-h{margin-top:var(--s-4);align-items:center}.ps-df-h .pill{font-size:var(--fs-2xs)}table.mini.ps-df td.num b{font-weight:var(--fw-semibold);color:var(--ink)}#psLightResults{margin-top:var(--s-4)}.ps-dims{top:10px;left:10px;display:flex;gap:2px;padding:3px;border-radius:var(--r-md);z-index:2}.ps-dims button,.ps-cmp3d-v button{border:0;background:none;height:24px;padding:0 9px;border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--ink-2);cursor:pointer;white-space:nowrap}.ps-dims button.on,.ps-cmp3d-v button.on{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.p2-dim{pointer-events:none}.p2-dim line{stroke:var(--ink-3);stroke-width:1px}.p2-dim rect{fill:var(--surface-1);stroke:var(--line-strong);stroke-width:.8px}.p2-dim text{font:var(--fw-semibold) 5.6px var(--font-mono);fill:var(--ink-2);text-anchor:middle;dominant-baseline:middle;font-variant-numeric:tabular-nums}.p2-route{pointer-events:none}.p2-route polyline{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 5}.p2-route.g-clear polyline{stroke:var(--good)}.p2-route.g-tight polyline{stroke:var(--warn)}.p2-route.g-blocked polyline{stroke:var(--bad)}.p2-route circle{stroke:none}.p2-route.g-clear circle,.p2-route.g-clear rect{fill:var(--good)}.p2-route.g-tight circle,.p2-route.g-tight rect{fill:var(--warn)}.p2-route.g-blocked circle,.p2-route.g-blocked rect{fill:var(--bad)}.p2-route text{font:var(--fw-semibold) 5.6px var(--font-mono);fill:var(--surface-1);text-anchor:middle;dominant-baseline:middle}.p2-it .g-rug{fill:color-mix(in srgb,var(--sun) 10%,var(--surface-2));stroke:color-mix(in srgb,var(--ink) 22%,transparent);stroke-width:1px}.p2-it .g-rug.in{fill:none;stroke-dasharray:2 2}.p2-it .g-art{fill:var(--ink-2);stroke:none}.p2-it .g-lamp{fill:color-mix(in srgb,var(--sun) 30%,var(--surface-2));stroke:color-mix(in srgb,var(--sun) 70%,transparent);stroke-width:1px}.p2-it .g-lamp.hi{fill:none;stroke-dasharray:2 2}.p2-it .g-lamp-c{fill:var(--sun)}.p2-it .g-drw{fill:color-mix(in srgb,var(--ink) 30%,var(--surface-2));stroke:none}.ps-ckh{display:flex;justify-content:space-between;align-items:center}.ps-rt-all{margin:0 0 var(--s-2)}.ps-routes{list-style:none;margin:0 0 var(--s-4);padding:0;display:flex;flex-direction:column;gap:2px}.ps-routes li{display:flex;align-items:center;gap:var(--s-1);border-radius:var(--r-sm)}.ps-routes li.on{background:var(--surface-2)}.ps-rt{flex:1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start;border:0;background:none;text-align:left;padding:6px;border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.4;cursor:pointer}.ps-rt:hover{background:var(--surface-2);color:var(--ink)}.ps-rt b{color:var(--ink);font-weight:var(--fw-semibold)}.ps-rt .num{font:var(--fw-semibold) var(--fs-xs) var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;padding-top:2px}.ps-rt small,.ps-finder small{font-size:var(--fs-xs)}.g-clear{color:var(--good)}.g-tight{color:var(--warn)}.g-blocked{color:var(--bad)}.ps-routes .icon-btn svg{width:12px;height:12px}.ps-prod-f{grid-column:1 / -1}.ps-prod-f select{width:100%}.ps-attach{display:flex;align-items:flex-start;gap:var(--s-2);margin:var(--s-2) 0 0;font-size:var(--fs-sm);cursor:pointer}.ps-attach input{margin:3px 0 0}.ps-attach small{display:block;color:var(--ink-3);font-size:var(--fs-2xs)}.ps-prodline{margin:var(--s-2) 0 0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm)}.ps-prodline a{color:var(--accent);text-decoration:none;font-weight:var(--fw-semibold)}.ps-prodline a:hover{text-decoration:underline}.ps-prodline span{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.warnline{color:var(--warn)}.ps-shop-m{margin-bottom:var(--s-4)}.ps-finder-pick{margin-bottom:var(--s-2)}.ps-finder-pick .chip.on{border-color:var(--accent-line);color:var(--ink)}.ps-finder{list-style:none;margin:0 0 var(--s-2);padding:0;display:flex;flex-direction:column}.ps-finder li{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.ps-finder li.cur{background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:var(--r-sm);padding-inline:6px}.ps-finder .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ps-finder .t a,.ps-shop a{color:var(--ink);text-decoration:none;font-weight:var(--fw-semibold)}.ps-finder .t a:hover,.ps-shop a:hover{color:var(--accent);text-decoration:underline}.ps-finder .t small{color:var(--ink-3);font-variant-numeric:tabular-nums}.ps-finder .btn{height:28px;padding:0 10px}table.mini.ps-shop td{vertical-align:top}table.mini.ps-shop small a{font-weight:var(--fw-medium);color:var(--ink-3)}.ps-linkbtn{border:0;background:none;padding:0;color:var(--ink);font:inherit;font-weight:var(--fw-semibold);cursor:pointer;text-align:left}.ps-linkbtn:hover{color:var(--accent)}.ps-mood{flex:none}.ps-opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s-4)}.ps-opt{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2)}.ps-opt.cur{border-color:var(--accent-line)}.ps-opt header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-2)}.ps-opt header b{font-size:var(--fs-sm);line-height:1.35}.ps-opt svg{width:100%;height:auto;max-height:300px;display:block;background:var(--surface-1);border-radius:var(--r-md)}.ps-opt svg *{vector-effect:non-scaling-stroke}.ps-opt .ps-note{margin:0}.ps-opt-v{margin:0;font-size:var(--fs-xs);line-height:1.45}.ps-opt .btn{align-self:flex-start}.ps-cmp3d{margin-bottom:var(--s-4)}.ps-cmp3d-stage.canvas-stage{position:relative;height:clamp(320px,52vh,620px);aspect-ratio:auto;border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden;background:var(--surface-2)}.ps-cmp3d-stage canvas{width:100%;height:100%;display:block;touch-action:none}.ps-cmp3d-v{top:10px;right:10px;display:flex;gap:2px;padding:3px;border-radius:var(--r-md)}.ps-cmp3d-stage .hud{inset:10px auto auto 10px}@media (max-width: 760px){.ps-mood{flex:1 1 100%}.ps-mood button{flex:1}.ps-dims button{padding:0 7px}}.selbar{top:0;left:0;z-index:9;display:flex;flex-direction:column;align-items:stretch;gap:var(--s-1);padding:5px;border-radius:var(--r-md);width:max-content;max-width:calc(100% - 16px);will-change:transform;touch-action:manipulation}.selbar[hidden]{display:none}.sb-name{font:var(--fw-semibold) var(--fs-2xs) var(--font-sans);color:var(--ink-2);padding:1px 6px 0;letter-spacing:.02em;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-name:empty{display:none}.sb-row{display:flex;align-items:center;justify-content:center;gap:2px}.sb-sep{width:1px;align-self:stretch;margin:var(--s-1) 3px;background:var(--line)}.sb-b{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:44px;padding:var(--s-1) 6px;border:0;border-radius:var(--r-md);background:none;color:var(--ink-2);font:var(--fw-medium) var(--fs-2xs) var(--font-sans);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.sb-b[hidden]{display:none}.sb-b:hover,.sb-b:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.sb-b.on{color:var(--ink);background:var(--surface-3);box-shadow:var(--shadow-1)}.sb-b[data-act=del]:hover{color:var(--bad)}.sb-b svg .tk{stroke-width:1.2;opacity:.7}.sb-pop{padding:6px var(--s-1) 3px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.sb-pop[hidden]{display:none}.sb-dial{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-2xs);color:var(--ink-3)}.sb-dial input{width:150px;accent-color:var(--accent)}.sb-dial output{font:var(--fw-semibold) var(--fs-xs) var(--font-mono);color:var(--ink);min-width:3.2ch;text-align:right}.sb-snaps,.sb-step{display:inline-flex;gap:2px}.sb-snaps button,.sb-step button{border:0;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink-2);height:30px;min-width:38px;padding:0 var(--s-2);border-radius:var(--r-sm);font:var(--fw-medium) var(--fs-xs) var(--font-mono);cursor:pointer}.sb-snaps button:hover,.sb-step button:hover{color:var(--ink)}.sb-step button.on{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.sb-pad{display:grid;grid-template-areas:". u ." "l . r" ". d .";grid-template-columns:40px 18px 40px;grid-template-rows:36px 8px 36px;gap:2px;justify-items:center}.sb-pad button{width:40px;height:36px;border:0;border-radius:var(--r-md);background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer}.sb-pad button:hover{color:var(--ink);background:var(--surface-3)}.sb-pad .u{grid-area:u}.sb-pad .l{grid-area:l}.sb-pad .r{grid-area:r}.sb-pad .d{grid-area:d}.ps-2d .selbar svg,.selbar svg{width:16px;height:16px;flex:none}.iv-look.assumed{color:var(--ink-3);font-style:italic}@media (max-width: 760px){.sb-b span{display:none}.sb-b{min-width:44px}.sb-dial input{width:120px}}.ar{margin:0 0 var(--s-4, var(--s-4))}.ar-room,.ps-ar{display:flex;align-items:center;gap:var(--s-1) 10px;flex-wrap:wrap;min-height:30px}.ar-room{margin:6px 0 2px}.ps-ar{margin:10px 0 0}.ps-ar:empty{display:none}.ar-go{text-decoration:none;display:inline-flex;align-items:center;gap:7px}.ar-go .ar-ico{width:16px;height:16px;flex:none}.ar-go.sm .ar-ico{width:13px;height:13px}:root[data-theme=light] .ar-go:not(.primary) .ar-ico{filter:invert(1)}.ar-size{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.ar-wait,.ar-err{font-size:var(--fs-xs);color:var(--ink-3)}.ar-err{color:var(--warn)}.ar-row{display:inline-flex;gap:2px;padding-right:var(--s-1);flex:none}.ar-row .btn{height:24px;padding:0 var(--s-2);font-size:var(--fs-2xs)}.ar-row .ar-wait{padding:0 6px}
