body.tr-open{overflow:hidden}.tr-shell{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;background:var(--ground);color:var(--ink)}.tr-head{display:flex;align-items:center;gap:var(--s-3) var(--s-4);flex-wrap:wrap;padding:var(--s-3) var(--s-6);background:var(--surface-1);border-bottom:1px solid var(--line)}.tr-head .t{flex:1;min-width:220px}.tr-head h1{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:var(--lh-tight)}.tr-head h1 span{color:var(--ink-3);font-weight:var(--fw-medium)}.tr-head p{margin:var(--s-1) 0 0;color:var(--ink-3);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) 6px;font-variant-numeric:tabular-nums}.tr-head p b{color:var(--ink);font-weight:var(--fw-semibold)}.tr-head .actions{display:flex;gap:var(--s-2);align-items:center}.tr-head,.tr-steps{flex:none}.tr-steps{padding:var(--s-3) var(--s-6) 0;overflow-x:auto;scrollbar-width:none}.tr-steps::-webkit-scrollbar{display:none}.tr-steps ol{display:flex;gap:2px;margin:0;padding:3px;list-style:none;width:max-content;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.tr-steps button{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 var(--s-3) 0 6px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast)}.tr-steps button b{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);background:var(--surface-3);color:var(--ink-3);font-variant-numeric:tabular-nums}.tr-steps button:hover:not(:disabled){color:var(--ink)}.tr-steps button.on{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.tr-steps button.on b{background:var(--accent);color:var(--accent-ink)}.tr-steps button.done b{background:var(--accent-soft);color:var(--accent)}.tr-steps button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.tr-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:var(--s-4);padding:var(--s-3) var(--s-6) var(--s-5)}.tr-stage{position:relative;min-width:0;min-height:0;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-1);overflow:hidden}#trSvg{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.tr-stage[data-tool=select] #trSvg{cursor:default}.tr-stage[data-tool=pan] #trSvg,.tr-stage.panning #trSvg{cursor:grab}.tr-stage[data-tool=pan] #trSvg:active,.tr-stage.panning #trSvg:active{cursor:grabbing}#trSvg *{vector-effect:non-scaling-stroke}#trSvg.has-img .p2-room{fill-opacity:.34}#trSvg.has-img .p2-grids{display:none}#trSvg.has-img .p2-walls polygon{fill:color-mix(in srgb,var(--accent) 55%,transparent)}#trSvg.has-img .p2-fx polygon{fill-opacity:.6}.tr-img{image-rendering:auto}.tr-tools{top:10px;left:10px;display:flex;gap:2px;padding:3px;border-radius:var(--r-md);max-width:calc(100% - 140px);overflow-x:auto;scrollbar-width:none}.tr-tools button,.tr-zoom button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast)}.tr-tools button svg,.tr-zoom button svg{width:15px;height:15px;flex:none}.tr-tools button:hover:not(:disabled),.tr-zoom button:hover{color:var(--ink)}.tr-tools button.on{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent-line)}.tr-tools button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.tr-tools button:not(.on) span{display:none}.tr-zoom{top:10px;right:10px;display:flex;flex-direction:column;gap:2px;padding:3px;border-radius:var(--r-md)}.tr-zoom button{width:30px;padding:0;justify-content:center}.tr-hud{right:auto;max-width:62%}.tr-hint{position:absolute;right:12px;bottom:14px;max-width:40%;text-align:right;font-size:var(--fs-2xs);line-height:1.45;color:var(--ink-3);pointer-events:none;text-shadow:0 0 6px var(--surface-1)}.tr-drop{position:absolute;inset:10px;z-index:6;display:grid;place-items:center;border:1.5px dashed var(--accent-line);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--ink);font-weight:var(--fw-semibold);pointer-events:none}.tr-drop[hidden]{display:none}.tr-room{cursor:pointer;transition:fill var(--t-fast)}.tr-room:hover{fill:color-mix(in srgb,var(--accent) 7%,var(--surface-2))}.tr-room.sel{fill:color-mix(in srgb,var(--accent) 11%,var(--surface-2))}.tr-shell .p2-walls polygon{fill:color-mix(in srgb,var(--ink) 80%,transparent)}.tr-hit{stroke:transparent;stroke-width:16px;cursor:grab}.tr-hit-fx{cursor:pointer}.tr-label text{font-family:var(--font-sans);font-weight:var(--fw-semibold);fill:var(--ink);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:color-mix(in srgb,var(--surface-1) 70%,transparent);stroke-width:3px;stroke-linejoin:round}.tr-chip{display:none}#trSvg.has-img .tr-chip{display:inline;fill:var(--surface-1);opacity:.86;stroke:var(--line-strong);stroke-width:1px}#trSvg.has-img .tr-label text{stroke:none}.tr-label text.a{font-family:var(--font-mono);font-weight:var(--fw-medium);fill:var(--ink-3);font-variant-numeric:tabular-nums}.tr-fxl{font-family:var(--font-sans);font-weight:var(--fw-medium);fill:var(--ink-3);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.tr-sel-room{fill:none;stroke:var(--accent);stroke-width:2px;pointer-events:none}.tr-sel-line{stroke:var(--accent);stroke-width:5px;stroke-linecap:round;pointer-events:none;opacity:.85}.tr-vtx{fill:var(--surface-1);stroke:var(--accent);stroke-width:2px;cursor:move}.tr-vtx:hover{fill:var(--accent)}.tr-vtx.first{fill:var(--accent-soft);stroke-width:2.5px}.tr-mid{fill:var(--accent);stroke:var(--surface-1);stroke-width:1.5px;opacity:.55;cursor:copy}.tr-mid:hover{opacity:1}.tr-dot{fill:var(--ink-3);pointer-events:none}.tr-draft{fill:none;stroke:var(--accent);stroke-width:2px;pointer-events:none}.tr-draft.close{stroke-dasharray:4 4;opacity:.55}.tr-draft.fill{fill:var(--accent-soft)}.tr-snap{fill:none;stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.tr-snap.v{stroke-width:2.5px}.tr-snap.e,.tr-snap.al{stroke-dasharray:2 2}.tr-snap.f{stroke:var(--ink-3)}.tr-dim{font-family:var(--font-sans);font-weight:var(--fw-semibold);fill:var(--ink);text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:color-mix(in srgb,var(--surface-1) 82%,transparent);stroke-width:4px;stroke-linejoin:round;font-variant-numeric:tabular-nums}.tr-dimline line{stroke:var(--accent);stroke-width:2px}.tr-dimline circle{fill:var(--accent)}.tr-dimline.draft line{stroke-dasharray:5 4}.tr-dimline.check line{stroke:var(--ink-2)}.tr-dimline.check circle{fill:var(--ink-2)}.tr-dimline.check.high line{stroke:var(--good)}.tr-dimline.check.high circle{fill:var(--good)}.tr-dimline.check.medium line{stroke:var(--warn)}.tr-dimline.check.medium circle{fill:var(--warn)}.tr-dimline.check.low line{stroke:var(--bad)}.tr-dimline.check.low circle{fill:var(--bad)}.tr-anchor{fill:var(--accent);stroke:var(--surface-1);stroke-width:1.5px;pointer-events:none}.tr-wall-hi{stroke:var(--accent);stroke-width:6px;stroke-linecap:round;opacity:.45;pointer-events:none}.tr-wall-hi.on{opacity:.9}.tr-wall-hi.bad{stroke:var(--bad)}.tr-ghost{stroke:var(--accent);stroke-width:7px;stroke-linecap:butt;pointer-events:none}.tr-end circle{fill:var(--surface-1);stroke:var(--ink-3);stroke-width:1.5px}.tr-end text{font-family:var(--font-sans);font-weight:var(--fw-semibold);fill:var(--ink-2);text-anchor:middle;dominant-baseline:central;pointer-events:none}.tr-end.on circle{fill:var(--accent);stroke:var(--accent)}.tr-end.on text{fill:var(--accent-ink)}.tr-north{stroke:var(--accent);stroke-width:2.5px;pointer-events:none}.tr-north-head{fill:var(--accent)}.tr-side{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-3);padding-bottom:var(--s-4);scrollbar-width:thin}.tr-side .panel{padding:var(--s-4)}.tr-side .panel>h3{margin-bottom:var(--s-3)}.tr-side .field+.field,.tr-side .field+.row,.tr-side .row+.field{margin-top:var(--s-3)}.tr-side .row{flex-wrap:nowrap;gap:var(--s-3)}.tr-side .row .field{flex:1 1 0}.tr-side .row>.btn{flex:none}.tr-side .field>label span,.tr-side .field>.lbl span{color:var(--ink-4)}.tr-note{margin:0 0 var(--s-3);color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-body)}.tr-side .panel>.tr-note:last-child,.tr-side .tr-selfoot .tr-note{margin-bottom:0}.tr-file{display:grid;gap:var(--s-3);justify-items:start}.tr-file .tr-note{margin:0}.tr-imgmeta{display:flex;justify-content:space-between;gap:var(--s-3);margin:var(--s-3) 0;padding:var(--s-2) 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-xs)}.tr-imgmeta span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-shell .mono{font-variant-numeric:tabular-nums}.tr-pages{align-items:center;margin-bottom:var(--s-3)}.tr-pages .mono{flex:1;text-align:center;font-size:var(--fs-xs);color:var(--ink-2)}.tr-howto{margin:0;padding-left:18px;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.6}.tr-howto li+li{margin-top:var(--s-1)}.tr-metrics{margin-top:var(--s-3);grid-template-columns:repeat(3,minmax(0,1fr))}.tr-side .metrics .v{font-size:var(--fs-lg)}.tr-conf.high{color:var(--good)}.tr-conf.medium{color:var(--warn)}.tr-conf.low{color:var(--bad)}.tr-compass{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-3)}.tr-compass .tr-note{margin:var(--s-1) 0 0}.tr-big{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.tr-big span{color:var(--ink-3);font-weight:var(--fw-medium);font-size:var(--fs-lg)}.tr-rose{width:76px;height:76px;flex:none}.tr-rose .ring{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1px}.tr-rose .tk{stroke:var(--ink-4);stroke-width:1.2px}.tr-rose .n{fill:var(--accent)}.tr-rose .nl{font:var(--fw-bold) 7px var(--font-sans);fill:var(--ink);text-anchor:middle}.tr-rose .q{font:var(--fw-semibold) 16px var(--font-sans);fill:var(--ink-3);text-anchor:middle}.tr-rose .up{font:var(--fw-semibold) 5.5px var(--font-sans);fill:var(--ink-3);text-anchor:middle;letter-spacing:.06em;text-transform:uppercase}.tr-kinds{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-3)}.tr-kinds+.row{margin-top:var(--s-3)}.tr-kinds .chip{height:26px;padding:0 10px;font-size:var(--fs-xs)}.tr-check{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer}.tr-check input{accent-color:var(--accent);width:15px;height:15px;margin:0}.tr-selp{border-color:var(--accent-line)}.tr-selfoot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line)}.tr-selfoot .tr-note{font-size:var(--fs-xs)}.tr-del{color:var(--bad);flex:none}.tr-del:hover{color:var(--bad);background:var(--bad-soft)}.tr-list table{width:100%}.tr-list tr{cursor:pointer}.tr-list tr.on td{background:var(--accent-soft)}.tr-list td.k{color:var(--ink-3);font-size:var(--fs-xs)}.tr-list td.n{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}.tr-list .tr-note{margin:var(--s-3) 0 0;font-size:var(--fs-xs)}.tr-link{border:0;background:none;padding:0;color:var(--ink);font:inherit;font-weight:var(--fw-medium);cursor:pointer;text-align:left}.tr-link:hover{color:var(--accent)}.tr-nav{display:flex;justify-content:space-between;gap:var(--s-2)}.tr-issues{list-style:none;margin:var(--s-3) 0 0;padding:0;display:grid;gap:var(--s-2)}.tr-issues li{display:flex;gap:var(--s-2);align-items:baseline;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.45}.tr-issues .pill{flex:none}.tr-prov{display:grid;grid-template-columns:max-content 1fr;gap:6px var(--s-3);margin:0 0 var(--s-3);font-size:var(--fs-sm)}.tr-prov dt{color:var(--ink-3)}.tr-prov dd{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}.tr-actions{display:grid;gap:var(--s-2)}.tr-actions .btn{justify-content:flex-start}.tr-actions .btn .mono{margin-left:auto;color:var(--ink-3);font-size:var(--fs-2xs)}.tr-actions .btn.primary{justify-content:center}.tr-actions .tr-note{margin:var(--s-2) 0 0}#trNewBtn svg,#trEditBtn svg{width:15px;height:15px}@media (max-width: 1100px){.tr-body{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width: 760px){.tr-shell{overflow-y:auto}.tr-head{padding:var(--s-3) var(--s-4)}.tr-head .actions .btn span{display:none}.tr-steps{padding:var(--s-3) var(--s-4) 0}.tr-body{display:flex;flex-direction:column;flex:none;padding:var(--s-3) var(--s-4) var(--s-6)}.tr-stage{height:58vh;min-height:320px;flex:none}.tr-side{overflow:visible}.tr-hint{display:none}.tr-tools{max-width:calc(100% - 64px)}.tr-side .row{flex-wrap:wrap}#trNewBtn span,#trEditBtn span{display:none}#trEditBtn{background:var(--surface-2);border-color:var(--line);color:var(--ink)}}#view-records .view-pad{overflow-x:clip}.rec{--rec-top: 64px;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:var(--s-6);min-width:0}.rec .num,.rec .mono{font-variant-numeric:tabular-nums}.rec a{color:var(--accent);text-decoration:none}.rec a:hover{text-decoration:underline;text-underline-offset:2px}.rec a.btn{color:var(--ink);text-decoration:none}.rec a.btn.primary{color:var(--accent-ink)}.rec small{display:block;color:var(--ink-3);font-size:var(--fs-2xs);line-height:1.35;margin-top:2px}.rec-skel{display:grid;gap:var(--s-4)}.rec-print-h{display:none;margin:0;font:var(--fw-medium) var(--fs-xs) var(--font-mono);color:var(--ink-3)}.rec-bar{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;margin-top:calc(-1 * var(--s-2));isolation:isolate}.rec-bar:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translate(-50%);background:color-mix(in srgb,var(--ground) 96%,transparent);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border-bottom:1px solid var(--line)}.rec-pick{position:relative;flex:none}.rec-pick-btn{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 var(--s-3) 0 14px;min-width:250px;max-width:min(420px,100%);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer;text-align:left;transition:border-color var(--t-fast),background var(--t-fast)}.rec-pick-btn:hover{background:var(--surface-hover)}.rec-pick-btn[aria-expanded=true]{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.rec-pick-btn .k{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.rec-pick-btn .v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.rec-pick-btn svg{color:var(--ink-3);flex:none}.rec-pop{position:absolute;z-index:20;left:0;top:calc(100% + 6px);width:min(360px,calc(100vw - 32px));background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:var(--s-2)}.rec-pop[hidden]{display:none}.rec-pop input{width:100%;height:34px}.rec-pop ul{list-style:none;margin:var(--s-2) 0 0;padding:0;max-height:min(340px,52vh);overflow-y:auto}.rec-pop li button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 10px;border:0;border-radius:var(--r-sm);background:none;text-align:left;cursor:pointer}.rec-pop li.act button,.rec-pop li button:hover{background:var(--surface-3)}.rec-pop li[aria-selected=true] .b{color:var(--accent)}.rec-pop .b{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.rec-pop .b i{font-style:normal;font-weight:var(--fw-medium);color:var(--ink-3);margin-left:6px}.rec-pop li small{margin:0}.rec-nomatch{padding:10px;color:var(--ink-3);font-size:var(--fs-sm)}.rec-nav{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none}.rec-nav button{border:0;background:none;height:30px;padding:0 11px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink-3);cursor:pointer;white-space:nowrap}.rec-nav button:hover{color:var(--ink);background:var(--surface-2)}.rec-head{padding:var(--s-6);background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--surface-1) 70%,var(--ground)))}.rec-banner{display:flex;gap:10px;align-items:flex-start;padding:10px var(--s-3);margin-bottom:var(--s-4);border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:var(--fs-sm);color:var(--ink-2)}.rec-banner svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--accent)}.rec-head-grid{display:flex;justify-content:space-between;gap:var(--s-6);align-items:flex-start;flex-wrap:wrap}.rec-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.rec-title h1{margin:6px 0 var(--s-1);font-size:var(--fs-3xl);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:-.025em}.rec-title h1 span{color:var(--ink-3);font-weight:var(--fw-medium)}.rec-title p{margin:0;color:var(--ink-2);font-size:var(--fs-md)}.rec-scores{display:flex;gap:var(--s-6)}.rec-score{display:flex;align-items:center;gap:var(--s-3)}.rec-score>div:not(.ring) b{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.rec-score>div:not(.ring) span{font-size:var(--fs-xs);color:var(--ink-3)}.rec-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin:var(--s-5) 0 0}.rec-facts div{background:var(--surface-2);padding:9px var(--s-3);min-width:0}.rec-facts dt{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.rec-facts dd{margin:2px 0 0;font-size:var(--fs-sm);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.rec-reading{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-4);font-size:var(--fs-sm)}.rec-flags{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 var(--s-3);margin-top:var(--s-3)}.rec-flags .flag{margin-bottom:6px}.rec-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-5)}.rec-actions .sp{flex:1}.rec-actions .btn svg{width:14px;height:14px}.rec-empty{margin-top:var(--s-4)}.rec-empty>span{max-width:560px;line-height:1.55}.rec-empty code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-3);padding:1px 5px;border-radius:var(--r-xs);color:var(--ink-2)}.rec-empty-flags{width:100%;max-width:560px;text-align:left;margin-top:var(--s-3)}.rec-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rec-metrics .metric{padding:var(--s-3) 14px;position:relative}.rec-metrics .v{font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}.rec-metrics .t-bad .v{color:var(--bad)}.rec-metrics .t-warn .v{color:var(--warn)}.rec-metrics .t-good .v{color:var(--good)}.rec-metrics .metric.t-bad:after,.rec-metrics .metric.t-warn:after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:currentColor}.rec-metrics .t-bad{color:var(--bad)}.rec-metrics .t-warn{color:var(--warn)}.rec-metrics .metric .k,.rec-metrics .metric .s{color:var(--ink-3)}.rec-sec{min-width:0;scroll-margin-top:var(--rec-top)}#rec-summary{scroll-margin-top:var(--rec-top)}.rec-h{margin:0 0 var(--s-3);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.rec-h span{text-transform:none;letter-spacing:0;font-weight:var(--fw-regular);color:var(--ink-3)}.rec-foot{margin:var(--s-3) 0 0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5;max-width:820px}.rec-none{margin:0}.rec .panel>h3{align-items:baseline}.rec-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.rec-table th{text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:11px var(--s-4);border-bottom:1px solid var(--line-strong);background:var(--surface-2)}.rec-table td{padding:15px var(--s-4);vertical-align:top;border-bottom:1px solid var(--line);line-height:1.55}.rec-table tr:last-child td{border-bottom:0}.rec-table th:nth-child(1){width:21%}.rec-table th:nth-child(2){width:47%}.rec-table th:nth-child(3){width:32%}.rec-table td.issue{display:table-cell}.rec-table td.issue b{display:block;margin-top:7px;font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.rec-table td.issue .kind{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--ink-3)}.rec-table td.sig{color:var(--ink-2)}.rec-table tr[data-sev=bad] td:first-child{box-shadow:inset 2px 0 0 var(--bad)}.rec-table tr[data-sev=warn] td:first-child{box-shadow:inset 2px 0 0 var(--warn)}.rec-table tr[data-sev=ok] td{color:var(--ink-2)}.rec-table b.num{font-weight:var(--fw-semibold)}.rec-tl-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--s-3)}.rec-lg.fixed{display:inline-flex;align-items:center;font-size:var(--fs-xs);color:var(--ink-2);margin-right:var(--s-2)}.rec-lg .sw,.rec-tl-legend .chip .sw{margin-right:6px}.rec-tl-legend .chip{font-size:var(--fs-xs)}.rec-tl-legend .chip[disabled]{opacity:var(--disabled-opacity);cursor:not-allowed}.rec-tl-legend .chip:not(.on){opacity:.6}.rec-chart{position:relative}.rec-chart svg,.rec-hour svg{width:100%;height:auto;display:block;overflow:visible}.rec-hour{position:relative}.rec-minis{margin-top:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}.rec-minis .v{font-size:var(--fs-xl)}.rec-lt{font:var(--fw-semibold) 11px var(--font-sans);fill:var(--ink-2)}.rec-ls{font:var(--fw-regular) 10.5px var(--font-sans);fill:var(--ink-3)}.rec-ax{font:var(--fw-medium) 10px var(--font-mono);fill:var(--ink-3)}.rec-peak{font:var(--fw-semibold) 11px var(--font-sans);fill:var(--ink)}.rec-tip{position:absolute;left:0;top:0;z-index:6;pointer-events:none;min-width:160px;max-width:260px;padding:9px 11px;border-radius:var(--r-md);background:var(--overlay);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:var(--fs-xs);color:var(--ink-2);line-height:1.5;font-variant-numeric:tabular-nums}.rec-tip[hidden]{display:none}.rec-tip>b{display:block;color:var(--ink);font-size:var(--fs-sm);margin-bottom:3px}.rec-tr{display:flex;align-items:center;gap:0}.rec-tr b{margin-left:auto;padding-left:14px;color:var(--ink)}.rec-tn{display:block;margin-top:var(--s-1);color:var(--ink-3);font-size:var(--fs-2xs)}.rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s-4);margin-top:var(--s-4)}.rec-grid .panel>h3{flex-wrap:wrap}.rec-bars{list-style:none;margin:0;padding:0;display:grid;gap:10px}.rec-bars li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(56px,1fr) minmax(24px,auto);align-items:center;gap:var(--s-3);font-size:var(--fs-sm)}.rec-bars .l{min-width:0;line-height:1.3}.rec-bars .l small{margin-top:1px}.rec-bars .t{height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.rec-bars .t i{display:block;height:100%;border-radius:inherit}.rec-bars b{text-align:right;font-weight:var(--fw-semibold)}.rec-leds{display:grid;gap:var(--s-2)}.rec-led summary{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none;user-select:none}.rec-led summary::-webkit-details-marker{display:none}.rec-led summary:hover{background:var(--surface-2)}.rec-led .t{font-weight:var(--fw-semibold);font-size:var(--fs-md);letter-spacing:var(--tracking-tight)}.rec-led .sp{flex:1}.rec-src{font-size:var(--fs-xs);color:var(--ink-3)!important;display:inline-flex;align-items:center;gap:var(--s-1)}.rec-src svg{width:12px;height:12px}.rec-led .chev{color:var(--ink-3);transition:transform var(--t-base) var(--ease-out);flex:none}.rec-led[open] .chev{transform:rotate(180deg)}.rec-led-b{border-top:1px solid var(--line)}.rec-led-bar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding:10px 18px;font-size:var(--fs-xs)}.rec-led-bar:empty{display:none}.rec-scroll{max-height:460px;overflow:auto}.rec-ledger{min-width:700px}.rec-ledger th{position:sticky;top:0;z-index:1;background:var(--surface-1);padding-left:18px;box-shadow:0 1px 0 var(--line)}.rec-ledger td{padding:9px var(--s-2);vertical-align:top}.rec-ledger td:first-child,.rec-ledger th:first-child{padding-left:18px}.rec-ledger td.n,.rec-ledger th.n{text-align:right}.rec-ledger tbody tr:hover td{background:var(--surface-2)}.rec-date{white-space:nowrap;color:var(--ink-2)}.rec-id{font-size:var(--fs-2xs);color:var(--ink-3)!important;white-space:nowrap}.rec-id:hover{color:var(--accent)!important}.rec-mine{color:var(--accent)!important;font-weight:var(--fw-semibold)}.rec-note-s{margin:0;padding:10px 18px 14px;font-size:var(--fs-xs);color:var(--ink-3);border-top:1px solid var(--line);max-width:none}.rec-led[data-f=open] tr[data-closed]{display:none}.rec-led td .pill{margin-right:var(--s-1)}.rec-noteseg{margin-bottom:var(--s-3);max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.rec-noteseg button{flex:none;max-width:280px;overflow:hidden;text-overflow:ellipsis}.rec-note-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.rec-note-h h3{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.015em}.rec-note-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:var(--s-8);align-items:start}.rec-note-grid:has(.rec-toc[hidden]){grid-template-columns:minmax(0,1fr)}.rec-toc{position:sticky;top:var(--rec-top);display:grid;gap:1px;font-size:var(--fs-xs);max-height:72vh;overflow-y:auto}.rec-toc[hidden]{display:none}.rec-toc b{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.rec-toc a{color:var(--ink-3)!important;padding:5px 0 5px 10px;border-left:1px solid var(--line-strong);line-height:1.35}.rec-toc a:hover{color:var(--ink)!important;border-left-color:var(--accent);text-decoration:none!important}.rec-note .md{max-width:760px;font-size:var(--fs-md)}.rec-note .md>:first-child{margin-top:0}.rec-note .md h4{scroll-margin-top:var(--rec-top);font-size:var(--fs-lg);padding-top:var(--s-3);border-top:1px solid var(--line);margin-top:1.8em}.rec-note .md h4:first-child{border-top:0;padding-top:0}.rec-note .md h5{font-size:var(--fs-md)}.rec-note .md ul,.rec-note .md ol{padding-left:1.3em}.rec-note .md li{margin:3px 0}.rec-note .md b{color:var(--ink);font-weight:var(--fw-semibold)}.rec-note .md.long{max-height:620px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}.rec-more{grid-column:1 / -1;justify-self:start;margin-top:var(--s-3)}.rec-sources .panel p{margin:0 0 var(--s-3);max-width:820px;line-height:1.55}.rec-sources .panel p:last-child{margin-bottom:0}.rec-srcs{display:flex;flex-wrap:wrap;gap:6px 14px}@media screen and (max-width: 760px){.rec{gap:var(--s-5)}.rec-bar{position:static;flex-wrap:wrap;gap:var(--s-2);margin-top:0;padding:0}.rec-bar:before{display:none}.rec-pick{flex:1 1 100%}.rec-pick-btn{width:100%;max-width:none;min-width:0}.rec-nav{margin-left:0;flex:1 1 100%;padding-right:var(--s-6);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.rec{--rec-top: 8px}.rec-head{padding:var(--s-4)}.rec-title h1{font-size:var(--fs-2xl)}.rec-scores{gap:var(--s-4);width:100%}.rec-score{gap:10px}.rec-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rec-table thead{display:none}.rec-table,.rec-table tbody{display:block}.rec-table tr{display:block;padding:14px var(--s-4);border-bottom:1px solid var(--line)}.rec-table tr:last-child{border-bottom:0}.rec-table td{display:block;padding:var(--s-1) 0;border:0}.rec-table td:before{content:attr(data-l);display:block;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}.rec-table td.issue:before{display:none}.rec-table td.issue{padding-bottom:var(--s-2)}.rec-table tr[data-sev] td:first-child{box-shadow:none}.rec-table tr[data-sev=bad]{box-shadow:inset 3px 0 0 var(--bad)}.rec-table tr[data-sev=warn]{box-shadow:inset 3px 0 0 var(--warn)}.rec-grid{grid-template-columns:minmax(0,1fr)}.rec-note-grid{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.rec-toc{position:static;display:flex;flex-wrap:wrap;gap:6px;max-height:none}.rec-toc b{width:100%;margin:0}.rec-toc a{border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:3px 10px}.rec-led summary{padding:var(--s-3) 14px}.rec-src{display:none}.rec-led-bar,.rec-note-s{padding-left:14px;padding-right:14px}}@media print{@page{margin:14mm}:root,:root[data-theme]{color-scheme:light;--ground: #fff;--surface-1: #fff;--surface-2: #f6f6f3;--surface-3: #ecece7;--surface-hover: #ecece7;--overlay: #fff;--line: rgba(20, 24, 34, .12);--line-strong: rgba(20, 24, 34, .22);--ink: #12151c;--ink-2: #333945;--ink-3: #5b6270;--ink-4: #8a909c;--accent: #3a43d0;--accent-soft: rgba(75, 85, 230, .08);--accent-line: rgba(75, 85, 230, .3);--good: #0d7a4c;--warn: #96600a;--bad: #b83a26;--good-soft: rgba(19, 148, 94, .1);--warn-soft: rgba(183, 116, 6, .1);--bad-soft: rgba(207, 70, 48, .1);--shadow-1: none;--shadow-2: none;--shadow-3: none}html,body{height:auto!important;overflow:visible!important;display:block!important;background:#fff!important;font-size:var(--fs-sm)}.topbar,.kpis,.rail,.results,.drawer,.toast,.kbd-help,.rec-bar,.rec-noprint,.rec-actions,.rec-more,.rec-led-bar .seg,.rec-tl-legend .chip[disabled]{display:none!important}.work,.viewport{display:block!important;position:static!important;overflow:visible!important}.view{position:static!important;overflow:visible!important;animation:none!important}.view[hidden]{display:none!important}.view-pad{padding:0!important;overflow:visible!important}.rec{max-width:none;gap:14px}.rec-print-h{display:block}.rec-head{background:#fff;padding:14px 0 0;border:0;border-bottom:1px solid var(--line-strong);border-radius:0}.rec-title h1{font-size:26px}.panel{box-shadow:none;break-inside:avoid;background:#fff}.rec-sec .panel.flush,.rec-led{break-inside:auto}.rec-h{break-after:avoid}.rec-table tr,.rec-ledger tr,.rec-note .md h4{break-inside:avoid}.rec-table th,.rec-ledger th{position:static;background:#f6f6f3}.rec-tl-legend .chip{border:0;padding:0 var(--s-2) 0 0}.rec-tl-legend .chip:not(.on){display:none}.rec-scroll,.scroll{max-height:none!important;overflow:visible!important}.rec-ledger{min-width:0;font-size:var(--fs-2xs)}.rec-led summary{padding:var(--s-2) 0}.rec-led .chev,.rec-src{display:none}.rec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rec-note-grid{grid-template-columns:minmax(0,1fr)}.rec-toc{display:none}.rec-note .md.long{max-height:none;-webkit-mask-image:none;mask-image:none}.rec a{color:var(--ink)!important;text-decoration:underline}.rec-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}*{animation:none!important;transition:none!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width: 760px){.rec-nav button{height:40px}}#trImport input,.tr-cta input{display:none}.tr-ill{width:52px;height:52px;border-radius:var(--r-xl);display:grid;place-items:center;color:var(--fav);background:color-mix(in srgb,var(--fav) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fav) 30%,transparent)}.tr-ill svg{width:24px;height:24px}.tr-cta{display:flex;gap:var(--s-2);flex-wrap:wrap;justify-content:center;margin-top:6px}.tb{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:var(--s-4);align-items:start}.lane{display:flex;flex-direction:column;min-height:140px;border-radius:var(--r-lg);background:var(--surface-1);border:1px solid var(--line);transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.lane.over{border-color:var(--accent-line);background:color-mix(in srgb,var(--accent) 6%,var(--surface-1));box-shadow:0 0 0 3px var(--accent-soft)}.lane>header{display:flex;align-items:center;gap:var(--s-2);padding:10px var(--s-3) var(--s-2)}.lane>header span{flex:1;min-width:0;font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane>header i{font-style:normal;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink-3);font-variant-numeric:tabular-nums}.lt{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:var(--r-inner);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--ink-2);background:var(--surface-3)}.lt.t-S{color:var(--accent-ink);background:var(--accent)}.lt.t-A{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.lt.t-B,.lt.t-C{color:var(--ink)}.lt.t-Pass{color:var(--ink-3);background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong)}.lane-body{display:flex;flex-direction:column;gap:var(--s-2);padding:0 var(--s-2) var(--s-2);flex:1}.lane .drop{flex:1;min-height:64px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--ink-3)}.lane.pass .tc{opacity:.72}.tc{display:flex;flex-direction:column;gap:var(--s-2);padding:10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);cursor:grab;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-base) var(--ease-out),opacity var(--t-fast);animation:tcIn var(--t-slow) var(--ease-out) both}@keyframes tcIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tc:hover{border-color:var(--line-strong)}.tc.dragging{opacity:.45;transform:scale(.98)}.tc:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:1px}.tc-top{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center}.tc .th{display:block;width:48px;height:40px;border-radius:var(--r-md);overflow:hidden;background:var(--surface-3)}.tc .th img,.tc .th svg{display:block;width:100%;height:100%;object-fit:cover}.tc-t{display:flex;flex-direction:column;min-width:0}.tc-name{all:unset;cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-name .u{color:var(--ink-2);font-weight:var(--fw-medium)}.tc-name:hover{color:var(--accent)}.tc-name:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off);border-radius:var(--r-xs)}.tc-t>span{font-size:var(--fs-2xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-s{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;font-size:var(--fs-md)}.tc-meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.tc-meta>b{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--ink);letter-spacing:var(--tracking-tight)}.tc-meta .cm{display:inline-flex;align-items:center;gap:var(--s-1);margin-left:auto;color:var(--ink-2)}.tc-meta .cm b{font-weight:var(--fw-semibold);color:var(--ink)}.tc-meta .cm .u{color:var(--ink-3)}.tc-meta .walk{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.tc-warn{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--bad)}.tc-tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:2px;border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--line)}.tc-tiers button{border:0;background:none;height:24px;border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--ink-3);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.tc-tiers button:hover{color:var(--ink);background:var(--surface-3)}.tc-tiers button.on{background:var(--accent);color:var(--accent-ink)}.tc-when{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--ink-3)}.tc-when input{flex:1;height:28px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-1);color:var(--ink);font-family:inherit;font-size:var(--fs-xs);padding:0 6px;font-variant-numeric:tabular-nums;min-width:0}.tc-note{font:inherit;width:100%;min-height:48px;font-size:var(--fs-xs);background:transparent;border-color:transparent;padding:6px var(--s-2);resize:vertical;transition:background var(--t-fast),border-color var(--t-fast)}.tc-note:hover{border-color:var(--line)}.tc-note:focus{background:var(--surface-1)}.tc-note:placeholder-shown{background:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--surface-3) 60%,transparent) 6px 7px)}.tc-acts{display:flex;align-items:center;gap:2px;margin:-2px -4px -4px}.tc-acts .sp{flex:1}.lnk{border:0;background:none;padding:var(--s-1) 6px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink-3);cursor:pointer;display:inline-grid;place-items:center}.lnk:hover{color:var(--ink);background:var(--surface-3)}.lnk.rm svg{width:12px;height:12px}.lnk.rm:hover{color:var(--bad)}.tr-route{margin-bottom:var(--s-6)}.tr-ctl{margin-bottom:var(--s-4);align-items:center;font-size:var(--fs-xs)}.tr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--s-5);align-items:start}.tr-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--s-4)}.tr-sum div{background:var(--surface-2);padding:9px var(--s-3);display:flex;flex-direction:column}.tr-sum b{font-size:var(--fs-xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}.tr-sum span{font-size:var(--fs-2xs);color:var(--ink-3)}.stops{list-style:none;margin:0;padding:0}.st{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--s-3);padding:0 0 14px}.st:not(:last-child):before{content:"";position:absolute;left:12.5px;top:26px;bottom:0;border-left:2px dotted var(--line-strong)}.st .no{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--ink);color:var(--ground);font-variant-numeric:tabular-nums}.st.start .no{border-radius:var(--r-md);background:var(--surface-3);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.st .no svg{width:14px;height:14px}.st>div>b{display:block;font-weight:var(--fw-semibold);font-size:var(--fs-md);line-height:26px}.st>div>span{display:block;font-size:var(--fs-xs);color:var(--ink-3);margin-top:-4px}.leg-walk{position:absolute;left:36px;top:-16px;font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.st.has-walk{margin-top:var(--s-3)}.st-units{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.st-u{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 9px 0 var(--s-1);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-xs);cursor:pointer}.st-u:hover{border-color:var(--accent-line);color:var(--ink)}.st-u .pill{height:20px;min-width:22px;justify-content:center;padding:0 5px}.st-u b{color:var(--ink);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.st-u .when{color:var(--accent);font-weight:var(--fw-medium)}.tr-links{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-1)}.tr-links svg{width:14px;height:14px}.tr-note{font-size:var(--fs-xs);color:var(--ink-3);margin:10px 0 0;max-width:520px}.tr-map{position:sticky;top:0}.tr-map svg{display:block;width:100%;height:auto;border-radius:var(--r-lg);border:1px solid var(--line)}.tr-map .bg{fill:var(--surface-2)}.tr-map .tl{fill:none;stroke-width:2.5;stroke-opacity:.5;stroke-linecap:round;stroke-linejoin:round}.tr-map .rt{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round}.tr-map .sp rect{fill:var(--ink);stroke:var(--surface-2);stroke-width:3}.tr-map .sp text{font:var(--fw-semibold) 11px var(--font-sans);fill:var(--ink);paint-order:stroke;stroke:var(--surface-2);stroke-width:4px}.tr-map .sn{cursor:pointer}.tr-map .sn circle{fill:var(--accent);stroke:var(--surface-2);stroke-width:3;transition:r var(--t-base) var(--ease-spring)}.tr-map .sn:hover circle{r:12}.tr-map .sn text{font:var(--fw-bold) 10.5px var(--font-sans);fill:var(--accent-ink);pointer-events:none}.tr-cap{margin-top:6px;font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3)}.tr-empty{padding:var(--s-6)}.sheets-h{display:flex;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-3)}.sheets-h h2{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em}.sheets-h p{flex:1;margin:0;font-size:var(--fs-sm);color:var(--ink-3);min-width:220px}.sheet{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-3)}.sh-h{display:flex;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-3)}.sh-h>div{flex:1;min-width:0}.sh-k{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.sh-h h3{margin:2px 0 0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em}.sh-h p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.sh-units{margin-bottom:var(--s-4);font-variant-numeric:tabular-nums}.sh-units td.n,.sh-units th.n{text-align:right}.sh-units .blank{display:inline-block;width:90px;border-bottom:1px solid var(--line-strong);height:12px}.sh-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s-6)}.sheet h4{margin:0 0 var(--s-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3)}.sheet section>h4:not(:first-child){margin-top:var(--s-4)}.sheet ol{margin:0;padding-left:var(--s-5);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5}.sheet ol li{margin-bottom:5px;padding-left:2px}.sheet ol li::marker{color:var(--ink-3);font-variant-numeric:tabular-nums}.sh-open{margin:0 0 6px;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5;padding:var(--s-2) 10px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.sh-check{list-style:none;margin:0;padding:0;font-size:var(--fs-sm);color:var(--ink-2)}.sh-check li{position:relative;padding:3px 0 3px 22px}.sh-check li:before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;border-radius:var(--r-xs);border:1.5px solid var(--ink-4)}.sh-lines{margin-top:var(--s-4)}.sh-lines i{display:block;height:26px;border-bottom:1px solid var(--line-strong)}.sh-h .btn svg{width:14px;height:14px}@media (max-width: 1400px){.tb{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1000px){.tr-grid,.sh-cols{grid-template-columns:minmax(0,1fr)}.tr-map{position:static;order:-1}}@media (max-width: 760px){.tb{grid-template-columns:minmax(0,1fr)}.lane.is-empty{min-height:0}.lane.is-empty .lane-body{display:none}.sheet{padding:var(--s-4)}.sh-units{display:block;overflow-x:auto}#view-tours .page-h .actions{width:100%}}@media print{@page{margin:14mm}body[data-view=tours]{display:block;height:auto;overflow:visible;background:#fff}body[data-view=tours] .topbar,body[data-view=tours] .kpis,body[data-view=tours] .rail,body[data-view=tours] .results,body[data-view=tours] .drawer,body[data-view=tours] .toast,body[data-view=tours] .view:not(#view-tours),#view-tours .no-print,#view-tours .page-h,#view-tours .tb,#view-tours .tr-route,#view-tours .sheets-h{display:none!important}body[data-view=tours] .work,body[data-view=tours] .viewport{display:block;position:static;overflow:visible;height:auto}#view-tours{position:static;overflow:visible;animation:none;color:#000;--ink: black;--ink-2: #222;--ink-3: #555;--ink-4: #999;--line: #ccc;--line-strong: #999;--surface-1: white;--surface-2: white;--surface-3: #eee}#view-tours .view-pad{padding:0}#view-tours .sheet{border:0;padding:0;margin:0;break-after:page;break-inside:auto}#view-tours .sheet:last-child{break-after:auto}body.tr-printing #view-tours .sheet:not(.print-me){display:none}#view-tours .sh-open{border-color:#ccc}}@media (max-width: 760px){.tc-when input{height:40px}}.rs{max-width:1680px;margin:0 auto}.rs-built{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.rs-sub{margin:0 0 var(--s-3);font-size:var(--fs-xs);color:var(--ink-3)}.rs-sub b{color:var(--ink-2);font-weight:var(--fw-semibold)}.rs-small{font-size:var(--fs-xs);margin:6px 0 0}.rs .sp{flex:1}.rs .chip[disabled]{opacity:var(--disabled-opacity);cursor:not-allowed}.rs .chip:disabled:hover{border-color:var(--line);color:var(--ink-2)}.rs-cov{padding:var(--s-4) var(--s-5) var(--s-3);margin-bottom:var(--s-4)}.rs-cov-top{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.6fr);gap:var(--s-5);align-items:stretch}.rs-meter{display:flex;flex-direction:column;justify-content:center;min-width:0}.rs-meter .label{margin-bottom:6px}.rs-meter-v{display:flex;align-items:baseline;gap:var(--s-3)}.rs-meter-v>b{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.rs-meter-v>b small{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--ink-2);margin-left:1px}.rs-meter-v span{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.4}.rs-meter-v span b{color:var(--ink);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.rs-bar{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;margin-top:var(--s-3)}.rs-bar i{display:block;height:100%;border-radius:var(--r-xs);background:var(--good)}.rs-m{grid-template-columns:repeat(4,minmax(0,1fr))}.rs-m .metric .k{display:flex;align-items:center;gap:6px}.rs-m .metric.warn .k:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warn);flex:none}.rs-more{margin-top:var(--s-3);border-top:1px solid var(--line)}.rs-more summary{display:flex;align-items:center;gap:var(--s-2);padding:10px 0 var(--s-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-2);cursor:pointer;list-style:none}.rs-more summary::-webkit-details-marker{display:none}.rs-more summary:hover{color:var(--ink)}.rs-more summary svg{width:14px;height:14px;transition:transform var(--t-base) var(--ease-out)}.rs-more[open] summary svg{transform:rotate(90deg)}.rs-more summary .faint{font-weight:var(--fw-regular);font-size:var(--fs-xs)}.rs-more-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-6);padding:var(--s-3) 0 var(--s-2)}.rs-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2) var(--s-5);align-content:start}.rs-fact{display:grid;grid-template-columns:112px minmax(0,1fr) 36px;gap:10px;align-items:center;font-size:var(--fs-xs);color:var(--ink-2)}.rs-fact span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-fbar{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}.rs-fbar i{display:block;height:100%;background:var(--ink-3);border-radius:var(--r-xs)}.rs-fact b{text-align:right;font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.rs-src table.mini td.n,.rs-src table.mini th.n{text-align:right;font-variant-numeric:tabular-nums}.rs-src td{font-variant-numeric:tabular-nums}.rs-src td.rs-stale{color:var(--warn)}.rs-census{margin:var(--s-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.rs-census b{color:var(--ink-2);font-weight:var(--fw-semibold)}.rs-tabs{display:flex;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);margin-bottom:var(--s-4);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.rs-tabs::-webkit-scrollbar{display:none}.rs-tabs button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;height:32px;padding:0 var(--s-3);border-radius:var(--r-inner);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast)}.rs-tabs button svg{width:15px;height:15px;opacity:.75}.rs-tabs button i{font-style:normal;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--ink-3);font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:var(--r-pill);background:var(--surface-3)}.rs-tabs button:hover{color:var(--ink)}.rs-tabs button.on{background:var(--surface-3);color:var(--ink);box-shadow:var(--shadow-1)}.rs-tabs button.on svg{opacity:1}.rs-tabs button.on i{background:var(--surface-1);color:var(--ink-2)}.rs-panel{animation:rise var(--t-slow) var(--ease-out) both}.rs-bar-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2) var(--s-3);margin-bottom:var(--s-3)}.rs-bar-row .chips{gap:6px}.rs-more-btn{display:flex;margin:var(--s-4) auto 0}.rs-ill{width:52px;height:52px;border-radius:var(--r-xl);display:grid;place-items:center;color:var(--ink-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.rs-ill svg{width:24px;height:24px}.rs-cmd{font:var(--fw-medium) var(--fs-xs) var(--font-mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-1) 10px;margin-top:var(--s-1)}.rs-notice{margin-bottom:var(--s-3);padding:var(--s-3) var(--s-4)}.rs-notice .mono{color:var(--ink-2)}.rq-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.rq{display:grid;grid-template-columns:28px 64px minmax(200px,1.1fr) minmax(0,1.5fr) 104px 36px 128px;grid-template-areas:"n th main gaps imp score act" "qs qs qs qs qs qs qs";gap:0 var(--s-4);align-items:center;padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);cursor:pointer;transition:background var(--t-fast)}.rq:first-child{border-top:0}.rq:hover{background:var(--surface-2)}.rq-n{grid-area:n;font:var(--fw-semibold) var(--fs-xs)/1 var(--font-mono);color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.rq-th{grid-area:th;width:64px;height:48px;border-radius:var(--r-sm);overflow:hidden;background:var(--surface-3)}.rq-th img,.rq-th svg{width:100%;height:100%;object-fit:cover;display:block}.rq-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:var(--s-1)}.rq-t{display:flex;align-items:center;gap:6px;min-width:0}.rq-open{all:unset;cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em;border-radius:var(--r-xs)}.rq-open span{color:var(--ink-2);font-weight:var(--fw-medium)}.rq-open:hover{color:var(--accent)}.rq-open:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off)}.rq-star{color:var(--fav);display:inline-grid;flex:none}.rq-star svg{width:13px;height:13px}.rq-s{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden}.rq-s b{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.rq-s .pill{height:18px;text-transform:capitalize}.rq-gaps{grid-area:gaps;min-width:0;display:flex;flex-direction:column;gap:6px}.rq-chips{display:flex;flex-wrap:wrap;gap:var(--s-1)}.rs-gap{display:inline-flex;align-items:center;height:21px;padding:0 var(--s-2);border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--ink-2);background:var(--surface-2);border:1px dashed var(--line-strong);white-space:nowrap}.rs-gap.stale{border-style:solid;color:var(--warn);background:var(--warn-soft);border-color:transparent}.rq-done{font-size:var(--fs-xs);color:var(--good)}.rq-lint{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.rq-lint li{display:flex;align-items:baseline;gap:7px;font-size:var(--fs-xs);color:var(--ink-2);min-width:0}.rq-lint li.more{color:var(--ink-3);padding-left:2px}.rq-lint .sev{flex:none;font-size:9.5px;font-weight:var(--fw-bold);letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:var(--r-xs)}.rq-lint .sev-high .sev{color:var(--bad);background:var(--bad-soft)}.rq-lint .sev-med .sev{color:var(--warn);background:var(--warn-soft)}.rq-lint .sev-low .sev{color:var(--ink-3);background:var(--surface-3)}.rq-imp{grid-area:imp;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 6px}.rq-imp b{font-size:var(--fs-lg);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}.rq-imp span{font-size:var(--fs-2xs);color:var(--ink-3);white-space:nowrap}.rq-ibar{grid-column:1 / -1;display:block;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.rq-ibar i{display:block;height:100%;border-radius:2px;background:var(--ink-3)}.rq-score{grid-area:score;font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-align:right;font-variant-numeric:tabular-nums}.rq-act{grid-area:act;display:flex;justify-content:flex-end}.rq-qbtn svg{transition:transform var(--t-base) var(--ease-out)}.rq-qbtn[aria-expanded=true] svg{transform:rotate(90deg)}.rq-qbtn .n{font-size:var(--fs-2xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.rq-noq{font-size:var(--fs-xs)}.rq-qs{grid-area:qs;margin:var(--s-3) 0 2px calc(28px + 64px + 2 * var(--s-4));padding:var(--s-3) 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);cursor:auto;display:flex;gap:var(--s-4);align-items:flex-start}.rq-qs[hidden]{display:none}.rq-qs ol{margin:0;padding-left:18px;flex:1;display:flex;flex-direction:column;gap:5px;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.45}.rq-qs ol li::marker{color:var(--ink-3);font-variant-numeric:tabular-nums}.rq.saved .rq-n{color:var(--fav)}.rs-trend{margin-bottom:var(--s-4);padding:var(--s-3) var(--s-4)}.rs-trend-h{display:flex;align-items:flex-end;gap:var(--s-3);margin-bottom:6px}.rs-trend-h>div{flex:1;min-width:0}.rs-trend-h .label{margin-bottom:2px}.rs-trend-h b{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.rs-trend-h .faint{font-size:var(--fs-xs)}.rs-trend-n{font-size:var(--fs-xs);white-space:nowrap}.rs-trend-svg{display:block;width:100%;height:56px}.rs-trend-svg .l{fill:none;stroke:var(--ink-2);stroke-width:1.5}.rs-trend-svg .a{fill:color-mix(in srgb,var(--ink-2) 9%,transparent)}.chip .rs-cdot{width:7px;height:7px;border-radius:50%;background:var(--ink-3)}.chip.ev-new .rs-cdot{background:var(--good)}.chip.ev-price .rs-cdot{background:linear-gradient(90deg,var(--good) 50%,var(--bad) 50%)}.chip.ev-gone .rs-cdot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.chip.ev-relist .rs-cdot{background:var(--warn)}.chip.ev-concession .rs-cdot{background:var(--good);box-shadow:0 0 0 2px var(--good-soft)}.chip.ev-claim .rs-cdot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-2);border-radius:2px}.rs-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s-4);align-items:start}.rs-timeline{min-width:0}.rs-day{margin-bottom:var(--s-4)}.rs-day h3{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;gap:10px;margin:0;padding:var(--s-2) 0 var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);background:var(--ground)}.rs-day h3 span{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--ink-3)}.rs-evs{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.rs-ev{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:11px var(--s-4) 11px 14px;border-top:1px solid var(--line)}.rs-ev:first-child{border-top:0}.rs-dot{width:9px;height:9px;border-radius:50%;background:var(--ink-3);justify-self:center}.t-new .rs-dot,.t-down .rs-dot,.t-concession .rs-dot{background:var(--good)}.t-concession .rs-dot{box-shadow:0 0 0 3px var(--good-soft)}.t-up .rs-dot{background:var(--bad)}.t-gone .rs-dot{background:transparent;box-shadow:inset 0 0 0 2px var(--ink-3)}.t-relist .rs-dot{background:var(--warn)}.t-status .rs-dot{background:var(--ink-2)}.t-claim .rs-dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-2);border-radius:2px}.rs-ev-b{min-width:0;display:flex;flex-direction:column;gap:var(--s-1)}.rs-ev-h{display:flex;align-items:baseline;gap:var(--s-2);min-width:0;white-space:nowrap}.rs-type{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);min-width:72px}.t-new .rs-type,.t-down .rs-type,.t-concession .rs-type{color:var(--good)}.t-up .rs-type{color:var(--bad)}.t-relist .rs-type{color:var(--warn)}.rs-ev-t{all:unset;cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;border-radius:var(--r-xs);min-width:0}.rs-ev-t span{color:var(--ink-2);font-weight:var(--fw-medium)}button.rs-ev-t:hover{color:var(--accent)}button.rs-ev-t:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off)}.rs-ev-n{font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis}.rs-ev-d{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:var(--fs-xs);color:var(--ink-3);padding-left:80px}.rs-diff{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 var(--s-2);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.rs-diff em{font-style:normal;color:var(--ink-3);text-transform:capitalize}.rs-diff s{color:var(--ink-3);text-decoration-color:color-mix(in srgb,var(--ink-3) 60%,transparent)}.rs-diff b{color:var(--ink);font-weight:var(--fw-semibold);text-transform:capitalize}.rs-diff .arr{color:var(--ink-3)}.rs-delta{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.rs-delta.down{color:var(--good)}.rs-delta.up{color:var(--bad)}.rs-src{white-space:nowrap}.rs-note{font-size:var(--fs-xs);color:var(--ink-2);padding-left:80px}.rs-ev-s{min-width:84px;display:flex;justify-content:flex-end}.rs-spark{display:block;overflow:visible}.rs-spark .l{fill:none;stroke:var(--ink-2);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.rs-spark .a{fill:color-mix(in srgb,var(--ink-2) 8%,transparent)}.rs-spark .p{fill:var(--ink-2)}.rs-spark.down .l{stroke:var(--good)}.rs-spark.down .p{fill:var(--good)}.rs-spark.down .a{fill:var(--good-soft)}.rs-spark.up .l{stroke:var(--bad)}.rs-spark.up .p{fill:var(--bad)}.rs-spark.up .a{fill:var(--bad-soft)}.rs-moves{position:sticky;top:8px;padding:var(--s-4) var(--s-3) var(--s-2)}.rs-moves>h3{padding:0 var(--s-2)}.rs-moves ul{list-style:none;margin:0;padding:0;max-height:640px;overflow-y:auto}.rs-mv{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 88px 78px;gap:10px;align-items:center;padding:var(--s-2) var(--s-2);border-radius:var(--r-md);cursor:pointer}.rs-mv:hover{background:var(--surface-2)}.rs-mv:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:-2px}.rs-mv-t{display:flex;flex-direction:column;min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.rs-mv-t,.rs-mv-t .faint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-mv-t .faint{font-size:var(--fs-2xs);font-weight:var(--fw-regular)}.rs-mv-v{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--fs-2xs)}.rs-mv-v b{font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.rs-gone-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-4);margin-bottom:var(--s-4)}.rs-lesson{display:flex;flex-direction:column;justify-content:center}.rs-lesson-t{margin:var(--s-1) 0 var(--s-2);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:var(--lh-tight)}.rs-lesson-t b{font-size:var(--fs-4xl);font-weight:var(--fw-semibold);letter-spacing:-.035em;color:var(--tier-1);font-variant-numeric:tabular-nums;white-space:nowrap}.rs-lesson-s{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55;max-width:560px}.rs-hist{display:flex;align-items:flex-end;gap:var(--s-2);height:150px;padding-top:var(--s-1)}.rs-hb{flex:1;height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:5px;min-width:0}.rs-hn{text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink-2);min-height:16px}.rs-hcol{position:relative;border-radius:var(--r-xs) var(--r-xs) 2px 2px;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line);min-height:2px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.rs-hcol i{display:block;background:var(--tier-1);opacity:.85}.rs-ht{text-align:center;font:var(--fw-medium) var(--fs-2xs) var(--font-mono);color:var(--ink-3);white-space:nowrap}.gf-head,.gf-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(100px,.9fr) 132px minmax(160px,1.2fr) 88px 110px;gap:var(--s-3);align-items:center;padding:9px var(--s-4)}.gf-head{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line-strong)}.gf-list{list-style:none;margin:0;padding:0}.gf-row{border-top:1px solid var(--line);font-size:var(--fs-sm)}.gf-row:first-child{border-top:0}.gf-row:hover{background:var(--surface-2)}.gf-t{all:unset;cursor:pointer;font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--r-xs)}.gf-t span{color:var(--ink-2);font-weight:var(--fw-medium)}button.gf-t:hover{color:var(--accent)}button.gf-t:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off)}.gf-n{font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gf-dates{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}.gf-days{display:grid;grid-template-columns:minmax(0,1fr) 26px auto;gap:var(--s-2);align-items:center;font-size:var(--fs-xs)}.gf-days b{text-align:right;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.gf-bar{display:block;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.gf-bar i{display:block;height:100%;border-radius:var(--r-xs);background:var(--ink-3)}.gf-p{text-align:right}.gf-p b{font-weight:var(--fw-semibold)}.wl-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s-4);align-items:start}.wl-map{position:sticky;top:8px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--surface-1)}.wl-map svg{display:block;width:100%;height:auto;aspect-ratio:600 / 440}.wl-nomap{display:grid;place-items:center;aspect-ratio:600 / 440;font-size:var(--fs-sm)}.wl-bg{fill:var(--surface-1)}.wl-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.wl-stn{fill:var(--surface-1);stroke:var(--ink-3);stroke-width:1}.wl-home{fill:var(--ink-4);opacity:.7}.wl-pin{cursor:pointer;outline:none}.wl-pin circle{fill:var(--surface-1);stroke-width:2.5;transition:r var(--t-fast),fill var(--t-fast)}.wl-pin.good circle{stroke:var(--good)}.wl-pin.warn circle{stroke:var(--warn)}.wl-pin.bad circle{stroke:var(--bad)}.wl-pin text{font:var(--fw-bold) 10.5px var(--font-sans);fill:var(--ink);text-anchor:middle;font-variant-numeric:tabular-nums;pointer-events:none}.wl-pin.hl circle,.wl-pin:focus-visible circle{r:14}.wl-pin.on circle{fill:var(--accent);stroke:var(--accent)}.wl-pin.on text{fill:var(--accent-ink)}.wl-pin:focus-visible circle{stroke:var(--accent)}.wl-key{display:flex;flex-wrap:wrap;gap:var(--s-1) 14px;padding:9px var(--s-3);border-top:1px solid var(--line);font-size:var(--fs-2xs);color:var(--ink-3)}.wl-key span{display:inline-flex;align-items:center;gap:6px}.wl-key i{width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ink-3)}.wl-key i.good{box-shadow:inset 0 0 0 2px var(--good)}.wl-key i.warn{box-shadow:inset 0 0 0 2px var(--warn)}.wl-key i.bad{box-shadow:inset 0 0 0 2px var(--bad)}.wl-key i.home{width:5px;height:5px;background:var(--ink-4);box-shadow:none}.wl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.wl{padding:14px var(--s-4);border-radius:var(--r-lg);background:var(--surface-1);border:1px solid var(--line);transition:border-color var(--t-fast),box-shadow var(--t-fast);outline:none}.wl.hl{border-color:var(--line-strong)}.wl.on{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.wl-h{display:flex;align-items:center;gap:var(--s-3)}.wl-num{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:var(--fs-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 2px var(--ink-3)}.wl-num.good{box-shadow:inset 0 0 0 2px var(--good)}.wl-num.warn{box-shadow:inset 0 0 0 2px var(--warn)}.wl-num.bad{box-shadow:inset 0 0 0 2px var(--bad)}.wl-t{flex:1;min-width:0;display:flex;flex-direction:column}.wl-t b{font-weight:var(--fw-semibold);font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-t span{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-r{margin:10px 0 0 38px;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5}.wl-f{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0 38px;font-size:var(--fs-xs);color:var(--ink-3)}.wl-f b{color:var(--ink);font-weight:var(--fw-semibold)}.wl-f .d-link{margin-top:0}.wl-u{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:10px 0 0 38px;font-size:var(--fs-2xs)}.mg-list{display:flex;flex-direction:column;gap:var(--s-5)}.mg header{display:flex;align-items:baseline;gap:10px;margin-bottom:var(--s-2);font-size:var(--fs-xs)}.mg-t{all:unset;cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-md);border-radius:var(--r-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mg-t span{color:var(--ink-2);font-weight:var(--fw-medium)}.mg-t:hover{color:var(--accent)}.mg-t:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off)}.mg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s-2)}.mg-grid.flat{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.rmt{margin:0;min-width:0;display:flex;flex-direction:column;gap:5px}.rmt-b{position:relative;display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface-3);cursor:zoom-in}.rmt-b img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-page) var(--ease-out)}.rmt-b:hover img{transform:scale(1.03)}.rmt.k-plan .rmt-b{background:#fff}.rmt.k-plan .rmt-b img{object-fit:contain;padding:var(--s-2)}.rmt.k-plan .rmt-b:hover img{transform:none}.rmt-b .aerial{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.rmt-b .aerial-mark{width:14px;height:14px;margin:-7px 0 0 -7px}.rmt-tag,.rmt-scope,.rmt-shared{position:absolute;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.02em;padding:2px 7px;border-radius:var(--r-sm);background:#08090ca3;color:#f1f3f7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}.rmt-tag{left:6px;top:6px}.rmt-scope{left:6px;bottom:6px;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis;font-weight:var(--fw-medium)}.rmt-shared{right:6px;top:6px;font-weight:var(--fw-medium)}.rmt figcaption{font-size:var(--fs-2xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.rmt figcaption a{color:var(--ink-2);text-decoration-color:var(--line-strong)}.rmt figcaption a:hover{color:var(--accent)}@media (max-width: 1280px){.rq{grid-template-columns:24px 56px minmax(0,1fr) 96px 32px 124px;grid-template-areas:"n th main imp score act" "n th gaps gaps gaps gaps" "qs qs qs qs qs qs";row-gap:var(--s-2)}.rq-th{width:56px;height:44px}.rq-qs{margin-left:calc(var(--s-6) + 56px + 2 * var(--s-4))}.rs-split{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width: 1100px){.rs-cov-top,.rs-more-b,.rs-split,.wl-wrap{grid-template-columns:minmax(0,1fr)}.rs-moves,.wl-map{position:static}.rs-moves ul{max-height:none}.gf-head,.gf-row{grid-template-columns:minmax(160px,1.4fr) 120px minmax(140px,1.2fr) 84px 100px}.gf-head span:nth-child(2),.gf-n{display:none}}@media (max-width: 760px){.rs-m{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-facts{grid-template-columns:minmax(0,1fr)}.rs-fact{grid-template-columns:104px minmax(0,1fr) 36px}.rs-tabs{width:100%;flex-wrap:wrap;overflow:visible}.rs-tabs button{padding:0 10px;flex:1 1 auto;justify-content:center}.rs-bar-row>.sp{display:none}.rs-bar-row .chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;padding-bottom:2px}.rs-bar-row .chip{flex:none}.rs-gone-top{grid-template-columns:minmax(0,1fr)}.rq{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"th main score" "gaps gaps gaps" "imp imp act" "qs qs qs";gap:var(--s-2) var(--s-3);padding:var(--s-3)}.rq-n{display:none}.rq-th{width:48px;height:40px}.rq-imp{grid-template-columns:auto auto minmax(40px,1fr);align-items:center}.rq-ibar{grid-column:auto}.rq-qs{margin:2px 0 0;flex-direction:column}.rs-ev{grid-template-columns:14px minmax(0,1fr);padding:11px var(--s-3)}.rs-ev-s{grid-column:2;justify-content:flex-start}.rs-ev-h{flex-wrap:wrap;white-space:normal}.rs-type{min-width:0}.rs-ev-d,.rs-note{padding-left:0}.gf-head{display:none}.gf-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t p" "dates tier" "days days";gap:var(--s-1) 10px;padding:10px var(--s-3)}.gf-t{grid-area:t}.gf-p{grid-area:p}.gf-dates{grid-area:dates}.gf-tier{grid-area:tier;justify-self:end}.gf-days{grid-area:days}.rs-lesson-t{font-size:var(--fs-xl)}.rs-lesson-t b{font-size:var(--fs-3xl)}.wl-r,.wl-f,.wl-u{margin-left:0}.mg-grid,.mg-grid.flat{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}.rq-cn{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:1px 6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent-ink) 14%,transparent);font-variant-numeric:tabular-nums}.rmt figcaption.named{display:flex;flex-direction:column;gap:1px;white-space:normal}.rmt figcaption.named>:not(.rmt-name){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rmt-name{all:unset;cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--r-xs)}.rmt-name:hover{color:var(--accent)}.rmt-name:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:var(--focus-off)}.rs-aerial-credit{font-size:var(--fs-2xs);color:var(--ink-3);margin-top:var(--s-3)}.wl-dest rect{fill:var(--ink)}.wl-dest text{font:var(--fw-semibold) 11px var(--font-sans);fill:var(--ink);paint-order:stroke;stroke:var(--surface-1);stroke-width:3px}.wl-scale path{fill:none;stroke:var(--ink-3);stroke-width:1.2}.wl-scale text,.wl-north text{font:var(--fw-medium) 10px var(--font-mono);fill:var(--ink-3);text-anchor:middle}.wl-north path{fill:var(--ink-3)}.wl-key i.dest{width:9px;height:9px;border-radius:2.5px;background:var(--ink);box-shadow:none}.wl-key .sp{flex:1}.rq-why{font-size:var(--fs-2xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-2px}.rs-gap.more{border-style:solid;border-color:var(--line);color:var(--ink-3)}.rs-gap.stale.more{color:var(--warn);border-color:transparent}.rs-code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-3);padding:1px 5px;border-radius:var(--r-xs);color:var(--ink-2)}@media (max-width: 760px){.rs-tabs button{height:40px}}
