.act-outline-section[data-v-10fcc629]{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.25rem}.act-outline-header[data-v-10fcc629]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.act-outline-description[data-v-10fcc629]{color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}.act-plot-builder-link[data-v-10fcc629]{color:var(--color-accent);white-space:nowrap;transition:opacity var(--transition-fast);flex-shrink:0;font-size:.8125rem;text-decoration:none}.act-plot-builder-link[data-v-10fcc629]:hover{opacity:.75}.act-outline-fields[data-v-10fcc629]{grid-template-columns:1fr 1fr;gap:1.25rem;padding-bottom:2rem;display:grid}.act-outline-field[data-v-10fcc629]{flex-direction:column;gap:.375rem;display:flex}.act-outline-field-label[data-v-10fcc629]{align-items:baseline;gap:.5rem;display:flex}.act-outline-field-name[data-v-10fcc629]{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.act-outline-field-hint[data-v-10fcc629]{color:var(--color-text-muted);font-size:.75rem}.act-outline-field-input[data-v-10fcc629]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:60px;color:var(--color-text);font-size:.875rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);padding:.625rem .75rem;line-height:1.6;overflow:hidden}.act-outline-field-input[data-v-10fcc629]:focus{border-color:var(--color-border-hover);outline:none}.act-chapters-list[data-v-10fcc629]{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.25rem;padding-bottom:2rem}.act-chapters-header[data-v-10fcc629]{margin-bottom:1.5rem}.act-chapters-heading[data-v-10fcc629]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.act-chapters-description[data-v-10fcc629]{color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}.act-chapters-items[data-v-10fcc629]{flex-direction:column;gap:1.25rem;display:flex}.act-chapter-row[data-v-10fcc629]{flex-direction:column;gap:.375rem;display:flex}.act-chapter-title-row[data-v-10fcc629]{align-items:center;display:flex}.act-chapter-link[data-v-10fcc629]{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.875rem;font-weight:500;text-decoration:none}.act-chapter-link[data-v-10fcc629]:hover{color:var(--color-text)}.act-chapter-outline-input[data-v-10fcc629]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:60px;color:var(--color-text);font-size:.875rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);padding:.625rem .75rem;line-height:1.6;overflow:hidden}.act-chapter-outline-input[data-v-10fcc629]:focus{border-color:var(--color-border-hover);outline:none}.act-chapter-outline-input[data-v-10fcc629]::placeholder{color:var(--color-text-faint)}.act-chapters-empty[data-v-10fcc629]{color:var(--color-text-faint);font-size:.875rem}.auth-layout[data-v-1c3859e2]{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card[data-v-1c3859e2]{width:100%;max-width:360px;padding:2.5rem 2rem}.auth-logo[data-v-1c3859e2]{letter-spacing:-.02em;margin-bottom:.375rem;font-size:1.5rem;font-weight:600}.auth-subtitle[data-v-1c3859e2]{color:var(--color-text-muted);margin-bottom:2rem;font-size:.875rem}.auth-logo[data-v-1c3859e2]:last-child{margin-bottom:2rem}.accent[data-v-1c3859e2]{color:var(--color-accent)}.chapter-guidance[data-v-55efbbcf]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.75rem;margin-bottom:1.75rem;padding:1rem 1.125rem;display:flex}.chapter-guidance-header[data-v-55efbbcf]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.chapter-guidance-label[data-v-55efbbcf]{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);font-size:.6875rem;font-weight:500}.chapter-guidance-btn[data-v-55efbbcf]{color:var(--color-accent);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0;font-size:.8125rem}.chapter-guidance-btn[data-v-55efbbcf]:hover{opacity:.75}.chapter-guidance-loading[data-v-55efbbcf]{color:var(--color-text-faint);align-items:center;gap:.5rem;font-size:.8125rem;font-style:italic;display:flex}.chapter-guidance-dot[data-v-55efbbcf]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-55efbbcf}@keyframes pulse-55efbbcf{0%,to{opacity:1}50%{opacity:.3}}.chapter-beats[data-v-55efbbcf]{flex-wrap:wrap;align-items:baseline;gap:.375rem;line-height:1.6;display:flex}.chapter-beat[data-v-55efbbcf]{align-items:baseline;gap:.375rem;display:inline-flex}.chapter-beat-arrow[data-v-55efbbcf]{color:var(--color-text-faint);flex-shrink:0;font-size:.75rem}.chapter-beat-text[data-v-55efbbcf]{color:var(--color-text-secondary);font-size:.8125rem}.chapter-beat-but[data-v-55efbbcf]{color:var(--color-text);font-weight:500}.chapter-beat-so[data-v-55efbbcf]{color:var(--color-text-muted)}.chapter-guidance-error[data-v-55efbbcf]{color:var(--color-text-faint);font-size:.8125rem}.chapter-outline-nudge[data-v-55efbbcf]{color:var(--color-text-faint);margin-bottom:1.5rem;font-size:.8125rem;line-height:1.5}.chapter-outline-nudge-link[data-v-55efbbcf]{color:var(--color-accent);transition:opacity var(--transition-fast);margin-left:.25rem;text-decoration:none}.chapter-outline-nudge-link[data-v-55efbbcf]:hover{opacity:.8}.arc-layout[data-v-95fa6e6c]{background:var(--color-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.arc-header[data-v-95fa6e6c]{border-bottom:1px solid var(--color-border);background:var(--color-sidebar);flex-shrink:0;align-items:center;gap:1rem;height:44px;padding:0 1.25rem;display:flex}.arc-back[data-v-95fa6e6c]{color:var(--color-text-muted);transition:color var(--transition-fast);white-space:nowrap;font-size:.8125rem;text-decoration:none}.arc-back[data-v-95fa6e6c]:hover{color:var(--color-text-secondary)}.arc-header-end[data-v-95fa6e6c]{align-items:center;gap:.875rem;margin-left:auto;display:flex}.arc-summary-success[data-v-95fa6e6c]{color:var(--color-accent);font-size:.8125rem}.arc-generate-btn[data-v-95fa6e6c]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;padding:.375rem .875rem;font-size:.8125rem;font-weight:500}.arc-generate-btn[data-v-95fa6e6c]:disabled{opacity:.5;cursor:not-allowed}.arc-generate-btn[data-v-95fa6e6c]:not(:disabled):hover{opacity:.85}.arc-title[data-v-95fa6e6c]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.arc-body[data-v-95fa6e6c]{flex:1;display:flex;overflow:hidden}.arc-conversation[data-v-95fa6e6c]{border-right:1px solid var(--color-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.arc-messages[data-v-95fa6e6c]{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.arc-msg-muse[data-v-95fa6e6c]{color:var(--color-text);white-space:pre-wrap;max-width:640px;font-size:.9375rem;line-height:1.7}.arc-msg-user[data-v-95fa6e6c]{color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:pre-wrap;align-self:flex-end;max-width:640px;padding:.625rem .875rem;font-size:.9375rem;line-height:1.7}.arc-cursor[data-v-95fa6e6c]{background:var(--color-accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink-95fa6e6c;display:inline-block}@keyframes blink-95fa6e6c{50%{opacity:0}}.arc-status-bar[data-v-95fa6e6c]{color:var(--color-text-faint);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1.75rem;font-size:.8125rem;font-style:italic;display:flex}.arc-status-dot[data-v-95fa6e6c]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-95fa6e6c}@keyframes pulse-95fa6e6c{0%,to{opacity:1}50%{opacity:.3}}.arc-input-area[data-v-95fa6e6c]{border-top:1px solid var(--color-border);flex-shrink:0;align-items:flex-end;gap:.75rem;padding:1rem 1.75rem 1.25rem;display:flex}.arc-input[data-v-95fa6e6c]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);flex:1;padding:.625rem .75rem;line-height:1.6}.arc-input[data-v-95fa6e6c]:focus{border-color:var(--color-border-hover);outline:none}.arc-input[data-v-95fa6e6c]::placeholder{color:var(--color-text-faint)}.arc-input[data-v-95fa6e6c]:disabled{opacity:.5;cursor:not-allowed}.arc-send[data-v-95fa6e6c]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;flex-shrink:0;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500}.arc-send[data-v-95fa6e6c]:disabled{opacity:.4;cursor:not-allowed}.arc-send[data-v-95fa6e6c]:not(:disabled):hover{opacity:.85}.arc-panel[data-v-95fa6e6c]{background:var(--color-sidebar);flex-shrink:0;width:280px;overflow:hidden}.arc-panel-inner[data-v-95fa6e6c]{flex-direction:column;gap:1.25rem;height:100%;padding:1.5rem 1.25rem;display:flex;overflow-y:auto}.arc-panel-header[data-v-95fa6e6c]{justify-content:space-between;align-items:baseline;display:flex}.arc-panel-title[data-v-95fa6e6c]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.arc-panel-count[data-v-95fa6e6c]{color:var(--color-text-faint);font-variant-numeric:tabular-nums;font-size:.75rem}.arc-panel-name[data-v-95fa6e6c]{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding-bottom:1.25rem;font-size:.875rem;font-weight:500}.arc-fields-list[data-v-95fa6e6c]{flex-direction:column;gap:.125rem;display:flex}.arc-field-item[data-v-95fa6e6c]{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;align-items:flex-start;gap:.625rem;padding:.5rem .625rem;display:flex}.arc-field-item[data-v-95fa6e6c]:hover,.arc-field-item--active[data-v-95fa6e6c]{background:var(--color-surface-hover)}.arc-field-dot[data-v-95fa6e6c]{background:var(--color-border);width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%;flex-shrink:0;margin-top:.3rem}.arc-field-item--filled .arc-field-dot[data-v-95fa6e6c]{background:var(--color-accent)}.arc-field-text[data-v-95fa6e6c]{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.arc-field-label[data-v-95fa6e6c]{color:var(--color-text-faint);transition:color var(--transition-fast);font-size:.8125rem}.arc-field-item--filled .arc-field-label[data-v-95fa6e6c]{color:var(--color-text-secondary)}.arc-field-item--active .arc-field-label[data-v-95fa6e6c]{color:var(--color-text)}.arc-field-value[data-v-95fa6e6c]{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.arc-field-hint[data-v-95fa6e6c]{color:var(--color-text-faint);font-size:.75rem;font-style:italic}.arc-field-check[data-v-95fa6e6c]{color:var(--color-accent);flex-shrink:0;margin-top:.2rem;font-size:.6875rem}.cc-layout[data-v-8de0cba3]{background:var(--color-bg);grid-template-columns:260px 1fr;height:100vh;display:grid;overflow:hidden}.cc-char-panel[data-v-8de0cba3]{border-right:1px solid var(--color-border);background:var(--color-sidebar);flex-direction:column;display:flex;overflow:hidden}.cc-portrait[data-v-8de0cba3]{aspect-ratio:1;background:var(--color-surface);flex-shrink:0;width:100%;position:relative;overflow:hidden}.cc-portrait-img[data-v-8de0cba3]{object-fit:cover;width:100%;height:100%;display:block}.cc-portrait-placeholder[data-v-8de0cba3]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.cc-portrait-initials-lg[data-v-8de0cba3]{color:var(--color-text-faint);-webkit-user-select:none;user-select:none;opacity:.4;font-size:5rem;font-weight:700}.cc-portrait-overlay[data-v-8de0cba3]{background:linear-gradient(#0000 0%,#000c 100%);flex-direction:column;gap:.2rem;padding:3rem 1rem 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.cc-portrait-name[data-v-8de0cba3]{color:#fff;font-size:1.125rem;font-weight:600;line-height:1.2}.cc-portrait-role[data-v-8de0cba3]{color:#ffffff8c;text-transform:capitalize;letter-spacing:.04em;font-size:.6875rem}.cc-char-identity[data-v-8de0cba3]{flex-direction:column;gap:.25rem;padding:1.25rem 1rem .5rem;display:flex}.cc-char-name[data-v-8de0cba3]{color:var(--color-text-secondary);font-size:1rem;font-weight:600}.cc-char-role[data-v-8de0cba3]{color:var(--color-text-faint);text-transform:capitalize;letter-spacing:.03em;font-size:.75rem}.cc-char-mode[data-v-8de0cba3]{color:var(--color-text-faint);border-top:1px solid var(--color-border);align-items:center;gap:.5rem;margin-top:auto;padding:.875rem 1rem;font-size:.75rem;display:flex}.cc-mode-dot[data-v-8de0cba3]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite cc-pulse-8de0cba3}.cc-main[data-v-8de0cba3]{flex-direction:column;display:flex;overflow:hidden}.cc-header[data-v-8de0cba3]{border-bottom:1px solid var(--color-border);background:var(--color-sidebar);flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 1.25rem;display:flex}.cc-back[data-v-8de0cba3]{color:var(--color-text-muted);transition:color var(--transition-fast);white-space:nowrap;font-size:.8125rem;text-decoration:none}.cc-back[data-v-8de0cba3]:hover{color:var(--color-text-secondary)}.cc-clear-btn[data-v-8de0cba3]{color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-family:inherit;font-size:.8125rem}.cc-clear-btn[data-v-8de0cba3]:hover:not(:disabled){color:var(--color-text-muted)}.cc-clear-btn[data-v-8de0cba3]:disabled{opacity:.3;cursor:not-allowed}.cc-messages[data-v-8de0cba3]{flex-direction:column;flex:1;gap:1.75rem;padding:2rem;display:flex;overflow-y:auto}.cc-empty[data-v-8de0cba3]{color:var(--color-text-faint);text-align:center;margin-top:4rem;font-size:.9375rem;font-style:italic;line-height:1.6}.cc-msg-char[data-v-8de0cba3]{align-items:flex-start;gap:.875rem;display:flex}.cc-msg-avatar[data-v-8de0cba3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:.125rem;display:flex;overflow:hidden}.cc-msg-avatar-img[data-v-8de0cba3]{object-fit:cover;width:100%;height:100%}.cc-msg-avatar-initials[data-v-8de0cba3]{color:var(--color-text-faint);-webkit-user-select:none;user-select:none;font-size:.6875rem;font-weight:600}.cc-msg-body[data-v-8de0cba3]{flex-direction:column;flex:1;gap:.5rem;display:flex}.cc-msg-text[data-v-8de0cba3]{color:var(--color-text);white-space:pre-wrap;word-break:break-word;font-size:.9375rem;line-height:1.8}.cc-msg-user[data-v-8de0cba3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 2px var(--radius-md);max-width:72%;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;align-self:flex-end;padding:.625rem .875rem;font-size:.9375rem;line-height:1.7}.cc-msg-user .cc-msg-text[data-v-8de0cba3]{color:var(--color-text-muted)}.cc-cursor[data-v-8de0cba3]{background:var(--color-accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite cc-blink-8de0cba3;display:inline-block}@keyframes cc-blink-8de0cba3{50%{opacity:0}}.cc-copy-btn[data-v-8de0cba3]{color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:.75rem}.cc-copy-btn[data-v-8de0cba3]:hover{color:var(--color-text-muted)}.cc-status[data-v-8de0cba3]{color:var(--color-text-faint);flex-shrink:0;align-items:center;gap:.5rem;padding:.25rem 2rem 0;font-size:.8125rem;font-style:italic;display:flex}.cc-status-dot[data-v-8de0cba3]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite cc-pulse-8de0cba3}@keyframes cc-pulse-8de0cba3{0%,to{opacity:1}50%{opacity:.3}}.cc-input-area[data-v-8de0cba3]{border-top:1px solid var(--color-border);flex-shrink:0;padding:1rem 2rem 1.25rem}.cc-input-wrap[data-v-8de0cba3]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast)}.cc-input-wrap[data-v-8de0cba3]:focus-within{border-color:var(--color-border-hover)}.cc-input[data-v-8de0cba3]{width:100%;color:var(--color-text);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;min-height:48px;max-height:200px;padding:.75rem .875rem .375rem;font-family:inherit;font-size:.9375rem;line-height:1.6;display:block;overflow-y:auto}.cc-input[data-v-8de0cba3]::placeholder{color:var(--color-text-faint)}.cc-input[data-v-8de0cba3]:disabled{opacity:.5;cursor:not-allowed}.cc-input-footer[data-v-8de0cba3]{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.3rem .625rem .3rem .875rem;display:flex}.cc-input-hint[data-v-8de0cba3]{color:var(--color-text-faint);opacity:.6;font-size:.6875rem}.cc-send[data-v-8de0cba3]{background:var(--color-accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:28px;height:28px;transition:opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.9375rem;line-height:1;display:flex}.cc-send[data-v-8de0cba3]:disabled{opacity:.35;cursor:not-allowed}.cc-send[data-v-8de0cba3]:not(:disabled):hover{opacity:.85}.cropper-container{-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;direction:ltr;font-size:0;line-height:0;position:relative}.cropper-container img{backface-visibility:hidden;image-orientation:0deg;width:100%;height:100%;display:block;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{position:absolute;inset:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{opacity:0;background-color:#fff}.cropper-modal{opacity:.5;background-color:#000}.cropper-view-box{outline:1px solid #3399ffbf;width:100%;height:100%;display:block;overflow:hidden}.cropper-dashed{opacity:.5;border:0 dashed #eee;display:block;position:absolute}.cropper-dashed.dashed-h{border-top-width:1px;border-bottom-width:1px;width:100%;height:33.3333%;top:33.3333%;left:0}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;width:33.3333%;height:100%;top:0;left:33.3333%}.cropper-center{opacity:.75;width:0;height:0;display:block;position:absolute;top:50%;left:50%}.cropper-center:before,.cropper-center:after{content:" ";background-color:#eee;display:block;position:absolute}.cropper-center:before{width:7px;height:1px;top:0;left:-3px}.cropper-center:after{width:1px;height:7px;top:-3px;left:0}.cropper-face,.cropper-line,.cropper-point{opacity:.1;width:100%;height:100%;display:block;position:absolute}.cropper-face{background-color:#fff;top:0;left:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;width:5px;top:0;right:-3px}.cropper-line.line-n{cursor:ns-resize;height:5px;top:-3px;left:0}.cropper-line.line-w{cursor:ew-resize;width:5px;top:0;left:-3px}.cropper-line.line-s{cursor:ns-resize;height:5px;bottom:-3px;left:0}.cropper-point{opacity:.75;background-color:#39f;width:5px;height:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;top:50%;right:-3px}.cropper-point.point-n{cursor:ns-resize;margin-left:-3px;top:-3px;left:50%}.cropper-point.point-w{cursor:ew-resize;margin-top:-3px;top:50%;left:-3px}.cropper-point.point-s{cursor:s-resize;margin-left:-3px;bottom:-3px;left:50%}.cropper-point.point-ne{cursor:nesw-resize;top:-3px;right:-3px}.cropper-point.point-nw{cursor:nwse-resize;top:-3px;left:-3px}.cropper-point.point-sw{cursor:nesw-resize;bottom:-3px;left:-3px}.cropper-point.point-se{cursor:nwse-resize;opacity:1;width:20px;height:20px;bottom:-3px;right:-3px}@media (width>=768px){.cropper-point.point-se{width:15px;height:15px}}@media (width>=992px){.cropper-point.point-se{width:10px;height:10px}}@media (width>=1200px){.cropper-point.point-se{opacity:.75;width:5px;height:5px}}.cropper-point.point-se:before{content:" ";opacity:0;background-color:#39f;width:200%;height:200%;display:block;position:absolute;bottom:-50%;right:-50%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{width:0;height:0;display:block;position:absolute}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.avatar-backdrop{z-index:500;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.avatar-modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;width:480px;max-width:calc(100vw - 2rem);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.avatar-modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.avatar-modal-title{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.avatar-modal-close{color:var(--color-text-faint);cursor:pointer;width:24px;height:24px;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.375rem;line-height:1;display:flex}.avatar-modal-close:hover{color:var(--color-text-secondary)}.avatar-modal-body{background:#111;flex-shrink:0;height:380px;overflow:hidden}.avatar-cropper-wrap{width:100%;height:100%}.avatar-cropper-img{max-width:100%;display:block}.avatar-empty-state{cursor:pointer;height:100%;transition:background var(--transition-fast);background:var(--color-surface);flex-direction:column;justify-content:center;align-items:center;gap:.625rem;display:flex}.avatar-empty-state:hover{background:var(--color-bg)}.avatar-empty-icon{color:var(--color-text-faint);font-size:2.5rem;line-height:1}.avatar-empty-label{color:var(--color-text-faint);font-size:.8125rem}.avatar-modal-footer{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.avatar-footer-left{gap:.5rem;display:flex}.avatar-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);padding:.375rem .75rem;font-family:inherit;font-size:.8125rem}.avatar-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.avatar-btn--primary{background:var(--color-accent);color:#fff;border-color:#0000}.avatar-btn--primary:hover:not(:disabled){opacity:.85}.avatar-btn--primary:disabled{opacity:.5;cursor:default}.avatar-btn--danger{color:#dc3c3c;background:0 0;border-color:#dc3c3c4d}.avatar-btn--danger:hover{color:#dc3c3c;background:#dc3c3c14;border-color:#dc3c3c80}.char-header[data-v-a68c5334]{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.char-header-text[data-v-a68c5334]{flex-direction:column;gap:.5rem;display:flex}.char-portrait[data-v-a68c5334]{cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative;overflow:hidden}.char-portrait-img[data-v-a68c5334]{object-fit:cover;width:100%;height:100%}.char-portrait-initials[data-v-a68c5334]{color:var(--color-text-faint);-webkit-user-select:none;user-select:none;font-size:2.25rem;font-weight:600}.char-portrait-overlay[data-v-a68c5334]{color:#fff;opacity:0;transition:opacity var(--transition-fast);background:#00000073;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;inset:0}.char-portrait:hover .char-portrait-overlay[data-v-a68c5334]{opacity:1}.char-talk-btn[data-v-a68c5334]{color:var(--color-accent);white-space:nowrap;transition:opacity var(--transition-fast);font-size:.8125rem;text-decoration:none}.char-talk-btn[data-v-a68c5334]:hover{opacity:.75}.doc-meta[data-v-a68c5334]{align-items:center;gap:.75rem;margin-bottom:0;display:flex}.role-select[data-v-a68c5334]{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.8125rem;font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:.25rem .5rem}.role-select[data-v-a68c5334]:hover,.role-select[data-v-a68c5334]:focus{border-color:var(--color-border-hover);color:var(--color-text-secondary);outline:none}.role-select option[data-v-a68c5334]{background:var(--color-surface);color:var(--color-text)}.arc-section[data-v-a68c5334]{border-top:1px solid var(--color-border);margin-top:3rem;padding-top:1.25rem}.arc-toggle-row[data-v-a68c5334]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.arc-toggle[data-v-a68c5334]{cursor:pointer;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-size:.8125rem;font-weight:500;display:flex}.arc-builder-link[data-v-a68c5334]{color:var(--color-accent);white-space:nowrap;transition:opacity var(--transition-fast);font-size:.8125rem;text-decoration:none}.arc-builder-link[data-v-a68c5334]:hover{opacity:.75}.arc-toggle:hover .arc-toggle-label[data-v-a68c5334]{color:var(--color-text-secondary)}.arc-toggle-icon[data-v-a68c5334]{opacity:.5;font-size:.625rem}.arc-description[data-v-a68c5334]{color:var(--color-text-muted);margin-top:1rem;margin-bottom:1.5rem;font-size:.8125rem;line-height:1.6}.arc-fields[data-v-a68c5334]{grid-template-columns:1fr 1fr;gap:1.25rem;padding-bottom:2rem;display:grid}.arc-field[data-v-a68c5334]{flex-direction:column;gap:.375rem;display:flex}.arc-field--full[data-v-a68c5334]{grid-column:1/-1}.arc-field-label[data-v-a68c5334]{align-items:baseline;gap:.5rem;display:flex}.arc-field-name[data-v-a68c5334]{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.arc-field-hint[data-v-a68c5334]{color:var(--color-text-muted);font-size:.75rem}.arc-field-input[data-v-a68c5334]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:60px;color:var(--color-text);font-size:.875rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);padding:.625rem .75rem;line-height:1.6;overflow:hidden}.arc-field-input[data-v-a68c5334]:focus{border-color:var(--color-border-hover);outline:none}.story-shape-section[data-v-2b96bfe6]{border-top:1px solid var(--color-border);margin-top:3rem;padding-top:1.25rem;padding-bottom:2rem}.story-shape-header[data-v-2b96bfe6]{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.story-shape-builder-link[data-v-2b96bfe6]{color:var(--color-accent);transition:opacity var(--transition-fast);font-size:.8125rem;text-decoration:none}.story-shape-builder-link[data-v-2b96bfe6]:hover{opacity:.8}.story-shape-heading[data-v-2b96bfe6]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.story-shape-description[data-v-2b96bfe6]{color:var(--color-text-muted);margin-bottom:2rem;font-size:.8125rem;line-height:1.6}.story-shape-group[data-v-2b96bfe6]{margin-bottom:1.75rem}.story-shape-group-label[data-v-2b96bfe6]{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.875rem;font-size:.6875rem;font-weight:500;display:block}.story-shape-fields[data-v-2b96bfe6]{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.story-shape-field[data-v-2b96bfe6]{flex-direction:column;gap:.375rem;display:flex}.story-shape-field-label[data-v-2b96bfe6]{align-items:baseline;gap:.5rem;display:flex}.story-shape-field-name[data-v-2b96bfe6]{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.story-shape-field-hint[data-v-2b96bfe6]{color:var(--color-text-muted);font-size:.75rem}.story-shape-field-input[data-v-2b96bfe6]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:60px;color:var(--color-text);font-size:.875rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);padding:.625rem .75rem;line-height:1.6;overflow:hidden}.story-shape-field-input[data-v-2b96bfe6]:focus{border-color:var(--color-border-hover);outline:none}.pb-layout[data-v-a34648a3]{background:var(--color-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.pb-header[data-v-a34648a3]{border-bottom:1px solid var(--color-border);background:var(--color-sidebar);flex-shrink:0;align-items:center;gap:1rem;height:44px;padding:0 1.25rem;display:flex}.pb-back[data-v-a34648a3]{color:var(--color-text-muted);transition:color var(--transition-fast);white-space:nowrap;font-size:.8125rem;text-decoration:none}.pb-back[data-v-a34648a3]:hover{color:var(--color-text-secondary)}.pb-title[data-v-a34648a3]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.pb-header-end[data-v-a34648a3]{align-items:center;gap:.875rem;margin-left:auto;display:flex}.pb-chapters-success[data-v-a34648a3]{color:var(--color-accent);font-size:.8125rem}.pb-generate-btn[data-v-a34648a3]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;padding:.375rem .875rem;font-size:.8125rem;font-weight:500}.pb-generate-btn[data-v-a34648a3]:disabled{opacity:.5;cursor:not-allowed}.pb-generate-btn[data-v-a34648a3]:not(:disabled):hover{opacity:.85}.pb-body[data-v-a34648a3]{flex:1;display:flex;overflow:hidden}.pb-conversation[data-v-a34648a3]{border-right:1px solid var(--color-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.pb-messages[data-v-a34648a3]{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.pb-msg-muse[data-v-a34648a3]{color:var(--color-text);white-space:pre-wrap;max-width:640px;font-size:.9375rem;line-height:1.7}.pb-msg-user[data-v-a34648a3]{color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:pre-wrap;align-self:flex-end;max-width:640px;padding:.625rem .875rem;font-size:.9375rem;line-height:1.7}.pb-cursor[data-v-a34648a3]{background:var(--color-accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink-a34648a3;display:inline-block}@keyframes blink-a34648a3{50%{opacity:0}}.pb-status-bar[data-v-a34648a3]{color:var(--color-text-faint);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1.75rem;font-size:.8125rem;font-style:italic;display:flex}.pb-status-dot[data-v-a34648a3]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-a34648a3}@keyframes pulse-a34648a3{0%,to{opacity:1}50%{opacity:.3}}.pb-input-area[data-v-a34648a3]{border-top:1px solid var(--color-border);flex-shrink:0;align-items:flex-end;gap:.75rem;padding:1rem 1.75rem 1.25rem;display:flex}.pb-input[data-v-a34648a3]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);flex:1;padding:.625rem .75rem;line-height:1.6}.pb-input[data-v-a34648a3]:focus{border-color:var(--color-border-hover);outline:none}.pb-input[data-v-a34648a3]::placeholder{color:var(--color-text-faint)}.pb-input[data-v-a34648a3]:disabled{opacity:.5;cursor:not-allowed}.pb-send[data-v-a34648a3]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;flex-shrink:0;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500}.pb-send[data-v-a34648a3]:disabled{opacity:.4;cursor:not-allowed}.pb-send[data-v-a34648a3]:not(:disabled):hover{opacity:.85}.pb-timeline-panel[data-v-a34648a3]{background:var(--color-sidebar);flex-shrink:0;width:280px;overflow:hidden}.act-timeline[data-v-a34648a3]{flex-direction:column;gap:1.5rem;height:100%;padding:1.5rem 1.25rem;display:flex;overflow-y:auto}.act-timeline-header[data-v-a34648a3]{justify-content:space-between;align-items:baseline;display:flex}.act-timeline-title[data-v-a34648a3]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.act-timeline-count[data-v-a34648a3]{color:var(--color-text-faint);font-variant-numeric:tabular-nums;font-size:.75rem}.act-timeline-goal[data-v-a34648a3]{border-bottom:1px solid var(--color-border);padding-bottom:1.25rem}.act-timeline-goal-label[data-v-a34648a3]{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.5rem;font-size:.6875rem;font-weight:500;display:block}.act-timeline-goal-text[data-v-a34648a3]{color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}.act-timeline-beats[data-v-a34648a3]{flex-direction:column;gap:.25rem;display:flex}.act-beat[data-v-a34648a3]{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:.625rem;padding:.5rem .625rem;display:flex}.act-beat[data-v-a34648a3]:hover,.act-beat--active[data-v-a34648a3]{background:var(--color-surface-hover)}.act-beat-dot[data-v-a34648a3]{background:var(--color-border);width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%;flex-shrink:0}.act-beat--filled .act-beat-dot[data-v-a34648a3]{background:var(--color-accent)}.act-beat-label[data-v-a34648a3]{color:var(--color-text-faint);transition:color var(--transition-fast);flex:1;font-size:.8125rem}.act-beat--filled .act-beat-label[data-v-a34648a3]{color:var(--color-text-secondary)}.act-beat--active .act-beat-label[data-v-a34648a3]{color:var(--color-text)}.act-beat-check[data-v-a34648a3]{color:var(--color-accent);flex-shrink:0;font-size:.6875rem}.plot-timeline[data-v-cea801cd]{flex-direction:column;gap:1.5rem;height:100%;padding:1.5rem 1.25rem;display:flex;overflow-y:auto}.plot-timeline-header[data-v-cea801cd]{justify-content:space-between;align-items:baseline;display:flex}.plot-timeline-title[data-v-cea801cd]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.plot-timeline-count[data-v-cea801cd]{color:var(--color-text-faint);font-variant-numeric:tabular-nums;font-size:.75rem}.plot-timeline-beats[data-v-cea801cd]{flex-direction:column;gap:.25rem;display:flex}.plot-beat[data-v-cea801cd]{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:.625rem;padding:.5rem .625rem;display:flex}.plot-beat[data-v-cea801cd]:hover,.plot-beat--active[data-v-cea801cd]{background:var(--color-surface-hover)}.plot-beat-dot[data-v-cea801cd]{background:var(--color-border);width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%;flex-shrink:0}.plot-beat--filled .plot-beat-dot[data-v-cea801cd]{background:var(--color-accent)}.plot-beat--priority .plot-beat-dot[data-v-cea801cd]{background:var(--color-border-hover)}.plot-beat-label[data-v-cea801cd]{color:var(--color-text-faint);transition:color var(--transition-fast);flex:1;font-size:.8125rem}.plot-beat--filled .plot-beat-label[data-v-cea801cd]{color:var(--color-text-secondary)}.plot-beat--active .plot-beat-label[data-v-cea801cd]{color:var(--color-text)}.plot-beat-check[data-v-cea801cd]{color:var(--color-accent);flex-shrink:0;font-size:.6875rem}.plot-coach-notes[data-v-cea801cd]{border-top:1px solid var(--color-border);padding-top:1.25rem}.plot-coach-notes-label[data-v-cea801cd]{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.625rem;font-size:.6875rem;font-weight:500;display:block}.plot-coach-notes-text[data-v-cea801cd]{color:var(--color-text-muted);font-size:.8125rem;line-height:1.65}.pb-layout[data-v-328cd180]{background:var(--color-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.pb-header[data-v-328cd180]{border-bottom:1px solid var(--color-border);background:var(--color-sidebar);flex-shrink:0;align-items:center;gap:1rem;height:44px;padding:0 1.25rem;display:flex}.pb-back[data-v-328cd180]{color:var(--color-text-muted);transition:color var(--transition-fast);white-space:nowrap;font-size:.8125rem;text-decoration:none}.pb-back[data-v-328cd180]:hover{color:var(--color-text-secondary)}.pb-title[data-v-328cd180]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.pb-header-end[data-v-328cd180]{align-items:center;gap:.875rem;margin-left:auto;display:flex}.pb-acts-success[data-v-328cd180]{color:var(--color-accent);font-size:.8125rem}.pb-generate-btn[data-v-328cd180]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;padding:.375rem .875rem;font-size:.8125rem;font-weight:500}.pb-generate-btn[data-v-328cd180]:disabled{opacity:.5;cursor:not-allowed}.pb-generate-btn[data-v-328cd180]:not(:disabled):hover{opacity:.85}.pb-body[data-v-328cd180]{flex:1;display:flex;overflow:hidden}.pb-conversation[data-v-328cd180]{border-right:1px solid var(--color-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.pb-messages[data-v-328cd180]{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.pb-empty[data-v-328cd180]{color:var(--color-text-faint);font-size:.875rem}.pb-msg-muse[data-v-328cd180]{color:var(--color-text);white-space:pre-wrap;max-width:640px;font-size:.9375rem;line-height:1.7}.pb-msg-user[data-v-328cd180]{color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:pre-wrap;align-self:flex-end;max-width:640px;padding:.625rem .875rem;font-size:.9375rem;line-height:1.7}.pb-status[data-v-328cd180]{color:var(--color-text-faint);font-size:.875rem;font-style:italic}.pb-cursor[data-v-328cd180]{background:var(--color-accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink-328cd180;display:inline-block}@keyframes blink-328cd180{50%{opacity:0}}.pb-status-bar[data-v-328cd180]{color:var(--color-text-faint);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1.75rem;font-size:.8125rem;font-style:italic;display:flex}.pb-status-dot[data-v-328cd180]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-328cd180}@keyframes pulse-328cd180{0%,to{opacity:1}50%{opacity:.3}}.pb-input-area[data-v-328cd180]{border-top:1px solid var(--color-border);flex-shrink:0;align-items:flex-end;gap:.75rem;padding:1rem 1.75rem 1.25rem;display:flex}.pb-input[data-v-328cd180]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);flex:1;padding:.625rem .75rem;line-height:1.6}.pb-input[data-v-328cd180]:focus{border-color:var(--color-border-hover);outline:none}.pb-input[data-v-328cd180]::placeholder{color:var(--color-text-faint)}.pb-input[data-v-328cd180]:disabled{opacity:.5;cursor:not-allowed}.pb-send[data-v-328cd180]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;flex-shrink:0;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500}.pb-send[data-v-328cd180]:disabled{opacity:.4;cursor:not-allowed}.pb-send[data-v-328cd180]:not(:disabled):hover{opacity:.85}.pb-timeline-panel[data-v-328cd180]{background:var(--color-sidebar);flex-shrink:0;width:280px;overflow:hidden}.vp-layout[data-v-d8457aab]{background:var(--color-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.vp-header[data-v-d8457aab]{border-bottom:1px solid var(--color-border);background:var(--color-sidebar);flex-shrink:0;align-items:center;gap:1rem;height:44px;padding:0 1.25rem;display:flex}.vp-back[data-v-d8457aab]{color:var(--color-text-muted);transition:color var(--transition-fast);white-space:nowrap;font-size:.8125rem;text-decoration:none}.vp-back[data-v-d8457aab]:hover{color:var(--color-text-secondary)}.vp-title[data-v-d8457aab]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.vp-header-end[data-v-d8457aab]{align-items:center;gap:.875rem;margin-left:auto;display:flex}.vp-saved-note[data-v-d8457aab]{color:var(--color-accent);font-size:.8125rem}.vp-generate-btn[data-v-d8457aab]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;padding:.375rem .875rem;font-size:.8125rem;font-weight:500}.vp-generate-btn[data-v-d8457aab]:disabled{opacity:.4;cursor:not-allowed}.vp-generate-btn[data-v-d8457aab]:not(:disabled):hover{opacity:.85}.vp-body[data-v-d8457aab]{flex:1;display:flex;overflow:hidden}.vp-conversation[data-v-d8457aab]{border-right:1px solid var(--color-border);flex-direction:column;flex:1;display:flex;overflow:hidden}.vp-messages[data-v-d8457aab]{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.vp-msg-muse[data-v-d8457aab]{color:var(--color-text);white-space:pre-wrap;max-width:640px;font-size:.9375rem;line-height:1.7}.vp-msg-user[data-v-d8457aab]{color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:pre-wrap;align-self:flex-end;max-width:640px;padding:.625rem .875rem;font-size:.9375rem;line-height:1.7}.vp-cursor[data-v-d8457aab]{background:var(--color-accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite vp-blink-d8457aab;display:inline-block}@keyframes vp-blink-d8457aab{50%{opacity:0}}.vp-status-bar[data-v-d8457aab]{color:var(--color-text-faint);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1.75rem;font-size:.8125rem;font-style:italic;display:flex}.vp-status-dot[data-v-d8457aab]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.5s ease-in-out infinite vp-pulse-d8457aab}@keyframes vp-pulse-d8457aab{0%,to{opacity:1}50%{opacity:.3}}.vp-input-area[data-v-d8457aab]{border-top:1px solid var(--color-border);flex-shrink:0;align-items:flex-end;gap:.75rem;padding:1rem 1.75rem 1.25rem;display:flex}.vp-input[data-v-d8457aab]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;font-family:var(--font-sans);resize:none;transition:border-color var(--transition-fast);flex:1;padding:.625rem .75rem;line-height:1.6}.vp-input[data-v-d8457aab]:focus{border-color:var(--color-border-hover);outline:none}.vp-input[data-v-d8457aab]::placeholder{color:var(--color-text-faint)}.vp-input[data-v-d8457aab]:disabled{opacity:.5;cursor:not-allowed}.vp-send[data-v-d8457aab]{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none;flex-shrink:0;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500}.vp-send[data-v-d8457aab]:disabled{opacity:.4;cursor:not-allowed}.vp-send[data-v-d8457aab]:not(:disabled):hover{opacity:.85}.vp-profile-panel[data-v-d8457aab]{background:var(--color-sidebar);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.vp-profile-header[data-v-d8457aab]{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);border-bottom:1px solid var(--color-border);flex-shrink:0;padding:1rem 1.25rem .625rem;font-size:.75rem;font-weight:600}.vp-profile-content[data-v-d8457aab]{flex:1;padding:1rem 1.25rem;overflow-y:auto}.vp-profile-text[data-v-d8457aab]{font-family:var(--font-sans);color:var(--color-text-secondary);white-space:pre-wrap;margin:0;font-size:.8125rem;line-height:1.65}.vp-profile-empty[data-v-d8457aab]{color:var(--color-text-faint);flex:1;padding:1.25rem;font-size:.8125rem;line-height:1.6}:root{--color-bg:#111110;--color-sidebar:#161513;--color-editor:#1a1917;--color-surface:#1e1d1a;--color-border:#ffffff12;--color-border-hover:#ffffff1f;--color-text:#e2dfd9;--color-text-secondary:#c0bdb6;--color-text-muted:#7a7770;--color-text-faint:#4a4844;--color-accent:#f0853a;--color-accent-tint:#1e1710;--color-accent-border:#f0853a33;--color-world:#6b8fab;--color-world-tint:#6b8fab14;--color-world-border:#6b8fab33;--color-series:#5e9a7e;--color-series-tint:#5e9a7e14;--color-series-border:#5e9a7e33;--color-error:#e07060;--color-error-subtle:#dc50321f;--color-error-border:#dc50324d;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--font-sans:-apple-system, Inter, system-ui, sans-serif;--font-serif:Georgia, serif;--font-mono:"SF Mono", "Fira Code", ui-monospace, monospace;--transition-fast:.15s ease}html.light{--color-bg:#f5f4f1;--color-sidebar:#eceae5;--color-editor:#f9f8f5;--color-surface:#e4e2dc;--color-border:#00000014;--color-border-hover:#00000026;--color-text:#1c1b18;--color-text-secondary:#3d3b36;--color-text-muted:#706d67;--color-text-faint:#a09d97;--color-accent:#f0853a;--color-accent-tint:#fef0e3;--color-accent-border:#f0853a4d;--color-world:#5a7e9a;--color-world-tint:#5a7e9a1a;--color-world-border:#5a7e9a40;--color-series:#4a8a6a;--color-series-tint:#4a8a6a1a;--color-series-border:#4a8a6a40;--color-error:#c0392b;--color-error-subtle:#c0392b14;--color-error-border:#c0392b40}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;overflow-x:hidden}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}input,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-faint)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}.auth-form .field{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.auth-form label{color:var(--color-text-secondary);font-size:.8125rem}.auth-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;width:100%;padding:.5rem .75rem;font-size:.9375rem}.auth-form input:focus{border-color:var(--color-border-hover)}.auth-form .field-error{color:var(--color-error);font-size:.8125rem}.auth-form .form-error{background:var(--color-error-subtle);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:1.25rem;padding:.625rem .875rem;font-size:.875rem}.auth-form .submit-btn{background:var(--color-accent-tint);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);width:100%;color:var(--color-accent);cursor:pointer;transition:opacity var(--transition-fast);margin-top:.5rem;padding:.5625rem;font-size:.9375rem;font-weight:500}.auth-form .submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-switch{color:var(--color-text-muted);text-align:center;margin-top:1.5rem;font-size:.875rem}.auth-switch a{color:var(--color-text-secondary);text-decoration:underline}.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-sidebar);z-index:50;flex-shrink:0;align-items:center;gap:1rem;height:44px;padding:0 1.25rem;display:flex;position:relative}.breadcrumbs{white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;display:flex}.breadcrumb-home{color:var(--color-text-muted);transition:color var(--transition-fast);font-size:.8125rem}.breadcrumb-home:hover{color:var(--color-text-secondary)}.breadcrumb-sep{color:var(--color-text-faint);opacity:.4;-webkit-user-select:none;user-select:none;font-size:.75rem}.breadcrumb-link{color:var(--color-text-faint);text-overflow:ellipsis;max-width:140px;transition:color var(--transition-fast);font-size:.8125rem;overflow:hidden}.breadcrumb-link:hover{color:var(--color-text-muted)}.app-header .project-name{max-width:36%;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:.875rem;font-weight:500;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.app-header .theme-toggle{color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);white-space:nowrap;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-size:.8125rem}.app-header .theme-toggle:hover{color:var(--color-text-muted)}.account-menu{flex-shrink:0;position:relative}.account-trigger{cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;display:flex}.account-initials{background:var(--color-surface);border:1px solid var(--color-border);width:1.5rem;height:1.5rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-radius:50%;justify-content:center;align-items:center;font-size:.625rem;font-weight:600;display:flex}.account-tier{color:var(--color-text-faint);text-transform:capitalize;font-size:.75rem}.account-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:100;min-width:160px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.account-item{width:100%;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;padding:.5rem .875rem;font-size:.8125rem;text-decoration:none;display:block}.account-item:hover{background:var(--color-border)}.account-item--danger{color:#ef4444}.account-divider{background:var(--color-border);height:1px;margin:.25rem 0}.account-layout{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.account-layout-main{flex:1;overflow-y:auto}.billing-page{flex-direction:column;max-width:680px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex}.billing-section-block{flex-direction:column;gap:1rem;padding:1.75rem 0;display:flex}.billing-section-title{color:var(--color-text);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.billing-section-desc{color:var(--color-text-faint);margin:0;font-size:.875rem;line-height:1.55}.billing-block-divider{background:var(--color-border);height:1px}.billing-plan-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.125rem 1.25rem;display:flex}.billing-plan-row-name{color:var(--color-text);font-size:1rem;font-weight:600}.billing-plan-row-meta{color:var(--color-text-faint);margin-top:.1875rem;font-size:.8125rem}.billing-plan-actions-row{flex-shrink:0;gap:.625rem;display:flex}.billing-action-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;padding:.4375rem .875rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.billing-action-btn:hover{border-color:var(--color-text-faint);color:var(--color-text)}.billing-action-btn--primary{border-color:var(--color-accent,#f97316);color:var(--color-accent,#f97316)}.billing-action-btn--primary:hover{background:#f973160f}.billing-usage-blocks{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.billing-usage-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.375rem;padding:1rem 1.125rem;display:flex}.billing-usage-block-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);font-size:.6875rem;font-weight:600}.billing-usage-numbers{align-items:baseline;gap:.3125rem;margin-top:.125rem;display:flex}.billing-usage-used{color:var(--color-text);letter-spacing:-.02em;font-size:1.375rem;font-weight:700}.billing-usage-limit{color:var(--color-text-faint);font-size:.8125rem}.billing-bar-wrap{background:var(--color-border);border-radius:999px;height:3px;margin-top:.25rem;overflow:hidden}.billing-bar-fill{background:var(--color-accent,#f97316);border-radius:999px;height:100%;transition:width .4s}.billing-usage-reset{color:var(--color-text-faint);margin-top:.125rem;font-size:.6875rem}.upgrade-page{flex-direction:column;align-items:center;gap:2.5rem;min-height:100%;padding:3rem 1.5rem 4rem;display:flex}.upgrade-hero{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.upgrade-heading{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.upgrade-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;gap:0;padding:3px;display:flex}.upgrade-toggle-btn{color:var(--color-text-faint);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.upgrade-toggle-btn.active{background:var(--color-bg);color:var(--color-text)}.upgrade-toggle-save{color:var(--color-accent,#f97316);background:#f973161f;border-radius:999px;padding:.1rem .45rem;font-size:.6875rem;font-weight:600}.upgrade-current-notice{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.625rem;width:100%;max-width:860px;padding:1rem 1.25rem;display:flex}.upgrade-current-label{color:var(--color-text-muted);font-size:.875rem}.upgrade-notice-bar-wrap{background:var(--color-border);border-radius:999px;height:3px;overflow:hidden}.upgrade-notice-bar{background:var(--color-accent,#f97316);border-radius:999px;height:100%;transition:width .4s}.upgrade-portal-link{color:var(--color-accent,#f97316);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8125rem}.upgrade-portal-link:hover{opacity:.75}.upgrade-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:1rem;width:100%;max-width:860px;display:grid}.upgrade-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg,.75rem);transition:border-color var(--transition-fast);flex-direction:column;display:flex}.upgrade-card--current{border-color:#f9731666}.upgrade-card--featured{border-color:var(--color-accent,#f97316);box-shadow:0 0 0 1px var(--color-accent,#f97316), 0 8px 32px #f973161f}.upgrade-card-top{flex-direction:column;flex:1;gap:.75rem;padding:1.75rem 1.5rem 1.5rem;display:flex}.upgrade-card-header{align-items:center;gap:.625rem;display:flex}.upgrade-card-name{color:var(--color-text);letter-spacing:-.01em;font-size:1rem;font-weight:700}.upgrade-card-badge{text-transform:uppercase;letter-spacing:.07em;color:var(--color-accent,#f97316);background:#f973161a;border:1px solid #f9731640;border-radius:999px;padding:.1rem .5rem;font-size:.625rem;font-weight:700}.upgrade-card-tagline{color:var(--color-text-faint);margin:0;font-size:.8125rem;line-height:1.4}.upgrade-card-price{align-items:baseline;gap:.5rem;margin-top:.25rem;display:flex}.upgrade-price-amount{color:var(--color-text);letter-spacing:-.03em;font-size:2.25rem;font-weight:800;line-height:1}.upgrade-price-meta{color:var(--color-text-faint);font-size:.75rem;line-height:1.5}.upgrade-cta{border-radius:var(--radius-md);text-align:center;cursor:pointer;border:1px solid var(--color-border);width:100%;color:var(--color-text);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:.6875rem 1rem;font-size:.9375rem;font-weight:600;display:block}.upgrade-cta:hover{background:var(--color-bg);border-color:var(--color-text-faint)}.upgrade-cta--featured{background:var(--color-accent,#f97316);border-color:var(--color-accent,#f97316);color:#fff}.upgrade-cta--featured:hover{background:#ea6c0a;border-color:#ea6c0a}.upgrade-cta--current{color:var(--color-text-faint);cursor:default;opacity:.6}.upgrade-cta--current:hover{border-color:var(--color-border);background:0 0}.upgrade-cta-note{color:var(--color-text-faint);text-align:center;margin:0;font-size:.6875rem}.upgrade-card-divider{background:var(--color-border);height:1px;margin:0 1.5rem}.upgrade-features{flex-direction:column;gap:.625rem;margin:0;padding:1.25rem 1.5rem 1.75rem;list-style:none;display:flex}.upgrade-features li{color:var(--color-text-muted);align-items:baseline;gap:.5rem;font-size:.8125rem;line-height:1.4;display:flex}.upgrade-check{color:var(--color-accent,#f97316);flex-shrink:0;font-size:.75rem;font-weight:700}.upgrade-footnote{color:var(--color-text-faint);text-align:center;margin:0;font-size:.75rem}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--color-sidebar);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar>nav{flex:1;padding:.75rem 0;overflow-y:auto}.sidebar-section{margin-bottom:.25rem}.section-label{letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;width:100%;color:var(--color-text-faint);-webkit-user-select:none;user-select:none;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.5rem 1rem .25rem;font-size:.6875rem;font-weight:600;display:flex}.section-label:hover{color:var(--color-text-muted)}.section-right{letter-spacing:0;text-transform:none;align-items:center;gap:.375rem;font-weight:400;display:flex}.section-count{letter-spacing:0;text-transform:none;font-weight:400}.chevron{letter-spacing:0;text-transform:none;transition:transform var(--transition-fast);font-size:.875rem;font-weight:400;line-height:1;display:inline-block;transform:rotate(90deg)}.chevron.collapsed{transform:rotate(0)}.sidebar-item{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:0;padding:.3125rem 1rem .3125rem 1.5rem;font-family:inherit;font-size:.8125rem;line-height:1.4;display:block;overflow:hidden}.sidebar-item:hover{color:var(--color-text);background:#ffffff0a}.sidebar-item.active{color:var(--color-text);background:#ffffff0f}.sidebar-item.active:before{content:"";background:var(--color-accent);width:2px;position:absolute;top:0;bottom:0;left:0}.sidebar-item.active{position:relative}.app-main{background:var(--color-editor);flex:1;overflow-y:auto}.doc-view{max-width:860px;margin:0 auto;padding:3rem 2rem}.doc-title{margin-bottom:.5rem;font-size:1.375rem;font-weight:600;line-height:1.3}.doc-meta{color:var(--color-text-muted);margin-bottom:2.5rem;font-size:.8125rem}.doc-meta .badge{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);text-transform:capitalize;padding:.1875rem .5rem;font-size:.75rem;display:inline-block}.sidebar-item-row{align-items:center;display:flex;position:relative}.sidebar-item-row .sidebar-item{text-align:left;flex:1;min-width:0}.sidebar-item-row .sidebar-item.active{background:0 0;position:static}.sidebar-item-row .sidebar-item.active:before{display:none}.sidebar-item-row.active{background:#ffffff0f}.sidebar-item-row.active:before{content:"";background:var(--color-accent);width:2px;position:absolute;top:0;bottom:0;left:0}.sidebar-item-row[draggable=true]{cursor:grab;transition:opacity var(--transition-fast), transform var(--transition-fast)}.sidebar-item-row[draggable=true]:active{cursor:grabbing}.sidebar-item-row.dragging{opacity:.3}.drop-indicator{background:var(--color-accent);pointer-events:none;border-radius:1px;height:2px;margin:0 1rem 0 1.5rem}.drop-end-zone{min-height:4px}.sidebar-item-delete{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:.5rem;font-size:.875rem;line-height:1;display:none}.sidebar-item-row:hover .sidebar-item-delete{display:inline-flex}.sidebar-item-delete:hover{color:var(--color-error);background:#e070601a}.section-add{width:16px;height:16px;color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.section-add:focus-visible{outline:none}.section-add:hover{color:var(--color-text-muted);background:#ffffff14}.rename-input{background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-sm);min-width:0;color:var(--color-text);outline:none;flex:1;margin:.1875rem .5rem .1875rem 1.5rem;padding:.1875rem .375rem;font-family:inherit;font-size:.8125rem}.resize-handle{cursor:col-resize;z-index:10;flex-shrink:0;width:5px;position:relative}.resize-handle:after{content:"";background:var(--color-border);width:1px;transition:background var(--transition-fast);position:absolute;top:0;bottom:0;left:2px}.resize-handle:hover:after,.resize-handle.dragging:after{background:var(--color-border-hover)}.ai-panel{background:var(--color-bg);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.ai-panel-header{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;height:44px;padding:0 1rem;display:flex}.ai-panel-label{color:var(--color-text);letter-spacing:.01em;font-size:.875rem;font-weight:600}.ai-accent{color:var(--color-accent)}.ai-role-dropdown{position:relative}.ai-role-trigger{color:var(--color-text-faint);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.3rem;padding:.25rem .3rem;font-family:inherit;font-size:.6875rem;font-weight:500;display:flex}.ai-role-trigger:hover{color:var(--color-text-muted)}.ai-role-dropdown.open .ai-role-trigger{color:var(--color-text-secondary)}.ai-role-chevron{opacity:.5;transition:transform var(--transition-fast), opacity var(--transition-fast)}.ai-role-dropdown.open .ai-role-chevron{opacity:1;transform:rotate(180deg)}.ai-role-menu{background:var(--color-sidebar);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:200;flex-direction:column;gap:1px;min-width:220px;padding:.25rem;display:none;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000059}.ai-role-dropdown.open .ai-role-menu{display:flex}.ai-role-option{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.5rem .625rem;display:flex}.ai-role-option:hover{background:var(--color-surface)}.ai-role-option.active{background:var(--color-accent-tint)}.ai-role-option-label{color:var(--color-text-secondary);transition:color var(--transition-fast);font-family:inherit;font-size:.75rem;font-weight:500}.ai-role-option.active .ai-role-option-label{color:var(--color-accent)}.ai-role-option-desc{color:var(--color-text-faint);font-family:inherit;font-size:.6875rem;line-height:1.4}.ai-messages{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.ai-empty{flex:1;justify-content:center;align-items:center;display:flex}.ai-empty p{color:var(--color-text-faint);text-align:center;margin:0;font-size:.8125rem;line-height:1.5}.ai-summary-notice{color:var(--color-text-faint);border:1px solid var(--color-border);opacity:.75;border-radius:999px;align-self:center;margin-bottom:.25rem;padding:.1875rem .625rem;font-size:.6875rem}.ai-usage-ring{cursor:default;flex-shrink:0;margin-right:.25rem;transform:rotate(-90deg)}.ai-usage-ring__track{fill:none;stroke:var(--color-border);stroke-width:2px}.ai-usage-ring__fill{fill:none;stroke:var(--color-accent,#f97316);stroke-width:2px;stroke-linecap:round;transition:stroke-dasharray .4s}.ai-usage-ring__fill--warn{stroke:#ef4444}.ai-credits-blocked{background:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-text-faint);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.ai-credits-upgrade{color:var(--color-accent,#f97316);flex-shrink:0;font-size:.75rem;font-weight:500;text-decoration:none}.ai-credits-upgrade:hover{text-decoration:underline}.ai-msg-user{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 2px var(--radius-md);max-width:88%;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;align-self:flex-end;padding:.4375rem .625rem;font-size:.75rem;line-height:1.55}.ai-msg-assistant{border-left:2px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;max-width:100%;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;align-self:flex-start;padding:.4375rem .625rem;font-size:.75rem;line-height:1.65}.ai-status-text{color:var(--color-text-faint);font-size:.6875rem;font-style:italic}.ai-cursor{background:var(--color-accent);vertical-align:text-bottom;width:1px;height:.9em;margin-left:1px;animation:.9s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-pinned{flex-wrap:wrap;flex-shrink:0;gap:.25rem;padding:.375rem .75rem 0;display:flex}.ai-pin{color:var(--color-accent);background:var(--color-accent-tint);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.1875rem .375rem;font-size:.625rem;font-weight:500;display:inline-flex}.ai-pin-remove{color:var(--color-accent);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:.75rem;line-height:1}.ai-pin-remove:hover{opacity:1}.ai-picker{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:.625rem;max-height:220px;padding:.5rem .75rem;display:flex;overflow-y:auto}.ai-picker-section{flex-direction:column;gap:.125rem;display:flex}.ai-picker-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin-bottom:.125rem;font-size:.5625rem;font-weight:600}.ai-picker-item{text-align:left;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:.25rem .375rem;font-family:inherit;font-size:.6875rem}.ai-picker-item:hover{color:var(--color-text-secondary);background:var(--color-surface)}.ai-picker-item--active,.ai-picker-item--active:hover{color:var(--color-accent);background:var(--color-accent-tint)}.ai-input-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast);flex-shrink:0;margin:0 .75rem .75rem}.ai-input-wrap:focus-within{border-color:var(--color-border-hover)}.ai-input{width:100%;color:var(--color-text);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;min-height:60px;max-height:160px;padding:.625rem .75rem .375rem;font-family:inherit;font-size:.75rem;line-height:1.5;display:block;overflow-y:auto}.ai-input::placeholder{color:var(--color-text-faint)}.ai-input:disabled{opacity:.5}.ai-input-toolbar{border-top:1px solid var(--color-border);align-items:center;gap:.25rem;padding:.3rem .375rem;display:flex}.ai-toolbar-end{margin-left:auto}.ai-attach-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;line-height:1;display:flex}.ai-attach-btn:hover{color:var(--color-text-muted)}.ai-attach-btn--active{color:var(--color-accent)}.ai-send-btn{background:var(--color-accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:26px;height:26px;transition:opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;line-height:1;display:flex}.ai-send-btn:hover:not(:disabled){opacity:.85}.ai-send-btn:disabled{opacity:.3;cursor:default}.ai-stop-btn{border-radius:var(--radius-sm);color:#dc3c3c;cursor:pointer;width:26px;height:26px;transition:background var(--transition-fast);background:#dc3c3c1f;border:1px solid #dc3c3c4d;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:flex}.ai-stop-btn:hover{background:#dc3c3c38}.ai-clear-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;opacity:.4;transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;font-size:.875rem;line-height:1;display:flex}.ai-clear-btn:hover{opacity:1}.palette-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.palette{background:var(--color-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-lg);flex-direction:column;width:520px;max-height:420px;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.palette-input-wrap{border-bottom:1px solid var(--color-border);align-items:center;gap:.625rem;padding:.75rem 1rem;display:flex}.palette-clear{color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);flex-shrink:0;font-size:1rem;line-height:1}.palette-clear:hover{color:var(--color-text-muted)}.palette-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);padding:.5rem 1rem .125rem;font-size:.6875rem;font-weight:600}.palette-icon{color:var(--color-text-faint);letter-spacing:.02em;flex-shrink:0;font-size:.6875rem;font-weight:600}.palette-input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9375rem}.palette-input::placeholder{color:var(--color-text-faint)}.palette-results{padding:.375rem 0;overflow-y:auto}.palette-item{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:.625rem;padding:.5rem 1rem;display:flex}.palette-item.selected,.palette-item:hover{background:#ffffff0d}.palette-item-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);text-align:center;min-width:68px;color:var(--color-text-faint);border:1px solid var(--color-border);background:#ffffff0d;flex-shrink:0;padding:.125rem .4rem;font-size:.6875rem;font-weight:600}.palette-item-badge.badge-chapter{color:#7eb8d4;background:#7eb8d40f;border-color:#7eb8d433}.palette-item-badge.badge-character{color:#a8d4a0;background:#a8d4a00f;border-color:#a8d4a033}.palette-item-badge.badge-master_plot{color:var(--color-accent);border-color:var(--color-accent-border);background:var(--color-accent-tint)}.palette-item-badge.badge-document{color:var(--color-text-muted);border-color:var(--color-border);background:#ffffff0a}.palette-item-title{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.palette-item.selected .palette-item-title,.palette-item:hover .palette-item-title{color:var(--color-text)}.palette-empty{color:var(--color-text-faint);text-align:center;padding:1.25rem 1rem;font-size:.8125rem}.project-landing{height:100%;color:var(--color-text-faint);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.875rem;display:flex}.project-empty{justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.project-empty-inner{text-align:center;max-width:380px}.project-empty-title{color:var(--color-text);margin-bottom:.625rem;font-size:1.25rem;font-weight:600}.project-empty-lead{color:var(--color-text-muted);margin-bottom:1.75rem;font-size:.875rem;line-height:1.6}.project-empty-actions{flex-wrap:wrap;justify-content:center;gap:.625rem;display:flex}.empty-action-btn{border:1px solid var(--color-border-hover);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;padding:.4375rem 1rem;font-family:inherit;font-size:.8125rem}.empty-action-btn:hover{color:var(--color-text);border-color:var(--color-accent);background:var(--color-accent-tint)}.hub-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.hub-header{border-bottom:1px solid var(--color-border);flex-shrink:0}.hub-header-inner{box-sizing:border-box;flex-direction:column;gap:.375rem;width:100%;max-width:860px;margin:0 auto;padding:1.75rem 2rem 1.25rem;display:flex}.hub-breadcrumb{align-items:center;gap:.375rem;margin-bottom:.125rem;font-size:.75rem;display:flex}.hub-breadcrumb-link{color:var(--color-text-faint);transition:color var(--transition-fast)}.hub-breadcrumb-link:hover{color:var(--color-text-muted)}.hub-breadcrumb-sep,.hub-breadcrumb-current{color:var(--color-text-faint)}.hub-header-top{align-items:center;gap:.75rem;display:flex}.hub-title{color:var(--color-text);margin:0;font-size:1.625rem;font-weight:600;line-height:1.2}.hub-title-rename-btn{opacity:0;transition:opacity var(--transition-fast);font-size:1rem}.hub-header-top:hover .hub-title-rename-btn{opacity:1}.hub-title-input{border:none;border-bottom:1px solid var(--color-border-hover);color:var(--color-text);background:0 0;outline:none;flex:1;padding:0 0 .125rem;font-family:inherit;font-size:1.625rem;font-weight:600;line-height:1.2}.hub-meta{color:var(--color-text-faint);margin:0;font-size:.8125rem}.hub-scroll{flex:1;min-height:0;overflow-y:auto}.hub-content{box-sizing:border-box;flex-direction:row;align-items:flex-start;gap:1.5rem;width:100%;max-width:900px;margin:0 auto;padding:1.5rem 2rem 2.5rem;display:flex}.hub-main{flex-direction:column;flex:1;gap:1.75rem;min-width:0;display:flex}.hub-lore{flex-direction:column;flex-shrink:0;gap:.75rem;width:220px;display:flex;position:sticky;top:1.5rem}.lore-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-sidebar);overflow:hidden}.lore-card-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.lore-card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);font-size:.625rem;font-weight:600}.lore-card-body{padding:.25rem 0}.lore-card-empty{padding:.375rem .75rem}.lore-item{transition:background var(--transition-fast);flex-direction:column;gap:.125rem;padding:.3rem .75rem;display:flex}.lore-item:hover{background:var(--color-bg)}.lore-item-name{color:var(--color-text);font-size:.8125rem;line-height:1.3}.lore-item-role{color:var(--color-text-faint);font-size:.6875rem}.lore-empty{color:var(--color-text-faint);margin:0;padding:.375rem .75rem;font-size:.8125rem}.lore-create-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.8125rem}.lore-create-btn:hover{opacity:.75}.kind-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);flex-shrink:0;align-items:center;padding:.2rem .5rem;font-size:.625rem;font-weight:600;display:inline-flex}.kind-badge--world{background:var(--color-world-tint);border:1px solid var(--color-world-border);color:var(--color-world)}.kind-badge--series{background:var(--color-series-tint);border:1px solid var(--color-series-border);color:var(--color-series)}.hub-section{flex-direction:column;gap:.625rem;display:flex}.hub-section-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.hub-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin:0;font-size:.6875rem;font-weight:500}.hub-add-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.8125rem}.hub-add-btn:hover{opacity:.75}.hub-inline-form{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.hub-inline-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);outline:none;flex:1;padding:.375rem .625rem;font-family:inherit;font-size:.875rem}.hub-inline-form input:focus{border-color:var(--color-border-hover)}.hub-inline-form button{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:.3rem .625rem;font-family:inherit;font-size:.8125rem}.hub-inline-form button[type=submit]{border-color:var(--color-accent-border);color:var(--color-accent)}.series-cards{flex-direction:column;gap:.625rem;display:flex}.series-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color var(--transition-fast);flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.series-card:hover{border-color:var(--color-border-hover)}.series-card-head{align-items:center;gap:.5rem;min-height:1.75rem;display:flex}.series-card-title{color:var(--color-text-secondary);transition:color var(--transition-fast);flex:1;font-size:.9375rem;font-weight:500}.series-card-title:hover{color:var(--color-text)}.series-card-books{flex-direction:column;gap:.25rem;margin:0 0 0 .25rem;padding:0;list-style:none;display:flex}.series-card-book{align-items:center;gap:.625rem;padding:.125rem 0;display:flex}.book-shelf{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.book-shelf-item{border-radius:var(--radius-md);min-height:2.25rem;transition:background var(--transition-fast);align-items:center;gap:.625rem;padding:.375rem .5rem;display:flex}.book-shelf-item:hover{background:var(--color-surface)}.book-number{color:var(--color-text-faint);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:1.25rem;font-size:.6875rem;font-weight:500}.book-link{color:var(--color-text);transition:color var(--transition-fast);flex:1;font-size:.9375rem}.book-link:hover{color:var(--color-accent)}.hub-item-actions{opacity:0;transition:opacity var(--transition-fast);align-items:center;gap:.125rem;margin-left:auto;display:flex}.series-card-head:hover .hub-item-actions,.book-shelf-item:hover .hub-item-actions{opacity:1}.hub-action-btn{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:.2rem .35rem;font-size:1rem;line-height:1}.hub-action-btn:hover{color:var(--color-text-muted);background:var(--color-bg)}.hub-action-btn--danger:hover{color:var(--color-error)}.hub-rename-input{background:var(--color-surface);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);color:var(--color-text);outline:none;flex:1;padding:.1875rem .5rem;font-family:inherit;font-size:.9375rem}.hub-move-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;outline:none;padding:.1875rem .375rem;font-family:inherit;font-size:.75rem}.hub-empty-hint{color:var(--color-text-faint);padding:.25rem .5rem;font-size:.8125rem}.dash-layout{background:var(--color-editor);flex-direction:column;min-height:100vh;display:flex}.dash-body{flex-direction:row;flex:1;align-items:flex-start;width:100%;max-width:1280px;margin:0 auto;display:flex}.dash-nav{background:var(--color-sidebar);border-bottom:1px solid var(--color-border);z-index:50;flex-shrink:0;align-items:center;height:44px;padding:0 1.25rem;display:flex;position:relative}.dash-nav .back-link{color:var(--color-text-faint);transition:color var(--transition-fast);flex-shrink:0;font-size:.8125rem}.dash-nav .back-link:hover{color:var(--color-text-muted)}.wordmark{letter-spacing:-.02em;margin-right:auto;font-size:1.125rem;font-weight:600}.wordmark .accent{color:var(--color-accent)}.dash-nav .theme-toggle{color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;margin-right:1rem;padding:0;font-size:.8125rem;line-height:1}.dash-nav .theme-toggle:hover{color:var(--color-text-muted)}.dash-main{flex-direction:column;flex:1;gap:1.75rem;min-width:0;padding:2rem 2rem 3rem;display:flex}.resume-banner{background:var(--color-sidebar);border:1px solid var(--color-border);border-left:2px solid var(--color-accent);border-radius:var(--radius-lg);align-items:center;gap:1.5rem;padding:1.125rem 1.25rem;display:flex}.resume-text{flex:1;min-width:0}.resume-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.25rem;font-size:.6875rem;font-weight:500}.resume-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.125rem;font-size:.9375rem;font-weight:500;overflow:hidden}.resume-meta{color:var(--color-text-faint);font-size:.6875rem}.resume-btn{background:var(--color-accent);color:#1a1410;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:opacity var(--transition-fast);border:none;flex-shrink:0;padding:.5rem 1rem;font-size:.8125rem;font-weight:500}.resume-btn:hover{opacity:.85}.dash-stats{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.stat-card{background:var(--color-sidebar);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1.125rem}.stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.375rem;font-size:.6875rem;font-weight:500}.stat-value{color:var(--color-text);margin-bottom:.25rem;font-size:1.625rem;font-weight:500;line-height:1}.stat-sub{color:var(--color-text-faint);font-size:.6875rem}.dash-grid{grid-template-columns:1fr 1fr 1fr 1fr;align-items:start;gap:1.5rem;display:grid}.dash-col{min-width:0}.dash-section-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dash-section-title{color:var(--color-text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.dash-new-btn{color:var(--color-accent);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0;font-size:.8125rem}.dash-new-btn:hover{opacity:.75}.dash-book-list{flex-direction:column;gap:.375rem;display:flex}.dash-book-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.dash-book-row:hover{background:var(--color-surface);border-color:var(--color-border-hover)}.dash-book-row--active{background:var(--color-sidebar);border-color:var(--color-border);border-left:2px solid var(--color-accent)}.dash-book-row--active .dash-book-icon{border-color:var(--color-border);color:var(--color-accent);background:0 0}.dash-book-row--active .dash-book-title{color:var(--color-text)}.dash-book-row--active:hover{background:var(--color-surface);border-color:var(--color-border-hover);border-left-color:var(--color-accent)}.dash-book-icon{border-radius:var(--radius-sm);background:var(--color-sidebar);border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-faint);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-book-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.dash-book-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.dash-book-meta{color:var(--color-text-faint);font-size:.6875rem}.dash-world-list{flex-direction:column;gap:.375rem;display:flex}.dash-world-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:background var(--transition-fast), border-color var(--transition-fast);align-items:center;padding:.125rem 0;display:flex}.dash-world-row:hover{background:var(--color-surface);border-color:var(--color-border-hover)}.dash-world-link{flex-direction:column;flex:1;gap:.125rem;min-width:0;padding:.5rem .75rem;display:flex}.dash-world-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.dash-world-meta{color:var(--color-text-faint);font-size:.6875rem}.dash-world-row .delete-btn,.idx-world-card .delete-btn{color:var(--color-text-faint);cursor:pointer;opacity:0;transition:color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:none;padding:0 .625rem;font-size:1.125rem;line-height:1}.dash-world-row:hover .delete-btn,.idx-world-card:hover .delete-btn{opacity:1}.dash-world-row .delete-btn:hover,.idx-world-card .delete-btn:hover{color:var(--color-error)}.dash-new-form{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.dash-new-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem}.dash-new-form input:focus{border-color:var(--color-border-hover)}.field-error{color:var(--color-error);font-size:.8125rem}.form-actions{gap:.5rem;display:flex}.submit-btn{background:var(--color-accent-tint);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);color:var(--color-accent);cursor:pointer;transition:opacity var(--transition-fast);padding:.375rem .75rem;font-size:.8125rem}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast);background:0 0;padding:.375rem .75rem;font-size:.8125rem}.cancel-btn:hover{border-color:var(--color-border-hover)}.dash-empty{color:var(--color-text-faint);padding:.25rem .75rem;font-size:.8125rem}.heatmap-month-labels{grid-template-columns:repeat(var(--days), 1fr);gap:2px;margin-bottom:4px;display:grid}.heatmap-month-labels span{color:var(--color-text-faint);font-size:.625rem}.activity-grid{grid-template-columns:repeat(var(--days), 1fr);gap:2px;display:grid}.activity-cell{aspect-ratio:1;background:var(--color-border-hover);border-radius:2px;min-width:0}.activity-cell.act-1{background:color-mix(in srgb, var(--color-accent) 20%, transparent)}.activity-cell.act-2{background:color-mix(in srgb, var(--color-accent) 45%, transparent)}.activity-cell.act-3{background:color-mix(in srgb, var(--color-accent) 70%, transparent)}.activity-cell.act-4{background:var(--color-accent)}.idx-main{flex-direction:column;gap:1.5rem;width:100%;max-width:720px;margin:0 auto;padding:2rem 2rem 3rem;display:flex}.nav-page-title{color:var(--color-text-secondary);flex:1;margin-left:.75rem;font-size:.875rem;font-weight:500}.idx-world-grid{flex-direction:column;gap:.125rem;display:flex}.idx-world-card{border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:center;display:flex}.idx-world-card:hover{background:var(--color-surface)}.idx-world-card-link{flex-direction:column;flex:1;gap:.125rem;min-width:0;padding:.625rem .75rem;display:flex}.idx-world-title{color:var(--color-text);font-size:.875rem;font-weight:500}.idx-world-meta{color:var(--color-text-faint);font-size:.6875rem}.idx-series-grid{flex-direction:column;gap:.125rem;display:flex}.idx-series-card{border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:center;display:flex}.idx-series-card:hover{background:var(--color-surface)}.idx-series-card-link{flex-direction:column;flex:1;gap:.125rem;min-width:0;padding:.625rem .75rem;display:flex}.idx-series-title{color:var(--color-text);font-size:.875rem;font-weight:500}.idx-series-meta{color:var(--color-text-faint);font-size:.6875rem}.idx-book-list{max-height:none}.idx-see-all{color:var(--color-text-faint);transition:color var(--transition-fast);margin-top:.375rem;font-size:.75rem;display:inline-block}.idx-see-all:hover{color:var(--color-accent)}.feed-list{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.feed-item{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.5rem;padding:.375rem 0;display:flex}.feed-item:last-child{border-bottom:none}.feed-dot{background:var(--color-text-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:.35rem}.feed-dot--chapter{background:var(--color-accent)}.feed-dot--other{background:color-mix(in srgb, var(--color-text) 35%, transparent)}.feed-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.feed-text{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;line-height:1.4;overflow:hidden}.feed-project{color:var(--color-text);font-weight:600;text-decoration:none}.feed-project:hover{text-decoration:underline}.feed-subject{color:var(--color-text-muted);font-style:italic}.feed-time{color:var(--color-text-faint);font-size:.625rem}.act-row{cursor:grab;align-items:center;gap:.25rem;padding:.125rem .5rem .125rem 1.25rem;display:flex}.act-row:active{cursor:grabbing}.act-block.dragging{opacity:.3}.act-row--unassigned{margin-top:0;padding-top:0}.act-label{cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:0;min-width:0;padding:0;display:flex}.act-title-btn{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:color var(--transition-fast);background:0 0;border:none;flex:1;padding:.25rem 0;font-size:.75rem;font-weight:600;overflow:hidden}.act-title-btn:hover,.act-title-btn.active{color:var(--color-text)}.act-chevron-btn{cursor:pointer;color:var(--color-text-faint);transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:.25rem 0;line-height:1}.act-chevron-btn:hover{color:var(--color-text-muted)}.act-label--muted{text-transform:none;letter-spacing:0;color:var(--color-text-faint);justify-content:space-between;width:100%;font-weight:400}.act-chevron{letter-spacing:0;text-transform:none;transition:transform var(--transition-fast);font-size:.875rem;font-weight:400;line-height:1;display:inline-block;transform:rotate(90deg)}.act-chevron.collapsed{transform:rotate(0)}.act-rename{flex:1;font-size:.75rem}.act-actions{visibility:hidden;flex-shrink:0;align-items:center;gap:.125rem;display:flex}.act-row:hover .act-actions{visibility:visible}.act-empty{color:var(--color-text-faint);padding:.25rem .75rem .25rem 2.25rem;font-size:.75rem;font-style:italic}.sidebar-item-row--indented .sidebar-item{padding-left:2.25rem}.sidebar-empty-hint{color:var(--color-text-faint);padding:.5rem .75rem;font-size:.75rem;font-style:italic}.section-add-wrap{flex-shrink:0;position:relative}.section-add-menu{z-index:100;background:var(--color-surface-raised,#2a2a2a);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);flex-direction:column;min-width:120px;padding:.25rem 0;display:flex;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 4px 12px #0006}.section-add-menu-option{color:var(--color-text-muted);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:.375rem .75rem;font-family:inherit;font-size:.8125rem}.section-add-menu-option:hover{color:var(--color-text);background:#ffffff0f}.act-assign-wrap{flex-shrink:0;position:relative}.act-assign-btn{display:none}.sidebar-item-row:hover .act-assign-btn{display:inline-flex}.act-picker{z-index:100;background:var(--color-surface-raised,#2a2a2a);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);flex-direction:column;min-width:130px;padding:.25rem 0;display:flex;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 4px 12px #0006}.act-picker-option{color:var(--color-text-muted);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:.375rem .75rem;font-family:inherit;font-size:.8125rem}.act-picker-option:hover{color:var(--color-text);background:#ffffff0f}.act-picker-option.active{color:var(--color-accent)}.act-picker-option--unassign{border-top:1px solid var(--color-border);color:var(--color-text-faint);margin-top:.125rem;padding-top:.375rem;font-style:italic}.mode-toggle{align-items:center;gap:.25rem;display:flex}.mode-btn{border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:.25rem .625rem;font-family:inherit;font-size:.8rem}.mode-btn:hover{color:var(--color-text-muted);background:#ffffff0f}.mode-btn.active{background:var(--color-accent-tint);border-color:var(--color-accent-border);color:var(--color-accent);font-weight:600}.book-mode-toggle{align-items:center;gap:.25rem;display:flex}.book-mode-btn{border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:.375rem .875rem;font-family:inherit;font-size:.8125rem}.book-mode-btn:hover{color:var(--color-text-muted);background:#ffffff0f}.book-mode-btn.active{background:var(--color-accent-tint);border-color:var(--color-accent-border);color:var(--color-accent);font-weight:600}.project-empty-inner .book-mode-toggle{justify-content:center;margin-bottom:1rem}.sidebar-mode-footer{border-top:1px solid var(--color-border);flex-shrink:0;padding:.5rem .75rem .75rem}.sidebar-mode-footer .book-mode-toggle{width:100%}.sidebar-mode-footer .book-mode-btn{text-align:center;flex:1;padding:.25rem .5rem;font-size:.75rem}.mode-switch-confirm{flex-direction:column;gap:.5rem;display:flex}.mode-switch-msg{color:var(--color-text-muted);margin:0;font-size:.75rem;line-height:1.4}.mode-switch-actions{gap:.375rem;display:flex}.mode-switch-btn{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border:1px solid #0000;flex:1;padding:.25rem .5rem;font-family:inherit;font-size:.75rem}.mode-switch-btn--confirm{background:var(--color-accent-tint);border-color:var(--color-accent-border);color:var(--color-accent);font-weight:600}.mode-switch-btn--confirm:hover{background:#f0853a26}.mode-switch-btn--cancel{border-color:var(--color-border);color:var(--color-text-faint);background:0 0}.mode-switch-btn--cancel:hover{border-color:var(--color-border-hover);color:var(--color-text-muted)}.chapter-nudge{border:1px solid var(--color-border);border-left:2px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--color-accent-tint);flex-direction:column;gap:.5rem;margin:.25rem .75rem .5rem;padding:.625rem .75rem;display:flex}.chapter-nudge-msg{color:var(--color-text-muted);margin:0;font-size:.75rem;line-height:1.4}.chapter-nudge-actions{gap:.375rem;display:flex}.chapter-nudge-btn{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border:1px solid #0000;flex:1;padding:.2rem .5rem;font-family:inherit;font-size:.75rem}.chapter-nudge-btn--act{background:var(--color-accent-tint);border-color:var(--color-accent-border);color:var(--color-accent);font-weight:600}.chapter-nudge-btn--act:hover{background:#f0853a26}.chapter-nudge-btn--anyway{border-color:var(--color-border);color:var(--color-text-faint);background:0 0}.chapter-nudge-btn--anyway:hover{border-color:var(--color-border-hover);color:var(--color-text-muted)}.style-samples-view{max-width:680px;margin:0 auto;padding:3rem 2rem}.style-samples-header{margin-bottom:2rem}.style-samples-title-row{justify-content:space-between;align-items:baseline;margin-bottom:.625rem;display:flex}.style-samples-title{margin:0;font-size:1.375rem;font-weight:600;line-height:1.3}.style-samples-profile-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:.25rem .625rem;font-size:.8125rem}.style-samples-profile-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.style-samples-desc{color:var(--color-text-muted);font-size:.875rem;line-height:1.6}.style-samples-list{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.style-sample-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:.875rem 1rem}.style-sample-meta{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.style-sample-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.style-sample-delete{color:var(--color-text-faint);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0 .25rem;font-size:1rem;line-height:1}.style-sample-delete:hover{color:var(--color-error)}.style-sample-preview{color:var(--color-text-muted);white-space:pre-wrap;margin:0;font-size:.8125rem;line-height:1.55}.style-samples-empty{color:var(--color-text-faint);margin-bottom:2rem;font-size:.875rem}.style-samples-limit-note{color:var(--color-text-muted);margin-top:1rem;font-size:.875rem}.style-sample-form{border-top:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding-top:1.75rem;display:flex}.style-sample-error{color:var(--color-error);background:var(--color-error-subtle);border:1px solid var(--color-error-border);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.8125rem}.style-sample-textarea{background:var(--color-editor);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);font-family:var(--font-sans);resize:vertical;transition:border-color var(--transition-fast);box-sizing:border-box;padding:.75rem 1rem;font-size:.875rem;line-height:1.65}.style-sample-textarea:focus{border-color:var(--color-border-hover);outline:none}.style-sample-textarea::placeholder{color:var(--color-text-faint)}.style-sample-notes{background:var(--color-editor);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);transition:border-color var(--transition-fast);padding:.5rem .75rem;font-size:.8125rem}.style-sample-notes:focus{border-color:var(--color-border-hover);outline:none}.style-sample-notes::placeholder{color:var(--color-text-faint)}.style-sample-submit{background:var(--color-accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:opacity var(--transition-fast);border:none;align-self:flex-start;padding:.4375rem 1rem;font-size:.8125rem;font-weight:500}.style-sample-submit:hover:not(:disabled){opacity:.88}.style-sample-submit:disabled{opacity:.35;cursor:not-allowed}.editor-wrap{flex-direction:column;display:flex}.toolbar{border-bottom:1px solid var(--color-border);z-index:10;background:var(--color-editor);align-items:center;gap:.125rem;margin-bottom:1.5rem;padding:.5rem 0;display:flex;position:sticky;top:0}.toolbar-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;letter-spacing:0;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}.toolbar-btn.bold{font-weight:800}.toolbar-btn.italic{font-style:italic}.toolbar-btn.underline{text-underline-offset:2px;text-decoration:underline}.toolbar-btn.strike{text-decoration:line-through}.toolbar-btn.list-ordered{letter-spacing:-.02em;font-size:.6875rem}.toolbar-btn:hover{color:var(--color-text);background:var(--color-surface)}.toolbar-btn.active{color:var(--color-accent);background:var(--color-accent-tint)}.toolbar-sep{background:var(--color-border);width:1px;height:16px;margin:0 .375rem;display:inline-block}.toolbar-spacer{flex:1}.save-status{opacity:0;font-size:.75rem;transition:opacity .3s}.save-status.saving{color:var(--color-text-muted);opacity:1}.save-status.saved{color:var(--color-accent);opacity:1}.export-menu{position:relative}.export-trigger{margin-left:.5rem;font-size:.9rem}.export-dropdown{background:var(--color-sidebar);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:200;min-width:190px;padding:.25rem 0;display:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #00000040}.export-menu.open .export-dropdown{flex-direction:column;display:flex}.export-item{color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;padding:.4rem .875rem;font-size:.8125rem;text-decoration:none;display:block}.export-item:hover{background:var(--color-surface);color:var(--color-text)}.export-separator{pointer-events:none;color:var(--color-text-faint);letter-spacing:.04em;border-top:1px solid var(--color-border);margin-top:.125rem;padding:.5rem .875rem .25rem;font-size:.6875rem}.toolbar-builder-link{color:var(--color-accent);white-space:nowrap;opacity:.8;transition:opacity var(--transition-fast);margin-left:.75rem;font-size:.75rem;text-decoration:none}.toolbar-builder-link:hover{opacity:1}.editor-content .ProseMirror{min-height:400px;color:var(--color-text-secondary);outline:none;font-size:.9375rem;line-height:1.8}.editor-content .ProseMirror>*+*{margin-top:.75em}.editor-content .ProseMirror p{margin:0}.editor-content .ProseMirror p+p{text-indent:1.5em;margin-top:0}.editor-content .ProseMirror h1{color:var(--color-text);margin-top:1.75em;margin-bottom:.25em;font-size:1.5rem;font-weight:600;line-height:1.3}.editor-content .ProseMirror h1:first-child{margin-top:0}.editor-content .ProseMirror h2{color:var(--color-text);margin-top:1.5em;margin-bottom:.25em;font-size:1.125rem;font-weight:600;line-height:1.35}.editor-content .ProseMirror h3{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);margin-top:1.75em;margin-bottom:.25em;font-size:.6875rem;font-weight:600}.editor-content .ProseMirror h3:first-child{margin-top:0}.editor-content .ProseMirror strong{color:var(--color-text);font-weight:600}.editor-content .ProseMirror em{font-style:italic}.editor-content .ProseMirror u{text-underline-offset:2px}.editor-content .ProseMirror a{color:var(--color-accent);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.editor-content .ProseMirror a:hover{opacity:.8}.editor-content .ProseMirror blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-muted);margin:1em 0;padding:.25em 0 .25em 1.25em;font-style:italic}.editor-content .ProseMirror hr{text-align:center;color:var(--color-text-faint);border:none;margin:2em 0}.editor-content .ProseMirror hr:after{content:"✦   ✦   ✦";letter-spacing:.5em;font-size:.8125rem}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{padding-left:1.5em}.editor-content .ProseMirror li>p{margin:0}.editor-content .ProseMirror .ProseMirror-cursor{border-left-color:var(--color-accent)}.link-bar{border-bottom:1px solid var(--color-border);align-items:center;gap:.375rem;margin-bottom:.875rem;padding:.375rem 0 .625rem;display:flex}.link-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;flex:1;padding:.25rem .5rem;font-family:inherit;font-size:.8125rem}.link-input:focus{border-color:var(--color-border-hover)}.link-bar-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:.25rem .375rem;font-size:.75rem}.link-bar-btn:hover{color:var(--color-text)}.link-bar-btn.link-bar-remove{color:var(--color-error)}.link-bar-btn.link-bar-remove:hover{color:var(--color-text)}.agent-bar{border-bottom:1px solid var(--color-border);align-items:center;gap:.375rem;margin-bottom:.875rem;padding:.375rem 0 .625rem;display:flex}.agent-role-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-fast);outline:none;padding:.25rem .375rem;font-family:inherit;font-size:.75rem}.agent-role-select:focus{border-color:var(--color-border-hover)}.agent-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;flex:1;padding:.25rem .5rem;font-family:inherit;font-size:.8125rem}.agent-input:focus{border-color:var(--color-border-hover)}.agent-input:disabled,.agent-role-select:disabled{opacity:.5;cursor:not-allowed}.agent-bar-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:.25rem .375rem;font-size:.75rem}.agent-bar-btn:hover:not(:disabled){color:var(--color-text)}.agent-bar-btn:disabled{opacity:.4;cursor:not-allowed}.agent-bar-cancel{color:var(--color-text-faint)}.agent-bar-error{color:var(--color-error);white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:.75rem;overflow:hidden}.editor-content .ProseMirror span[data-ghost]{color:var(--color-text-faint)}.word-count{color:var(--color-text-faint);font-variant-numeric:tabular-nums;margin-right:.75rem;font-size:.6875rem}.inline-hint{color:var(--color-accent);font-size:.6875rem;font-family:var(--font-mono)}.inline-shortcut{color:var(--color-text-faint);font-size:.6875rem;font-family:var(--font-mono);opacity:.5}.editor-content .ProseMirror img{border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:100%;height:auto;margin:1.5rem 0;display:block}.editor-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--color-accent);outline-offset:2px}.admin-subnav{border-bottom:1px solid var(--color-border);background:var(--color-surface);gap:0;padding:0 2rem;display:flex}.admin-subnav__link{color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.625rem 1rem;font-size:.8125rem;text-decoration:none}.admin-subnav__link:hover{color:var(--color-text)}.admin-subnav__link.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.admin-dashboard,.admin-waitlist{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.admin-stats{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.admin-nav-cards{flex-wrap:wrap;gap:1rem;display:flex}.admin-nav-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);flex-direction:column;gap:.25rem;min-width:200px;padding:1rem 1.5rem;text-decoration:none;display:flex}.admin-nav-card:hover{border-color:var(--color-accent)}.admin-nav-card__title{color:var(--color-text);font-weight:600}.admin-nav-card__sub{color:var(--color-text-muted);font-size:.8rem}.admin-section-header{align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-section-title{font-size:1.125rem;font-weight:600}.admin-section-meta{color:var(--color-text-muted);font-size:.8rem}.admin-tabs{border-bottom:1px solid var(--color-border);gap:.25rem;margin-bottom:1.25rem;padding-bottom:0;display:flex}.admin-tab{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;font-size:.875rem}.admin-tab.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle;padding:.75rem}.admin-table__email{font-weight:500}.admin-table__date{color:var(--color-text-muted);white-space:nowrap}.admin-table__actions{justify-content:flex-end;gap:.5rem;display:flex}.admin-table__empty{text-align:center;color:var(--color-text-faint);padding:2rem!important}.admin-badge{border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.admin-badge--pending{background:color-mix(in srgb, var(--color-text-muted) 15%, transparent);color:var(--color-text-muted)}.admin-badge--invited{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.admin-badge--rejected{color:#ef4444;background:#ef444426}.admin-btn{border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast);border:1px solid #0000;padding:.3rem .75rem;font-size:.8rem;font-weight:500}.admin-btn:hover{opacity:.8}.admin-btn--primary{background:var(--color-accent);color:#fff}.admin-btn--danger{color:#ef4444;background:0 0;border-color:#ef4444}.analytics{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}.analytics-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.analytics-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem}.analytics-card--wide{grid-column:1/-1}.analytics-card__title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 1.25rem;font-size:.8125rem;font-weight:600}.analytics-empty{color:var(--color-text-faint);margin:0;font-size:.875rem}.bar-chart{align-items:flex-end;gap:2px;height:100px;display:flex}.bar-chart__col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bar-chart__bar{background:var(--color-accent);opacity:.7;width:100%;min-height:2px;transition:opacity var(--transition-fast);border-radius:2px 2px 0 0}.bar-chart__bar:hover{opacity:1}.bar-chart__bar--accent2{background:#818cf8}.bar-chart__stack{cursor:default;border-radius:2px 2px 0 0;flex-direction:column-reverse;width:100%;display:flex;overflow:hidden}.bar-chart__seg{width:100%;min-height:1px;transition:opacity var(--transition-fast)}.bar-chart__seg:hover{opacity:.8}.bar-chart-axis{border-top:1px solid var(--color-border);gap:2px;margin-top:0;padding-top:4px;display:flex}.bar-chart-axis__col{color:var(--color-text-muted);white-space:nowrap;text-align:center;flex:1;min-width:0;font-size:.6rem;overflow:visible}.bar-legend{flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1.5rem;display:flex}.bar-legend-item{align-items:center;gap:.375rem;font-size:.75rem;display:flex}.bar-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.bar-legend-name{color:var(--color-text-muted)}.bar-legend-val{color:var(--color-text);font-weight:500}.bar-legend-pct{color:var(--color-text-faint)}.hbar-chart{flex-direction:column;gap:.625rem;display:flex}.hbar-chart__row{grid-template-columns:110px 1fr 48px;align-items:center;gap:.5rem;display:grid}.hbar-chart__label{color:var(--color-text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.hbar-chart__track{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.hbar-chart__fill{background:var(--color-accent);border-radius:4px;height:100%;transition:width .3s}.hbar-chart__value{color:var(--color-text-muted);text-align:right;font-size:.75rem}.mode-chart{flex-direction:column;gap:1.25rem;display:flex}.mode-chart__row{flex-direction:column;gap:.375rem;display:flex}.mode-chart__header{justify-content:space-between;align-items:baseline;display:flex}.mode-chart__label{color:var(--color-text);text-transform:capitalize;font-size:.875rem;font-weight:500}.mode-chart__pct{color:var(--color-text);font-size:1rem;font-weight:600}.mode-chart__track{background:var(--color-border);border-radius:5px;height:10px;overflow:hidden}.mode-chart__fill{border-radius:5px;height:100%;transition:width .3s}.mode-chart__fill--gardener{background:var(--color-accent)}.mode-chart__fill--architect{background:#818cf8}.mode-chart__count{color:var(--color-text-muted);font-size:.75rem}
