@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Hanken+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ink:#090b10;--bg:#0a0d13;--surface-1:#10141d;--surface-2:#161b26;--surface-3:#1e2533;--surface-4:#283041;--line:#ffffff12;--line-2:#ffffff1f;--line-3:#fff3;--text:#eef1f7;--text-dim:#a4abbb;--text-faint:#687087;--text-mute:#4c546789;--wl-brand:#7c6bff;--wl-brand-2:#a78bff;--wl-brand-ink:#0a0d13;--wl-name:"Bi-Rank";--signal:#bfff4a;--good:#3dd68c;--warn:#f5b73c;--bad:#ff6b6b;--info:#5cc8ff;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--shadow-1:0 1px 0 #ffffff0a inset, 0 12px 30px -12px #0009;--shadow-2:0 30px 80px -30px #000c;--font-display:"Space Grotesk", sans-serif;--font-body:"Hanken Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box}deck-stage:not(:defined){visibility:hidden}html,body{background:var(--ink);font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}.slide{background:radial-gradient(1200px 700px at 82% -10%, color-mix(in srgb, var(--wl-brand) 14%, transparent), transparent 60%), radial-gradient(900px 600px at -5% 110%, color-mix(in srgb, var(--wl-brand) 9%, transparent), transparent 55%), var(--bg);width:1920px;height:1080px;color:var(--text);flex-direction:column;display:flex;position:relative;overflow:hidden}.slide:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 100% at 50% 0,#000 35%,#0000 90%);mask-image:radial-gradient(120% 100% at 50% 0,#000 35%,#0000 90%)}.pad{padding:96px 110px}.pad-tight{padding:72px 96px}.eyebrow{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--wl-brand-2);align-items:center;gap:12px;margin:0;font-size:19px;display:inline-flex}.eyebrow:before{content:"";background:var(--wl-brand-2);opacity:.7;width:30px;height:1px}.eyebrow.no-rule:before{display:none}h1.display{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:110px;font-weight:600;line-height:.98}h2.title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:72px;font-weight:600;line-height:1.02}h3.heading{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:40px;font-weight:600;line-height:1.05}.lead{color:var(--text-dim);text-wrap:pretty;max-width:30ch;margin:0;font-size:30px;font-weight:400;line-height:1.45}.grad{background:linear-gradient(100deg, var(--wl-brand-2), var(--signal) 130%);color:#0000;-webkit-background-clip:text;background-clip:text}.mono{font-family:var(--font-mono)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.slide-foot{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:17px;display:flex;position:absolute;bottom:46px;left:110px;right:110px}.slide-foot .wl-foot-name{color:var(--text-dim)}.logo{align-items:center;gap:14px;display:inline-flex}.logo-mark{background:linear-gradient(150deg, var(--wl-brand), var(--wl-brand-2));width:46px;height:46px;font-family:var(--font-mono);color:var(--wl-brand-ink);box-shadow:0 8px 24px -8px color-mix(in srgb, var(--wl-brand) 70%, transparent);border-radius:12px;place-items:center;font-size:22px;font-weight:600;display:grid;position:relative;overflow:hidden}.logo-mark:after{content:"01";place-items:center;display:grid;position:absolute;inset:0}.brand-mark{width:auto;height:46px;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--wl-brand) 38%, transparent));flex:none}.brand-mark rect,.brand-mark circle{transform-box:fill-box}.brand-mark.anim .b1{transform-origin:bottom;animation:5s cubic-bezier(.34,1.4,.5,1) infinite brank-g1}.brand-mark.anim .b2{transform-origin:bottom;animation:5s cubic-bezier(.34,1.4,.5,1) infinite brank-g2}.brand-mark.anim .b3{transform-origin:bottom;animation:5s cubic-bezier(.34,1.4,.5,1) infinite brank-g3}.brand-mark.anim .node{transform-origin:50%;animation:5s ease-out infinite brank-np}.brand-mark.anim .ping{transform-origin:50%;animation:5s ease-out infinite brank-pg}@keyframes brank-g1{0%{transform:scaleY(0)}8%{transform:scaleY(1)}88%{transform:scaleY(1)}96%,to{transform:scaleY(0)}}@keyframes brank-g2{0%,4%{transform:scaleY(0)}14%{transform:scaleY(1)}88%{transform:scaleY(1)}95%,to{transform:scaleY(0)}}@keyframes brank-g3{0%,8%{transform:scaleY(0)}20%{transform:scaleY(1)}88%{transform:scaleY(1)}94%,to{transform:scaleY(0)}}@keyframes brank-np{0%,18%{transform:scale(0)}28%{transform:scale(1.18)}34%{transform:scale(1)}88%{transform:scale(1)}94%,to{transform:scale(0)}}@keyframes brank-pg{0%,24%{opacity:0;transform:scale(.5)}26%{opacity:.7}48%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.brand-mark.anim *{animation:none!important}}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;font-size:27px;font-weight:600}.logo-word b{font-weight:600}.logo-word .by{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.06em;margin-top:1px;font-size:14px;font-weight:400;display:block}.app{background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-2);grid-template-columns:280px 1fr;width:100%;height:100%;display:grid;overflow:hidden}.app.no-side{grid-template-columns:1fr}.side{background:linear-gradient(180deg, var(--surface-2), var(--surface-1));border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:26px 18px;display:flex}.side .logo{padding:6px 10px 22px}.side .logo-mark{border-radius:11px;width:44px;height:44px;font-size:20px}.side .logo-word{font-size:22px}.nav-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);padding:18px 12px 8px;font-size:12px}.nav-item{border-radius:var(--r-sm);color:var(--text-dim);cursor:default;align-items:center;gap:13px;padding:12px 14px;font-size:18px;font-weight:500;display:flex}.nav-item .ic{opacity:.8;flex:none;width:20px;height:20px}.nav-item.active{background:color-mix(in srgb, var(--wl-brand) 18%, transparent);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wl-brand) 35%, transparent)}.nav-item.active .ic{opacity:1;color:var(--wl-brand-2)}.nav-badge{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--line-2);color:var(--text-dim);border-radius:20px;margin-left:auto;padding:2px 8px;font-size:12px}.side-foot{box-sizing:border-box;border-top:1px solid var(--line);align-items:center;gap:12px;min-height:74px;margin-top:auto;padding:8px 10px;display:flex}.avatar{background:linear-gradient(135deg, var(--surface-4), var(--wl-brand));color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:600;display:grid}.side-foot .nm{font-size:15px;font-weight:600}.side-foot .rl{color:var(--text-faint);font-size:13px}.main{flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-1) 80%, transparent);align-items:center;gap:18px;height:78px;padding:0 32px;display:flex}@media (width<=680px){.topbar{gap:8px;height:60px;padding:0 14px}.crumbs{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;display:block;overflow:hidden}.search{flex-shrink:1;width:auto;min-width:36px;padding:8px 12px}.search span{display:none}}.crumbs{color:var(--text-faint);align-items:center;gap:10px;font-size:18px;display:flex}.crumbs b{color:var(--text);font-weight:600}.search{background:var(--surface-2);border:1px solid var(--line-2);color:var(--text-faint);border-radius:30px;align-items:center;gap:10px;width:320px;margin-left:auto;padding:10px 18px;font-size:16px;display:flex}.canvas{flex:1;padding:34px;overflow:hidden}.page-h{align-items:flex-end;gap:18px;margin-bottom:26px;display:flex}.page-h h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:36px;font-weight:600}.page-h .sub{color:var(--text-faint);margin-left:2px;font-size:17px}.card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:24px}.card.glow{box-shadow:0 0 0 1px color-mix(in srgb, var(--wl-brand) 22%, transparent), 0 24px 60px -30px color-mix(in srgb, var(--wl-brand) 60%, transparent)}.grid{gap:18px;display:grid}.stat .k{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:13px;display:block}.stat .v{font-family:var(--font-display);letter-spacing:-.02em;margin-top:8px;font-size:46px;font-weight:600;line-height:1.04;display:block}.stat .d{align-items:center;gap:6px;margin-top:10px;font-size:15px;display:flex}.up{color:var(--good)}.down{color:var(--bad)}.badge{font-family:var(--font-mono);border:1px solid var(--line-2);color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;border-radius:30px;align-items:center;gap:7px;padding:5px 11px;font-size:13px;font-weight:500;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.badge.good{color:var(--good);border-color:color-mix(in srgb, var(--good) 40%, transparent);background:color-mix(in srgb, var(--good) 12%, transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 12%, transparent)}.badge.bad{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, transparent);background:color-mix(in srgb, var(--bad) 12%, transparent)}.badge.brand{color:var(--wl-brand-2);border-color:color-mix(in srgb, var(--wl-brand) 45%, transparent);background:color-mix(in srgb, var(--wl-brand) 14%, transparent)}.badge.signal{color:#0a0d13;background:var(--signal);border:none;font-weight:600}.chip{background:var(--surface-3);border:1px solid var(--line);color:var(--text-dim);white-space:nowrap;border-radius:9px;align-items:center;gap:8px;padding:7px 13px;font-size:15px;display:inline-flex}.btn{font-family:var(--font-body);border:1px solid var(--line-2);background:var(--surface-3);color:var(--text);cursor:default;white-space:nowrap;border-radius:10px;align-items:center;gap:9px;padding:12px 18px;font-size:16px;font-weight:600;display:inline-flex}.btn.primary{background:linear-gradient(120deg, var(--wl-brand), var(--wl-brand-2));color:var(--wl-brand-ink);box-shadow:0 12px 30px -12px color-mix(in srgb, var(--wl-brand) 80%, transparent);border:none}.btn.ghost{background:0 0}.btn .ic{width:18px;height:18px}.ring{--val:78;--col:var(--signal);background:radial-gradient(closest-side, var(--surface-2) 79%, transparent 80% 100%), conic-gradient(var(--col) calc(var(--val) * 1%), color-mix(in srgb, var(--col) 16%, var(--surface-3)) 0);border-radius:50%;flex:none;place-items:center;width:132px;height:132px;display:grid;position:relative}.ring .num{font-family:var(--font-display);letter-spacing:-.02em;font-size:40px;font-weight:600}.ring .lab{font-family:var(--font-mono);letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-top:2px;font-size:11px}.ring.sm{width:96px;height:96px}.ring.sm .num{font-size:30px}.ring.lg{width:200px;height:200px}.ring.lg .num{font-size:64px}.grade{font-family:var(--font-display);font-weight:700}.meter{background:var(--surface-4);border-radius:20px;height:8px;overflow:hidden}.meter>span{background:var(--signal);border-radius:20px;height:100%;display:block}.meter.brand>span{background:linear-gradient(90deg, var(--wl-brand), var(--wl-brand-2))}.tbl{border-collapse:collapse;width:100%;font-size:17px}.tbl th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--line-2);padding:12px 14px;font-size:12px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);color:var(--text-dim);padding:16px 14px}.tbl tr:last-child td{border-bottom:none}.tbl td .pri{color:var(--text);font-weight:600}.tbl .favicon{background:var(--surface-4);width:30px;height:30px;color:var(--text-dim);border-radius:8px;place-items:center;font-size:14px;font-weight:700;display:inline-grid}.attr{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;grid-template-columns:26px 1fr auto;align-items:center;gap:14px;padding:15px 16px;display:grid}.attr .ck{border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.attr .ck.ok{background:color-mix(in srgb, var(--good) 22%, transparent);color:var(--good)}.attr .ck.miss{background:color-mix(in srgb, var(--bad) 18%, transparent);color:var(--bad)}.attr .ck.part{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.attr .nm{font-family:var(--font-mono);color:var(--text);font-size:16px}.attr .ds{color:var(--text-faint);margin-top:2px;font-size:14px}.ai-card{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--wl-brand) 35%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--wl-brand) 12%, transparent), transparent 60%), var(--surface-2);padding:22px}.ai-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.ai-orb{background:conic-gradient(from 180deg, var(--wl-brand), var(--signal), var(--wl-brand-2), var(--wl-brand));width:34px;height:34px;box-shadow:0 0 20px -2px color-mix(in srgb, var(--wl-brand) 70%, transparent);border-radius:50%;flex:none}.ai-head .t{font-size:17px;font-weight:600}.ai-head .s{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.1em;font-size:12px}.codeblock{font-family:var(--font-mono);background:var(--ink);border:1px solid var(--line-2);color:var(--text-dim);white-space:pre-wrap;border-radius:10px;padding:16px 18px;font-size:14px;line-height:1.7}.codeblock .add{color:var(--good)}.codeblock .del{color:var(--bad)}.codeblock .key{color:var(--wl-brand-2)}.ba{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ba .col{border:1px solid var(--line-2);border-radius:11px;padding:16px}.ba .col.before{background:color-mix(in srgb, var(--bad) 7%, var(--surface-2));border-color:color-mix(in srgb, var(--bad) 28%, transparent)}.ba .col.after{background:color-mix(in srgb, var(--good) 8%, var(--surface-2));border-color:color-mix(in srgb, var(--good) 30%, transparent)}.ba .tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:12px}.ba .before .tag{color:var(--bad)}.ba .after .tag{color:var(--good)}.row{align-items:center;gap:14px;display:flex}.col{flex-direction:column;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.mt-auto{margin-top:auto}.divider{background:var(--line);border:none;height:1px;margin:0}.kpi-spark{align-items:flex-end;gap:4px;height:40px;display:flex}.kpi-spark i{background:color-mix(in srgb, var(--wl-brand) 55%, var(--surface-4));border-radius:3px;width:7px;display:block}.mockwin-bar{background:var(--surface-1);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px 18px;display:flex}.mockwin-bar .dots{gap:7px;display:flex}.mockwin-bar .dots i{background:var(--surface-4);border-radius:50%;width:11px;height:11px;display:block}.fld-l{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-faint);text-transform:uppercase;font-size:12px}.fld{background:var(--surface-1);border:1px solid var(--line-2);color:var(--text);border-radius:9px;align-items:center;gap:8px;min-height:48px;padding:13px 14px;font-size:16px;display:flex}.upload{border:1.5px dashed var(--line-3);min-height:86px;color:var(--text-faint);text-align:center;border-radius:11px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:14px;display:flex}.upload.filled{border-style:solid;border-color:var(--line-2);background:var(--surface-1);flex-direction:row;gap:14px}.swatch{border:1px solid var(--line-2);cursor:default;border-radius:11px;width:46px;height:46px;display:block}.swatch.sel{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #fff}.swatch.add{background:var(--surface-3);color:var(--text-faint);font-size:22px;font-family:var(--font-mono);place-items:center;display:grid}.modal{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-lg);width:min(720px,100%);box-shadow:var(--shadow-2);padding:30px 32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.step{color:var(--text-faint);align-items:center;gap:9px;font-size:15px;font-weight:500;display:flex}.step .sn{width:26px;height:26px;font-family:var(--font-mono);background:var(--surface-4);color:var(--text-dim);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.step.cur{color:var(--text)}.step.cur .sn{background:var(--wl-brand);color:var(--wl-brand-ink)}.step.done{color:var(--text-dim)}.step.done .sn{background:color-mix(in srgb, var(--good) 26%, transparent);color:var(--good)}.step-line{background:var(--surface-4);flex:1;height:2px;margin:0 12px}.step-line.done{background:color-mix(in srgb, var(--good) 50%, transparent)}.choice{border:1px solid var(--line-2);background:var(--surface-1);border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.choice.sel{border-color:var(--wl-brand);background:color-mix(in srgb, var(--wl-brand) 10%, var(--surface-1))}.choice .ico{background:var(--surface-3);width:44px;height:44px;color:var(--wl-brand-2);border-radius:11px;flex:none;place-items:center;display:grid}.choice .radio{border:2px solid var(--line-3);border-radius:50%;flex:none;width:22px;height:22px;margin-left:auto}.choice .radio.on{border-color:var(--wl-brand);background:radial-gradient(closest-side, var(--wl-brand) 55%, transparent 58%)}.cell-bar{background:var(--surface-4);border-radius:20px;width:90px;height:7px;display:inline-block;overflow:hidden}.cell-bar i{border-radius:20px;height:100%;display:block}.pillar{color:var(--text-dim);flex-direction:column;gap:9px;font-size:16px;display:flex}.pillar .mono{font-weight:600}.issue{border-top:1px solid var(--line);align-items:center;gap:14px;padding:15px 22px;display:flex}.issue .sev{font-family:var(--font-mono);letter-spacing:.08em;border-radius:6px;flex:none;padding:4px 9px;font-size:11px;font-weight:600}.issue .sev.high{color:var(--bad);background:color-mix(in srgb, var(--bad) 16%, transparent)}.issue .sev.mid{color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, transparent)}.issue .sev.low{color:var(--info);background:color-mix(in srgb, var(--info) 16%, transparent)}.grade-row{align-items:center;gap:16px;display:flex}.grade-row .grade{text-align:center;flex:none;width:40px}.grade-row .dim{font-size:16px}.pillar-card{border-left:2px solid color-mix(in srgb, var(--wl-brand) 40%, transparent);padding-left:16px}.fixq{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;align-items:center;gap:12px;padding:13px 14px;display:flex}.fixq.sel{border-color:var(--wl-brand);background:color-mix(in srgb, var(--wl-brand) 12%, var(--surface-2))}.fixq .sev{font-family:var(--font-mono);border-radius:7px;flex:none;padding:5px 9px;font-size:13px;font-weight:600}.attr-card{flex-direction:column;display:flex}.attr-card .heading{color:var(--text)}.seg{border-radius:20px;height:10px;display:block}.aimode-card{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wl-brand) 14%, transparent);padding:16px}[data-theme=light]{--ink:#e7eaf1;--bg:#f7f8fb;--surface-1:#fff;--surface-2:#f3f5f9;--surface-3:#eaedf4;--surface-4:#dce1eb;--line:#1217221a;--line-2:#12172229;--line-3:#12172242;--text:#141823;--text-dim:#4b5366;--text-faint:#7b8398;--text-mute:#9aa2b366;--wl-brand-2:#6a4fe0;--signal:#2f9e00;--good:#1fa968;--warn:#c0871a;--bad:#e14b4f;--info:#2b8fe0;--shadow-1:0 1px 0 #ffffffb3 inset, 0 12px 30px -16px #19234133;--shadow-2:0 30px 70px -34px #1923414d}[data-theme=light] .slide:after{background-image:linear-gradient(#12172208 1px,#0000 1px),linear-gradient(90deg,#12172208 1px,#0000 1px)}[data-theme=light] .badge.signal{color:#fff}deck-stage{background:var(--ink);transition:background .25s}#theme-toggle{z-index:2147483000;background:color-mix(in srgb, var(--surface-2) 86%, transparent);border:1px solid var(--line-2);box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:4px;padding:5px;display:inline-flex;position:fixed;top:18px;right:18px}#theme-toggle .seg-btn{cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-faint);text-transform:uppercase;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:inline-flex}#theme-toggle .seg-btn svg{width:15px;height:15px}#theme-toggle .seg-btn.on{background:color-mix(in srgb, var(--wl-brand) 18%, transparent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wl-brand) 35%, transparent)}@media (width<=700px){#theme-toggle .lbl{display:none}}html,body{height:100%}body{background:var(--bg);background:radial-gradient(1200px 700px at 100% -10%, color-mix(in srgb, var(--wl-brand) 9%, transparent), transparent 60%), var(--bg);margin:0;transition:background .25s,color .25s;overflow:hidden}.app-shell{background:var(--surface-1);grid-template-columns:272px 1fr;height:100dvh;display:grid;position:fixed;inset:0}.app-shell .side{padding:22px 16px 0}.app-shell .nav-item{cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.app-shell .nav-item:hover:not(.active){background:var(--surface-2);color:var(--text)}.main{background:var(--bg);flex-direction:column;min-width:0;display:flex}.topbar{flex:none}.canvas{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;flex:1;min-height:0;padding:30px 36px 40px;overflow:hidden auto}.canvas::-webkit-scrollbar{width:11px}.canvas::-webkit-scrollbar-thumb{background:var(--surface-4);background-clip:content-box;border:3px solid #0000;border-radius:20px}.canvas::-webkit-scrollbar-track{background:0 0}.view{display:none}.view.active{display:block}.view.anim-in{animation:.3s cubic-bezier(.22,.61,.36,1) both viewIn}@keyframes viewIn{0%{transform:translateY(10px)}to{transform:none}}.view-inner{max-width:1340px;margin:0 auto}.btn,.nav-item,.chip,.tab,.swatch,.crumb-link,.row-click,.seg-btn,[data-nav],[data-drill]{cursor:pointer}.btn{transition:transform .12s,box-shadow .15s,background .15s,border-color .15s}.btn:hover{border-color:var(--line-3);transform:translateY(-1px)}.btn.primary:hover{box-shadow:0 16px 34px -12px color-mix(in srgb, var(--wl-brand) 90%, transparent)}.btn:active{transform:translateY(0)}.row-click{transition:background .15s}tbody .row-click:hover{background:color-mix(in srgb, var(--wl-brand) 7%, transparent)}tbody .row-click:hover .pri{color:var(--wl-brand-2)}.chip{-webkit-user-select:none;user-select:none;transition:background .15s,color .15s,border-color .15s}.chip:hover{color:var(--text);border-color:var(--line-3)}.chip.on{background:color-mix(in srgb, var(--wl-brand) 18%, transparent);color:var(--text);border-color:color-mix(in srgb, var(--wl-brand) 40%, transparent)}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:22px;display:flex}.tab{color:var(--text-faint);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:16px;font-weight:600;transition:color .15s,border-color .15s}.tab:hover{color:var(--text-dim)}.tab.on{color:var(--text);border-color:var(--wl-brand)}.crumb-link{color:var(--text-faint);text-decoration:none;transition:color .15s}.crumb-link:hover{color:var(--text)}.back-btn{color:var(--text-faint);cursor:pointer;align-items:center;gap:8px;margin-bottom:16px;font-size:15px;transition:color .15s;display:inline-flex}.back-btn:hover{color:var(--text)}.back-btn svg{width:18px;height:18px;transform:rotate(180deg)}.card.clickable{transition:transform .15s,border-color .15s,box-shadow .15s}.card.clickable:hover{border-color:color-mix(in srgb, var(--wl-brand) 40%, transparent);box-shadow:0 20px 50px -28px color-mix(in srgb, var(--wl-brand) 70%, transparent);transform:translateY(-2px)}#toast{opacity:0;pointer-events:none;background:var(--surface-3);border:1px solid var(--line-2);color:var(--text);box-shadow:var(--shadow-2);z-index:6000;border-radius:12px;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:500;transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .3s;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(calc(100% + 60px))}#toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}#toast svg{width:18px;height:18px;color:var(--signal)}.modal-overlay{background:color-mix(in srgb, var(--ink) 72%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5000;place-items:center;padding:40px;display:none;position:fixed;inset:0}.modal-overlay.open{animation:.2s fadeIn;display:grid}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay .modal{max-height:88vh;animation:.26s cubic-bezier(.22,.61,.36,1) popIn;position:static;overflow-y:auto;transform:none}@keyframes popIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.choice{cursor:pointer;transition:border-color .15s,background .15s}.choice:hover:not(.sel){border-color:var(--line-3)}.app-page-h{align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.app-page-h h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:30px;font-weight:600}.app-page-h .sub{color:var(--text-faint);font-size:16px}.seg{background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:3px;padding:4px;display:inline-flex}.seg .seg-btn{width:34px;height:30px;color:var(--text-faint);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.seg .seg-btn svg{width:17px;height:17px}.seg .seg-btn:not(.on):hover{color:var(--text);background:var(--surface-3)}.seg .seg-btn.on{background:color-mix(in srgb, var(--wl-brand) 22%, transparent);color:var(--wl-brand-2);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wl-brand) 40%, transparent)}#client-banner{background:color-mix(in srgb, var(--wl-brand) 16%, transparent);border-bottom:1px solid color-mix(in srgb, var(--wl-brand) 35%, transparent);color:var(--text);align-items:center;gap:12px;padding:9px 32px;font-size:14px;display:none}body.client-view #client-banner{display:flex}#client-banner .mono{color:var(--wl-brand-2)}#client-banner .exit{cursor:pointer;color:var(--text-dim);margin-left:auto;text-decoration:underline}body.client-view .agency-only{display:none}body.client-view .dashboard-stats{grid-template-columns:repeat(3,1fr)}body.client-view .dashboard-main{grid-template-columns:1fr}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.soft{color:var(--text-faint)}.mini-spark{align-items:flex-end;gap:3px;height:32px;display:flex}.mini-spark i{background:color-mix(in srgb, var(--wl-brand) 55%, var(--surface-4));border-radius:2px;width:6px;display:block}.brand-preset{border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-dim);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:9px 14px 9px 10px;font-size:15px;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.brand-preset:hover{color:var(--text);border-color:var(--line-3)}.brand-preset.on{color:var(--text);border-color:var(--wl-brand);background:color-mix(in srgb, var(--wl-brand) 12%, var(--surface-2))}.brand-preset .sw{border-radius:8px;flex:none;width:26px;height:26px;display:block}.wl-mark[data-mark]:after{content:attr(data-mark)}.hamburger{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-right:4px;padding:6px;transition:color .15s,background .15s;display:none}.hamburger:hover{color:var(--text);background:var(--surface-2)}.hamburger svg{width:22px;height:22px}.sidebar-overlay{z-index:3999;background:#0009;position:fixed;inset:0}@media print{.app-shell{background:#fff!important;height:auto!important;display:block!important;position:static!important;overflow:visible!important}.side,.topbar,#client-banner,.sidebar-overlay,.back-btn,.hamburger{display:none!important}#canvas::-webkit-scrollbar{display:none!important}#v-report .btn.primary,#v-report .btn{display:none!important}.main,.canvas,.view,.view-inner{flex:none!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.view.active{display:block!important}.view-inner{max-width:100%!important;padding:0!important}.canvas{padding:0!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card{break-inside:avoid;page-break-inside:avoid}#v-report .card>.col>div{break-inside:avoid}.view.anim-in{animation:none!important}#v-report>.view-inner>div:last-child{margin-top:40px}}@media (width<=1080px){.app-shell{grid-template-columns:76px 1fr}.app-shell .side .logo-word,.app-shell .nav-item span:not(.nav-badge):not(.ic),.app-shell .nav-label,.app-shell .side-foot .col{display:none}.app-shell .nav-item{justify-content:center}body{overflow:visible}.app-shell{height:auto;min-height:100dvh;position:static}.main{min-height:100dvh;overflow:visible}.canvas{-webkit-overflow-scrolling:auto;overscroll-behavior:auto;scroll-behavior:auto;height:auto;min-height:0;overflow:clip visible}.app-shell .side{align-self:start;height:100dvh;position:sticky;top:0;overflow-y:auto}.topbar{z-index:30;background:var(--bg);position:sticky;top:0}.canvas .card:has(table.tbl){-webkit-overflow-scrolling:touch;overflow-x:auto!important}.canvas table.tbl{width:max-content;min-width:100%;font-size:15px}.canvas table.tbl th,.canvas table.tbl td{white-space:nowrap;padding:11px 10px}.ba{grid-template-columns:1fr}.grid[style*="300px 1fr"],.grid[style*="340px 1fr"],.grid[style*="1.1fr 1fr"]{grid-template-columns:1fr!important}.row.between>.row{flex-wrap:wrap}.search{width:auto;max-width:220px}#theme-seg,.topbar .btn-label{display:none}.crumbs{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;display:block;overflow:hidden}}@media (width<=680px){.app-shell{grid-template-columns:1fr}.app-shell .side{z-index:4000;width:272px;transition:transform .28s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-shell.sidebar-open .side{transform:none}.app-shell .side .logo-word{display:inline-flex}.app-shell .nav-item span:not(.nav-badge):not(.ic){display:inline}.app-shell .nav-label{display:block}.app-shell .side-foot .col{flex-direction:column;display:flex}.app-shell .nav-item{justify-content:flex-start}.hamburger{display:flex}.canvas{padding:20px 16px 60px}.topbar{flex-wrap:nowrap;gap:8px;overflow:hidden}#theme-seg{display:none}.grid[style*=grid-template-columns]{grid-template-columns:1fr!important}.modal-overlay{padding:16px}.modal-overlay .modal{padding:22px 18px;width:100%!important}.modal .step{gap:0;font-size:0}.modal .step .sn{font-size:13px}.modal .step-line{margin:0 8px}.dashboard-stats,.dashboard-main,body.client-view .dashboard-stats{grid-template-columns:1fr!important}.row.between>.row{flex-wrap:wrap!important;flex-basis:100%!important}.row{flex-wrap:wrap}.card.row{flex-grow:1!important;flex-basis:100%!important}.card.row>.col{min-width:0}.card.row .heading{white-space:normal}.col{min-width:0}.view-inner,.canvas{overflow-wrap:anywhere}.ai-head{flex-wrap:wrap}.app-page-h h2{font-size:22px}.app-page-h{flex-direction:column;align-items:flex-start;gap:6px}#lang-seg,.topbar .btn-label{display:none}.tabs{flex-wrap:wrap}.modal .heading,.modal h3{font-size:20px;white-space:normal!important}.search-pop{width:auto!important;max-height:70vh!important;position:fixed!important;top:64px!important;left:16px!important;right:16px!important}.stat .v{font-size:34px}}.legal-footer{box-sizing:border-box;border-top:1px solid var(--line);text-align:center;min-height:74px;font-family:var(--font-mono);color:var(--text-faint);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;padding:12px 36px;line-height:1.5;display:flex}.legal-footer .legal-brand{color:var(--text-dim);align-items:center;gap:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.legal-footer .legal-brand:hover{color:var(--text)}.legal-footer .legal-logo{width:auto;height:28px;display:block}.legal-footer .legal-co{color:var(--text-faint);font-size:11px}.auth-shell .legal-footer{border-top:none;min-height:0}.skel-line{background:linear-gradient(90deg, color-mix(in srgb, var(--wl-brand) 8%, var(--surface-2)) 25%, color-mix(in srgb, var(--wl-brand) 24%, var(--surface-2)) 37%, color-mix(in srgb, var(--wl-brand) 8%, var(--surface-2)) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite skelShimmer;display:block}@keyframes skelShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel-line{animation:none}}
