:root{--ink:#0E0E10;--ink-2:#3A3A41;--muted:#62626A;--faint:#8B8B93;--line:#E4E4E8;--line-2:#CDCDD4;--white:#FFFFFF;--panel:#F6F6F7;--canvas:#E8E8EB;--signal:#2B45FF;--signal-ink:#1E33CC;--signal-tint:#EDF0FF;--pass:#146C3E;--pass-tint:#E6F3EB;--warn:#8F4A00;--warn-tint:#FFF2DE;--fail:#B3261E;--fail-tint:#FCEBEA}*{box-sizing:border-box}html,body{margin:0;background:var(--white);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:var(--signal-ink)}a:hover{color:var(--ink)}.eyebrow{font:600 11px/1.2 Geist Mono,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.display{font-weight:900;font-size:96px;line-height:.9;letter-spacing:-.055em}.h1{font-weight:850;font-size:52px;line-height:1;letter-spacing:-.045em;text-wrap:balance}.h2{font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-.02em}.h3{font-weight:700;font-size:15px;line-height:1.3;letter-spacing:-.005em}.lead{font-size:16px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}.small{font-size:12.5px;line-height:1.4;color:var(--muted)}.mono{font-family:Geist Mono,ui-monospace,monospace}.hex{font:500 12px/1 Geist Mono,ui-monospace,monospace;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:8px;border:1px solid var(--line-2);background:var(--white);color:var(--ink);font:600 14px/1 Geist,system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--ink);color:var(--ink)}.btn-primary{background:var(--signal);border-color:var(--signal);color:#fff}.btn-primary:hover{background:var(--signal-ink);border-color:var(--signal-ink);color:#fff}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-dark:hover{color:#fff}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--panel);border-color:transparent}.btn-lg{height:56px;padding:0 24px;font-size:16px;border-radius:10px}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:7px;gap:6px}.btn-icon{width:40px;padding:0}.btn-sm.btn-icon{width:32px}.btn.is-disabled,.btn[disabled]{background:var(--panel);border-color:var(--line);color:var(--faint);cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font:600 12px/1 Geist,system-ui,sans-serif;background:var(--panel);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.chip-pass{background:var(--pass-tint);color:var(--pass);border-color:transparent}.chip-warn{background:var(--warn-tint);color:var(--warn);border-color:transparent}.chip-fail{background:var(--fail-tint);color:var(--fail);border-color:transparent}.chip-signal{background:var(--signal-tint);color:var(--signal-ink);border-color:transparent}.chip-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.chip-line{background:var(--white)}.src{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:5px;border:1px solid var(--line-2);font:500 11px/1 Geist Mono,ui-monospace,monospace;color:var(--ink-2);letter-spacing:.01em;white-space:nowrap;background:var(--white)}.src-ai{border-style:dashed;color:var(--signal-ink);border-color:#9aa6ff}.fmt{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:5px;background:var(--ink);color:#fff;font:600 11px/1 Geist Mono,ui-monospace,monospace;letter-spacing:.02em}.conf{display:inline-flex;gap:2px;align-items:center}.conf i{display:block;width:4px;height:10px;border-radius:1px;background:var(--line-2)}.conf i.on{background:var(--ink)}.conf.low i.on{background:var(--warn)}.card{background:var(--white);border:1px solid var(--line);border-radius:12px}.well{background:var(--panel);border:1px solid var(--line);border-radius:12px}.rule{height:1px;background:var(--line);border:0;margin:0}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.label{font:600 12px/1.2 Geist,system-ui,sans-serif;color:var(--ink-2)}.input{display:flex;align-items:center;height:40px;width:100%;padding:0 12px;border:1px solid var(--line-2);border-radius:8px;background:var(--white);font:400 14px/1.2 Geist,system-ui,sans-serif;color:var(--ink);min-width:0}.input:focus{outline:2px solid var(--signal);outline-offset:1px;border-color:var(--signal)}.input.is-error{border-color:var(--fail);outline:3px solid var(--fail-tint);outline-offset:0}textarea.input{height:auto;padding:12px;line-height:1.6;resize:vertical}select.input{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2362626A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}input[type=checkbox],input[type=radio]{accent-color:var(--signal);width:16px;height:16px;margin:0;flex:none}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:9px;background:var(--panel);border:1px solid var(--line)}.seg button{height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;font:600 13px/1 Geist,system-ui,sans-serif;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.seg button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 0 0 1px var(--line-2)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tab{height:40px;padding:0 12px;border:0;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px;font:600 13px/1 Geist,system-ui,sans-serif;color:var(--muted);display:inline-flex;align-items:center;gap:8px;cursor:pointer}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tab .count{font:500 11px/1 Geist Mono,monospace;color:var(--muted)}.switch{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0;border:0;background:none;font:500 13px/1 Geist,system-ui,sans-serif;color:var(--ink-2);cursor:pointer}.switch i{width:32px;height:18px;border-radius:9px;background:var(--line-2);position:relative;display:inline-block;flex:none}.switch i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003}.switch[aria-pressed=true] i{background:var(--signal)}.switch[aria-pressed=true] i:after{left:16px}.bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.bar>b{display:block;height:100%;background:var(--signal);border-radius:2px}.spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--signal);animation:spin .9s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.skel{background:linear-gradient(90deg,#ececef,#f5f5f7,#ececef);background-size:200% 100%;animation:sk 1.4s linear infinite;border-radius:8px}@keyframes sk{to{background-position:-200% 0}}.nav{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font:500 14px/1 Geist,system-ui,sans-serif}.nav:hover{background:#ececef;color:var(--ink)}.nav.is-active{background:var(--ink);color:#fff}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.ic-lg{width:20px;height:20px}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{font:600 11px/1.2 Geist Mono,ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl .r{text-align:right}.checker{background-color:#fff;background-image:repeating-conic-gradient(#e6e6ea 0 25%,#fff 0 50%);background-size:16px 16px}.studio{background:radial-gradient(120% 90% at 50% 30%,#fafafa,#ededed 60%,#dcdcdc)}.toast{background:var(--ink);color:#fff;border-radius:12px;box-shadow:0 12px 32px #0e0e102e}.pop{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #0e0e101f}.f-display{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto}.f-body{font-family:Jost,Futura,Century Gothic,sans-serif}:root{--rail:#0E0E10;--rail-line:#2A2A30;--rail-fg:#FFFFFF;--rail-muted:#9A9AA3;--rail-hover:#1C1C20;--code:#0E0E10}.h1d{font-weight:800;font-size:34px;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}.kpi{font-weight:800;font-size:30px;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.kpi-lg{font-size:44px;letter-spacing:-.045em}.num{font-variant-numeric:tabular-nums}.rnav{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:8px;color:#d5d5db;text-decoration:none;font:500 13.5px/1 Geist,system-ui,sans-serif}.rnav:hover{background:var(--rail-hover);color:#fff}.rnav.is-active{background:#fff;color:var(--ink);font-weight:650}.rnav .cnt{margin-left:auto;font:600 11px/1 Geist Mono,ui-monospace,monospace;color:var(--rail-muted)}.rnav.is-active .cnt{color:var(--muted)}.rnav .cnt.hot{background:var(--signal);color:#fff;padding:3px 6px;border-radius:999px}.rlabel{font:600 10.5px/1 Geist Mono,ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#7c7c86;padding:0 10px}.tile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:8px;font:800 14px/1 Geist,system-ui,sans-serif;color:#fff}.tile-sm{width:22px;height:22px;border-radius:6px;font-size:11px}.tile-lg{width:48px;height:48px;border-radius:12px;font-size:20px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--panel);border:1px solid var(--line);font:700 11px/1 Geist,system-ui,sans-serif;color:var(--ink)}.prov{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:var(--white);font:500 11px/1 Geist,system-ui,sans-serif;color:var(--muted);white-space:nowrap}.prov:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pass)}.prov.is-stale{background:var(--panel)}.prov.is-stale:before{background:var(--faint)}.prov.is-none{border-style:dashed}.prov.is-none:before{display:none}.lock{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:6px;border:1.5px solid var(--ink);background:var(--white);font:650 12px/1 Geist,system-ui,sans-serif;color:var(--ink);white-space:nowrap}.lock-live{border-color:var(--pass);color:var(--pass);background:var(--pass-tint)}.lock-dup{border-color:var(--signal);color:var(--signal-ink);background:var(--signal-tint)}.never{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink-2)}.never:before{content:"✕";font-weight:800;color:var(--fail);flex:none}.can{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink-2)}.can:before{content:"✓";font-weight:800;color:var(--pass);flex:none}.banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-size:14px;line-height:1.5}.banner-info{background:var(--signal-tint);border-color:#c9d1ff}.banner-warn{background:var(--warn-tint);border-color:#f5d9a8}.banner-fail{background:var(--fail-tint);border-color:#f2bdb8}.banner-pass{background:var(--pass-tint);border-color:#bfe0cc}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font:600 12px/1 Geist,system-ui,sans-serif;background:var(--panel);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-pass{background:var(--pass-tint);color:var(--pass);border-color:transparent}.pill-warn{background:var(--warn-tint);color:var(--warn);border-color:transparent}.pill-fail{background:var(--fail-tint);color:var(--fail);border-color:transparent}.pill-signal{background:var(--signal-tint);color:var(--signal-ink);border-color:transparent}.pill-solid{background:var(--pass);color:#fff;border-color:transparent}.pill-ink{background:var(--ink);color:#fff;border-color:transparent}.code{background:var(--code);color:#e6e6ec;border-radius:10px;padding:16px 18px;font:400 12.5px/1.75 Geist Mono,ui-monospace,Menlo,monospace;overflow-x:auto;white-space:pre;tab-size:2}.code .ln{display:inline-block;width:28px;color:#5f5f69;-webkit-user-select:none;user-select:none}.tk-tag{color:#8fa0ff}.tk-str{color:#f2c078}.tk-key{color:#7fd6a6}.tk-com{color:#7c7c86}.tk-num{color:#f29a8e}.diff-add{background:var(--pass-tint);color:var(--pass)}.diff-del{background:var(--fail-tint);color:var(--fail)}.device{background:var(--white);border:1px solid var(--line-2);border-radius:12px;overflow:hidden;box-shadow:0 1px #0e0e100a}.device-bar{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--panel)}.device-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2);display:block}.device-url{flex:1;height:22px;display:flex;align-items:center;padding:0 10px;border-radius:6px;background:var(--white);border:1px solid var(--line);font:400 11.5px/1 Geist Mono,ui-monospace,monospace;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone{background:var(--white);border:8px solid var(--ink);border-radius:36px;overflow:hidden}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.kv{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 16px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;background:var(--faint)}.dot-pass{background:var(--pass)}.dot-warn{background:#c77a00}.dot-fail{background:var(--fail)}.dot-signal{background:var(--signal)}
