@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400;1,6..72,500&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--brand:#1786c2;--brand-strong:#0e6fa6;--brand-1:#279ed6;--brand-2:#6abbe1;--brand-grad:linear-gradient(135deg,#279ed6,#6abbe1);--brand-glow:radial-gradient(circle,rgba(39,158,214,0.2),transparent 70%);--ink:#12161c;--ink-2:#14181e;--text:#49525e;--text-2:#5a6472;--text-3:#6b7785;--muted:#9aa4b0;--muted-2:#8b95a1;--bg:#e3e6ea;--white:#ffffff;--tint:#fbfcfe;--tint-2:#f6f9fb;--wash:#e7f3fa;--wash-border:#cfe6f3;--line:#e7edf3;--line-2:#e3e8ee;--line-3:#eceff3;--dark:#101723;--dark-text:#ffffff;--dark-text-2:#aeb9c6;--green:#1f9b6e;--warm:#b08968;--warm-2:#8a7e72;--font-display:"Hanken Grotesk",ui-sans-serif,-apple-system,system-ui,sans-serif;--font-serif:"Newsreader",ui-serif,Georgia,"Times New Roman",serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--radius:12px;--radius-sm:8px;--radius-lg:18px;--shadow-card:0 1px 3px rgba(18,22,28,0.05),0 1px 2px rgba(18,22,28,0.04);--shadow-soft:0 2px 8px rgba(18,22,28,0.06);--shadow-elev:0 18px 48px rgba(18,22,28,0.12);--shadow-brand:0 8px 28px rgba(23,134,194,0.18)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-display);font-size:16px;line-height:1.6;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh}a{color:inherit;text-decoration:none;transition:color .12s ease}img{max-width:100%;display:block}button{font-family:inherit;font-size:inherit;letter-spacing:inherit;border:none;background:none;color:inherit;cursor:pointer}::selection{background:color-mix(in oklab,var(--brand) 22%,transparent);color:var(--ink)}.container{max-width:1120px}.container,.container-wide{margin:0 auto;padding:0 32px}.container-wide{max-width:1280px}.container-narrow{max-width:820px;margin:0 auto;padding:0 32px}@media (max-width:720px){.container,.container-narrow,.container-wide{padding:0 20px}}.section{padding:104px 0}.section-tight{padding:72px 0}.sheet{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.section-white{background:var(--white)}.section-tint,.section-white{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-tint{background:var(--tint-2)}.section-wash{background:var(--wash);border-top:1px solid var(--wash-border);border-bottom:1px solid var(--wash-border)}.band-dark{background:var(--dark);color:var(--dark-text);position:relative;overflow:hidden}.band-dark:before{content:"";position:absolute;inset:0;background:var(--brand-glow);background-size:900px 900px;background-position:80% -20%;background-repeat:no-repeat;pointer-events:none}.band-dark>*{position:relative}.band-dark h1,.band-dark h2,.band-dark h3,.band-dark h4{color:var(--dark-text)}.band-dark .lead,.band-dark .muted{color:var(--dark-text-2)}.band-dark .card,.band-dark .sheet{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:var(--dark-text)}h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--ink);font-weight:700}h1{font-size:clamp(34px,4.6vw,48px);line-height:1.07;letter-spacing:-.027em;font-weight:800}h2{font-size:clamp(28px,3.2vw,38px);line-height:1.1;letter-spacing:-.022em}h2,h3{font-weight:700}h3{font-size:20px;line-height:1.25;letter-spacing:-.018em}h4{font-size:16px;letter-spacing:-.012em;font-weight:600}p{margin:0}.lead{font-size:18px;color:var(--text-2);line-height:1.6;max-width:640px}.muted{color:var(--text-3)}.caption{font-size:12px;color:var(--muted);letter-spacing:0}.caption,.eyebrow{font-family:var(--font-mono)}.eyebrow{font-size:11px;font-weight:500;color:var(--brand-strong);letter-spacing:.15em;text-transform:uppercase;display:inline-block}.band-dark .eyebrow{color:var(--brand-2)}.tag{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.pullquote{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:22px;line-height:1.4;color:var(--ink-2);border-left:3px solid var(--brand);padding:4px 0 4px 22px;max-width:640px}.band-dark .pullquote{color:var(--dark-text);border-left-color:var(--brand-2)}.grad{background:var(--brand-grad);background-clip:text;-webkit-background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;transition:all .14s ease;border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover{background:var(--brand-strong);transform:translateY(-1px)}.btn-ghost{background:var(--white);color:var(--ink);border:1px solid var(--line-2)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.band-dark .btn-ghost{background:transparent;color:var(--dark-text);border-color:rgba(255,255,255,.22)}.band-dark .btn-ghost:hover{border-color:var(--brand-2);color:var(--brand-2)}.btn-link{color:var(--brand);padding:0;font-weight:600}.btn-link:hover{color:var(--brand-strong)}.btn .arrow{display:inline-block;transition:transform .16s ease}.btn:hover .arrow{transform:translateX(3px)}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg) 80%,transparent);border-bottom:1px solid var(--line-2)}.nav{display:flex;justify-content:space-between;height:66px;gap:32px}.brand,.nav{align-items:center}.brand{display:inline-flex;gap:9px;font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ink)}.brand-mark{width:24px;height:24px;display:block;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:2px;flex:1 1;margin-left:28px}.nav-link{position:relative;padding:8px 12px;font-size:14.5px;font-weight:500;color:var(--text-2);border-radius:8px;transition:all .12s ease}.nav-link:hover{color:var(--ink);background:var(--white)}.nav-link.active{color:var(--brand)}.nav-cta{display:flex;align-items:center;gap:10px}.nav-dropdown{position:relative}.nav-menu{position:absolute;top:calc(100% + 8px);left:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:8px;min-width:290px;box-shadow:var(--shadow-elev);opacity:0;pointer-events:none;transform:translateY(-4px);transition:all .16s ease;z-index:200}.nav-dropdown:focus-within .nav-menu,.nav-dropdown:hover .nav-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-menu-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s ease}.nav-menu-item:hover{background:var(--tint-2)}.nav-menu-item .name{font-size:14.5px;color:var(--ink);font-weight:600}.nav-menu-item .desc{font-size:12.5px;color:var(--text-3)}.nav-menu-item .name .icon-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:middle}.nav-mega{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:600px;padding:14px}.nav-mega-col{display:flex;flex-direction:column;gap:2px}.nav-mega-title{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:4px 12px 8px;font-weight:500}@media (max-width:720px){.nav-mega{grid-template-columns:1fr;min-width:280px}}@media (max-width:920px){.nav-links{display:none}}.site-footer{background:var(--white);border-top:1px solid var(--line);padding:72px 0 36px;margin-top:0}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:48px}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-col h4{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:16px;font-weight:500}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}.footer-col a{font-size:14.5px;color:var(--text-2)}.footer-col a:hover{color:var(--brand)}.footer-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-3)}.footer-bottom .legal{display:flex;gap:24px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.card:hover{border-color:var(--wash-border);box-shadow:var(--shadow-soft)}.card-tint{background:var(--tint-2)}.card-wash{background:var(--wash);border-color:var(--wash-border)}.card-elev{box-shadow:var(--shadow-card)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.section-head{display:flex;flex-direction:column;gap:14px;max-width:720px}.section-head .eyebrow-row{display:flex;align-items:center;gap:12px}.section-head .eyebrow-row .rule{height:1px;flex:1 1;background:var(--line-2);max-width:60px}.module-card{display:flex;flex-direction:column;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.module-card:hover{border-color:var(--wash-border);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.m-icon{width:38px;height:38px;flex-shrink:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--wash);color:var(--brand-strong);border:1px solid var(--wash-border)}.m-icon svg{width:20px;height:20px}.module-card .m-name{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.012em}.module-card .m-desc{font-size:14.5px;color:var(--text-2);line-height:1.55}.callout{border:1px dashed var(--wash-border);background:var(--tint-2);border-radius:var(--radius);padding:18px 20px}.callout .callout-label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-strong);margin-bottom:8px;display:inline-flex;align-items:center;gap:7px}.callout .callout-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand)}.callout p{font-size:13.5px;line-height:1.6;color:var(--text-2)}.callout code{font-family:var(--font-mono);font-size:12.5px;color:var(--brand-strong);background:var(--wash);padding:1px 5px;border-radius:4px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:0;border:1px solid var(--line-2);background:var(--white);color:var(--text-2)}.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}.badge-brand{color:var(--brand-strong);border-color:var(--wash-border);background:var(--wash)}.badge-green{color:var(--green);border-color:color-mix(in oklab,var(--green) 28%,var(--line-2));background:color-mix(in oklab,var(--green) 8%,var(--white))}.badge-green .dot{background:var(--green)}.kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;border:1px solid var(--wash-border);background:var(--wash);font-size:13px;font-weight:500;color:var(--brand-strong)}.kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}.glyph,.ic,.nicon{width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:11px;font-weight:600;color:#fff;border:1px solid var(--line-2)}.glyph.is-svg,.ic.is-svg,.nicon.is-svg{padding:3px}.glyph.is-svg>svg,.ic.is-svg>svg,.nicon.is-svg>svg{width:100%;height:100%;display:block}.chip{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);font-size:13.5px;font-weight:500;color:var(--text);white-space:nowrap;transition:all .16s ease}.chip:hover{border-color:var(--brand);color:var(--ink);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.chip .glyph{width:18px;height:18px;border-radius:5px;border:none;padding:1px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:none}.reveal-stagger>*{transition-delay:calc(var(--i, 0) * 60ms)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.page-hero{padding:84px 0 64px;position:relative;overflow:hidden}.page-hero h1{max-width:820px}.page-hero .lead{max-width:660px;margin-top:18px}.shot{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);box-shadow:var(--shadow-elev)}.shot img{width:100%;display:block}.shot-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--tint-2);border-bottom:1px solid var(--line)}.shot-bar .lights{display:flex;gap:6px}.shot-bar .lights span{width:11px;height:11px;border-radius:50%;background:var(--line-2)}.shot-bar .lights span:first-child{background:#f3b6ad}.shot-bar .lights span:nth-child(2){background:#f6dca6}.shot-bar .lights span:nth-child(3){background:#b8e0c4}.shot-bar .url-pill{flex:1 1;max-width:360px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-family:var(--font-mono);font-size:11.5px;color:var(--muted);text-align:center}.compare{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.compare td,.compare th{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}.compare tbody tr:last-child td{border-bottom:none}.compare thead th{font-weight:600;color:var(--text-3);font-size:13px;background:var(--tint-2)}.compare thead th.us{color:var(--brand-strong);background:var(--wash)}.compare tbody td.us{background:color-mix(in oklab,var(--wash) 60%,var(--white));color:var(--ink);font-weight:500}.compare .row-cat{color:var(--text-3);font-weight:600}.compare .check{color:var(--green);font-weight:700}.compare .x{color:var(--muted)}.compare .partial{color:var(--warm)}.map2x2{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);aspect-ratio:16/10;overflow:hidden}.map2x2 .axis-x,.map2x2 .axis-y{position:absolute;background:var(--line-2)}.map2x2 .axis-x{left:0;right:0;top:50%;height:1px}.map2x2 .axis-y{top:0;bottom:0;left:50%;width:1px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.form-row input,.form-row select,.form-row textarea{appearance:none;-webkit-appearance:none;width:100%;background:var(--white);color:var(--ink);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;font-family:var(--font-display);font-size:15px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--muted)}.form-row input:hover,.form-row select:hover,.form-row textarea:hover{border-color:var(--wash-border)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 18%,transparent)}.form-row textarea{resize:vertical;min-height:120px}.form-row select{background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px;cursor:pointer}.row{align-items:center}.col,.row{display:flex;gap:12px}.col{flex-direction:column}.wrap{flex-wrap:wrap}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mt-64{margin-top:64px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-48{margin-bottom:48px}.text-center{text-align:center}.divider-h{height:1px;background:var(--line);width:100%}.flex-1{flex:1 1}.no-shrink{flex-shrink:0}.i-arrow:before{content:"→"}.i-check{color:var(--green);font-weight:700}.i-check:before{content:"✓"}.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--text);line-height:1.55}.check-list li .ck{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--wash);color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}.check-list li b,.check-list li strong{color:var(--ink);font-weight:700}.gdpr-bar{position:fixed;bottom:0;left:0;right:0;z-index:600;background:color-mix(in oklab,var(--white) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:var(--shadow-elev)}.gdpr-row{display:flex;align-items:center;gap:24px;padding:14px 32px}.gdpr-text{flex:1 1;font-size:13.5px;color:var(--text-2);line-height:1.5}.gdpr-text a{color:var(--brand)}.gdpr-text a:hover{color:var(--brand-strong)}.gdpr-cta{display:flex;gap:8px;flex-shrink:0}@media (max-width:720px){.gdpr-row{flex-direction:column;align-items:stretch;padding:14px 20px;gap:12px}.gdpr-cta{justify-content:flex-end}}.appmock{font-family:var(--font-display);background:var(--white)}.appmock-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--tint-2)}.appmock-topbar .app-name{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14px;color:var(--ink);letter-spacing:-.012em}.appmock-topbar .app-name .dot{width:18px;height:18px;border-radius:5px;background:var(--brand-grad);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.appmock-topbar .right{display:flex;align-items:center;gap:8px}.appmock-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:7px;overflow:hidden;background:var(--white)}.appmock-seg span{font-size:12px;font-weight:500;padding:4px 10px;color:var(--text-3)}.appmock-seg span.on{background:var(--wash);color:var(--brand-strong)}.appmock-pub{font-size:12px;font-weight:600;color:#fff;background:var(--brand);border-radius:7px;padding:5px 12px}.appmock-body{display:grid;grid-template-columns:168px 1fr 224px;min-height:560px}.appmock-screens{border-right:1px solid var(--line);padding:12px 10px;background:var(--tint-2)}.appmock-panel .lbl,.appmock-screens .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.appmock-screens .lbl .plus{width:16px;height:16px;border-radius:4px;background:var(--white);border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);font-size:13px;line-height:1}.appmock-screens .screen{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);padding:7px 9px;border-radius:6px;margin-bottom:2px}.appmock-screens .screen .ic{width:14px;height:14px;color:var(--muted)}.appmock-screens .screen.on{background:var(--wash);color:var(--brand-strong);font-weight:600}.appmock-screens .screen.on .ic{color:var(--brand-strong)}.appmock-canvas{padding:16px;background:radial-gradient(circle at 1px 1px,var(--line-2) 1px,transparent 0);background-size:22px 22px}.appmock-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:44px;gap:8px}.appmock-cell{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;min-width:0}.appmock-cell .cell-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--tint-2)}.appmock-cell .cell-head .nm{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appmock-cell .cell-head .ver{font-family:var(--font-mono);font-size:10px;color:var(--muted);flex-shrink:0}.appmock-cell .cell-body{padding:11px;flex:1 1;min-height:0}.appmock-field{margin-bottom:9px}.appmock-field .fl{font-size:10.5px;color:var(--text-3);margin-bottom:4px}.appmock-field .fi{height:26px;border:1px solid var(--line-2);border-radius:6px;background:var(--white);display:flex;align-items:center;padding:0 9px;font-size:11.5px;color:var(--text-2)}.appmock-field .fi.ph{color:var(--muted)}.appmock-submit{margin-top:2px;display:inline-flex;align-items:center;background:var(--brand);color:#fff;font-size:12px;font-weight:600;border-radius:6px;padding:6px 14px}.appmock-trow{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:8px;align-items:center;padding:6px 2px;border-bottom:1px solid var(--line-3);font-size:11.5px;color:var(--text-2)}.appmock-trow.head{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2)}.appmock-trow .st{justify-self:start;font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px}.appmock-trow .st.ok{color:var(--green);background:color-mix(in oklab,var(--green) 12%,var(--white))}.appmock-trow .st.wait{color:var(--brand-strong);background:var(--wash)}.appmock-stat .big{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.appmock-stat .sm{font-size:11px;color:var(--text-3)}.appmock-add{border:1px dashed var(--wash-border);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--brand-strong);font-size:12px;font-weight:600;background:color-mix(in oklab,var(--wash) 40%,var(--white))}.appmock-panel{border-left:1px solid var(--line);padding:12px;background:var(--tint-2)}.appmock-panel .ptitle{font-size:13px;font-weight:700;color:var(--ink)}.appmock-panel .pver{font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-bottom:12px}.appmock-panel .ptabs{display:flex;gap:4px;margin-bottom:12px}.appmock-panel .ptabs span{font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;color:var(--text-3)}.appmock-panel .ptabs span.on{background:var(--wash);color:var(--brand-strong)}@media (max-width:960px){.appmock-body{grid-template-columns:148px 1fr}.appmock-panel{display:none}}@media (max-width:640px){.appmock-body{grid-template-columns:1fr}.appmock-screens{display:none}}.tablemock{font-family:var(--font-display);background:var(--white)}.tablemock-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--white)}.tablemock-head .crumb{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-3)}.tablemock-head .crumb>svg{width:15px;height:15px;color:var(--brand-strong)}.tablemock-head .crumb .sep{color:var(--muted)}.tablemock-head .crumb b{color:var(--ink);font-weight:600}.tablemock-head .newcol{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-2);border:1px solid var(--line-2);background:var(--white);border-radius:7px;padding:4px 10px}.tablemock-head .newcol svg{color:var(--muted)}.tablemock-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 14px;border-bottom:1px solid var(--line);background:var(--tint-2)}.tablemock-bar .search{font-size:12px;color:var(--muted)}.tablemock-bar .right{display:flex;gap:6px}.tablemock-bar .tmbtn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--text-3);padding:3px 9px;border-radius:6px}.tablemock-bar .tmbtn.on{background:var(--white);border:1px solid var(--line-2);color:var(--text-2)}.tablemock-scroll{overflow-x:auto}table.tablemock-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.tablemock-grid td,.tablemock-grid th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.tablemock-grid thead th{background:var(--tint-2);padding:7px 9px;font-weight:500;font-size:12.5px;color:var(--ink)}.tablemock-grid thead th .colh{display:flex;align-items:center;gap:6px;min-width:0}.tablemock-grid thead th .colh .ty{color:var(--muted);flex-shrink:0}.tablemock-grid thead th .colh .chev{margin-left:auto;color:var(--muted);flex-shrink:0}.tablemock-grid td.gutter,.tablemock-grid th.gutter{text-align:center;padding:7px 4px}.tablemock-grid td.gutter{color:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--tint-2)}.tablemock-grid th.addcol .colh{color:var(--text-3);font-weight:500}.tablemock-grid th.addcol .colh svg{color:var(--muted)}.tablemock-grid tbody td{padding:7px 9px;font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tablemock-grid tbody td.strong{color:var(--ink);font-weight:500}.tablemock-grid tbody td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tablemock-grid tbody td.bool{text-align:center}.tablemock-grid tbody tr:last-child td{border-bottom:1px solid var(--line)}.tablemock-chk{display:inline-block;width:14px;height:14px;border-radius:4px;border:1.5px solid var(--line-2);vertical-align:middle}.tablemock-chk.on{position:relative;background:var(--brand);border-color:var(--brand)}.tablemock-chk.on:after{content:"";position:absolute;left:4px;top:1px;width:3.5px;height:7px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}.tablemock-grid td.sel{position:relative}.tablemock-grid td.sel:after{content:"";position:absolute;inset:-1px;border:2px solid var(--brand);background:color-mix(in oklab,var(--brand) 7%,transparent);pointer-events:none;z-index:2}.tablemock-newrow{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-3)}.tablemock-newrow svg{color:var(--muted)}