:root{--ground: #0b0f14;--panel: #10161e;--raised: #16202b;--sunken: #080c11;--rule: #1e2b38;--rule-strong: #2b3d4f;--rule-faint: #151f29;--ink: #e3ecf4;--ink-2: #93a6b8;--ink-3: #8397a9;--ink-4: #78899b;--accent: #ff6b4a;--accent-dim: #b8452c;--accent-glow: rgba(255, 107, 74, .14);--exact: #3ddc97;--inferred: #f2b544;--unknown: #8f9eae;--computed: #8ab4f8;--exact-bg: rgba(61, 220, 151, .1);--inferred-bg: rgba(242, 181, 68, .1);--unknown-bg: rgba(143, 158, 174, .1);--computed-bg: rgba(138, 180, 248, .1);--model-tint: #c3a6ff;--source-tint: #66d9e8;--defined-tint: #d7a1dd;--defined-bg: rgba(215, 161, 221, .1);--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;--sans: "Segoe UI Variable Display", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--tick: 4px;--gap: 16px;--radius: 3px;--shadow-panel: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 8px 24px rgba(0, 0, 0, .4);--ease: cubic-bezier(.32, .72, 0, 1)}:root[data-theme=light]{--ground: #eef1f4;--panel: #ffffff;--raised: #f7f9fb;--sunken: #e4e9ee;--rule: #d3dbe3;--rule-strong: #b3c0cc;--rule-faint: #e3e9ef;--ink: #16202b;--ink-2: #4a5a6a;--ink-3: #556575;--ink-4: #5f6d7b;--accent: #c43314;--accent-dim: #a82c14;--accent-glow: rgba(196, 51, 20, .1);--exact: #077046;--inferred: #8a5f00;--unknown: #556370;--computed: #2a62c4;--exact-bg: rgba(7, 112, 70, .09);--inferred-bg: rgba(138, 95, 0, .1);--unknown-bg: rgba(85, 99, 112, .09);--computed-bg: rgba(42, 98, 196, .09);--model-tint: #6b3fc4;--source-tint: #0a6b79;--defined-tint: #8e3a86;--defined-bg: rgba(142, 58, 134, .09);--shadow-panel: 0 1px 2px rgba(22, 32, 43, .06), 0 8px 24px rgba(22, 32, 43, .07)}*,*:before,*:after{box-sizing:border-box}body.lenz{margin:0;background-color:var(--ground);background-image:linear-gradient(var(--rule-faint) 1px,transparent 1px),linear-gradient(90deg,var(--rule-faint) 1px,transparent 1px);background-size:32px 32px;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overflow-x:hidden}.lenz-app{min-width:0}.split>*{min-width:0}.lenz code,.lenz .mono{font-family:var(--mono)}.lenz .label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.lenz-app{display:grid;grid-template-rows:auto auto 1fr;min-height:100vh}.lenz-header{display:flex;align-items:center;gap:var(--gap);padding:14px 20px;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel) 92%,var(--ground)));border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20}.lenz-wordmark{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;white-space:nowrap}.lenz-wordmark b{font-weight:600;color:var(--ink)}.lenz-wordmark .lens{color:var(--accent);display:inline-block;width:11px;height:11px;border:1.5px solid var(--accent);border-radius:50%;position:relative;transform:translateY(1px)}.lenz-wordmark .lens:after{content:"";position:absolute;inset:2px 2px auto auto;width:3px;height:3px;border-radius:50%;background:var(--accent)}.lenz-wordmark small{color:var(--ink-3);font-size:11px}.lenz-header-spacer{flex:1}.name-toggle{display:inline-flex;align-items:stretch;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--sunken);position:relative;overflow:hidden;font-family:var(--mono);font-size:11px;user-select:none}.name-toggle:before{content:"";position:absolute;inset:2px;width:calc(50% - 2px);border-radius:2px;background:var(--raised);border:1px solid var(--rule-strong);transition:transform .32s var(--ease);transform:translate(var(--toggle-x, 0))}.name-toggle button{appearance:none;background:none;border:0;color:var(--ink-3);padding:7px 14px;cursor:pointer;position:relative;z-index:1;letter-spacing:.06em;transition:color .2s var(--ease);white-space:nowrap}.name-toggle button[aria-pressed=true]{color:var(--ink)}.name-toggle button:nth-child(1)[aria-pressed=true]{color:var(--model-tint)}.name-toggle button:nth-child(2)[aria-pressed=true]{color:var(--source-tint)}.name-toggle button:focus-visible{outline:1px solid var(--accent);outline-offset:-3px}@keyframes name-swap{0%{opacity:0;transform:translateY(-.28em)}to{opacity:1;transform:none}}.lenz .swap{animation:name-swap .26s var(--ease) both}@media(prefers-reduced-motion:reduce){.lenz .swap{animation:none}.name-toggle:before{transition:none}}.lenz-lenses{display:flex;gap:2px;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--rule);overflow-x:auto}.lenz-lens{appearance:none;background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-3);font-family:var(--mono);font-size:12px;letter-spacing:.05em;padding:11px 16px;cursor:pointer;white-space:nowrap;transition:color .16s var(--ease),border-color .16s var(--ease)}.lenz-lens:hover{color:var(--ink-2)}.lenz-lens[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.lenz-lens .count{color:var(--ink-4);margin-left:6px;font-size:11px}.lenz-body{padding:20px}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-panel);position:relative}.panel:before,.panel:after{content:"";position:absolute;width:7px;height:7px;border-color:var(--rule-strong);border-style:solid;pointer-events:none}.panel:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.panel:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.panel-head{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--rule)}.panel-head h2{margin:0;font-size:12px;font-weight:600;letter-spacing:.02em}.panel-body{padding:14px}.stat-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--gap)}.stat{background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.stat .v{font-family:var(--mono);font-size:20px;font-weight:600;letter-spacing:-.02em}.stat .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.conf{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:2px;white-space:nowrap;border:1px solid transparent}.conf:before{content:"";width:6px;height:6px;border-radius:50%;flex:none}.conf-exact{color:var(--exact);background:var(--exact-bg);border-color:color-mix(in srgb,var(--exact) 26%,transparent)}.conf-inferred{color:var(--inferred);background:var(--inferred-bg);border-color:color-mix(in srgb,var(--inferred) 26%,transparent)}.conf-unknown{color:var(--unknown);background:var(--unknown-bg);border-color:color-mix(in srgb,var(--unknown) 26%,transparent)}.conf-exact:before{background:var(--exact)}.conf-inferred:before{background:linear-gradient(to right,var(--inferred) 50%,transparent 50%);border:1px solid var(--inferred)}.conf-unknown:before{background:none;border:1px solid var(--unknown)}.conf-bar{display:flex;height:5px;border-radius:3px;overflow:hidden;background:var(--sunken);margin-top:6px}.conf-bar span{display:block;height:100%}.conf-bar .s-exact{background:var(--exact)}.conf-bar .s-inferred{background:repeating-linear-gradient(-45deg,var(--inferred) 0 2px,color-mix(in srgb,var(--inferred) 45%,transparent) 2px 4px)}.conf-bar .s-unknown{background:color-mix(in srgb,var(--unknown) 55%,transparent)}.kind{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:2px;white-space:nowrap;color:var(--defined-tint);background:var(--defined-bg);border:1px solid color-mix(in srgb,var(--defined-tint) 30%,transparent)}.kind:before{content:"";width:6px;height:6px;flex:none;background:var(--defined-tint)}.kind-calculationGroup:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.tbl-wrap{overflow:auto;max-height:62vh;overscroll-behavior:contain}.tbl-wrap::-webkit-scrollbar{width:10px;height:10px}.tbl-wrap::-webkit-scrollbar-track{background:var(--sunken)}.tbl-wrap::-webkit-scrollbar-thumb{background:var(--rule-strong);border-radius:5px;border:2px solid var(--sunken)}.tbl-wrap::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.tbl-wrap{scrollbar-width:thin;scrollbar-color:var(--rule-strong) var(--sunken)}table.tbl{width:100%;border-collapse:collapse;font-size:12.5px}table.tbl th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:8px 12px;border-bottom:1px solid var(--rule-strong);background:var(--panel);position:sticky;top:0;z-index:2;white-space:nowrap}table.tbl td{padding:8px 12px;border-bottom:1px solid var(--rule-faint);vertical-align:top}table.tbl tbody tr{transition:background .12s var(--ease);cursor:pointer}table.tbl tbody tr:hover{background:var(--raised)}table.tbl tbody tr[aria-selected=true]{background:var(--accent-glow)}table.tbl tbody tr[aria-selected=true] td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.n-model{font-family:var(--mono);color:var(--model-tint);white-space:nowrap}.n-none{font-family:var(--mono);color:var(--ink-4);font-style:italic;white-space:nowrap}.n-source{display:flex;font-family:var(--mono);color:var(--source-tint);min-width:0;max-width:100%}.path-q{color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.path-leaf{color:var(--source-tint);flex:none}table.tbl td.col-physical{max-width:340px}.arrow{color:var(--ink-4);padding:0 6px}.field{display:flex;align-items:center;gap:8px;background:var(--sunken);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:0 10px;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.field input{appearance:none;background:none;border:0;color:var(--ink);font-family:var(--mono);font-size:12px;padding:7px 0;width:100%;min-width:0}.field input::placeholder{color:var(--ink-4)}.field input:focus{outline:none}.field .label{flex:none}.chip{appearance:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:2px;border:1px solid var(--rule-strong);background:var(--sunken);color:var(--ink-3);cursor:pointer;transition:all .14s var(--ease)}.chip:hover{color:var(--ink-2);border-color:var(--ink-4)}.chip[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-glow)}.btn{appearance:none;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:7px 13px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--raised);color:var(--ink-2);cursor:pointer;transition:all .14s var(--ease);white-space:nowrap;display:inline-block;text-decoration:none}.btn:hover{color:var(--ink);border-color:var(--ink-4)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#14090a;font-weight:600}.btn-accent:hover{background:color-mix(in srgb,var(--accent) 88%,#fff);border-color:var(--accent);color:#14090a}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:var(--gap);align-items:start}@media(max-width:1000px){.split{grid-template-columns:minmax(0,1fr)}}.detail{position:sticky;top:88px}.detail dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;align-items:baseline}.detail dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.detail dd{margin:0;font-family:var(--mono);font-size:12px;min-width:0;overflow-wrap:anywhere}.detail .n-source,.detail .n-model{display:inline;white-space:normal;overflow-wrap:anywhere}.detail .path-q{white-space:normal;overflow:visible;text-overflow:clip}.reason{font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--ink-2);border-left:2px solid var(--rule-strong);padding:2px 0 2px 10px;margin-top:10px}pre.code{margin:0;font-family:var(--mono);font-size:11.5px;line-height:1.6;background:var(--sunken);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 13px;overflow-x:auto;color:var(--ink-2);white-space:pre-wrap;word-break:break-word}pre.code .kw{color:var(--accent)}pre.code .fn{color:var(--computed)}pre.code .str{color:var(--exact)}pre.code .ref{color:var(--model-tint)}pre.code .num{color:var(--inferred)}pre.code .cmt{color:var(--ink-4);font-style:italic}.steps{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.step{font-family:var(--mono);font-size:10.5px;padding:3px 8px;border-radius:2px;border:1px solid var(--rule-strong);background:var(--sunken);color:var(--ink-2);white-space:nowrap}.step[data-kind=Source]{border-color:color-mix(in srgb,var(--source-tint) 40%,transparent);color:var(--source-tint)}.step[data-kind=Rename]{border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent)}.step[data-kind=Join],.step[data-kind=AddColumn]{border-color:color-mix(in srgb,var(--computed) 40%,transparent);color:var(--computed)}.steps .sep{color:var(--ink-4);font-family:var(--mono);font-size:10px}.graph-wrap{position:relative;background:var(--sunken);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.graph-wrap svg{display:block;width:100%;touch-action:none;cursor:grab}.graph-wrap svg:active{cursor:grabbing}.g-edge{fill:none;stroke:var(--rule-strong);stroke-width:1.25;transition:stroke .16s var(--ease),stroke-width .16s var(--ease)}.g-edge.lit{stroke:var(--accent);stroke-width:1.75}.g-node rect{fill:var(--panel);stroke:var(--rule-strong);stroke-width:1;transition:stroke .16s var(--ease)}.g-node text{font-family:var(--mono);font-size:11px;fill:var(--ink-2);dominant-baseline:middle}.g-node .g-kind{font-size:8.5px;letter-spacing:.12em;fill:var(--ink-4);text-transform:uppercase}.g-node{cursor:pointer}.g-node:hover rect{stroke:var(--ink-4)}.g-node.lit rect{stroke:var(--accent)}.g-node.lit text{fill:var(--ink)}.g-node.dim{opacity:.32}.g-node[data-kind=source] rect{stroke:color-mix(in srgb,var(--source-tint) 55%,transparent)}.g-node[data-kind=table] rect{stroke:color-mix(in srgb,var(--exact) 45%,transparent)}.g-node[data-kind=column] rect{stroke:var(--rule-strong)}.g-node[data-kind=measure] rect{stroke:color-mix(in srgb,var(--model-tint) 55%,transparent)}.g-node[data-kind=visual] rect{stroke:color-mix(in srgb,var(--computed) 55%,transparent)}.g-lane{font-family:var(--mono);font-size:9px;letter-spacing:.14em;fill:var(--ink-4);text-transform:uppercase}.g-lane-rule{stroke:var(--rule-faint);stroke-width:1;stroke-dasharray:2 4}.empty{padding:44px 20px;text-align:center;color:var(--ink-3);font-family:var(--mono);font-size:12px}.empty b{display:block;color:var(--ink-2);margin-bottom:6px;font-weight:500}.lenz-footer{padding:14px 20px;border-top:1px solid var(--rule);display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}.lenz-footer a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--rule-strong)}.lenz-footer a:hover{color:var(--accent);border-bottom-color:var(--accent)}.copy-link{appearance:none;background:none;border:0;color:var(--ink-4);cursor:pointer;padding:2px 5px;font-family:var(--mono);font-size:10px;border-radius:2px;opacity:0;transition:opacity .14s var(--ease),color .14s var(--ease)}tr:hover .copy-link,.copy-link:focus-visible{opacity:1}.copy-link:hover{color:var(--accent)}.copy-link.done{color:var(--exact);opacity:1}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lenz-app>*{animation:rise .42s var(--ease) both}.lenz-app>*:nth-child(2){animation-delay:60ms}.lenz-app>*:nth-child(3){animation-delay:.12s}@media(prefers-reduced-motion:reduce){.lenz-app>*{animation:none}}.page-canvas{display:block;max-width:100%;height:auto;background:var(--sunken);border:1px solid var(--rule);border-radius:var(--radius)}.pc-bg{fill:var(--sunken)}.pc-ghost{fill:color-mix(in srgb,var(--ink-4) 8%,transparent);stroke:var(--rule-strong);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:fill .14s var(--ease),stroke .14s var(--ease)}.pc-hidden{stroke-dasharray:5 4;stroke:var(--ink-4);fill:none}.pc-clickable{cursor:pointer}.pc-clickable:hover{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:var(--accent)}.pc-selected{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent);stroke-width:2.5;vector-effect:non-scaling-stroke}.pc-crosshair{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 5;opacity:.45;vector-effect:non-scaling-stroke}.canvas-host{position:relative}.canvas-hint{margin-top:9px;font-family:var(--mono);font-size:11px;color:var(--ink-4);line-height:1.5}.page-tabs{display:flex;gap:2px;margin-bottom:var(--gap);overflow-x:auto;padding-bottom:2px}.page-tab{appearance:none;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-3);font-family:var(--mono);font-size:11.5px;padding:8px 13px;cursor:pointer;white-space:nowrap;transition:all .14s var(--ease)}.page-tab:hover{color:var(--ink-2);border-color:var(--ink-4)}.page-tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-glow)}.page-tab .count{color:var(--ink-4);margin-left:7px;font-size:10px}.locator{display:flex;gap:12px;align-items:flex-start;padding:9px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);margin-bottom:7px;transition:border-color .14s var(--ease)}.locator[role=button]{cursor:pointer}.locator[role=button]:hover{border-color:var(--accent)}.locator .page-canvas{flex:none}.locator-meta{min-width:0;display:flex;flex-direction:column;gap:3px}.locator-name{font-family:var(--mono);font-size:12px;color:var(--ink);overflow-wrap:anywhere}.locator-type{font-family:var(--mono);font-size:10px;color:var(--ink-4)}.vis-note{font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:2px 7px;border-radius:2px;display:inline-block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vis-revealed{color:var(--inferred);background:var(--inferred-bg);border:1px solid color-mix(in srgb,var(--inferred) 26%,transparent)}.vis-dead{color:var(--unknown);background:var(--unknown-bg);border:1px dashed color-mix(in srgb,var(--unknown) 40%,transparent)}.shape-summary{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:var(--gap)}.shape-chip{font-size:11px;color:var(--ink-2);background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:4px 10px;white-space:nowrap}.shape-chip b{color:var(--ink-1);font-variant-numeric:tabular-nums}.shape-chip.shape-warn{color:var(--inferred);background:var(--inferred-bg);border-color:color-mix(in srgb,var(--inferred) 30%,transparent)}.shape-chip.shape-warn b{color:var(--inferred)}.star{display:block;max-width:100%;height:auto}.star-edge{fill:none;stroke:var(--rule-strong, var(--rule));stroke-width:1.25}.star-edge-both{stroke:var(--inferred);stroke-width:1.75}.star-edge-inactive{stroke-dasharray:3 3;opacity:.6}.star-node rect{fill:var(--panel);stroke:var(--rule);stroke-width:1}.star-node text{fill:var(--ink-2);font-size:11px;font-family:var(--sans, inherit)}.star-node:hover rect{stroke:var(--ink-3)}.star-node:focus-visible rect{stroke:var(--accent, var(--ink-1));outline:none}.star-centre rect{fill:var(--panel-2, var(--panel));stroke:var(--ink-3);stroke-width:1.5}.star-centre text{fill:var(--ink-1);font-weight:600}.star-heading{fill:var(--ink-4);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--mono)}.overview{display:grid;gap:var(--gap);grid-template-columns:minmax(0,1fr);align-items:start}@media(min-width:1100px){.overview{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.overview>.panel:nth-child(3){grid-column:2;grid-row:1 / span 2}}.overview-lead{margin:0 0 10px;font-size:16px;line-height:1.55;color:var(--ink)}.overview-lead b{font-weight:600}.observation{display:flex;align-items:baseline;gap:12px;padding:9px 10px;margin:0 -10px;border-radius:var(--radius);color:var(--ink-2);cursor:pointer;transition:background .12s var(--ease)}.observation:hover,.observation:focus-visible{background:var(--raised);color:var(--ink);outline:none}.observation-count{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--ink);min-width:3ch;text-align:right;flex:none;font-variant-numeric:tabular-nums}.note-calcgroup{margin:14px 0;padding:10px 12px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--defined-tint) 30%,transparent);border-left-width:3px;background:var(--defined-bg);color:var(--ink-2);font-size:13px;line-height:1.5}.note-calcgroup b{color:var(--defined-tint);font-weight:600}.app-landing{min-height:100vh;display:flex;justify-content:center;padding:clamp(24px,7vh,88px) 20px 32px}.landing{width:100%;max-width:940px;display:flex;flex-direction:column;gap:26px}.landing-head{display:flex;flex-direction:column;gap:12px}.landing-mark{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:20px;letter-spacing:.02em}.landing-mark b{font-weight:600;color:var(--ink)}.landing-mark .lens{display:inline-block;width:16px;height:16px;border:2px solid var(--accent);border-radius:50%;position:relative;transform:translateY(2px)}.landing-mark .lens:after{content:"";position:absolute;inset:3px 3px auto auto;width:4px;height:4px;border-radius:50%;background:var(--accent)}.landing-tag{margin:0;font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink-2);letter-spacing:0;max-width:60ch}.landing-actions{display:flex;flex-wrap:wrap;gap:12px}.btn.big{padding:11px 20px;font-size:13px}.landing-note{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--ink-3);max-width:72ch;padding-left:13px;border-left:2px solid var(--rule-strong)}.landing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.landing-card{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);padding:16px 17px;box-shadow:var(--shadow-panel)}.landing-card b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:9px}.landing-card p{margin:0;font-family:var(--sans);font-size:13px;line-height:1.62;color:var(--ink-2)}.landing-hand{border:1px solid var(--rule);border-left:2px solid var(--accent);border-radius:var(--radius);background:var(--raised);padding:16px 18px}.landing-hand b{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.landing-hand p{margin:8px 0 0;font-family:var(--sans);font-size:13px;line-height:1.62;color:var(--ink-2);max-width:78ch}.notice{border-radius:var(--radius);padding:13px 15px;font-family:var(--sans);font-size:13px;line-height:1.6}.notice b{display:block;font-family:var(--mono);font-size:12px;margin-bottom:6px}.notice p{margin:0;color:var(--ink-2)}.notice-warn{background:var(--inferred-bg);border:1px solid var(--inferred);color:var(--ink)}.notice-error{background:var(--accent-glow);border:1px solid var(--accent-dim);color:var(--ink)}.app-busy{min-height:100vh;display:grid;place-items:center;padding:20px}.busy{display:flex;flex-direction:column;align-items:center;gap:14px;font-family:var(--mono);font-size:13px;color:var(--ink)}.busy-bar{width:200px;height:2px;background:var(--rule);overflow:hidden;position:relative}.busy-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:var(--accent);animation:sweep 1.1s var(--ease) infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){.busy-bar:after{animation:none;width:100%;opacity:.5}}.busy-detail{font-size:11px;color:var(--ink-3);letter-spacing:.06em;min-height:1em}.export-status{font-family:var(--mono);font-size:11px;color:var(--ink-3);max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-status.warn{color:var(--inferred)}.value-moment{position:fixed;right:18px;bottom:18px;z-index:40;max-width:380px;display:flex;flex-direction:column;gap:12px;padding:15px 34px 15px 16px;background:var(--panel);border:1px solid var(--rule-strong);border-left:2px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-panel);animation:value-in .32s var(--ease) both}@keyframes value-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.value-moment{animation:none}}.value-body{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--ink-2)}.value-body b{font-family:var(--mono);color:var(--ink);font-weight:600}.value-actions{display:flex;gap:8px}.value-actions .btn{text-decoration:none}.value-dismiss{position:absolute;top:8px;right:9px;background:none;border:0;padding:2px 6px;font-size:15px;line-height:1;color:var(--ink-4);cursor:pointer}.value-dismiss:hover{color:var(--ink-2)}
