:root{--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;--font-display:var(--font-ui);--font-mono:"SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;--fs-11:.6875rem;--lh-11:1rem;--fs-12:.75rem;--lh-12:1.15rem;--fs-13:.8125rem;--lh-13:1.25rem;--fs-14:.875rem;--lh-14:1.3rem;--fs-15:.9375rem;--lh-15:1.4rem;--fs-16:1rem;--lh-16:1.5rem;--fs-18:1.125rem;--lh-18:1.6rem;--fs-20:1.25rem;--lh-20:1.75rem;--fs-22:1.375rem;--lh-22:1.85rem;--fs-24:1.5rem;--lh-24:2rem;--fs-28:1.75rem;--lh-28:2.2rem;--fs-40:2.5rem;--lh-40:2.95rem;--fs-56:3.5rem;--lh-56:4rem;--fs-72:4.5rem;--lh-72:5rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-4:.25rem;--sp-8:.5rem;--sp-12:.75rem;--sp-16:1rem;--sp-20:1.25rem;--sp-24:1.5rem;--sp-32:2rem;--sp-48:3rem;--sp-64:4rem;--sp-96:6rem;--gut:clamp(1.25rem, 4vw, 3rem);--topnav-h:64px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-1:.12s;--dur-2:.22s;--dur-3:.36s;--z-base:0;--z-sticky:100;--z-overlay:800;--z-modal:1000;--z-toast:1200;--success:#2e7d5b;--warning:#b7791f;--danger:#b23a48;--info:#3b6ea5}.date-picker{display:inline-flex;position:relative}.date-picker-trigger{justify-content:flex-start;align-items:center;gap:var(--sp-8);min-width:176px;height:36px;padding:0 var(--sp-12);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-13);font-variant-numeric:tabular-nums;transition:border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);display:inline-flex}.date-picker-trigger:hover,.date-picker-trigger:focus-visible{border-color:var(--accent);background:var(--surface-2);outline:none}.date-picker-trigger>svg{color:var(--mist);flex:none}.date-picker-popover{z-index:var(--z-overlay);right:0;bottom:calc(100% + var(--sp-8));width:max-content;padding:var(--sp-12);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-3);color:var(--ink);position:absolute}.date-picker-shortcuts,.date-picker-footer{align-items:center;gap:var(--sp-4);display:flex}.date-picker-shortcuts{padding-bottom:var(--sp-8);border-bottom:1px solid var(--line)}.date-picker-shortcuts button,.date-picker-clear,.date-picker-done{border-radius:var(--r-sm);color:var(--mist);font-size:var(--fs-12);transition:background var(--dur-1), color var(--dur-1);padding:4px 7px}.date-picker-shortcuts button:hover,.date-picker-clear:hover{background:var(--surface-2);color:var(--ink)}.date-picker-footer{padding-top:var(--sp-8);border-top:1px solid var(--line);justify-content:flex-end}.date-picker-done{color:var(--accent);font-weight:var(--fw-semibold)}.date-picker-done:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.date-picker-popover .rdp{--rdp-accent-color:var(--accent);--rdp-accent-background-color:color-mix(in srgb, var(--accent) 13%, transparent);--rdp-day-height:32px;--rdp-day-width:32px;margin:var(--sp-8) 0 0;font-size:var(--fs-12)}.date-picker-popover .rdp-caption_label{font-family:var(--font-ui);font-size:var(--fs-13);font-weight:var(--fw-semibold)}.date-picker-popover .rdp-button_previous,.date-picker-popover .rdp-button_next{color:var(--mist)}.date-picker-popover .rdp-day_button{border-radius:var(--r-sm)}.date-picker-popover .rdp-selected .rdp-day_button{background:var(--accent);color:var(--canvas)}.date-picker-single{left:0;right:auto}@media (width<=640px){.date-picker-popover{width:min(95vw,430px);position:fixed;left:50%;right:auto;transform:translate(-50%)}.date-picker-popover .rdp{--rdp-day-width:30px;--rdp-day-height:30px}.date-picker-popover .rdp-months{flex-wrap:nowrap;overflow-x:auto}}:root,[data-theme=light]{--canvas:#fff;--surface:#fafaf9;--surface-2:#f4f4f2;--ink:#111;--ink-2:#2b2b2b;--mist:#6b6b6b;--mist-2:#9a9a9a;--line:#e8e8e6;--line-strong:#d4d4d2;--accent:#b08d57;--accent-ink:#fffdf8;--accent-soft:#f3ece0;--overlay-bg:#11111173;--success-bg:#e9f3ee;--warning-bg:#f7efe0;--danger-bg:#f6e8eb;--info-bg:#e8eff6;--sh-1:0 1px 2px #1111110f, 0 1px 1px #1111110a;--sh-2:0 4px 12px #11111114, 0 2px 4px #1111110a;--sh-3:0 16px 40px #1111111f, 0 4px 12px #1111110f;--focus-ring:0 0 0 3px #b08d5759}[data-theme=dark]{--canvas:#0e0e10;--surface:#161618;--surface-2:#1d1d20;--ink:#f2f2f2;--ink-2:#d8d8d8;--mist:#9a9a9c;--mist-2:#6f6f72;--line:#262629;--line-strong:#34343a;--accent:#c9a86a;--accent-ink:#1a1306;--accent-soft:#2a2113;--overlay-bg:#0000009e;--success:#4caf82;--warning:#d4a13b;--danger:#d7626e;--info:#6f9fd0;--success-bg:#16221c;--warning-bg:#241d10;--danger-bg:#251418;--info-bg:#16222e;--sh-1:0 1px 2px #0006;--sh-2:0 4px 14px #00000080;--sh-3:0 18px 44px #0000009e;--focus-ring:0 0 0 3px #c9a86a52}@media (prefers-color-scheme:dark){:root:not([data-theme]){--canvas:#0e0e10;--surface:#161618;--surface-2:#1d1d20;--ink:#f2f2f2;--ink-2:#d8d8d8;--mist:#9a9a9c;--mist-2:#6f6f72;--line:#262629;--line-strong:#34343a;--accent:#c9a86a;--accent-ink:#1a1306;--accent-soft:#2a2113;--overlay-bg:#0000009e;--success:#4caf82;--warning:#d4a13b;--danger:#d7626e;--info:#6f9fd0;--success-bg:#16221c;--warning-bg:#241d10;--danger-bg:#251418;--info-bg:#16222e;--sh-1:0 1px 2px #0006;--sh-2:0 4px 14px #00000080;--sh-3:0 18px 44px #0000009e;--focus-ring:0 0 0 3px #c9a86a52}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;line-height:1.5}img,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}body{background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-14);line-height:var(--lh-14);transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semibold);color:var(--ink);letter-spacing:-.01em}h1{font-size:var(--fs-28);line-height:var(--lh-28)}h2{font-size:var(--fs-24);line-height:var(--lh-24)}h3{font-size:var(--fs-20);line-height:var(--lh-20)}h4{font-size:var(--fs-16);line-height:var(--lh-16)}p{color:var(--ink-2)}small{font-size:var(--fs-12);color:var(--mist)}strong{font-weight:var(--fw-semibold)}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}hr{border:0;border-top:1px solid var(--line)}p>a,li>a:not([class]),.prose-link,.acc-body a,.alert a,.help a,.check a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);transition:color var(--dur-1) var(--ease-out), text-decoration-thickness var(--dur-1) var(--ease-out);text-decoration-thickness:1.5px}p>a:hover,li>a:not([class]):hover,.prose-link:hover,.acc-body a:hover,.alert a:hover,.help a:hover,.check a:hover{color:var(--accent);text-decoration-thickness:2.5px}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:var(--fw-medium)}.display{font-family:var(--font-display);font-weight:var(--fw-semibold)}.mono{font-family:var(--font-mono)}.text-mist{color:var(--mist)}.text-accent{color:var(--accent)}.container{width:min(100% - var(--gut) * 2, 1200px);margin-inline:auto}.container-narrow{width:min(100% - var(--gut) * 2, 880px);margin-inline:auto}.section{padding-block:clamp(3.5rem,8vw,7rem)}.section-tight{padding-block:clamp(var(--sp-32), 5vw, var(--sp-48))}.grid{gap:var(--sp-16);display:grid}.flow>*+*{margin-top:var(--sp-16)}.flow-sm>*+*{margin-top:var(--sp-8)}.cluster,.toolbar{gap:var(--sp-8);flex-wrap:wrap;align-items:center;display:flex}.toolbar .select,.toolbar .input{flex:none;width:auto;min-width:120px}.stack{flex-direction:column;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-16);display:flex}.filmstrip{--hole:14px;background:repeating-linear-gradient(90deg, var(--ink) 0 6px, transparent 6px 22px) center / 100% 4px no-repeat, var(--canvas);justify-content:space-between;align-items:center;height:28px;padding-inline:12px;display:flex}.filmstrip:before,.filmstrip:after{content:"";background-image:radial-gradient(circle at 7px 14px, var(--canvas) 4px, transparent 5px);opacity:.9;background-repeat:repeat-x;background-size:22px 28px;flex:1;height:100%}.filmstrip>span{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.2em;color:var(--accent);padding-inline:var(--sp-12);background:var(--canvas)}.btn{--btn-h:40px;justify-content:center;align-items:center;gap:var(--sp-8);height:var(--btn-h);padding-inline:var(--sp-16);border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--fs-14);font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);border:1px solid #0000;line-height:1;display:inline-flex}.btn:active{transition-duration:60ms;transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn-sm{--btn-h:32px;padding-inline:var(--sp-12);font-size:var(--fs-12)}.btn-lg{--btn-h:48px;padding-inline:var(--sp-24);font-size:var(--fs-16)}.btn-primary{background:var(--ink);color:var(--canvas)}.btn-primary:hover{background:var(--ink-2);box-shadow:var(--sh-2);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--sh-1);transform:translateY(1px)}.btn-secondary{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{background:var(--canvas);border-color:var(--mist);box-shadow:var(--sh-1);transform:translateY(-1px)}.btn-secondary:active{background:var(--line);box-shadow:none;transform:translateY(1px)}.btn-ghost{color:var(--mist);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-ghost:active{background:var(--line)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{filter:brightness(1.08);box-shadow:var(--sh-2);transform:translateY(-1px)}.btn-accent:active{filter:brightness(.98);box-shadow:none;transform:translateY(1px)}.btn-outline{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--ink);background:var(--surface-2);transform:translateY(-1px)}.btn-outline:active{background:var(--line);transform:translateY(1px)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.btn-danger:hover{background:color-mix(in srgb, var(--danger) 16%, transparent);box-shadow:var(--sh-1);transform:translateY(-1px)}.btn-danger:active{background:color-mix(in srgb, var(--danger) 22%, transparent);box-shadow:none;transform:translateY(1px)}.btn-icon{width:var(--btn-h);border-radius:var(--r-md);padding:0}.btn-icon svg{width:18px;height:18px}.btn-icon.btn-sm{width:32px}.btn-icon.btn-lg{width:48px}.btn .btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.is-loading{pointer-events:none;position:relative;color:#0000!important}.is-loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--sp-8);flex-direction:column;display:flex}.label{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--ink-2)}.help{font-size:var(--fs-12);color:var(--mist)}.error-text{font-size:var(--fs-12);color:var(--danger)}.input,.textarea,.select{background:var(--canvas);border:1px solid var(--line-strong);border-radius:var(--r-md);width:100%;color:var(--ink);font-size:var(--fs-14);padding:0 var(--sp-12);height:40px;transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out)}.textarea{height:auto;min-height:96px;padding-block:var(--sp-8);resize:vertical;line-height:var(--lh-14)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--mist) 50%), linear-gradient(135deg, var(--mist) 50%, transparent 50%);background-position:right 14px center,right 8px center;background-repeat:no-repeat;background-size:6px 6px;padding-right:32px}.input::placeholder,.textarea::placeholder{color:var(--mist-2)}.input:hover,.textarea:hover,.select:hover{border-color:var(--mist)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.input:disabled,.textarea:disabled,.select:disabled{background:var(--surface-2);color:var(--mist);cursor:not-allowed}.is-invalid{border-color:var(--danger)!important}.dropzone{border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface-2);transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out)}.dropzone[data-drag=true]{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-2))}.dropzone[data-mode=editing],.dropzone[data-mode=file]{border-style:solid;border-color:var(--line);background:var(--canvas)}.dz-idle{text-align:center;align-items:center;gap:var(--sp-8);padding:var(--sp-48) var(--sp-24);flex-direction:column;display:flex}.dz-ico{color:var(--mist-2);margin-bottom:var(--sp-4)}.dz-lead{font-size:var(--fs-16);color:var(--ink-2)}.dz-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);transition:color var(--dur-1) var(--ease-out);margin-left:4px;text-decoration-thickness:1.5px}.dz-link:hover{color:var(--accent);text-decoration-thickness:2.5px}.dz-hint{font-size:var(--fs-12);color:var(--mist-2);letter-spacing:.1em}.dz-divider{width:180px;margin-block:var(--sp-12)}.dz-file{align-items:center;gap:var(--sp-12);padding:var(--sp-16);display:flex}.dz-file-ico{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.dz-file-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dz-file-name{font-size:var(--fs-14);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dz-file-size{font-size:var(--fs-12);color:var(--mist)}.dz-edit{flex-direction:column;display:flex}.dz-textarea{width:100%;min-height:220px;padding:var(--sp-16);border-radius:var(--r-lg) var(--r-lg) 0 0;color:var(--ink);font-size:var(--fs-15,.9375rem);line-height:var(--lh-16);resize:vertical;background:0 0;border:0}.dz-textarea:focus{outline:none}.dz-textarea::placeholder{color:var(--mist-2)}.dz-edit-foot{justify-content:space-between;align-items:center;gap:var(--sp-8);padding:var(--sp-8) var(--sp-12);border-top:1px solid var(--line);display:flex}.dz-count{font-size:var(--fs-12);color:var(--mist)}.check{align-items:center;gap:var(--sp-8);font-size:var(--fs-14);cursor:pointer;color:var(--ink-2);display:inline-flex}.check input{appearance:none;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);background:var(--canvas);width:18px;height:18px;transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);flex-shrink:0;place-content:center;display:grid}.check input[type=radio]{border-radius:50%}.check input:checked{border-color:var(--ink);background:var(--ink)}.check input[type=radio]:checked{border-color:var(--accent);background:radial-gradient(circle at center, var(--accent) 0 5px, transparent 6px), var(--canvas)}.check input:checked:before{content:"";background:var(--canvas);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,86% 0,50% 65%);width:10px;height:10px;transform:scale(.9)}.check input:focus-visible{box-shadow:var(--focus-ring)}.check input:disabled{opacity:.5;cursor:not-allowed}.switch{align-items:center;gap:var(--sp-8);cursor:pointer;font-size:var(--fs-14);color:var(--ink-2);display:inline-flex}.switch input{appearance:none;border-radius:var(--r-pill);background:var(--line-strong);width:40px;height:22px;transition:background var(--dur-1) var(--ease-out);flex-shrink:0;position:relative}.switch input:after{content:"";background:var(--canvas);width:18px;height:18px;box-shadow:var(--sh-1);transition:transform var(--dur-2) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--ink)}.switch input:checked:after{transform:translate(18px)}.switch input:focus-visible{box-shadow:var(--focus-ring)}.badge{height:22px;padding-inline:var(--sp-8);border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:var(--fw-medium);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);align-items:center;gap:4px;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge-success{background:var(--success-bg);color:var(--success);border-color:#0000}.badge-warning{background:var(--warning-bg);color:var(--warning);border-color:#0000}.badge-danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.badge-info{background:var(--info-bg);color:var(--info);border-color:#0000}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip{align-items:center;gap:var(--sp-8);height:28px;padding-inline:var(--sp-12);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);font-size:var(--fs-13,.8125rem);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);display:inline-flex}.chip:hover{border-color:var(--line-strong);background:var(--line)}.chip[aria-pressed=true]{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.chip button{color:inherit;opacity:.6}.chip button:hover{opacity:1}.avatar{--av:40px;width:var(--av);height:var(--av);background:var(--surface-2);color:var(--ink);font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:calc(var(--av) * .36);border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid;overflow:hidden}.avatar-sm{--av:28px}.avatar-lg{--av:56px}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-group{display:inline-flex}.avatar-group .avatar+.avatar{border:2px solid var(--canvas);margin-left:-12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-24);transition:box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out)}.card-2{background:var(--surface-2)}.card-hover:hover{box-shadow:var(--sh-2);border-color:var(--line-strong)}.card-pad-lg{padding:var(--sp-32)}.card-flush{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:var(--sp-12);margin-bottom:var(--sp-16);display:flex}.card-title{font-family:var(--font-display);font-size:var(--fs-16);line-height:var(--lh-16);font-weight:var(--fw-semibold);letter-spacing:-.005em}.card-sub{font-size:var(--fs-12);line-height:var(--lh-12);color:var(--mist);margin-top:1px}.rec-list{gap:var(--sp-12);flex-direction:column;display:flex}.rec-toolbar{align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.rec-toolbar-right{align-items:center;gap:var(--sp-8);margin-left:auto;display:flex}.rec-items{gap:var(--sp-8);flex-direction:column;display:flex}.rec-row{align-items:center;gap:var(--sp-16);padding:var(--sp-12) var(--sp-16);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);display:flex;position:relative}.rec-row:hover{border-color:var(--line-strong);background:var(--surface-2)}.rec-row[data-failed=true]:before{content:"";left:0;top:var(--sp-12);bottom:var(--sp-12);background:var(--danger);border-radius:0 2px 2px 0;width:3px;position:absolute}.rec-main{gap:var(--sp-8);flex-direction:column;flex:1;min-width:0;display:flex}.rec-title-line{align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.rec-title{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rec-meta{align-items:center;gap:var(--sp-12);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--mist);letter-spacing:.02em;flex-wrap:wrap;display:flex}.rec-owner{color:var(--ink-2)}.rec-ver{color:var(--mist-2);margin-left:4px}.rec-actions{align-items:center;gap:var(--sp-8);opacity:0;transition:opacity var(--dur-1) var(--ease-out);flex-shrink:0;display:flex}.rec-row:hover .rec-actions,.rec-row:focus-within .rec-actions{opacity:1}@media (hover:none){.rec-actions{opacity:1}}@media (width<=880px){.rec-row{flex-wrap:wrap;align-items:flex-start}.rec-toolbar-right{margin-left:0}}.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto}.table{background:var(--surface)}.table th,.table td{padding:var(--sp-12) var(--sp-16);text-align:left;font-size:var(--fs-14);line-height:var(--lh-14);border-bottom:1px solid var(--line)}.table thead th{font-weight:var(--fw-medium);color:var(--mist);font-size:var(--fs-12);letter-spacing:.02em;background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--dur-1) var(--ease-out)}.table-zebra tbody tr:nth-child(2n),.table-hover tbody tr:hover{background:var(--surface-2)}.table-compact th,.table-compact td{padding:var(--sp-8) var(--sp-12)}.table .num{font-family:var(--font-ui);font-variant-numeric:tabular-nums;text-align:right}.stat{gap:var(--sp-8);padding:var(--sp-24);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;display:flex}.stat-label{font-size:var(--fs-12);color:var(--mist);text-transform:uppercase;letter-spacing:.08em}.stat-value{font-family:var(--font-ui);font-size:var(--fs-40);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--ink);line-height:1}.stat-value-display{font-family:var(--font-display)}.stat-delta{font-size:var(--fs-12);font-family:var(--font-ui);font-variant-numeric:tabular-nums}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--danger)}.stat-sub{font-size:var(--fs-12);color:var(--mist)}.stat-row{gap:var(--sp-16);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));display:grid}.stat-row-tight{gap:var(--sp-12);grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.stat-row-tight .stat{padding:var(--sp-16)}.stat-row-tight .stat-value{font-size:var(--fs-28)}.stat-value.is-danger{color:var(--danger)}.stat-value.is-warning{color:var(--warning)}.stat-value.is-success{color:var(--success)}.stat-value.is-accent{color:var(--accent)}.stat-value.is-mist{color:var(--mist)}.stat-wide{grid-column:span 2}@media (width<=560px){.stat-wide{grid-column:span 1}}.stat-band{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.stat-band>div{padding:var(--sp-32) var(--sp-16);border-right:1px solid var(--line)}.stat-band>div:last-child{border-right:0}.stat-band .v{font-family:var(--font-display);font-size:var(--fs-40);font-weight:var(--fw-semibold);line-height:1}.stat-band .l{font-size:var(--fs-12);color:var(--mist);text-transform:uppercase;letter-spacing:.08em;margin-top:var(--sp-8)}@media (width<=560px){.stat-band{grid-template-columns:1fr 1fr}.stat-band>div:nth-child(2){border-right:0}.stat-band .v{font-size:var(--fs-28)}}.sparkbar{align-items:flex-end;gap:3px;height:36px;display:flex}.sparkbar i{background:var(--accent);opacity:.85;border-radius:2px 2px 0 0;width:6px;display:block}.sparkbar i.muted{background:var(--line-strong)}.sparkline{stroke:var(--accent);fill:none;stroke-width:1.5px}.sparkline-area{fill:var(--accent);opacity:.1}.alert{gap:var(--sp-12);padding:var(--sp-16);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-14);display:flex}.alert .alert-ico{flex-shrink:0;width:18px;height:18px}.alert-success{background:var(--success-bg);color:var(--success);border-color:#0000}.alert-warning{background:var(--warning-bg);color:var(--warning);border-color:#0000}.alert-danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.alert-info{background:var(--info-bg);color:var(--info);border-color:#0000}.alert strong{color:inherit}.alert .alert-body{color:var(--ink-2)}.alert-success .alert-body,.alert-warning .alert-body,.alert-danger .alert-body,.alert-info .alert-body{color:inherit;opacity:.85}.toast{right:var(--sp-24);bottom:var(--sp-24);z-index:var(--z-toast);gap:var(--sp-12);flex-direction:column;max-width:360px;display:flex;position:fixed}.toast-item{gap:var(--sp-12);padding:var(--sp-16);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md);box-shadow:var(--sh-2);animation:toast-in var(--dur-3) var(--ease-out);align-items:flex-start;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.progress{background:var(--surface-2);border-radius:var(--r-pill);height:6px;overflow:hidden}.progress>i{background:var(--accent);border-radius:inherit;height:100%;transition:width var(--dur-3) var(--ease-out);display:block}.progress-striped>i{background-image:linear-gradient(45deg,#ffffff2e 25%,#0000 25% 50%,#ffffff2e 50% 75%,#0000 75%);background-size:12px 12px;animation:.6s linear infinite stripe}@keyframes stripe{0%{background-position:0 0}to{background-position:12px 0}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--line) 37%, var(--surface-2) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skel-line{height:12px}.skel-line.w70{width:70%}.skel-line.w40{width:40%}.skel-block{height:80px}.skel-circle{border-radius:50%;width:40px;height:40px}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:28px;height:28px}.topnav{z-index:var(--z-sticky);align-items:center;gap:var(--sp-32);height:var(--topnav-h);padding-inline:var(--gut);background:color-mix(in srgb, var(--canvas) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.topnav .brand{align-items:center;gap:var(--sp-8);font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-18);letter-spacing:-.01em;color:var(--ink);display:flex}.topnav .brand svg{width:auto;height:26px;color:var(--ink);transition:color var(--dur-2) var(--ease-out)}.topnav .brand:hover svg{color:var(--accent)}.topnav .brand .brand-word{transition:color var(--dur-2) var(--ease-out)}.gate-mark-svg{color:var(--ink)}.gate-mark-svg .mark-dot{fill:var(--accent)}.topnav nav{gap:var(--sp-8);display:flex}.topnav nav a{height:34px;padding-inline:var(--sp-12);border-radius:var(--r-md);font-size:var(--fs-14);color:var(--mist);transition:color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);align-items:center;display:inline-flex;position:relative}.topnav nav a:hover{color:var(--ink);background:var(--surface-2)}.topnav nav a[aria-current=page]{color:var(--ink);font-weight:var(--fw-medium)}.topnav nav a:after{content:"";background:var(--accent);height:2px;transition:left var(--dur-2) var(--ease-out), right var(--dur-2) var(--ease-out);border-radius:1px;position:absolute;bottom:2px;left:50%;right:50%}.topnav nav a[aria-current=page]:after{left:var(--sp-12);right:var(--sp-12)}.topnav .spacer{flex:1}.topnav-actions{align-items:center;gap:var(--sp-8);display:flex}.topnav nav .nav-cta{display:none}.nav-toggle{border-radius:var(--r-md);width:36px;height:36px;color:var(--ink);transition:background var(--dur-1) var(--ease-out);justify-content:center;align-items:center;display:none}.nav-toggle:hover{background:var(--surface-2)}.nav-toggle svg{width:20px;height:20px}.nav-toggle .ico-close,.topnav[data-nav-open=true] .nav-toggle .ico-open{display:none}.topnav[data-nav-open=true] .nav-toggle .ico-close{display:block}.nav-scrim{inset:var(--topnav-h) 0 0 0;z-index:calc(var(--z-sticky) - 1);background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade var(--dur-2) var(--ease-out);display:none;position:fixed}.sidebar{--side-w:240px;width:var(--side-w);padding:var(--sp-16) var(--sp-12);border-right:1px solid var(--line);background:var(--surface);top:var(--topnav-h);height:calc(100vh - var(--topnav-h));transition:width var(--dur-2) var(--ease-out);flex-direction:column;flex-shrink:0;align-self:stretch;gap:2px;display:flex;position:sticky;overflow:hidden auto}.sidebar[data-collapsed=true]{--side-w:72px}.sidebar .side-label{font-size:var(--fs-12);color:var(--mist-2);text-transform:uppercase;letter-spacing:.08em;padding:var(--sp-8) var(--sp-12) var(--sp-4);margin-top:var(--sp-12);white-space:nowrap}.sidebar .side-label:first-child{margin-top:0}.sidebar[data-collapsed=true] .side-label{opacity:0;height:var(--sp-16);margin-top:var(--sp-8);padding-block:0}.sidebar .side-group-label{font-size:var(--fs-12);color:var(--mist-2);padding:var(--sp-12) var(--sp-12) var(--sp-4);white-space:nowrap}.sidebar[data-collapsed=true] .side-group-label{display:none}.side-item{align-items:center;gap:var(--sp-12);height:38px;padding:0 var(--sp-12);border-radius:var(--r-md);font-size:var(--fs-14);color:var(--mist);white-space:nowrap;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);display:flex;position:relative}.side-item:hover{background:var(--surface-2);color:var(--ink)}.side-item:active{background:var(--line)}.side-item[aria-current=page]{background:var(--surface-2);color:var(--ink);font-weight:var(--fw-medium)}.side-item[aria-current=page]:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.side-item svg{opacity:.75;flex-shrink:0;width:18px;height:18px}.side-item[aria-current=page] svg{opacity:1;color:var(--accent)}.side-item .side-badge{margin-left:auto}.side-item .side-text{text-overflow:ellipsis;overflow:hidden}.sidebar[data-collapsed=true] .side-item{justify-content:center;gap:0;padding:0}.sidebar[data-collapsed=true] .side-item .side-text,.sidebar[data-collapsed=true] .side-item .side-badge{display:none}.sidebar[data-collapsed=true] .side-item:after{content:attr(data-label);background:var(--ink);color:var(--canvas);padding:var(--sp-4) var(--sp-8);border-radius:var(--r-sm);font-size:var(--fs-12);white-space:nowrap;opacity:0;pointer-events:none;z-index:var(--z-overlay);transition:opacity var(--dur-1) var(--ease-out);position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.sidebar[data-collapsed=true] .side-item:hover:after,.sidebar[data-collapsed=true] .side-item:focus-visible:after{opacity:1}.sidebar .side-foot{padding-top:var(--sp-8);border-top:1px solid var(--line);margin-top:auto}.side-collapse{align-items:center;gap:var(--sp-12);width:100%;height:38px;padding:0 var(--sp-12);border-radius:var(--r-md);font-size:var(--fs-13,.8125rem);color:var(--mist);white-space:nowrap;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);display:flex}.side-collapse:hover{background:var(--surface-2);color:var(--ink)}.side-collapse svg{width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out);flex-shrink:0}.sidebar[data-collapsed=true] .side-collapse{justify-content:center;gap:0;padding:0}.sidebar[data-collapsed=true] .side-collapse .side-text{display:none}.sidebar[data-collapsed=true] .side-collapse svg{transform:rotate(180deg)}.tabs{gap:var(--sp-4);border-bottom:1px solid var(--line);display:flex}.tab{padding:var(--sp-12) var(--sp-16);font-size:var(--fs-14);color:var(--mist);transition:color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);border-bottom:2px solid #0000;margin-bottom:-1px}.tab:hover{color:var(--ink-2)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.breadcrumb{align-items:center;gap:var(--sp-8);font-size:var(--fs-13,.8125rem);color:var(--mist);display:flex}.breadcrumb a{color:var(--mist);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.breadcrumb span.sep{opacity:.5}.breadcrumb .current{color:var(--ink-2)}.pagination{align-items:center;gap:var(--sp-4);display:flex}.pagination .page{min-width:32px;height:32px;padding:0 var(--sp-8);border-radius:var(--r-md);font-size:var(--fs-14);color:var(--ink-2);border:1px solid #0000;place-items:center;display:inline-grid}.pagination .page:hover{background:var(--surface-2)}.pagination .page[aria-current=page]{background:var(--ink);color:var(--canvas)}.pagination .page[aria-disabled=true]{opacity:.4;pointer-events:none}.modal-backdrop{z-index:var(--z-modal);background:var(--overlay-bg);padding:var(--sp-24);animation:fade var(--dur-2) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(100%,520px);box-shadow:var(--sh-3);animation:pop var(--dur-2) var(--ease-out)}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:var(--sp-24);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--sp-24)}.modal-foot{justify-content:flex-end;gap:var(--sp-8);padding:var(--sp-24);border-top:1px solid var(--line);display:flex}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{background:var(--ink);color:var(--canvas);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-md);font-size:var(--fs-12);white-space:nowrap;box-shadow:var(--sh-2);pointer-events:none;opacity:0;transition:opacity var(--dur-1) var(--ease-out);z-index:var(--z-overlay);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip,.tooltip-wrap:focus-within .tooltip{opacity:1}.dropdown{position:relative}.menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:200px;box-shadow:var(--sh-2);padding:var(--sp-4);z-index:var(--z-overlay);display:none;position:absolute;top:calc(100% + 6px);right:0}.menu.open{animation:pop var(--dur-1) var(--ease-out);display:block}.menu-item{align-items:center;gap:var(--sp-12);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-sm);font-size:var(--fs-14);color:var(--ink-2);display:flex}.menu-item:hover{background:var(--surface-2);color:var(--ink)}.menu-sep{background:var(--line);height:1px;margin:var(--sp-4)}.frame{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);position:relative;overflow:hidden}.frame-16x9{aspect-ratio:16/9}.frame-1x1{aspect-ratio:1}.frame-4x3{aspect-ratio:4/3}.frame img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-3) var(--ease-out)}.frame-hover:hover img{transform:scale(1.03)}.video{position:relative}.video .play{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);box-shadow:var(--sh-2);transition:transform var(--dur-1) var(--ease-out);border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.video .play svg{width:22px;height:22px}.video:hover .play{transform:scale(1.06)}.video .duration{right:var(--sp-8);bottom:var(--sp-8);border-radius:var(--r-sm);color:#fff;font-family:var(--font-mono);font-size:var(--fs-12);background:#000000b3;padding:2px 6px;position:absolute}.gallery-card{gap:var(--sp-8);flex-direction:column;display:flex}.gallery-card .meta{justify-content:space-between;align-items:center;gap:var(--sp-8);display:flex}.gallery-card .meta .title{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--ink)}.gallery-card .meta .sub{font-size:var(--fs-12);color:var(--mist)}.theme-toggle{align-items:center;gap:var(--sp-8);display:inline-flex}.theme-toggle .track{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line-strong);width:44px;height:24px;position:relative}.theme-toggle .thumb{background:var(--ink);width:18px;height:18px;transition:transform var(--dur-2) var(--ease-out);color:var(--canvas);border-radius:50%;place-items:center;display:grid;position:absolute;top:2px;left:2px}[data-theme=dark] .theme-toggle .thumb{background:var(--accent);color:var(--accent-ink);transform:translate(20px)}.footer{border-top:1px solid var(--line);padding-block:var(--sp-48);margin-top:var(--sp-64)}.footer-grid{gap:var(--sp-32);grid-template-columns:1.4fr repeat(3,1fr);display:grid}.footer h5{font-family:var(--font-ui);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;color:var(--mist);margin-bottom:var(--sp-12)}.footer ul{gap:var(--sp-8);flex-direction:column;display:flex}.footer ul a{color:var(--ink-2);font-size:var(--fs-14);text-decoration:none}.footer ul a:hover{color:var(--ink)}.footer-bottom{justify-content:space-between;gap:var(--sp-16);margin-top:var(--sp-32);padding-top:var(--sp-24);border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--mist);display:flex}.preview{padding:var(--sp-24)}.preview-head{justify-content:space-between;align-items:baseline;gap:var(--sp-16);margin-bottom:var(--sp-24);padding-bottom:var(--sp-16);border-bottom:1px solid var(--line);display:flex}.preview-head h1{font-size:var(--fs-28)}.demo-row{gap:var(--sp-12);margin-bottom:var(--sp-16);flex-wrap:wrap;align-items:center;display:flex}.demo-block{padding:var(--sp-16);border:1px dashed var(--line);border-radius:var(--r-md);margin-bottom:var(--sp-16)}.swatch-grid{gap:var(--sp-12);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.swatch{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.swatch .chip-color{height:64px}.swatch .swatch-meta{padding:var(--sp-8);font-size:var(--fs-12)}.swatch .swatch-meta .name{color:var(--ink);font-weight:var(--fw-medium)}.swatch .swatch-meta .hex{color:var(--mist);font-family:var(--font-mono)}.hidden{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.accordion{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.acc-item{border-bottom:1px solid var(--line)}.acc-item:last-child{border-bottom:0}.acc-head{justify-content:space-between;align-items:center;gap:var(--sp-12);width:100%;padding:var(--sp-16);font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--ink);text-align:left;transition:background var(--dur-1) var(--ease-out);display:flex}.acc-head:hover{background:var(--surface-2)}.acc-head .acc-ico{width:18px;height:18px;color:var(--mist);transition:transform var(--dur-2) var(--ease-out), color var(--dur-1) var(--ease-out);flex-shrink:0}.acc-item[aria-expanded=true] .acc-ico{color:var(--accent);transform:rotate(180deg)}.acc-panel{max-height:0;transition:max-height var(--dur-3) var(--ease-out);overflow:hidden}.acc-item[aria-expanded=true] .acc-panel{max-height:600px}.acc-body{padding:0 var(--sp-16) var(--sp-16);font-size:var(--fs-14);color:var(--mist);line-height:var(--lh-14)}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px;display:inline-flex}.segmented button{height:30px;padding-inline:var(--sp-16);border-radius:var(--r-pill);font-size:var(--fs-13,.8125rem);color:var(--mist);transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out)}.segmented button[aria-pressed=true]{background:var(--canvas);color:var(--ink);box-shadow:var(--sh-1)}.segmented button:focus-visible{box-shadow:var(--focus-ring)}.stepper{align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.stepper .step{align-items:center;gap:var(--sp-8);display:flex}.stepper .step .dot{width:26px;height:26px;font-family:var(--font-mono);font-size:var(--fs-12);border:1px solid var(--line-strong);color:var(--mist);background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.stepper .step.done .dot{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.stepper .step.active .dot{border-color:var(--accent);color:var(--accent)}.stepper .step .lbl{font-size:var(--fs-13,.8125rem);color:var(--mist)}.stepper .step.active .lbl,.stepper .step.done .lbl{color:var(--ink)}.stepper .sep{background:var(--line-strong);flex-shrink:0;width:32px;height:1px}.stepper .sep.done{background:var(--ink)}.empty{text-align:center;align-items:center;gap:var(--sp-12);padding:var(--sp-48) var(--sp-24);flex-direction:column;display:flex}.empty .empty-ico{width:48px;height:48px;color:var(--mist-2)}.empty .empty-title{font-family:var(--font-display);font-size:var(--fs-22);font-weight:var(--fw-semibold)}.empty .empty-sub{font-size:var(--fs-14);color:var(--mist);max-width:42ch}.divider{align-items:center;gap:var(--sp-12);color:var(--mist-2);font-size:var(--fs-12);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.divider.left:before,.divider.right:after{display:none}.divider.solid{color:#0000}.brand-grid{gap:var(--sp-16);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.brand-card{gap:var(--sp-8);padding:var(--sp-16);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;display:flex}.brand-card .mark{aspect-ratio:1;border-radius:var(--r-md);color:var(--ink);place-items:center;display:grid}.brand-card .mark.on-accent{background:var(--accent);color:var(--accent-ink)}.brand-card .mark.on-ink{background:var(--ink);color:var(--canvas)}.brand-card .mark.on-canvas{background:var(--canvas);border:1px solid var(--line)}.brand-card .mark svg{width:56%;height:56%}.brand-card .name{font-size:var(--fs-12);color:var(--mist);font-family:var(--font-mono);text-align:center}.brand-card .label{font-size:var(--fs-12);color:var(--mist-2);font-family:var(--font-mono);text-align:center;letter-spacing:.06em}.theme-demos{gap:var(--sp-12);grid-template-columns:1fr 1fr;display:grid}.theme-demos .demo{padding:var(--sp-24);border-radius:var(--r-md);place-items:center;min-height:140px;display:grid}.theme-demos .demo.light{color:#111;background:#fff;border:1px solid #e8e8e6}.theme-demos .demo.dark{color:#f2f2f2;background:#0e0e10;border:1px solid #262629}.theme-demos .demo.accent{background:var(--accent);color:var(--accent-ink)}.theme-demos .demo.ink{color:#fff;background:#111}.lockup{align-items:center;gap:var(--sp-12);color:var(--ink);display:inline-flex}.lockup-stacked{gap:var(--sp-8);text-align:center;flex-direction:column}.lockup .wordmark{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-28);letter-spacing:-.01em;line-height:1}.lockup .tag{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.2em;color:var(--mist);text-transform:uppercase}.lockup svg{flex-shrink:0;width:40px;height:40px}.bg-flow{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bg-flow-host{position:relative;overflow:hidden}.bg-flow-host>:not(.bg-flow){z-index:1;position:relative}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee-track{gap:var(--sp-12);align-items:center;width:max-content;padding-block:2px;animation:44s linear infinite gate-marq;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes gate-marq{to{transform:translate(-50%)}}.marquee .logo{align-items:center;gap:var(--sp-8);height:44px;padding-inline:var(--sp-16);border:1px solid var(--line);border-radius:var(--r-md);background:var(--canvas);font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--mist);white-space:nowrap;letter-spacing:-.01em;transition:color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);display:inline-flex}.marquee .logo svg{width:18px;height:18px;color:var(--mist-2);transition:color var(--dur-2) var(--ease-out);flex-shrink:0}.marquee .logo:hover{color:var(--ink);border-color:var(--line-strong);box-shadow:var(--sh-1);transform:translateY(-1px)}.marquee .logo:hover svg{color:var(--accent)}@media (prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;justify-content:center;width:100%;animation:none}}.app{min-height:calc(100vh - var(--topnav-h));align-items:stretch;display:flex}.app-main{min-width:0;padding:var(--sp-32);flex:1}@media (width<=880px){.app-main{padding:var(--sp-20)}}.card-grid{gap:var(--sp-16);grid-template-columns:repeat(auto-fit, minmax(var(--card-min,260px), 1fr));display:grid}.card-grid.cols-sm{--card-min:180px}.card-grid.cols-lg{--card-min:320px}.btn-block{width:100%}@media (width<=560px){.cluster-stack{flex-direction:column;align-items:stretch}.cluster-stack>.btn{width:100%}}.media-fluid{width:100%;max-width:100%;height:auto;display:block}.page-loading{justify-content:center;align-items:center;gap:var(--sp-16);min-height:40vh;color:var(--mist);text-align:center;flex-direction:column;display:flex}.page-loading .spinner{border-width:3px;width:28px;height:28px}.page-loading .tip{font-size:var(--fs-14)}.loading-overlay{z-index:var(--z-sticky);place-items:center;gap:var(--sp-12);background:color-mix(in srgb, var(--canvas) 62%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:inherit;color:var(--mist);font-size:var(--fs-13,.8125rem);display:grid;position:absolute;inset:0}.skeleton-card{gap:var(--sp-12);padding:var(--sp-24);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.chart{align-items:flex-end;gap:8px;height:200px;display:flex}.chart i{background:var(--accent);opacity:.55;transition:opacity var(--dur-1) var(--ease-out);border-radius:4px 4px 0 0;flex:1}.chart i:hover{opacity:1}.chart i.now{opacity:.95}.axis{margin-top:var(--sp-12);padding-top:var(--sp-8);border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--mist);font-family:var(--font-mono);justify-content:space-between;display:flex}@media (width<=560px){.chart{height:140px}}@media (width<=880px){.footer-grid{grid-template-columns:1fr 1fr}.sidebar{display:none}h1{font-size:var(--fs-40);line-height:var(--lh-40)}h2{font-size:var(--fs-28);line-height:var(--lh-28)}.topnav{gap:var(--sp-12)}.topnav .brand{order:1}.topnav .spacer{order:2}.topnav-actions{gap:var(--sp-4);order:3}.nav-toggle{order:4}.nav-scrim{display:block}.nav-toggle{display:inline-flex}.topnav nav{inset:var(--topnav-h) 0 auto 0;padding:var(--sp-8);background:var(--canvas);border-bottom:1px solid var(--line);box-shadow:var(--sh-2);max-height:0;transition:max-height var(--dur-3) var(--ease-out), padding-block var(--dur-3) var(--ease-out);z-index:var(--z-sticky);flex-direction:column;gap:0;padding-block:0;position:fixed;overflow:hidden}.topnav[data-nav-open=true] nav{max-height:70vh;padding-block:var(--sp-8);overflow-y:auto}.topnav nav a{height:44px;padding-inline:var(--sp-16);border-radius:var(--r-md)}.topnav nav a:after{display:none}.topnav nav a[aria-current=page]{background:var(--surface-2)}}@media (width<=560px){.footer-grid{gap:var(--sp-24) var(--sp-16);grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}.stat-value{font-size:var(--fs-28)}.topnav-cta{display:none}.topnav nav .nav-cta{width:100%;height:44px;margin-top:var(--sp-8);color:var(--canvas);display:inline-flex}.footer-bottom{align-items:flex-start;gap:var(--sp-8);flex-direction:column}.modal-foot{flex-wrap:wrap}.modal-head,.modal-body,.modal-foot{padding:var(--sp-16)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.brand-mark{border:2px solid var(--ink);width:28px;height:28px;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:var(--fw-semibold);border-radius:8px 8px 3px 3px;flex-shrink:0;place-items:center;display:grid}.platform-switcher{margin-left:var(--sp-8)}.switcher-trigger{align-items:center;gap:var(--sp-8);height:36px;padding:0 var(--sp-12);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--ink);display:flex}.switcher-trigger:hover{border-color:var(--line-strong);background:var(--surface-2)}.switcher-trigger svg{width:16px;height:16px}.switcher-trigger .chev{opacity:.6;width:14px;height:14px}.switcher-menu{min-width:300px;left:0;right:auto}.menu-head{padding:var(--sp-8) var(--sp-12);flex-direction:column;gap:2px;display:flex}.menu-head small{color:var(--mist);font-size:var(--fs-12)}.menu-item{text-align:left;width:100%}.menu-item svg{flex-shrink:0;width:16px;height:16px}.platform-item{padding:var(--sp-8) var(--sp-12);align-items:flex-start}.platform-item.active{background:var(--surface-2)}.platform-item strong{font-size:var(--fs-14);display:block}.platform-item small{color:var(--mist);font-size:var(--fs-12);margin-top:1px;display:block}.platform-ico{border:1px solid var(--line);border-radius:var(--r-sm);width:30px;height:30px;color:var(--accent);background:var(--surface);flex-shrink:0;place-items:center;display:grid}.platform-ico svg{width:17px;height:17px}.topbar-search{align-items:center;gap:var(--sp-8);height:34px;padding:0 var(--sp-12);border:1px solid var(--line);border-radius:var(--r-md);color:var(--mist);font-size:var(--fs-13,.8125rem);background:var(--surface);cursor:pointer;min-width:220px;display:flex}.topbar-search:hover{border-color:var(--line-strong);background:var(--surface-2)}.topbar-search svg{width:15px;height:15px}.topbar-search .kbd-hint{margin-left:auto}@media (width<=880px){.topbar-search{display:none}}.kbd-hint{font-family:var(--font-mono,monospace);font-size:var(--fs-11,.6875rem);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--mist);background:var(--surface-2);padding:3px 5px;line-height:1}.palette-overlay{z-index:var(--z-modal,1000);animation:fade var(--dur-1,.12s) var(--ease-out,ease);background:#0006;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(620px,92vw);max-height:66vh;box-shadow:var(--sh-3,0 20px 60px #0000004d);animation:pop var(--dur-1) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.palette-input{align-items:center;gap:var(--sp-8);padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--line);transition:background var(--dur-2), box-shadow var(--dur-2);display:flex}.palette-input:has(.palette-field:focus-visible){background:color-mix(in srgb, var(--accent) 5%, transparent);box-shadow:inset 0 -1px 0 var(--accent)}.palette-input svg{width:18px;height:18px;color:var(--mist);flex-shrink:0}.palette-field{min-width:0;font-size:var(--fs-15,.95rem);font-weight:var(--fw-medium);color:var(--ink);letter-spacing:-.01em;background:0 0;border:0;outline:none;flex:1}.palette-field::placeholder{color:color-mix(in srgb, var(--mist) 92%, var(--ink));opacity:1;font-weight:var(--fw-regular);letter-spacing:0}.palette-field:focus-visible{box-shadow:none;border-radius:0}.palette-list{padding:var(--sp-4);overflow-y:auto}.palette-item{align-items:center;gap:var(--sp-12);text-align:left;width:100%;padding:var(--sp-8) var(--sp-12);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;background:0 0;border:0;display:flex}.palette-item[aria-selected=true]{background:var(--surface-2);color:var(--ink)}.palette-ico{border:1px solid var(--line);border-radius:var(--r-sm);width:30px;height:30px;color:var(--accent);background:var(--surface);flex-shrink:0;place-items:center;display:grid}.palette-ico svg{width:17px;height:17px}.palette-text{flex:1;min-width:0}.palette-text strong{font-size:var(--fs-14);display:block}.palette-text small{color:var(--mist);font-size:var(--fs-12);margin-top:1px;display:block}.palette-go{opacity:0;width:16px;height:16px;color:var(--mist)}.palette-item[aria-selected=true] .palette-go{opacity:.7}.palette-empty{padding:var(--sp-24);text-align:center;color:var(--mist);font-size:var(--fs-14)}.avatar-btn{cursor:pointer;border:0}[data-theme=dark] .only-light,.only-dark{display:none}[data-theme=dark] .only-dark{display:inline}.admin-mobile-toggle,.admin-mobile-user,.admin-mobile-drawer,.admin-mobile-scrim{display:none}@media (width<=880px){.topnav .platform-switcher,.topnav .topnav-actions{display:none}.topnav{gap:var(--sp-8)}.topnav .admin-mobile-brand{order:2;display:flex}.topnav .admin-mobile-brand .brand-word{display:none}.topnav .admin-mobile-brand .brand-mark{font-size:var(--fs-18)}.topnav .spacer{flex:1;order:3;display:block}.admin-mobile-toggle{width:40px;height:40px;color:var(--ink);border-radius:var(--r-md);order:1;place-items:center;display:grid}.admin-mobile-user{order:4;display:block}.admin-mobile-user .avatar-btn{width:36px;height:36px}.admin-mobile-toggle:hover{background:var(--surface-2)}.admin-mobile-toggle svg,.admin-mobile-close svg{width:21px;height:21px}.admin-mobile-scrim{z-index:calc(var(--z-modal) - 1);background:color-mix(in srgb, var(--ink) 30%, transparent);-webkit-backdrop-filter:blur(5px)saturate(.88);border:0;display:block;position:fixed;inset:0}.admin-mobile-drawer{gap:var(--sp-16);width:min(320px,84vw);padding:var(--sp-16);background:var(--surface);border-right:1px solid var(--line);box-shadow:var(--sh-3);transition:transform var(--dur-2) var(--ease-out);z-index:var(--z-modal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.admin-mobile-drawer.open{transform:translate(0)}.admin-mobile-drawer-head{justify-content:space-between;align-items:center;min-height:40px;display:flex}.admin-mobile-close{border-radius:var(--r-md);width:36px;height:36px;color:var(--mist);place-items:center;display:grid}.admin-mobile-close:hover{background:var(--surface-2);color:var(--ink)}.admin-mobile-platforms{padding-bottom:var(--sp-12);border-bottom:1px solid var(--line);flex-direction:column;gap:2px;display:flex}.admin-mobile-platforms .menu-item{display:flex}.admin-mobile-nav{gap:var(--sp-8);grid-template-columns:repeat(5,40px);display:grid}.admin-mobile-nav-item{border:1px solid var(--line);border-radius:var(--r-md);width:40px;height:40px;color:var(--mist);background:var(--surface);place-items:center;display:grid}.admin-mobile-nav-item:hover{background:var(--surface-2);color:var(--ink)}.admin-mobile-nav-item[aria-current=page]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.admin-mobile-nav-item svg{width:18px;height:18px}.admin-mobile-tools{padding-top:var(--sp-12);border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:auto;display:flex}.admin-mobile-tool{align-items:center;gap:var(--sp-12);min-height:42px;padding:0 var(--sp-12);border-radius:var(--r-md);color:var(--ink-2);text-align:left;display:flex}.admin-mobile-tool:hover{background:var(--surface-2);color:var(--ink)}.admin-mobile-tool svg{width:18px;height:18px}.admin-mobile-logout{color:var(--danger)}}.app-main{padding-top:var(--sp-24)}.page-head{margin-bottom:var(--sp-16)}.page-head-row{align-items:center;min-height:32px;margin-top:2px}.page-title-group{align-items:baseline;gap:var(--sp-12);min-width:0;display:flex}.page-title{font-family:var(--font-display);font-size:var(--fs-22);line-height:var(--lh-22);font-weight:var(--fw-semibold);letter-spacing:-.008em}.page-sub{padding-left:var(--sp-12);border-left:1px solid var(--line-strong);color:var(--mist);font-size:var(--fs-12);line-height:var(--lh-12);margin:0}.breadcrumb{font-size:var(--fs-11);line-height:var(--lh-11)}.flow{gap:var(--sp-16);display:grid}.split{gap:var(--sp-20);grid-template-columns:minmax(0,.4fr) minmax(300px,1fr);align-items:start;display:grid}@media (width<=1100px){.split{grid-template-columns:1fr}}.card-head-pad{padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--line);margin-bottom:0}.card-flush .table-wrap{border:0;border-radius:0}.level-zero{color:var(--mist);cursor:help}.task-search-card{z-index:1;position:relative;overflow:visible}.cell-sub{color:var(--mist);font-size:var(--fs-12);margin-top:2px}.table th{white-space:nowrap}.table-wrap table{width:max-content;min-width:100%}.app-boot{padding:var(--sp-32)}.skeletons{gap:var(--sp-16);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form{gap:var(--sp-16);display:grid}.form-narrow{max-width:460px}.field-label{font-size:var(--fs-13,.8125rem);color:var(--mist)}.wallet-balance{font-size:var(--fs-14);color:var(--ink-2)}.wallet-balance strong{font-family:var(--font-mono);font-size:var(--fs-22)}.deploy-compose{gap:var(--sp-16);padding:var(--sp-20);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.deploy-compose .btn{height:38px}.compose-strategy{font-size:var(--fs-14)}.deploy-list{flex-direction:column;display:flex}.deploy-row{align-items:center;gap:var(--sp-12);text-align:left;width:100%;padding:var(--sp-12) var(--sp-20);border-bottom:1px solid var(--line);display:flex}.deploy-row:last-child{border-bottom:0}.deploy-row:hover,.deploy-row[aria-current=true]{background:var(--surface-2)}.deploy-row strong{font-size:var(--fs-14);display:block}.deploy-row small{color:var(--mist);font-size:var(--fs-12);display:block}.deploy-row code{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--mist);white-space:nowrap;margin-left:auto}.deploy-state{background:var(--mist);border-radius:50%;flex-shrink:0;width:8px;height:8px}.deploy-state.succeeded{background:var(--success)}.deploy-state.failed{background:var(--danger)}.deploy-state.awaiting_promotion{background:var(--warning)}.deploy-state.building,.deploy-state.publishing,.deploy-state.queued{background:var(--info)}.deploy-state.rolled_back{background:var(--mist)}.deploy-state.cancelled{background:var(--warning)}.seg-tabs{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:2px;padding:3px;display:inline-flex}.seg-tab{align-items:center;gap:var(--sp-4);height:30px;padding:0 var(--sp-12);border-radius:var(--r-sm);color:var(--mist);font-size:var(--fs-13,.8125rem);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0;display:inline-flex}.seg-tab:hover{color:var(--ink)}.seg-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm,0 1px 2px #0000000f)}.seg-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.env-tabs{margin-bottom:var(--sp-4)}.env-flag{margin-left:var(--sp-8);border-radius:var(--r-sm);font-size:var(--fs-11,.6875rem);font-weight:var(--fw-medium);padding:1px 6px;line-height:1.5}.env-flag.run{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.env-flag.view{background:var(--surface-2);color:var(--mist)}.deploy-history{max-height:320px;overflow:auto}.env-grid{gap:var(--sp-16);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.env-textarea{font-family:var(--font-mono);font-size:var(--fs-13,.8125rem);resize:vertical;width:100%;min-height:160px;padding:var(--sp-12);line-height:1.6}.event-log{gap:var(--sp-8);padding:var(--sp-16) var(--sp-20);max-height:420px;font-size:var(--fs-13,.8125rem);flex-direction:column;display:flex;overflow:auto}.event-log>div{gap:var(--sp-8);grid-template-columns:72px 96px 1fr;align-items:baseline;display:grid}.event-log time{color:var(--mist);font-family:var(--font-mono);font-size:var(--fs-12)}.event-log b{color:var(--ink-2);font-weight:var(--fw-medium)}.event-log span{color:var(--ink-2);word-break:break-word}.event-log [data-level=error] b,.event-log [data-level=error] span{color:var(--danger)}.event-log [data-level=warn] b,.event-log [data-level=warn] span{color:var(--warning)}.deploy-console-wrap{padding:var(--sp-16) var(--sp-20)}.mac-console{background:#1e1e22;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px -12px #00000080,inset 0 0 0 1px #ffffff0f}.mac-console-bar{align-items:center;gap:var(--sp-8);background:linear-gradient(#3a3a40,#2c2c31);border-bottom:1px solid #0006;padding:9px 14px;display:flex}.mac-dot{border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 .5px #00000040}.mac-dot.red{background:#ff5f57}.mac-dot.amber{background:#febc2e}.mac-dot.green{background:#28c840}.mac-console-title{text-align:center;color:#b8b8c0;font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mac-console-live{color:#8a8a93;font-size:var(--fs-12);font-family:var(--font-mono)}.mac-console-live.on{color:#28c840;animation:1.6s ease-in-out infinite mac-pulse}@keyframes mac-pulse{50%{opacity:.45}}.mac-console-body{min-height:180px;max-height:440px;font-family:var(--font-mono);font-size:var(--fs-12,.75rem);color:#d6d6de;background:#1e1e22;padding:12px 14px;line-height:1.6;overflow:auto}.mac-line{grid-template-columns:68px 92px 1fr;align-items:baseline;gap:10px;display:grid}.mac-line-time{color:#6b6b74}.mac-line-stage{color:#7aa2f7}.mac-line-msg{color:#d6d6de;word-break:break-word;white-space:pre-wrap}.mac-line[data-level=error] .mac-line-stage,.mac-line[data-level=error] .mac-line-msg{color:#ff6b6b}.mac-line[data-level=warn] .mac-line-stage,.mac-line[data-level=warn] .mac-line-msg{color:#febc2e}.mac-line-wait{color:#6b6b74;display:block}.mac-cursor{color:#28c840;animation:1.1s step-end infinite mac-blink}@keyframes mac-blink{50%{opacity:0}}.modal-backdrop{z-index:var(--z-overlay);padding:var(--sp-24);background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.confirm{width:100%;max-width:560px;max-height:calc(100dvh - var(--sp-48));flex-direction:column;padding:0;display:flex;overflow:hidden}.modal-panel-lg{max-width:680px}.modal-panel-head{padding:var(--sp-24) var(--sp-24) var(--sp-16);border-bottom:1px solid var(--line);flex:none}.modal-panel-head .card-sub{margin-top:6px}.modal-panel-body{overscroll-behavior:contain;min-height:0;padding:var(--sp-20) var(--sp-24);flex:auto;overflow-y:auto}.modal-panel-body .form-narrow{max-width:none}.modal-panel-foot{justify-content:flex-end;align-items:center;gap:var(--sp-8);padding:var(--sp-16) var(--sp-24);border-top:1px solid var(--line);background:var(--surface);flex:none;display:flex}.modal-panel-foot .modal-foot-note{color:var(--mist);font-size:var(--fs-12);margin-right:auto}.plan-field-grid{gap:var(--sp-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-section{gap:var(--sp-12);display:grid}.form-section+.form-section{padding-top:var(--sp-16);border-top:1px dashed var(--line)}.form-section-title{color:var(--mist);font-size:var(--fs-12);font-weight:var(--fw-semibold);letter-spacing:.04em}.field-hint{margin-top:calc(var(--sp-4) * -1);color:var(--mist);font-size:var(--fs-12);line-height:var(--lh-12)}.campaign-team-picker{gap:var(--sp-8);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));max-height:180px;padding:10px;display:grid;overflow:auto}.campaign-team-picker .check{min-width:0;padding:6px var(--sp-8);border-radius:var(--r-sm);background:var(--surface)}.campaign-team-picker .check small{color:var(--mist-2);font-size:var(--fs-11);margin-left:auto}.campaign-scope-picker{gap:var(--sp-8);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.campaign-scope-picker .check{padding:var(--sp-8) 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}@media (width<=640px){.campaign-scope-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.modal-backdrop{padding:var(--sp-12)}.modal-panel-head,.modal-panel-body,.modal-panel-foot{padding-inline:var(--sp-16)}.plan-field-grid,.campaign-team-picker{grid-template-columns:1fr}}.date-picker-popover.date-picker-floating{z-index:calc(var(--z-modal) + 10);visibility:hidden;position:fixed;inset:0 auto auto 0;transform:none}.date-picker-popover.date-picker-floating[data-placed]{visibility:visible}.field .date-picker,.field .date-picker-trigger{width:100%}.field .date-picker-trigger{background:var(--canvas);height:40px;font-size:var(--fs-14)}.date-picker-placeholder{color:var(--mist-2)}.date-picker-popover .rdp-root{--rdp-accent-color:var(--accent);--rdp-accent-background-color:color-mix(in srgb, var(--accent) 13%, transparent);--rdp-today-color:var(--accent);--rdp-day-height:34px;--rdp-day-width:36px;--rdp-day_button-height:32px;--rdp-day_button-width:34px;--rdp-nav_button-height:1.75rem;--rdp-nav_button-width:1.75rem;--rdp-nav-height:2.25rem;--rdp-selected-border:0;font-size:var(--fs-13)}.date-picker-popover .rdp-chevron{fill:var(--mist);width:14px;height:14px}.date-picker-popover .rdp-button_previous:hover .rdp-chevron,.date-picker-popover .rdp-button_next:hover .rdp-chevron{fill:var(--ink)}.date-picker-popover .rdp-today:not(.rdp-selected) .rdp-day_button{font-weight:var(--fw-semibold)}.date-picker-popover .rdp-outside{opacity:.4}.date-time-row{align-items:center;gap:var(--sp-8);padding:var(--sp-8) 0;border-top:1px solid var(--line);color:var(--mist);font-size:var(--fs-12);display:flex}.date-time-row span{margin-right:auto}.date-time-row .select{width:72px;height:32px;font-size:var(--fs-13);font-variant-numeric:tabular-nums}.date-time-row b{color:var(--mist);font-weight:var(--fw-semibold)}.role-presets{gap:var(--sp-8);margin-bottom:var(--sp-16);font-size:var(--fs-13,.8125rem);color:var(--mist);flex-wrap:wrap;align-items:center;display:flex}.perm-group{margin-top:var(--sp-16)}.perm-group h4{font-size:var(--fs-13,.8125rem);text-transform:uppercase;letter-spacing:.06em;color:var(--mist);margin-bottom:var(--sp-8)}.permission-list{gap:var(--sp-4) var(--sp-16);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.permission-list label{align-items:center;gap:var(--sp-8);padding:var(--sp-8);border-radius:var(--r-sm);font-size:var(--fs-14);display:flex}.permission-list label:hover{background:var(--surface-2)}.perm-code{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--mist);margin-left:auto}.perm-legend{align-items:center;gap:var(--sp-8);font-size:var(--fs-13,.8125rem);color:var(--mist);margin-bottom:var(--sp-16);flex-wrap:wrap;display:flex}.perm-platform{padding-top:var(--sp-16);margin-top:var(--sp-16);border-top:1px solid var(--line)}.perm-platform:first-of-type{border-top:0;margin-top:0}.perm-platform h4{align-items:center;gap:var(--sp-8);font-size:var(--fs-14);font-weight:var(--fw-semibold);margin-bottom:var(--sp-8);display:flex}.perm-platform.is-locked{opacity:.72}.lock-tag{font-size:var(--fs-12);font-weight:var(--fw-regular);color:var(--mist)}.permission-list label.is-disabled{cursor:not-allowed}.role-presets .role-platform{color:var(--ink-2);font-weight:var(--fw-medium);margin-right:var(--sp-4)}.permission-list label .badge{margin-left:auto}.permission-list label .badge+.perm-code{margin-left:var(--sp-8)}.scope-bar{align-items:center;gap:var(--sp-12);padding:var(--sp-12) var(--sp-16);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-14);display:flex}.scope-tag{padding:2px var(--sp-8);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-12);font-weight:var(--fw-medium);align-items:center;display:inline-flex}.dash-grid{gap:var(--sp-20);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:stretch;display:grid}.dash-grid>.card{flex-direction:column;display:flex}.chart-frame-empty{flex:1;justify-content:center;align-items:center;display:flex}.workbench-tabs{align-items:stretch;gap:var(--sp-4);border-bottom:1px solid var(--line);scrollbar-width:none;height:36px;display:flex;overflow-x:auto}.workbench-tabs::-webkit-scrollbar{display:none}.workbench-tabs button{min-width:max-content;height:35px;padding:0 var(--sp-12);color:var(--mist);text-align:left;border-radius:var(--r-sm) var(--r-sm) 0 0;transition:color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);align-items:center;display:inline-flex;position:relative}.workbench-tabs button:hover{color:var(--ink);background:var(--surface-2)}.workbench-tabs button[aria-selected=true]{color:var(--ink)}.workbench-tabs button[aria-selected=true]:after{content:"";left:var(--sp-12);right:var(--sp-12);background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px}.workbench-tabs button span{font-size:var(--fs-13);line-height:var(--lh-13);font-weight:var(--fw-medium)}.workbench-tabs button[aria-selected=true] span{font-weight:var(--fw-semibold)}.workbench-view{gap:var(--sp-12)}.context-line{min-height:30px;padding:0 var(--sp-12);border-left:2px solid var(--accent);background:var(--surface);color:var(--mist);font-size:var(--fs-12);line-height:var(--lh-12);align-items:center;display:flex}.request-notice{gap:var(--sp-12);width:100%}.section-heading{justify-content:space-between;align-items:end;gap:var(--sp-16);display:flex}.section-heading h2{font:var(--fw-semibold) var(--fs-20)/var(--lh-20) var(--font-display);letter-spacing:-.01em;margin-top:3px}.section-heading>.text-mist{max-width:36ch;font-size:var(--fs-12);text-align:right}.ops-action-grid{border-top:1px solid var(--line-strong)}.ops-action{align-items:center;gap:var(--sp-16);width:100%;padding:var(--sp-12) var(--sp-8);text-align:left;border-bottom:1px solid var(--line);transition:padding var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);grid-template-columns:minmax(0,1fr) auto 18px;display:grid}.ops-action:hover{padding-inline:var(--sp-12);background:var(--surface-2)}.ops-action>span:first-child{gap:2px;display:grid}.ops-action strong{color:var(--ink);font-size:var(--fs-14)}.ops-action small{color:var(--mist);font-size:var(--fs-12)}.ops-action>b{color:var(--ink);font-size:var(--fs-18);font-variant-numeric:tabular-nums}.ops-action[data-tone=danger]>b{color:var(--danger)}.ops-action[data-tone=warning]>b{color:var(--warning)}.ops-action[data-tone=info]>b{color:var(--info)}.customer-alerts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.customer-alerts button{align-items:center;gap:var(--sp-12);padding:var(--sp-12) var(--sp-8);text-align:left;border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.customer-alerts button:hover{background:var(--surface-2)}.customer-alerts button>span:nth-child(2){gap:2px;display:grid}.customer-alerts strong{font-size:var(--fs-13)}.customer-alerts small{color:var(--mist);font-size:var(--fs-11)}.customer-toolbar{align-items:center;gap:var(--sp-12);flex-wrap:wrap;display:flex}.team-view-switch{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:2px;padding:3px;display:inline-flex}.team-view-switch button{height:30px;padding:0 var(--sp-12);border-radius:var(--r-sm);color:var(--mist);font-size:var(--fs-12)}.team-view-switch button[aria-pressed=true]{color:var(--ink);background:var(--surface);box-shadow:var(--sh-1)}.customer-search{width:min(320px,100%);margin-left:auto}.row-actions{justify-content:flex-end;gap:var(--sp-4);white-space:nowrap;display:flex}@media (width<=720px){.page-title-group{display:block}.page-sub{border-left:0;margin-top:2px;padding-left:0}.section-heading{align-items:start}.section-heading>.text-mist{display:none}.workbench-tabs button{padding-inline:var(--sp-12)}.customer-search{order:-1;width:100%;margin-left:0}}.card-compact{padding:var(--sp-16) var(--sp-20)}.card-compact .card-head{margin-bottom:var(--sp-8)}.card-compact .card-title{font-size:var(--fs-16)}.card-compact .card-sub{font-size:var(--fs-12)}.profile-grid{gap:var(--sp-12);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.profile-row{padding:var(--sp-12);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;gap:2px;display:flex}.profile-k{font-size:var(--fs-12);color:var(--mist)}.profile-v{font-size:var(--fs-14);color:var(--ink)}.login{min-height:100dvh;padding:var(--sp-24);background:var(--canvas);place-items:center;display:grid}.login-card{gap:var(--sp-16);text-align:left;width:100%;max-width:420px;display:grid}.login-brand{gap:var(--sp-8);font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-semibold)}.login-title{font-family:var(--font-display);font-size:var(--fs-24);line-height:var(--lh-24);letter-spacing:-.012em}.cap-modes{gap:var(--sp-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cap-mode{gap:var(--sp-4);padding:var(--sp-12);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;display:grid}.cap-mode.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.cap-count{font-size:var(--fs-13);margin-left:var(--sp-12);flex-shrink:0}.cap-picked{flex-wrap:wrap;gap:6px}.cap-team-list{border:1px solid var(--line);border-radius:var(--r-md);max-height:280px;padding:var(--sp-4) var(--sp-12);overflow-y:auto}.cap-team{width:100%;padding:var(--sp-8) 0;border-bottom:1px solid var(--line);display:flex}.cap-team:last-child{border-bottom:0}.cap-team .cell-sub{margin:0 0 0 auto}@media (width<=560px){.cap-modes{grid-template-columns:1fr}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
