:root{--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--violet-300: #c4b5fd;--violet-400: #a78bfa;--violet-500: #8b5cf6;--violet-600: #7c3aed;--n-0: #ffffff;--n-25: #fcfcfe;--n-50: #f7f8fb;--n-100: #f1f3f8;--n-150: #e9ecf4;--n-200: #dfe3ed;--n-300: #cbd1e0;--n-400: #99a1b7;--n-500: #6d7590;--n-600: #5b6478;--n-700: #3f465c;--n-800: #2a3044;--n-900: #171b26;--n-950: #0b0e16;--green-600: #059669;--green-700: #047857;--amber-600: #b45309;--amber-700: #92400e;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--font-sans: Inter, "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-display: "Inter Display", Inter, "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs-display: clamp(34px, 4.4vw, 54px);--fs-h1: 30px;--fs-h2: 22px;--fs-h3: 17px;--fs-lg: 16px;--fs-md: 14px;--fs-sm: 13px;--fs-xs: 12px;--fs-2xs: 11px;--tracking-display: -.035em;--tracking-tight: -.02em;--tracking-normal: -.006em;--tracking-wide: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 6px;--radius-sm: 8px;--radius: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-1: .12s;--dur-2: .18s;--dur-3: .28s;--dur-4: .42s;--z-sticky: 50;--z-header: 100;--z-dropdown: 200;--z-overlay: 900;--z-dialog: 1000;--z-toast: 1100;color-scheme:light;font-family:var(--font-sans);line-height:1.5;--brand: var(--indigo-600);--brand-hover: var(--indigo-700);--brand-active: var(--indigo-800);--brand-fg: #ffffff;--brand-soft: var(--indigo-50);--brand-soft-hover: var(--indigo-100);--brand-border: var(--indigo-200);--brand-text: var(--indigo-700);--accent: var(--brand);--brand-solid: var(--indigo-600);--brand-solid-fg: #ffffff;--danger-solid: var(--red-600);--danger-solid-fg: #ffffff;--bg: var(--n-50);--bg-elevated: var(--n-0);--surface: var(--n-0);--surface-2: var(--n-50);--surface-3: var(--n-100);--surface-alt: var(--n-100);--surface-hover: var(--n-100);--surface-sunken: var(--n-100);--stroke: var(--n-200);--stroke-subtle: var(--n-150);--stroke-strong: var(--n-300);--border: var(--stroke);--border-subtle: var(--stroke-subtle);--fg: var(--n-900);--fg-1: var(--n-900);--fg-2: var(--n-600);--fg-3: var(--n-500);--text-muted: var(--fg-2);--danger: var(--red-600);--danger-hover: var(--red-700);--danger-soft: #fef2f2;--danger-border: #fecaca;--success: var(--green-600);--success-soft: #ecfdf5;--success-border: #a7f3d0;--success-text: var(--green-700);--warning: var(--amber-600);--warning-soft: #fffbeb;--warning-border: #fde68a;--warning-text: var(--amber-700);--highlight-soft: #fff8e1;--highlight-border: var(--highlight-border);--highlight-fg: var(--highlight-fg);--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .07), 0 1px 2px -1px rgba(16, 24, 40, .05);--shadow-md: 0 4px 10px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 20px -6px rgba(16, 24, 40, .1), 0 4px 8px -4px rgba(16, 24, 40, .05);--shadow-xl: 0 24px 40px -12px rgba(16, 24, 40, .16), 0 8px 16px -8px rgba(16, 24, 40, .06);--shadow-2xl: 0 40px 72px -16px rgba(16, 24, 40, .22);--shadow-brand: 0 8px 22px -6px rgba(79, 70, 229, .38);--gradient-brand: linear-gradient(135deg, var(--indigo-600) 0%, var(--indigo-500) 45%, var(--violet-500) 100%);--gradient-brand-text: linear-gradient(118deg, var(--indigo-600) 0%, #6d5ef0 40%, var(--violet-600) 100%);--header-bg: linear-gradient(120deg, #101322 0%, #171c33 52%, #1d2142 100%);--header-fg: #ffffff;--header-fg-muted: rgba(255, 255, 255, .68);--header-hover: rgba(255, 255, 255, .1);--header-active: rgba(255, 255, 255, .16);--header-stroke: rgba(255, 255, 255, .1);--scrim: rgba(11, 14, 22, .55);--focus-ring-color: rgba(79, 70, 229, .3);--control-h: 36px;--control-h-sm: 30px;--control-h-lg: 42px;--control-pad-x: 12px;--control-radius: var(--radius);--field-fs: var(--fs-md);--control-focus-ring: 0 0 0 3px var(--focus-ring-color);--control-disabled-bg: var(--n-100);--control-disabled-fg: var(--n-400);--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' stroke='%236d7590' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--check-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2 4.8 8.5 9.5 3.5' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root[data-theme=dark]{color-scheme:dark;--brand: var(--indigo-400);--brand-hover: var(--indigo-300);--brand-active: var(--indigo-200);--brand-fg: #10121c;--brand-soft: rgba(99, 102, 241, .16);--brand-soft-hover: rgba(99, 102, 241, .24);--brand-border: rgba(129, 140, 248, .34);--brand-text: var(--indigo-300);--brand-solid: var(--indigo-600);--brand-solid-fg: #ffffff;--danger-solid: var(--red-600);--danger-solid-fg: #ffffff;--bg: #0b0e16;--bg-elevated: #141824;--surface: #141824;--surface-2: #1a1f2d;--surface-3: #212736;--surface-alt: #1a1f2d;--surface-hover: #1e2433;--surface-sunken: #0f131d;--stroke: #2b3242;--stroke-subtle: #222836;--stroke-strong: #3a4256;--fg: #e9ecf4;--fg-1: #e9ecf4;--fg-2: #9aa4bb;--fg-3: #79839c;--danger: #f87171;--danger-hover: #fca5a5;--danger-soft: rgba(248, 113, 113, .14);--danger-border: rgba(248, 113, 113, .32);--success: #34d399;--success-soft: rgba(52, 211, 153, .14);--success-border: rgba(52, 211, 153, .32);--success-text: #34d399;--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--warning-border: rgba(251, 191, 36, .32);--warning-text: #fbbf24;--highlight-soft: rgba(251, 191, 36, .16);--highlight-border: rgba(251, 191, 36, .38);--highlight-fg: #fcd34d;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 24px -6px rgba(0, 0, 0, .55), 0 4px 8px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 24px 44px -12px rgba(0, 0, 0, .62), 0 8px 16px -8px rgba(0, 0, 0, .45);--shadow-2xl: 0 40px 80px -16px rgba(0, 0, 0, .7);--shadow-brand: 0 8px 24px -6px rgba(99, 102, 241, .45);--header-bg: linear-gradient(120deg, #0d1019 0%, #12162a 52%, #171b33 100%);--header-stroke: rgba(255, 255, 255, .07);--scrim: rgba(0, 0, 0, .68);--focus-ring-color: rgba(129, 140, 248, .38);--control-disabled-bg: #1a1f2d;--control-disabled-fg: #5b6478;--select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' stroke='%239aa4bb' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--check-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2 4.8 8.5 9.5 3.5' stroke='%2310121c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root.org-branded{--brand: color-mix(in srgb, var(--org-accent) 66%, #000);--brand-hover: color-mix(in srgb, var(--org-accent) 56%, #000);--brand-active: color-mix(in srgb, var(--org-accent) 46%, #000);--brand-text: color-mix(in srgb, var(--org-accent) 60%, #000);--brand-soft: color-mix(in srgb, var(--org-accent) 9%, #fff);--brand-soft-hover: color-mix(in srgb, var(--org-accent) 16%, #fff);--brand-border: color-mix(in srgb, var(--org-accent) 32%, #fff);--brand-solid: var(--org-accent);--brand-solid-fg: var(--org-accent-ink, #ffffff);--focus-ring-color: color-mix(in srgb, var(--org-accent) 32%, transparent);--shadow-brand: 0 8px 22px -6px color-mix(in srgb, var(--org-accent) 42%, transparent);--gradient-brand: linear-gradient(135deg, var(--org-accent) 0%, color-mix(in srgb, var(--org-accent) 70%, #fff) 100%)}:root[data-theme=dark].org-branded{--brand: color-mix(in srgb, var(--org-accent) 55%, #ffffff);--brand-hover: color-mix(in srgb, var(--org-accent) 40%, #ffffff);--brand-active: color-mix(in srgb, var(--org-accent) 30%, #ffffff);--brand-text: color-mix(in srgb, var(--org-accent) 48%, #ffffff);--brand-soft: color-mix(in srgb, var(--org-accent) 18%, transparent);--brand-soft-hover: color-mix(in srgb, var(--org-accent) 26%, transparent);--brand-border: color-mix(in srgb, var(--org-accent) 38%, transparent);--brand-solid: var(--org-accent);--brand-solid-fg: var(--org-accent-ink, #ffffff)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);overflow:hidden;font-family:var(--font-sans);font-size:var(--fs-md);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}table,.u-tabular{font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5,h6,.u-display{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-weight:650;line-height:1.2;color:var(--fg)}h1{font-size:var(--fs-h1);letter-spacing:var(--tracking-display)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em;font-variant-ligatures:none}::selection{background:var(--brand-soft-hover);color:var(--fg)}#root{display:flex;flex-direction:column;min-height:0}a{color:var(--brand-text);text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--dur-1) var(--ease-out)}a:hover{color:var(--brand)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input[type=text],input[type=email],input[type=search],input[type=url],input[type=password],input[type=number],input[type=tel],textarea,select{font-family:inherit;font-size:var(--field-fs);color:var(--fg);background-color:var(--surface);border:1px solid var(--stroke);border-radius:var(--control-radius);height:var(--control-h);padding:0 var(--control-pad-x);transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}input[type=text]:hover:not(:disabled):not(:focus),input[type=email]:hover:not(:disabled):not(:focus),input[type=search]:hover:not(:disabled):not(:focus),input[type=url]:hover:not(:disabled):not(:focus),input[type=password]:hover:not(:disabled):not(:focus),input[type=number]:hover:not(:disabled):not(:focus),input[type=tel]:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus){border-color:var(--stroke-strong)}textarea{height:auto;min-height:76px;padding:8px var(--control-pad-x);line-height:1.45;resize:vertical}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=search]:focus-visible,input[type=url]:focus-visible,input[type=password]:focus-visible,input[type=number]:focus-visible,input[type=tel]:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--control-focus-ring)}input:disabled,textarea:disabled,select:disabled{background-color:var(--control-disabled-bg);color:var(--control-disabled-fg);cursor:not-allowed}::placeholder{color:var(--fg-3);opacity:1}select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:12px 12px}select:disabled{cursor:not-allowed}.input-error{border-color:var(--danger)}input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;flex-shrink:0;border:1px solid var(--stroke-strong);background-color:var(--surface);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}input[type=checkbox]:hover:not(:disabled),input[type=radio]:hover:not(:disabled){border-color:var(--brand)}input[type=checkbox]{border-radius:4px}input[type=radio]{border-radius:50%}input[type=checkbox]:checked{background-color:var(--brand-solid);border-color:var(--brand-solid);background-image:var(--check-tick);background-repeat:no-repeat;background-position:center;background-size:12px 12px}input[type=radio]:checked{border-color:var(--brand-solid);background-image:radial-gradient(circle at center,var(--brand-solid) 0 4px,var(--surface) 5px)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:var(--control-focus-ring)}input[type=checkbox]:disabled,input[type=radio]:disabled{background-color:var(--control-disabled-bg);cursor:not-allowed;opacity:.6}input[type=checkbox]:checked:disabled{background-color:var(--brand-solid);border-color:var(--brand-solid)}.switch{position:relative;display:inline-flex;width:40px;height:22px;flex-shrink:0}.switch input{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;background:transparent;cursor:pointer}.switch-track{position:absolute;inset:0;background-color:var(--stroke-strong);border-radius:var(--radius-full);transition:background-color var(--dur-2) var(--ease-out);pointer-events:none}.switch-track:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #1018284d;transition:transform var(--dur-2) var(--ease-spring)}.switch input:checked+.switch-track{background-color:var(--brand-solid)}.switch input:checked+.switch-track:before{transform:translate(18px)}.switch input:focus-visible+.switch-track{box-shadow:var(--control-focus-ring)}.switch input:disabled{cursor:not-allowed}.switch input:disabled+.switch-track{opacity:.5}@media(max-width:640px){input[type=text],input[type=email],input[type=search],input[type=url],input[type=password],input[type=number],input[type=tel],textarea,select{font-size:var(--fs-lg)}}.app-header{height:52px;flex-shrink:0;background:var(--app-header-bg);border-bottom:1px solid var(--header-stroke);box-shadow:var(--shadow-sm);display:flex;align-items:center;padding:0 16px;gap:6px;z-index:100;color:#fff}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex-shrink:0;padding:0 6px}.brand img{width:32px;height:32px;border-radius:8px;display:block;box-shadow:0 2px 6px #0000004d;transition:transform .15s ease,box-shadow .15s ease}.brand:hover img{box-shadow:0 4px 10px #00000061;transform:translateY(-1px)}.ui-i{width:16px;height:16px;display:block;flex-shrink:0}.brand-name{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.2px;color:#fff}.org-monogram{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:800;letter-spacing:.3px;color:var(--brand-solid-fg);background:var(--brand-solid);box-shadow:0 2px 6px #0000004d;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand-text .brand-name{font-size:var(--fs-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.brand-sub{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.2px;color:#ffffff9e;text-transform:none}.header-mid{flex:1;display:flex;align-items:center;min-width:0;overflow:visible}.detail-bar{display:flex;align-items:center;gap:6px;width:100%}.detail-title{flex:1;font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.header-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-sm);font-family:inherit;font-weight:550;color:var(--header-fg);cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap;flex-shrink:0}.header-btn:hover:not(:disabled){background:#ffffff38;border-color:#ffffff59}.header-btn:disabled{cursor:not-allowed;opacity:.55}.header-btn.subtle{background:transparent;border-color:transparent;color:#ffffffd9}.header-btn.subtle:hover{background:#ffffff29;color:#fff}.header-btn.active{background:linear-gradient(135deg,#ffb347,#ffcc70);border-color:#f0a030;color:#5a3000;font-weight:600;box-shadow:inset 0 1px #fff6}.header-btn.danger{background:#ffffff1f;border-color:#ffffff38;color:#fff}.header-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,transparent);border-color:color-mix(in srgb,var(--danger) 95%,transparent);color:#fff}.detail-bar-secondary{display:contents}.header-more-wrap{position:relative;display:inline-flex;flex-shrink:0}.mode-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius);background:var(--header-hover);border:1px solid var(--header-stroke);flex-shrink:0}.mode-switch-option{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:0;border-radius:var(--radius-xs);background:none;color:var(--header-fg-muted);font-family:inherit;font-size:var(--fs-sm);font-weight:550;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.mode-switch-option .ui-i{width:15px;height:15px}.mode-switch-option:hover{color:var(--header-fg)}.mode-switch-option.active{background:var(--header-fg);color:#1a1f2e;font-weight:650}.header-more-trigger{padding:5px 9px;font-size:18px;line-height:1}.header-more-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-dropdown);min-width:232px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:6px;display:flex;flex-direction:column;gap:2px;transform-origin:top right;animation:menu-in var(--dur-2) var(--ease-out)}.header-more-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--fg);font-family:inherit;font-size:var(--fs-md);font-weight:500;text-align:left;cursor:pointer;width:100%;transition:background-color var(--dur-1) var(--ease-out)}.header-more-item:hover:not(:disabled){background:var(--surface-hover)}.header-more-item:disabled{opacity:.55;cursor:not-allowed}.header-more-item.danger{color:var(--danger)}.header-more-item.danger:hover:not(:disabled){background:var(--danger-soft)}.header-more-icon{flex:0 0 20px;width:20px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-lg)}.header-more-label{flex:1}@media(max-width:1080px){.detail-bar-secondary{display:none}.header-more-wrap{margin-left:auto}}@media(max-width:1260px)and (min-width:1081px){.mode-switch-option span:last-child{display:none}.mode-switch-option{padding:5px 8px}}@media(max-width:560px){.app-header{padding:0 10px;gap:4px}.brand>.brand-name{display:none}.brand-text .brand-sub{display:none}.brand-text .brand-name{max-width:150px;font-size:var(--fs-md)}.brand{padding:0 4px}.detail-title,.detail-bar .header-btn.subtle span{display:none}.version-menu-trigger{padding:5px 8px}.version-menu-trigger>span:not(.version-menu-chevron){display:none}}.avatar-wrap{position:relative;margin-left:6px}.header-actions{display:flex;align-items:center;gap:8px}.help-wrap{position:relative}.help-btn,.notif-btn{position:relative;width:34px;height:34px;flex-shrink:0;padding:0;border-radius:50%;background:transparent;border:1px solid transparent;color:var(--header-fg-muted);font-family:inherit;font-size:var(--fs-md);font-weight:650;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.help-btn:hover,.help-btn[aria-expanded=true],.notif-btn:hover,.notif-btn[aria-expanded=true]{background:var(--header-hover);border-color:var(--header-stroke);color:var(--header-fg)}.help-btn:active,.notif-btn:active{background:var(--header-active)}.help-btn .ui-i{width:17px;height:17px}.avatar-btn{width:34px;height:34px;flex-shrink:0;padding:0;border-radius:50%;background:#ffffff24;color:var(--header-fg);font-size:var(--fs-xs);font-weight:700;font-family:inherit;letter-spacing:.3px;border:1px solid rgba(255,255,255,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.avatar-btn:hover,.avatar-btn[aria-expanded=true]{background:#ffffff3d;border-color:#ffffff61}.user-menu{position:absolute;top:calc(100% + 8px);right:0;width:288px;padding-bottom:var(--space-1);background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);overflow:hidden;z-index:var(--z-dropdown);transform-origin:top right;animation:menu-in var(--dur-2) var(--ease-out)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.user-menu-head{display:flex;align-items:center;gap:12px;padding:14px 16px}.avatar-lg{width:44px;height:44px;border-radius:50%;background:var(--brand-solid);color:var(--brand-solid-fg);font-size:var(--fs-lg);font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center}.user-info{min-width:0}.user-info-name{font-weight:700;font-size:var(--fs-lg);line-height:1.2;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info-email{font-size:var(--fs-xs);color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.user-info-provider{font-size:var(--fs-xs);color:var(--fg-2);margin-top:4px}.menu-sep{border:none;border-top:1px solid var(--stroke-subtle);margin:var(--space-1) 0}.menu-item{display:flex;align-items:center;gap:10px;width:calc(100% - 8px);margin:1px 4px;padding:9px 12px;border:none;border-radius:var(--radius-sm);background:none;font-family:inherit;font-size:var(--fs-md);font-weight:500;color:var(--fg);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.menu-item:hover{background:var(--surface-hover)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.user-menu-label{padding:8px 16px 4px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-3)}.theme-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:2px 12px 10px;padding:3px;background:var(--surface-sunken);border:1px solid var(--stroke-subtle);border-radius:var(--radius)}.theme-switch-option{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 4px;border:1px solid transparent;border-radius:var(--radius-xs);background:none;font-family:inherit;font-size:var(--fs-xs);font-weight:600;color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.theme-switch-option .ui-i{width:14px;height:14px}.theme-switch-option:hover{color:var(--fg)}.theme-switch-option.active{background:var(--surface);border-color:var(--stroke-subtle);color:var(--fg);box-shadow:var(--shadow-xs)}.org-item .org-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.org-item.active{font-weight:600}.org-item-check{color:var(--brand);font-weight:700;flex-shrink:0}.org-branded .app-header{border-bottom-color:var(--org-accent);box-shadow:0 2px 0 0 var(--org-accent, transparent),0 1px 3px #0000002e}.app-layout,.auth-layout{flex:1;min-height:0;overflow-y:auto;width:100%;display:grid;gap:16px;padding:24px 16px;align-content:start;justify-items:stretch;grid-template-columns:minmax(0,1000px);justify-content:center}.detail-layout{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;overflow:hidden}.detail-frame-wrap{flex:1;display:flex;flex-direction:column;background:var(--surface);min-height:0;overflow:hidden}.detail-frame-wrap.review{outline:2px solid var(--brand-border);outline-offset:-2px}.detail-frame-row{flex:1;display:grid;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}.detail-frame-wrap.review .detail-frame-row{grid-template-columns:minmax(0,1fr) 360px}.detail-preview-wrap{position:relative;display:flex;min-height:0;overflow:hidden;background:var(--surface)}.detail-frame{flex:1;width:100%;height:100%;border:none;background:var(--surface);display:block}.detail-frame-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2;animation:fade-in .15s ease-out}.detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--fg-2)}.detail-empty-text{font-size:var(--fs-sm)}.loading-spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;flex:1;width:100%;min-height:200px;padding:24px;color:var(--fg-2)}.loading-spinner{display:block;width:44px;height:44px;border-radius:50%;border:3px solid var(--stroke-subtle);border-top-color:var(--brand);animation:loading-spin .9s linear infinite}.loading-spinner-sm .loading-spinner{width:28px;height:28px;border-width:2.5px;box-shadow:none}.loading-spinner-md .loading-spinner{width:36px;height:36px}.loading-spinner-label{font-size:var(--fs-sm);font-weight:500;letter-spacing:.02em;color:var(--fg-2)}@keyframes loading-spin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:13px;height:13px;margin-right:7px;vertical-align:-2px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.85;animation:loading-spin .6s linear infinite}.btn-spinner:only-child{margin-right:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.presentation-exit-btn{position:fixed;top:12px;right:12px;z-index:400;width:36px;height:36px;border-radius:50%;border:none;background:color-mix(in srgb,var(--brand) 85%,transparent);color:#fff;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 2px 6px #00000038;transition:background .15s,transform .15s}.presentation-exit-btn:hover{background:var(--brand-hover);transform:scale(1.05)}.review-panel{border-left:1px solid var(--stroke-subtle);background:var(--surface);display:flex;flex-direction:column;min-height:0}.review-panel-header{padding:12px 14px;border-bottom:1px solid var(--stroke-subtle)}.review-panel-title{font-size:var(--fs-h3);font-weight:650;letter-spacing:var(--tracking-tight);margin-bottom:2px}.review-panel-subtitle{font-size:var(--fs-xs);color:var(--fg-2)}.review-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.review-tool-group,.review-filter-group{display:flex;gap:6px;flex-wrap:wrap}.review-tool-btn,.review-filter-chip{min-height:30px;padding:5px 12px;border:1px solid var(--stroke);border-radius:var(--radius-full);background:var(--surface);font-family:inherit;font-size:var(--fs-sm);font-weight:550;color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.review-tool-btn:hover:not(:disabled),.review-filter-chip:hover{border-color:var(--stroke-strong);color:var(--fg)}@media(pointer:coarse){.review-tool-btn,.review-filter-chip{min-height:44px;padding:6px 14px}}.review-tool-btn.active{background:var(--brand-solid);color:var(--brand-solid-fg);border-color:var(--brand-solid)}.review-filter-chip.active{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--brand-solid-fg);font-weight:650}.review-color-group{display:flex;gap:6px;align-items:center}.review-color-swatch{width:44px;height:44px;padding:0;border-radius:8px;cursor:pointer;border:2px solid transparent;box-shadow:inset 0 0 0 1px #00000026}.review-color-swatch.active{border-color:var(--brand)}.review-ink-actions{display:flex;gap:6px}.review-tool-btn.primary{background:var(--brand-solid);color:var(--brand-solid-fg);border-color:var(--brand-solid)}.review-tool-btn:disabled{opacity:.45;cursor:default}.review-anchor-kind{margin-left:6px;font-size:var(--fs-2xs);padding:1px 6px;border-radius:999px;background:var(--brand-soft);color:var(--brand)}.review-anchor-status{margin-left:6px;font-size:var(--fs-2xs);padding:1px 6px;border-radius:999px}.review-anchor-status.anchored{background:var(--success-soft);color:var(--success)}.review-anchor-status.shifted{background:var(--warning-soft);color:var(--warning)}.review-anchor-status.orphaned{background:var(--danger-soft);color:var(--danger)}.review-jump-btn{margin-left:6px;min-height:26px;padding:2px 9px;font-size:var(--fs-xs);font-family:inherit;font-weight:550;color:var(--fg-2);border:1px solid var(--stroke);border-radius:var(--radius-full);background:var(--surface);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.review-jump-btn:hover{border-color:var(--brand);color:var(--brand)}.review-panel.side{display:flex;flex-direction:column}.review-panel.side .review-panel-scroll{overflow-y:auto;padding:8px}.review-list{display:flex;flex-direction:column;gap:10px}.review-list .review-comment-item{position:static!important;top:auto!important}.review-sheet-root{position:fixed;left:0;right:0;bottom:0;z-index:300;display:flex;flex-direction:column;gap:8px;padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.review-sheet-root .review-toolbar{flex-wrap:wrap;gap:8px}.review-sheet-root .review-color-swatch{width:44px;height:44px}.review-sheet-list-btn{align-self:center;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--brand);background:var(--surface);color:var(--brand);font-weight:600}.review-bottom-sheet{background:var(--surface);border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #0000002e;padding:12px}.review-list-overlay{position:fixed;inset:0;z-index:250;background:var(--surface);overflow-y:auto;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.review-list-overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;position:sticky;top:0;background:var(--surface);padding:4px 0}.review-selection-draft-wrap{position:absolute;left:0;right:0}.review-comment-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;background:var(--surface-2)}.review-comment-canvas,.review-comment-items-layer{position:relative;min-height:100%}.review-empty{color:var(--fg-2);font-size:var(--fs-xs);text-align:center;padding:14px 8px;border:1px dashed var(--stroke);border-radius:8px;background:var(--surface-2);margin:10px 12px 12px}.review-selection-draft{position:absolute;left:12px;right:12px;z-index:3;padding:10px;border:1px solid var(--warning-border);border-radius:8px;background:var(--warning-soft);box-shadow:0 1px 4px #00000014}.review-selection-caption{font-size:var(--fs-2xs);color:var(--fg-2);margin-bottom:6px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.review-selection-text{font-size:var(--fs-xs);color:var(--fg);background:var(--highlight-soft);border:1px solid var(--highlight-border);border-radius:6px;padding:8px;margin-bottom:8px;max-height:92px;overflow:auto;white-space:pre-wrap}.review-textarea{width:100%;min-height:74px;resize:vertical;border:1px solid var(--stroke);border-radius:6px;padding:8px;font-family:inherit;font-size:var(--fs-sm);margin-bottom:8px}.review-selection-actions{display:flex;justify-content:flex-end;gap:8px}.review-comment-item{border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);padding:12px;cursor:pointer;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out);position:absolute;left:12px;right:12px}.review-comment-item:hover{border-color:var(--brand-border);box-shadow:var(--shadow-sm)}.review-comment-item.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring-color);background:var(--brand-soft)}.review-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.review-author{font-size:var(--fs-xs);font-weight:600;color:var(--fg)}.review-time{font-size:var(--fs-2xs);color:var(--fg-3);margin-left:6px;font-weight:400}.review-version-chip{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.02em;vertical-align:middle}.version-menu-wrap{position:relative;flex-shrink:0}.version-menu-trigger{gap:8px}.version-menu-chevron{font-size:var(--fs-2xs);opacity:.85;margin-left:2px}.version-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);overflow:hidden;padding:6px;z-index:var(--z-dropdown);transform-origin:top left;animation:menu-in var(--dur-2) var(--ease-out)}.version-menu-section-title{padding:6px 14px 4px;font-size:var(--fs-2xs);font-weight:700;color:var(--fg-2);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.version-menu-item{border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:var(--fs-md);color:var(--fg);text-decoration:none;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out);border:none;background:none;width:100%;font-family:inherit;text-align:left}.version-menu-item:hover:not(:disabled){background:var(--surface-hover)}.version-menu-item:disabled{cursor:not-allowed;opacity:.55}.version-menu-item.active{color:var(--brand-text);font-weight:650}.version-menu-item.add-new{color:var(--brand);font-weight:500}.version-menu-row{display:flex;align-items:stretch;position:relative}.version-menu-row:hover{background:var(--surface-2)}.version-menu-row>.version-menu-item{border-radius:var(--radius-sm);flex:1;min-width:0;padding-right:8px}.version-menu-row>.version-menu-item:hover:not(:disabled){background:transparent}.version-menu-delete{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;margin-right:8px;border:0;background:transparent;border-radius:4px;color:var(--fg-3);font-size:var(--fs-lg);line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s}.version-menu-row:hover .version-menu-delete,.version-menu-row:focus-within .version-menu-delete{opacity:1}.version-menu-delete:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.version-menu-delete:focus-visible{outline:2px solid var(--danger);outline-offset:-2px;opacity:1}@media(hover:none){.version-menu-delete{opacity:1}}.version-menu-check{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.version-menu-label{flex:1;min-width:0}.version-pill{display:inline-block;padding:2px 8px;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-size:var(--fs-2xs);font-weight:700}.review-comment-text{font-size:var(--fs-sm);color:var(--fg);line-height:1.4;white-space:pre-wrap;margin-bottom:8px}.review-anchor-snippet{font-size:var(--fs-xs);color:var(--highlight-fg);background:var(--highlight-soft);border:1px solid var(--highlight-border);border-radius:6px;padding:6px 8px;margin-bottom:8px}.review-anchor-snippet-text{white-space:pre-wrap;word-break:break-word;max-height:96px;overflow:hidden}.review-anchor-snippet.expanded .review-anchor-snippet-text{max-height:240px;overflow:auto}.review-anchor-snippet-toggle{margin-top:4px;background:none;border:none;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-decoration:underline;font-size:var(--fs-2xs)}.review-anchor-snippet-toggle:hover{color:var(--brand-hover)}.review-replies{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.review-reply-item{border-left:2px solid #deecf9;padding-left:8px}.review-reply-meta{font-size:var(--fs-2xs);color:var(--fg-2);margin-bottom:2px}.review-reply-text{font-size:var(--fs-xs);color:var(--fg);white-space:pre-wrap;line-height:1.35}.review-reply-compose{display:grid;grid-template-columns:1fr auto;gap:6px}.review-reply-input{border:1px solid var(--stroke);border-radius:4px;font-size:var(--fs-xs);padding:6px 8px;width:100%}@media(max-width:1100px){.detail-frame-wrap.review .detail-frame-row{grid-template-columns:minmax(0,1fr)}.review-panel{border-left:none;border-top:1px solid var(--stroke-subtle);max-height:46vh}}.card{background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-xs)}.card h1,.card h2{margin:0 0 8px}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.gallery-head-text h1{margin:0;font-size:var(--fs-h1);font-weight:650;letter-spacing:var(--tracking-display);color:var(--fg)}.gallery-head-sub{margin:6px 0 0;color:var(--fg-2);font-size:var(--fs-md)}.gallery-new-btn{gap:6px;padding:9px 16px;white-space:nowrap}.gallery-new-btn span{font-size:var(--fs-lg);line-height:1}.gallery-toolbar{display:flex;flex-direction:column;gap:12px;padding:12px 14px}.gallery-wrap{display:flex;flex-direction:column;gap:16px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:18px}.g-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.g-card:hover{border-color:var(--brand-border);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.g-thumb-link{display:block;text-decoration:none;position:relative}.g-thumb{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-2)}.g-thumb-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.g-thumb-initial{font-size:44px;font-weight:800;color:#ffffffeb;text-shadow:0 2px 10px rgba(0,0,0,.2);letter-spacing:-1px}.g-thumb-frame{position:absolute;top:0;left:0;width:306%;height:306%;border:0;background:var(--surface);transform:scale(.3333);transform-origin:top left;pointer-events:none;animation:g-thumb-in .25s ease both}@keyframes g-thumb-in{0%{opacity:0}to{opacity:1}}.g-thumb-shimmer{position:absolute;inset:0;background:linear-gradient(100deg,#fff0 30%,#ffffff8c,#fff0 70%);background-size:220% 100%;animation:g-shimmer 1.2s linear infinite}@keyframes g-shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}.g-meta-head{display:flex;align-items:flex-start;gap:8px}.g-meta-head .g-name{flex:1;min-width:0}.g-vis{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;margin-top:1px;padding:2px 9px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600;color:var(--fg-2);background:var(--bg);border:1px solid var(--stroke-subtle);white-space:nowrap}.g-vis-dot{width:7px;height:7px;border-radius:50%;background:var(--vis-accent)}.g-vis-private{--vis-accent: var(--fg-3)}.g-vis-internal{--vis-accent: var(--brand)}.g-vis-restricted{--vis-accent: var(--warning)}.g-vis-link{--vis-accent: var(--violet-600)}.g-ver-inline{font-weight:600;font-variant-numeric:tabular-nums}.g-del{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:#ffffffeb;box-shadow:var(--shadow-sm);font-size:var(--fs-md);line-height:1;color:var(--fg-2);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease}.g-card:hover .g-del,.g-del:focus-visible{opacity:1}.g-del:hover{background:var(--danger-soft);color:var(--danger)}.g-meta{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.g-name{font-size:var(--fs-md);font-weight:600;color:var(--fg);text-decoration:none;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.g-name:hover{color:var(--brand)}.g-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--fg-2)}.g-owner{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-sub-dot{opacity:.5}.g-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.g-tags-more{font-size:var(--fs-2xs);color:var(--fg-2);align-self:center}.gallery-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:44px 24px}.gallery-empty-art{color:var(--brand);opacity:.85;margin-bottom:4px}.gallery-empty h3{margin:0;font-size:18px;color:var(--fg)}.gallery-empty p{margin:0;max-width:440px;font-size:var(--fs-md);color:var(--fg-2)}.gallery-empty p code{font-size:var(--fs-xs);background:var(--surface-2);border-radius:4px;padding:1px 5px}.gallery-empty .primary-btn,.gallery-empty .secondary-btn{margin-top:8px;gap:6px}.auth-layout{align-content:center}.auth-page{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:24px;background:radial-gradient(1100px 600px at 12% -10%,color-mix(in srgb,var(--indigo-500) 20%,transparent),transparent 60%),radial-gradient(900px 500px at 110% 110%,color-mix(in srgb,var(--violet-500) 16%,transparent),transparent 55%),linear-gradient(180deg,var(--surface-2) 0%,var(--surface-3) 100%);box-sizing:border-box}.auth-shell{display:grid;grid-template-columns:1.05fr 1fr;width:100%;max-width:1080px;min-height:560px;background:var(--surface);border-radius:20px;box-shadow:var(--shadow-2xl);overflow:hidden;border:1px solid color-mix(in srgb,var(--brand) 8%,transparent)}.auth-hero{position:relative;padding:48px;color:#fff;background:radial-gradient(620px 380px at 0% 0%,rgba(255,255,255,.16),transparent 60%),radial-gradient(420px 280px at 100% 100%,rgba(255,255,255,.1),transparent 65%),linear-gradient(155deg,var(--brand-active) 0%,var(--brand) 55%,#1882d4 100%);display:flex;flex-direction:column;gap:40px;overflow:hidden}.auth-hero:before,.auth-hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff14;pointer-events:none}.auth-hero:before{width:320px;height:320px;right:-100px;top:-100px}.auth-hero:after{width:220px;height:220px;left:-80px;bottom:-80px}.auth-hero>*{position:relative;z-index:1}.auth-hero-brand{display:flex;align-items:center;gap:12px}.auth-hero-logo{width:40px;height:40px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}.auth-hero-brand-name{font-size:18px;font-weight:600;letter-spacing:.2px}.auth-hero-tagline h2{margin:0 0 14px;font-size:30px;line-height:1.18;font-weight:600;letter-spacing:-.4px}.auth-hero-tagline p{margin:0;font-size:var(--fs-md);line-height:1.55;color:#ffffffdb;max-width:380px}.auth-hero-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.auth-hero-features li{display:flex;align-items:flex-start;gap:12px}.auth-hero-feature-icon{flex:0 0 36px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:10px;font-size:var(--fs-h3);backdrop-filter:blur(4px)}.auth-hero-feature-title{font-size:var(--fs-md);font-weight:600;margin-bottom:2px}.auth-hero-feature-body{font-size:var(--fs-sm);line-height:1.5;color:#ffffffc7}.auth-card{padding:56px 56px 40px;display:flex;flex-direction:column;justify-content:center}.auth-card-brand{display:none;align-items:center;gap:10px;margin-bottom:28px}.auth-card-logo{width:36px;height:36px}.auth-card-brand-name{font-size:18px;font-weight:600;color:var(--fg)}.auth-card-title{margin:0 0 10px;font-size:26px;font-weight:600;color:var(--fg);letter-spacing:-.2px}.auth-card-subtitle{margin:0 0 28px;font-size:var(--fs-md);line-height:1.55;color:var(--fg-2)}.auth-provider-list{display:flex;flex-direction:column;gap:10px}.auth-provider-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:var(--control-h-lg);padding:0 var(--space-5);width:100%;background:var(--surface);color:var(--fg);border:1px solid var(--stroke);border-radius:var(--control-radius);font-size:var(--fs-md);font-weight:600;text-decoration:none;transition:border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),background-color var(--dur-1) var(--ease-out);box-shadow:0 1px 2px #0000000f}.auth-provider-btn:hover{border-color:var(--brand);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 16%,transparent)}.auth-provider-btn:active{transform:translateY(1px);box-shadow:0 1px 3px #0000001f}.auth-provider-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.provider-logo{width:18px;height:18px;flex:0 0 18px}.auth-provider-apple{background:#000;color:#fff;border-color:#000}.auth-provider-apple:hover{background:#111}.auth-provider-apple .provider-logo{color:#fff}.auth-card-foot{margin:24px 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--fg-2);text-align:center}@media(max-width:880px){.auth-shell{grid-template-columns:1fr;min-height:0;max-width:440px}.auth-hero{display:none}.auth-card{padding:40px 32px 32px}.auth-card-brand{display:flex}}.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--control-radius);font-family:inherit;font-size:var(--fs-sm);font-weight:600;letter-spacing:var(--tracking-normal);line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.primary-btn{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--brand-solid-fg);box-shadow:var(--shadow-xs)}.primary-btn:hover:not(:disabled){background:color-mix(in srgb,var(--brand-solid) 88%,#000);border-color:color-mix(in srgb,var(--brand-solid) 88%,#000);box-shadow:var(--shadow-brand)}.secondary-btn{background:var(--surface);border-color:var(--stroke);color:var(--fg);box-shadow:var(--shadow-xs)}.secondary-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--stroke-strong)}.danger-btn{background:var(--danger-solid);border-color:var(--danger-solid);color:var(--danger-solid-fg);box-shadow:var(--shadow-xs)}.danger-btn:hover:not(:disabled){background:color-mix(in srgb,var(--danger-solid) 86%,#000);border-color:color-mix(in srgb,var(--danger-solid) 86%,#000)}.primary-btn:active:not(:disabled),.secondary-btn:active:not(:disabled),.danger-btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.primary-btn:disabled,.secondary-btn:disabled,.danger-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.primary-btn.btn-sm,.secondary-btn.btn-sm,.danger-btn.btn-sm{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-xs)}.primary-btn.btn-lg,.secondary-btn.btn-lg,.danger-btn.btn-lg{height:var(--control-h-lg);padding:0 var(--space-5);font-size:var(--fs-md)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-h-sm);height:var(--control-h-sm);padding:0 var(--space-2);background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--fg-2);cursor:pointer;font-size:var(--fs-md);line-height:1;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.icon-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--stroke-subtle);color:var(--fg)}.icon-btn:disabled{cursor:not-allowed;opacity:.5}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.row-actions{text-align:right;width:40px}.search-row{display:flex;gap:8px}.search-row input[type=search]{flex:1}.upload-card{display:flex;flex-direction:column;gap:14px}.upload-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.upload-card-head h2{margin:0 0 2px;font-size:var(--fs-lg);color:var(--fg)}.upload-card-subtitle{margin:0;font-size:var(--fs-sm)}.upload-card-subtitle code{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:4px;padding:0 5px;font-size:var(--fs-xs);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--brand-text)}.upload-form{display:flex;flex-direction:column;gap:8px}.dropzone{position:relative;border:2px dashed var(--stroke-strong);border-radius:14px;background:linear-gradient(180deg,var(--brand-soft) 0%,var(--surface) 100%);padding:36px 20px;text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;outline:none}.dropzone:hover:not(.is-uploading):not(.has-file){border-color:var(--brand-border);background:linear-gradient(180deg,var(--brand-soft) 0%,#ffffff 100%)}.dropzone:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.dropzone.is-dragging{border-color:var(--brand);border-style:solid;background:linear-gradient(180deg,var(--brand-soft) 0%,#ffffff 100%);transform:scale(1.005);box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 18%,transparent)}.dropzone.has-file{border-style:solid;border-color:var(--brand-border);background:var(--surface);cursor:default;padding:18px 20px}.dropzone.is-uploading{cursor:progress;opacity:.85}.dropzone-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.dropzone-prompt{display:flex;flex-direction:column;align-items:center;gap:8px}.dropzone-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-soft),var(--brand-soft));color:var(--brand);margin-bottom:4px;transition:background .18s ease,color .18s ease,transform .18s ease}.dropzone.is-dragging .dropzone-icon{background:var(--brand-solid);color:var(--brand-solid-fg);transform:translateY(-2px)}.dropzone-title{font-size:var(--fs-lg);font-weight:600;color:var(--fg)}.dropzone-hint{font-size:var(--fs-sm);color:var(--fg-2)}.dropzone-link{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:2px}.dropzone-meta{margin-top:4px;font-size:var(--fs-2xs);color:var(--fg-3);letter-spacing:var(--tracking-wide);text-transform:uppercase}.dropzone-file{display:flex;align-items:center;gap:14px;text-align:left}.dropzone-file-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);font-size:var(--fs-h2);flex-shrink:0;color:var(--brand)}.dropzone-file-icon .ui-i{width:22px;height:22px}.kpi-icon .ui-i{width:20px;height:20px}.dropzone-file-meta{flex:1;min-width:0}.dropzone-file-name{font-weight:600;font-size:var(--fs-md);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-file-size{font-size:var(--fs-xs);color:var(--fg-2);margin-top:2px}.dropzone-file-actions{display:flex;gap:8px;flex-shrink:0}.dropzone-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;display:inline-block;margin-right:8px;vertical-align:-2px;animation:dropzone-spin .8s linear infinite}@keyframes dropzone-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.dropzone{padding:28px 16px}.dropzone-file{flex-direction:column;align-items:stretch;text-align:center}.dropzone-file-actions{justify-content:center}}.files-table{width:100%;border-collapse:collapse;margin-top:12px}.files-table th,.files-table td{text-align:left;border-bottom:1px solid var(--stroke-subtle);padding:8px 4px}.files-table a{text-decoration:none;font-weight:500}.files-table a:hover{text-decoration:underline}.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.pagination-summary{color:var(--fg-2);font-size:var(--fs-xs)}.pagination-controls{display:flex;align-items:center;gap:6px}.pagination-controls .secondary-btn{padding:4px 10px;min-width:32px}.pagination-page{font-size:var(--fs-xs);color:var(--fg-2);padding:0 6px}.muted{color:var(--fg-2)}.error-text{margin:0;padding:8px 12px;border:1px solid var(--danger-border);border-radius:6px;background:var(--danger-soft);color:var(--danger)}.info-text{margin:0;padding:8px 12px;border:1px solid var(--brand-border);border-radius:6px;background:var(--brand-soft);color:var(--brand-text);font-size:var(--fs-sm)}.toast{position:fixed;top:16px;right:16px;z-index:var(--z-toast);display:inline-flex;align-items:flex-start;gap:10px;min-width:260px;max-width:380px;padding:12px 12px 12px 16px;border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xl);font-size:var(--fs-md);color:var(--fg);overflow:hidden;animation:toast-slide-in var(--dur-3) var(--ease-out);--toast-accent: var(--brand)}.toast:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--toast-accent)}.toast-success{--toast-accent: var(--success)}.toast-error{--toast-accent: var(--danger)}.toast-info{--toast-accent: var(--brand)}.toast-message{flex:1;line-height:1.45}.toast-dismiss{flex:0 0 auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-xs);background:none;color:var(--fg-3);font-size:var(--fs-lg);line-height:1;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.toast-dismiss:hover{background:var(--surface-hover);color:var(--fg)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}.spec-error{flex:1 1 auto;min-height:60vh;display:flex;align-items:center;justify-content:center;padding:48px 24px;--error-accent: var(--brand);--error-accent-soft: color-mix(in srgb, var(--brand) 12%, transparent)}.spec-error-warning{--error-accent: var(--warning);--error-accent-soft: color-mix(in srgb, var(--warning) 12%, transparent)}.spec-error-danger{--error-accent: var(--danger);--error-accent-soft: color-mix(in srgb, var(--danger) 12%, transparent)}.spec-error-neutral{--error-accent: #5a5a5a;--error-accent-soft: rgba(90, 90, 90, .12)}.spec-error-card{width:100%;max-width:520px;padding:40px 36px 32px;background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;animation:spec-error-rise .28s cubic-bezier(.2,.8,.25,1)}@keyframes spec-error-rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.spec-error-icon{width:96px;height:96px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--error-accent-soft);color:var(--error-accent)}.spec-error-icon-svg{width:52px;height:52px;stroke:currentColor;fill:currentColor}.spec-error-eyebrow{font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--error-accent);margin-bottom:10px}.spec-error-title{font-size:24px;font-weight:600;line-height:1.25;color:var(--fg);margin:0 0 12px}.spec-error-description{font-size:var(--fs-lg);line-height:1.55;color:var(--fg-2);margin:0 0 18px}.spec-error-detail{font-size:var(--fs-sm);color:var(--fg-2);background:var(--bg);border:1px solid var(--stroke-subtle);border-radius:var(--radius);padding:10px 12px;margin:0 0 18px;text-align:left}.spec-error-meta{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;margin:0 auto 24px;background:var(--bg);border:1px solid var(--stroke-subtle);border-radius:999px;font-size:var(--fs-xs)}.spec-error-meta-label{color:var(--fg-2);font-weight:500}.spec-error-meta-value{color:var(--fg);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-xs);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spec-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}@media(max-width:480px){.spec-error-card{padding:28px 22px}.spec-error-title{font-size:20px}.spec-error-icon{width:80px;height:80px}.spec-error-icon-svg{width:44px;height:44px}}.section-title-row{display:flex;justify-content:space-between;align-items:center}.dialog-backdrop{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:var(--z-dialog);animation:dialog-backdrop-in var(--dur-2) var(--ease-out)}.dialog{width:100%;max-width:480px;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--fg);border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);padding:22px;animation:dialog-in var(--dur-3) var(--ease-out)}@keyframes dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.dialog h2{font-size:var(--fs-h2);font-weight:650;letter-spacing:var(--tracking-tight);margin:0 0 8px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.prompt-field{display:flex;flex-direction:column;gap:6px;margin-top:4px}.prompt-field-label{font-size:var(--fs-xs);font-weight:600;color:var(--fg-2)}.prompt-error{margin:8px 0 0;font-size:var(--fs-sm);color:var(--danger)}.dialog.erase-dialog{max-width:460px}.erase-dialog .erase-warning{margin:4px 0 8px}.erase-dialog .erase-list{margin:0 0 12px;padding-left:20px;font-size:var(--fs-md);line-height:1.7;color:var(--fg)}.erase-dialog .erase-confirm{margin-top:14px}.erase-dialog .erase-confirm code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}.dialog.share-dialog{max-width:540px;max-height:calc(100vh - 48px);display:flex;flex-direction:column}.share-header{flex-shrink:0}.share-intro{margin:0 0 16px;font-size:var(--fs-sm);line-height:1.45}.share-create{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface-2);border:1px solid var(--stroke-subtle);border-radius:var(--radius)}.share-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.share-field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--fg-2)}.share-field-optional{font-weight:400;color:var(--fg-2)}.share-create select,.share-create input[type=text]{width:100%}.share-create-btn{align-self:flex-start}.share-links{display:flex;flex-direction:column;gap:10px;margin-top:18px;overflow-y:auto}.share-links-title{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--fg-2)}.share-empty{font-size:var(--fs-sm);margin:0;padding:16px;text-align:center;border:1px dashed var(--stroke);border-radius:var(--radius)}.share-link-item{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--stroke-subtle);border-radius:var(--radius);background:var(--surface)}.share-link-item.is-new{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand),var(--shadow-sm);background:var(--brand-soft)}.share-link-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.share-link-perm{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:600}.share-link-perm.perm-view{background:var(--brand-soft);color:var(--brand-text)}.share-link-perm.perm-comment{background:#e9f7ef;color:#0e6f3f}.share-link-perm.perm-edit{background:var(--warning-soft);color:var(--warning)}.share-link-perm.perm-manage{background:color-mix(in srgb,var(--violet-500) 14%,transparent);color:#6b21a8}.share-link-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:500;background:var(--bg);color:var(--fg-2)}.share-link-expiry{margin-left:auto;font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap}.share-people{display:flex;flex-direction:column;gap:12px}.share-section-title{margin-top:8px}.share-grants{display:flex;flex-direction:column;gap:8px}.share-grant-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--stroke-subtle);border-radius:var(--radius);background:var(--surface)}.share-grant-main{display:flex;flex-direction:column;gap:6px;min-width:0}.share-grant-email{font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-grant-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.share-grant-meta .share-link-expiry{margin-left:0}.share-link-hint{margin:0;font-size:var(--fs-xs);color:var(--brand-text)}.share-link-copy{display:flex;gap:8px}.share-link-url{flex:1;min-width:0;padding:8px 10px;font-size:var(--fs-xs);font-family:Cascadia Code,Consolas,ui-monospace,monospace;color:var(--fg);background:var(--surface-2);border:1px solid var(--stroke);border-radius:6px}.share-copy-btn{flex-shrink:0}.share-link-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.share-action{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;font-size:var(--fs-xs);font-weight:600;color:var(--fg);text-decoration:none;border:1px solid var(--stroke);border-radius:6px;background:var(--surface)}.share-action:hover{background:var(--surface-2)}.share-link-note{font-size:var(--fs-xs);color:var(--fg-2);font-style:italic}.share-revoke{margin-left:auto;border:none;background:transparent;color:var(--danger);font-size:var(--fs-xs);font-weight:600;cursor:pointer;padding:5px 10px;border-radius:6px;font-family:inherit}.share-revoke:hover{background:var(--danger-soft)}@media(max-width:420px){.share-create-grid{grid-template-columns:1fr}}.share-viewer{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg)}.share-viewer-bar{flex-shrink:0;height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;background:linear-gradient(135deg,var(--brand-active) 0%,var(--brand) 50%,var(--indigo-500) 100%);box-shadow:0 2px 8px color-mix(in srgb,var(--brand) 18%,transparent);color:#fff}.share-viewer-title{flex:1;min-width:0;font-weight:600;font-size:var(--fs-md);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-viewer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.share-viewer-actions .secondary-btn{background:#ffffff29;border-color:#ffffff73;color:#fff}.share-viewer-actions .secondary-btn:hover{background:#ffffff47}.share-viewer-frame{flex:1;min-height:0;width:100%;border:0;background:var(--surface)}.share-viewer-loading{position:absolute;inset:52px 0 0;display:flex;align-items:center;justify-content:center;background:var(--bg)}.share-viewer-message{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center}.share-viewer-message h1{margin:0;font-size:var(--fs-h2);font-weight:700}.share-viewer-message .muted{margin:0;font-size:var(--fs-md);max-width:380px}.share-passcode-form{display:flex;gap:8px;margin-top:4px}.live-viewer-frame{position:fixed;inset:0;width:100vw;height:100vh;border:0;background:var(--surface)}.live-viewer-message{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:var(--bg)}.live-viewer-message h1{margin:0;font-size:var(--fs-h2);font-weight:700}.live-viewer-message .muted{margin:0;font-size:var(--fs-md);max-width:380px}.portal-message{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px}.portal-message h1{margin:0;font-size:var(--fs-h2);font-weight:700}.portal{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.portal-header{border-bottom:1px solid var(--stroke-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--portal-accent) 10%,transparent),transparent)}.portal-header-inner{max-width:1040px;margin:0 auto;padding:40px 24px;display:flex;align-items:center;gap:18px}.portal-monogram{width:60px;height:60px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:800;flex-shrink:0}.portal-title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.4px}.portal-subtitle{margin:4px 0 0;font-size:var(--fs-md);color:var(--fg-2)}.portal-main{flex:1;max-width:1040px;width:100%;margin:0 auto;padding:32px 24px 48px}.portal-empty{text-align:center;padding:48px 0}.portal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.portal-card{display:flex}.portal-card-link{display:flex;flex-direction:column;width:100%;border:1px solid var(--stroke-subtle);border-radius:14px;overflow:hidden;background:var(--surface);text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.portal-card-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:color-mix(in srgb,var(--portal-accent) 45%,var(--stroke-subtle))}.portal-card-accent{height:6px;display:block}.portal-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px}.portal-card-title{font-size:var(--fs-lg);font-weight:700;line-height:1.3}.portal-card-meta{font-size:var(--fs-sm);color:var(--fg-2)}.portal-footer{border-top:1px solid var(--stroke-subtle);padding:20px 24px;text-align:center}.portal-footer-link{font-size:var(--fs-sm);color:var(--fg-2);text-decoration:none}.portal-footer-link:hover{text-decoration:underline}.portal-live{display:flex;gap:10px;align-items:flex-start;margin-top:6px}.portal-live-dot{width:9px;height:9px;border-radius:50%;background:var(--success);flex-shrink:0;margin-top:6px;box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 15%,transparent)}.portal-live-body{flex:1;min-width:0}.portal-off-note{margin-top:6px}.header-btn-live{background:#ffffff24;border-color:#ffffff47}.header-btn-live:hover{background:#ffffff3d}.golive-title-ic{vertical-align:-3px;margin-right:6px}.golive-hint{font-size:var(--fs-sm);margin-top:-4px}.golive-status{display:flex;align-items:center;gap:8px;font-weight:600;margin:0 0 12px}.golive-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 18%,transparent);flex-shrink:0}.golive-url{display:block}.golive-url-row{display:flex;gap:8px;align-items:center}.golive-url-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.golive-url-row .secondary-btn{flex-shrink:0;text-decoration:none}.golive-version{font-size:var(--fs-sm);margin:12px 0 0}.golive-customize{display:inline-block;margin-top:6px;font-size:var(--fs-sm)}.golive-slug-edit{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.golive-slug-prefix{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm);color:var(--fg-2)}.golive-slug-input{flex:1;min-width:140px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}.golive-slug-edit .secondary-btn{flex-shrink:0}.golive-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:16px;cursor:pointer}.golive-toggle-text{display:flex;flex-direction:column;gap:1px}.golive-toggle-title{font-size:var(--fs-md);font-weight:600}.golive-toggle-sub{font-size:var(--fs-sm);color:var(--fg-2)}.golive-newer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--brand-soft);font-size:var(--fs-sm)}.golive-approval{margin:14px 0;padding:12px 14px;border-radius:10px;background:var(--warning-soft);box-shadow:inset 0 0 0 1px var(--warning-border)}.golive-approval-title{font-weight:700;font-size:var(--fs-md);margin-bottom:4px}.golive-approval .prompt-field{margin-top:10px}.golive-approval textarea{width:100%;resize:vertical}.golive-actions{justify-content:space-between}.share-passcode-form input{min-width:200px}.privacy-options{display:flex;flex-direction:column;gap:8px;margin:12px 0}.privacy-option{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-sm);color:var(--fg);cursor:pointer}.privacy-option input[type=radio]{margin-top:2px}.privacy-scoped{margin-top:8px;margin-bottom:12px}.privacy-scoped-caption{font-size:var(--fs-xs);font-weight:600;color:var(--fg-2);margin-bottom:6px}.user-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:24px;margin-bottom:8px}.user-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:12px;background:var(--brand-soft);color:var(--brand-text);font-size:var(--fs-xs);font-weight:500}.user-tag button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:var(--fs-md);line-height:1;padding:0 4px}.tag-empty-hint{font-size:var(--fs-xs);color:var(--fg-2);font-style:italic}.tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag-suggestion{border:1px dashed var(--stroke);background:var(--surface);color:var(--fg-2);border-radius:12px;padding:3px 10px;font-size:var(--fs-xs);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.tag-suggestion:hover{background:var(--brand-soft);color:var(--brand-text);border-color:var(--brand-border)}.tag-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 12px}.tag-filter-label{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:600;color:var(--fg-2);margin-right:2px}.tag-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;border:1px solid var(--stroke-subtle);background:var(--surface);color:var(--fg);font-size:var(--fs-xs);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.tag-chip:hover{background:var(--brand-soft);border-color:var(--brand-border)}.tag-chip.active{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--brand-solid-fg)}.tag-chip-count{font-size:var(--fs-2xs);font-weight:700;opacity:.7}.tag-chip-x{font-size:var(--fs-sm);line-height:1}.tag-filter-clear{border:none;background:transparent;color:var(--brand);font-size:var(--fs-xs);cursor:pointer;padding:3px 6px}.tag-filter-clear:hover{text-decoration:underline}.row-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.row-tag{border:1px solid var(--stroke-subtle);background:var(--surface-2);color:var(--fg-2);border-radius:10px;padding:1px 8px;font-size:var(--fs-2xs);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.row-tag:hover{background:var(--brand-soft);color:var(--brand-text);border-color:var(--brand-border)}.row-tag.active{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--brand-solid-fg)}.scoped-input-row{display:flex;gap:8px}.scoped-input-row input{flex:1}.share-row{display:flex;gap:8px;margin:12px 0}.share-row input{flex:1}.primary-nav{display:flex;align-items:center;gap:6px}.nav-link{position:relative;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 14px;font-size:var(--fs-md);font-family:inherit;font-weight:550;color:var(--header-fg-muted);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.nav-link:hover{background:var(--header-hover);color:var(--header-fg)}.nav-link.active{background:var(--header-active);color:var(--header-fg);font-weight:650}.nav-link.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;border-radius:var(--radius-full);background:currentColor;opacity:.85}.nav-wrap{position:relative;display:flex;align-items:center}.nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:34px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:7px;color:#fff;cursor:pointer;transition:background .12s}.nav-toggle:hover{background:#fff3}@media(max-width:880px){.nav-wrap{margin-left:auto}.nav-toggle{display:inline-flex}.primary-nav{display:none;position:absolute;top:calc(100% + 8px);right:0;flex-direction:column;align-items:stretch;gap:2px;min-width:210px;padding:6px;background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:10px;box-shadow:var(--shadow-md)}.primary-nav.open{display:flex}.primary-nav .nav-link{color:var(--fg);text-align:left;padding:10px 12px;border-radius:7px}.primary-nav .nav-link:hover{background:var(--bg);color:var(--fg)}.primary-nav .nav-link.active{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-title{margin:0;font-size:var(--fs-h1);font-weight:650;letter-spacing:var(--tracking-display)}.dashboard-subtitle{margin:6px 0 0;font-size:var(--fs-md);color:var(--fg-2)}.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:26px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:16px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.kpi-card:hover{border-color:var(--stroke);box-shadow:var(--shadow-sm)}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-text);line-height:1}.kpi-icon .ui-i{width:15px;height:15px}.kpi-value{font-size:28px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-display);color:var(--fg);line-height:1}.kpi-label{font-size:var(--fs-2xs);font-weight:700;color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:1.3}.dashboard-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.visibility-filter{display:flex;gap:6px}.bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;margin-bottom:12px;border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand-soft)}.bulk-count{font-weight:600;font-size:var(--fs-sm);margin-right:4px}.link-btn{background:none;border:none;color:var(--brand-text);font-family:inherit;font-size:var(--fs-sm);font-weight:550;cursor:pointer;padding:6px 8px;border-radius:var(--radius-xs);text-underline-offset:2px;transition:color var(--dur-1) var(--ease-out)}.link-btn:hover:not(:disabled){color:var(--brand);text-decoration:underline}.link-btn:disabled{opacity:.55;cursor:not-allowed}.files-table .select-col{width:36px;text-align:center}.files-table tr.row-selected{background:var(--brand-soft)}.landing{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:76px;color:var(--fg);--ink: var(--fg);--violet: var(--violet-600);--line: var(--stroke);--line-soft: var(--stroke-subtle);--panel: var(--surface);background:radial-gradient(1100px 620px at 4% -14%,color-mix(in srgb,var(--indigo-500) 22%,transparent),transparent 62%),radial-gradient(900px 560px at 108% -4%,color-mix(in srgb,var(--violet-500) 18%,transparent),transparent 58%),linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%)}.landing:before{content:"";position:absolute;inset:0 0 auto;height:1000px;pointer-events:none;z-index:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--fg) 4.5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--fg) 4.5%,transparent) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%)}.landing>*{position:relative;z-index:1}:root[data-theme=dark] .landing{background:radial-gradient(1100px 620px at 4% -14%,rgba(99,102,241,.2),transparent 62%),radial-gradient(900px 560px at 108% -4%,rgba(139,92,246,.16),transparent 58%),linear-gradient(180deg,#0d111b 0%,var(--bg) 100%)}.lp-i{width:20px;height:20px;display:block}.lp-nav{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:24px;padding:13px 32px;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line-soft)}.lp-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.lp-brand-logo{width:30px;height:30px}.lp-brand-name{font-size:var(--fs-h3);font-weight:750;letter-spacing:-.2px}.lp-nav-links{display:flex;gap:24px;margin-left:14px}.lp-nav-links a{text-decoration:none;color:var(--fg-2);font-size:var(--fs-md);font-weight:550;position:relative;transition:color .14s ease}.lp-nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;border-radius:2px;background:var(--brand);transition:right .18s ease}.lp-nav-links a:hover{color:var(--ink)}.lp-nav-links a:hover:after{right:0}.lp-nav-cta{margin-left:auto;display:flex;align-items:center;gap:16px}.lp-signin-link{text-decoration:none;color:var(--ink);font-size:var(--fs-md);font-weight:600}.lp-signin-link:hover{color:var(--brand)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-weight:600;font-size:var(--fs-md);text-decoration:none;padding:9px 16px;cursor:pointer;transition:transform 90ms ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;border:1px solid transparent}.lp-btn .lp-i{width:17px;height:17px}.lp-btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand)}.lp-btn-primary:hover{box-shadow:0 14px 32px -8px #4f46e58c;transform:translateY(-1px)}.lp-btn-primary:hover .lp-i{transform:translate(2px);transition:transform .16s ease}.lp-btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--stroke);box-shadow:var(--shadow-xs)}.lp-btn-ghost:hover{border-color:var(--brand);color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lp-btn-lg{padding:14px 24px;font-size:var(--fs-lg);border-radius:var(--radius-md)}.lp-btn:focus-visible,.lp-signin-link:focus-visible,.lp-brand:focus-visible,.lp-nav-links a:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:10px}.lp-btn-primary:focus-visible{outline-color:var(--fg)}.lp-main{width:100%}.lp-hero,.lp-features,.lp-how,.lp-personas,.lp-trustband,.lp-ai,.lp-cta{max-width:1140px;margin:0 auto;padding:0 32px;box-sizing:border-box}.lp-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:center;padding-top:88px;padding-bottom:96px}.lp-hero-copy,.lp-hero-art{min-width:0}.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--brand-text);background:var(--brand-soft);border:1px solid var(--brand-border);padding:6px 14px;border-radius:var(--radius-full);margin-bottom:22px}.lp-eyebrow .lp-i{width:14px;height:14px}.lp-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft-hover)}.lp-hero-title{margin:0 0 22px;font-family:var(--font-display);font-size:var(--fs-display);line-height:1.02;font-weight:700;letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance}.lp-grad{background:var(--gradient-brand-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lp-hero-sub{margin:0 0 32px;font-size:18px;line-height:1.6;color:var(--fg-2);max-width:552px;text-wrap:pretty}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.lp-trust{list-style:none;margin:0;padding:20px 0 0;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:12px 24px}.lp-trust li{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--fg-2);font-weight:550}.lp-trust .lp-i{width:17px;height:17px;color:var(--brand);flex-shrink:0}.hb{position:relative;z-index:1;--ink: #14223b;--fg: #14223b;--fg-2: #5b6478;--fg-3: #99a1b7;--surface: #ffffff;--stroke: rgba(13, 47, 89, .12);--stroke-subtle: rgba(13, 47, 89, .08);color:var(--ink);border-radius:var(--radius-lg);background:#fff;border:1px solid rgba(13,47,89,.1);box-shadow:0 34px 80px #0d2f5938,0 6px 16px #0d2f5914;overflow:hidden;transform:perspective(1500px) rotateY(-6deg) rotateX(2deg)}:root[data-theme=dark] .hb{box-shadow:0 40px 90px -20px #000000b3,0 6px 16px #0006}.hb-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid rgba(13,47,89,.08)}.hb-dot{width:10px;height:10px;border-radius:50%;background:#d2d6dd}.hb-dot:nth-child(1){background:#ff6058}.hb-dot:nth-child(2){background:#ffbe2f}.hb-dot:nth-child(3){background:#2aca44}.hb-url{flex:1;min-width:0;margin:0 8px;display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid rgba(13,47,89,.1);border-radius:7px;padding:5px 10px;font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap;overflow:hidden}.hb-lock{color:var(--success);display:inline-flex}.hb-url-text{overflow:hidden}.hb-publish{position:relative;flex-shrink:0;min-width:88px;height:24px;border-radius:7px;background:linear-gradient(135deg,var(--brand),var(--indigo-500))}.hb-pub-label,.hb-pub-done{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:var(--fs-xs);font-weight:650;color:#fff}.hb-pub-label{opacity:0}.hb-body{position:relative;padding:16px;min-height:348px;overflow:hidden;background:radial-gradient(560px 240px at 82% -12%,rgba(15,108,189,.06),transparent 60%),#fff}.hb-cli{position:absolute;inset:14px;z-index:7;display:flex;flex-direction:column;gap:9px;padding:14px 16px;border-radius:12px;background:#0e1b2e;box-shadow:0 18px 44px #09142666;opacity:0}.hb-cli-head{display:flex}.hb-cli-badge{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.03em;color:#cfe0f2;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px 10px}.hb-cli-cmd{display:flex;align-items:center;gap:7px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-xs);color:#dfe4f5;margin-top:2px}.hb-cli-p{color:var(--indigo-400);font-weight:700}.hb-cli-typing{overflow:hidden;white-space:nowrap}.hb-cli-typed{display:inline-block}.hb-cli-caret{width:7px;height:14px;background:var(--indigo-400);flex-shrink:0;opacity:0}.hb-cli-out{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-xs);color:#9fb4cc;display:inline-flex;align-items:center;gap:7px;opacity:0}.hb-cli-spark{color:var(--violet-400)}.hb-cli-ok{color:#34d399;font-weight:700}.hb-cli-arrow{color:var(--indigo-400);font-weight:700}.hb-page{position:relative;display:flex;flex-direction:column;gap:12px}.hb-wipe{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 42%,rgba(42,139,224,.35) 50%,rgba(138,92,199,.25) 55%,transparent 63%)}.hb-head{display:flex;align-items:center;gap:10px}.hb-artitle{font-size:var(--fs-lg);font-weight:800;letter-spacing:-.3px;color:var(--ink)}.hb-ver{font-size:var(--fs-2xs);font-weight:750;color:var(--violet);background:#5c2d911a;border-radius:999px;padding:2px 8px;opacity:0}.hb-kpi{margin-left:auto;display:inline-flex;align-items:baseline;gap:6px}.hb-kpi b{font-size:var(--fs-lg);font-weight:800;color:#e0483a;letter-spacing:-.3px}.hb-kpi i{font-style:normal;font-size:var(--fs-2xs);color:var(--fg-2);font-weight:600}.hb-chart{position:relative;height:196px;border:1px solid rgba(13,47,89,.08);border-radius:12px;padding:12px 14px 22px;background:linear-gradient(180deg,#fbfdff,var(--brand-soft));overflow:visible}.hb-grid{position:absolute;inset:14px 14px 26px;display:flex;flex-direction:column;justify-content:space-between}.hb-grid span{height:1px;background:#0d2f590f}.hb-bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:12px}.hb-b{flex:1;height:var(--bh);border-radius:5px 5px 0 0;background:linear-gradient(180deg,#f0a03a,#e0483a);transform-origin:bottom}.hb-plot{position:absolute;inset:16px 14px 24px;overflow:hidden;border-radius:4px}.hb-trend{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hb-trend-path{filter:drop-shadow(0 1px 2px rgba(224,72,58,.3))}.hb-xlabels{position:absolute;left:14px;right:14px;bottom:6px;display:flex;justify-content:space-between;padding:0 4px}.hb-xlabels span{flex:1;text-align:center;font-size:var(--fs-2xs);font-weight:600;color:var(--fg-2)}.hb-pin{position:absolute;top:40px;right:30%;width:14px;height:14px;z-index:5;opacity:0}.hb-pin:before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--violet);box-shadow:0 2px 6px #5c2d9180}.hb-pin-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(92,45,145,.45)}.hb-note{position:absolute;top:26px;right:6px;z-index:6;display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid rgba(92,45,145,.22);border-radius:10px 10px 10px 2px;padding:8px 11px;box-shadow:0 12px 28px #0d2f5929;max-width:176px;opacity:0}.hb-note-who{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-2xs);font-weight:750;color:var(--ink)}.hb-note-av{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--violet-600),var(--violet-500));color:#fff;font-size:var(--fs-2xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.hb-note-txt{font-size:var(--fs-xs);color:var(--fg-2);line-height:1.35}.hb-note-applied{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:700;color:var(--success);opacity:0}.hb-speed{position:absolute;top:14px;right:14px;z-index:5;display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:700;color:var(--violet-600);background:var(--surface);border:1px solid color-mix(in srgb,var(--violet-500) 30%,transparent);border-radius:var(--radius-full);padding:4px 10px;box-shadow:var(--shadow-md)}.hb-livebadge{position:absolute;bottom:16px;left:16px;z-index:5;display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:700;color:#047857;background:#fff;border:1px solid rgba(4,120,87,.28);border-radius:var(--radius-full);padding:4px 10px;box-shadow:var(--shadow-md)}.hb-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #18b85f2e}.hb-cursor{position:absolute;top:96px;right:30%;z-index:9;opacity:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.hb-click{position:absolute;top:3px;left:1px;width:20px;height:20px;border-radius:50%;border:2px solid var(--violet);opacity:0}@media(prefers-reduced-motion:no-preference){.hb-cli{animation:hb-clivis 15s ease infinite}.hb-cli-typed{clip-path:inset(0 0 0 0);animation:hb-clitype 15s ease infinite}.hb-cli-caret{animation:hb-clicaret 15s steps(1,end) infinite}.hb-o1{animation:hb-o1 15s ease infinite}.hb-o2{animation:hb-o2 15s ease infinite}.hb-o3{animation:hb-o3 15s ease infinite}.hb-page{animation:hb-pagefilter 15s linear infinite}.hb-wipe{animation:hb-wipe 15s ease-in-out infinite}.hb-artitle{animation:hb-el-a 15s ease infinite}.hb-chart{animation:hb-el-b 15s ease infinite}.hb-b{transform:scaleY(0)}.hb-b-1{animation:hb-bar 15s ease infinite;animation-delay:0s}.hb-b-2,.hb-b-3,.hb-b-4,.hb-b-5{animation:hb-bar 15s ease infinite}.hb-cursor{animation:hb-cursor 15s ease-in-out infinite}.hb-click{animation:hb-click 15s ease-out infinite}.hb-pin{animation:hb-pin 15s ease infinite}.hb-note{animation:hb-note 15s ease infinite}.hb-note-applied{animation:hb-applied 15s ease infinite}.hb-trend-path{stroke-dasharray:1;stroke-dashoffset:1;animation:hb-draw 15s ease infinite}.hb-ver{animation:hb-ver 15s ease infinite}.hb-speed{animation:hb-speed 15s ease infinite}.hb-url-text{animation:hb-url 15s ease infinite}.hb-livebadge{animation:hb-livebadge 15s ease infinite}.hb-publish{animation:hb-publish 15s ease infinite}.hb-pub-label{animation:hb-publabel 15s ease infinite}.hb-pub-done{animation:hb-pubdone 15s ease infinite}}@media(prefers-reduced-motion:no-preference){.hb-b-1{animation-delay:0s}.hb-b-2{animation-delay:.06s}.hb-b-3{animation-delay:.12s}.hb-b-4{animation-delay:.18s}.hb-b-5{animation-delay:.24s}}@keyframes hb-clivis{0%{opacity:0}3%{opacity:1}28%{opacity:1}33%,to{opacity:0}}@keyframes hb-clitype{0%,2%{clip-path:inset(0 100% 0 0)}14%,28%{clip-path:inset(0 0 0 0)}33%,to{clip-path:inset(0 100% 0 0)}}@keyframes hb-clicaret{0%,2%{opacity:1}4%,7%{opacity:.2}9%,28%{opacity:1}33%,to{opacity:0}}@keyframes hb-o1{0%,15%{opacity:0}18%,28%{opacity:1}33%,to{opacity:0}}@keyframes hb-o2{0%,19%{opacity:0}22%,28%{opacity:1}33%,to{opacity:0}}@keyframes hb-o3{0%,23%{opacity:0}26%,28%{opacity:1}33%,to{opacity:0}}@keyframes hb-pagefilter{0%,33%{filter:grayscale(1) contrast(.92) brightness(1.03)}41%,to{filter:none}}@keyframes hb-wipe{0%,32%{opacity:0;transform:translate(-130%)}35%{opacity:1}43%{opacity:1;transform:translate(130%)}44%,to{opacity:0}}@keyframes hb-el-a{0%,34%{opacity:0;transform:translateY(7px)}42%{opacity:1;transform:none}93%{opacity:1}98%,to{opacity:0}}@keyframes hb-el-b{0%,36%{opacity:0;transform:translateY(7px)}44%{opacity:1;transform:none}93%{opacity:1}98%,to{opacity:0}}@keyframes hb-bar{0%,36%{transform:scaleY(0)}46%,93%{transform:scaleY(1)}98%,to{transform:scaleY(0)}}@keyframes hb-cursor{0%,47%{opacity:0;transform:translate(30px,30px)}51%{opacity:1;transform:translate(30px,30px)}55%{opacity:1;transform:translate(0)}57%{transform:translateY(3px)}59%{transform:translate(0)}64%{opacity:1;transform:translate(0)}68%,to{opacity:0}}@keyframes hb-click{0%,56%{opacity:0;transform:scale(.2)}58%{opacity:.8;transform:scale(.5)}65%{opacity:0;transform:scale(1.6)}to{opacity:0}}@keyframes hb-pin{0%,57%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.1)}63%{transform:scale(1)}88%{opacity:1}94%,to{opacity:0}}@keyframes hb-note{0%,58%{opacity:0;transform:translateY(-4px) scale(.96)}62%{opacity:1;transform:none}88%{opacity:1}94%,to{opacity:0}}@keyframes hb-applied{0%,73%{opacity:0}77%,88%{opacity:1}94%,to{opacity:0}}@keyframes hb-draw{0%,64%{stroke-dashoffset:1}74%,to{stroke-dashoffset:0}}@keyframes hb-ver{0%,66%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.15)}73%,to{opacity:1;transform:scale(1)}}@keyframes hb-speed{0%,45%{opacity:0;transform:translateY(-4px) scale(.92)}51%{opacity:1;transform:none}92%{opacity:1}97%,to{opacity:0}}@keyframes hb-url{0%,78%{clip-path:inset(0 100% 0 0)}85%,94%{clip-path:inset(0 0 0 0)}98%,to{clip-path:inset(0 100% 0 0)}}@keyframes hb-livebadge{0%,42%{opacity:0;transform:scale(.5)}46%{opacity:1;transform:scale(1.12)}50%{transform:scale(1)}93%{opacity:1}98%,to{opacity:0}}@keyframes hb-publish{0%,80%{box-shadow:0 0 #0f6cbd00}84%{box-shadow:0 0 0 4px #0f6cbd4d}90%,to{box-shadow:0 0 #0f6cbd00}}@keyframes hb-publabel{0%,81%{opacity:1}84%,96%{opacity:0}99%,to{opacity:1}}@keyframes hb-pubdone{0%,81%{opacity:0}84%,96%{opacity:1}99%,to{opacity:0}}.lp-section-head{text-align:center;max-width:680px;margin:0 auto 48px}.lp-section-head h2{margin:0 0 14px;font-family:var(--font-display);font-size:clamp(28px,3.2vw,38px);font-weight:700;letter-spacing:var(--tracking-display);line-height:1.1;color:var(--ink);text-wrap:balance}.lp-section-head p{margin:0;font-size:var(--fs-h3);line-height:1.6;color:var(--fg-2);text-wrap:pretty}.lp-features{padding-top:72px;padding-bottom:72px}.lp-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lp-feature{position:relative;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-xl);padding:30px 28px;box-shadow:var(--shadow-sm);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out);overflow:hidden}.lp-feature:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--violet-600));opacity:0;transition:opacity .16s ease}.lp-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--brand-border)}.lp-feature:hover:before{opacity:1}.lp-feature-icon{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-brand);margin-bottom:20px}.lp-feature-icon .lp-i{width:24px;height:24px}.lp-feature h3{margin:0 0 8px;font-size:var(--fs-h3);font-weight:650;color:var(--ink);letter-spacing:var(--tracking-tight)}.lp-feature p{margin:0;font-size:var(--fs-md);line-height:1.65;color:var(--fg-2);text-wrap:pretty}.lp-how{padding-top:72px;padding-bottom:72px}.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lp-step{position:relative;padding:24px 22px;border-radius:16px;background:color-mix(in srgb,var(--panel) 62%,transparent);border:1px solid var(--line-soft)}.lp-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.lp-step-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--gradient-brand);box-shadow:var(--shadow-brand)}.lp-step-icon .lp-i{width:22px;height:22px}.lp-step-num{font-size:26px;font-weight:800;color:color-mix(in srgb,var(--fg) 16%,transparent);letter-spacing:-1px}.lp-step h3{margin:0 0 6px;font-size:var(--fs-h3);font-weight:750;color:var(--ink)}.lp-step p{margin:0;font-size:var(--fs-md);line-height:1.58;color:var(--fg-2)}.lp-step:not(:last-child):after{content:"";position:absolute;top:44px;right:-15px;z-index:1;width:12px;height:12px;border-top:2px solid var(--brand);border-right:2px solid var(--brand);opacity:.45;transform:rotate(45deg)}.lp-personas{padding-top:60px;padding-bottom:56px}.lp-persona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.lp-persona{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-xl);padding:28px 26px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.lp-persona:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--brand-border)}.lp-persona.emphasized{border-color:transparent;box-shadow:0 24px 56px -16px #4f46e557;position:relative}.lp-persona.emphasized:before{content:"";position:absolute;inset:-1px;border-radius:17px;padding:1px;pointer-events:none;background:var(--gradient-brand-text);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.lp-persona-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.lp-persona-tier{font-size:var(--fs-sm);font-weight:800;letter-spacing:.2px;background:var(--gradient-brand-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lp-persona-fit{font-size:var(--fs-sm);font-weight:600;color:var(--fg-2)}.lp-persona-headline{margin:0 0 4px;font-size:18px;font-weight:750;color:var(--ink);letter-spacing:-.2px}.lp-persona-inherits{margin:0 0 12px;font-size:var(--fs-sm);font-weight:600;color:var(--fg-2)}.lp-persona-list{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}.lp-persona-list li{display:flex;gap:10px;font-size:var(--fs-md);line-height:1.5;color:var(--fg-2)}.lp-persona-ic{flex-shrink:0;color:var(--brand);line-height:0}.lp-persona-ic .lp-i{width:18px;height:18px}.lp-persona-cta{width:100%;justify-content:center;margin-top:auto}.lp-persona-note{text-align:center;margin:22px 0 0;font-size:var(--fs-sm);color:var(--fg-2)}.lp-trustband{padding-top:4px;padding-bottom:60px}.lp-trustband-inner{background:linear-gradient(120deg,var(--brand-soft) 0%,color-mix(in srgb,var(--violet-500) 8%,transparent) 100%);border:1px solid var(--brand-border);border-radius:var(--radius-xl);padding:30px 34px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px}.lp-trustband-line{margin:0;font-size:var(--fs-lg);line-height:1.55;color:var(--ink);max-width:640px}.lp-trustband-line strong{color:var(--brand-text);font-weight:750}.lp-trustband-chips{gap:8px 18px}.lp-ai{padding-top:44px;padding-bottom:44px}.lp-ai-card{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;border-radius:var(--radius-2xl);padding:48px;color:#e6e9f7;background:radial-gradient(760px 320px at 88% -24%,rgba(139,92,246,.5),transparent 62%),radial-gradient(620px 300px at 4% 120%,rgba(79,70,229,.4),transparent 60%),linear-gradient(135deg,#12142a,#191d3f);box-shadow:0 40px 80px -24px #12142a8c}.lp-eyebrow-on-dark{background:#ffffff1a;border-color:#ffffff29;color:#c9caf5}.lp-ai-copy h2{margin:0 0 14px;font-family:var(--font-display);font-size:clamp(26px,2.8vw,34px);font-weight:700;letter-spacing:var(--tracking-display);color:#fff}.lp-ai-copy>p{margin:0 0 24px;font-size:var(--fs-lg);line-height:1.62;color:#a8adcd;max-width:460px}.lp-ai-assistants{display:flex;flex-wrap:wrap;gap:10px}.lp-ai-chip{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:650;color:#e6e9f7;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-full);padding:7px 14px}.lp-ai-chip-mark{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--indigo-400),var(--violet-500));box-shadow:0 0 0 3px color-mix(in srgb,var(--violet-500) 18%,transparent)}.lp-ai-flowlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.lp-ai-flowlist li{display:flex;align-items:center;gap:12px;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:14px 16px;font-size:var(--fs-md);color:#dcdff2;font-weight:500}.lp-ai-step-n{flex-shrink:0;width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:750;color:#fff;background:linear-gradient(135deg,var(--indigo-500),var(--violet-600))}.lp-cta{padding-top:56px;padding-bottom:84px}.lp-cta-card{position:relative;max-width:468px;margin:0 auto;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-2xl);overflow:hidden;padding:44px 40px 34px;text-align:center;box-shadow:var(--shadow-2xl)}.lp-cta-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:var(--gradient-brand)}.lp-cta-card h2{margin:0 0 8px;font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:var(--tracking-display);color:var(--ink)}.lp-cta-card>p{margin:0 0 24px;font-size:var(--fs-md);color:var(--fg-2)}.lp-cta-card .auth-provider-list{text-align:left}.lp-cta-open{width:100%;margin-top:4px}.lp-cta-foot{margin:20px 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--fg-2)}.lp-cta-foot a{color:var(--fg-2);text-decoration:underline}.lp-cta-foot a:hover{color:var(--brand)}.lp-company-signin{margin-top:14px;padding-top:14px;border-top:1px solid var(--stroke-subtle);text-align:center}.lp-company-link{background:none;border:none;padding:4px 6px;font-size:var(--fs-md);font-weight:600;color:var(--brand-text);cursor:pointer}.lp-company-link:hover{text-decoration:underline}.lp-company-form{text-align:left}.lp-company-label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--fg-2);margin-bottom:6px}.lp-company-row{display:flex;gap:8px}.lp-company-row input{flex:1;min-width:0}.lp-company-row .lp-btn{flex-shrink:0;white-space:nowrap}.lp-company-error{margin:8px 0 0;font-size:var(--fs-sm);color:var(--danger-hover)}.lp-footer{border-top:1px solid var(--line-soft);background:var(--surface);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.lp-footer-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--fg)}.lp-footer-logo{width:24px;height:24px}.lp-footer-copy{margin:0;font-size:var(--fs-sm);color:var(--fg-2)}.lp-footer-links{display:inline-flex;align-items:center;gap:18px;font-size:var(--fs-sm);font-weight:600}.lp-footer-links a{color:var(--fg-2);text-decoration:none}.lp-footer-links a:hover{color:var(--brand);text-decoration:underline}.legal-html,.legal-body{height:auto;min-height:100%;overflow:visible}.legal-body{background:var(--bg)}.legal-page{max-width:720px;margin:0 auto;padding:48px 24px 96px;color:var(--fg);line-height:1.65}.legal-page h1{font-size:32px;margin:0 0 8px}.legal-page h2{font-size:18px;margin:36px 0 8px}.legal-page p{margin:0 0 12px}.legal-back{margin:0 0 32px;font-size:var(--fs-sm);font-weight:600}.legal-back a,.legal-foot a{color:var(--brand);text-decoration:none}.legal-back a:hover,.legal-foot a:hover{text-decoration:underline}.legal-lede{color:var(--fg-2);font-size:var(--fs-lg)}.legal-updated{color:var(--fg-2);font-size:var(--fs-sm);margin-bottom:8px}.legal-foot{margin-top:48px;font-size:var(--fs-sm);font-weight:600}@media(prefers-reduced-motion:reduce){.lp-feature,.lp-btn{transition:none!important}.g-thumb-frame,.g-thumb-shimmer{animation:none!important}.g-card{transition:none!important}.artifact-review-ink-layer{transition:none}.annotate-palette,.annotate-tool-btn,.annotate-color-swatch,.annotate-note-popover,.annotate-saved,.annotate-hint{transition:none!important}}@media(max-width:940px){.lp-hero{grid-template-columns:1fr;gap:44px;padding-top:52px;padding-bottom:60px}.hb{transform:none}.lp-feature-grid,.lp-steps,.lp-persona-grid,.lp-ai-card{grid-template-columns:1fr}.lp-ai-card{gap:28px;padding:34px 28px}.lp-step:not(:last-child):after{display:none}.lp-nav-links{display:none}}@media(max-width:540px){.lp-nav{padding:12px 18px;gap:12px}.lp-hero,.lp-features,.lp-how,.lp-personas,.lp-trustband,.lp-ai,.lp-cta{padding-left:18px;padding-right:18px}.lp-hero-actions{flex-direction:column;align-items:stretch}.lp-btn-lg{width:100%}.lp-cta-card{padding:32px 24px 24px}.hb-note{max-width:150px}.lp-brand-name{display:none}.lp-nav-cta{gap:10px}.lp-nav-cta .lp-btn,.lp-signin-link{white-space:nowrap}.lp-nav-cta .lp-btn{padding:8px 14px}}.app-layout.guide-layout{grid-template-columns:minmax(0,1400px);padding:0;gap:0}.guide-standalone{background:var(--surface)}.guide-page{display:flex;flex-direction:column;min-height:100%;width:100%;padding:0 24px 48px}.guide-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:28px 0 20px;border-bottom:1px solid var(--stroke-subtle)}.guide-page-head h1{margin:0 0 4px;font-size:28px;font-weight:700;letter-spacing:-.02em}.guide-page-head-text .muted{margin:0;font-size:var(--fs-md)}.guide-page-body{display:grid;grid-template-columns:252px minmax(0,1fr);gap:40px;align-items:start;flex:1;min-height:0}.guide-side{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain;padding:20px 4px 24px 0}.guide-search{position:relative;margin-bottom:20px}.guide-search-input{width:100%;padding-right:34px}.guide-search-key{position:absolute;right:9px;top:50%;transform:translateY(-50%);min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--stroke);border-radius:4px;background:var(--bg);color:var(--fg-2);font-size:var(--fs-2xs);font-weight:600;pointer-events:none}.guide-side-note{margin:0;font-size:var(--fs-sm);color:var(--fg-2)}.guide-side-note p{margin:10px 0 0}.guide-clear{width:100%}.guide-article-body em,.guide-result em{font-style:italic}.guide-nav-group+.guide-nav-group{margin-top:22px}.guide-nav-heading{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.guide-nav-icon{display:inline-flex;color:var(--brand)}.guide-nav-icon svg{width:14px;height:14px}.guide-nav ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--stroke-subtle)}.guide-nav-item{display:block;padding:6px 10px;margin-left:-1px;border-left:2px solid transparent;color:var(--fg);text-decoration:none;font-size:var(--fs-md);line-height:1.35}.guide-nav-item:hover{color:var(--brand);background:var(--bg)}.guide-nav-item.active{border-left-color:var(--brand);color:var(--brand);font-weight:600;background:var(--bg)}.guide-main{min-width:0;padding-top:24px}.guide-article{max-width:780px}.guide-crumbs{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.guide-kind{padding:2px 8px;border-radius:999px;font-size:var(--fs-2xs);letter-spacing:.04em;background:var(--bg);color:var(--fg-2);border:1px solid var(--stroke-subtle)}.guide-kind-howto{background:color-mix(in srgb,var(--brand) 10%,transparent);border-color:color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand-hover)}.guide-article-title{margin:0 0 10px;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.guide-article-summary{margin:0 0 24px;font-size:var(--fs-lg);line-height:1.55;color:var(--fg-2)}.guide-missing{margin:0 0 16px;padding:10px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand-hover);font-size:var(--fs-md)}.guide-article-body{font-size:var(--fs-lg);line-height:1.65}.guide-article-body>p{margin:0 0 14px}.guide-h{margin:32px 0 12px;font-size:19px;font-weight:700;letter-spacing:-.01em;scroll-margin-top:16px}.guide-article-body code{padding:1px 5px;border-radius:4px;background:var(--bg);border:1px solid var(--stroke-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.guide-article-body kbd{display:inline-block;min-width:20px;padding:1px 6px;border:1px solid var(--stroke);border-bottom-width:2px;border-radius:5px;background:var(--surface);box-shadow:0 1px #0000000d;font-family:inherit;font-size:var(--fs-xs);font-weight:600;text-align:center;white-space:nowrap}.guide-code{margin:0 0 16px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--stroke-subtle);background:var(--bg);overflow-x:auto;font-size:var(--fs-sm);line-height:1.6}.guide-code code{padding:0;border:0;background:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.guide-list,.guide-ordered,.guide-steps{margin:0 0 16px;padding-left:22px}.guide-list{list-style:disc}.guide-list li,.guide-ordered li,.guide-steps li{margin-bottom:8px}.guide-steps{counter-reset:guide-step;list-style:none;padding-left:0}.guide-steps>li{position:relative;counter-increment:guide-step;padding-left:36px;margin-bottom:12px}.guide-steps>li:before{content:counter(guide-step);position:absolute;left:0;top:1px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand-solid);color:var(--brand-solid-fg);font-size:var(--fs-sm);font-weight:700}.guide-callout{display:block;margin:0 0 18px;padding:12px 16px;border-radius:var(--radius);border-left:3px solid var(--stroke);background:var(--bg);font-size:var(--fs-md)}.guide-callout p{margin:0}.guide-callout-label{display:block;margin-bottom:3px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.guide-callout-note{border-left-color:var(--brand);background:var(--brand-soft)}.guide-callout-note .guide-callout-label{color:var(--brand-text)}.guide-callout-tip{border-left-color:var(--success);background:var(--success-soft)}.guide-callout-tip .guide-callout-label{color:var(--success-text)}.guide-callout-warn{border-left-color:var(--danger);background:var(--danger-soft)}.guide-callout-warn .guide-callout-label{color:var(--danger)}.guide-figure{margin:0 0 20px}.guide-shot{display:block;width:100%;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--surface)}.guide-figure figcaption{margin-top:8px;font-size:var(--fs-sm);color:var(--fg-2)}.guide-table-wrap{overflow-x:auto;border:1px solid var(--stroke-subtle);border-radius:var(--radius)}.guide-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.guide-table th,.guide-table td{padding:9px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--stroke-subtle)}.guide-table tbody tr:last-child th,.guide-table tbody tr:last-child td{border-bottom:0}.guide-table th{background:var(--bg);font-weight:600;color:var(--fg-2);white-space:nowrap}.guide-table td:first-child{color:var(--fg)}.guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 20px}.guide-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);background:var(--surface);font-size:var(--fs-md);line-height:1.5;color:var(--fg-2)}.guide-card strong{color:var(--fg);font-size:var(--fs-md)}.guide-card-link{text-decoration:none}.guide-card-link:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.guide-flow{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin:0 0 20px}.guide-flow-item{display:flex;align-items:center;gap:8px;flex:1 1 200px}.guide-flow-step{display:flex;flex-direction:column;gap:2px;flex:1;padding:12px 14px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);background:var(--bg);font-size:var(--fs-sm);line-height:1.45;color:var(--fg-2)}.guide-flow-step strong{color:var(--brand-hover);font-size:var(--fs-md)}.guide-flow-arrow{color:var(--fg-2);font-size:18px}.guide-faq{margin:0 0 20px;border-top:1px solid var(--stroke-subtle)}.guide-faq-item{padding:12px 0;border-bottom:1px solid var(--stroke-subtle)}.guide-faq dt{margin-bottom:4px;font-weight:600}.guide-faq dd{margin:0;color:var(--fg-2)}.guide-onthispage{margin:0 0 24px;padding:12px 16px;border:1px solid var(--stroke-subtle);border-radius:var(--radius);background:var(--bg)}.guide-onthispage-heading{margin:0 0 6px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.guide-onthispage ul{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;font-size:var(--fs-md)}.guide-pagers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--stroke-subtle)}.guide-pager{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);text-decoration:none;background:var(--surface)}.guide-pager:hover{border-color:var(--brand)}.guide-pager-next{text-align:right}.guide-pager-label{font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.guide-pager-title{color:var(--brand);font-size:var(--fs-md);font-weight:600}.guide-results-count{margin:0 0 14px;font-size:var(--fs-sm);color:var(--fg-2)}.guide-result-list{list-style:none;margin:0;padding:0;max-width:780px}.guide-result{display:flex;flex-direction:column;gap:3px;padding:14px 16px;margin-bottom:10px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);background:var(--surface);text-decoration:none}.guide-result:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}.guide-result-group{font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-2)}.guide-result-title{color:var(--brand);font-size:var(--fs-lg);font-weight:600}.guide-result-snippet{color:var(--fg-2);font-size:var(--fs-md);line-height:1.5}.guide-result mark{padding:0 1px;border-radius:3px;background:color-mix(in srgb,var(--warning) 38%,transparent);color:inherit;font-weight:600}.guide-search-empty{max-width:560px;font-size:var(--fs-md)}.guide-search-empty .muted{font-size:var(--fs-md)}@media(max-width:1000px){.guide-page-body{grid-template-columns:minmax(0,1fr);gap:8px}.guide-side{position:static;max-height:none;overflow:visible;padding:16px 0;border-bottom:1px solid var(--stroke-subtle)}.guide-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.guide-nav-group+.guide-nav-group{margin-top:0}.guide-nav-disclosure>summary{cursor:pointer;padding:9px 12px;border:1px solid var(--stroke);border-radius:var(--radius);background:var(--surface);font-size:var(--fs-md);font-weight:600;list-style:none}.guide-nav-disclosure>summary::-webkit-details-marker{display:none}.guide-nav-disclosure>summary:after{content:"\25be";float:right;color:var(--fg-2)}.guide-nav-disclosure[open]>summary{margin-bottom:14px}.guide-nav-disclosure[open]>summary:after{content:"\25b4"}.guide-main{padding-top:20px}}@media(max-width:600px){.guide-page{padding:0 16px 40px}.guide-page-head{padding-top:20px}.guide-page-head h1{font-size:24px}.guide-article-title{font-size:25px}.guide-pagers{grid-template-columns:minmax(0,1fr)}.guide-pager-next{text-align:left}}.org-create-form{display:flex;align-items:center;gap:8px}.org-admin-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}.org-picker{min-width:260px}.org-kind-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;background:var(--bg);color:var(--fg-2)}.org-kind-badge.kind-company{background:var(--brand-soft);color:var(--brand-text)}.org-section{margin-top:16px;padding:22px 24px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.org-section:first-child{margin-top:0}.branding-row{display:flex;align-items:center;gap:18px;margin:4px 0 14px;flex-wrap:wrap}.branding-preview{width:48px;height:48px;border-radius:12px;font-size:18px}.branding-swatches{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.branding-swatches .swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--stroke-subtle);cursor:pointer;padding:0;transition:transform .1s ease}.branding-swatches .swatch:hover{transform:scale(1.12)}.branding-swatches .swatch.active{border-color:var(--surface);box-shadow:0 0 0 2px var(--fg)}.branding-swatches .swatch-auto{width:auto;height:26px;border-radius:13px;padding:0 12px;font-size:var(--fs-xs);font-weight:700;font-family:inherit;background:var(--bg);color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--stroke-subtle)}.branding-swatches .swatch-auto.active{background:var(--brand-solid);color:var(--brand-solid-fg);box-shadow:none;border-color:transparent}.branding-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.branding-hex{max-width:160px}.branding-hex input{text-transform:lowercase}.plan-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:6px}.plan-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:var(--fs-sm);font-weight:700;letter-spacing:.2px;background:var(--bg);color:var(--fg);box-shadow:inset 0 0 0 1px var(--stroke-subtle)}.plan-badge.plan-team{background:#eef2ff;color:var(--brand-hover);box-shadow:none}.plan-badge.plan-business{background:#ecfeff;color:#0e7490;box-shadow:none}.plan-badge.plan-enterprise{background:#1f2937;color:#fff;box-shadow:none}.plan-picker{max-width:200px}.plan-capacity{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px;font-size:var(--fs-sm)}.plan-capacity li{display:flex;justify-content:space-between;gap:12px;color:var(--fg-2)}.plan-capacity li>span:last-child{color:var(--fg);font-variant-numeric:tabular-nums}.plan-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;text-transform:capitalize;background:var(--warning-soft);color:#92400e}.plan-seats{margin:10px 0 4px;max-width:420px}.plan-seats-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm);font-weight:600;margin-bottom:5px}.plan-seats-full{color:var(--danger-hover);font-weight:700}.plan-seats-bar{height:7px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--stroke-subtle);overflow:hidden}.plan-seats-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,var(--brand-hover));transition:width .3s ease}.plan-seats-fill.full{background:linear-gradient(90deg,#f87171,var(--danger-hover))}.plan-features{list-style:none;margin:12px 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px}.plan-features li{display:flex;align-items:center;gap:8px;font-size:var(--fs-md)}.plan-features li.off{color:var(--fg-2)}.plan-features .plan-feature-ic{width:16px;display:inline-flex;justify-content:center;flex-shrink:0;color:var(--success-text);font-weight:800}.plan-features li.off .plan-feature-ic{color:var(--fg-2)}.plan-features .plan-feature-ic .ui-i{width:13px;height:13px}.plan-feature-tier{margin-left:auto;font-size:var(--fs-2xs);font-weight:700;color:var(--fg-2);background:var(--bg);padding:1px 7px;border-radius:999px}.plan-note{font-size:var(--fs-sm);margin-top:8px}.locked-feature{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px dashed var(--stroke-subtle);border-radius:10px;background:var(--bg)}.locked-feature-ic{color:var(--fg-2);flex-shrink:0;margin-top:1px}.locked-feature-ic .ui-i{width:18px;height:18px}.locked-feature-title{font-weight:600;font-size:var(--fs-md)}.sso-callback{display:flex;flex-direction:column;gap:4px;margin:6px 0 14px}.sso-callback-url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm);padding:8px 10px;border-radius:8px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--stroke-subtle);word-break:break-all;color:var(--fg)}.sso-toggle{display:flex;align-items:center;gap:9px;font-size:var(--fs-md);margin:4px 0 14px;cursor:pointer}.sso-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 16px}.sso-secret-set{color:var(--success-text);font-weight:700;font-size:var(--fs-xs)}.sso-clear-secret{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--fg-2);margin-top:5px;cursor:pointer}.sso-subhead{font-size:var(--fs-md);font-weight:700;margin:20px 0 8px}.sso-rolemap{margin-top:12px;max-width:560px}.sso-rolemap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.sso-rolemap-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sso-rolemap-group{flex:1;min-width:0}.sso-rolemap-arrow{color:var(--fg-2);flex-shrink:0}.sso-actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}.scim-status-on{color:var(--success-text)}.scim-status-off{color:var(--fg-2)}.scim-token-reveal{display:flex;flex-direction:column;gap:8px;margin:12px 0 4px;padding:12px 14px;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--stroke-subtle)}.scim-token-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm);padding:8px 10px;border-radius:8px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--stroke-subtle);word-break:break-all;color:var(--fg)}.scim-rotate-note{margin-top:8px;font-size:var(--fs-xs);color:var(--fg-2)}.sso-enforce-note{margin:2px 0 12px;font-size:var(--fs-xs);color:var(--fg-2)}.egress-domains{margin:4px 0 14px;padding-left:26px}.egress-domain-add{display:flex;gap:8px;align-items:center;max-width:460px}.egress-domain-add input{flex:1;min-width:0}.egress-domain-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.egress-domain-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;border-radius:999px;font-size:var(--fs-sm);background:var(--bg);box-shadow:inset 0 0 0 1px var(--stroke-subtle);color:var(--fg)}.egress-domain-chip .icon-btn{padding:0 4px;line-height:1}.egress-chip-deny{background:var(--danger-soft);border-color:var(--danger-border)}.egress-denylist{margin:16px 0 14px}.publication-picker{margin:16px 0}.publication-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 12px;margin-top:8px}.publication-check{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--stroke-subtle);font-size:var(--fs-sm)}.approval-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.approval-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.approval-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;gap:12px;align-items:end;padding:14px;border-radius:10px;background:var(--surface);border:1px solid var(--stroke-subtle)}.approval-title{font-weight:700;font-size:var(--fs-md)}.approval-meta{color:var(--fg-2);font-size:var(--fs-sm);margin-top:2px}.approval-note{margin:8px 0 0;font-size:var(--fs-sm)}.approval-actions{display:flex;gap:8px;flex-wrap:wrap}.approval-decision-note{margin:0}@media(max-width:900px){.approval-row{grid-template-columns:1fr;align-items:stretch}}.org-section-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-lg);font-weight:700;margin:0 0 12px}.org-subsection-title{font-size:var(--fs-md);font-weight:700;margin:20px 0 6px}.org-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;background:var(--bg);color:var(--fg-2)}.org-member-name{font-weight:600}.org-member-email{font-size:var(--fs-xs);color:var(--fg-2)}.org-team{display:flex;flex-direction:column}.org-team-members{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px 20px;padding-left:12px;border-left:2px solid var(--stroke-subtle)}.org-team-add{display:flex;gap:8px;align-items:center}.org-team-add select{flex:1}.org-team-rename{display:inline-flex;gap:8px;align-items:center}.org-collection-spec{font-weight:600;color:var(--brand);text-decoration:none}.org-collection-spec:hover{text-decoration:underline}.collection-picker{display:flex;flex-direction:column;gap:6px;margin:12px 0;max-height:320px;overflow-y:auto}.collection-pick-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--stroke-subtle);border-radius:6px;font-size:var(--fs-md);cursor:pointer}.collection-pick-row:hover{background:var(--surface)}.share-subhead{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--fg-2);margin:14px 0 6px}.collection-share-add{flex-wrap:wrap;margin-top:10px}.collection-share-add input[type=email]{flex:1;min-width:180px}.audit-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.audit-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column}.audit-item{display:flex;gap:10px;padding:10px 4px;border-bottom:1px solid var(--stroke-subtle)}.audit-item:last-child{border-bottom:none}.audit-icon{flex:0 0 auto;font-size:var(--fs-lg);line-height:1.4;color:var(--fg-2)}.audit-icon .ui-i{width:17px;height:17px}.inline-ic{display:inline-flex;align-items:center;vertical-align:-3px;color:var(--fg-2)}.inline-ic .ui-i{width:15px;height:15px}.audit-main{display:flex;flex-direction:column;gap:2px;min-width:0}.audit-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.audit-action{font-weight:600;font-size:var(--fs-md)}.audit-target{font-size:var(--fs-sm);color:var(--fg)}.audit-detail{font-size:var(--fs-xs);color:var(--fg-2);background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:4px;padding:1px 6px}.audit-meta{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--fg-2)}.audit-dot{opacity:.6}.review-list{display:flex;flex-direction:column;margin-top:12px}.review-resource{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--fg-2);margin-top:3px}.review-kind{font-weight:600;color:var(--fg)}.review-expiry{color:var(--warning)}.partner-selfid{margin-top:-4px}.partner-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:4px;padding:1px 6px;color:var(--fg-2)}.partner-state{font-weight:600;font-size:var(--fs-xs)}.partner-state.state-active{color:#15803d}.partner-state.state-pending_incoming{color:var(--warning)}.partner-state.state-pending_outgoing{color:var(--fg-2)}.org-row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}td.org-row-actions{display:table-cell;text-align:right;white-space:nowrap}td.org-row-actions>*+*{margin-left:8px}.org-invite-created{margin:12px 0;padding:12px 14px;border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand-soft)}.org-domain-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--stroke-subtle);border-radius:var(--radius);background:var(--surface)}.org-domain-verify{margin-top:8px}.org-verify-line{display:inline-block;margin-top:4px;padding:6px 10px;border-radius:6px;background:var(--bg);font-size:var(--fs-xs);word-break:break-all}.org-join-policy{margin-top:20px}.org-policy-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:10px}.org-policy-btn{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--stroke);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left}.org-policy-btn:hover{border-color:var(--brand)}.org-policy-btn.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-soft)}.org-policy-hint{font-size:var(--fs-xs);color:var(--fg-2)}.org-policy-current{margin-top:10px}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface-2)}.invite-card{width:100%;max-width:440px;padding:32px;border:1px solid var(--stroke-subtle);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center}.invite-brand{font-weight:800;color:var(--brand);letter-spacing:.02em;margin-bottom:18px}.invite-title{font-size:var(--fs-h2);font-weight:700;margin:0 0 8px}.invite-providers{display:flex;flex-direction:column;gap:10px;margin-top:18px}.invite-signin,.invite-accept{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.invite-accept{margin-top:18px;width:100%}.device-code-input{width:100%;margin:14px 0 4px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:700;letter-spacing:.18em;text-align:center;text-transform:uppercase;border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);background:var(--surface)}.device-code-input:focus{outline:2px solid var(--brand);outline-offset:1px}.device-warning{margin:14px 0 0;padding:10px 12px;border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-soft);color:#6b4e00;font-size:var(--fs-sm);text-align:left}.notif-wrap{position:relative;margin-left:6px}.notif-btn .ui-i{width:18px;height:18px}.notif-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger-solid);color:var(--danger-solid-fg);font-size:var(--fs-2xs);font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px #0a0d168c}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);overflow:hidden;z-index:200}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--stroke-subtle)}.notif-panel-title{font-size:var(--fs-md);font-weight:700;color:var(--fg)}.notif-mark-all{border:none;background:none;color:var(--brand);font-size:var(--fs-sm);font-family:inherit;cursor:pointer;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-list{max-height:420px;overflow-y:auto}.notif-empty{padding:28px 16px;text-align:center;color:var(--fg-2);font-size:var(--fs-sm)}.notif-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit;border-bottom:1px solid var(--stroke-subtle);transition:background .1s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-hover)}.notif-item.unread{background:color-mix(in srgb,var(--brand) 6%,transparent)}.notif-item.unread:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}.notif-dot{flex:0 0 auto;width:8px;height:8px;margin-top:5px;border-radius:50%;background:transparent}.notif-item.unread .notif-dot{background:var(--brand-solid)}.notif-body{display:flex;flex-direction:column;gap:3px;min-width:0}.notif-text{font-size:var(--fs-sm);color:var(--fg);line-height:1.35}.notif-snippet{font-size:var(--fs-xs);color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time{font-size:var(--fs-2xs);color:var(--fg-2)}.wc-shell{display:flex;gap:0;min-height:min(72vh,640px)}.wc-rail{width:236px;flex:0 0 236px;border-right:1px solid var(--stroke-subtle);padding:14px 10px}.wc-rail-org{display:flex;align-items:center;gap:10px;padding:6px 8px 14px}.wc-rail-badge{width:34px;height:34px;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);background:var(--brand-solid);color:var(--brand-solid-fg);font-weight:700;display:flex;align-items:center;justify-content:center}.wc-rail-name{font-weight:650;font-size:var(--fs-md);letter-spacing:var(--tracking-tight)}.wc-rail-sub{font-size:var(--fs-2xs);color:var(--fg-3);margin-top:1px}.wc-rail-nav{display:flex;flex-direction:column;gap:2px}.wc-rail-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:none;background:none;font-family:inherit;font-size:var(--fs-md);font-weight:500;color:var(--fg-2);cursor:pointer;text-align:left;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.wc-rail-item:hover{background:var(--surface-hover);color:var(--fg)}.wc-rail-item.active{background:var(--brand-soft);color:var(--brand-text);font-weight:650}.wc-rail-item.locked{color:var(--fg-3);cursor:pointer}.wc-rail-lock{margin-left:auto;font-size:var(--fs-2xs);font-weight:650;background:color-mix(in srgb,var(--violet-500) 14%,transparent);color:var(--violet-600);border-radius:var(--radius-full);padding:2px 8px}.wc-rail-ic{display:inline-flex}.wc-rail-ic .ui-i{width:17px;height:17px}@media(max-width:820px){.wc-shell{flex-direction:column}.wc-rail{width:100%;flex:0 0 auto;border-right:none;border-bottom:1px solid var(--stroke-subtle);padding:10px 6px 12px}.wc-rail-org{padding:4px 6px 10px}.wc-rail-nav{flex-direction:row;flex-wrap:wrap;gap:6px}.wc-rail-item{width:auto;padding:8px 12px}.wc-rail-lock{margin-left:6px}.wc-content{min-width:0;padding-top:14px;overflow-x:auto}.wc-content .files-table{display:block;overflow-x:auto;white-space:nowrap}}.wc-content{flex:1;padding:22px 28px;min-width:0}.wc-card{background:var(--surface);border:1px solid #e2e2e2;border-radius:12px;padding:20px 22px;margin-bottom:14px}.wc-card-head{display:flex;align-items:flex-start;gap:12px}.wc-card-heading{flex:1;min-width:0}.wc-card-title{font-weight:700;font-size:var(--fs-lg)}.wc-card-desc{font-size:var(--fs-sm);color:var(--fg-2);margin-top:2px}.wc-card-control{flex:0 0 auto}.wc-card-divider{height:1px;background:#f0f0f0;margin:16px 0}.wc-card-locked{background:var(--surface-2);border:1px dashed #d8d8d8;display:flex;align-items:center;gap:14px}.wc-card-locked .wc-card-title,.wc-card-locked .wc-card-desc{color:#9a9a9a}.wc-upsell-link{margin-left:auto;white-space:nowrap;color:var(--violet-600);font-weight:600;font-size:var(--fs-sm);text-decoration:none}.wc-savebar{display:flex;align-items:center;gap:12px;margin-top:16px}.wc-save-btn{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h);padding:0 var(--space-4);background:var(--brand-solid);color:var(--brand-solid-fg);border:1px solid var(--brand-solid);border-radius:var(--control-radius);font-size:var(--fs-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out)}.wc-save-btn:hover:not(:disabled){background:color-mix(in srgb,var(--brand-solid) 88%,#000)}.wc-save-btn:disabled{opacity:.5;cursor:default}.wc-save-hint{font-size:var(--fs-xs);color:var(--fg-3)}.wc-page-head{margin-bottom:16px}.wc-page-title{font-size:var(--fs-h2);font-weight:650;letter-spacing:var(--tracking-tight)}.wc-page-desc{font-size:var(--fs-sm);color:var(--fg-2)}.wc-ov-identity{display:flex;align-items:center;gap:14px;margin-bottom:20px}.wc-ov-badge{width:52px;height:52px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--brand-solid);color:var(--brand-solid-fg);font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center}.wc-ov-name{font-size:var(--fs-h2);font-weight:700}.wc-ov-sub{font-size:var(--fs-sm);color:var(--fg-2)}.wc-stats{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.wc-stat{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-xs)}.wc-stat-n{font-size:26px;font-weight:680;letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;line-height:1.1}.wc-stat-l{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--fg-3);margin-top:6px}.wc-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.wc-action{display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);padding:16px 18px;box-shadow:var(--shadow-xs);cursor:pointer;font-family:inherit;color:var(--fg);transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.wc-action:hover{border-color:var(--brand-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.wc-action-t{font-weight:650;margin:0;font-size:var(--fs-md);letter-spacing:var(--tracking-tight)}.wc-action-d{font-size:var(--fs-sm);line-height:1.5;color:var(--fg-2)}.wc-label{font-size:var(--fs-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}.acc-card{padding-bottom:8px}.acc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.acc-count{font-size:var(--fs-xs);color:var(--fg-2);font-weight:600}.acc-refresh{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--stroke);background:var(--surface);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;font-family:inherit;color:var(--fg);cursor:pointer}.acc-refresh:disabled{opacity:.5;cursor:default}.acc-filters{display:flex;gap:6px;margin:14px 0 4px;flex-wrap:wrap}.acc-filter{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border:1px solid var(--stroke);background:var(--surface);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:550;font-family:inherit;color:var(--fg-2);cursor:pointer}.acc-filter:hover{border-color:var(--stroke-strong);color:var(--fg)}.acc-filter.active{background:var(--brand-soft);border-color:#cfe0f3;color:var(--brand);font-weight:600}.acc-filter-n{color:var(--fg-2);font-size:var(--fs-2xs);margin-left:3px}.acc-filter.active .acc-filter-n{color:var(--brand)}.acc-pad{padding:16px 2px}.acc-list{display:flex;flex-direction:column}.acc-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) auto auto;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--stroke-subtle)}.acc-row:last-child{border-bottom:none}.acc-row.expiring{background:var(--warning-soft);border-radius:8px}.acc-who{display:flex;align-items:center;gap:8px;min-width:0}.acc-principal{font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-role{font-size:var(--fs-2xs);background:var(--brand-soft);color:var(--brand-active);border-radius:999px;padding:2px 8px;white-space:nowrap}.acc-resource{display:flex;align-items:center;gap:7px;min-width:0;border:none;background:none;font-family:inherit;font-size:var(--fs-sm);color:var(--fg-2);text-align:left;padding:0}.acc-resource.openable{color:var(--brand);cursor:pointer}.acc-resource.openable:hover{text-decoration:underline}.acc-resource .inline-ic{flex:0 0 auto}.acc-expiry{font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap}.acc-soon{color:var(--warning);font-weight:600}.acc-no-expiry{color:var(--stroke-strong)}.acc-revoke{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h-sm);padding:0 var(--space-3);border:1px solid var(--danger-border);background:var(--surface);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap}.acc-revoke:disabled{opacity:.5;cursor:default}@media(max-width:640px){.acc-row{grid-template-columns:1fr auto;row-gap:4px}.acc-resource,.acc-expiry{grid-column:1 / -1}}.wc-personal{padding-left:0;padding-right:0}.wc-personal-grow{margin-top:14px}.wc-linkbtn{border:none;background:none;color:var(--brand);font-family:inherit;font-size:inherit;padding:0;cursor:pointer;text-decoration:underline}.wc-seats{font-size:var(--fs-sm);color:var(--fg-2);margin:2px 2px 12px}.wc-collapsible{border:1px solid var(--stroke-subtle);border-radius:12px;margin-bottom:14px;overflow:hidden}.wc-collapsible-head{display:flex;align-items:center;gap:9px;width:100%;padding:14px 18px;border:none;background:var(--surface-2);font-family:inherit;font-size:var(--fs-md);cursor:pointer;text-align:left}.wc-collapsible-head:hover{background:var(--surface-hover)}.wc-collapsible-caret{color:var(--fg-2);font-size:var(--fs-xs)}.wc-collapsible-title{font-weight:600;color:var(--fg)}.wc-collapsible-badge{background:var(--accent);color:#fff;font-size:var(--fs-2xs);font-weight:600;line-height:1;padding:3px 7px;border-radius:999px}.wc-collapsible-hint{color:var(--fg-2);font-size:var(--fs-xs);margin-left:auto}.wc-collapsible-body{padding:6px 16px 12px}@media(max-width:640px){.wc-collapsible-hint{display:none}}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.pf-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.pf-btn{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h);padding:0 var(--space-4);border:1px solid var(--stroke);background:var(--surface);border-radius:var(--control-radius);font-size:var(--fs-sm);font-weight:600;font-family:inherit;cursor:pointer;color:var(--fg);transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.pf-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--stroke-strong)}.pf-btn:disabled{opacity:.5;cursor:default}.pf-danger{color:var(--danger);border-color:var(--danger-border)}.pf-notif{margin-top:14px}.pf-grow{display:flex;align-items:center;gap:18px;margin-top:16px;padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,var(--brand),var(--brand-hover));color:#fff}.pf-grow-copy{flex:1}.pf-grow-title{font-weight:700;font-size:var(--fs-lg)}.pf-grow-sub{font-size:var(--fs-sm);opacity:.9;margin-top:3px}@media(max-width:640px){.pf-grid{grid-template-columns:1fr}.pf-grow{flex-direction:column;align-items:flex-start}}.wc-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.wc-toolbar-search{flex:1 1 200px;min-width:160px;padding:7px 10px;border:1px solid var(--stroke);border-radius:8px;font-size:var(--fs-md)}.wc-toolbar-filter,.wc-toolbar-sort{padding:7px 8px;border:1px solid var(--stroke);border-radius:8px;font-size:var(--fs-sm);background:var(--surface)}.wc-toolbar-count{color:var(--fg-2);font-size:var(--fs-xs)}.wc-toolbar-pager{display:inline-flex;align-items:center;gap:4px}.wc-toolbar-page{border:1px solid var(--stroke);background:var(--surface);border-radius:6px;width:26px;height:26px;cursor:pointer}.wc-toolbar-page:disabled{opacity:.4;cursor:default}.wc-toolbar-pagen{font-size:var(--fs-xs);color:var(--fg-2);min-width:34px;text-align:center}.wc-toolbar-export{margin-left:auto;padding:7px 12px;border:1px solid var(--stroke);background:var(--surface);border-radius:8px;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.wc-toolbar-export:hover{background:var(--surface-hover)}.wc-posture{display:flex;flex-wrap:wrap;gap:8px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:12px;cursor:pointer}.wc-posture:hover{background:var(--surface-hover)}.wc-posture-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--surface-2);font-size:var(--fs-xs)}.wc-posture-dot{width:8px;height:8px;border-radius:50%}.st-ok .wc-posture-dot{background:#1a7f37}.st-warn .wc-posture-dot{background:#bf8700}.st-off .wc-posture-dot{background:#8c959f}.wc-posture-l{font-weight:600;color:var(--fg)}.wc-posture-v{color:var(--fg-2)}.wc-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.wc-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:520px;width:100%;padding:20px}.wc-modal-title{font-size:var(--fs-h3);font-weight:700;color:var(--fg)}.wc-modal-intro{color:var(--fg-2);font-size:var(--fs-sm);margin:6px 0 12px}.wc-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.pf-preflight-body{display:flex;flex-direction:column;gap:10px}.pf-impact{margin:0}.pf-warn{margin:0;padding:8px 10px;background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:8px;font-size:var(--fs-sm);color:var(--warning)}.pf-breakglass{margin:0;font-size:var(--fs-sm);color:var(--fg-2)}.pf-list{margin:0;padding-left:18px;font-size:var(--fs-sm);max-height:150px;overflow:auto}.pf-list-sub{color:var(--fg-2)}.pf-list-more{list-style:none;color:var(--fg-2)}.pf-ack{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-sm)}.acc-head-actions{display:flex;gap:8px;align-items:center}.acc-review-start,.acc-review-done{border:1px solid var(--stroke);background:var(--surface);border-radius:8px;padding:6px 12px;font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap}.acc-review-done{background:var(--brand-solid);color:var(--brand-solid-fg);border-color:transparent}.acc-review-bar{display:flex;align-items:center;gap:16px;padding:10px 12px;margin:8px 0;background:var(--surface-2);border-radius:10px}.acc-review-progress{flex:1;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);color:var(--fg-2)}.acc-review-track{height:6px;background:#d8dee4;border-radius:3px;overflow:hidden}.acc-review-fill{display:block;height:100%;background:var(--brand-solid)}.acc-review-revoke{border:1px solid var(--danger-border);background:var(--danger-soft);color:#b3261e;border-radius:8px;padding:6px 12px;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.acc-review-revoke:disabled{opacity:.5;cursor:default}.acc-attest{margin-right:8px}.roles-list{display:flex;flex-direction:column;gap:6px}.roles-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.roles-badge{font-size:var(--fs-xs);font-weight:600;color:var(--brand-text);background:var(--brand-soft);padding:3px 8px;border-radius:999px}.roles-soon{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 12px;background:var(--surface-2);border-radius:10px;font-size:var(--fs-sm);color:var(--fg-2)}.roles-soon-badge{flex:none;font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--warning);background:var(--warning-soft);border:1px solid var(--warning-border);padding:2px 7px;border-radius:6px}.plan-seats-impact{margin:8px 0 0;font-size:var(--fs-sm);color:var(--warning);background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:8px;padding:8px 10px}.annotate-palette{position:fixed;z-index:300;left:0;right:0;bottom:16px;width:fit-content;max-width:calc(100vw - 16px);margin:0 auto;display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px 18px;background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:50px;box-shadow:0 4px 20px #00000026}.annotate-error{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--danger);font-size:var(--fs-sm);line-height:1.35;text-align:center}.annotate-error-dismiss{min-width:44px;min-height:44px;border:none;background:transparent;color:var(--danger);cursor:pointer;font-size:var(--fs-md)}.annotate-drag-handle{min-width:44px;min-height:44px;padding:0 8px;border:none;background:transparent;cursor:grab;font-size:18px;line-height:1;color:var(--fg-2);touch-action:none;display:flex;align-items:center;justify-content:center}.annotate-drag-handle:active{cursor:grabbing}.annotate-tool-group,.annotate-color-group,.annotate-actions{display:flex;gap:8px;align-items:center}.annotate-tool-btn{min-height:44px;min-width:44px;padding:8px 14px;border:1px solid var(--stroke);background:var(--surface);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-family:inherit;font-weight:600;cursor:pointer;color:var(--fg);transition:background .1s ease,border-color .1s ease}.annotate-tool-btn:hover{background:var(--surface-2)}.annotate-tool-btn.active,.annotate-tool-btn.primary{background:var(--brand-solid);color:var(--brand-solid-fg);border-color:var(--brand-solid)}.annotate-tool-btn.primary:hover{background:var(--brand-hover)}.annotate-tool-btn:disabled{opacity:.5;cursor:not-allowed}.annotate-color-swatch{width:44px;height:44px;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .1s ease,transform .1s ease}.annotate-color-swatch:hover{transform:scale(1.05)}.annotate-color-swatch.active{border-color:var(--fg);box-shadow:0 0 0 1px #0000001a}.annotate-saved{position:fixed;z-index:305;left:50%;bottom:100px;transform:translate(-50%);padding:8px 16px;background:color-mix(in srgb,var(--brand) 95%,transparent);color:#fff;font-size:var(--fs-sm);font-weight:500;border-radius:20px;box-shadow:0 2px 8px #00000026;pointer-events:none}.annotate-hint{position:fixed;z-index:310;left:50%;bottom:140px;transform:translate(-50%);max-width:min(400px,calc(100vw - 32px));padding:12px 16px;background:#fffffff5;border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 4px 16px #0000001f;font-size:var(--fs-sm);line-height:1.4;color:var(--fg-2);display:flex;gap:8px;align-items:center}.annotate-hint button{min-width:32px;min-height:32px;padding:0;border:none;background:transparent;color:var(--fg-2);cursor:pointer;font-size:var(--fs-lg);flex-shrink:0}.annotate-hint button:hover{color:var(--fg)}.annotate-note-popover{z-index:320;max-width:min(320px,calc(100vw - 16px));max-height:min(60vh,calc(100vh - 32px));overflow:auto;background:var(--surface);border:1px solid rgba(0,0,0,.12);border-radius:12px;box-shadow:0 8px 28px #0000002e;padding:12px;display:flex;flex-direction:column;gap:8px}.annotate-note-textarea{min-height:72px;resize:vertical;font:inherit;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:8px}.annotate-note-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.annotate-note-count{font-size:var(--fs-xs);color:var(--fg-2)}.annotate-note-actions{display:flex;gap:8px}.annotate-note-error{color:var(--danger);font-size:var(--fs-sm)}.annotate-note-readonly{font-size:var(--fs-md);color:var(--fg-1);white-space:pre-wrap}.annotate-note-readonly-row{justify-content:flex-end;margin-top:10px}.mark-selection-delete-row{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.mark-selection-confirm{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--fg-1);flex-wrap:wrap}.annotate-tool-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.annotate-tool-btn.danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.markup-toggle{position:absolute;top:10px;right:14px;z-index:5;min-height:32px;padding:6px 12px;font-family:inherit;font-weight:550;font-size:var(--fs-sm);border-radius:var(--radius-full);cursor:pointer;background:#fffffff0;color:#2a3044;border:1px solid rgba(16,24,40,.16);box-shadow:var(--shadow-sm);transition:border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.markup-toggle:hover{border-color:#1018284d}.markup-toggle.on{border-color:#4f46e5;color:#4338ca}.error-boundary{display:flex;align-items:center;justify-content:center;box-sizing:border-box}.error-boundary--page{position:fixed;inset:0;padding:24px;background:var(--bg);z-index:1000}.error-boundary--inline{width:100%;padding:32px 16px}.error-boundary__card{max-width:420px;text-align:center;padding:24px;border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.error-boundary__title{margin:0 0 8px;font-size:1.1rem;color:var(--fg)}.error-boundary__detail{margin:0 0 16px;color:var(--fg-2)}.error-boundary__action{padding:8px 18px;border:0;border-radius:var(--radius);background:var(--brand-solid);color:var(--brand-solid-fg);cursor:pointer;font:inherit}.error-boundary__action:hover{background:var(--brand-hover)}a:focus-visible,button:focus-visible,[role=button]:focus-visible,[role=menuitem]:focus-visible,[role=tab]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-xs)}@media(forced-colors:active){a:focus-visible,button:focus-visible,[role=button]:focus-visible,[role=menuitem]:focus-visible,[role=tab]:focus-visible,[tabindex]:focus-visible{outline-color:Highlight}}.dash-global-search{margin:18px 0 24px}.dash-global-search input{width:100%;height:var(--control-h-lg);font-size:var(--fs-lg);box-sizing:border-box}.dash-section{margin:26px 0}.dash-section-title{font-size:var(--fs-h3);font-weight:650;letter-spacing:var(--tracking-tight);margin:0 0 12px;display:flex;align-items:center;gap:8px}.dash-all-title{margin-top:32px}.dash-empty{padding:12px 0;color:var(--fg-2);font-size:var(--fs-sm)}.dash-list{display:flex;flex-direction:column;border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden}.dash-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid var(--stroke-subtle);text-decoration:none;color:inherit;transition:background-color var(--dur-1) var(--ease-out)}.dash-row:last-child{border-bottom:0}.dash-row:hover{background:var(--surface-hover)}.dash-row-title{font-weight:550;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-link{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--brand-text)}.dash-row-meta{font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap}.dash-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.dash-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--stroke-subtle);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.dash-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--stroke)}.dash-card-body{padding:10px 12px}.dash-card-title{display:block;font-weight:550;font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-card-sub{font-size:var(--fs-xs);color:var(--fg-2)}.dash-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--brand-solid);color:var(--brand-solid-fg);font-size:var(--fs-xs);font-weight:650}.dash-card .dash-badge{position:absolute;top:8px;right:8px;box-shadow:var(--shadow-sm)}.audience-chips{display:flex;flex-wrap:wrap;gap:6px}.audience-chip{font-size:var(--fs-xs);padding:3px 9px;border-radius:var(--radius-full);background:var(--surface-3);color:var(--fg-2)}.audience-empty{font-size:var(--fs-xs);color:var(--fg-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.loading-spinner,.g-thumb-shimmer,[class*=progress]{animation-duration:.9s!important;animation-iteration-count:infinite!important}*:hover{transform:none!important}}.composer-panel{display:flex;flex-direction:column;gap:12px;padding:16px;height:100%;overflow-y:auto;background:var(--surface-2)}.composer-panel__chips{display:flex;flex-direction:column;gap:8px}.composer-panel__chip{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;text-align:left;font-size:.875rem;transition:background .15s;color:inherit;text-decoration:none;display:block}.composer-panel__chip:hover:not(:disabled){background:var(--surface-2)}.composer-panel__chip--secondary{color:var(--fg-2);border-style:dashed}.composer-panel__status{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.875rem}.composer-panel__spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.composer-panel__cancel{margin-left:auto;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;font-size:.8125rem}.composer-panel__cancel:hover{background:var(--surface-2)}.composer-panel__clarify{display:flex;flex-direction:column;gap:8px}.composer-panel__clarify-question{font-size:.9375rem;margin:0;line-height:1.5}.composer-panel__clarify-input-row{display:flex;gap:8px}.composer-panel__form{display:flex;flex-direction:column;gap:8px}.composer-panel__textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;font-size:.875rem;resize:vertical;font-family:inherit;background:var(--surface);color:inherit;box-sizing:border-box}.composer-panel__input{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--surface);color:inherit}.composer-panel__send{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.composer-panel__send:disabled{opacity:.5;cursor:not-allowed}.composer-panel__send:hover:not(:disabled){background:#3d5ce5}.composer-panel__error{color:var(--danger);margin:0;font-size:.875rem}.composer-panel__success{color:var(--success);margin:0;font-size:.875rem}.doc-editor--split{display:grid;grid-template-columns:360px 1fr;grid-template-rows:auto 1fr;height:100%}.doc-editor--split .doc-editor__composer-rail{grid-column:1;grid-row:1 / 3;border-right:1px solid var(--border);overflow-y:auto}.doc-editor--split .doc-editor__status-row,.doc-editor--split .doc-editor__body{grid-column:2}.doc-editor__composer-toggle{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;font-size:.875rem;margin:8px}.doc-editor__run-banner{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:6px;padding:8px 14px;font-size:.875rem;margin:0 8px 8px;display:flex;flex-direction:column;gap:2px}.doc-editor__run-banner-sub{color:var(--fg-2);font-size:.8125rem}.control-strip__sep{border:none;border-top:1px solid var(--border);margin:6px 0}.control-strip__btn--ask{color:var(--accent);border-color:var(--accent);background:transparent;font-weight:500}.control-strip__btn--ask:hover:not(:disabled){background:var(--brand-soft)}
