:root{--titlebar-traffic-width: 0px;--brand-50: #f5f5f4;--brand-100: #ebebea;--brand-200: #d4d4d2;--brand-300: #a8a8a4;--brand-400: #5b5b58;--brand-500: #1c1814;--brand-600: #0f0d0a;--brand-700: #1c1814;--brand-800: #0f0d0a;--brand-soft: #ebebea;--ink-50: #f5f5f4;--ink-100: #ebebea;--ink-200: #d4d4d2;--ink-300: #a8a8a4;--ink-400: #5b5b58;--ink-500: #1c1814;--ink-600: #0f0d0a;--ink-700: #15110d;--ink-900: #0d0a07;--char-1: #e0791f;--char-2: #3a8ed4;--char-3: #7a4ad4;--char-4: #2fa56b;--char-5: #d04141;--font-sans: "iA Writer Quattro", ui-monospace, "SF Mono", Menlo, "Cascadia Mono", Consolas, "DejaVu Sans Mono", monospace;--font-mono: "iA Writer Quattro", ui-monospace, "SF Mono", Menlo, "Cascadia Mono", Consolas, "DejaVu Sans Mono", monospace;--font-paper: "iA Writer Quattro", ui-monospace, "SF Mono", Menlo, "Cascadia Mono", Consolas, "DejaVu Sans Mono", monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-18: 18px;--fs-20: 20px;--fs-24: 24px;--fs-28: 28px;--lh-snug: 1.4;--lh-normal: 1.55;--lh-relaxed: 1.7;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--sp-9: 48px;--r-2: 6px;--r-3: 8px;--r-4: 12px;--r-5: 16px;--r-pill: 999px;--t-fast: .12s cubic-bezier(.2, .8, .2, 1);--t-med: .22s cubic-bezier(.2, .8, .2, 1);--t-slow: .38s cubic-bezier(.2, .8, .2, 1);--paper-w-mm: 210;--paper-h-mm: 297;--paper-margin-top-mm: 25;--paper-margin-bottom-mm: 25;--paper-margin-left-mm: 27;--paper-margin-right-mm: 27;--paper-zoom: 1;--mm: calc(3.7795275591px * var(--paper-zoom));--paper-w: calc(var(--paper-w-mm) * var(--mm));--paper-h: calc(var(--paper-h-mm) * var(--mm));--paper-margin-top: calc(var(--paper-margin-top-mm) * var(--mm));--paper-margin-bottom: calc(var(--paper-margin-bottom-mm) * var(--mm));--paper-margin-left: calc(var(--paper-margin-left-mm) * var(--mm));--paper-margin-right: calc(var(--paper-margin-right-mm) * var(--mm));--paper-content-w: calc( var(--paper-w) - var(--paper-margin-left) - var(--paper-margin-right) );--paper-content-h: calc( var(--paper-h) - var(--paper-margin-top) - var(--paper-margin-bottom) )}[data-platform=macos]:not([data-shell=web]){--titlebar-traffic-width: 78px}:root,[data-theme=light]{color-scheme:light;--bg: #f5f3ee;--bg-elev-1: #ffffff;--bg-elev-2: #f6f6f5;--bg-elev-3: #efefee;--paper: #ffffff;--paper-2: #fbfaf7;--fg: #1c1814;--fg-muted: #5b554c;--fg-subtle: #8a8276;--fg-disabled: #c0bcb3;--text: #1c1814;--text-2: #3a342c;--text-subtle: #6b6258;--text-faint: #9a8f80;--border: rgba(28, 24, 20, .1);--border-strong: rgba(28, 24, 20, .18);--border-focus: var(--fg);--paper-bg: #ffffff;--paper-fg: #1c1814;--paper-fg-muted: rgba(28, 24, 20, .65);--paper-fg-faint: rgba(28, 24, 20, .45);--hover: rgba(28, 24, 20, .05);--hover-strong: rgba(28, 24, 20, .07);--selected: rgba(28, 24, 20, .08);--selection: rgba(28, 24, 20, .1);--shadow-card-hover: 0 4px 12px rgba(28, 24, 20, .1), 0 1px 2px rgba(28, 24, 20, .06);--shadow-paper: 0 1px 1px rgba(0, 0, 0, .03), 0 8px 24px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-popover: 0 12px 32px rgba(28, 24, 20, .18), 0 2px 6px rgba(28, 24, 20, .08);--shadow-modal: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 24px 60px rgba(28, 24, 20, .22), 0 4px 12px rgba(28, 24, 20, .1);--shadow-toast: 0 8px 24px rgba(28, 24, 20, .15), 0 2px 6px rgba(28, 24, 20, .08);--backdrop: rgba(28, 24, 20, .32);--modal-bg: #ffffff;--pill-bg: rgba(28, 24, 20, .05);--pill-fg: var(--fg);--status-ok: #4f9a6c;--status-warn: #c87b00;--status-err: #c44a4a;--danger-soft: rgba(196, 74, 74, .1);--danger-soft-strong: rgba(196, 74, 74, .14);--danger-border: rgba(196, 74, 74, .35);--highlight-mark: rgba(28, 24, 20, .18);--ring-brand: rgba(28, 24, 20, .12);--ring-brand-strong: rgba(28, 24, 20, .4);--selection-paper: rgba(28, 24, 20, .14);--char-tint-default: rgba(28, 24, 20, .08);--page-break-line: rgba(28, 24, 20, .18);--primary-bg: #1c1814;--primary-fg: #ffffff;--primary-border: rgba(0, 0, 0, 0);--primary-bg-hover: #0f0d0a}[data-theme=dark]{color-scheme:dark;--bg: #222222;--bg-elev-1: #2a2a2a;--bg-elev-2: #1c1c1c;--bg-elev-3: #181818;--paper: #2a2a2a;--paper-2: #242424;--fg: #ececec;--fg-muted: #a8a8a4;--fg-subtle: #95918a;--fg-disabled: #4a4845;--text: #ececec;--text-2: #c5c2bc;--text-subtle: #b5ada0;--text-faint: #95918a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--border-focus: var(--fg);--paper-bg: #f6f6f5;--paper-fg: #1c1814;--paper-fg-muted: rgba(28, 24, 20, .65);--paper-fg-faint: rgba(28, 24, 20, .45);--hover: rgba(255, 255, 255, .06);--hover-strong: rgba(255, 255, 255, .1);--selected: rgba(255, 255, 255, .1);--selection: rgba(255, 255, 255, .12);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-paper: 0 1px 4px rgba(0, 0, 0, .55), 0 22px 56px rgba(0, 0, 0, .5), 0 0 0 1px rgba(0, 0, 0, .3);--shadow-popover: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3);--shadow-modal: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 24px 60px rgba(0, 0, 0, .55), 0 4px 12px rgba(0, 0, 0, .3);--shadow-toast: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .25);--backdrop: rgba(0, 0, 0, .55);--modal-bg: #2a2a2a;--pill-bg: rgba(255, 255, 255, .06);--pill-fg: var(--fg);--status-ok: #6cc28e;--status-warn: #e7a64a;--status-err: #e07070;--danger-soft: rgba(224, 112, 112, .14);--danger-soft-strong: rgba(224, 112, 112, .2);--danger-border: rgba(224, 112, 112, .45);--highlight-mark: rgba(255, 255, 255, .2);--ring-brand: rgba(255, 255, 255, .16);--ring-brand-strong: rgba(255, 255, 255, .55);--selection-paper: rgba(28, 24, 20, .16);--char-tint-default: rgba(28, 24, 20, .12);--page-break-line: rgba(255, 255, 255, .16);--primary-bg: #ececec;--primary-fg: #1c1814;--primary-border: rgba(0, 0, 0, 0);--primary-bg-hover: #ffffff;--brand-50: #2a2a2a;--brand-100: #333333;--brand-200: #4a4a4a;--brand-300: #6e6e6e;--brand-400: #9a9a9a;--brand-500: #ececec;--brand-600: #ffffff;--brand-700: #ececec;--brand-800: #ffffff;--brand-soft: #333333;--ink-50: #2a2a2a;--ink-100: #333333;--ink-200: #4a4a4a;--ink-300: #6e6e6e;--ink-400: #9a9a9a;--ink-500: #ececec;--ink-600: #ffffff;--ink-700: #ffffff;--ink-900: #ffffff}[data-theme=dark][data-paper=dark]{--paper-bg: #1c1c1c;--paper-fg: #ececec;--paper-fg-muted: rgba(255, 255, 255, .65);--paper-fg-faint: rgba(255, 255, 255, .42);--selection-paper: rgba(255, 255, 255, .16);--char-tint-default: rgba(255, 255, 255, .1);--page-break-line: rgba(255, 255, 255, .18);--highlight-mark: rgba(255, 255, 255, .2);--shadow-paper: 0 1px 4px rgba(0, 0, 0, .45), 0 12px 32px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .04)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:iA Writer Quattro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/iAWriterQuattroS-Regular-CS_Vpeb6.woff2) format("woff2")}@font-face{font-family:iA Writer Quattro;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/iAWriterQuattroS-Italic-DzF8or6q.woff2) format("woff2")}@font-face{font-family:iA Writer Quattro;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/iAWriterQuattroS-Bold-DzkVVaht.woff2) format("woff2")}@font-face{font-family:iA Writer Quattro;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/iAWriterQuattroS-BoldItalic-BRKpd2c3.woff2) format("woff2")}html,body,#root{margin:0;padding:0;width:100%;height:100%;font-family:var(--font-sans);font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:none;-webkit-user-select:none;overflow:hidden}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}button:focus{outline:none}button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--r-3);padding:8px 12px;outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}input::placeholder,textarea::placeholder{color:var(--fg-subtle)}input:hover,textarea:hover{border-color:var(--border-strong)}input:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--ring-brand)}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--selected);color:var(--fg)}[data-tauri-drag-region]{-webkit-app-region:drag;cursor:default}[data-tauri-drag-region] *{-webkit-app-region:no-drag}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--fg-disabled);background-clip:padding-box;border:2px solid transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r-3);background:var(--bg-elev-1);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-13);font-weight:500;border:1px solid var(--border);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.btn:hover{background:var(--bg-elev-2);border-color:var(--border-strong);transform:translateY(-.5px)}.btn:active{transform:translateY(.5px) scale(.985);transition-duration:80ms}.btn[disabled]{opacity:.45;pointer-events:none}.btn-primary{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-border)}.btn-primary:hover{background:var(--primary-bg-hover);border-color:var(--brand-500)}.btn-danger{background:transparent;color:var(--status-err);border-color:var(--border)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger-border)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:5px;background:var(--bg-elev-1);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--fs-11);border:1px solid var(--border);box-shadow:0 1px 0 var(--border)}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--pill-bg);color:var(--pill-fg);font-size:var(--fs-12);line-height:1.4;font-weight:500;white-space:nowrap;border:1px solid transparent}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.small{font-size:var(--fs-12)}.link-like{color:var(--brand-600);background:transparent;border:none;padding:0;font-family:var(--font-sans);font-size:var(--fs-13);cursor:pointer}.link-like:hover{text-decoration:underline}.hide-scroll{scrollbar-width:none}.hide-scroll::-webkit-scrollbar{display:none}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;display:grid;place-items:start center;padding-top:14vh;animation:fade-in var(--t-fast)}.modal{background:var(--modal-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-5);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;min-width:min(420px,92vw);max-width:600px;width:min(600px,92vw);max-height:80vh;overflow:hidden;animation:scale-in var(--t-med)}.modal-body{flex:1 1 auto;overflow:auto}.modal h2{margin:0;font-family:var(--font-sans);font-size:var(--fs-16);font-weight:600;letter-spacing:.005em}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:0;border-radius:var(--r-2);color:var(--fg-subtle);cursor:pointer;font-size:14px;line-height:1;transition:all var(--t-fast)}.modal-close:hover{background:var(--hover);color:var(--fg)}.modal-body{padding:var(--sp-5) var(--sp-6)}.modal-body:has(.settings-grid){padding:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:var(--sp-4) var(--sp-6) var(--sp-5)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:var(--fs-12);color:var(--fg-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.field-hint{font-size:var(--fs-12);color:var(--fg-muted)}.field-hint-warn{color:var(--status-warn, #b9651b)}.checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-13);color:var(--fg);user-select:none}.checkbox input{accent-color:var(--brand-500)}.cselect{position:relative;font-family:inherit;font-size:inherit}.cselect-trigger{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--r-3);padding:8px 12px;color:var(--fg);cursor:pointer;text-align:left;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.cselect-trigger:hover{border-color:var(--border-strong)}.cselect.is-open .cselect-trigger,.cselect-trigger:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--ring-brand)}.cselect-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cselect-value.is-placeholder{color:var(--fg-muted)}.cselect-caret{display:inline-flex;color:var(--fg-muted);transition:transform var(--t-fast)}.cselect.is-open .cselect-caret{transform:rotate(180deg)}.cselect-popover{position:fixed;z-index:1100;background:var(--modal-bg, var(--bg-elev-2));border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-toast, 0 6px 24px rgba(0, 0, 0, .12));padding:4px;max-height:240px;overflow-y:auto}.cselect-option{display:flex;align-items:center;width:100%;padding:8px 10px;border-radius:var(--r-2);font-size:inherit;color:var(--fg);cursor:pointer;background:transparent;text-align:left}.cselect-option.is-active{background:var(--hover)}.cselect-option.is-selected{color:var(--fg);font-weight:500}.settings-radio{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:var(--fs-13);cursor:pointer;color:var(--fg)}.settings-radio input{accent-color:var(--brand-500)}.settings-toggle{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:var(--fs-13);cursor:pointer;user-select:none;color:var(--fg)}.settings-toggle input{accent-color:var(--brand-500)}.settings-toggle.is-disabled{opacity:.5;cursor:not-allowed}.toast-host{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--modal-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-3);padding:10px 16px;font-size:var(--fs-13);box-shadow:var(--shadow-toast);animation:toast-slide-up var(--t-med);pointer-events:all}.toast.error{border-left:3px solid var(--status-err)}.toast.ok{border-left:3px solid var(--status-ok)}:root{--s-bg: #f3efe6;--s-surface: #fffdf8;--s-surface-2: #f6f2e9;--s-surface-3: #efeadd;--s-border: #e2dccd;--s-border-strong: #d3ccb9;--s-text: #2b2a26;--s-text-soft: #6b6557;--s-text-faint: #9a9384;--s-accent: #c8631a;--s-accent-soft: #f3e0cf;--s-accent-text: #ffffff;--s-danger: #c0392b;--s-danger-soft: #f6dcd8;--s-ok: #2f8f5b;--s-ok-soft: #d8efe1;--s-info: #2f6fb0;--s-info-soft: #d9e7f5;--s-warn: #b07d12;--s-warn-soft: #f5e9c9;--s-shadow: 0 8px 30px rgba(60, 50, 30, .08);--s-shadow-lg: 0 18px 50px rgba(60, 50, 30, .16);--s-radius: 12px;--s-radius-sm: 8px;--s-font: "iA Writer Quattro", ui-sans-serif, system-ui, -apple-system, sans-serif;--s-mono: "iA Writer Mono", ui-monospace, SFMono-Regular, monospace}[data-theme=dark]{--s-bg: #1c1c1a;--s-surface: #262624;--s-surface-2: #2d2d2a;--s-surface-3: #333330;--s-border: #3a3a36;--s-border-strong: #4a4943;--s-text: #e9e5da;--s-text-soft: #a8a294;--s-text-faint: #75705f;--s-accent: #e0791f;--s-accent-soft: #3a2a18;--s-danger: #e06a5a;--s-danger-soft: #3a211d;--s-ok: #4caf7d;--s-ok-soft: #1d2f24;--s-info: #5b9bd8;--s-info-soft: #1c2a38;--s-warn: #d6a83a;--s-warn-soft: #322a16;--s-shadow: 0 8px 30px rgba(0, 0, 0, .35);--s-shadow-lg: 0 18px 50px rgba(0, 0, 0, .5)}*{box-sizing:border-box}body{margin:0;font-family:var(--s-font);color:var(--s-text);background:var(--s-bg);-webkit-font-smoothing:antialiased}.studio-root{min-height:100vh;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:inherit;font-size:.9rem;font-weight:500;line-height:1;padding:.55rem .9rem;border-radius:var(--s-radius-sm);border:1px solid var(--s-border-strong);background:var(--s-surface);color:var(--s-text);cursor:pointer;transition:background .12s,border-color .12s,opacity .12s,transform .04s;white-space:nowrap}.btn:hover:not(:disabled){background:var(--s-surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-accent-text)}.btn-primary:hover:not(:disabled){background:#b3571540;background:color-mix(in srgb,var(--s-accent) 88%,black)}.btn-danger{background:var(--s-danger);border-color:var(--s-danger);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--s-danger) 88%,black)}.btn-ghost{background:transparent;border-color:transparent;color:var(--s-text-soft)}.btn-ghost:hover:not(:disabled){background:var(--s-surface-2);color:var(--s-text)}.btn-sm{font-size:.82rem;padding:.35rem .6rem}.btn-block{width:100%}.btn-icon{padding:.4rem;width:2.4rem;height:2.4rem;font-size:1.45rem;line-height:1}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.78rem;font-weight:600;color:var(--s-text-soft)}.input,.textarea,.select{font:inherit;font-size:.92rem;color:var(--s-text);background:var(--s-surface);border:1px solid var(--s-border-strong);border-radius:var(--s-radius-sm);padding:.55rem .7rem;width:100%}.textarea{resize:vertical;min-height:5rem;line-height:1.5}.input:focus,.textarea:focus,.select:focus{outline:2px solid var(--s-accent);outline-offset:-1px;border-color:var(--s-accent)}.card{background:var(--s-surface);border:1px solid var(--s-border);border-radius:var(--s-radius);box-shadow:var(--s-shadow)}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}.badge-draft{background:var(--s-surface-3);color:var(--s-text-soft)}.badge-in_review{background:var(--s-info-soft);color:var(--s-info)}.badge-approved{background:var(--s-ok-soft);color:var(--s-ok)}.badge-rejected{background:var(--s-danger-soft);color:var(--s-danger)}.badge-changes_requested{background:var(--s-warn-soft);color:var(--s-warn)}.badge-role{background:var(--s-surface-3);color:var(--s-text-soft)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-card{width:100%;max-width:23rem;background:var(--s-surface);border:1px solid var(--s-border);border-radius:var(--s-radius);box-shadow:var(--s-shadow-lg);padding:2.25rem 2rem;display:flex;flex-direction:column;gap:1rem}.auth-brand{display:flex;align-items:baseline;gap:.4rem}.auth-logo{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.auth-logo-sub{font-size:1.5rem;font-weight:300;color:var(--s-accent)}.auth-tagline{margin:-.5rem 0 .5rem;font-size:.88rem;color:var(--s-text-soft)}.auth-error{margin:0;font-size:.85rem;color:var(--s-danger);background:var(--s-danger-soft);padding:.5rem .65rem;border-radius:var(--s-radius-sm)}.auth-hint{margin:0;font-size:.78rem;color:var(--s-text-faint);text-align:center}.topbar{display:flex;align-items:center;gap:1rem;height:3.25rem;padding:0 1.1rem;background:var(--s-surface);border-bottom:1px solid var(--s-border);position:sticky;top:0;z-index:30}.topbar-logo{font-weight:700;letter-spacing:-.01em;cursor:pointer;text-decoration:none;color:var(--s-text)}.topbar-logo span{color:var(--s-accent);font-weight:300}.topbar-spacer{flex:1}.topbar-user{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--s-text-soft)}.crumbs{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--s-text-soft);min-width:0}.crumbs a{color:var(--s-text-soft);text-decoration:none}.crumbs a:hover{color:var(--s-text);text-decoration:underline}.crumbs .sep{color:var(--s-text-faint)}.crumbs .cur{color:var(--s-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.page-head{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}.page-title{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}.page-sub{margin:.2rem 0 0;font-size:.88rem;color:var(--s-text-soft)}.spacer{flex:1}.row{display:flex;align-items:center;gap:.5rem}.wrap{flex-wrap:wrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem}.center-screen{min-height:100vh;display:grid;place-items:center;color:var(--s-text-soft)}.spinner{width:1.4rem;height:1.4rem;border:2px solid var(--s-border-strong);border-top-color:var(--s-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:3rem 1rem;color:var(--s-text-faint)}.empty-title{font-size:1rem;font-weight:600;color:var(--s-text-soft);margin:0 0 .35rem}.toast-host{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:.5rem;align-items:center}.toast{background:var(--s-text);color:var(--s-bg);font-size:.85rem;padding:.6rem .9rem;border-radius:var(--s-radius-sm);box-shadow:var(--s-shadow-lg);max-width:24rem}.toast-error{background:var(--s-danger);color:#fff}.toast-ok{background:var(--s-ok);color:#fff}.modal-backdrop{position:fixed;inset:0;background:#14100a73;display:grid;place-items:center;z-index:80;padding:1rem}.modal{width:100%;max-width:30rem;background:var(--s-surface);border-radius:var(--s-radius);box-shadow:var(--s-shadow-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.9rem;max-height:90vh;overflow:auto}.modal-title{margin:0;font-size:1.1rem;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.client-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.1rem;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s,transform .06s,box-shadow .12s}.client-card:hover{border-color:var(--s-accent);transform:translateY(-1px)}.client-card-name{font-size:1.05rem;font-weight:700}.client-card-counts{font-size:.82rem;color:var(--s-text-soft)}.client-card-flags{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.workspace{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.5rem;align-items:start}.ws-side{display:flex;flex-direction:column;gap:.2rem;position:sticky;top:4.25rem}.ws-side-head{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--s-text-faint);margin:.9rem 0 .2rem;padding:0 .2rem}.ws-folder{display:flex;flex-direction:column;gap:.15rem;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--s-radius-sm);padding:.5rem .6rem;cursor:pointer;font:inherit;color:var(--s-text);transition:background .1s}.ws-folder:hover{background:var(--s-surface-2)}.ws-folder.is-active{background:var(--s-accent-soft);border-color:var(--s-accent)}.ws-folder-flat{flex-direction:row;align-items:center}.ws-folder-name{font-weight:600;font-size:.92rem}.ws-folder-range{font-size:.74rem;color:var(--s-text-faint)}.ws-folder-progress{font-size:.74rem;color:var(--s-text-soft);display:flex;flex-direction:column;gap:.25rem}.ws-progress-bar{height:4px;background:var(--s-surface-3);border-radius:999px;overflow:hidden}.ws-progress-fill{display:block;height:100%;background:var(--s-accent)}.ws-side-hint{font-size:.78rem;color:var(--s-text-faint);margin:.1rem .2rem;line-height:1.4}.ws-folder-wrap{position:relative}.ws-folder-wrap .ws-folder{width:100%}.ws-folder-edit{position:absolute;top:.35rem;right:.35rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:var(--s-radius-sm);background:transparent;color:var(--s-text-faint);font:inherit;font-size:1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .1s,background .1s,color .1s}.ws-folder-wrap:hover .ws-folder-edit,.ws-folder-edit:focus-visible{opacity:1}.ws-folder-edit:hover{background:var(--s-surface-3);color:var(--s-text)}.ws-folder.is-drop,.ws-folder-wrap.is-drop .ws-folder{background:var(--s-accent-soft);outline:2px dashed var(--s-accent);outline-offset:-2px}.item-row.is-dragging{opacity:.4}.ctx-backdrop{position:fixed;inset:0;z-index:60}.ctx-menu{position:fixed;z-index:61;min-width:11rem;max-width:16rem;max-height:18rem;overflow-y:auto;display:flex;flex-direction:column;gap:.1rem;padding:.3rem;background:var(--s-surface);border:1px solid var(--s-border);border-radius:var(--s-radius-sm);box-shadow:var(--s-shadow-lg)}.ctx-menu-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--s-text-faint);padding:.3rem .5rem .2rem}.ctx-menu-item{text-align:left;background:transparent;border:none;border-radius:var(--s-radius-sm);padding:.45rem .5rem;font:inherit;font-size:.9rem;color:var(--s-text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-menu-item:hover{background:var(--s-surface-2)}.ctx-menu-empty{font-size:.82rem;color:var(--s-text-faint);padding:.3rem .5rem .45rem}.ctx-menu-sep{height:1px;background:var(--s-border);margin:.2rem .3rem}.ctx-menu-danger{color:var(--s-danger)}.ctx-menu-danger:hover{background:var(--s-danger-soft)}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.item-row{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:var(--s-surface);border:1px solid var(--s-border);border-radius:var(--s-radius-sm);cursor:pointer;transition:border-color .1s,background .1s}.item-row:hover{border-color:var(--s-border-strong);background:var(--s-surface-2)}.item-kind{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:4px;flex-shrink:0}.item-kind-idea{background:var(--s-info-soft);color:var(--s-info)}.item-kind-script{background:var(--s-accent-soft);color:var(--s-accent)}.item-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.item-linked{font-size:.72rem;color:var(--s-text-faint)}.item-time{font-size:.76rem;color:var(--s-text-faint);white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1fr 22rem;gap:1.25rem;align-items:start}.detail-main{padding:1.25rem}.detail-side{display:flex;flex-direction:column;gap:1rem;position:sticky;top:4.25rem}.detail-side>.card{padding:1.1rem;box-shadow:none}.detail-side-head{margin:0 0 .6rem;font-size:.95rem;font-weight:700}.detail-title-static{margin:0 0 .6rem;font-size:1.3rem}.detail-notes-static{white-space:pre-wrap;line-height:1.6;color:var(--s-text);margin:0}.decision-note{background:var(--s-warn-soft);color:var(--s-warn);padding:.5rem .65rem;border-radius:var(--s-radius-sm);font-size:.85rem;margin:0 0 .75rem;white-space:pre-wrap}.page-wide{max-width:1320px;padding-bottom:1.25rem}.editor-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}.editor-title-input{font:inherit;font-size:1.3rem;font-weight:700;border:1px solid transparent;background:transparent;color:var(--s-text);border-radius:var(--s-radius-sm);padding:.2rem .4rem;min-width:12rem}.editor-title-input:hover{border-color:var(--s-border)}.editor-title-input:focus{outline:none;border-color:var(--s-accent);background:var(--s-surface)}.editor-layout{display:flex;gap:1.25rem;align-items:stretch;height:calc(100vh - 9.5rem)}.editor-pane{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--s-surface-2);border:1px solid var(--s-border);border-radius:var(--s-radius);overflow:hidden}.editor-layout .detail-side{width:22rem;flex-shrink:0;position:static;overflow-y:auto}.recovery-note{padding:2rem;color:var(--s-danger)}.comments-head{margin:0 0 .6rem;font-size:.95rem;font-weight:700}.comments-empty{color:var(--s-text-faint);font-size:.85rem;margin:0 0 .75rem}.comment-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.comment{background:var(--s-surface-2);border:1px solid var(--s-border);border-radius:var(--s-radius-sm);padding:.55rem .65rem}.comment.is-resolved{opacity:.55}.comment-meta{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.comment-author{font-weight:600;font-size:.82rem}.comment-time{font-size:.72rem;color:var(--s-text-faint);margin-left:auto}.comment-body{margin:0;font-size:.88rem;line-height:1.5;white-space:pre-wrap}.comment-actions{display:flex;gap:.2rem;margin-top:.3rem}.comment-compose{display:flex;flex-direction:column;gap:.45rem}.user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.user-row{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem}.user-main{display:flex;flex-direction:column;min-width:11rem}.user-name{font-weight:600}.user-email{font-size:.8rem;color:var(--s-text-soft)}.user-clients{font-size:.82rem;color:var(--s-text-soft)}.user-date{font-size:.78rem;color:var(--s-text-faint)}.checklist{display:flex;flex-direction:column;gap:.3rem;max-height:12rem;overflow-y:auto;border:1px solid var(--s-border);border-radius:var(--s-radius-sm);padding:.5rem .6rem}.check{display:flex;align-items:center;gap:.5rem;font-size:.9rem}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr)}.ws-side{position:static;flex-direction:row;flex-wrap:wrap}.detail-grid{grid-template-columns:1fr}.detail-side{position:static}.editor-layout{flex-direction:column;height:auto}.editor-layout .detail-side{width:auto}.editor-pane{flex:none;height:70vh}.page-head,.editor-head{flex-wrap:wrap}.editor-title-input{min-width:0;flex:1 1 100%}}.detail-origin summary{cursor:pointer}.detail-origin-summary{font-size:.85rem;font-weight:700;color:var(--s-text-soft)}.detail-origin-title{margin:.6rem 0 .3rem;font-weight:600;font-size:.92rem}.detail-origin-notes{margin:0;font-size:.85rem;line-height:1.55;color:var(--s-text-soft);white-space:pre-wrap}.topbar-account{color:var(--s-text-soft);text-decoration:none;font-weight:500}.topbar-account:hover{color:var(--s-text);text-decoration:underline}.settings-stack{display:flex;flex-direction:column;gap:1rem}.settings-card{padding:1.25rem}.settings-head{margin:0 0 .75rem;font-size:1rem;font-weight:700}.settings-hint{margin:-.4rem 0 .75rem;font-size:.83rem;color:var(--s-text-soft)}.danger-zone{border-color:var(--s-danger-soft)}.people-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.people-row{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--s-surface-2);border:1px solid var(--s-border);border-radius:var(--s-radius-sm)}.btn.is-active{background:var(--s-accent-soft);border-color:var(--s-accent);color:var(--s-accent)}[data-theme=dark] .btn.is-active{color:var(--s-text)}.editor-host{position:relative}.editor-empty-hint{position:absolute;top:60px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-faint, var(--text-subtle));opacity:0;pointer-events:none;white-space:nowrap;transition:opacity var(--t-med)}.editor-empty-hint .kbd-inline{font-size:10px;padding:1px 5px}.editor-host:has(.editor-root[data-empty="1"]) .editor-empty-hint{opacity:.7}.editor-root{outline:none;width:var(--paper-content-w);max-width:100%;margin:0 auto;font-family:var(--font-paper);font-size:var(--fs-14);line-height:1.6;color:var(--paper-fg);caret-color:var(--brand-500);font-feature-settings:"liga" 1,"calt" 1}.editor-root .block{position:relative;margin:0;padding:0;white-space:pre-wrap;word-break:break-word}.editor-root .block+.block{margin-top:4px}.editor-root .block-scriptz-character+.block-scriptz-dialog,.editor-root .block-scriptz-parenthetical+.block-scriptz-dialog,.editor-root .block-scriptz-character+.block-scriptz-parenthetical{margin-top:0}.editor-root .block-scriptz-action+.block-scriptz-character,.editor-root .block-scriptz-dialog+.block-scriptz-action,.editor-root .block-scriptz-dialog+.block-scriptz-character,.editor-root .block-scriptz-action+.block-scriptz-action{margin-top:14px}.editor-root .block-scriptz-caption+*{margin-top:14px}.editor-root .block+.block-scriptz-caption{margin-top:22px}.editor-root .block-scriptz-action{text-align:left}.editor-root .block-scriptz-caption{font-weight:700;font-size:var(--fs-14);letter-spacing:.04em;text-transform:uppercase}.editor-root .block-scriptz-character{text-align:center;text-transform:uppercase;font-weight:700;letter-spacing:.06em;margin-top:18px}.editor-root .block-scriptz-parenthetical{margin-left:22%;margin-right:22%;font-style:italic;color:var(--paper-fg-muted);text-align:left}.editor-root .block-scriptz-dialog{margin-left:16%;margin-right:16%;text-align:left}.editor-root .block-scriptz-camera{text-align:right;text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:var(--fs-13);color:var(--paper-fg-muted)}.editor-root .block-scriptz-sfx{text-align:left;font-weight:500;letter-spacing:.02em;font-size:var(--fs-13);color:var(--paper-fg-muted);text-transform:uppercase}.editor-root[data-highlighting=on] .block-scriptz-character .tint-host,.editor-root[data-highlighting=on] .block-scriptz-dialog .tint-host,.editor-root[data-highlighting=on] .block-scriptz-parenthetical .tint-host{background:var(--char-tint, var(--char-tint-default));box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:1px 4px;border-radius:3px}.editor-root ::selection{background:var(--selection-paper)}.scriptz-marge-swatch{width:12px;height:12px;padding:0;border:1.5px solid rgba(255,255,255,.85);border-radius:999px;cursor:pointer;box-shadow:0 1px 3px #0000002e;transition:transform .12s ease,opacity .12s ease;z-index:5}.scriptz-marge-swatch:hover{transform:scale(1.18)}.scriptz-marge-swatch:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.scriptz-color-popover{background:var(--modal-bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-popover);padding:10px;font-family:var(--font-sans);font-size:13px;z-index:55;pointer-events:auto;user-select:none;display:flex;flex-direction:column;gap:8px}.scriptz-color-popover-title{font-weight:700;letter-spacing:.04em;font-size:11px;color:var(--fg-muted);text-transform:uppercase}.scriptz-color-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.scriptz-color-swatch{width:100%;aspect-ratio:1;padding:0;border:1px solid rgba(0,0,0,.1);border-radius:var(--r-2);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.scriptz-color-swatch:hover{transform:scale(1.08)}.scriptz-color-swatch.is-current{outline:2px solid var(--border-focus);outline-offset:2px}.scriptz-color-hex-row{display:flex;gap:6px}.scriptz-color-hex-input{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border);border-radius:var(--r-2);background:var(--bg-elev-2);color:var(--fg);font-family:var(--font-mono, monospace);font-size:12px}.scriptz-color-hex-input:focus{outline:none;border-color:var(--border-focus)}.scriptz-color-hex-apply{padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-2);background:var(--bg-elev-1);color:var(--fg);font-size:12px;cursor:pointer}.scriptz-color-hex-apply:disabled{cursor:not-allowed;opacity:.5}.scriptz-color-hex-apply:not(:disabled):hover{background:var(--bg-elev-3)}.scriptz-color-reset{padding:4px 8px;border:1px solid transparent;border-radius:var(--r-2);background:transparent;color:var(--fg-muted);font-size:12px;cursor:pointer;text-align:left}.scriptz-color-reset:hover{background:var(--selected);color:var(--fg)}.script-shell{flex:1 1 0;min-height:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.paper-canvas{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:auto;background:var(--bg);display:flex;flex-direction:column;align-items:center;padding:var(--sp-5);scroll-padding-top:60px;cursor:text}.paper-canvas .paper-sheet{cursor:text}.paper-sheet{position:relative;width:var(--paper-w);min-height:var(--paper-h);padding:var(--paper-margin-top) 0 var(--paper-margin-bottom);background:var(--paper-bg);color:var(--paper-fg);border-radius:var(--r-4);box-shadow:var(--shadow-paper);flex-shrink:0}.script-status{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);font-family:var(--font-sans);font-size:var(--fs-12);color:var(--fg-muted);background:var(--bg);border-top:1px solid var(--border);user-select:none;flex-shrink:0}.script-status .saving-indicator{display:inline-flex;align-items:center;gap:8px}.script-status .dot{width:7px;height:7px;border-radius:50%;background:var(--fg-disabled)}.script-status .dot.saving{background:var(--brand-500);animation:pulse-dot 1.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.quick-mode-toggle{position:absolute;top:var(--sp-3);right:var(--sp-5);z-index:5;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev-1);color:var(--fg-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),opacity var(--t-fast)}.quick-mode-toggle:hover:not(:disabled){background:var(--bg-elev-2);color:var(--fg);border-color:var(--border-strong)}.quick-mode-toggle.is-on{background:var(--brand-500);color:#fff;border-color:var(--brand-500)}.quick-mode-toggle.is-on:hover:not(:disabled){background:var(--brand-600, var(--brand-500));color:#fff}.quick-mode-toggle.is-disabled,.quick-mode-toggle:disabled{opacity:.45;cursor:not-allowed}.script-shell{position:relative}.focus-toggle{position:fixed;top:calc(40px + var(--web-header-offset, 0px));right:20px;z-index:10;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--border);border-radius:999px;color:var(--text-subtle);box-shadow:var(--shadow-paper);cursor:pointer;transition:all var(--t-fast)}.focus-toggle:hover{color:var(--text)}.recovery-panel{width:var(--paper-content-w);max-width:100%;margin:0 auto;padding:var(--sp-6);background:var(--paper-bg);color:var(--paper-fg);border-radius:var(--r-3);border:1px solid var(--border);box-shadow:var(--shadow-paper);font-family:var(--font-sans);cursor:default}.recovery-title{margin:0 0 var(--sp-3);font-size:var(--fs-16);font-weight:700;color:var(--status-err, var(--brand-500))}.recovery-body{margin:0 0 var(--sp-3);font-size:var(--fs-14);line-height:1.5}.recovery-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap}.recovery-details{margin-top:var(--sp-5);font-size:var(--fs-12);color:var(--fg-muted)}.recovery-details summary{cursor:pointer;user-select:none}.recovery-raw{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--bg-elev-1);border-radius:var(--r-2);max-height:240px;overflow:auto;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-11);white-space:pre-wrap;word-break:break-all}
