:root{--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--sans: system-ui, -apple-system, "Segoe UI", sans-serif;--font-data: var(--mono);--font-prose: var(--sans);--map-bg: #ffffff;--map-fg: #10131a;color-scheme:light;--paper: #f4f6f9;--card: #ffffff;--card-2: #eef1f6;--ink: #0f1419;--ink-2: #4d5665;--ink-3: #616a79;--rule: #e2e7ee;--rule-2: #eef1f5;--court: #2f56d9;--court-soft: #e7ecfd;--on-court: #ffffff;--seal: #c2261f;--seal-soft: #fdeceb;--green: #12703a;--gold: #8a6510;--amber: #a4560c;--overlay: rgba(18, 22, 28, .62);--shadow-rgb: 15, 20, 25;--shadow-o1: .05;--shadow-o2: .06;--shadow-o3: .14;--font-ui: var(--sans);--fs-xs: 11px;--fs-sm: 12.5px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-h2: 21px;--lh: 1.55;--eyebrow-fs: 10.5px;--eyebrow-tracking: .08em;--eyebrow-weight: 650;--brand-fs: 17px;--brand-tracking: -.01em;--brand-transform: none;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 18px;--sp-5: 26px;--sp-6: 36px;--rule-w: 1px;--row-h: 60px;--row-gap: 8px;--row-sep: transparent;--row-bg: var(--card);--row-shadow: var(--shadow-1);--list-pad: 12px;--bar-h: 60px;--rail-w: 284px;--drawer-w: 620px;--kv-label-w: 190px;--rowline-cols: 6px 132px 1fr 116px 74px 92px 64px 170px;--rowline-is24-cols: 6px 64px 1fr 128px 84px 108px 190px;--shot-min: 100px;--shadow-1: 0 1px 2px rgba(var(--shadow-rgb), var(--shadow-o1)), 0 4px 16px rgba(var(--shadow-rgb), var(--shadow-o2));--shadow-2: 0 10px 34px rgba(var(--shadow-rgb), var(--shadow-o3));--ring: 0 0 0 1px var(--rule);--focus-w: 2px;--focus-offset: 2px;--speed: .14s}@media(prefers-color-scheme:dark){:root:not([data-mode=light]){color-scheme:dark;--paper: #080f11;--card: #101a1d;--card-2: #18262a;--ink: #e6f2f2;--ink-2: #a3bcbd;--ink-3: #7b9698;--rule: #22353a;--rule-2: #182529;--court: #2dd4bf;--court-soft: #0b2f2c;--on-court: #03211d;--seal: #ff7a70;--seal-soft: #3a1c1e;--green: #4ade80;--gold: #f5c542;--amber: #fb923c;--overlay: rgba(2, 8, 9, .88);--shadow-rgb: 0, 0, 0;--shadow-o1: .5;--shadow-o2: .4;--shadow-o3: .7}}:root[data-mode=dark]{color-scheme:dark;--paper: #080f11;--card: #101a1d;--card-2: #18262a;--ink: #e6f2f2;--ink-2: #a3bcbd;--ink-3: #7b9698;--rule: #22353a;--rule-2: #182529;--court: #2dd4bf;--court-soft: #0b2f2c;--on-court: #03211d;--seal: #ff7a70;--seal-soft: #3a1c1e;--green: #4ade80;--gold: #f5c542;--amber: #fb923c;--overlay: rgba(2, 8, 9, .88);--shadow-rgb: 0, 0, 0;--shadow-o1: .5;--shadow-o2: .4;--shadow-o3: .7}:root[data-layout=cards] .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min, 250px),1fr));grid-auto-rows:min-content;align-items:start;align-content:start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-6)}:root[data-layout=cards] .list>div:last-child{grid-column:1 / -1}:root[data-layout=cards] .rowline{display:block;min-height:0;height:auto;margin:0;padding:0 0 var(--sp-3);border:var(--rule-w) solid var(--rule);border-top:3px solid var(--rule);border-radius:var(--r-md);background:var(--card);box-shadow:var(--row-shadow);overflow:hidden}:root[data-layout=cards] .rowline[aria-current=true]{border-color:var(--court);box-shadow:var(--row-shadow)}:root[data-layout=cards] .spine{display:none}:root[data-layout=cards] .rowline:not([aria-current=true]):has(.spine.d0){border-top-color:var(--seal)}:root[data-layout=cards] .rowline:not([aria-current=true]):has(.spine.d7){border-top-color:var(--amber)}:root[data-layout=cards] .rowline:not([aria-current=true]):has(.spine.d30){border-top-color:var(--gold)}:root[data-layout=cards] .rowline:not([aria-current=true]):has(.spine.d90){border-top-color:var(--green)}:root[data-layout=cards] .rowline .thumb{display:block;width:100%;height:150px;aspect-ratio:auto;border:0;border-radius:0;border-bottom:var(--rule-w) solid var(--rule)}:root[data-layout=cards] .rowline .thumb img{width:100%;height:100%;object-fit:cover}:root[data-layout=cards] .rowline .thumb-none{display:block;padding-top:64px;text-align:center}:root[data-layout=cards] .where,:root[data-layout=cards] .money,:root[data-layout=cards] .area,:root[data-layout=cards] .sqm,:root[data-layout=cards] .ratio,:root[data-layout=cards] .flags,:root[data-layout=cards] .az{display:block;padding:var(--sp-1) var(--sp-3) 0;text-align:left}:root[data-layout=cards] .where{padding-top:var(--sp-2)}:root[data-layout=cards] .where .line.city{font-size:var(--fs-md);font-weight:650;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:root[data-layout=cards] .where .line.obj{color:var(--ink-2)}:root[data-layout=cards] .money{padding-top:var(--sp-2);font-size:var(--fs-lg);font-weight:700}:root[data-layout=cards] .area,:root[data-layout=cards] .sqm,:root[data-layout=cards] .ratio{display:inline-block;padding:0;color:var(--ink-2);font-size:var(--fs-sm)}:root[data-layout=cards] .area{padding-left:var(--sp-3)}:root[data-layout=cards] .sqm:not(:empty):before,:root[data-layout=cards] .ratio:not(:empty):before{content:" · ";color:var(--ink-3)}:root[data-layout=cards] .flags{padding-top:var(--sp-2)}:root[data-layout=cards] .flags:empty{display:none}:root[data-layout=cards] .rowline{position:relative}:root[data-layout=cards] .flags .ovl-l,:root[data-layout=cards] .flags .ovl-r{position:absolute;top:var(--sp-2);z-index:1;display:flex;flex-direction:column;gap:3px}:root[data-layout=cards] .flags .ovl-l{left:var(--sp-2);align-items:flex-start}:root[data-layout=cards] .flags .ovl-r{right:var(--sp-2);align-items:flex-end}:root[data-layout=cards] .flags .ovl-l>.tagl,:root[data-layout=cards] .flags .ovl-r>.tagl{box-shadow:0 0 0 1px #00000059,0 1px 3px #0006}:root[data-layout=cards] .flags .tagl.score{background:var(--card)}:root[data-layout=cards] .flags .tagl.score.high{background:var(--court);color:var(--on-court)}:root[data-layout=cards] .flags:has(>.ovl-l+.ovl-r:last-child){padding-top:0}:root[data-layout=cards] .flags:has(>.tagl.score:only-child){padding-top:0}:root[data-density=compact][data-layout=cards] .list{--card-min: 200px}:root[data-density=compact][data-layout=cards] .rowline .thumb{height:108px}:root[data-density=compact][data-layout=cards] .rowline .thumb-none{padding-top:44px}:root[data-density=compact]{--font-ui: var(--mono);--fs-xs: 9.5px;--fs-sm: 11px;--fs-base: 12.5px;--fs-md: 13px;--fs-lg: 14px;--fs-h2: 15px;--lh: 1.45;--eyebrow-fs: 9.5px;--eyebrow-tracking: .14em;--eyebrow-weight: 600;--brand-fs: 11px;--brand-tracking: .16em;--brand-transform: uppercase;--r-sm: 2px;--r-md: 3px;--r-lg: 4px;--r-pill: 3px;--sp-1: 2px;--sp-2: 5px;--sp-3: 8px;--sp-4: 11px;--sp-5: 15px;--sp-6: 22px;--row-h: 30px;--row-gap: 0px;--row-sep: var(--rule-2);--row-bg: transparent;--row-shadow: none;--list-pad: 0px;--bar-h: 40px;--rail-w: 236px;--drawer-w: 560px;--kv-label-w: 172px;--rowline-cols: 4px 128px 1fr 92px 58px 74px 52px 130px;--rowline-is24-cols: 4px 46px 1fr 104px 66px 92px 160px;--shot-min: 76px;--shadow-1: none;--shadow-2: 0 0 0 1px var(--rule);--focus-offset: 1px;--speed: 90ms}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-base);line-height:var(--lh);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:var(--focus-w) solid var(--court);outline-offset:var(--focus-offset);border-radius:var(--r-sm)}::selection{background:var(--court);color:var(--on-court)}::-moz-selection{background:var(--court);color:var(--on-court)}input::selection,textarea::selection{background:var(--court);color:var(--on-court)}.eyebrow{display:inline-block;font-family:var(--font-ui);font-size:var(--eyebrow-fs);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--ink-3);font-weight:var(--eyebrow-weight)}.prose{font-family:var(--font-prose);font-size:var(--fs-base);line-height:1.62;max-width:68ch}.app{display:grid;grid-template-rows:auto 1fr;grid-template-columns:var(--rail-w) 1fr 0;grid-template-areas:"bar bar bar" "rail main drawer";height:100%}.app.rail-hidden{grid-template-columns:0 1fr 0}.app.drawer-open{grid-template-columns:var(--rail-w) 1fr var(--drawer-w)}.app.rail-hidden.drawer-open{grid-template-columns:0 1fr var(--drawer-w)}.app.rail-hidden .rail{display:none}.bar{grid-area:bar;display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);height:var(--bar-h);background:var(--card);border-bottom:var(--rule-w) solid var(--rule);box-shadow:var(--shadow-1);position:relative;z-index:3;min-width:0;overflow-x:auto;overflow-y:hidden}.brand{font-weight:700;font-size:var(--brand-fs);letter-spacing:var(--brand-tracking);text-transform:var(--brand-transform);white-space:nowrap}.brand span{color:var(--court)}.rail-toggle{white-space:nowrap}.bar-stat{color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap}.bar-stat b{color:var(--ink);font-weight:650;font-family:var(--font-data)}.bar-spacer{flex:1}.rail{grid-area:rail;overflow-y:auto;border-right:var(--rule-w) solid var(--rule);background:var(--card-2);padding:var(--sp-2) 0 var(--sp-6)}.main{grid-area:main;overflow:hidden;display:flex;flex-direction:column;min-width:0}.toolbar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:var(--rule-w) solid var(--rule);background:var(--card)}.section{border-bottom:var(--rule-w) solid var(--rule)}.section-head{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:0;cursor:pointer;text-align:left;color:var(--ink-2);font:inherit;letter-spacing:.04em;text-transform:uppercase;font-size:var(--fs-sm);font-weight:650}.section-head:hover{background:var(--court-soft);color:var(--ink)}.section-caret{color:var(--ink-3);width:.7em}.section-title{flex:1}.section-count{background:var(--court);color:var(--on-court);border-radius:999px;padding:0 .45em;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.section.open>.section-head{color:var(--ink)}.section-body{padding-bottom:var(--sp-2)}.section-body .group{border-bottom:0;padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.group{border-bottom:var(--rule-w) solid var(--rule-2);padding:var(--sp-3) var(--sp-3) var(--sp-3)}.group>.eyebrow{display:block;margin-bottom:var(--sp-2)}.check{display:flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) 0;cursor:pointer;color:var(--ink-2);border-radius:var(--r-sm)}.check:hover{color:var(--ink)}.check input{margin:0;accent-color:var(--court)}.check .n{margin-left:auto;color:var(--ink-3);font-size:var(--fs-xs);font-family:var(--font-data)}.check.on{color:var(--ink);font-weight:650}.field{width:100%;background:var(--card);color:var(--ink);border:var(--rule-w) solid var(--rule);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-2)}.field::placeholder{color:var(--ink-3)}.field:hover{border-color:var(--ink-3)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.scroller{max-height:200px;overflow-y:auto;margin:0 -3px;padding:0 3px}.linkish{background:none;border:0;padding:0;cursor:pointer;color:var(--court);text-decoration:underline;text-underline-offset:2px}.linkish:hover{text-decoration-thickness:2px}.tabs{display:flex;gap:var(--sp-1)}.tab{border:var(--rule-w) solid transparent;background:none;cursor:pointer;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);color:var(--ink-2);font-size:var(--fs-sm);letter-spacing:.02em;white-space:nowrap;min-height:32px}.tab:hover{color:var(--ink);background:var(--card-2)}.tab[aria-selected=true]{background:var(--court-soft);border-color:transparent;color:var(--court);font-weight:650}.btn{display:inline-flex;align-items:center;gap:var(--sp-1);border:var(--rule-w) solid var(--rule);background:var(--card);cursor:pointer;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);text-decoration:none;white-space:nowrap}.btn:hover{color:var(--ink);border-color:var(--ink-3);background:var(--card-2)}.btn.primary{background:var(--court);border-color:var(--court);color:var(--on-court);font-weight:650}.btn.primary:hover{background:var(--court);filter:brightness(1.08)}.btn.primary:disabled{opacity:.55;cursor:default;filter:none}.btn:disabled{cursor:default;opacity:.55}.seg{display:inline-flex;gap:0}.seg button{border:var(--rule-w) solid var(--rule);background:var(--card);cursor:pointer;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;margin-left:calc(var(--rule-w) * -1)}.seg button:first-child{margin-left:0;border-radius:var(--r-sm) 0 0 var(--r-sm)}.seg button:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.seg button:hover{color:var(--ink);background:var(--card-2)}.seg button[aria-pressed=true]{background:var(--court);border-color:var(--court);color:var(--on-court);font-weight:650;position:relative;z-index:1}.seg button:focus-visible{position:relative;z-index:2}.drawer-body>.seg{display:flex}.drawer-body>.seg button{flex:1;justify-content:center}.theme-switch{margin-left:var(--sp-1)}.tagl{display:inline-flex;align-items:center;font-size:var(--fs-xs);letter-spacing:.04em;padding:1px var(--sp-2);border-radius:var(--r-pill);border:var(--rule-w) solid var(--rule);color:var(--ink-3);background:var(--card);white-space:nowrap}button.tagl{cursor:pointer}.srcchip{display:inline-flex;align-items:center;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;padding:0 var(--sp-1);margin-right:var(--sp-2);border-radius:var(--r-sm, 3px);border:var(--rule-w) solid var(--rule);color:var(--ink-3);background:var(--card);vertical-align:baseline}.tagl:hover{border-color:var(--ink-3);color:var(--ink-2)}.tagl.new{color:var(--court);border-color:transparent;background:var(--court-soft);font-weight:650}.tagl.score{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--ink-2);border-color:var(--rule)}.tagl.score.high{color:var(--on-court);background:var(--court);border-color:transparent;font-weight:650}.tagl.ratio{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--card);border-color:var(--rule)}.tagl.ratio.under{color:#fff;background:var(--green);border-color:transparent;font-weight:650}.tagl.yld{font-family:var(--font-data);font-variant-numeric:tabular-nums;background:var(--card);border-color:var(--rule);color:var(--ink-2)}.tagl.yld.ist{color:var(--green);border-color:var(--green);font-weight:650}.tagl.yld.soll{color:var(--ink-2)}.tagl.yld.est{color:var(--ink-3);font-style:italic}.tagl.ratio.over{color:var(--seal);background:var(--seal-soft);border-color:transparent}.dist-out{color:var(--ink-3)}.tagl.canc{color:var(--seal);border-color:transparent;background:var(--seal-soft);font-weight:650}.tagl.gut{color:var(--gold);border-color:var(--gold)}.tagl.star{color:var(--gold);border-color:var(--gold);background:transparent}.list{overflow-y:auto;flex:1;padding-bottom:var(--sp-5)}.daybar{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-3) calc(var(--list-pad) + var(--sp-3)) var(--sp-2);background:var(--paper);border-bottom:var(--rule-w) solid var(--rule);box-shadow:0 1px 0 var(--paper)}.daybar .d{font-weight:700;font-size:var(--fs-md);font-family:var(--font-data)}.daybar .wd{color:var(--ink-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em}.daybar .in{margin-left:auto;color:var(--ink-3);font-size:var(--fs-xs)}.rowline{display:grid;grid-template-columns:var(--rowline-cols);align-items:center;gap:var(--sp-3);min-height:var(--row-h);width:auto;margin:0 var(--list-pad) var(--row-gap);padding:var(--sp-2) var(--sp-3) var(--sp-2) 0;background:var(--row-bg);border:0;border-bottom:var(--rule-w) solid var(--row-sep);border-radius:var(--r-md);box-shadow:var(--row-shadow);overflow:hidden;cursor:pointer;text-align:left;color:inherit}.rowline:hover{background:var(--card-2)}.rowline[aria-current=true]{background:var(--court-soft);box-shadow:inset 0 0 0 2px var(--court)}.spine{align-self:stretch;background:var(--rule)}.spine.d0{background:var(--seal)}.spine.d7{background:var(--amber)}.spine.d30{background:var(--gold)}.spine.d90{background:var(--green)}.spine.off{background:var(--rule)}.az{display:flex;align-items:baseline;gap:0;font-family:var(--font-data);font-size:var(--fs-sm);white-space:nowrap}.az i{font-style:normal;color:var(--ink-3)}.az .k{color:var(--seal);font-weight:700;padding:0 3px}.az .yr{color:var(--ink);font-weight:700}.az .sl{color:var(--ink-3);padding:0 1px}.where{min-width:0}.where .city{font-weight:650;color:var(--ink)}.where .obj{color:var(--ink-2);font-size:var(--fs-sm)}.where .line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.money{text-align:right;font-weight:650;font-family:var(--font-data);font-variant-numeric:tabular-nums}.money.approx{color:var(--ink-2);font-weight:400}.money.approx:before{content:"≈ ";color:var(--ink-3)}.area{text-align:right;color:var(--ink-2);font-family:var(--font-data);font-size:var(--fs-sm);white-space:nowrap}.sqm{text-align:right;color:var(--ink-3);font-family:var(--font-data);font-size:var(--fs-sm);white-space:nowrap}.ratio{text-align:right;color:var(--ink-2);font-family:var(--font-data);font-size:var(--fs-sm);white-space:nowrap}.ratio.deep{color:var(--green);font-weight:700}.flags{display:flex;gap:var(--sp-1);justify-content:flex-end;flex-wrap:wrap}.ovl-l,.ovl-r{display:contents}.empty{padding:var(--sp-6) var(--sp-5);color:var(--ink-2);max-width:68ch}.empty h3{margin:0 0 var(--sp-2);font-size:var(--fs-lg);color:var(--ink)}.drawer{grid-area:drawer;background:var(--card);border-left:var(--rule-w) solid var(--rule);display:flex;flex-direction:column;min-width:0;overflow:hidden}.drawer-head{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:var(--rule-w) solid var(--rule)}.drawer-body{overflow-y:auto;padding:var(--sp-4) var(--sp-4) var(--sp-6);flex:1}.drawer h2{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-h2);line-height:1.25}.kv{display:grid;grid-template-columns:var(--kv-label-w) 1fr;gap:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0 var(--sp-4)}.kv dt{color:var(--ink-3);font-size:var(--eyebrow-fs);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;line-height:1.35;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.stack{display:flex;flex-direction:column;gap:var(--sp-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.notes{width:100%;min-height:110px;resize:vertical;font-family:var(--font-prose)}.metric{border:var(--rule-w) solid var(--rule);border-left:3px solid var(--rule);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);background:var(--card-2)}.metric.strong{border-left-color:var(--green)}.metric-label{color:var(--ink-3);font-size:var(--eyebrow-fs);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;margin-right:var(--sp-2)}.metric-note{color:var(--ink-3);font-size:var(--fs-sm);margin-top:2px;line-height:1.45}.ratio-headline{font-size:var(--fs-lg);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-sm);border:var(--rule-w) solid var(--rule);background:var(--card-2)}.ratio-headline b{font-family:var(--font-data)}.ratio-headline.deep{border-color:var(--green);color:var(--green)}.pricegrid{width:100%;border-collapse:collapse;margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-sm);font-family:var(--font-data)}.pricegrid th,.pricegrid td{padding:var(--sp-1) var(--sp-2);text-align:right}.pricegrid thead th{font-size:var(--eyebrow-fs);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--ink-3);font-weight:400;border-bottom:var(--rule-w) solid var(--rule)}.pricegrid tbody th{text-align:left;color:var(--ink-2);font-weight:400}.pricegrid td{font-variant-numeric:tabular-nums}.pricegrid tr.basis th,.pricegrid tr.basis td{color:var(--ink);font-weight:650}.pricegrid tr.basis{background:var(--card-2)}.editbar{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:0;border-top:var(--rule-w) solid var(--rule);padding:var(--sp-3) 0 var(--sp-2);margin-top:var(--sp-2);cursor:pointer;text-align:left}.editgrid{display:grid;grid-template-columns:var(--kv-label-w) 1fr;gap:var(--sp-1) var(--sp-3);align-items:center;margin:var(--sp-1) 0 var(--sp-4)}.editgrid label{color:var(--ink-2);font-size:var(--fs-sm)}.editgrid label i{color:var(--ink-3);font-style:normal;font-size:var(--fs-xs)}.editgrid label.edited{color:var(--court);font-weight:650}.editgrid label.edited:after{content:" ●";font-size:8px;vertical-align:middle}.editrow{display:flex;gap:var(--sp-1)}.editrow .field{flex:1}.changes{padding:var(--sp-3) var(--sp-3);overflow-y:auto;flex:1}.chg{display:grid;grid-template-columns:96px 136px 1fr auto;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2);margin-bottom:var(--row-gap);border:0;border-bottom:var(--rule-w) solid var(--row-sep);border-radius:var(--r-sm);background:var(--row-bg);box-shadow:var(--row-shadow);align-items:baseline;width:100%;text-align:left;cursor:pointer;color:inherit}.chg:hover{background:var(--card-2)}.log{font-size:var(--fs-sm);font-family:var(--font-data);color:var(--ink-2);background:var(--card-2);border:var(--rule-w) solid var(--rule);border-radius:var(--r-sm);padding:var(--sp-3);max-height:200px;overflow-y:auto;white-space:pre-wrap;margin-top:var(--sp-3)}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--shot-min),1fr));gap:var(--sp-2)}.shot{position:relative;padding:0;cursor:zoom-in;overflow:hidden;border:var(--rule-w) solid var(--rule);border-radius:var(--r-md);background:var(--card-2);aspect-ratio:4 / 3}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot:hover{border-color:var(--court);box-shadow:var(--shadow-1)}.shot-page{position:absolute;right:var(--sp-1);bottom:var(--sp-1);background:#000000a8;color:#fff;font-size:var(--fs-xs);padding:0 var(--sp-1);border-radius:var(--r-sm)}.hover-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.hover-preview img{width:min(1200px,96vw);height:auto;max-height:92vh;object-fit:contain;border-radius:var(--r-md);border:var(--rule-w) solid var(--rule);box-shadow:var(--shadow-2);background:var(--card);animation:hover-preview-in var(--speed) ease-out}@keyframes hover-preview-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hover-preview img{animation:none}}.dist{margin:var(--sp-2) 0 var(--sp-3)}.dist-head{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-1)}.dist-n{color:var(--ink-3);font-size:var(--fs-xs)}.dist-bar{position:relative;height:18px;border-radius:var(--r-pill);background:linear-gradient(90deg,#00c853,#7cd300 26%,#ffd000 50%,#ff8a00 76%,#ff1f3d)}.dist-iqr{position:absolute;top:0;bottom:0;background:#ffffff29;border-left:2px solid rgba(255,255,255,.8);border-right:2px solid rgba(255,255,255,.8)}.dist-median,.dist-avg{position:absolute;top:-3px;bottom:-3px;width:2px;transform:translate(-1px);background:#000000c7}.dist-avg{background:repeating-linear-gradient(180deg,rgba(0,0,0,.78) 0 3px,transparent 3px 6px)}.dist-here{position:absolute;top:-6px;bottom:-6px;width:5px;transform:translate(-2.5px);border-radius:2px;background:#fff;box-shadow:0 0 0 2px #000000b8}.dist-quartiles{position:relative;height:1.1em;margin-top:3px;font-family:var(--font-data);font-size:var(--fs-xs);color:var(--ink-2)}.dist-quartiles span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.dist-scale{display:flex;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2);font-family:var(--font-data);font-size:var(--fs-xs);color:var(--ink-3)}.dist-mid{color:var(--ink-2)}.delta{font-variant-numeric:tabular-nums}.delta.up-strong{color:var(--green);font-weight:650}.delta.up{color:color-mix(in srgb,var(--green) 62%,var(--ink-2))}.delta.flat{color:var(--ink-3)}.delta.down{color:color-mix(in srgb,var(--seal) 62%,var(--ink-2))}.delta.down-strong{color:var(--seal);font-weight:650}.data-body{grid-area:main;overflow-y:auto;padding:var(--sp-4) var(--sp-5);max-width:1100px}.prog{margin-bottom:var(--sp-4)}.prog-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-1)}.prog-count{font-family:var(--font-data);font-size:var(--fs-sm);color:var(--ink-2)}.prog-pct{color:var(--ink-3)}.prog-bar{height:8px;border-radius:var(--r-pill);background:var(--card-2);overflow:hidden}.prog-fill{display:block;height:100%;background:var(--court);transition:width .6s ease-out}.prog-foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--ink-3)}.prog-live{color:var(--green);font-family:var(--font-data);white-space:nowrap}.prog-idle{color:var(--ink-3);font-family:var(--font-data);white-space:nowrap}.datagrid{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-family:var(--font-data)}.datagrid th,.datagrid td{padding:var(--sp-1) var(--sp-2);text-align:right}.datagrid thead th{position:sticky;top:0;z-index:1;background:var(--paper);font-size:var(--eyebrow-fs);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--ink-3);font-weight:400;border-bottom:var(--rule-w) solid var(--rule)}.datagrid thead th button{font-size:inherit;letter-spacing:inherit}.datagrid tbody th{text-align:left;color:var(--ink);font-weight:400;font-family:var(--font-ui)}.datagrid tbody tr:hover{background:var(--card-2)}.datagrid td{font-variant-numeric:tabular-nums}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;cursor:zoom-out;background:var(--overlay);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5)}.lightbox img{max-width:96vw;max-height:88vh;object-fit:contain;cursor:default;border-radius:var(--r-md)}.lightbox-note{color:#d7dde6;font-size:var(--fs-sm);cursor:default}.lightbox-note b{color:#fff}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:84px;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;cursor:pointer;color:#eef2f7;background:#10141a8c;border:1px solid rgba(238,242,247,.25);border-radius:var(--r-md)}.lightbox-nav:hover{background:#10141ad9}.lightbox-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.lightbox-nav.prev{left:var(--sp-3)}.lightbox-nav.next{right:var(--sp-3)}.map{flex:1;border-radius:var(--r-md);overflow:hidden}.leaflet-container{background:var(--map-bg);font-family:var(--font-ui);font-size:var(--fs-sm)}.leaflet-tooltip{border-radius:var(--r-sm);border:1px solid rgba(16,20,26,.18);box-shadow:0 4px 14px #10141a2e;color:var(--map-fg)}.pin{border-radius:50%;border:1.5px solid var(--map-bg);box-shadow:0 0 0 1px #00000047}.pin.approx{border-style:dashed;opacity:.72}.pin.sel{box-shadow:0 0 0 2px var(--map-bg),0 0 0 4.5px var(--map-fg),0 0 9px 4px #0000004d;opacity:1}.legend{position:absolute;bottom:var(--sp-3);left:var(--sp-3);z-index:500;background:var(--card);border:var(--rule-w) solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2)}.legend b{display:block;margin-bottom:var(--sp-1);color:var(--ink)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--sp-2);box-shadow:inset 0 0 0 1px #7f7f7f8c}.zonebox{margin-top:var(--sp-2);border-top:var(--rule-w) solid var(--rule);padding-top:var(--sp-2);max-width:224px}.zonetoggle{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer}.zonetoggle b{margin:0}.zonetoggle input{accent-color:var(--court);margin:0}.zonebox .scale{display:flex;margin-top:var(--sp-2);height:10px;border:var(--rule-w) solid var(--rule);border-radius:var(--r-sm);overflow:hidden}.zonebox .scale i{flex:1;width:auto;height:100%;border-radius:0;margin:0;box-shadow:none}.zonebox .scale-ends{display:flex;justify-content:space-between;margin-top:2px;font-size:var(--fs-xs);color:var(--ink-3)}.zonenote{margin-top:var(--sp-1);line-height:1.4;color:var(--ink-3)}.zonehint{display:block;color:var(--ink);font-weight:650}.rowline.is24{grid-template-columns:var(--rowline-is24-cols)}.spine.age1{background:var(--rule)}.spine.age2{background:var(--gold)}.spine.age3{background:var(--seal)}.thumb{width:100%;aspect-ratio:3 / 2;overflow:hidden;border:var(--rule-w) solid var(--rule);border-radius:var(--r-sm);background:var(--card-2);display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-none{color:var(--ink-3);font-size:var(--fs-xs)}.prov{color:var(--ink-3);cursor:help;padding-left:2px;border-bottom:1px dotted var(--ink-3)}.prov-note{color:var(--ink-2);font-family:var(--font-prose);font-size:var(--fs-sm);line-height:1.5;margin-top:var(--sp-1);max-width:68ch}.prov-note.gone{color:var(--seal)}.source-switch{margin-right:var(--sp-1)}.signin{min-height:100vh;display:grid;place-items:center;padding:var(--sp-5)}.signin-card{width:min(380px,100%);display:grid;gap:var(--sp-3);background:var(--card);border:var(--rule-w) solid var(--rule);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-5)}.signin-card .brand{font-size:var(--fs-h2)}.signin-lede{margin:0 0 var(--sp-2);color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh)}.signin-note{margin:0;color:var(--green);font-size:var(--fs-sm);line-height:var(--lh)}.signin-note.signin-error{color:var(--seal)}@media(max-width:1180px){.app.drawer-open{grid-template-columns:var(--rail-w) 1fr 0}.app.rail-hidden.drawer-open{grid-template-columns:0 1fr 0}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(var(--drawer-w),94vw);z-index:1200;border-radius:var(--r-lg) 0 0 var(--r-lg);box-shadow:var(--shadow-2),-14px 0 34px #00000038}}@media(max-width:900px){.app,.app.rail-hidden,.app.drawer-open,.app.rail-hidden.drawer-open{grid-template-columns:1fr;grid-template-areas:"bar" "main"}.rail{display:none}.rowline{grid-template-columns:6px 1fr 100px 170px}.rowline .az,.rowline .sqm,.rowline .area,.rowline .ratio{display:none}.rowline.is24{grid-template-columns:6px 1fr 100px 160px}.rowline.is24 .thumb,.rowline.is24 .area,.rowline.is24 .sqm{display:none}.chg{grid-template-columns:88px 1fr auto}}@media(prefers-reduced-motion:no-preference){.rowline,.chg,.btn,.tab,.seg button,.shot,.field,.tagl{transition:background-color var(--speed) ease,border-color var(--speed) ease,box-shadow var(--speed) ease,color var(--speed) ease}.drawer{animation:slide var(--speed) ease-out}@keyframes slide{0%{opacity:0}}.pin.sel{animation:pinfind .62s ease-out 2}@keyframes pinfind{0%{box-shadow:0 0 0 2px var(--map-bg),0 0 0 4.5px var(--map-fg),0 0 0 4px #00000059}70%{box-shadow:0 0 0 2px var(--map-bg),0 0 0 4.5px var(--map-fg),0 0 0 16px #0000}to{box-shadow:0 0 0 2px var(--map-bg),0 0 0 4.5px var(--map-fg),0 0 9px 4px #0000004d}}}.drawer .eyebrow{color:var(--court);border-left:3px solid var(--court);padding-left:var(--sp-2);line-height:1.6}.drawer-head>div>.eyebrow{border-left:0;padding-left:0}.drawer .kv{gap:6px var(--sp-3);margin:var(--sp-2) 0 var(--sp-3)}.drawer .kv dd{font-weight:550}.drawer .kv dt{align-self:baseline}.drawer .prov-note{font-size:calc(var(--fs-sm) * .92);line-height:1.4;color:var(--ink-3);margin-top:3px;max-width:62ch}.drawer .kv dd .prov-note{margin-top:2px}.drawer .dist{margin-bottom:var(--sp-3)}.drawer .dist-head{margin-bottom:4px}.drawer .dist .prov-note{margin-top:4px}.side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);align-items:start;margin-top:var(--sp-4)}@media(max-width:900px){.side-by-side{grid-template-columns:1fr}}.pricegrid tbody tr:nth-child(2n),.datagrid tbody tr:nth-child(2n){background:var(--card-2)}.pricegrid tbody tr:hover,.datagrid tbody tr:hover{background:var(--court-soft)}.pricegrid tbody td:nth-child(3){color:var(--court)}:root[data-layout=rows] .rowline{border-left:3px solid transparent}:root[data-layout=rows] .rowline:hover{border-left-color:var(--court)}.prog-stale{color:var(--amber, #b7791f);font-variant-numeric:tabular-nums}.pass-panel{margin:0 12px 12px;padding:12px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-2, var(--paper));display:flex;flex-direction:column;gap:10px}.pass-token{display:flex;flex-direction:column;gap:4px}.pass-token label{font-size:12px;color:var(--ink-2)}.pass-token input{font-family:var(--mono, monospace);font-size:12px}.pass-actions{display:flex;flex-wrap:wrap;gap:8px}.pass-error{color:var(--seal);font-size:13px;white-space:pre-wrap}
