.device,.sec{font-family:var(--th-font-body,"Inter", system-ui);color:var(--th-text,#fff);background:var(--th-bg,#111)}.device h1,.device h2,.device h3,.device h4{font-family:var(--th-font-head,"Inter", system-ui);font-weight:var(--th-font-head-weight,700);color:var(--th-text,#fff);letter-spacing:-.02em;line-height:var(--th-leading-tight,1.1);margin:0}.device p{color:var(--th-text-muted);line-height:var(--th-leading-normal,1.55)}.device .s-hero{background:var(--th-hero-gradient,linear-gradient(135deg, #2a1a10 0%, #4a2818 50%, #7a3b1f 100%));color:var(--th-text)}.device .s-hero h1{color:#fff;font-size:var(--th-fs-5xl)}.device .s-hero p{color:#fffc;font-size:var(--th-fs-lg)}.device .s-hero .hcta{background:var(--th-cta-gradient,linear-gradient(90deg, var(--th-primary), var(--th-secondary)));color:var(--th-bg);border-radius:var(--th-radius-pill);font-weight:600}.device .s-stats{background:var(--th-surface);border-top:1px solid var(--th-border);border-bottom:1px solid var(--th-border);color:var(--th-text)}.device .s-stats .n{color:var(--th-primary);font-size:var(--th-fs-4xl);font-family:var(--th-font-head);font-weight:700}.device .s-stats .l{color:var(--th-text-muted);font-size:var(--th-fs-xs)}.device .s-exp{background:var(--th-bg)}.device .s-exp h2{font-size:var(--th-fs-3xl);color:var(--th-text)}.device .s-exp .grid .card{border-radius:var(--th-radius-lg)}.device .s-exp .grid .cname{color:#fff;font-size:var(--th-fs-lg);font-family:var(--th-font-head);font-weight:600}.device .s-exp .grid .cmeta{color:#ffffffb3;font-size:var(--th-fs-sm)}.device .s-gallery{background:var(--th-surface)}.device .s-gallery h2{color:var(--th-text);font-size:var(--th-fs-3xl)}.device .s-gallery .tile{border-radius:var(--th-radius)}.device .s-reviews{background:var(--th-bg)}.device .s-reviews h2{color:var(--th-text);font-size:var(--th-fs-3xl)}.device .s-reviews .rcard{background:var(--th-surface);border:1px solid var(--th-border);border-radius:var(--th-radius);box-shadow:var(--th-shadow);color:var(--th-text);padding:24px}.device .s-reviews .stars{color:var(--th-warning)}.device .s-reviews .rt{color:var(--th-text);font-size:var(--th-fs-base)}.device .s-reviews .rn{color:var(--th-text-muted);font-size:var(--th-fs-sm)}.device .s-blog{background:var(--th-surface)}.device .s-blog h2{color:var(--th-text);font-size:var(--th-fs-3xl)}.device .s-blog .bcard{background:var(--th-surface-2);border:1px solid var(--th-border);border-radius:var(--th-radius)}.device .s-blog .btag{color:var(--th-accent);background:color-mix(in oklch, var(--th-accent) 15%, transparent);border-radius:var(--th-radius-sm);font-size:var(--th-fs-xs);padding:3px 8px}.device .s-blog .btitle{color:var(--th-text);font-size:var(--th-fs-lg);font-family:var(--th-font-head)}.device .s-blog .bago{color:var(--th-text-muted);font-size:var(--th-fs-xs)}.device .s-faq{background:var(--th-bg)}.device .s-faq h2{color:var(--th-text);font-size:var(--th-fs-3xl)}.device .s-faq .q{border-bottom:1px solid var(--th-border);padding:20px 0}.device .s-faq .qt{color:var(--th-text);font-size:var(--th-fs-base)}.device .s-map{background:var(--th-surface)}.device .s-map h2{color:var(--th-text);font-size:var(--th-fs-3xl)}.device .s-map .pin{color:var(--th-primary);background:color-mix(in oklch, var(--th-primary) 20%, transparent);border:2px solid var(--th-primary)}.device .s-newsletter{background:var(--th-primary);color:#fff;text-align:center;padding:72px 64px}.device .s-newsletter h2{color:#fff;font-size:var(--th-fs-3xl)}.device .s-newsletter p{color:#ffffffd9;font-size:var(--th-fs-base)}.device .s-newsletter .inp input{color:#fff;border-radius:var(--th-radius);background:#00000040;border:1px solid #fff3}.device .s-newsletter .inp button{color:var(--th-primary);border-radius:var(--th-radius);background:#fff;font-weight:600}.device .s-cta{background:var(--th-surface);color:var(--th-text);text-align:center;padding:96px 64px}.device .s-cta h2{color:var(--th-text);font-size:var(--th-fs-4xl)}.device .s-cta p{color:var(--th-text-muted);font-size:var(--th-fs-lg)}.device .s-cta .btn-big{background:var(--th-cta-gradient,var(--th-primary));color:#fff;border-radius:var(--th-radius-pill);height:56px;font-weight:600;font-size:var(--th-fs-base);padding:0 32px}.device .s-banner,.device .s-announcement{background:var(--th-accent);color:#fff;text-align:center;justify-content:center;align-items:center;gap:12px;padding:16px 32px;display:flex}.device .s-banner .btext,.device .s-announcement .btext{font-size:var(--th-fs-sm);font-weight:500}.device .s-text{background:var(--th-surface);color:var(--th-text);padding:72px 64px}.device .s-text h2{color:var(--th-text);font-size:var(--th-fs-3xl);margin-bottom:16px}.device .s-text p{color:var(--th-text-muted);font-size:var(--th-fs-base);max-width:720px;line-height:1.65}.device .s-twocol{background:var(--th-bg);grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:72px 64px;display:grid}.device .s-twocol h2{color:var(--th-text);font-size:var(--th-fs-3xl);margin-bottom:16px}.device .s-twocol p{color:var(--th-text-muted);font-size:var(--th-fs-base);line-height:1.6}.device .s-twocol .media{aspect-ratio:4/3;background:var(--th-surface-2);border-radius:var(--th-radius-lg);border:1px solid var(--th-border)}.device .s-pricing{background:var(--th-bg);text-align:center;padding:72px 64px}.device .s-pricing h2{color:var(--th-text);font-size:var(--th-fs-3xl);margin-bottom:32px}.device .s-pricing .plans{grid-template-columns:1fr 1fr 1fr;gap:20px;max-width:960px;margin:0 auto;display:grid}.device .s-pricing .plan{background:var(--th-surface);border:1px solid var(--th-border);border-radius:var(--th-radius-lg);text-align:left;padding:32px}.device .s-pricing .plan.featured{border-color:var(--th-primary);box-shadow:var(--th-shadow)}.device .s-pricing .plan .p{font-size:var(--th-fs-2xl);font-family:var(--th-font-head);color:var(--th-text);margin:8px 0 16px}.device .s-nav{background:var(--th-bg);border-bottom:1px solid var(--th-border);justify-content:space-between;align-items:center;padding:18px 40px;display:flex}.device .s-nav .brand{font-family:var(--th-font-head);font-weight:700;font-size:var(--th-fs-lg);color:var(--th-text)}.device .s-nav .links{gap:28px;display:flex}.device .s-nav .links a{color:var(--th-text-muted);font-size:var(--th-fs-sm);font-weight:500}.device .s-nav .btn{background:var(--th-primary);color:var(--th-bg);border-radius:var(--th-radius-pill);font-weight:600;font-size:var(--th-fs-sm);padding:8px 18px}.device .s-footer{background:var(--th-surface);border-top:1px solid var(--th-border);color:var(--th-text-muted);padding:56px 40px 24px}.device .s-footer .cols{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;display:grid}.device .s-footer .brand{font-family:var(--th-font-head);color:var(--th-text);font-size:var(--th-fs-lg);margin-bottom:8px;font-weight:700}.device .s-footer .tagline{color:var(--th-text-muted);font-size:var(--th-fs-sm);max-width:280px}.device .s-footer .col h4{color:var(--th-text);font-size:var(--th-fs-sm);margin-bottom:12px;font-weight:600}.device .s-footer .col a{color:var(--th-text-muted);font-size:var(--th-fs-sm);margin-bottom:6px;display:block}.device .s-footer .fbar{border-top:1px solid var(--th-border);font-size:var(--th-fs-xs);color:var(--th-text-muted);justify-content:space-between;margin-top:40px;padding-top:20px;display:flex}.theme-studio{background:var(--s1);border-left:1px solid var(--bd-emph);z-index:80;width:420px;animation:ts-in .24s var(--ease);flex-direction:column;display:flex;position:fixed;top:52px;bottom:0;right:0;box-shadow:-24px 0 60px #0006}@keyframes ts-in{0%{transform:translate(100%)}to{transform:none}}.theme-studio .ts-head{border-bottom:1px solid var(--bd-sub);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.theme-studio .ts-head .icn{background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#0b0d11;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.theme-studio .ts-head .t{color:var(--tx-pri);font-size:13px;font-weight:600}.theme-studio .ts-head .s{color:var(--tx-sec);font-size:11px}.ts-tabs{border-bottom:1px solid var(--bd-sub);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.ts-tab{height:40px;color:var(--tx-sec);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;display:flex;position:relative}.ts-tab:hover{color:var(--tx-pri)}.ts-tab.active{color:var(--accent)}.ts-tab.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.ts-body{flex-direction:column;flex:1;gap:18px;padding:16px;display:flex;overflow-y:auto}.ts-group{flex-direction:column;gap:8px;display:flex}.ts-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--tx-ter);font-size:10px;font-weight:600}.ts-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ts-row .label{color:var(--tx-pri);flex:1;font-size:12px}.color-swatch{border:1px solid var(--bd-emph);cursor:pointer;background-image:linear-gradient(45deg,#999 25%,#0000 25% 75%,#999 75%),linear-gradient(45deg,#999 25%,#0000 25% 75%,#999 75%);background-position:0 0,4px 4px;background-size:8px 8px;border-radius:6px;width:28px;height:28px;position:relative;overflow:hidden}.color-swatch:after{content:"";background:var(--swatch,transparent);border-radius:inherit;position:absolute;inset:0}.color-swatch:hover{border-color:var(--accent)}.scale-ramp{border:1px solid var(--bd-sub);border-radius:6px;grid-template-columns:repeat(10,1fr);height:28px;display:grid;overflow:hidden}.scale-ramp>div{height:100%}.color-card{background:var(--s2);border:1px solid var(--bd-sub);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.color-card:hover{border-color:var(--accent)}.color-card .cs{border:1px solid var(--bd-emph);border-radius:6px;flex-shrink:0;width:32px;height:32px}.color-card .info{flex:1;min-width:0}.color-card .n{color:var(--tx-pri);font-size:12px;font-weight:500}.color-card .v{color:var(--tx-sec);font-family:ui-monospace,monospace;font-size:10px}.font-pick{border:1px solid var(--bd-sub);background:var(--s2);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.font-pick:hover{border-color:var(--accent)}.font-pick.active{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 8%, var(--s2))}.font-pick .flabel{color:var(--tx-ter);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.font-pick .fname{color:var(--tx-pri);font-size:16px;font-weight:600}.font-pick .fsample{color:var(--tx-pri);font-size:22px;line-height:1.1}.tp-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tp-card{border:1px solid var(--bd-sub);background:var(--s2);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:10px;padding:0;position:relative;overflow:hidden}.tp-card:hover{border-color:var(--accent);transform:translateY(-1px)}.tp-card.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 30%, transparent)}.tp-card .preview{background:var(--pv-bg,#111);height:72px;position:relative;overflow:hidden}.tp-card .preview .chip1,.tp-card .preview .chip2,.tp-card .preview .chip3{border-radius:999px;position:absolute}.tp-card .preview .chip1{background:var(--pv-p);border-radius:var(--pv-r,10px);height:18px;top:10px;left:10px;right:30px}.tp-card .preview .chip2{background:var(--pv-s);border-radius:var(--pv-r,8px);opacity:.8;width:44px;height:12px;top:34px;left:10px}.tp-card .preview .chip3{background:var(--pv-a);border-radius:var(--pv-r,8px);width:32px;height:16px;top:50px;left:10px}.tp-card .tp-meta{flex-direction:column;gap:2px;padding:10px 12px;display:flex}.tp-card .tn{color:var(--tx-pri);font-size:12px;font-weight:600}.tp-card .ts{color:var(--tx-sec);font-size:10px}.tp-card .check{background:var(--accent);color:#0b0d11;border-radius:50%;place-items:center;width:20px;height:20px;display:none;position:absolute;top:8px;right:8px}.tp-card.active .check{display:grid}.ts-slider{align-items:center;gap:10px;display:flex}.ts-slider input[type=range]{-webkit-appearance:none;background:var(--bd-sub);border-radius:2px;flex:1;height:4px}.ts-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--s1);width:16px;height:16px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}.ts-slider .val{min-width:36px;color:var(--tx-sec);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.ts-seg{background:var(--s2);border:1px solid var(--bd-sub);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.ts-seg button{color:var(--tx-sec);cursor:pointer;transition:all var(--d-hover) var(--ease);background:0 0;border:0;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:500}.ts-seg button.active{background:var(--s0);color:var(--tx-pri)}.btn-preview-row{background:var(--s2);border:1px solid var(--bd-sub);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:14px;display:flex}.ts-foot{border-top:1px solid var(--bd-sub);background:var(--s1);flex-shrink:0;gap:6px;padding:10px 14px;display:flex}.ts-foot button{border-radius:var(--r-ctl);background:var(--s2);border:1px solid var(--bd-sub);height:34px;color:var(--tx-pri);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.ts-foot button.primary{background:var(--accent);color:#0b0d11;border-color:var(--accent);font-weight:600}.cp-pop{background:var(--s0);border:1px solid var(--bd-emph);z-index:100;border-radius:12px;width:280px;padding:12px;position:fixed;box-shadow:0 20px 60px #00000080}.cp-tabs{background:var(--s2);border-radius:6px;margin-bottom:10px;padding:2px;display:inline-flex}.cp-tabs button{color:var(--tx-sec);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 10px;font-size:11px}.cp-tabs button.active{background:var(--s0);color:var(--tx-pri)}.cp-swatches{grid-template-columns:repeat(8,1fr);gap:4px;margin:4px 0 8px;display:grid}.cp-swatches button{aspect-ratio:1;border:1px solid var(--bd-sub);cursor:pointer;border-radius:4px;width:100%;transition:transform 80ms}.cp-swatches button:hover{border-color:var(--bd-emph);transform:scale(1.08)}.cp-native{margin-bottom:10px}.cp-native-swatch{border:1px solid var(--bd-emph);border-radius:8px;justify-content:center;align-items:flex-end;height:44px;padding:6px;display:flex;position:relative;overflow:hidden}.cp-native-hint{letter-spacing:.04em;color:#fff;text-shadow:0 1px 2px #00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.cp-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-ter);margin:10px 0 2px;font-size:10px;font-weight:700}.cp-hex{align-items:center;gap:8px;margin-top:8px;display:flex}.cp-hex input{background:var(--s1);border:1px solid var(--bd-sub);height:30px;color:var(--tx-pri);border-radius:6px;outline:0;flex:1;padding:0 10px;font-family:ui-monospace,monospace;font-size:12px}.cp-hex input:focus{border-color:var(--accent)}.cp-hex .preview{border:1px solid var(--bd-emph);border-radius:6px;width:30px;height:30px}.cp-grad{flex-direction:column;gap:8px;display:flex}.cp-grad .preview{border:1px solid var(--bd-emph);border-radius:8px;height:54px}.cp-grad .stops{align-items:center;gap:6px;display:flex}.cp-grad .angle{color:var(--tx-sec);font-size:11px}.color-field{background:var(--s2);border:1px solid var(--bd-sub);cursor:pointer;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 6px;display:flex}.color-field:hover{border-color:var(--bd-emph)}.color-field .sw{border:1px solid var(--bd-emph);border-radius:6px;flex-shrink:0;width:28px;height:28px}.color-field .val{color:var(--tx-sec);text-align:left;flex:1;font-family:ui-monospace,monospace;font-size:11px}.color-field .kind{color:var(--tx-ter);text-transform:uppercase;letter-spacing:.06em;font-size:9px}
:root{--s0:#0b0d11;--s1:#14171d;--s2:#191d25;--s3:#1e232c;--bd-sub:#232730;--bd-emph:#2e3340;--bd-half:#1a1e26;--tx-pri:#f4f6fa;--tx-sec:#a6adbb;--tx-ter:#6b7280;--tx-dis:#4b5563;--accent-h:225;--accent:hsl(var(--accent-h) 100% 71%);--accent-end:hsl(var(--accent-h) 78% 59%);--accent-press:hsl(var(--accent-h) 86% 67%);--accent-ring:hsl(var(--accent-h) 100% 71% / .4);--st-pending:#fbbf24;--st-paid:#60a5fa;--st-partially_signed:#2dd4bf;--st-signed:#34d399;--st-partially_checked_in:#a3e635;--st-checked_in:#22d3ee;--st-in_progress:#a78bfa;--st-completed:#94a3b8;--st-cancelled:#fb7185;--st-refunded:#e879f9;--emerald:#34d399;--amber:#fbbf24;--violet:#a78bfa;--rose:#fb7185;--sky:#60a5fa;--slate:#94a3b8;--surface:var(--s1);--surface-2:var(--s2);--surface-3:var(--s3);--border:var(--bd-sub);--border-emph:var(--bd-emph);--text:var(--tx-pri);--text-muted:var(--tx-sec);--text-ter:var(--tx-ter);--success:var(--st-signed);--warning:var(--st-pending);--danger:var(--rose);--on-accent:#0b0d11;--scrollbar-thumb:#2a2f3a;--scrollbar-thumb-hover:#3a414e;--shadow-strong:#0006;--shadow-card:#00000080;--shimmer-overlay:#ffffff0a;--r-card:14px;--r-ctl:10px;--r-inner:10px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--ease:cubic-bezier(.32, .72, 0, 1);--d-hover:.12s;--d-panel:.18s;--d-drawer:.22s;--d-page:.26s;--font:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--z1:288px;--z2:288px;--z4:288px;--row-h:64px}[data-theme=light]{--s0:#fff;--s1:#f7f8fa;--s2:#eef0f4;--s3:#e3e6ec;--bd-sub:#e1e4ea;--bd-emph:#c9cdd6;--bd-half:#f1f2f5;--tx-pri:#0f172a;--tx-sec:#475569;--tx-ter:#64748b;--tx-dis:#94a3b8;--accent:hsl(var(--accent-h) 86% 56%);--accent-end:hsl(var(--accent-h) 76% 48%);--accent-press:hsl(var(--accent-h) 80% 50%);--accent-ring:hsl(var(--accent-h) 86% 56% / .35);--st-pending:#d97706;--st-paid:#0284c7;--st-partially_signed:#0d9488;--st-signed:#059669;--st-partially_checked_in:#65a30d;--st-checked_in:#0891b2;--st-in_progress:#7c3aed;--st-completed:#64748b;--st-cancelled:#e11d48;--st-refunded:#c026d3;--emerald:#059669;--amber:#d97706;--violet:#7c3aed;--rose:#e11d48;--sky:#0284c7;--slate:#64748b;--on-accent:#fff;--scrollbar-thumb:#c9cdd6;--scrollbar-thumb-hover:#94a3b8;--shadow-strong:#0f172a1f;--shadow-card:#0f172a1a;--shimmer-overlay:#0f172a0a}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}*{box-sizing:border-box}html,body{background:var(--s0);height:100%;color:var(--tx-pri);font-family:var(--font);font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:20px;overflow:hidden}@layer base{button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-track{background:0 0}.num{font-variant-numeric:tabular-nums}.app{grid-template-rows:52px 1fr;width:100vw;height:100vh;display:grid;overflow:hidden}.topbar{padding:0 var(--sp-4);background:var(--s0);border-bottom:1px solid var(--bd-sub);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.topbar-left,.topbar-right{align-items:center;gap:var(--sp-2);display:flex}.tenant-chip{align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);background:var(--s1);border:1px solid var(--bd-sub);transition:background var(--d-hover) var(--ease);padding:4px 10px 4px 4px;display:flex}.tenant-chip:hover{background:var(--s2)}.tenant-chip .logo{background:linear-gradient(135deg, var(--accent), var(--accent-end));width:22px;height:22px;color:var(--on-accent);letter-spacing:-.02em;border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.tenant-chip .name{font-size:13px;font-weight:600}.tenant-chip .caret{color:var(--tx-ter)}.breadcrumb{color:var(--tx-sec);align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb .sep{color:var(--tx-dis)}.breadcrumb .leaf{color:var(--tx-pri);font-weight:600}.cmd-trigger{align-items:center;gap:var(--sp-2);background:var(--s1);border:1px solid var(--bd-sub);border-radius:var(--r-ctl);min-width:260px;height:32px;color:var(--tx-sec);transition:border-color var(--d-hover) var(--ease), background var(--d-hover) var(--ease);padding:0 10px;font-size:13px;display:flex}.cmd-trigger:hover{border-color:var(--bd-emph);background:var(--s2)}.cmd-trigger .kbd{background:var(--s3);color:var(--tx-sec);border-radius:6px;align-items:center;gap:2px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:500;display:inline-flex}.icon-btn{border-radius:var(--r-ctl);width:32px;height:32px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--s2);color:var(--tx-pri)}.icon-btn .dot{background:var(--rose);width:6px;height:6px;box-shadow:0 0 0 2px var(--s0);border-radius:50%;position:absolute;top:6px;right:6px}.avatar{width:28px;height:28px;color:var(--tx-pri);background:linear-gradient(135deg,#5a6578,#2e3340);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.body{grid-template-columns:var(--z1) 8px var(--z2) 8px 1fr 8px var(--z4);padding:var(--sp-3);background:var(--s0);grid-template-rows:1fr;gap:0;min-height:0;display:grid;position:relative}.app.node-team .body{grid-template-columns:var(--z1) 8px var(--z2) 8px 1fr}.zone{background:var(--s1);border:1px solid var(--bd-sub);border-radius:var(--r-card);min-width:0;min-height:0;transition:width var(--d-drawer) var(--ease);flex-direction:column;display:flex;overflow:hidden}.splitter{cursor:col-resize;-webkit-user-select:none;user-select:none;position:relative}.splitter:before{content:"";transition:background var(--d-hover) var(--ease);background:0 0;position:absolute;inset:0 3px}.splitter:hover:before,.splitter.dragging:before{background:var(--accent)}.splitter .measure{background:var(--s2);border:1px solid var(--bd-emph);color:var(--tx-pri);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--d-hover);z-index:20;border-radius:6px;padding:2px 6px;font-size:11px;position:absolute;top:50%;left:100%;transform:translate(8px,-50%)}.splitter.dragging .measure{opacity:1}.z1{overflow:hidden}.z1-header{height:52px;padding:0 var(--sp-4);align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--bd-sub);flex-shrink:0;display:flex}.z1-header .ws-logo{background:linear-gradient(135deg, var(--accent), var(--accent-end));border-radius:6px;width:24px;height:24px}.z1-header .ws-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.z1-nav{padding:var(--sp-2) var(--sp-2);flex:1;overflow-y:auto}.nav-group{margin-top:var(--sp-3)}.nav-group:first-child{margin-top:var(--sp-2)}.nav-group-label{letter-spacing:.06em;text-transform:uppercase;width:100%;color:var(--tx-ter);align-items:center;gap:6px;padding:6px 10px 4px;font-size:11px;font-weight:500;display:flex}.nav-group-label .chev{transition:transform var(--d-hover) var(--ease)}.nav-group.collapsed .chev{transform:rotate(-90deg)}.nav-group.collapsed .nav-items{display:none}.nav-items{flex-direction:column;gap:1px;display:flex}.nav-item{height:36px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:0 10px;font-size:13px;font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--s2);color:var(--tx-pri)}.nav-item.active{background:var(--s3);color:var(--accent)}.nav-item.active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:-2px}.nav-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item .count{background:var(--bd-sub);color:var(--tx-pri);text-align:center;border-radius:999px;min-width:20px;padding:2px 6px;font-size:10px;font-weight:600;line-height:14px}.nav-item.active .count{background:color-mix(in oklch, var(--accent) 24%, transparent);color:var(--accent)}.z1-footer{border-top:1px solid var(--bd-sub);padding:var(--sp-2);flex-shrink:0}.install-cta{border:1px dashed var(--bd-emph);border-radius:var(--r-ctl);width:100%;height:40px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease), border-color var(--d-hover) var(--ease);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.install-cta:hover{background:var(--s2);color:var(--tx-pri);border-color:var(--accent)}.z1-meta{height:32px;color:var(--tx-ter);align-items:center;gap:8px;margin-top:4px;padding:0 10px;font-size:12px;display:flex}.z1-meta .version{font-variant-numeric:tabular-nums;margin-left:auto}.z1.rail .z1-header{justify-content:center;padding:0}.z1.rail .ws-name,.z1.rail .caret,.z1.rail .nav-group-label,.z1.rail .nav-item .label,.z1.rail .z1-meta .version,.z1.rail .install-cta span{display:none}.z1.rail .install-cta{height:40px;padding:0}.z1.rail .nav-item{justify-content:center;padding:0}.z1.rail .nav-item .count{min-width:16px;padding:0 4px;font-size:9px;line-height:12px;position:absolute;top:4px;right:4px}.z2{overflow:hidden}.z2-scroll{flex:1;overflow-y:auto}.filter-card{border-bottom:1px solid var(--bd-sub)}.filter-card:last-child{border-bottom:0}.filter-head{height:40px;padding:0 var(--sp-4);width:100%;color:var(--tx-sec);transition:background var(--d-hover) var(--ease);text-align:left;align-items:center;gap:8px;display:flex}.filter-head:hover{background:var(--s2)}.filter-head .icon{color:var(--tx-sec)}.filter-head .title{letter-spacing:.04em;text-transform:uppercase;min-width:0;color:var(--tx-sec);flex:1;font-size:14px;font-weight:600}.filter-head .chev{transition:transform var(--d-hover) var(--ease)}.filter-card.collapsed .chev{transform:rotate(-90deg)}.filter-body{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--bd-sub);flex-direction:column;gap:2px;display:flex}.filter-card.collapsed .filter-body{display:none}.filter-row{cursor:pointer;height:32px;transition:background var(--d-hover) var(--ease);border-radius:6px;align-items:center;gap:10px;padding:0 8px;display:flex}.filter-row:hover{background:var(--s2)}.filter-row .label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--tx-pri);flex:1;font-size:13px;overflow:hidden}.filter-row .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.filter-row .count{color:var(--tx-sec);text-align:right;font-variant-numeric:tabular-nums;min-width:16px;font-size:12px}.filter-row .status-dot{border-radius:50%;width:8px;height:8px}.filter-row .cap{color:var(--tx-sec);font-variant-numeric:tabular-nums;font-size:11px}.filter-row .cap-meter{background:var(--s3);border-radius:2px;width:42px;height:4px;overflow:hidden}.filter-row .cap-meter>span{background:var(--accent);border-radius:2px;height:100%;display:block}.cb{background:var(--s3);border:1px solid var(--bd-emph);width:16px;height:16px;transition:background var(--d-hover) var(--ease), border-color var(--d-hover) var(--ease);border-radius:4px;flex-shrink:0;place-items:center;display:grid}.cb svg{opacity:0;transition:opacity var(--d-hover)}.filter-row.checked .cb{background:var(--accent);border-color:var(--accent)}.filter-row.checked .cb svg{opacity:1}.minical{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.minical-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.minical-head .mo{font-size:13px;font-weight:600}.minical-nav{gap:2px;display:flex}.minical-nav button{width:24px;height:24px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease);border-radius:6px;place-items:center;display:grid}.minical-nav button:hover{background:var(--s2);color:var(--tx-pri)}.minical-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.minical-grid .dow{color:var(--tx-ter);text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:4px 0;font-size:10px}.minical-grid .day{font-variant-numeric:tabular-nums;height:26px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);cursor:pointer;border-radius:6px;place-items:center;font-size:12px;display:grid;position:relative}.minical-grid .day:hover{background:var(--s2);color:var(--tx-pri)}.minical-grid .day.other{color:var(--tx-dis)}.minical-grid .day.today{color:var(--accent);font-weight:600}.minical-grid .day.selected{background:var(--accent);color:var(--on-accent);font-weight:600}.minical-grid .day.selected-week{background:color-mix(in oklch, var(--accent) 18%, transparent);color:var(--accent);font-weight:600}.minical-grid .day.today.selected-week{background:color-mix(in oklch, var(--accent) 28%, transparent)}.minical-grid .day.has:after{content:"";background:var(--accent);border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.minical-grid .day.selected.has:after{background:var(--on-accent)}.legend-grid{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.legend-item{color:var(--tx-sec);align-items:center;gap:8px;font-size:12px;display:flex}.legend-item .sw{border-radius:3px;width:12px;height:12px}.z2.rail .z2-scroll{padding:var(--sp-2) 0}.z2.rail .filter-card{border-bottom:0}.z2.rail .filter-head{justify-content:center;height:40px;padding:0}.z2.rail .title,.z2.rail .chev,.z2.rail .filter-body,.z2.rail .minical,.z2.rail .legend-grid{display:none}.z2.rail .filter-head:after{content:"";background:var(--accent);opacity:0;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:10px}.z2.rail .filter-head.has-active:after{opacity:1}.z2.rail .filter-head{position:relative}.z3{overflow:hidden}.z3-header{padding:10px var(--sp-4) 10px;border-bottom:1px solid var(--bd-sub);flex-direction:column;flex-shrink:0;gap:10px;display:flex}.z3-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.z3-title-row .title-group{flex-direction:column;min-width:0;display:flex}.z3-title-row .h1{letter-spacing:-.01em;align-items:center;gap:8px;font-size:20px;font-weight:600;line-height:28px;display:flex}.z3-title-row .range{color:var(--tx-sec);font-variant-numeric:tabular-nums;font-size:12px}.z3-title-row .actions{align-items:center;gap:6px;display:flex}.btn{border-radius:var(--r-ctl);height:32px;color:var(--tx-pri);background:var(--s3);border:1px solid var(--bd-sub);transition:background var(--d-hover) var(--ease), border-color var(--d-hover) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--s2);border-color:var(--bd-emph)}.btn.ghost{color:var(--tx-sec);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--s2);color:var(--tx-pri)}.btn.primary{background:linear-gradient(180deg, var(--accent), var(--accent-end));color:var(--on-accent);border-color:#0000;font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.danger{color:var(--rose);border-color:color-mix(in oklch, var(--rose) 35%, transparent);background:0 0}.btn.danger:hover{background:color-mix(in oklch, var(--rose) 12%, transparent)}.btn-count{background:color-mix(in oklch, var(--accent) 30%, transparent);min-width:18px;height:18px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;margin-left:2px;padding:0 5px;font-size:10px;font-weight:600;display:inline-grid}.nav-cluster{background:var(--s2);border:1px solid var(--bd-sub);border-radius:var(--r-pill);align-items:center;gap:2px;height:32px;padding:2px;display:inline-flex}.nav-cluster button{height:26px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.nav-cluster button:hover{color:var(--tx-pri);background:var(--s3)}.nav-cluster .today{padding:0 12px}.nav-cluster .divider{background:var(--bd-sub);width:1px;height:16px;margin:0 4px}.seg{background:var(--s2);border:1px solid var(--bd-sub);border-radius:var(--r-pill);align-items:center;gap:2px;height:32px;padding:2px;display:inline-flex}.seg button{height:26px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);border-radius:999px;padding:0 12px;font-size:12px;font-weight:500}.seg button:hover{color:var(--tx-pri)}.seg button.active{background:var(--accent);color:var(--on-accent);font-weight:600}.zoom-ctl{border-radius:var(--r-ctl);background:var(--s3);border:1px solid var(--bd-sub);height:32px;color:var(--tx-pri);transition:background var(--d-hover) var(--ease);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.zoom-ctl:hover{background:var(--s2)}.zoom-ctl .caret{color:var(--tx-ter)}.ai-btn{border-radius:var(--r-ctl);background:linear-gradient(135deg, color-mix(in oklch, var(--accent) 24%, transparent), color-mix(in oklch, var(--violet) 24%, transparent));border:1px solid color-mix(in oklch, var(--accent) 45%, transparent);height:32px;color:var(--tx-pri);transition:filter var(--d-hover) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.ai-btn:hover{filter:brightness(1.12)}.cal{flex:1;grid-template-rows:64px 44px 1fr;min-height:0;display:grid;overflow:hidden}.col-head-row{border-bottom:1px solid var(--bd-sub);background:var(--s1);z-index:2;grid-template-columns:72px repeat(7,1fr);padding-right:10px;display:grid;position:relative}.col-gutter{border-right:1px solid var(--bd-sub)}.col-head{border-right:1px solid var(--bd-sub);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.col-head:last-child{border-right:0}.col-head .dow{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-sec);font-size:11px;font-weight:500}.col-head .dnum{color:var(--tx-pri);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:34px;height:34px;font-size:22px;font-weight:600;line-height:1;display:grid}.col-head.weekend .dow,.col-head.weekend .dnum{color:var(--tx-sec)}.col-head.today .dnum{background:var(--accent);color:var(--on-accent)}.col-head.selected:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.allday-row{border-bottom:1px solid var(--bd-emph);background:var(--s1);z-index:2;grid-template-columns:72px repeat(7,1fr);padding-right:10px;display:grid;position:relative}.allday-row .label{border-right:1px solid var(--bd-sub);color:var(--tx-ter);text-transform:uppercase;letter-spacing:.06em;justify-content:flex-end;align-items:center;padding-right:8px;font-size:11px;display:flex}.allday-cell{border-right:1px solid var(--bd-sub);flex-direction:column;gap:2px;padding:4px;display:flex;overflow:hidden}.allday-cell:last-child{border-right:0}.allday-pill{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;align-items:center;gap:6px;height:20px;padding:0 8px;font-size:11px;font-weight:500;display:flex;overflow:hidden}.timegrid{background:var(--s1);scrollbar-gutter:stable;position:relative;overflow:auto}.tg-inner{grid-template-columns:72px repeat(7,1fr);min-height:100%;display:grid;position:relative}.tg-gutter{border-right:1px solid var(--bd-sub);grid-column:1;position:relative}.tg-hour{color:var(--tx-ter);text-align:right;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;left:0;right:8px;transform:translateY(-50%)}.tg-col{border-right:1px solid var(--bd-sub);position:relative}.tg-col:last-child{border-right:0}.tg-col.today{background:color-mix(in oklch, var(--accent) 4%, transparent)}.tg-col.weekend{background:#0000001f}.hr-line{border-top:1px solid var(--bd-sub);pointer-events:none;position:absolute;left:0;right:0}.half-line{border-top:1px dashed var(--bd-half);pointer-events:none;position:absolute;left:0;right:0}.now-line{background:var(--accent);z-index:6;pointer-events:none;height:1.5px;position:absolute;left:0;right:0}.now-line:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 25%, transparent);border-radius:50%;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.now-chip{background:var(--accent);color:var(--on-accent);letter-spacing:.06em;font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:50%;right:calc(100% - 68px);transform:translateY(-50%)}.evt{cursor:grab;transition:box-shadow var(--d-hover), opacity var(--d-hover);z-index:3;border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.evt:before{content:"";background:var(--status-color);border-top-left-radius:8px;border-bottom-left-radius:8px;width:3px;position:absolute;top:0;bottom:0;left:0}.evt{background:color-mix(in oklch, var(--status-color) 18%, var(--s1));border:1px solid color-mix(in oklch, var(--status-color) 30%, transparent)}.evt .et-row{color:var(--tx-sec);justify-content:space-between;align-items:center;gap:6px;font-size:10px;display:flex}.evt .et-time{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:500}.evt .et-status{color:var(--status-color);text-transform:capitalize;align-items:center;gap:4px;font-size:10px;font-weight:500;display:inline-flex}.evt .et-title{color:var(--tx-pri);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:16px;overflow:hidden}.evt .et-sub{color:var(--tx-sec);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:14px;overflow:hidden}.evt .et-foot{color:var(--tx-sec);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-top:auto;font-size:10px;display:flex}.evt .cap-bar{background:color-mix(in oklch, var(--status-color) 20%, transparent);border-radius:2px;flex:1;height:2px;overflow:hidden}.evt .cap-bar>span{background:var(--status-color);height:100%;display:block}.evt.selected{outline:2px solid var(--accent);outline-offset:-1px;box-shadow:0 0 0 3px var(--accent-ring);z-index:5}.evt:hover{filter:brightness(1.08)}.evt.dragging{opacity:.4;cursor:grabbing;z-index:10}.evt.blocked{background:repeating-linear-gradient(45deg, color-mix(in oklch, var(--slate) 18%, var(--s1)) 0 8px, color-mix(in oklch, var(--slate) 26%, var(--s1)) 8px 16px);border-color:color-mix(in oklch, var(--slate) 30%, transparent)}.evt.private{outline-offset:-4px;outline:3px dashed #f4f6fa66}.evt .private-chip{color:#f4f6fa;background:#f4f6fa14;border:1px solid #f4f6fa4d;border-radius:4px;align-items:center;gap:3px;padding:1px 5px;font-size:9px;font-weight:600;display:inline-flex;position:absolute;top:4px;right:6px}.rail-cohort{margin:6px 0;padding:10px 2px 6px;position:relative}.rail-cohort .rc-track{background:var(--bd-sub);border-radius:1px;height:2px;position:absolute;top:22px;left:8.33333%;right:8.33333%;overflow:hidden}.rail-cohort .rc-fill{transition:width var(--d-medium) var(--ease);border-radius:1px;position:absolute;top:0;bottom:0;left:0}.rail-cohort .rc-steps{grid-template-columns:repeat(6,1fr);align-items:center;display:grid;position:relative}.rail-cohort .rc-step{cursor:pointer;color:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0 2px;display:flex}.rail-cohort .rc-dot{background:var(--bg-2);border:1.5px solid var(--bd-emph);width:10px;height:10px;box-shadow:0 0 0 3px var(--bg-1);transition:all var(--d-hover) var(--ease);border-radius:50%}.rail-cohort .rc-step.reached .rc-dot{background:var(--step-color);border-color:var(--step-color)}.rail-cohort .rc-step.furthest .rc-dot{box-shadow:0 0 0 3px var(--bg-1), 0 0 0 5px color-mix(in oklch, var(--step-color) 40%, transparent);transform:scale(1.2)}.rail-cohort .rc-step:hover .rc-dot{transform:scale(1.3)}.rail-cohort .rc-count{color:var(--tx-dis);font-variant-numeric:tabular-nums;transition:color var(--d-hover) var(--ease);min-height:14px;font-size:11px;font-weight:600}.rail-cohort .rc-count.active{color:var(--step-color);font-size:13px;font-weight:700}.rail-cohort .rc-labels{grid-template-columns:repeat(6,1fr);margin-top:2px;display:grid}.rail-cohort .rc-label{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--tx-dis);font-size:9px;font-weight:500}.rail-cohort .rc-label.furthest{color:var(--step-color);font-weight:700}.rc-summary{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2px;margin-top:4px;font-size:12px;display:flex}.side-exits{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.guest-row{transition:background var(--d-hover) var(--ease);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex;position:relative}.guest-row:hover{background:var(--s2)}.guest-row .status-led{border-radius:50%;flex-shrink:0;width:8px;height:8px}.guest-row .info{flex:1;min-width:0}.guest-row .name{color:var(--tx-pri);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.guest-row.cancelled .name{color:var(--tx-ter);text-decoration:line-through}.guest-row .guest-chips{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.guest-row .gchip{background:color-mix(in oklch, var(--gc,var(--emerald)) 18%, transparent);border:1px solid color-mix(in oklch, var(--gc,var(--emerald)) 30%, transparent);color:var(--gc,var(--emerald));border-radius:999px;padding:1px 6px;font-size:10px;font-weight:500}.guest-row .hover-acts{gap:2px;display:none}.guest-row:hover .hover-acts{display:flex}.guest-row .hover-acts button{width:24px;height:24px;color:var(--tx-sec);border-radius:6px;place-items:center;display:grid}.guest-row .hover-acts button:hover{background:var(--s3);color:var(--tx-pri)}.guest-subgroup{margin-top:8px}.guest-subgroup-label{text-transform:uppercase;letter-spacing:.06em;color:var(--tx-ter);padding:4px 10px;font-size:10px}.tz-chip{border-radius:var(--r-ctl);background:var(--s3);border:1px solid var(--bd-sub);height:28px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease);align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.tz-chip:hover{background:var(--s2);color:var(--tx-pri)}.evt .resize-handle{cursor:ns-resize;opacity:0;height:6px;transition:opacity var(--d-hover);position:absolute;bottom:0;left:8px;right:8px}.evt:hover .resize-handle{opacity:1}.evt .resize-handle:after{content:"";background:color-mix(in oklch, var(--status-color) 60%, transparent);border-radius:2px;width:20px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.more-chip{background:var(--s2);border:1px solid var(--bd-sub);color:var(--tx-sec);text-align:center;z-index:4;border-radius:6px;padding:2px 6px;font-size:10px;position:absolute;bottom:2px;left:2px;right:2px}.tg-col.drop-ok{background:color-mix(in oklch, var(--accent) 10%, transparent)}.tg-col.drop-bad{background:color-mix(in oklch, var(--rose) 12%, transparent);position:relative}.drop-reason{background:color-mix(in oklch, var(--rose) 30%, var(--s1));border:1px solid var(--rose);color:var(--rose);white-space:nowrap;pointer-events:none;z-index:11;border-radius:6px;padding:2px 8px;font-size:11px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.z4{overflow:hidden}.z4-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.z4-empty .art{background:var(--s2);border:1px solid var(--bd-sub);width:72px;height:72px;color:var(--tx-ter);border-radius:16px;place-items:center;display:grid}.z4-empty .title{color:var(--tx-pri);font-size:14px;font-weight:500}.z4-empty .sub{color:var(--tx-sec);max-width:220px;font-size:12px}.kbd{background:var(--s3);color:var(--tx-sec);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:2px;padding:2px 6px;font-size:11px;font-weight:500;display:inline-flex}.z4-head{padding:var(--sp-4);border-bottom:1px solid var(--bd-sub);flex-direction:column;flex-shrink:0;gap:6px;display:flex}.z4-head .top{align-items:flex-start;gap:10px;display:flex}.z4-head .bk-icon{background:color-mix(in oklch, var(--status-color,var(--accent)) 24%, var(--s2));width:32px;height:32px;color:var(--status-color,var(--accent));border-radius:8px;flex-shrink:0;place-items:center;display:grid}.z4-head .bk-id{color:var(--tx-sec);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:11px}.z4-head .bk-title{letter-spacing:-.005em;font-size:16px;font-weight:600}.z4-head .bk-meta{align-items:center;gap:6px;margin-top:4px;display:flex}.chip{background:color-mix(in oklch, var(--status-color,var(--accent)) 18%, transparent);border:1px solid color-mix(in oklch, var(--status-color,var(--accent)) 30%, transparent);height:22px;color:var(--status-color,var(--accent));border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.chip .dot{background:var(--status-color,var(--accent));border-radius:50%;width:6px;height:6px}.z4-body{padding:0 var(--sp-4);flex:1;overflow-y:auto}.sect{padding:var(--sp-4) 0;border-bottom:1px solid var(--bd-sub);flex-direction:column;gap:8px;display:flex}.sect:last-child{border-bottom:0}.sect-head{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-sec);justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.sect-head .edit{color:var(--tx-ter)}.sect-head .edit:hover{color:var(--tx-pri)}.row-kv{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.row-kv .k{color:var(--tx-sec)}.row-kv .v{font-variant-numeric:tabular-nums;color:var(--tx-pri);font-weight:500}.row-kv.total .v{font-size:15px;font-weight:700}.cust{align-items:center;gap:10px;display:flex}.cust .ava{width:36px;height:36px;color:var(--on-accent);background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:50%;place-items:center;font-weight:600;display:grid}.cust .info{flex:1;min-width:0}.cust .name{font-size:13px;font-weight:600}.cust .meta{color:var(--tx-sec);font-size:11px}.cust .actions{gap:2px;display:flex}.stepper{background:var(--s3);border:1px solid var(--bd-sub);border-radius:var(--r-ctl);align-items:center;gap:0;height:28px;display:inline-flex}.stepper button{width:28px;height:100%;color:var(--tx-sec);transition:color var(--d-hover) var(--ease);place-items:center;display:grid}.stepper button:hover{color:var(--tx-pri)}.stepper .val{text-align:center;font-variant-numeric:tabular-nums;width:28px;font-size:13px;font-weight:600}.addon{grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:13px;display:grid}.addon .n{color:var(--tx-pri)}.addon .q{color:var(--tx-sec);font-variant-numeric:tabular-nums}.addon .p{color:var(--tx-pri);font-variant-numeric:tabular-nums;font-weight:500}.assigned{align-items:center;gap:10px;display:flex}.assigned .res{background:var(--s3);border:1px solid var(--bd-sub);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.assigned .staff{margin-left:auto;display:inline-flex}.assigned .staff .av{border:2px solid var(--s1);border-radius:50%;place-items:center;width:24px;height:24px;margin-left:-6px;font-size:10px;font-weight:600;display:grid}.assigned .staff .av:first-child{margin-left:0}.notes{color:var(--tx-sec);background:var(--s2);border:1px solid var(--bd-sub);border-radius:var(--r-inner);padding:10px 12px;font-size:13px;line-height:18px}.z4-foot{border-top:1px solid var(--bd-sub);padding:var(--sp-4);flex-direction:column;flex-shrink:0;gap:8px;display:flex}.z4-foot .row{gap:6px;display:flex}.z4-foot .row .btn{flex:1;justify-content:center}.z4-foot .cta{justify-content:center;width:100%;height:44px;font-size:14px;font-weight:600}.z4.rail .z4-empty,.z4.rail .z4-head,.z4.rail .z4-body,.z4.rail .z4-foot{display:none}.z4.rail .rail-tabs{display:flex}.rail-tabs{flex-direction:column;gap:4px;padding:12px 6px;display:none}.rail-tabs button{width:36px;height:36px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);border-radius:8px;place-items:center;display:grid}.rail-tabs button:hover{background:var(--s2);color:var(--tx-pri)}.cmdbar{left:calc(50% + (var(--z1) + var(--z2) - var(--z4)) / 2);z-index:50;background:color-mix(in oklch, var(--s1) 94%, #000);border:1px solid var(--bd-sub);height:56px;box-shadow:0 8px 24px var(--shadow-card), 0 1px 0 0 var(--shimmer-overlay) inset;border-radius:999px;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;bottom:10px;transform:translate(-50%)}.zone.z3{padding-bottom:72px}.cmdbar .pill{height:40px;color:var(--tx-pri);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.cmdbar .pill:hover{background:var(--s3)}.cmdbar .pill.expand{color:var(--tx-sec);gap:8px;padding:0 12px}.cmdbar .pill.pill-icon{justify-content:center;gap:0;width:36px;padding:0}.cmdbar .pill.pill-icon:disabled{opacity:.35;cursor:not-allowed}.cmdbar .pill .kbd{background:var(--bg-1);border:1px solid var(--bd-sub);color:var(--tx-ter);border-radius:4px;margin-left:2px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:10px}.cmdbar .pill.ai{color:color-mix(in oklch, var(--accent) 90%, var(--tx-pri))}.cmdbar .pill.ai:hover{background:color-mix(in oklch, var(--accent) 12%, transparent)}.cmdbar .pill.ai.active{background:color-mix(in oklch, var(--accent) 20%, transparent);color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklch, var(--accent) 40%, transparent) inset}.cmdbar .pill.active{background:color-mix(in oklch, var(--accent) 20%, transparent);color:var(--accent)}.cmdbar .pill.primary{background:linear-gradient(180deg, var(--accent), var(--accent-end));color:var(--on-accent);justify-content:center;min-width:148px;padding:0 22px;font-weight:600}.cmdbar .pill.primary:hover{filter:brightness(1.08)}.cmdbar .div{background:var(--bd-sub);width:1px;height:24px;margin:0 2px}.ai-chat{background:var(--s1);border:1px solid var(--bd-emph);z-index:90;width:380px;height:min(560px,100vh - 140px);box-shadow:0 20px 60px #0009, 0 0 0 1px color-mix(in oklch, var(--accent) 18%, transparent);animation:ac-in .18s var(--ease);border-radius:16px;flex-direction:column;display:flex;position:fixed;bottom:80px;right:20px;overflow:hidden}@keyframes ac-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-chat .ac-head{border-bottom:1px solid var(--bd-sub);background:color-mix(in oklch, var(--accent) 6%, var(--s1));justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.ai-chat .ac-title{align-items:center;gap:10px;display:flex}.ai-chat .ac-logo{background:linear-gradient(135deg, var(--accent), color-mix(in oklch, var(--accent) 70%, #fff));width:28px;height:28px;color:var(--on-accent);border-radius:8px;place-items:center;display:grid}.ai-chat .ac-title .t{color:var(--tx-pri);font-size:13px;font-weight:600}.ai-chat .ac-title .s{color:var(--tx-ter);font-variant-numeric:tabular-nums;font-size:11px}.ai-chat .ac-body{flex-direction:column;flex:1;gap:10px;padding:16px 14px;display:flex;overflow-y:auto}.ai-chat .ac-msg{gap:8px;max-width:100%;display:flex}.ai-chat .ac-msg.user{justify-content:flex-end}.ai-chat .ac-msg.ai .ac-avatar{background:color-mix(in oklch, var(--accent) 20%, var(--s2));width:20px;height:20px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.ai-chat .ac-bubble{word-wrap:break-word;border-radius:12px;max-width:80%;padding:8px 12px;font-size:13px;line-height:1.45}.ai-chat .ac-msg.ai .ac-bubble{background:var(--s2);color:var(--tx-pri);border:1px solid var(--bd-sub);border-top-left-radius:4px}.ai-chat .ac-msg.user .ac-bubble{background:color-mix(in oklch, var(--accent) 22%, var(--s2));color:var(--tx-pri);border:1px solid color-mix(in oklch, var(--accent) 35%, transparent);border-top-right-radius:4px}.ai-chat .ac-bubble strong{color:var(--accent);font-weight:600}.ai-chat .ac-bubble-wrap{max-width:80%;display:inline-flex;position:relative}.ai-chat .ac-msg.user .ac-bubble-wrap{margin-left:auto}.ai-chat .ac-bubble-wrap .ac-bubble{max-width:100%}.ai-chat .ac-copy{border:1px solid var(--bd-sub);background:var(--s1);width:22px;height:22px;color:var(--tx-ter);cursor:pointer;opacity:0;transition:opacity var(--d-hover) var(--ease), color var(--d-hover) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.ai-chat .ac-msg.ai:hover .ac-copy,.ai-chat .ac-copy:focus-visible{opacity:1}.ai-chat .ac-copy:hover{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 35%, var(--bd-sub))}.ai-chat .ac-bubble.thinking{gap:3px;padding:10px 12px;display:flex}.ai-chat .ac-bubble.thinking .dot{background:var(--tx-ter);border-radius:50%;width:5px;height:5px;animation:1.2s infinite ac-pulse}.ai-chat .ac-bubble.thinking .dot:nth-child(2){animation-delay:.15s}.ai-chat .ac-bubble.thinking .dot:nth-child(3){animation-delay:.3s}@keyframes ac-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.ai-chat .ac-suggestions{border-top:1px dashed var(--bd-sub);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.ai-chat .ac-sug{background:var(--s2);border:1px solid var(--bd-sub);color:var(--tx-sec);cursor:pointer;text-align:left;transition:all var(--d-hover) var(--ease);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.ai-chat .ac-sug:hover{background:color-mix(in oklch, var(--accent) 8%, var(--s2));border-color:color-mix(in oklch, var(--accent) 30%, var(--bd-sub));color:var(--tx-pri)}.ai-chat .ac-sug svg{color:var(--accent);flex-shrink:0}.ai-chat .ac-foot{border-top:1px solid var(--bd-sub);background:var(--bg-2);align-items:center;gap:6px;padding:10px;display:flex}.ai-chat .ac-foot input{background:var(--s2);border:1px solid var(--bd-sub);height:36px;color:var(--tx-pri);transition:border-color var(--d-hover) var(--ease);border-radius:10px;outline:none;flex:1;padding:0 12px;font-size:13px}.ai-chat .ac-foot input:focus{border-color:color-mix(in oklch, var(--accent) 50%, var(--bd-emph));background:var(--s1)}.ai-chat .ac-send{background:linear-gradient(180deg, var(--accent), var(--accent-end));width:36px;height:36px;color:var(--on-accent);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:10px;place-items:center;display:grid}.ai-chat .ac-send:disabled{opacity:.3;cursor:not-allowed}.ai-chat .ac-send:not(:disabled):hover{filter:brightness(1.1);transform:scale(1.04)}.backdrop{z-index:10050;animation:fade-in var(--d-page) var(--ease);background:#0009;place-items:center;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--s1);border:1px solid var(--bd-sub);border-radius:var(--r-card);width:520px;max-width:calc(100vw - 32px);box-shadow:0 8px 24px var(--shadow-card), 0 1px 0 0 var(--shimmer-overlay) inset;animation:modal-in var(--d-drawer) var(--ease);flex-direction:column;display:flex;overflow:hidden}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal .head{border-bottom:1px solid var(--bd-sub);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal .head .title{font-size:16px;font-weight:600}.modal .body{flex-direction:column;gap:16px;padding:20px;display:flex}.modal .foot{border-top:1px solid var(--bd-sub);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--tx-sec);font-size:11px;font-weight:500}.field input,.field select,.field textarea{background:var(--s3);border:1px solid var(--bd-sub);border-radius:var(--r-ctl);height:36px;color:var(--tx-pri);transition:border-color var(--d-hover) var(--ease), box-shadow var(--d-hover) var(--ease);outline:none;padding:0 10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.field textarea{resize:vertical;height:auto;min-height:72px;padding:10px}select{background-color:var(--s0);color:var(--tx-pri);border:1px solid var(--bd-sub);border-radius:var(--r-ctl,6px);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='none' stroke='%23A6ADBB' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' d='m2 4 3 3 3-3'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:10px 10px;padding-right:28px}select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring);outline:none}select option{background-color:var(--s0);color:var(--tx-pri)}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.tweaks-panel{background:var(--s1);border:1px solid var(--bd-sub);border-radius:var(--r-card);width:300px;box-shadow:0 8px 24px var(--shadow-card), 0 1px 0 0 var(--shimmer-overlay) inset;z-index:60;flex-direction:column;max-height:70vh;display:flex;position:fixed;bottom:80px;right:16px;overflow:hidden}.tweaks-panel .head{border-bottom:1px solid var(--bd-sub);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.tweaks-panel .head .title{font-size:13px;font-weight:600}.tweaks-panel .body{flex-direction:column;gap:14px;padding:12px 14px;display:flex;overflow-y:auto}.tweak{flex-direction:column;gap:6px;display:flex}.tweak .lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--tx-sec);font-size:11px;font-weight:500}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatches button{width:24px;height:24px;transition:border-color var(--d-hover) var(--ease), transform var(--d-hover) var(--ease);border:2px solid #0000;border-radius:999px}.swatches button:hover{transform:scale(1.08)}.swatches button.active{border-color:var(--tx-pri)}.tweak-seg{background:var(--s2);border:1px solid var(--bd-sub);border-radius:var(--r-ctl);gap:2px;padding:2px;display:flex}.tweak-seg button{height:28px;color:var(--tx-sec);transition:background var(--d-hover) var(--ease), color var(--d-hover) var(--ease);border-radius:6px;flex:1;font-size:12px;font-weight:500}.tweak-seg button:hover{color:var(--tx-pri)}.tweak-seg button.active{background:var(--accent);color:var(--on-accent);font-weight:600}.switch{justify-content:space-between;align-items:center;font-size:12px;display:flex}.switch .s-track{background:var(--s3);border:1px solid var(--bd-sub);width:34px;height:18px;transition:background var(--d-hover) var(--ease);border-radius:999px;position:relative}.switch .s-thumb{background:var(--tx-sec);width:14px;height:14px;transition:left var(--d-hover) var(--ease), background var(--d-hover) var(--ease);border-radius:50%;position:absolute;top:1px;left:1px}.switch.on .s-track{background:var(--accent);border-color:var(--accent)}.switch.on .s-thumb{background:var(--on-accent);left:17px}.density-compact .nav-item{height:32px}.density-compact .filter-row{height:28px}.density-loose .nav-item{height:40px}.density-loose .filter-row{height:36px}.month{flex:1;grid-template-rows:auto 1fr;min-height:0;display:grid}.month-dow{border-bottom:1px solid var(--bd-sub);grid-template-columns:repeat(7,1fr);display:grid}.month-dow>div{height:36px;color:var(--tx-sec);text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--bd-sub);place-items:center;font-size:11px;display:grid}.month-dow>div:last-child{border-right:0}.month-grid{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;min-height:0;display:grid}.month-cell{border-right:1px solid var(--bd-sub);border-bottom:1px solid var(--bd-sub);background:var(--s1);flex-direction:column;gap:3px;min-height:0;padding:6px;display:flex;overflow:hidden}.month-cell.other{background:color-mix(in oklch, var(--s0) 50%, var(--s1))}.month-cell .dn{font-variant-numeric:tabular-nums;color:var(--tx-sec);justify-content:space-between;align-items:center;font-size:12px;display:flex}.month-cell.today .dn .num{background:var(--accent);color:var(--on-accent);border-radius:50%;place-items:center;width:22px;height:22px;font-weight:600;display:grid}.month-cell .mini-evt{white-space:nowrap;text-overflow:ellipsis;background:color-mix(in oklch, var(--status-color) 18%, var(--s1));height:18px;color:var(--tx-pri);border-left:2px solid var(--status-color);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 6px;font-size:11px;font-weight:500;display:flex;overflow:hidden}.month-cell .mini-evt .t{color:var(--tx-sec);font-variant-numeric:tabular-nums}.month-cell .more{color:var(--tx-sec);padding:0 6px;font-size:10px}.timeline{flex:1;grid-template-rows:auto 44px 1fr;min-height:0;display:grid;position:relative}.tl-scroll-ctrls{border-bottom:1px solid var(--bd-sub);background:var(--bg-2);align-items:center;gap:6px;padding:6px 12px;display:flex}.tl-sbtn{background:var(--s2);border:1px solid var(--bd-sub);height:26px;color:var(--tx-sec);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:500;display:inline-flex}.tl-sbtn:hover{background:var(--s3);color:var(--tx-pri);border-color:var(--bd-emph)}.tl-head{border-bottom:1px solid var(--bd-sub);grid-template-columns:180px 1fr;display:grid;overflow:hidden}.tl-head .resources-lbl{border-right:1px solid var(--bd-sub);text-transform:uppercase;letter-spacing:.06em;color:var(--tx-sec);background:var(--bg-2);z-index:2;align-items:center;padding:0 14px;font-size:11px;display:flex;position:sticky;left:0}.tl-head .hours{height:44px;position:relative}.tl-head .hour-tick{border-left:1px solid var(--bd-sub);color:var(--tx-ter);font-variant-numeric:tabular-nums;white-space:nowrap;padding:8px 6px;font-size:11px;position:absolute;top:0;bottom:0}.tl-head .hour-tick.minor{color:var(--tx-dis);border-left-color:var(--bd-half);font-size:10px}.tl-body{grid-auto-rows:min-content;display:grid;overflow:auto}.tl-body::-webkit-scrollbar{width:10px;height:10px}.tl-body::-webkit-scrollbar-thumb{background:var(--s3);border-radius:6px}.tl-body::-webkit-scrollbar-track{background:0 0}.tl-row{border-bottom:1px solid var(--bd-sub);grid-template-columns:180px 1fr;min-height:56px;display:grid}.tl-row .res{border-right:1px solid var(--bd-sub);background:var(--s1);z-index:1;align-items:center;gap:8px;padding:0 14px;font-size:13px;display:flex;position:sticky;left:0}.tl-row .res .r-icon{background:var(--s3);width:24px;height:24px;color:var(--tx-sec);border-radius:6px;place-items:center;display:grid}.tl-row .lane{position:relative}.tl-row .lane .hr{border-left:1px solid var(--bd-sub);position:absolute;top:0;bottom:0}.tl-row .lane .hr.minor{border-left-color:var(--bd-half);opacity:.5}.tl-nowline{background:var(--rose);z-index:3;pointer-events:none;width:2px;box-shadow:0 0 8px color-mix(in oklch, var(--rose) 50%, transparent);position:absolute;top:0;bottom:0}.tl-nowline:before{content:"";background:var(--rose);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-3px}.tl-evt{background:color-mix(in oklch, var(--status-color) 18%, var(--s1));border:1px solid color-mix(in oklch, var(--status-color) 30%, transparent);border-left:3px solid var(--status-color);cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;gap:1px;padding:4px 8px;font-size:11px;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.tl-evt .t{color:var(--tx-pri);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.tl-evt .s{color:var(--tx-sec);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--s2) 0%, var(--s3) 50%, var(--s2) 100%);background-size:200% 100%;border-radius:6px;animation:1.8s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes evt-flash{0%{background:color-mix(in oklch, var(--emerald) 40%, var(--s1))}to{background:color-mix(in oklch, var(--status-color) 18%, var(--s1))}}.evt.flash{animation:evt-flash .6s var(--ease)}.spacer{flex:1}.hidden{display:none!important}svg{display:block}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}input[type=checkbox],input[type=radio]{appearance:none;border:1px solid var(--bd-emph);background:var(--s2);cursor:pointer;width:16px;height:16px;transition:background .12s var(--ease,ease), border-color .12s var(--ease,ease), box-shadow .12s var(--ease,ease), transform 80ms var(--ease,ease);vertical-align:middle;color:#fff;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}input[type=checkbox]{border-radius:4px}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:color-mix(in oklch, var(--accent) 50%, var(--bd-emph));background:var(--s3)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 35%, transparent);outline:0}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";border:2px solid;border-width:0 2px 2px 0;width:4px;height:8px;transform:translateY(-1px)rotate(45deg)}input[type=radio]:checked:after{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}input[type=checkbox]:indeterminate{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:indeterminate:after{content:"";background:currentColor;border:0;border-radius:1px;width:8px;height:2px;transform:none}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.theme-studio.embedded{width:100%;height:100%;box-shadow:none;z-index:auto;border-left:0;animation:none;position:static;inset:auto}
.surface-seg{background:var(--s2);border:1px solid var(--bd-sub);border-radius:var(--r-pill);align-items:center;gap:2px;height:32px;padding:2px;display:inline-flex}.surface-seg button{height:26px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.surface-seg button:hover{color:var(--tx-pri)}.surface-seg button.active{background:linear-gradient(180deg, var(--accent), var(--accent-end));color:#0b0d11;font-weight:600}.save-state{border-radius:var(--r-pill);background:var(--s2);border:1px solid var(--bd-sub);height:28px;color:var(--tx-sec);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:inline-flex}.save-state .sd{border-radius:50%;width:6px;height:6px}.save-state.saved .sd{background:var(--st-signed);box-shadow:0 0 0 2px color-mix(in oklch, var(--st-signed) 24%, transparent)}.save-state.unsaved .sd{background:var(--amber);box-shadow:0 0 0 2px color-mix(in oklch, var(--amber) 24%, transparent)}.save-state.saving .sd{background:var(--accent);animation:1.2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.dz2-tabs{border-bottom:1px solid var(--bd-sub);flex-shrink:0;height:40px;display:flex}.dz2-tab{color:var(--tx-sec);transition:color var(--d-hover) var(--ease);flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.dz2-tab:hover{color:var(--tx-pri)}.dz2-tab.active{color:var(--accent)}.dz2-tab.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.dp-new{border:1px dashed var(--bd-emph);border-radius:var(--r-ctl);height:40px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);flex-shrink:0;justify-content:center;align-items:center;gap:6px;margin:10px 12px 6px;font-size:13px;font-weight:500;display:flex}.dp-new:hover{background:var(--s2);color:var(--tx-pri);border-color:var(--accent)}.dp-list{padding:4px 8px 12px;overflow-y:auto}.dp-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--tx-ter);align-items:center;gap:6px;padding:12px 10px 6px;font-size:11px;font-weight:500;display:flex}.dp-section-label .chev{transition:transform var(--d-hover) var(--ease)}.dp-section-label.collapsed .chev{transform:rotate(-90deg)}.dp-section-label .count{background:var(--s3);color:var(--tx-sec);border-radius:999px;margin-left:auto;padding:0 6px;font-size:10px}.dp-row{height:36px;color:var(--tx-pri);cursor:pointer;transition:background var(--d-hover) var(--ease);border-radius:8px;align-items:center;gap:10px;padding:0 10px 0 12px;font-size:13px;display:flex;position:relative}.dp-row:hover{background:var(--s2)}.dp-row.active{background:var(--s3);color:var(--accent)}.dp-row.active:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:-2px}.dp-row .pico{width:18px;color:var(--tx-sec);place-items:center;display:grid}.dp-row.active .pico{color:var(--accent)}.dp-row .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dp-row .drft-dot{background:var(--amber);border-radius:50%;flex-shrink:0;width:6px;height:6px}.dp-row .actions{gap:2px;display:none}.dp-row:hover .actions{display:flex}.dp-row .actions button{width:24px;height:24px;color:var(--tx-ter);border-radius:6px;place-items:center;display:grid}.dp-row .actions button:hover{background:var(--s3);color:var(--tx-pri)}.dp-row.system{color:var(--tx-ter);cursor:default}.dp-row.system:hover{background:0 0}.da-bar{border-bottom:1px solid var(--bd-sub);flex-shrink:0;align-items:center;gap:6px;padding:10px 12px;display:flex}.da-search{background:var(--s2);border:1px solid var(--bd-sub);border-radius:var(--r-ctl);height:32px;color:var(--tx-sec);flex:1;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:flex}.da-search input{color:var(--tx-pri);background:0 0;border:0;outline:0;flex:1;font-size:12px}.da-btn{border-radius:var(--r-ctl);background:var(--s2);border:1px solid var(--bd-sub);width:32px;height:32px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);place-items:center;display:grid}.da-btn:hover{background:var(--s3);color:var(--tx-pri)}.da-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-content:start;gap:8px;padding:12px;display:grid;overflow-y:auto}.da-tile{cursor:pointer;flex-direction:column;gap:6px;display:flex}.da-tile .th{aspect-ratio:1;border:1px solid var(--bd-sub);background:var(--bg,var(--s2));border-radius:8px;position:relative;overflow:hidden}.da-tile .th:after{content:"";background:linear-gradient(135deg,#ffffff0f 0%,#0003 100%);position:absolute;inset:0}.da-tile .kind{color:#fff;text-transform:uppercase;letter-spacing:.04em;z-index:1;background:#0009;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600;position:absolute;top:6px;left:6px}.da-tile:hover .th{border-color:var(--accent)}.da-tile .meta{font-size:11px}.da-tile .n{color:var(--tx-pri);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.da-tile .d{color:var(--tx-ter);font-variant-numeric:tabular-nums}.dh-list{padding:8px 12px;overflow-y:auto}.dh-entry{border-radius:8px;padding:10px 10px 10px 28px;position:relative}.dh-entry:hover{background:var(--s2)}.dh-entry:before{content:"";background:var(--bd-emph);width:8px;height:8px;box-shadow:0 0 0 2px var(--s1);z-index:1;border-radius:50%;position:absolute;top:16px;left:13px}.dh-entry.publish:before{background:var(--st-signed);box-shadow:0 0 0 2px var(--s1), 0 0 0 4px color-mix(in oklch, var(--st-signed) 30%, transparent)}.dh-entry.current:before{background:var(--accent);box-shadow:0 0 0 2px var(--s1), 0 0 0 4px color-mix(in oklch, var(--accent) 35%, transparent)}.dh-entry:after{content:"";background:var(--bd-sub);width:2px;position:absolute;top:24px;bottom:-8px;left:16px}.dh-entry:last-child:after{display:none}.dh-entry .ago{color:var(--tx-ter);font-variant-numeric:tabular-nums;font-size:11px}.dh-entry .lbl{color:var(--tx-pri);margin-top:2px;font-size:13px;font-weight:500}.dh-entry .stats{color:var(--tx-sec);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.dh-entry.publish .lbl:after{content:"PUBLISHED";color:var(--st-signed);letter-spacing:.06em;background:color-mix(in oklch, var(--st-signed) 14%, transparent);border:1px solid color-mix(in oklch, var(--st-signed) 30%, transparent);vertical-align:1px;border-radius:4px;margin-left:8px;padding:1px 5px;font-size:9px;font-weight:700}.dh-entry.current .lbl:after{content:"NOW";color:var(--accent);letter-spacing:.06em;background:color-mix(in oklch, var(--accent) 14%, transparent);border:1px solid color-mix(in oklch, var(--accent) 30%, transparent);vertical-align:1px;border-radius:4px;margin-left:8px;padding:1px 5px;font-size:9px;font-weight:700}.dh-entry .acts{gap:4px;margin-top:6px;display:none}.dh-entry:hover .acts{display:flex}.dh-entry .acts button{background:var(--s3);border:1px solid var(--bd-sub);height:22px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);border-radius:5px;padding:0 8px;font-size:11px}.dh-entry .acts button:hover{color:var(--tx-pri);border-color:var(--bd-emph)}.dz3{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.dz3-head{border-bottom:1px solid var(--bd-sub);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:56px;padding:0 16px;display:grid}.dz3-head .hleft{justify-self:start;align-items:center;gap:10px;min-width:0;display:flex}.dz3-head .dz3-right{justify-self:end;align-items:center;gap:8px;display:flex}.dz3-head h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.dz3-head .mode-chip{letter-spacing:.05em;text-transform:uppercase;background:color-mix(in oklch, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in oklch, var(--accent) 30%, transparent);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.dz3-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.device-frame-bar{background:color-mix(in oklch, var(--s1) 95%, #000);border:1px solid var(--bd-emph);border-radius:var(--r-pill);justify-self:center;gap:2px;padding:3px;display:inline-flex;box-shadow:0 4px 16px #00000080}.device-frame-bar button{height:26px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:500;display:inline-flex}.device-frame-bar button:hover{color:var(--tx-pri)}.device-frame-bar button.active{background:var(--accent);color:#0b0d11;font-weight:600}.canvas-scroll{background:linear-gradient(var(--bd-half) 1px, transparent 1px), linear-gradient(90deg, var(--bd-half) 1px, transparent 1px), var(--s0);background-size:24px 24px,24px 24px,100% 100%;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:40px 24px 100px;display:flex;position:relative;overflow:hidden auto}.canvas-scroll.plain{background:var(--s0)}.device{border:1px solid var(--bd-emph);transition:max-width var(--d-drawer) var(--ease);background:#0e1116;border-radius:16px;flex-shrink:0;width:100%;overflow:clip;box-shadow:0 24px 80px #0009;container:dframe/inline-size}.device.mobile{border-radius:32px;max-width:390px}.device.tablet{max-width:820px}.device.desktop{max-width:1280px}.device.wide{border-radius:8px;max-width:100%}.sec{transition:outline-offset var(--d-hover) var(--ease);position:relative}.sec.editable{outline-offset:-2px;outline:1px dashed #0000}.sec.editable:hover{outline-color:color-mix(in oklch, var(--accent) 40%, transparent)}.sec.editable.selected{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 20%, transparent)}.sec-chrome{background:color-mix(in oklch, var(--s1) 95%, #000);border:1px solid var(--accent);height:30px;color:var(--tx-pri);z-index:5;border-bottom:0;border-radius:8px 8px 0 0;align-items:center;gap:6px;padding:0 8px 0 4px;font-size:11px;display:none;position:absolute;top:-32px;left:0;right:0}.sec.editable:hover .sec-chrome,.sec.editable.selected .sec-chrome{display:flex}.sec-chrome .sgrab{width:22px;height:22px;color:var(--tx-sec);cursor:grab;border-radius:4px;place-items:center;display:grid}.sec-chrome .sgrab:hover{background:var(--s2);color:var(--tx-pri)}.sec-chrome .slabel{color:var(--accent);font-weight:600}.sec-chrome .stype{color:var(--tx-sec)}.sec-chrome .schip{gap:2px;margin-left:auto;display:inline-flex}.sec-chrome .schip button{width:22px;height:22px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);border-radius:4px;place-items:center;display:grid}.sec-chrome .schip button:hover{background:var(--s2);color:var(--tx-pri)}.sec-chrome .schip button:disabled{opacity:.3;cursor:not-allowed}.sec-chrome .schip button.on{background:color-mix(in oklch, var(--accent) 20%, var(--s2));color:var(--accent)}.sec-chrome .vis-chip{padding:0 4px;font-size:10px}.sec.hidden-on-device{opacity:.4}.sec.hidden-on-device:after{content:"Hidden on this viewport";z-index:4;background:var(--s2);border:1px solid var(--bd-emph);color:var(--tx-sec);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;top:8px;right:8px}.drop-zone{z-index:10;height:32px;color:var(--tx-ter);transition:opacity var(--d-hover) var(--ease);opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:500;display:flex;position:relative}.drop-zone>*{pointer-events:auto;border:1px dashed var(--bd-emph);background:var(--s0);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:4px 14px;display:inline-flex}.drop-zone>:hover{background:color-mix(in oklch, var(--accent) 10%, var(--s0));border-color:var(--accent);color:var(--accent)}.sec.editable+.drop-zone,.sec.editable:hover+.drop-zone,.sec.editable.selected+.drop-zone,.drop-zone:hover{opacity:1}.canvas-scroll:hover .drop-zone{opacity:.7}.device{background:var(--th-bg);color:var(--th-text)}.device *{font-family:var(--th-font-body,inherit)}.s-nav{background:var(--th-bg);border-bottom:1px solid var(--th-border);align-items:center;gap:32px;padding:18px 64px;display:flex}.s-nav .brand{font-family:var(--th-font-head);font-weight:var(--th-font-head-weight,700);font-size:calc(var(--th-fs-xl) * .9);color:var(--th-text);letter-spacing:-.01em}.s-nav .links{flex:1;gap:24px;display:flex}.s-nav .links a{font-size:var(--th-fs-sm);color:var(--th-text-muted);font-weight:500}.s-nav .navcta{border-radius:var(--th-radius-pill);background:var(--th-primary);height:40px;color:var(--th-bg);font-size:var(--th-fs-sm);align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex}.s-footer{background:var(--th-surface);border-top:1px solid var(--th-border);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:64px 64px 32px;display:grid}.s-footer .fcol h4{font-size:var(--th-fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--th-text-muted);margin:0 0 12px;font-weight:700}.s-footer .fcol .brand{font-family:var(--th-font-head);font-weight:var(--th-font-head-weight);font-size:var(--th-fs-xl);color:var(--th-text);margin-bottom:10px}.s-footer .fcol p{font-size:var(--th-fs-sm);color:var(--th-text-muted);line-height:1.55}.s-footer .fcol a{font-size:var(--th-fs-sm);color:var(--th-text-muted);padding:4px 0;display:block}.s-footer .fbottom{border-top:1px solid var(--th-border);font-size:var(--th-fs-xs);color:var(--th-text-muted);grid-column:1/-1;justify-content:space-between;margin-top:32px;padding-top:24px;display:flex}.s-hero{padding:calc(96px * var(--th-scale,1)) 64px calc(80px * var(--th-scale,1));background:var(--th-hero-gradient,linear-gradient(135deg, var(--th-primary-800), var(--th-primary-500)));color:#fff;position:relative;overflow:hidden}.s-hero .hbg{background-image:radial-gradient(circle at 30% 40%, color-mix(in oklch, var(--th-primary) 35%, transparent) 0%, transparent 50%), radial-gradient(circle at 70% 60%, color-mix(in oklch, var(--th-secondary) 28%, transparent) 0%, transparent 50%);pointer-events:none;position:absolute;inset:0}.s-hero .play{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;z-index:2;background:#ffffff1f;border:2px solid #ffffff73;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.s-hero h1{z-index:2;font-family:var(--th-font-head);font-weight:var(--th-font-head-weight,700);font-size:var(--th-fs-5xl);letter-spacing:-.02em;color:#fff;text-wrap:pretty;max-width:820px;margin:0 0 18px;line-height:1.02;position:relative}.s-hero p{z-index:2;font-size:var(--th-fs-lg);color:#ffffffd9;max-width:560px;margin:0 0 32px;line-height:1.5;position:relative}.s-hero .hcta{z-index:2;background:var(--th-cta-gradient,var(--th-primary));height:52px;color:var(--th-bg);border-radius:var(--th-radius-pill);font-size:var(--th-fs-base);align-items:center;gap:8px;padding:0 24px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 8px 24px #0000004d}.s-hero.split{grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:80px 64px;display:grid}.s-hero.split .media{aspect-ratio:4/3;border-radius:var(--th-radius-lg);background:var(--th-primary-700);order:2;position:relative;overflow:hidden}.s-hero.centered{text-align:center;padding:120px 64px}.s-hero.centered h1,.s-hero.centered p{margin-left:auto;margin-right:auto}.s-stats{background:var(--th-surface);border-top:1px solid var(--th-border);border-bottom:1px solid var(--th-border);grid-template-columns:repeat(4,1fr);gap:32px;padding:64px;display:grid}.s-stats .stat{text-align:center}.s-stats .n{font-family:var(--th-font-head);font-size:var(--th-fs-3xl);font-weight:var(--th-font-head-weight,700);letter-spacing:-.02em;color:var(--th-text);font-variant-numeric:tabular-nums}.s-stats .l{font-size:var(--th-fs-xs);color:var(--th-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.s-exp{background:var(--th-bg);padding:80px 64px}.s-exp h2{font-family:var(--th-font-head);font-size:var(--th-fs-3xl);font-weight:var(--th-font-head-weight);letter-spacing:-.02em;color:var(--th-text);margin:0 0 32px}.s-exp .grid{grid-template-columns:1fr;gap:16px;display:grid}@container dframe (min-width:640px){.s-exp.cols-2 .grid,.s-exp.cols-3 .grid,.s-exp.cols-4 .grid{grid-template-columns:repeat(2,1fr)}}@container dframe (min-width:960px){.s-exp.cols-3 .grid,.s-exp.cols-4 .grid{grid-template-columns:repeat(3,1fr)}}@container dframe (min-width:1200px){.s-exp.cols-4 .grid{grid-template-columns:repeat(4,1fr)}}@container dframe (max-width:640px){.s-exp{padding:48px 16px}.s-exp h2{font-size:var(--th-fs-2xl);margin-bottom:20px}}.s-exp .card{aspect-ratio:3/4;border-radius:var(--th-radius-lg);background:var(--bg,var(--th-primary-700));cursor:pointer;transition:transform .2s var(--ease);position:relative;overflow:hidden}.s-exp .card:after{content:"";background:linear-gradient(#0000 40%,#000000d9 100%);position:absolute;inset:0}.s-exp .card:hover{transform:translateY(-4px)}.s-exp .cinfo{color:#fff;z-index:1;padding:18px;position:absolute;bottom:0;left:0;right:0}.s-exp .cname{font-size:var(--th-fs-lg);font-weight:600}.s-exp .cmeta{font-size:var(--th-fs-xs);color:#fffc;font-variant-numeric:tabular-nums;margin-top:4px}.s-gallery{background:var(--th-surface);padding:64px}.s-gallery h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);letter-spacing:-.01em;color:var(--th-text);margin:0 0 24px}.s-gallery .grid{grid-template-columns:1fr;gap:8px;display:grid}@container dframe (min-width:640px){.s-gallery.cols-2 .grid,.s-gallery.cols-3 .grid,.s-gallery.cols-4 .grid{grid-template-columns:repeat(2,1fr)}}@container dframe (min-width:960px){.s-gallery.cols-3 .grid,.s-gallery.cols-4 .grid{grid-template-columns:repeat(3,1fr)}}@container dframe (min-width:1200px){.s-gallery.cols-4 .grid{grid-template-columns:repeat(4,1fr)}}@container dframe (max-width:640px){.s-gallery{padding:40px 16px}.s-gallery h2{font-size:var(--th-fs-xl);margin-bottom:16px}}.s-gallery .tile{aspect-ratio:1;border-radius:var(--th-radius);background:var(--bg,var(--th-primary-600))}.s-reviews{background:var(--th-bg);padding:80px 64px}.s-reviews h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);letter-spacing:-.01em;color:var(--th-text);margin:0 0 32px}.s-reviews .grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.s-reviews .rcard{background:var(--th-surface);border:1px solid var(--th-border);border-radius:var(--th-radius-lg);padding:24px}.s-reviews .stars{color:var(--th-warning);font-size:var(--th-fs-base);letter-spacing:1px}.s-reviews .rt{color:var(--th-text);font-size:var(--th-fs-base);margin:12px 0 18px;line-height:1.55}.s-reviews .rn{font-size:var(--th-fs-sm);color:var(--th-text-muted);font-weight:500}.s-blog{background:var(--th-surface);padding:80px 64px}.s-blog h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);letter-spacing:-.01em;color:var(--th-text);margin:0 0 28px}.s-blog .grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.s-blog .bcard{background:var(--th-surface-2);border:1px solid var(--th-border);border-radius:var(--th-radius-lg);overflow:hidden}.s-blog .bimg{aspect-ratio:16/9;background:var(--bg,var(--th-primary-600))}.s-blog .bbody{padding:18px}.s-blog .btag{font-size:var(--th-fs-xs);color:var(--th-primary);background:color-mix(in oklch, var(--th-primary) 14%, transparent);border-radius:var(--th-radius-sm);letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;font-weight:600;display:inline-block}.s-blog .btitle{font-family:var(--th-font-head);font-size:var(--th-fs-lg);color:var(--th-text);margin:10px 0 8px;font-weight:600;line-height:1.3}.s-blog .bago{font-size:var(--th-fs-xs);color:var(--th-text-muted)}.s-faq{background:var(--th-bg);max-width:960px;margin:0 auto;padding:80px 64px}.s-faq h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);letter-spacing:-.01em;color:var(--th-text);margin:0 0 24px}.s-faq .q{border-bottom:1px solid var(--th-border);justify-content:space-between;align-items:center;padding:20px 0;display:flex}.s-faq .q:last-child{border-bottom:0}.s-faq .qt{font-size:var(--th-fs-base);color:var(--th-text);font-weight:500}.s-faq .qi{color:var(--th-text-muted)}.s-map{background:var(--th-surface);padding:80px 64px}.s-map h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);letter-spacing:-.01em;color:var(--th-text);margin:0 0 24px}.s-map .placeholder{aspect-ratio:21/9;border-radius:var(--th-radius-lg);background:linear-gradient(45deg, var(--th-surface-2) 25%, transparent 25%), linear-gradient(-45deg, var(--th-surface-2) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--th-surface-2) 75%), linear-gradient(-45deg, transparent 75%, var(--th-surface-2) 75%), var(--th-surface);background-position:0 0,0 20px,20px -20px,-20px 0;background-size:40px 40px;position:relative}.s-map .pin{color:var(--th-primary);background:color-mix(in oklch, var(--th-primary) 20%, #0006);border:2px solid var(--th-primary);width:44px;height:44px;box-shadow:0 0 0 6px color-mix(in oklch, var(--th-primary) 18%, transparent);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.s-newsletter{background:var(--th-surface);text-align:center;border-top:1px solid var(--th-border);border-bottom:1px solid var(--th-border);padding:80px 64px}.s-newsletter h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);letter-spacing:-.02em;color:var(--th-text);margin:0 0 10px}.s-newsletter p{font-size:var(--th-fs-base);color:var(--th-text-muted);margin:0 0 24px}.s-newsletter .inp{gap:8px;width:100%;max-width:420px;display:inline-flex}.s-newsletter .inp input{background:var(--th-bg);border:1px solid var(--th-border);border-radius:var(--th-radius);height:48px;color:var(--th-text);flex:1;padding:0 16px}.s-newsletter .inp button{border-radius:var(--th-radius);background:var(--th-primary);height:48px;color:var(--th-bg);padding:0 22px;font-weight:600}.s-cta{background:radial-gradient(circle at 20% 30%, color-mix(in oklch, var(--th-primary) 15%, transparent) 0%, transparent 50%), radial-gradient(circle at 80% 70%, color-mix(in oklch, var(--th-accent) 15%, transparent) 0%, transparent 50%), var(--th-bg);text-align:center;color:var(--th-text);padding:100px 64px}.s-cta h2{font-family:var(--th-font-head);font-size:var(--th-fs-4xl);font-weight:var(--th-font-head-weight);letter-spacing:-.025em;color:var(--th-text);text-wrap:pretty;margin:0 0 12px;line-height:1.05}.s-cta p{font-size:var(--th-fs-lg);color:var(--th-text-muted);margin:0 0 32px}.s-cta .btn-big{border-radius:var(--th-radius-pill);background:var(--th-cta-gradient,var(--th-primary));height:56px;color:var(--th-bg);font-weight:600;font-size:var(--th-fs-base);box-shadow:0 12px 32px color-mix(in oklch, var(--th-primary) 40%, transparent);align-items:center;gap:8px;padding:0 28px;display:inline-flex}.s-banner{background:var(--th-cta-gradient,var(--th-primary));color:var(--th-bg);justify-content:space-between;align-items:center;gap:20px;padding:40px 64px;display:flex}.s-banner h3{font-family:var(--th-font-head);font-size:var(--th-fs-xl);font-weight:var(--th-font-head-weight);margin:0}.s-banner .bcta{border-radius:var(--th-radius-pill);background:var(--th-bg);height:40px;color:var(--th-primary);padding:0 18px;font-weight:600}.s-announce{background:var(--th-primary-900);color:#fff;font-size:var(--th-fs-sm);text-align:center;padding:12px 64px}.s-announce a{color:#fff;margin-left:8px;text-decoration:underline}.s-text{background:var(--th-bg);max-width:760px;margin:0 auto;padding:80px 64px}.s-text h2{font-family:var(--th-font-head);font-size:var(--th-fs-3xl);font-weight:var(--th-font-head-weight);color:var(--th-text);margin:0 0 16px}.s-text p{font-size:var(--th-fs-lg);color:var(--th-text-muted);line-height:1.6}.s-twocol{background:var(--th-bg);grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:80px 64px;display:grid}.s-twocol .media{aspect-ratio:4/3;border-radius:var(--th-radius-lg);background:var(--th-primary-600)}.s-twocol h2{font-family:var(--th-font-head);font-size:var(--th-fs-2xl);font-weight:var(--th-font-head-weight);color:var(--th-text);margin:0 0 16px}.s-twocol p{font-size:var(--th-fs-base);color:var(--th-text-muted);line-height:1.6}.sec.skeleton{background:linear-gradient(90deg,#14171d 0%,#1c1f28 50%,#14171d 100%) 0 0/200% 100%;border-radius:8px;justify-content:center;align-items:center;height:240px;margin:8px 0;animation:1.8s ease-in-out infinite shimmer;display:flex}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sec.skeleton .sklabel{color:var(--accent);align-items:center;gap:8px;font-size:12px;font-weight:500;display:inline-flex}.empty-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:40px;display:flex}.empty-page .title{letter-spacing:-.01em;color:var(--tx-pri);font-size:24px;font-weight:600}.empty-page .sub{color:var(--tx-sec);max-width:440px;font-size:14px}.empty-page .prompt-box{background:var(--s1);border:1px solid var(--bd-emph);width:560px;max-width:100%;box-shadow:0 0 0 4px color-mix(in oklch, var(--accent) 10%, transparent);border-radius:14px;padding:16px}.empty-page .prompt-box textarea{resize:none;width:100%;min-height:72px;color:var(--tx-pri);background:0 0;border:0;outline:0;font-family:inherit;font-size:15px;line-height:1.5}.empty-page .prompt-box .pfoot{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.empty-page .prompt-box .pfoot .hint{color:var(--tx-ter);font-size:11px}.empty-page .ideas{flex-wrap:wrap;justify-content:center;gap:6px;max-width:560px;display:flex}.empty-page .idea{border:1px dashed var(--bd-emph);height:28px;color:var(--tx-sec);transition:all var(--d-hover) var(--ease);background:0 0;border-radius:999px;padding:0 12px;font-size:12px}.empty-page .idea:hover{border-style:solid;border-color:var(--accent);color:var(--accent);background:color-mix(in oklch, var(--accent) 6%, transparent)}.code-view{background:var(--s0);flex-direction:column;flex:1;min-height:0;display:flex}.code-head{border-bottom:1px solid var(--bd-sub);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.code-head .tabs{gap:2px;display:flex}.code-head .tab{color:var(--tx-sec);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.code-head .tab.active{background:var(--s2);color:var(--accent)}.code-head .vbadge{color:var(--st-signed);background:color-mix(in oklch, var(--st-signed) 14%, transparent);border:1px solid color-mix(in oklch, var(--st-signed) 30%, transparent);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.code-body{flex:1;padding:12px 0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.65;overflow:auto}.code-line{grid-template-columns:48px 24px 1fr;padding:0;display:grid}.code-line .gutter{color:var(--tx-dis);text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;padding-right:10px}.code-line .mark{color:var(--tx-ter);padding:0 4px}.code-line.add{background:color-mix(in oklch, var(--st-signed) 10%, transparent)}.code-line.add .mark{color:var(--st-signed)}.code-line.rem{background:color-mix(in oklch, var(--rose) 10%, transparent)}.code-line.rem .mark{color:var(--rose)}.code-line .content{white-space:pre;color:#e0e4ea;padding-right:16px}.code-line .k{color:#a78bfa}.code-line .s{color:#34d399}.code-line .n{color:#fbbf24}.code-line .b{color:#60a5fa}.code-line .p{color:#6b7280}.code-footer{border-top:1px solid var(--bd-sub);color:var(--tx-sec);justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;display:flex}.code-footer .valid{color:var(--st-signed);align-items:center;gap:6px;display:inline-flex}.code-footer .readonly{background:var(--s2);color:var(--tx-ter);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.insp-head{border-bottom:1px solid var(--bd-sub);flex-shrink:0;align-items:center;gap:10px;padding:16px;display:flex}.insp-head .icn{background:color-mix(in oklch, var(--accent) 20%, var(--s2));width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.insp-head .info{flex:1;min-width:0}.insp-head .t{font-size:14px;font-weight:600}.insp-head .s{color:var(--tx-ter);margin-top:1px;font-size:11px}.insp-body{flex-direction:column;flex:1;gap:18px;padding:16px;display:flex;overflow-y:auto}.insp-group{flex-direction:column;gap:8px;display:flex}.insp-group .glabel{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-ter);font-size:10px;font-weight:600}.insp-field{flex-direction:column;gap:5px;display:flex}.insp-field .flabel{color:var(--tx-sec);justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.insp-field .flabel .ftype{color:var(--tx-dis);font-family:ui-monospace,monospace;font-size:10px}.insp-field input[type=text],.insp-field input[type=url],.insp-field textarea,.insp-field select{background:var(--s2);border:1px solid var(--bd-sub);color:var(--tx-pri);height:34px;transition:border-color var(--d-hover) var(--ease);border-radius:8px;outline:0;padding:0 10px;font-size:13px}.insp-field textarea{resize:vertical;height:auto;min-height:60px;padding:8px 10px;line-height:1.4}.insp-field input:focus,.insp-field textarea:focus,.insp-field select:focus{border-color:var(--accent)}.insp-field .link-in{display:flex;position:relative}.insp-field .link-in input{width:100%;padding-right:36px}.insp-field .link-in .picker{width:26px;height:26px;color:var(--tx-sec);border-radius:6px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.insp-field .link-in .picker:hover{background:var(--s3);color:var(--accent)}.radio-group{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.radio-opt{border:1px solid var(--bd-sub);background:var(--s2);cursor:pointer;transition:all var(--d-hover) var(--ease);color:var(--tx-sec);border-radius:8px;align-items:center;gap:6px;padding:8px;font-size:12px;display:flex}.radio-opt:hover{color:var(--tx-pri);border-color:var(--bd-emph)}.radio-opt.on{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 12%, var(--s2));color:var(--accent)}.bind-toggle{background:var(--s2);border:1px solid var(--bd-sub);border-radius:8px;grid-template-columns:1fr 1fr;gap:0;padding:3px;display:grid}.bind-toggle button{color:var(--tx-sec);border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:6px;font-size:12px;font-weight:500;display:inline-flex}.bind-toggle button.on{background:color-mix(in oklch, var(--accent) 20%, var(--s3));color:var(--accent)}.bind-panel{background:color-mix(in oklch, var(--accent) 5%, var(--s2));border:1px solid color-mix(in oklch, var(--accent) 25%, var(--bd-sub));border-radius:8px;flex-direction:column;gap:10px;padding:10px;display:flex}.bind-panel .plab{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.bind-preview{color:var(--tx-sec);background:var(--s3);border-radius:6px;padding:8px;font-family:ui-monospace,monospace;font-size:11px}.insp-foot{border-top:1px solid var(--bd-sub);flex-direction:column;flex-shrink:0;gap:6px;padding:12px;display:flex}.insp-foot .btn{justify-content:center;width:100%}.insp-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.insp-empty .emart{background:var(--s2);border:1px solid var(--bd-sub);width:56px;height:56px;color:var(--tx-ter);border-radius:12px;place-items:center;display:grid}.insp-empty .emt{color:var(--tx-pri);font-size:13px;font-weight:500}.insp-empty .ems{color:var(--tx-sec);max-width:220px;font-size:12px}.dchat{flex-direction:column;flex:1;min-height:0;display:flex}.dchat-head{border-bottom:1px solid var(--bd-sub);background:color-mix(in oklch, var(--accent) 6%, var(--s1));flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;display:flex}.dchat-head .lg{background:linear-gradient(135deg, var(--accent), color-mix(in oklch, var(--accent) 60%, #fff));color:#0b0d11;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.dchat-head .t{font-size:13px;font-weight:600}.dchat-head .s{color:var(--tx-ter);font-size:11px}.dchat-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.dchat-msg{gap:8px;display:flex}.dchat-msg.user{flex-direction:row-reverse}.dchat-msg .av{border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:10px;font-weight:600;display:grid}.dchat-msg.ai .av{background:color-mix(in oklch, var(--accent) 22%, var(--s2));color:var(--accent)}.dchat-msg.user .av{color:#0b0d11;background:linear-gradient(135deg,#60a5fa,#a78bfa)}.dchat-msg .bub{border-radius:12px;max-width:88%;padding:10px 12px;font-size:13px;line-height:1.5}.dchat-msg.ai .bub{background:var(--s2);color:var(--tx-pri);border:1px solid var(--bd-sub);border-top-left-radius:4px}.dchat-msg.user .bub{background:color-mix(in oklch, var(--accent) 24%, var(--s2));color:var(--tx-pri);border:1px solid color-mix(in oklch, var(--accent) 35%, transparent);border-top-right-radius:4px}.dchat-msg .bub strong{color:var(--accent);font-weight:600}.dchat-msg .bub code{background:var(--s3);color:var(--amber);border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}.dchat-tool{background:var(--s3);border:1px solid var(--bd-sub);color:var(--tx-sec);border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;font-size:11px;display:inline-flex}.dchat-tool.done{border-color:color-mix(in oklch, var(--st-signed) 30%, var(--bd-sub));color:var(--st-signed)}.dchat-tool.running{border-color:color-mix(in oklch, var(--accent) 30%, var(--bd-sub));color:var(--accent)}.dchat-tool .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.dchat-tool.running .dot{animation:1.2s infinite pulse-dot}.dchat-sug{border-top:1px dashed var(--bd-sub);flex-direction:column;gap:4px;margin-top:4px;padding-top:4px;display:flex}.dchat-sug button{text-align:left;background:var(--s2);border:1px dashed var(--bd-sub);color:var(--tx-sec);transition:all var(--d-hover) var(--ease);border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.dchat-sug button:hover{color:var(--tx-pri);border-color:var(--accent);border-style:solid}.dchat-sug svg{color:var(--accent);flex-shrink:0}.dchat-foot{border-top:1px solid var(--bd-sub);flex-shrink:0;gap:6px;padding:12px;display:flex}.dchat-foot input{background:var(--s2);border:1px solid var(--bd-sub);height:38px;color:var(--tx-pri);transition:border-color var(--d-hover) var(--ease);border-radius:10px;outline:0;flex:1;padding:0 12px;font-size:13px}.dchat-foot input:focus{border-color:var(--accent)}.dchat-foot button{background:linear-gradient(180deg, var(--accent), var(--accent-end));color:#0b0d11;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.dchat-foot button:disabled{opacity:.4}.schema{padding:12px;overflow-y:auto}.schema-item{border:1px solid var(--bd-sub);border-radius:8px;margin-bottom:4px;overflow:hidden}.schema-item .sh{background:var(--s2);cursor:pointer;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.schema-item .sh .chev{color:var(--tx-sec);transition:transform var(--d-hover) var(--ease)}.schema-item.open .sh .chev{transform:rotate(90deg)}.schema-item .sb{background:var(--s1);border-top:1px solid var(--bd-sub);padding:8px 12px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.7;display:none}.schema-item.open .sb{display:block}.schema-item .sb .row{grid-template-columns:120px 1fr auto;gap:8px;padding:2px 0;display:grid}.schema-item .sb .key{color:#a78bfa}.schema-item .sb .typ{color:#34d399}.schema-item .sb .req{color:var(--rose);font-size:9px}.pub-modal{width:620px!important}.pub-sum{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.pub-sum .card{background:var(--s2);border:1px solid var(--bd-sub);text-align:center;border-radius:10px;padding:14px}.pub-sum .card .n{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:28px;font-weight:700}.pub-sum .card .l{color:var(--tx-sec);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:11px}.pub-sum .card.add{border-color:color-mix(in oklch, var(--st-signed) 30%, var(--bd-sub))}.pub-sum .card.add .n{color:var(--st-signed)}.pub-sum .card.mod{border-color:color-mix(in oklch, var(--accent) 30%, var(--bd-sub))}.pub-sum .card.mod .n{color:var(--accent)}.pub-sum .card.rem{border-color:color-mix(in oklch, var(--rose) 30%, var(--bd-sub))}.pub-sum .card.rem .n{color:var(--rose)}.pub-list{max-height:220px;overflow-y:auto}.pub-row{border-left:3px solid var(--bd-sub);border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-size:12px;display:flex}.pub-row.add{border-left-color:var(--st-signed);background:color-mix(in oklch, var(--st-signed) 6%, transparent)}.pub-row.mod{border-left-color:var(--accent);background:color-mix(in oklch, var(--accent) 6%, transparent)}.pub-row.rem{border-left-color:var(--rose);background:color-mix(in oklch, var(--rose) 6%, transparent)}.pub-row .badge{letter-spacing:.06em;text-transform:uppercase;text-align:center;border-radius:3px;width:44px;padding:2px 5px;font-size:9px;font-weight:700}.pub-row.add .badge{background:color-mix(in oklch, var(--st-signed) 20%, transparent);color:var(--st-signed)}.pub-row.mod .badge{background:color-mix(in oklch, var(--accent) 20%, transparent);color:var(--accent)}.pub-row.rem .badge{background:color-mix(in oklch, var(--rose) 20%, transparent);color:var(--rose)}.pub-row .name{font-weight:500}.pub-row .note{color:var(--tx-sec);margin-left:auto;font-size:11px}.page-chip{background:var(--s2);border:1px solid var(--bd-sub);height:26px;color:var(--tx-pri);transition:background var(--d-hover) var(--ease);border-radius:999px;align-items:center;gap:4px;padding:0 8px 0 4px;font-size:12px;display:inline-flex}.page-chip:hover{background:var(--s3)}.page-chip .pi{background:color-mix(in oklch, var(--accent) 18%, var(--s3));width:18px;height:18px;color:var(--accent);border-radius:4px;place-items:center;display:grid}.d-skel{background:linear-gradient(90deg, var(--s2) 0%, var(--s3) 50%, var(--s2) 100%);background-size:200% 100%;border-radius:4px;animation:1.6s ease-in-out infinite shimmer}.theme-studio{z-index:60;background:var(--s1);border-left:1px solid var(--bd-emph);flex-direction:column;width:380px;animation:.24s cubic-bezier(.2,.9,.3,1) th-slide;display:flex;position:fixed;top:56px;bottom:50px;right:0;box-shadow:-12px 0 32px #0006}@keyframes th-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.ts-head{border-bottom:1px solid var(--bd-sub);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.ts-head .icn{background:color-mix(in oklch, var(--accent) 20%, var(--s2));width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.ts-head .t{color:var(--tx-pri);font-size:14px;font-weight:600}.ts-head .s{color:var(--tx-ter);font-size:11px}.ts-tabs{border-bottom:1px solid var(--bd-sub);flex-shrink:0;gap:0;padding:6px 8px 0;display:flex;overflow-x:auto}.ts-tab{color:var(--tx-sec);white-space:nowrap;transition:all var(--d-hover) var(--ease);border-bottom:2px solid #0000;align-items:center;gap:5px;padding:8px 10px;font-size:11px;font-weight:500;display:inline-flex}.ts-tab:hover{color:var(--tx-pri)}.ts-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.ts-body{flex-direction:column;flex:1;gap:18px;padding:16px;display:flex;overflow-y:auto}.ts-foot{border-top:1px solid var(--bd-sub);flex-shrink:0;justify-content:flex-end;gap:6px;padding:10px 14px;display:flex}.ts-foot button{background:var(--s2);border:1px solid var(--bd-sub);height:28px;color:var(--tx-sec);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:6px;align-items:center;gap:5px;padding:0 12px;font-size:11px;font-weight:500;display:inline-flex}.ts-foot button:hover{color:var(--tx-pri);border-color:var(--bd-emph)}.ts-group{flex-direction:column;gap:6px;display:flex}.ts-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-ter);margin-bottom:2px;font-size:10px;font-weight:700}.ts-row{align-items:center;gap:10px;padding:4px 0;display:flex}.ts-row .label{color:var(--tx-sec);flex:1;font-size:12px}.ts-slider{align-items:center;gap:10px;display:flex}.ts-slider input[type=range]{accent-color:var(--accent);flex:1}.ts-slider .val{font-variant-numeric:tabular-nums;color:var(--tx-sec);text-align:right;min-width:40px;font-size:11px}.ts-seg{background:var(--s2);border:1px solid var(--bd-sub);border-radius:6px;gap:2px;padding:2px;display:inline-flex}.ts-seg button{color:var(--tx-sec);transition:all var(--d-hover) var(--ease);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:500}.ts-seg button:hover{color:var(--tx-pri)}.ts-seg button.active{background:var(--s3);color:var(--accent)}.tp-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tp-card{background:var(--s2);border:1px solid var(--bd-sub);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:10px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.tp-card:hover{border-color:var(--bd-emph);transform:translateY(-2px)}.tp-card.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklch, var(--accent) 25%, transparent)}.tp-card .preview{aspect-ratio:4/3;align-items:flex-end;gap:4px;padding:12px;display:flex;position:relative}.tp-card .chip1,.tp-card .chip2,.tp-card .chip3{border-radius:var(--pv-r,4px);height:10px}.tp-card .chip1{background:var(--pv-p);flex:2}.tp-card .chip2{background:var(--pv-s);flex:1.2}.tp-card .chip3{background:var(--pv-a);flex:.8}.tp-card .tp-meta{text-align:left;padding:8px 10px 10px}.tp-card .tn{color:var(--tx-pri);font-size:12px;font-weight:600}.tp-card .ts{color:var(--tx-sec);margin-top:1px;font-size:10px}.tp-card .check{background:var(--accent);color:#0b0d11;border-radius:50%;place-items:center;width:18px;height:18px;display:none;position:absolute;top:8px;right:8px}.tp-card.active .check{display:grid}.color-field{background:var(--s2);border:1px solid var(--bd-sub);cursor:pointer;width:100%;height:32px;transition:border-color var(--d-hover) var(--ease);border-radius:6px;align-items:center;gap:8px;padding:2px 4px 2px 2px;display:flex}.color-field:hover{border-color:var(--bd-emph)}.color-field .sw{background-image:linear-gradient(45deg,#555 25%,#0000 25%),linear-gradient(-45deg,#555 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#555 75%),linear-gradient(-45deg,#0000 75%,#555 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:4px;width:26px;height:26px;position:relative;overflow:hidden}.color-field .sw:after{content:"";background:var(--sw-bg);position:absolute;inset:0}.color-field .sw{background:0 0}.color-field .val{color:var(--tx-pri);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,monospace;font-size:11px;overflow:hidden}.color-field .kind{text-transform:uppercase;letter-spacing:.04em;background:var(--s3);color:var(--tx-ter);border-radius:3px;padding:2px 5px;font-size:9px;font-weight:700}.cp-pop{z-index:100;background:var(--s1);border:1px solid var(--bd-emph);border-radius:10px;width:280px;padding:10px;position:fixed;box-shadow:0 16px 48px #0009}.cp-tabs{background:var(--s2);border-radius:6px;gap:2px;margin-bottom:10px;padding:2px;display:flex}.cp-tabs button{color:var(--tx-sec);border-radius:4px;flex:1;padding:5px;font-size:11px;font-weight:500}.cp-tabs button.active{background:var(--s3);color:var(--accent)}.cp-swatches{grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:10px;display:grid}.cp-swatches button{aspect-ratio:1;cursor:pointer;transition:transform .12s var(--ease);border:1px solid #ffffff0f;border-radius:4px}.cp-swatches button:hover{transform:scale(1.08)}.cp-hex{align-items:center;gap:6px;display:flex}.cp-hex .preview{border:1px solid var(--bd-sub);border-radius:6px;width:28px;height:28px}.cp-hex input{background:var(--s2);border:1px solid var(--bd-sub);height:28px;color:var(--tx-pri);border-radius:6px;outline:0;flex:1;padding:0 8px;font-family:ui-monospace,monospace;font-size:12px}.cp-grad{flex-direction:column;gap:8px;display:flex}.cp-grad .preview{border:1px solid var(--bd-sub);border-radius:8px;height:48px}.cp-grad .stops{align-items:center;gap:6px;display:flex}.cp-grad .angle{color:var(--tx-sec);font-variant-numeric:tabular-nums;min-width:30px;font-size:11px}.scale-ramp{border:1px solid var(--bd-sub);border-radius:6px;grid-template-columns:repeat(10,1fr);height:32px;display:grid;overflow:hidden}.scale-ramp>div{transition:all var(--d-hover) var(--ease)}.scale-ramp>div:hover{transform:scaleY(1.15)}.font-pick{background:var(--s2);border:1px solid var(--bd-sub);cursor:pointer;transition:all var(--d-hover) var(--ease);border-radius:6px;margin-bottom:4px;padding:8px 10px}.font-pick:hover{border-color:var(--bd-emph)}.font-pick.active{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 8%, var(--s2))}.font-pick .flabel{color:var(--tx-ter);text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:600}.font-pick .fsample{color:var(--tx-pri);margin-top:2px;font-size:20px;line-height:1.1}.font-pick .fname{color:var(--tx-pri);margin-top:2px;font-size:13px}.btn-preview-row{background:var(--s2);border:1px solid var(--bd-sub);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;display:flex}
