@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Playfair Display,Georgia,serif;background:var(--paper-top);color:var(--text-primary);-webkit-text-size-adjust:100%;text-size-adjust:100%}img{max-width:100%;height:auto}#root{height:100%}:root{--paper-top: #f6f4f1;--paper-bottom: #eae6e1;--paper-card: #fbfaf7;--text-primary: #2b2b2b;--text-secondary: #5a5a5a;--text-muted: #8a8a8a;--label-primary: #2b2b2b;--label-inverse: #ffffff;--border: #d6d2cc;--surface: #ffffff;--ink: #2f3e46;--ink-hover: #354f52;--accent: #b8895a;--on-surface: #2b2b2b;--on-ink: #ffffff;--on-accent: #1f1c18}[data-theme=dark]{--paper-top: #221E1A;--paper-bottom: #171412;--paper-card: #25211d;--text-primary: #E9E3DB;--text-secondary: #C6BEB4;--text-muted: #8D847A;--label-primary: #E9E3DB;--label-inverse: #171412;--border: #453d35;--surface: #2A2521;--surface-raised: #332E29;--ink: #ece0cc;--ink-hover: #f2e8d8;--accent: #c49a6c;--on-surface: #E9E3DB;--on-ink: #171412;--on-accent: #171412}@font-face{font-family:Fonarto;src:url(/assets/Fonarto-Light-BO_dG6UV.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Fonarto;src:url(/assets/Fonarto-Regular-BL0QXRzz.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fonarto;src:url(/assets/Fonarto-Bold-D3rphu62.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Dexotick;src:url(/assets/Dexotick-BcOi5G9_.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Oraqle Script;src:url(/assets/Oraqle-Script-D9nqdlrl.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Raventame;src:url(/assets/Raventame-D_LrjjGt.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/assets/PlayfairDisplay-VariableFont_wght-Cl-XvBsO.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}button,.toolbar-btn,.toolbar-user,.sidebar-page{opacity:1}button:disabled,.is-disabled{opacity:.45;cursor:not-allowed}ul{padding-left:1.2rem}button,input,textarea{font:inherit}@media(max-width:768px){input,textarea,select{font-size:16px!important}}.icon-tooltip-wrap{position:relative;display:inline-flex;align-items:center}.icon-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(-4px);width:max-content;max-width:min(200px,72vw);border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 24%,var(--border));background:color-mix(in srgb,var(--surface) 98%,#ffffff);color:var(--label-primary);box-shadow:0 10px 22px #0c185329;padding:6px 10px;font-size:.78rem;line-height:1.35;font-weight:600;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:11}.icon-tooltip:before{content:"";position:absolute;left:calc(50% - 5px);top:-6px;width:10px;height:10px;border-top:1px solid color-mix(in srgb,var(--ink) 24%,var(--border));border-left:1px solid color-mix(in srgb,var(--ink) 24%,var(--border));background:color-mix(in srgb,var(--surface) 98%,#ffffff);transform:rotate(45deg)}.icon-tooltip-wrap:hover .icon-tooltip,.icon-tooltip-wrap:focus-within .icon-tooltip{opacity:1;transform:translate(-50%) translateY(0)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:#3f2e2e;color:var(--label-primary);border-color:var(--border)}.app{height:100%}html:has(.editor-shell),body:has(.editor-shell){overscroll-behavior:none}.editor-shell{min-height:100vh;height:100vh;background:linear-gradient(155deg,var(--paper-top) 0%,var(--paper-bottom) 100%);display:flex;align-items:stretch;padding:0;box-sizing:border-box;overflow:hidden;font-family:Playfair Display,Georgia,serif;color:var(--text-primary)}[data-theme=dark] .editor-shell input:not(.sidebar-select),[data-theme=dark] .editor-shell textarea,[data-theme=dark] .editor-shell select:not(.sidebar-select){background:transparent;color:inherit;border-color:var(--border)}.editor-app{width:100%;margin:0;display:flex;flex-direction:column;gap:0;height:100%;min-height:0;position:relative}.editor-shell.focus-mode .editor-toolbar,.editor-shell.focus-mode .editor-sidebar,.editor-shell.focus-mode .focus-mode-panel,.editor-shell.focus-mode .editor-history,.editor-shell.focus-mode .editor-whiteboard-canvas,.editor-shell.focus-mode .editor-settings-modal,.editor-shell.focus-mode .editor-settings-backdrop,.editor-shell.focus-mode .editor-toast{transition:opacity .25s ease,filter .25s ease}.editor-shell.focus-dimmed .editor-toolbar,.editor-shell.focus-dimmed .editor-sidebar,.editor-shell.focus-dimmed .focus-mode-panel,.editor-shell.focus-dimmed .editor-history,.editor-shell.focus-dimmed .editor-whiteboard-canvas,.editor-shell.focus-dimmed .editor-settings-modal,.editor-shell.focus-dimmed .editor-settings-backdrop,.editor-shell.focus-dimmed .editor-toast{opacity:.25;filter:saturate(.6)}.editor-shell.focus-dimmed .editor-history-backdrop.is-open{opacity:.2}.editor-shell.focus-mode .editor-page{position:relative;z-index:2}.editor-shell.focus-mode .editor-format-bar{z-index:12}.editor-focus-complete{position:fixed;inset:0;width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--paper-bottom) 60%,transparent);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease;transform:scale(1.01);z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.editor-focus-complete.is-visible{opacity:1;pointer-events:auto;transform:scale(1)}.editor-focus-complete-text{text-align:center;width:min(420px,90%);display:flex;flex-direction:column;gap:8px}.editor-focus-complete-image{width:min(500px,70vw);height:auto;align-self:center}.editor-focus-complete-title{margin:0 0 6px;font-size:1.1rem;font-weight:600;color:var(--label-primary)}.editor-focus-complete-subtitle{margin:0 0 16px;font-size:.9rem;color:var(--text-secondary)}.editor-focus-complete-dismiss{border-radius:999px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--label-primary);padding:6px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;align-self:center}.editor-focus-complete-dismiss:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a24}.editor-focus-complete-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.editor-focus-complete-action{border-radius:999px;border:1px solid transparent;padding:6px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.editor-focus-complete-action.primary{background:var(--ink);color:var(--label-inverse)}.editor-focus-complete-action.ghost{background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--label-primary);border-color:color-mix(in srgb,var(--border) 70%,transparent)}.editor-focus-complete-action:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a24}.editor-toolbar{background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:18px;padding:16px 20px;min-height:72px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 20px 40px #0c185333;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:60;color:var(--label-primary)}.toolbar-left{display:flex;align-items:center;gap:16px}.toolbar-logo{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:12px;background:transparent;padding:4px;overflow:hidden}.toolbar-logo img{height:28px;width:auto;object-fit:contain}.toolbar-logo-mobile,.toolbar-mobile-section-label{display:none}.toolbar-separator{width:1px;height:24px;background:var(--border);opacity:.8}.work-meta{display:flex;flex-direction:column;gap:6px}.work-type-icon{width:32px;height:32px;border-radius:0;border:none;background:transparent;color:var(--label-primary);display:inline-flex;align-items:center;justify-content:center}.work-title{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600;border:none;border-bottom:none;background:transparent;outline:none;color:var(--label-primary);padding:0;min-width:0;max-width:100%}.work-title::placeholder,.front-title::placeholder{color:var(--text-muted);font-style:italic}.work-title:focus{border-bottom:2px solid var(--ink)}.work-title-row{display:inline-flex;align-items:center;gap:4px;position:relative;min-width:0}.work-title-pencil{font-size:.9rem;color:var(--text-muted);opacity:0;transition:opacity .15s ease}.work-title-measure{position:absolute;visibility:hidden;white-space:pre;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600;letter-spacing:normal}.work-title-row:hover .work-title-pencil,.work-title-row:focus-within .work-title-pencil{opacity:1}.work-title-subtitle{display:inline-block;min-width:0;max-width:min(34vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:.95rem;font-weight:500}.work-status-row{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-secondary)}.work-status-dot{width:8px;height:8px;border-radius:999px;background:var(--border)}.work-status-dot.saved{background:#16a34a}.work-status-dot.saving{background:#f59e0b}.work-status-dot.error{background:#dc2626}.work-status{font-size:.75rem;color:var(--on-surface)}.work-save-label{color:var(--label-primary);font-weight:600}.work-context{color:var(--text-secondary)}.toolbar-actions{display:flex;align-items:center;gap:8px}.editor-shell .editor-toolbar{height:60px;min-height:60px;background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:0;padding:0 20px;border-bottom:1px solid var(--border);box-shadow:none;gap:16px;flex-shrink:0}.editor-shell .toolbar-left{gap:14px;min-width:0}.editor-shell .toolbar-logo{width:auto;height:auto;border-radius:0;padding:0;flex-shrink:0;background:transparent;overflow:visible}.editor-shell .toolbar-logo img{height:28px;width:auto;display:block;object-fit:contain}.editor-shell .toolbar-logo .toolbar-logo-mobile{display:none}.editor-shell .toolbar-separator{height:22px;opacity:1;flex-shrink:0}.editor-shell .work-meta{gap:1px;min-width:0}.editor-shell .work-type-icon{width:28px;height:28px;color:var(--label-secondary);flex-shrink:0;padding:2px}.editor-shell .work-type-icon svg{font-size:20px}.editor-shell .work-title{font-size:.88rem;max-width:280px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-shell .work-title:focus{box-shadow:0 1px 0 var(--accent);border-bottom:none}.editor-shell .work-title-row{align-items:baseline;gap:8px}.editor-shell .work-title-pencil{font-size:.78rem}.editor-shell .work-title-measure{font-size:.88rem}.editor-shell .work-title-subtitle{max-width:min(34vw,360px);color:var(--text-muted);font-size:.74rem;font-style:italic;font-weight:400}.editor-shell .work-status-row{gap:6px;font-size:.72rem;color:var(--text-muted);line-height:1.2}.editor-shell .work-status-dot{width:6px;height:6px;background:var(--accent);flex-shrink:0}.editor-shell .work-status-dot.saved{background:var(--accent)}.editor-shell .work-status-dot.saving{background:var(--text-muted);animation:editor-toolbar-pulse 1.6s ease-in-out infinite}@keyframes editor-toolbar-pulse{50%{opacity:.35}}.editor-shell .work-status{font-size:.72rem;color:var(--text-muted)}.editor-shell .work-save-label{color:var(--text-muted);font-weight:500}.editor-shell .work-context{color:var(--text-muted);font-style:italic}.editor-shell .work-context:before{content:"·";margin-right:6px;opacity:.5}.editor-shell .toolbar-actions{flex-shrink:0}.works-toolbar .works-title{font-size:1.1rem;font-weight:600;color:var(--label-primary)}.toolbar-user{border:none;background:var(--surface);color:var(--label-primary);cursor:pointer;padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.toolbar-user.is-active{background:var(--ink);color:var(--label-inverse);box-shadow:none}.toolbar-user.is-active:hover,.toolbar-user.is-active:focus-visible{background:var(--ink);color:var(--label-inverse);box-shadow:0 12px 20px #0f172a33}.toolbar-user:hover:not(.is-active),.toolbar-user:focus-visible:not(.is-active){background:color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 8px 16px #0f172a24}.toolbar-user.is-open:not(.is-active){background:color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 8px 16px #0f172a24}.toolbar-user-menu{position:relative}.toolbar-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px;box-shadow:0 18px 36px #0f172a33;z-index:20;display:grid;gap:6px}.toolbar-user-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:none;background:transparent;color:var(--label-primary);cursor:pointer;text-decoration:none;font-size:.9rem}.toolbar-user-item:hover,.toolbar-user-item:focus-visible{background:color-mix(in srgb,var(--ink) 12%,transparent)}.editor-format-bar{flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:0 28px;height:44px;background:color-mix(in srgb,var(--surface) 60%,transparent);border-bottom:1px solid var(--border);border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;margin:0;font-size:.74rem;color:var(--text-muted)}.editor-format-bar.is-script{justify-content:center}.format-style-label{font-size:.78rem;font-weight:500;color:var(--text-secondary);padding:0 12px;letter-spacing:.01em}.format-separator{width:1px;height:16px;background:var(--border);margin:0 4px}.format-spacer{flex:1}.format-group{display:flex;align-items:center;gap:2px}.format-btn{height:28px;min-width:28px;padding:0 8px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-secondary);font-family:Playfair Display,serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:4px}.format-btn:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--text-primary);transform:none;box-shadow:none}.format-btn.active{background:var(--ink);color:var(--label-inverse);border-color:transparent}.format-btn svg{font-size:16px}.font-size-control{display:flex;align-items:center;gap:2px;background:none;border-radius:8px;padding:0 4px;margin-left:auto}.font-btn{border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.8rem;cursor:pointer;padding:4px 6px;border-radius:6px;transition:background .15s,color .15s}.font-btn:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--text-primary)}.font-input{width:36px;border:none;background:transparent;text-align:center;font-weight:500;font-size:.8rem;color:var(--text-secondary);outline:none;appearance:textfield;-moz-appearance:textfield}.font-input::-webkit-outer-spin-button,.font-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.editor-content-shell{position:relative}.editor-selection-menu{position:fixed;transform:translate(-50%,-100%);display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 14px 28px #0f172a33;z-index:95}.editor-selection-menu.is-below{transform:translate(-50%)}.editor-selection-action{border:none;background:transparent;color:var(--label-primary);font-size:.83rem;font-weight:600;border-radius:8px;padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1}.editor-selection-action:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.editor-selection-action:disabled{opacity:.55;cursor:not-allowed}.editor-selection-action:disabled:hover{background:transparent}.editor-selection-separator{width:1px;height:18px;background:var(--border)}.editor-selection-action.icon{width:30px;height:30px;padding:0;justify-content:center;gap:0}.editor-dictionary-panel{position:fixed;right:24px;bottom:24px;width:min(380px,100vw - 32px);max-height:min(70vh,520px);display:flex;flex-direction:column;gap:10px;border-radius:16px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 24px 42px #0f172a38;padding:12px 52px 12px 12px;z-index:90}.editor-dictionary-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--label-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.editor-dictionary-body{overflow-y:auto;min-height:120px}.editor-dictionary-message{margin:0;font-size:.86rem;color:var(--text-secondary)}.editor-dictionary-message.error{color:#b3261e}.editor-dictionary-word{margin:0;font-size:1rem;font-weight:700;color:var(--label-primary)}.editor-dictionary-phonetic{margin:3px 0 0;color:var(--text-secondary);font-size:.85rem}.editor-dictionary-meanings{display:grid;gap:10px;margin-top:10px}.editor-dictionary-meaning{border-top:1px solid var(--border);padding-top:8px}.editor-dictionary-pos{margin:0 0 6px;font-size:.8rem;font-weight:600;color:var(--label-primary);text-transform:capitalize}.editor-dictionary-meaning ol{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--text-secondary);font-size:.86rem}.editor-word-relations{margin-top:10px;display:grid;gap:10px}.editor-word-relations-group{border-top:1px solid var(--border);padding-top:8px}.editor-word-relations-title{margin:0 0 8px;font-size:.8rem;font-weight:600;color:var(--label-primary)}.editor-word-relations-list{display:flex;flex-wrap:wrap;gap:6px}.editor-word-relation-chip{border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:.8rem;color:var(--text-secondary);background:color-mix(in srgb,var(--surface) 90%,transparent)}.editor-word-relation-chip.synonym{border-color:color-mix(in srgb,#2f9e44 24%,var(--border));background:color-mix(in srgb,#2f9e44 10%,var(--surface));color:color-mix(in srgb,#1f6b2e 72%,var(--label-primary))}.editor-word-relation-chip.antonym{border-color:color-mix(in srgb,#d94848 24%,var(--border));background:color-mix(in srgb,#d94848 10%,var(--surface));color:color-mix(in srgb,#8f2d2d 72%,var(--label-primary))}.editor-word-relations-empty{margin:0;font-size:.82rem;color:var(--text-muted)}.toolbar-menu{position:relative;display:inline-flex;align-items:center}.toolbar-mobile-bento{display:none}.toolbar-menu:after{content:"";position:absolute;left:-6px;right:-6px;top:100%;height:10px}.toolbar-menu.open .toolbar-dropdown{opacity:1;transform:translateY(8px);pointer-events:auto}.toolbar-dropdown{position:absolute;top:100%;right:0;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px;display:grid;gap:6px;opacity:0;transform:translateY(4px);pointer-events:none;box-shadow:0 18px 36px #0f172a33;z-index:20}.toolbar-dropdown .toolbar-dropdown-item{border:none;background:transparent;color:var(--label-primary);text-align:left;padding:8px 10px;border-radius:10px;font-size:.9rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.toolbar-dropdown .toolbar-dropdown-item.is-active{background:color-mix(in srgb,var(--ink) 12%,transparent);border:1px solid color-mix(in srgb,var(--ink) 32%,var(--border))}.toolbar-dropdown-divider{height:1px;background:var(--border);margin:4px 2px}.toolbar-dropdown .toolbar-dropdown-item:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.toolbar-dropdown .toolbar-dropdown-item.is-disabled{opacity:.5;cursor:not-allowed}.toolbar-btn{border:1px solid var(--border);background:var(--surface);color:var(--label-primary);font-weight:600;border-radius:999px;padding:8px 16px;font-size:.85rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.toolbar-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a26}.toolbar-btn.primary{background:var(--ink);color:var(--label-inverse)}.toolbar-btn.primary:hover{background:var(--ink-hover)}.toolbar-btn.primary:disabled,.toolbar-btn.primary[aria-disabled=true]{background:var(--ink);color:var(--label-inverse);opacity:1}.toolbar-btn.primary svg{color:var(--label-inverse)}.toolbar-btn.share{border:1px solid var(--border);background:transparent;color:var(--label-primary)}.toolbar-btn.share:hover,.toolbar-btn.icon-btn:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.toolbar-btn.share.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toolbar-btn.is-active{cursor:default}.editor-shell .toolbar-btn{background:color-mix(in srgb,var(--surface) 80%,transparent);border-radius:12px;padding:6px 13px;height:32px;font-size:.82rem;font-family:inherit;transition:background .15s,color .15s,border-color .15s;gap:6px}.editor-shell .toolbar-btn:hover{background:color-mix(in srgb,var(--surface) 96%,var(--border));transform:none;box-shadow:none}.editor-shell .toolbar-btn.primary{background:var(--ink);color:var(--label-inverse);border-color:transparent}.editor-shell .toolbar-btn.primary:hover{background:var(--ink-hover);color:var(--label-inverse);transform:none;box-shadow:none}.editor-shell .toolbar-btn.share{background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--label-primary);border:1px solid var(--border)}.editor-shell .toolbar-btn.share:hover{background:color-mix(in srgb,var(--surface) 96%,var(--border))}.editor-shell .toolbar-btn.icon-btn{padding:0;width:32px;height:32px;justify-content:center;color:var(--text-secondary)}.editor-shell .toolbar-btn.icon-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--surface) 96%,var(--border))}.editor-shell .toolbar-btn.icon-btn.is-active{background:var(--ink);color:var(--label-inverse);border-color:transparent}.editor-shell .toolbar-btn.icon-btn.is-disabled,.editor-shell .toolbar-btn.icon-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:auto}.works-toolbar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.works-toolbar .toolbar-actions .toolbar-btn{background:transparent;color:var(--label-primary);border:1px solid var(--border)}.works-toolbar .toolbar-actions .toolbar-btn:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.works-toolbar .toolbar-actions .toolbar-btn.primary{background:var(--ink);color:var(--label-inverse);border-color:transparent}.toolbar-actions .toolbar-btn.primary{display:inline-flex;align-items:center;gap:8px}.toolbar-btn.icon-btn{padding:8px 10px;width:36px;justify-content:center}.toolbar-btn.with-icon-right{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:140px}.editor-body{display:flex;flex:1;min-height:0;height:100%;overflow:hidden;position:relative;gap:0}.editor-sidebar-skeleton,.editor-page-skeleton{pointer-events:none}.editor-sidebar-skeleton{gap:0}.editor-skeleton-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0 14px 14px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-shrink:0}.editor-skeleton-tab{width:100%;height:28px;border-radius:8px}.editor-skeleton-section-head{padding:0 22px;margin-bottom:14px;flex-shrink:0}.editor-skeleton-toc{display:flex;flex-direction:column;flex:1;overflow:hidden}.editor-skeleton-toc-item{display:flex;align-items:center;gap:10px;padding:8px 22px}.editor-skeleton-toc-numeral{width:14px;height:9px;flex-shrink:0}.editor-skeleton-toc-name{height:10px}.editor-skeleton-scroll{flex:1;display:flex;flex-direction:column;align-items:center;padding:32px 52px;overflow:hidden;width:100%}.editor-skeleton-line,.editor-skeleton-pill,.editor-skeleton-tab{display:block;border-radius:999px;background:linear-gradient(110deg,color-mix(in srgb,var(--surface) 88%,var(--border)) 8%,color-mix(in srgb,var(--surface) 72%,var(--border)) 18%,color-mix(in srgb,var(--surface) 88%,var(--border)) 33%);background-size:200% 100%;animation:editor-skeleton-shimmer 1.2s linear infinite}.editor-skeleton-line-title{width:44%;height:10px}.editor-skeleton-line-small{width:62%;height:12px}.editor-skeleton-pill{width:100%;height:34px;border-radius:12px}.editor-skeleton-pill-short{width:74%}.editor-skeleton-pill-wide{width:88%}.editor-canvas-skeleton{position:relative}.editor-page.editor-page-skeleton{gap:22px}.editor-skeleton-line-heading{width:36%;height:20px}.editor-skeleton-line-subheading{width:42%;height:14px}.editor-skeleton-line-body{width:100%;height:12px}.editor-skeleton-line-body-short{width:70%;height:12px}.editor-skeleton-line-version-title{width:58%;height:11px}.editor-skeleton-line-version-badge{width:48px;height:18px;flex-shrink:0}.editor-history-item-skeleton{pointer-events:none;cursor:default}.sidebar-versions-skeleton{display:flex;flex-direction:column;gap:6px}.editor-skeleton-loading-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}@keyframes editor-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.editor-skeleton-line,.editor-skeleton-pill,.editor-skeleton-tab{animation:none}}.editor-history-backdrop{position:fixed;inset:0;background:#0f172a33;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:80;padding:50px;display:flex}.editor-history-backdrop.is-open{opacity:1;pointer-events:auto}.editor-history{margin-left:auto;width:100%;background:transparent;border-radius:18px;transform:translate(110%);transition:transform .2s ease;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0}.editor-history.is-open{transform:translate(0)}.editor-history-main{background:var(--surface);border-radius:18px 0 0 18px;border:1px solid var(--border);border-right:none;box-shadow:0 24px 42px #0f172a33;padding:18px;display:flex;flex-direction:column;min-height:0}.editor-history-list{background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:0 18px 18px 0;border:1px solid var(--border);border-left:none;box-shadow:0 20px 36px #0f172a2e;padding:16px;display:flex;flex-direction:column;gap:10px}.editor-history-list-header{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;justify-content:space-between}.editor-history-item{border:1px solid var(--border);background:transparent;border-radius:12px;padding:10px 12px;text-align:left;color:var(--label-primary);font-weight:600;cursor:pointer;width:100%;display:block}.editor-history-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-history-title{font-size:.9rem;font-weight:600}.editor-history-subtitle{font-size:.75rem;color:var(--text-muted);margin-top:4px;font-weight:500}.editor-history-badge{font-size:.7rem;color:var(--text-muted);border:1px solid var(--border);padding:2px 6px;border-radius:999px;text-transform:capitalize}.editor-history-item.is-active{background:color-mix(in srgb,var(--ink) 20%,transparent);color:var(--label-primary);border-color:var(--border)}.editor-history-item:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.editor-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.editor-history-header h3{margin:0;font-size:1rem;color:var(--label-primary)}.editor-history-version{font-size:.8rem;color:var(--text-muted);margin-top:4px}.editor-history-close{border:none;background:color-mix(in srgb,var(--ink) 12%,transparent);color:#000;font-size:1rem;width:28px;height:28px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}[data-theme=dark] .editor-history-close{color:#fff}.editor-history-body{flex:1;overflow:hidden;color:var(--text-secondary);font-size:.9rem}.editor-history-restore{border:1px solid var(--border);background:var(--ink);color:var(--surface);padding:6px 12px;border-radius:999px;font-size:.85rem;cursor:pointer}.editor-history-restore:disabled{opacity:.6;cursor:not-allowed}.editor-history-preview{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:16px;padding:16px;height:100%;overflow-y:auto}.editor-preview{min-height:220px}.editor-history-empty{padding:16px 0;text-align:center;color:var(--text-muted);font-size:.85rem}.editor-history-error{margin:0 0 12px;color:#b3261e;font-size:.85rem}.editor-settings-backdrop{position:fixed;inset:0;background:#080c1473;display:flex;align-items:center;justify-content:center;z-index:300}.editor-settings-modal{width:90vw;max-width:1512px;height:calc(100% - 100px);background:var(--surface);color:var(--text-primary);border-radius:12px;border:1px solid var(--border);box-shadow:0 24px 60px #080c1466;display:grid;grid-template-columns:240px minmax(0,1fr);overflow:hidden;position:relative}.editor-settings-close{position:absolute;top:14px;right:14px;border:none;background:transparent;color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:2;transition:background .15s ease,color .15s ease}.editor-settings-close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--text-primary)}.editor-settings-list{display:flex;flex-direction:column}.editor-settings-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border:none;border-radius:0;background:transparent;border-bottom:1px solid var(--border)}.editor-settings-row:last-child{border-bottom:none}.editor-settings-title{font-weight:500;font-size:.9rem;color:var(--text-primary)}.editor-settings-part-custom-name{font-weight:400;color:var(--text-muted)}.editor-settings-subtitle{font-size:.8125rem;color:var(--text-muted);margin-top:4px}.editor-settings-toggle{border:1px solid var(--border);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--text-primary);width:56px;height:32px;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.editor-settings-toggle-track{position:relative;width:100%;height:100%;display:block}.editor-settings-toggle-thumb{position:absolute;top:1px;left:1px;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);transition:transform .2s ease}.editor-settings-toggle-thumb.is-visible{transform:translate(24px);color:#4caf50;border-color:transparent;background:var(--surface)}.editor-settings-toggle-thumb.is-private{transform:translate(0);color:#e53935;border-color:transparent;background:var(--surface)}.editor-settings-toggle svg{font-size:.95rem}.editor-settings-toggle.is-visible{background:#4caf50;border-color:#43a047}[data-theme=dark] .editor-settings-toggle.is-visible{background:#2e7d32;border-color:#388e3c}.editor-settings-toggle.is-private{background:#e53935;border-color:#c62828;color:#fff}.editor-settings-toggle.is-on{background:#4caf50;border-color:#43a047}.editor-settings-toggle.is-off{background:color-mix(in srgb,var(--ink) 14%,transparent);border-color:var(--border)}[data-theme=dark] .editor-settings-toggle.is-on{background:#2e7d32;border-color:#388e3c}.editor-settings-toggle-thumb.is-on{transform:translate(24px)}.editor-settings-toggle-thumb.is-off{transform:translate(0)}.editor-settings-toggle.is-on.is-danger{background:#e53935;border-color:#c62828}[data-theme=dark] .editor-settings-toggle.is-on.is-danger{background:#c62828;border-color:#b71c1c}.editor-settings-toggle-thumb.is-on.is-danger{color:#fff;border-color:#ffffff40;background:#ffffff26}.editor-settings-select{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:7px 32px 7px 12px;font-size:.875rem;font-family:inherit;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;transition:border-color .15s ease,background-color .15s ease}.editor-settings-select:hover{border-color:color-mix(in srgb,var(--text-muted) 60%,var(--border))}.editor-settings-select:focus-visible{outline:2px solid color-mix(in srgb,var(--text-primary) 30%,transparent);outline-offset:1px}.editor-settings-state-picker{display:grid;grid-template-columns:repeat(3,1fr);padding-top:14px;gap:10px;margin-bottom:8px}.editor-settings-state-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:10px;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease}.editor-settings-state-option:hover:not(.is-active){background:color-mix(in srgb,var(--ink) 4%,transparent);border-color:color-mix(in srgb,var(--text-muted) 50%,var(--border))}.editor-settings-state-option.is-active{color:var(--text-primary)}.editor-settings-state-option.is-draft.is-active{border-color:#c9a96e;background:color-mix(in srgb,#c9a96e 12%,transparent)}.editor-settings-state-option.is-published.is-active{border-color:#47d48b;background:color-mix(in srgb,#47d48b 12%,transparent)}.editor-settings-state-option.is-archived.is-active{border-color:#b0a89e;background:color-mix(in srgb,#b0a89e 12%,transparent)}[data-theme=dark] .editor-settings-state-option.is-draft.is-active{border-color:#c9a96e;background:color-mix(in srgb,#77561e 25%,transparent)}[data-theme=dark] .editor-settings-state-option.is-published.is-active{border-color:#47d48b;background:color-mix(in srgb,#28563e 25%,transparent)}[data-theme=dark] .editor-settings-state-option.is-archived.is-active{border-color:#b0a89e;background:color-mix(in srgb,#616161 25%,transparent)}.editor-settings-state-label{font-size:.9rem;font-weight:600}.editor-settings-state-desc{font-size:.775rem;color:var(--text-muted)}.editor-settings-empty{text-align:center;color:var(--text-muted);padding:60px 0;font-size:.95rem}.editor-settings-showcase-note{margin:28px 0 0;font-size:.9rem;color:var(--text-secondary);padding:14px 18px;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--border);border-radius:10px}.editor-settings-showcase-note.editor-settings-showcase-note--success{background:color-mix(in srgb,#47d48b 10%,transparent);border-color:color-mix(in srgb,#47d48b 35%,transparent);color:var(--text-primary)}[data-theme=dark] .editor-settings-showcase-note.editor-settings-showcase-note--success{background:color-mix(in srgb,#28563e 30%,transparent);border-color:color-mix(in srgb,#47d48b 25%,transparent)}.editor-settings-showcase-form{display:flex;flex-direction:column}.editor-settings-showcase-form.is-locked .editor-settings-showcase-field,.editor-settings-showcase-form.is-locked .editor-settings-showcase-btn,.editor-settings-showcase-form.is-locked .editor-settings-showcase-error{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}.editor-settings-showcase-gate{margin:28px 0 0;font-size:.9rem;font-weight:600;color:var(--text-primary);padding:14px 18px;background:color-mix(in srgb,#c9a96e 12%,transparent);border:1px solid color-mix(in srgb,#c9a96e 40%,transparent);border-radius:10px}[data-theme=dark] .editor-settings-showcase-gate{background:color-mix(in srgb,#77561e 25%,transparent);border-color:color-mix(in srgb,#c9a96e 30%,transparent)}.editor-settings-showcase-gate a{color:var(--accent);text-decoration:none}.editor-settings-showcase-gate a:hover{text-decoration:underline}.editor-settings-showcase-field{display:flex;flex-direction:column;gap:8px}.editor-settings-showcase-optional{font-weight:400;color:var(--text-muted)}.editor-settings-showcase-textarea{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical;min-height:88px;transition:border-color .15s ease}.editor-settings-showcase-textarea:focus{outline:none;border-color:color-mix(in srgb,var(--text-muted) 60%,var(--border))}.editor-settings-showcase-textarea:disabled{opacity:.55;cursor:not-allowed}.editor-settings-showcase-error{margin:8px 0 0;font-size:.85rem;color:#e53935}[data-theme=dark] .editor-settings-showcase-error{color:#ef9a9a}.editor-settings-showcase-btn{align-self:flex-start;margin-top:16px;padding:10px 20px;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text-primary);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.editor-settings-showcase-btn:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);border-color:color-mix(in srgb,var(--text-muted) 60%,var(--border))}.editor-settings-showcase-btn:disabled{opacity:.5;cursor:not-allowed}.editor-settings-overall{margin-top:28px;margin-bottom:8px}.editor-settings-overall .editor-settings-row{padding:16px 18px;border-radius:10px;border:1px solid var(--border)}.editor-settings-overall.is-visible .editor-settings-row{background:#e8f5e9;border-color:#b2dfb4}.editor-settings-overall.is-private .editor-settings-row{background:#fdecea;border-color:#f5b8b5}[data-theme=dark] .editor-settings-overall.is-visible .editor-settings-row{background:#1a3626;border-color:#2a5a3e}[data-theme=dark] .editor-settings-overall.is-private .editor-settings-row{background:#3a1a1c;border-color:#5e2a2e}.editor-settings-section-label{font-size:1rem;font-weight:600;color:var(--text-primary);margin:28px 0 4px;text-transform:none;letter-spacing:0}.editor-settings-sidebar{background:color-mix(in srgb,var(--ink) 4%,var(--surface));border-right:1px solid var(--border);padding:20px 10px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;min-height:0}.editor-settings-sidebar-group-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:8px 12px 6px}.editor-settings-tab{border:none;background:transparent;color:var(--text-secondary);padding:7px 10px;border-radius:6px;font-weight:500;font-size:.875rem;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .15s ease,color .15s ease}.editor-settings-tab svg{color:var(--text-muted);flex-shrink:0;transition:color .15s ease}.editor-settings-tab:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--text-primary)}.editor-settings-tab:hover svg{color:var(--text-primary)}.editor-settings-tab.is-active{color:var(--text-primary);background:color-mix(in srgb,var(--ink) 10%,transparent)}.editor-settings-tab.is-active svg{color:var(--text-primary)}.editor-settings-tab--danger{color:#dc2626}.editor-settings-tab--danger svg{color:#dc2626}.editor-settings-tab--danger:hover{background:color-mix(in srgb,#dc2626 8%,transparent);color:#dc2626}.editor-settings-tab--danger:hover svg{color:#dc2626}.editor-settings-tab--danger.is-active{color:#dc2626;background:color-mix(in srgb,#dc2626 10%,transparent)}.editor-settings-tab--danger.is-active svg{color:#dc2626}[data-theme=dark] .editor-settings-tab--danger{color:#f87171}[data-theme=dark] .editor-settings-tab--danger svg{color:#f87171}[data-theme=dark] .editor-settings-tab--danger:hover{background:color-mix(in srgb,#dc2626 12%,transparent);color:#f87171}[data-theme=dark] .editor-settings-tab--danger:hover svg{color:#f87171}[data-theme=dark] .editor-settings-tab--danger.is-active{color:#f87171;background:color-mix(in srgb,#dc2626 14%,transparent)}[data-theme=dark] .editor-settings-tab--danger.is-active svg{color:#f87171}.editor-settings-panel{min-height:0;display:flex;flex-direction:column;overflow-y:auto;padding:48px 64px 64px}.editor-settings-panel-header{padding-bottom:24px;border-bottom:1px solid var(--border)}.editor-settings-panel-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.editor-settings-panel-header p{margin:6px 0 0;color:var(--text-muted);font-size:.9rem}.editor-settings-panel .editor-settings-list{overflow:visible;padding-right:0}.editor-settings-panel-header+*{margin-top:28px}@media(max-width:900px){.editor-settings-modal{width:96vw;height:calc(100% - 40px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.editor-settings-sidebar{border-right:none;border-bottom:1px solid var(--border);padding:14px 12px;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.editor-settings-sidebar::-webkit-scrollbar{display:none}.editor-settings-sidebar-group-label{display:none}.editor-settings-tab{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;white-space:nowrap}.editor-settings-panel{padding:28px 24px 32px}}.editor-export-modal{width:min(480px,94vw);background:var(--surface);color:var(--text-primary);border-radius:18px;border:1px solid var(--border);box-shadow:0 24px 60px #080c1440;padding:20px;display:flex;flex-direction:column;gap:16px}.editor-export-modal .editor-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editor-export-modal .editor-settings-header h2{margin:0 0 2px;font-size:1.1rem;color:var(--label-primary)}.editor-export-modal .editor-settings-header p{margin:0;font-size:.85rem;color:var(--text-muted)}.editor-export-modal .editor-settings-close{position:static;flex-shrink:0;border:none;background:transparent;color:var(--text-muted);width:28px;height:28px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.editor-export-modal .editor-settings-close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--text-primary)}.editor-export-formats{display:flex;flex-direction:column;gap:8px}.editor-export-format-btn{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid var(--border);border-radius:14px;cursor:pointer;color:var(--label-primary);transition:background .15s,border-color .15s;text-align:left}.editor-export-format-btn:hover:not(:disabled):not(.is-selected){background:color-mix(in srgb,var(--ink) 10%,transparent);border-color:color-mix(in srgb,var(--ink) 20%,var(--border))}.editor-export-format-btn.is-selected{background:color-mix(in srgb,var(--ink) 12%,transparent);border-color:color-mix(in srgb,var(--ink) 50%,var(--border))}.editor-export-format-btn:disabled{cursor:default;opacity:.6}.editor-export-format-btn.is-selected:disabled{opacity:1}.editor-export-format-icon{display:flex;align-items:center;justify-content:center;font-size:1.4rem;width:32px;height:32px;flex-shrink:0}.editor-export-format-label{font-weight:600;font-size:.95rem;flex-shrink:0}.editor-export-format-desc{font-size:.78rem;color:var(--text-muted);line-height:1.3;margin-left:auto}.editor-export-submit{width:100%;padding:11px 16px;background:var(--ink);color:var(--label-inverse);border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.editor-export-submit:hover:not(:disabled){background:var(--ink-hover)}.editor-export-submit:disabled{opacity:.7;cursor:default}.editor-history-footer{margin-top:auto;padding-top:12px;display:grid;gap:12px}.editor-history-link{border:none;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:0}.editor-history-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-history-checkpoint{display:grid;gap:8px;margin-top:12px}.editor-history-input{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:10px;padding:8px 10px;font-size:.85rem}.editor-history-checkpoint-btn{border:1px solid var(--border);background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--text-primary);padding:6px 12px;border-radius:999px;font-size:.8rem;cursor:pointer;justify-self:start}.editor-history-checkpoint-btn:disabled{opacity:.6;cursor:not-allowed}.editor-sidebar{width:240px;min-width:240px;background:color-mix(in srgb,var(--paper-top) 60%,var(--surface));color:var(--text-primary);border-radius:0;padding:20px 0 16px;display:flex;flex-direction:column;gap:0;box-shadow:none;border-right:1px solid var(--border);position:relative;align-self:stretch;box-sizing:border-box;overflow:hidden;transition:width .25s ease,min-width .25s ease,padding .25s ease}.editor-sidebar.is-collapsed{width:52px;min-width:52px;padding:20px 0 16px}.editor-sidebar::-webkit-scrollbar{width:4px}.editor-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.editor-sidebar-stack{display:flex;flex-direction:column;gap:0;align-self:stretch;flex-shrink:0;position:relative}.sidebar-section-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0 14px 14px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-shrink:0}.editor-sidebar.is-collapsed .sidebar-section-tabs{grid-template-columns:1fr;padding:0 8px 14px}.sidebar-section-tab{width:100%;height:32px;display:grid;place-items:center;background:none;border:1px solid transparent;border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .15s,color .15s;padding:0}.sidebar-section-tab:hover{color:var(--text-primary);background:color-mix(in srgb,var(--ink) 6%,transparent)}.sidebar-section-tab.active{color:var(--label-inverse);background:var(--ink);border-color:transparent}.sidebar-section-tab svg{display:block;font-size:16px}.sidebar-section-head{padding:0 18px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;flex-shrink:0;min-height:22px}.sidebar-section-label{font-size:.62rem;font-weight:700;letter-spacing:.16em;color:var(--text-muted);text-transform:uppercase;margin:0}.sidebar-section-add{width:22px;height:22px;border-radius:6px;background:none;border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:all .15s;padding:0;font-family:inherit}.sidebar-section-add:hover{color:var(--text-primary);background:color-mix(in srgb,var(--surface) 80%,transparent)}.sidebar-section-add svg{font-size:14px}.sidebar-section-add-wrap{position:relative;display:inline-flex}.sidebar-add-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;min-width:152px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0000002e}.sidebar-add-menu-item{appearance:none;background:none;border:none;color:var(--text-primary);font-family:inherit;font-size:.78rem;text-align:left;padding:6px 10px;border-radius:5px;cursor:pointer;transition:background .12s}.sidebar-add-menu-item:hover,.sidebar-add-menu-item:focus-visible{background:color-mix(in srgb,var(--accent) 14%,transparent);outline:none}.sidebar-list{display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;overscroll-behavior:none;padding-bottom:8px;min-height:0}.sidebar-list::-webkit-scrollbar{width:4px}.sidebar-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.sidebar-empty-message{padding:0;font-size:.78rem;color:var(--text-muted);font-style:italic;line-height:1.5}.sidebar-subsection .sidebar-empty-message{padding:4px 22px}.sidebar-outline-nav>.sidebar-empty-message{padding:8px 22px}.editor-version-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:color-mix(in srgb,var(--ink) 5%,transparent);border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.editor-version-bar-info{display:flex;align-items:center;gap:8px;font-size:.85rem;min-width:0}.editor-version-bar-label{font-weight:600;color:var(--label-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-version-bar-kind{font-size:.72rem;color:var(--text-muted);border:1px solid var(--border);padding:2px 7px;border-radius:999px;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.editor-version-bar-restore{border:1px solid var(--border);background:var(--ink);color:var(--surface);padding:5px 14px;border-radius:999px;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.editor-version-bar-restore:disabled{opacity:.6;cursor:not-allowed}.editor-canvas-history{display:flex;flex-direction:column}.editor-page-history{padding:48px 0}.editor-page-history .editor-history-preview{background:transparent;border:none;border-radius:0;padding:0;height:auto;overflow-y:visible}.editor-page-history .editor-history-empty{padding:0}.sidebar-subsection{display:flex;flex-direction:column}.sidebar-subsection-head{display:flex;align-items:center;gap:6px;padding:6px 22px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;width:100%;color:var(--text-muted);transition:color .15s,background .15s}.sidebar-subsection-head:hover{color:var(--text-primary);background:color-mix(in srgb,var(--ink) 4%,transparent)}.sidebar-subsection-chevron{font-size:16px!important;transition:transform .15s ease;flex-shrink:0;color:var(--text-muted)}.sidebar-subsection.is-collapsed .sidebar-subsection-chevron{transform:rotate(-90deg)}.sidebar-subsection-label{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:inherit}.sidebar-subsection-count{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.sidebar-subsection-body{display:flex;flex-direction:column;gap:1px}.sidebar-action-stack{padding:14px 22px 0;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);flex-shrink:0}.sidebar-action-btn{display:flex;align-items:center;gap:9px;font-family:inherit;font-size:.82rem;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:10px;padding:8px 12px;cursor:pointer;transition:all .15s;text-align:left;width:100%}.sidebar-action-btn:hover{background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text-primary)}.sidebar-action-btn.is-active{background:var(--ink);color:var(--label-inverse);border-color:transparent}.sidebar-action-btn svg{font-size:16px}.sidebar-focus-time{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em;flex:1}.sidebar-focus-phase{font-size:.72rem;font-weight:500;opacity:.75;margin-left:auto;flex-shrink:0}.editor-shell .toolbar-btn.icon-btn.focus-live{width:32px;height:32px;padding:0}.sidebar-focus-mini-time{font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.sidebar-collapse-row{display:flex;justify-content:flex-end;align-items:center}.sidebar-collapse-btn{width:28px;height:28px;border-radius:8px;background:none;border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:all .15s;padding:0;font-family:inherit}.sidebar-collapse-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--surface) 80%,transparent)}.sidebar-collapse-btn svg{font-size:16px}.editor-sidebar.is-collapsed .sidebar-section-head,.editor-sidebar.is-collapsed .sidebar-list,.editor-sidebar.is-collapsed .sidebar-action-stack,.editor-sidebar.is-collapsed .sidebar-section.poem-guidance{display:none}.editor-sidebar.is-collapsed .sidebar-collapse-mini{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:auto;padding:12px 0 0;border-top:1px solid var(--border)}.editor-sidebar.is-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-collapse-mini{display:none}.sidebar-toc-item{display:flex;align-items:center;gap:10px;padding:8px 22px;cursor:pointer;border:none;background:none;font-family:inherit;text-align:left;width:100%;transition:color .15s,background .15s;position:relative;color:inherit}.sidebar-toc-item:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.sidebar-toc-item.active{background:color-mix(in srgb,var(--ink) 9%,transparent)}.sidebar-toc-item.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;background:var(--accent);border-radius:999px}.sidebar-toc-numeral{font-size:.72rem;color:var(--text-muted);min-width:18px;font-style:italic;flex-shrink:0}.sidebar-toc-numeral--diamond,.sidebar-toc-numeral--role{font-size:.55rem;font-style:normal;line-height:1}.sidebar-toc-item.active .sidebar-toc-numeral{color:var(--accent)}.sidebar-toc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-toc-name{font-size:.82rem;font-weight:500;color:var(--text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toc-item.active .sidebar-toc-name{color:var(--text-primary);font-weight:600}.sidebar-toc-name.is-placeholder{color:var(--text-muted);font-style:italic}.sidebar-toc-item.active .sidebar-toc-name.is-placeholder{color:var(--text-secondary)}.sidebar-toc-actions{display:flex;align-items:center;gap:0;opacity:0;width:0;overflow:hidden;transition:opacity .15s ease;flex-shrink:0;padding-top:1px}.sidebar-toc-item:hover .sidebar-toc-actions,.sidebar-toc-item:focus-within .sidebar-toc-actions,.sidebar-toc-item.active .sidebar-toc-actions{opacity:1;width:auto;overflow:visible}.sidebar-toc-action{border:none;background:transparent;color:var(--text-muted);width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s,color .15s}.sidebar-toc-action:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--text-primary)}.sidebar-toc-action:disabled{cursor:default;opacity:.35}.sidebar-toc-action.is-danger:hover:not(:disabled){background:color-mix(in srgb,#d14242 18%,transparent);color:#d14242}.sidebar-toc-action svg{font-size:14px}.sidebar-section{display:flex;flex-direction:column}.sidebar-section.poem-guidance{padding:14px 22px 0;margin-top:8px;border-top:1px solid var(--border);gap:6px}.sidebar-section.poem-guidance .sidebar-section-label{margin-bottom:8px}.sidebar-select{font-family:Playfair Display,Georgia,serif;width:100%;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--label-primary);padding:6px 28px 6px 12px;font-size:.82rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 10px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}[data-theme=dark] .sidebar-select{background:color-mix(in srgb,var(--surface-raised) 80%,transparent)}.poem-structure{display:flex;flex-direction:column;gap:4px;font-size:.78rem}.poem-structure-row{display:flex;justify-content:space-between;color:var(--text-secondary)}.poem-structure-row em{color:var(--text-muted);font-style:italic}.focus-mode-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--paper-bottom) 70%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:grid;place-items:center;animation:focus-overlay-fade .2s ease}@keyframes focus-overlay-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.focus-mode-panel{width:380px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px color-mix(in srgb,var(--ink) 25%,transparent);position:relative;z-index:2;box-sizing:border-box}.focus-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.focus-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;margin:0}.focus-cycle-badge{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.focus-mode-close{width:24px;height:24px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.focus-mode-close:hover{color:var(--text-primary)}.focus-heading{font-size:1.4rem;font-weight:600;margin:0;color:var(--text-primary);letter-spacing:-.01em;line-height:1.2}.focus-time-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.focus-mute-btn{border:1px solid var(--border);background:transparent;color:var(--text-muted);width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.focus-mute-btn:hover{background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text-primary);transform:none;box-shadow:none}.focus-mute-btn.is-muted{background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--text-primary)}.focus-timer{display:flex;flex-direction:column;gap:8px}.focus-time{font-family:Playfair Display,Georgia,serif;font-size:3.4rem;font-weight:500;letter-spacing:-.04em;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1}.focus-progress-track{height:3px;background:var(--border);border-radius:999px;overflow:hidden;margin-bottom:4px}.focus-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .6s linear}.focus-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted)}.focus-controls{display:flex;align-items:center;gap:8px}.focus-btn{flex:1;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--label-primary);padding:6px 13px;height:32px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.focus-btn.primary{background:var(--ink);color:var(--label-inverse);border-color:transparent}.focus-btn.primary:hover{background:var(--ink-hover)}.focus-btn.ghost{background:color-mix(in srgb,var(--surface) 80%,transparent);border-color:var(--border);color:var(--label-primary)}.focus-btn.ghost:hover{background:color-mix(in srgb,var(--surface) 96%,var(--border))}.focus-btn:hover{transform:none;box-shadow:none}.focus-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.focus-duration-config{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.focus-duration-field{display:flex;align-items:center;gap:10px}.focus-duration-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;width:40px;flex-shrink:0}.focus-duration-stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--surface) 60%,transparent)}.focus-stepper-btn{width:28px;height:26px;border:none;background:none;color:var(--text-muted);font-size:1rem;font-family:inherit;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;flex-shrink:0}.focus-stepper-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--text-primary)}.focus-stepper-btn:active{background:color-mix(in srgb,var(--ink) 14%,transparent)}.focus-stepper-value{min-width:30px;text-align:center;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);padding:0 4px;border-left:1px solid var(--border);border-right:1px solid var(--border);height:26px;line-height:26px;font-family:inherit}.focus-duration-unit{font-size:.72rem;color:var(--text-muted);font-weight:500}.editor-canvas{display:flex;flex-direction:column;gap:0;flex:1;min-width:0;min-height:0;height:100%;align-self:stretch;position:relative}.editor-canvas-scroll{flex:1;overflow-y:auto;overscroll-behavior:none;display:flex;flex-direction:column;align-items:center;padding:32px 52px;min-height:0}.editor-canvas-scroll::-webkit-scrollbar{width:5px}.editor-canvas-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.editor-page{width:100%;max-width:var(--paper-max, 720px);min-height:0;background:transparent;border-radius:0;padding:0;box-shadow:none;border:none;flex:0 0 auto;display:flex;flex-direction:column;gap:0;animation:editor-page-fade .3s ease}@keyframes editor-page-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.editor-page.poem-page-haiku,.editor-page.poem-page-sonnet{min-height:0}.editor-page.empty-part{align-items:center;justify-content:center;padding:60px 0}.empty-part-box{border:2px dashed var(--border);border-radius:16px;padding:24px 32px;color:var(--text-secondary);text-align:center;background:color-mix(in srgb,var(--surface) 40%,transparent)}.editor-toast{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:30;background:var(--ink);color:var(--label-inverse);padding:8px 14px;border-radius:999px;box-shadow:0 12px 24px color-mix(in srgb,var(--ink) 30%,transparent);display:inline-flex;align-items:center;gap:12px;font-size:.82rem}.editor-toast-dismiss{border:none;background:transparent;color:inherit;font-size:1rem;line-height:1;cursor:pointer;padding:0 2px;display:inline-flex;align-items:center}.editor-page.front-page{align-items:flex-start;justify-content:flex-start;text-align:left;min-height:0;padding-top:12px;max-width:min(840px,100%)}.front-page-content{display:flex;flex-direction:column;align-items:stretch;width:min(840px,100%);padding-bottom:24px;padding-top:12px;gap:0}.front-input{border:none;background:transparent;text-align:left;outline:none;width:100%;padding:0}.front-page-eyebrow{margin:0 0 4px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.front-title,.front-title.page-title{resize:none;overflow:hidden;font-size:clamp(2.4rem,4vw,3.2rem);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--text-primary);margin:0 0 10px;padding-bottom:0}.front-page-subtitle{margin:0 0 14px;color:var(--text-secondary);font-size:1.05rem;line-height:1.5;resize:none;font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-style:italic;max-width:56ch}.front-page-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;font-size:.85rem;color:var(--text-muted);margin:0 0 14px;line-height:1.6}.front-page-byline-sep{margin:0 8px;opacity:.4}.front-page-byline-dot{opacity:.5}.front-page-author{font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:.85rem;color:var(--accent, #b8895a);font-style:italic;font-weight:500;background:transparent;border:none;border-bottom:1px dashed color-mix(in srgb,var(--accent, #b8895a) 35%,transparent);padding:0;outline:none;transition:border-color .2s;field-sizing:content;min-width:8ch;line-height:inherit}.front-page-author::placeholder{color:color-mix(in srgb,var(--accent, #b8895a) 40%,transparent);font-style:italic}.front-page-author:hover{border-bottom-color:color-mix(in srgb,var(--accent, #b8895a) 65%,transparent)}.front-page-author:focus{border-bottom-color:var(--accent, #b8895a);border-bottom-style:solid}.front-page-rule{width:100%;border:none;border-top:1px solid var(--border);margin:8px 0 18px}.front-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.front-page-stat{padding:14px 16px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);display:flex;flex-direction:column;gap:6px}.front-page-stat.is-placeholder{opacity:.78}.front-page-stat-label{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.front-page-stat-value{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);line-height:1.1}.front-page-stat-value span{font-size:.78rem;font-weight:400;font-style:italic;color:var(--text-muted);letter-spacing:0;margin-left:4px}.front-page-stat-meta{font-size:.72rem;color:var(--text-muted);font-style:italic}.front-page-stat-bar{height:2px;background:var(--border);border-radius:99px;overflow:hidden;margin-top:4px}.front-page-stat-bar>div{height:100%;background:var(--accent, #b8895a);border-radius:99px;transition:width .2s ease}.front-page-actions{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.front-page-action{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--label-primary);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}a.front-page-action:hover{color:var(--label-primary)}.front-page-action:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 8%,var(--surface));border-color:color-mix(in srgb,var(--ink) 30%,var(--border))}.front-page-action:disabled{opacity:.55;cursor:not-allowed}.front-page-action-primary{background:var(--ink);color:var(--label-inverse);border-color:var(--ink)}.front-page-action-primary:hover:not(:disabled){background:var(--ink-hover, var(--ink));border-color:var(--ink-hover, var(--ink));color:var(--label-inverse)}.front-page-section{margin:0 0 24px}.front-page-section-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px}.front-page-foreword{margin:0;font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:.98rem;line-height:1.7;color:var(--text-primary);width:100%;resize:none;field-sizing:content;overflow:hidden;min-height:5.6em;border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;padding:10px 12px;outline:none;background:transparent;transition:border-color .15s,background .15s}.front-page-foreword:hover{border-color:var(--border)}.front-page-foreword:focus{border-color:var(--ink);border-style:solid;background:color-mix(in srgb,var(--surface) 90%,transparent)}.front-page-foreword::placeholder{color:var(--text-muted);font-style:italic}.front-page-toc{display:flex;flex-direction:column}.front-page-toc-row{display:grid;grid-template-columns:28px 1fr 110px 18px;gap:14px;align-items:center;padding:12px 4px;border-top:none;border-right:none;border-left:4px solid transparent;border-bottom:1px solid var(--border);background:none;font-family:inherit;width:100%;text-align:left;cursor:pointer;transition:background .12s ease,border-left-color .15s ease}.front-page-toc-row[data-status=done]{border-left-color:#4ea571}.front-page-toc-row[data-status=revising]{border-left-color:#4a87d6}.front-page-toc-row[data-status=draft]{border-left-color:#d99a2b}.front-page-toc-row[data-status=not-started]{border-left-color:color-mix(in srgb,var(--text-muted) 70%,transparent)}.front-page-toc-row:first-child{border-top:1px solid var(--border)}.front-page-toc-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.front-page-toc-row:hover .front-page-toc-name{color:var(--ink)}.front-page-toc-row:hover .front-page-toc-arrow{opacity:1;transform:translate(3px)}.front-page-toc-num{font-family:Playfair Display,Georgia,serif;font-style:italic;color:var(--accent, #b8895a);font-weight:500;font-size:.95rem;text-align:center}.front-page-toc-info{display:flex;flex-direction:column;gap:2px;min-width:0}.front-page-toc-name{font-size:.95rem;font-weight:600;color:var(--text-primary);transition:color .15s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.front-page-toc-name.is-placeholder{color:var(--text-muted);font-style:italic;font-weight:500}.front-page-toc-meta{font-size:.72rem;color:var(--text-muted);font-style:italic}.front-page-toc-bar{display:block;width:100%;height:2px;background:var(--border);border-radius:99px;overflow:hidden}.front-page-toc-bar>span{display:block;height:100%;background:var(--accent, #b8895a);border-radius:99px}.front-page-toc-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:0;padding-right:10px;transition:opacity .15s ease,transform .15s ease}.front-page-twocol{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:4px 0 16px}.front-page-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.front-page-list li{font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:.9rem;line-height:1.55;color:var(--text-secondary);padding-left:16px;position:relative}.front-page-list li:before{content:"·";position:absolute;left:2px;top:-2px;color:var(--accent, #b8895a);font-weight:600;font-size:1.2rem;line-height:1}.front-page-list li b{color:var(--text-primary);font-weight:500;font-style:italic}.front-page-feed{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.front-page-feed li{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:8px 0;border-bottom:1px dashed var(--border);font-size:.84rem;color:var(--text-secondary)}.front-page-feed li:last-child{border-bottom:none}.front-page-feed li .t{font-size:.7rem;color:var(--text-muted);letter-spacing:.04em;font-style:italic}.front-page-feed li em{font-style:italic;color:var(--text-primary)}@media(max-width:1100px){.front-page-grid{grid-template-columns:repeat(2,1fr)}.front-page-twocol{grid-template-columns:1fr}}.front-page-genres-card{width:100%;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,var(--ink) 6%);padding:12px 14px;display:flex;flex-direction:column;gap:10px;text-align:left;position:relative;margin-bottom:14px}.front-page-genres-header{margin:0}.front-page-genres-close{position:absolute;top:10px;right:10px;width:26px;height:26px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-secondary);font-size:14px;line-height:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.front-page-genres-close:hover{color:var(--label-primary);background:color-mix(in srgb,var(--ink) 10%,transparent);border-color:color-mix(in srgb,var(--ink) 24%,var(--border))}.front-page-genres-title{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:600}.front-page-genres-list{display:flex;flex-wrap:wrap;gap:8px}.front-page-genres-preview{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:14px}.front-page-genre-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ink) 28%,var(--border));color:var(--on-ink);background:var(--ink);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px}.front-page-genre-remove{width:18px;height:18px;border:none;border-radius:999px;background:transparent;color:currentcolor;font-size:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.72}.front-page-genre-remove:hover{opacity:1;background:color-mix(in srgb,var(--ink) 14%,transparent)}.front-page-genres-empty{margin:0;color:var(--text-muted);font-size:.85rem}.front-page-genres-input-row{display:flex;align-items:center;gap:8px}.front-page-genres-input{flex:1;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--label-primary);padding:8px 10px;font-size:.9rem;outline:none}.front-page-genres-input:focus{border-color:color-mix(in srgb,var(--ink) 42%,transparent)}.front-page-genres-add{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--label-primary);padding:8px 12px;font-size:.85rem;font-weight:600;cursor:pointer}.front-page-genres-add:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}.front-page-add.front-page-add-secondary{margin-top:10px}.front-page-add{border:1px dashed var(--border);background:#f4f1ed;color:var(--text-secondary);font-size:.85rem;padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.front-page-add.front-page-add-subtitle{margin-top:-5px;margin-bottom:14px}.front-page-add:hover{background:#eee9e3;color:var(--text-secondary)}[data-theme=dark] .font-size-control,[data-theme=dark] .sidebar-page:not(.active),[data-theme=dark] .sidebar-add:hover{background:var(--surface-raised)}[data-theme=dark] .front-page-add{background:var(--paper-card)}[data-theme=dark] .sidebar-page.active{background:var(--ink);color:var(--label-inverse)}[data-theme=dark] .sidebar-teaser-page.is-placeholder:hover{background:var(--surface-raised)}[data-theme=dark] .front-page-add:hover{background:var(--paper-card)}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;position:relative;z-index:1}.page-title-block{flex:1;min-width:0}.page-label{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-secondary)}.page-title{margin:4px 0 0;font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:1.6rem;color:var(--text-primary)}.part-title-row{display:flex;align-items:baseline;gap:0;flex-wrap:wrap;row-gap:6px}.part-title-row .page-title{flex:0 1 auto}.part-subtitle-inline{border:none;background:transparent;font-size:.95rem;color:var(--text-primary);font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:1.6rem;font-weight:400;outline:none;flex:1 1 0%;min-width:0;padding:0;margin:0}.part-add-inline{align-self:center;margin-left:12px}.page-title.is-placeholder{color:var(--text-muted);font-style:italic}.editor-shell .page-header{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:8px}.editor-shell .page-title-block{flex:0 1 auto;min-width:0}.editor-shell .part-title-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-wrap:nowrap;row-gap:6px}.editor-shell .page-title{margin:0 0 14px;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,3.4vw,2.6rem);font-weight:600;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em;outline:none}.editor-shell .page-title:focus{box-shadow:0 2px 0 var(--accent)}.editor-shell .page-title-input{display:block;width:100%;border:none;background:transparent;padding:0;margin:0 0 14px;outline:none;font:inherit;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,3.4vw,2.6rem);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary);height:1.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-shell .page-title-input::placeholder{color:var(--text-muted);font-style:italic}.poem-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.poem-title{font-style:italic}.poem-structure{display:grid;gap:8px;border:1px solid var(--border);border-radius:14px;padding:12px 16px;background:color-mix(in srgb,var(--surface) 92%,var(--ink) 8%);color:var(--text-secondary);font-size:.85rem}.poem-structure-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.poem-structure-row em{font-style:italic;color:var(--text-muted)}.poem-header-haiku{display:flex;align-items:center;justify-content:space-between;gap:16px}.haiku-line{position:relative;padding-right:84px}.haiku-line:after{content:attr(data-syllables);position:absolute;right:0;top:.15em;font-size:.8rem;color:var(--text-muted);white-space:nowrap}.haiku-line.is-just:after{color:#0f7a41}.haiku-line.is-few:after{color:#c06a00}.haiku-line.is-many:after{color:#b3261e}.poem-haiku-line{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;font-size:.85rem;color:var(--text-secondary)}.poem-haiku-line span:last-child{justify-self:end;font-weight:600}.poem-haiku-line.is-just span:last-child{color:#0f7a41}.poem-haiku-line.is-few span:last-child{color:#c06a00}.poem-haiku-line.is-many span:last-child{color:#b3261e}.poem-editor{font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:1.05rem;line-height:1.9;white-space:pre-wrap}.poem-editor .poem-line-marker{position:relative}.poem-editor .poem-line-marker:after,.poem-editor .poem-line-marker-inline:after{content:attr(data-line);position:absolute;right:0;top:0;transform:translate(100%);margin-left:12px;color:var(--text-muted);font-size:.95rem;letter-spacing:.04em}.poem-editor .poem-line-marker-inline{position:relative;display:inline-block;width:0}.poem-editor .poem-couplet-indent{display:inline-block;width:1.6em;pointer-events:none}.script-block-menu{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.script-block-tooltip-wrap{position:relative;display:inline-flex;align-items:center}.script-block-menu-btn{border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--label-primary);border-radius:10px;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.script-block-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(-4px);width:max-content;max-width:min(240px,72vw);border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 24%,var(--border));background:color-mix(in srgb,var(--surface) 98%,#ffffff);color:var(--label-primary);box-shadow:0 10px 22px #0c185329;padding:8px 10px;font-size:.78rem;line-height:1.35;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:11;display:grid;justify-items:center;gap:2px}.script-block-tooltip:before{content:"";position:absolute;left:calc(50% - 5px);top:-6px;width:10px;height:10px;border-top:1px solid color-mix(in srgb,var(--ink) 24%,var(--border));border-left:1px solid color-mix(in srgb,var(--ink) 24%,var(--border));background:color-mix(in srgb,var(--surface) 98%,#ffffff);transform:rotate(45deg)}.script-block-tooltip-title{font-weight:600}.script-block-tooltip-shortcut{font-size:.72rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:2px}.script-block-shortcut-token{display:inline-flex;align-items:center;gap:2px}.script-block-shortcut-separator{opacity:.7}.script-block-shortcut-option-icon{font-size:.95em}.script-block-tooltip-wrap:hover .script-block-tooltip,.script-block-tooltip-wrap:focus-within .script-block-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.script-block-menu-btn kbd{border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:.68rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text-secondary)}.script-block-menu-btn.is-active{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 14%,transparent)}.script-editor.script-format-screenplay{font-family:Courier New,Courier,ui-monospace,SFMono-Regular,monospace;line-height:1.65}.script-editor.script-format-stage-play{font-family:Palatino Linotype,Book Antiqua,Palatino,serif;line-height:1.72}.script-editor.script-format-radio-drama{font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;line-height:1.7}.script-editor{max-width:920px;margin:0 auto;padding:0 72px 12px;box-sizing:border-box;counter-reset:script-scene-counter}.script-page.script-format-screenplay .script-page-title{font-family:Courier New,Courier,ui-monospace,SFMono-Regular,monospace}.script-page.script-format-stage-play .script-page-title{font-family:Palatino Linotype,Book Antiqua,Palatino,serif}.script-page.script-format-radio-drama .script-page-title{font-family:Trebuchet MS,Segoe UI,Arial,sans-serif}.script-page-header{justify-content:center}.script-page-header .page-title-block{width:100%}.script-page-header .part-title-row{justify-content:center;text-align:center}.script-page-title{width:100%;margin:0;text-align:center;font-size:1rem;line-height:1.65;text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.script-editor .script-node{margin:0 0 .8rem}.script-editor .script-node--scene-heading{position:relative;margin-top:1.6rem;counter-increment:script-scene-counter;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.script-editor .script-node--scene-heading:first-child{margin-top:0}.script-editor .script-node--scene-heading:before,.script-editor .script-node--scene-heading:after,.script-editor .script-node--scene:before,.script-editor .script-node--scene:after{position:absolute;top:50%;transform:translateY(-50%);font-size:.82rem;font-weight:600;color:var(--text-secondary);letter-spacing:0;line-height:1;content:counter(script-scene-counter)}.script-editor .script-node--scene-heading:before,.script-editor .script-node--scene:before{left:-34px}.script-editor .script-node--scene-heading:after,.script-editor .script-node--scene:after{right:-34px}.script-editor .script-node--action{max-width:100%}.script-editor .script-node--character{margin-left:30%;max-width:40%;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.script-editor .script-node--parenthetical{margin-left:27%;max-width:46%;color:var(--text-secondary);font-style:italic}.script-editor .script-node--dialogue{margin-left:20%;max-width:58%}.script-editor .script-node--scene{position:relative;counter-increment:script-scene-counter;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.script-editor .script-node--stage-direction{font-style:italic;color:var(--text-secondary)}.script-editor.script-format-stage-play .script-node--character{font-variant:small-caps}.script-editor .script-node--narration{font-style:italic}.script-editor .script-node--sfx{text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb,var(--text-secondary) 88%,var(--label-primary))}.editor-textarea{width:100%;border:none;outline:none;resize:none;background:transparent;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.75;color:var(--text-primary);flex:1;min-height:0}.editor-rich{word-break:break-word;overflow-wrap:anywhere;position:relative;z-index:0;padding-bottom:12px}.editor-rich{outline:none}.editor-rich p{margin:0 0 1rem}.editor-rich img{max-width:100%;height:auto;display:block;margin:.75rem 0;border-radius:4px}.poem-editor.poem-sonnet p{margin:0 0 .4rem}.editor-rich p:last-child{margin-bottom:0}.editor-rich p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}@media(max-width:960px){.poem-header-haiku{flex-direction:column;align-items:flex-start}.editor-sidebar{width:200px;min-width:200px}.editor-canvas-scroll{padding:24px 32px}.editor-canvas,.editor-page{width:100%}}@media(max-width:700px){.editor-shell{padding:0}.editor-toolbar{flex-direction:column;align-items:flex-start;gap:16px}.toolbar-actions{width:100%;flex-wrap:wrap}.editor-shell .editor-toolbar{flex-direction:row;align-items:center;gap:8px;padding:0 14px}.editor-shell .toolbar-actions{width:auto;flex-wrap:nowrap}.editor-sidebar{display:none}.editor-canvas-scroll{padding:20px 22px}.part-title-row{flex-direction:column;align-items:flex-start;gap:6px}.part-subtitle-inline{width:100%;margin-left:0}.page-title{width:100%;white-space:normal}.front-title{font-size:2rem!important}.font-input{display:none}.editor-dictionary-panel{right:16px;left:16px;width:auto;bottom:16px;max-height:62vh}.editor-history{grid-template-columns:1fr}.editor-history-main{display:none}.editor-history-list{border-radius:18px}.editor-page{padding:22px}.script-block-menu-btn kbd{display:none}.script-editor .script-node--character,.script-editor .script-node--parenthetical,.script-editor .script-node--dialogue{margin-left:12%;max-width:78%}.script-editor{padding-left:20px;padding-right:20px}.script-editor .script-node--scene-heading:before,.script-editor .script-node--scene:before{left:-18px}.script-editor .script-node--scene-heading:after,.script-editor .script-node--scene:after{right:-18px}}@media(max-width:740px){.toolbar-logo-desktop{display:none}.toolbar-logo-mobile{display:block;height:34px;width:34px}.editor-shell .toolbar-logo .toolbar-logo-desktop{display:none}.editor-shell .toolbar-logo .toolbar-logo-mobile{display:block}.toolbar-mobile-bento{display:inline-flex}.toolbar-bento-menu .toolbar-bento-trigger{width:40px;height:40px;border-radius:12px}.toolbar-bento-menu .toolbar-dropdown{min-width:220px}.editor-shell .editor-main-toolbar{padding:14px 16px;height:auto;min-height:0;align-items:flex-start;gap:0}.editor-main-toolbar .toolbar-left{display:grid;grid-template-columns:40px 1fr 40px;grid-template-areas:"logo label spacer" "meta meta meta";align-items:center;row-gap:12px;width:100%;gap:12px}.editor-main-toolbar .toolbar-logo{grid-area:logo;height:40px;padding:0}.editor-main-toolbar .toolbar-left:after{content:"";grid-area:spacer;width:40px;height:40px}.editor-main-toolbar .toolbar-mobile-section-label{grid-area:label;display:inline-flex;justify-content:center;font-size:1rem;font-weight:600;color:var(--label-primary)}.editor-main-toolbar .toolbar-separator,.editor-main-toolbar .work-type-icon{display:none}.editor-main-toolbar .work-meta{grid-area:meta;border-top:1px solid var(--border);padding-top:12px;width:100%}.editor-main-toolbar .work-title-row{display:flex;align-items:baseline;gap:6px;width:100%;min-width:0;overflow:hidden;white-space:nowrap}.editor-main-toolbar .work-title{flex:0 1 auto;min-width:0;max-width:100%}.editor-main-toolbar .work-title-subtitle{flex:0 1 auto;min-width:0;max-width:min(42vw,260px)}.editor-main-toolbar .work-title-pencil{display:none}.editor-main-toolbar .toolbar-actions{position:absolute;top:14px;right:16px;width:auto;transform:none}.editor-main-toolbar .toolbar-actions>:not(.toolbar-mobile-bento){display:none!important}.works-toolbar-mobile{padding:14px 16px;min-height:64px;flex-direction:row;align-items:center;gap:0}.works-toolbar-mobile .toolbar-left{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;width:100%;gap:12px}.works-toolbar-mobile .toolbar-logo{height:40px;padding:0}.works-toolbar-mobile .toolbar-left:after{content:"";width:40px;height:40px}.works-toolbar-mobile .work-meta{align-items:center;text-align:center;gap:0}.work-meta{padding-left:10px}.works-toolbar-mobile .work-status{display:none}.works-toolbar-mobile .works-title{font-size:1rem;line-height:1.25}.works-toolbar-mobile .toolbar-actions{position:absolute;top:50%;right:16px;width:auto;transform:translateY(-50%)}.works-toolbar-mobile .toolbar-actions>:not(.toolbar-mobile-bento){display:none!important}}.editor-whiteboard-canvas{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;position:relative;background:var(--surface)}.editor-whiteboard-status{position:absolute;top:12px;right:16px;z-index:5;padding:4px 10px;border-radius:999px;font-size:.72rem;color:var(--text-muted);background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.editor-whiteboard-status.is-saving{color:var(--text-secondary)}.editor-whiteboard-status.is-saved{color:var(--text-muted)}.editor-whiteboard-status.is-error{color:#c0392b;border-color:color-mix(in srgb,#c0392b 35%,var(--border))}.editor-whiteboard-body{flex:1 1 auto;min-height:0;min-width:0;display:flex;position:relative}.editor-whiteboard-body>*{flex:1 1 auto;min-height:0;width:100%;height:100%}.editor-whiteboard-empty,.editor-whiteboard-error{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary);font-size:.9rem}.editor-whiteboard-error{color:#c0392b}.editor-paper-eyebrow{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--text-muted);margin:0 0 18px}.editor-paper-eyebrow .pill{font-style:italic}.editor-paper-eyebrow .dot{opacity:.5}.editor-paper-chapter-num{font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;margin:20px 0 14px}.editor-paper-rule{width:36px;height:1.5px;background:var(--accent);border:none;margin:0 0 24px}.editor-footer{flex-shrink:0;border-top:1px solid var(--border);padding:0 28px;height:44px;display:flex;align-items:center;gap:18px;background:color-mix(in srgb,var(--surface) 60%,transparent);font-size:.74rem;color:var(--text-muted)}.editor-footer-section{display:flex;align-items:center;gap:6px}.editor-footer-section b{color:var(--text-primary);font-weight:600}.editor-footer-section em{font-style:italic}.editor-footer-spacer{flex:1}.editor-footer-dot{opacity:.5}.editor-progress-track{width:140px;height:2px;background:var(--border);border-radius:999px;overflow:hidden}.editor-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.editor-footer-btn{display:flex;align-items:center;gap:6px;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .15s,color .15s}.editor-footer-btn:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb,var(--surface) 80%,transparent)}.editor-footer-btn:disabled{opacity:.35;cursor:not-allowed}.editor-footer-btn svg{font-size:14px}.editor-storyboard{flex:1;min-height:0;overflow:auto;padding:36px 44px;background:linear-gradient(155deg,var(--paper-top) 0%,var(--paper-bottom) 100%)}.editor-storyboard-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.editor-storyboard-head h1{font-size:1.7rem;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--text-primary)}.editor-storyboard-head em{font-style:italic;color:var(--text-muted);font-size:.95rem}.editor-storyboard-act{margin-bottom:36px}.editor-storyboard-act-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.editor-storyboard-act-name{font-size:.62rem;font-weight:700;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase}.editor-storyboard-act-sub{font-size:.82rem;color:var(--text-secondary);font-style:italic}.editor-storyboard-act-rule{flex:1;height:1px;background:var(--border)}.editor-storyboard-act-count{font-size:.72rem;color:var(--text-muted);font-style:italic}.editor-storyboard-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;border-radius:8px;transition:background .15s,outline .15s}.editor-storyboard-row.is-drag-over{background:color-mix(in srgb,var(--accent) 8%,transparent);outline:2px dashed color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:4px}.editor-storyboard-card{background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid var(--border);border-radius:12px;padding:12px 14px 10px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;flex-direction:column;gap:8px}.editor-storyboard-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.editor-storyboard-card:hover .editor-storyboard-card-grip{opacity:1}.editor-storyboard-card.is-dragging{opacity:.55;box-shadow:0 8px 24px #0000002e;cursor:grabbing}.editor-storyboard-card-head{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--text-muted)}.editor-storyboard-card-grip{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin-left:-4px;margin-right:2px;font-size:1rem;color:var(--text-muted);cursor:grab;opacity:.35;transition:opacity .15s,color .15s}.editor-storyboard-card-grip:hover:not(:disabled){color:var(--accent)}.editor-storyboard-card-grip:disabled{cursor:default;opacity:.15}.editor-storyboard-card-grip:active{cursor:grabbing}.editor-storyboard-card-num{font-style:italic;color:var(--accent);font-weight:500}.editor-storyboard-card-act-badge{position:relative;margin-left:auto}.editor-storyboard-card-act-pill{padding:2px 7px;border-radius:999px;border:1px solid var(--border);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;background:none;cursor:pointer;color:var(--accent);transition:border-color .15s,background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.editor-storyboard-card-act-pill.is-unassigned{color:var(--text-muted)}.editor-storyboard-card-act-pill:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.editor-storyboard-card-kebab-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:4px;min-width:160px;max-height:260px;overflow-y:auto;z-index:20;display:flex;flex-direction:column}.editor-storyboard-card-kebab-heading{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:4px 8px 6px}.editor-storyboard-card-kebab-item{background:none;border:none;text-align:left;padding:6px 8px;border-radius:5px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s}.editor-storyboard-card-kebab-item:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--text-primary)}.editor-storyboard-card-kebab-item.is-current{color:var(--accent);font-weight:600}.editor-storyboard-card-tag{margin-left:auto;padding:2px 7px;border-radius:999px;border:1px solid var(--border);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.editor-storyboard-card-title{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.25;background:none;border:none;padding:0;text-align:left;cursor:pointer;width:100%;font-family:inherit}.editor-storyboard-card-title:hover{color:var(--accent)}.editor-storyboard-card-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.editor-storyboard-card-synopsis{font-family:Lora,serif;font-style:italic;font-size:.9rem;line-height:1.55;color:var(--text-secondary);background:transparent;border:none;padding:0;resize:none;field-sizing:content;width:100%;min-height:1.4em;outline:none}.editor-storyboard-card-synopsis::placeholder{color:var(--text-muted)}.editor-storyboard-card-pacing{display:flex;align-items:center;gap:8px;margin-top:2px}.editor-storyboard-card-pacing.is-under .editor-storyboard-card-pacing-fill{background:color-mix(in srgb,var(--text-muted) 60%,transparent)}.editor-storyboard-card-pacing.is-over .editor-storyboard-card-pacing-fill{background:color-mix(in srgb,var(--accent) 90%,transparent)}.editor-storyboard-card-pacing-track{flex:1;height:3px;border-radius:2px;background:color-mix(in srgb,var(--border) 60%,transparent);overflow:hidden}.editor-storyboard-card-pacing-fill{height:100%;background:color-mix(in srgb,var(--accent) 65%,transparent);border-radius:2px;transition:width .2s ease}.editor-storyboard-card-pacing-label{font-size:.64rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.editor-storyboard-card-add{border:1.5px dashed var(--border);border-radius:12px;padding:28px 14px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s;background:transparent;font-family:inherit}.editor-storyboard-card-add:hover{border-color:var(--accent);color:var(--accent)}.editor-storyboard-act--front .editor-storyboard-act-name{color:color-mix(in srgb,var(--accent) 70%,var(--text-muted))}.editor-storyboard-act--back .editor-storyboard-act-name{color:color-mix(in srgb,var(--text-muted) 60%,transparent)}.editor-storyboard-empty{text-align:center;padding:80px 20px;color:var(--text-muted);font-style:italic;line-height:1.6}.editor-storyboard-empty h2{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:500;font-style:normal;color:var(--text-secondary);margin:0 0 12px}.editor-storyboard-premise{display:flex;flex-direction:column;gap:4px;margin:-12px 0 24px;padding:12px 14px;background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:10px}.editor-storyboard-premise-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.editor-storyboard-premise-text{font-family:Lora,serif;font-style:italic;font-size:.95rem;line-height:1.55;color:var(--text-secondary);background:transparent;border:none;padding:0;resize:none;field-sizing:content;width:100%;min-height:1.6em}.editor-storyboard-premise-text::placeholder{color:var(--text-muted);font-style:italic;opacity:.7}.editor-storyboard-premise-text:focus{outline:none;color:var(--text-primary)}.editor-storyboard-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.editor-storyboard-filters-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-right:6px}.editor-storyboard-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.72rem;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.editor-storyboard-filter-chip:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--text-primary)}.editor-storyboard-filter-chip.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,var(--border));color:var(--text-primary)}.editor-storyboard-status-dot{width:8px;height:8px;border-radius:50%;background:var(--storyboard-status-color, var(--text-muted));flex-shrink:0}.editor-storyboard-filter-chip.is-draft,.editor-storyboard-card--status-draft,.editor-storyboard-status-pill.is-draft,.editor-storyboard-status-menu-item.is-draft{--storyboard-status-color: #d99a2b}.editor-storyboard-filter-chip.is-revising,.editor-storyboard-card--status-revising,.editor-storyboard-status-pill.is-revising,.editor-storyboard-status-menu-item.is-revising{--storyboard-status-color: #4a87d6}.editor-storyboard-filter-chip.is-done,.editor-storyboard-card--status-done,.editor-storyboard-status-pill.is-done,.editor-storyboard-status-menu-item.is-done{--storyboard-status-color: #4ea571}.editor-storyboard-filter-chip.is-none,.editor-storyboard-card--status-none,.editor-storyboard-status-pill.is-none,.editor-storyboard-status-menu-item.is-none{--storyboard-status-color: color-mix(in srgb, var(--text-muted) 70%, transparent)}.editor-storyboard-card{position:relative;border-left:3px solid transparent}.editor-storyboard-card--status-draft,.editor-storyboard-card--status-revising,.editor-storyboard-card--status-done{border-left-color:var(--storyboard-status-color)}.editor-storyboard-card.is-dimmed{opacity:.32;transition:opacity .18s}.editor-storyboard-status{position:relative;display:inline-flex}.editor-storyboard-status-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.6rem;font-family:inherit;letter-spacing:.04em;cursor:pointer;transition:background .15s,border-color .15s}.editor-storyboard-status-pill:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--surface) 70%,transparent)}.editor-storyboard-status-pill-label{text-transform:uppercase;letter-spacing:.06em}.editor-storyboard-status-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000002e;min-width:140px}.editor-storyboard-status-menu-item{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-status-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-status-menu-item.is-current{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-primary)}.editor-storyboard-pov{position:relative;display:inline-flex}.editor-storyboard-pov-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.6rem;font-family:inherit;letter-spacing:.04em;cursor:pointer;max-width:110px;transition:background .15s,border-color .15s,color .15s}.editor-storyboard-pov-pill:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--surface) 70%,transparent)}.editor-storyboard-pov-pill.is-set{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.editor-storyboard-pov-pill-label{text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-storyboard-pov-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000002e;min-width:180px;max-height:240px;overflow-y:auto}.editor-storyboard-pov-menu-item{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-pov-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-pov-menu-item.is-current{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-primary)}.editor-storyboard-pov-menu-role{margin-left:auto;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.editor-storyboard-pov-menu-add{margin-top:4px;border-top:1px solid var(--border);padding-top:7px;color:var(--accent)}.editor-storyboard-pov-menu-add:hover{color:var(--accent)}.editor-storyboard-location{position:relative;display:inline-flex}.editor-storyboard-location-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.6rem;font-family:inherit;letter-spacing:.04em;cursor:pointer;max-width:110px;transition:background .15s,border-color .15s,color .15s}.editor-storyboard-location-pill:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--surface) 70%,transparent)}.editor-storyboard-location-pill.is-set{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.editor-storyboard-location-pill-label{text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-storyboard-location-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000002e;min-width:180px;max-height:240px;overflow-y:auto}.editor-storyboard-location-menu-item{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-location-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-location-menu-item.is-current{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-primary)}.editor-storyboard-location-menu-add{margin-top:4px;border-top:1px solid var(--border);padding-top:7px;color:var(--accent)}.editor-storyboard-location-menu-add:hover{color:var(--accent)}.editor-storyboard-location-description{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-size:.78rem;font-family:Lora,serif;line-height:1.5;resize:vertical}.editor-storyboard-location-description::placeholder{color:var(--text-muted);font-style:italic}.editor-storyboard-location-description:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.editor-storyboard-slot{position:relative;display:inline-flex}.editor-storyboard-slot-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.6rem;font-family:inherit;letter-spacing:.04em;cursor:pointer;max-width:130px;transition:background .15s,border-color .15s,color .15s}.editor-storyboard-slot-pill:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--surface) 70%,transparent)}.editor-storyboard-slot-pill.is-set{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.editor-storyboard-slot-pill-label{text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-storyboard-slot-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:5;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000002e;min-width:240px;max-height:320px;overflow-y:auto}.editor-storyboard-slot-menu-item{display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-slot-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-slot-menu-item.is-current{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-primary)}.editor-storyboard-slot-menu-name{font-weight:500}.editor-storyboard-slot-menu-prompt{margin:0;font-size:.7rem;color:var(--text-muted);line-height:1.35;font-style:italic}.editor-storyboard-card-ghost{border:1.5px dashed color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:12px;padding:16px 14px;background:color-mix(in srgb,var(--accent) 4%,transparent);color:var(--text-secondary);display:flex;flex-direction:column;gap:6px;min-height:120px}.editor-storyboard-card-ghost-name{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 70%,var(--text-secondary))}.editor-storyboard-card-ghost-prompt{margin:0;font-family:Lora,serif;font-style:italic;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.editor-storyboard-card-ghost-hint{margin:0;font-size:.7rem;color:var(--text-muted)}.editor-storyboard-modal--wide{width:min(620px,94vw)}.editor-storyboard-structure-list{display:flex;flex-direction:column;gap:10px}.editor-storyboard-structure-card{text-align:left;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text-primary);font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s}.editor-storyboard-structure-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 6%,transparent)}.editor-storyboard-structure-card.is-current{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.editor-storyboard-structure-card-name{font-size:1rem;font-weight:600}.editor-storyboard-structure-card-summary{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.editor-storyboard-structure-card-slots{font-size:.7rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.toolbar-btn.is-active{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-head-actions{display:inline-flex;align-items:center;gap:8px}.editor-storyboard-view-switch{display:inline-flex;align-items:center;gap:0;padding:2px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,transparent)}.editor-storyboard-view-switch-btn{padding:4px 12px;background:transparent;border:none;border-radius:999px;color:var(--text-muted);font-size:.74rem;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-view-switch-btn:hover{color:var(--text-primary)}.editor-storyboard-view-switch-btn.is-active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 2px #00000014}.editor-storyboard-lanes{display:flex;flex-direction:column;gap:28px}.editor-storyboard--mode-beats .editor-storyboard-lanes{flex-direction:row;align-items:flex-start;gap:16px;overflow-x:auto;padding-bottom:12px}.editor-storyboard--mode-beats .editor-storyboard-act{flex:1 1 280px;min-width:240px;margin-bottom:0}.editor-storyboard--mode-beats .editor-storyboard-row{display:flex;flex-direction:column;gap:10px}.editor-storyboard--mode-beats .editor-storyboard-card-add{padding:16px 14px}.editor-storyboard--mode-timeline .editor-storyboard-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:4px 4px 14px;scroll-snap-type:x proximity}.editor-storyboard--mode-timeline .editor-storyboard-card{scroll-snap-align:start}.editor-storyboard--mode-timeline .editor-storyboard-card-add{flex-shrink:0;min-width:160px}.editor-storyboard-tag-count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:0 6px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-secondary);font-size:.66rem;font-weight:600}.editor-storyboard-tag-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.editor-storyboard-tag-dot.is-large{width:14px;height:14px}.editor-storyboard-card-tags{position:relative;margin-top:2px}.editor-storyboard-card-tags-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.editor-storyboard-card-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px 1px 6px;border:1px solid;border-radius:999px;font-size:.6rem;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.editor-storyboard-card-tag-add{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:1px dashed var(--border);border-radius:999px;color:var(--text-muted);font-size:.7rem;cursor:pointer;transition:border-color .15s,color .15s}.editor-storyboard-card-tag-add:hover{border-color:var(--accent);color:var(--accent)}.editor-storyboard-tag-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000002e;min-width:200px;max-height:240px;overflow-y:auto}.editor-storyboard-tag-menu-empty{padding:8px 10px;color:var(--text-muted);font-size:.74rem;font-style:italic}.editor-storyboard-tag-menu-item{display:flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-tag-menu-item>.editor-storyboard-tag-menu-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-storyboard-tag-menu-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-tag-menu-item.is-current{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text-primary)}.editor-storyboard-tag-menu-add{margin-top:4px;border-top:1px solid var(--border);padding-top:7px;color:var(--accent)}.editor-storyboard-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}.editor-storyboard-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(440px,92vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000047}.editor-storyboard-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.editor-storyboard-modal-head h2{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.editor-storyboard-modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer}.editor-storyboard-modal-close:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-primary)}.editor-storyboard-modal-body{padding:16px 18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.editor-storyboard-modal-empty{margin:0 0 6px;color:var(--text-muted);font-size:.85rem;font-style:italic;line-height:1.5}.editor-storyboard-tag-manager-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.editor-storyboard-tag-manager-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface) 70%,transparent)}.editor-storyboard-tag-manager-row-head{display:flex;align-items:center;gap:8px}.editor-storyboard-tag-manager-label{flex:1;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);font-size:.9rem;font-family:inherit}.editor-storyboard-tag-manager-label:hover{border-color:var(--border)}.editor-storyboard-tag-manager-label:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:var(--surface)}.editor-storyboard-tag-manager-delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.editor-storyboard-tag-manager-delete:hover{border-color:#d6624a;color:#d6624a}.editor-storyboard-tag-manager-swatches{display:flex;flex-wrap:wrap;gap:6px}.editor-storyboard-tag-manager-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.editor-storyboard-tag-manager-swatch.is-current{border-color:var(--text-primary)}.editor-storyboard-tag-manager-add{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.82rem;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.editor-storyboard-tag-manager-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.editor-storyboard-tag-manager-add:disabled{opacity:.5;cursor:default}.editor-storyboard-card-beats{margin-top:2px}.editor-storyboard-card-beats-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);font-size:.7rem;font-family:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-card-beats-toggle:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text-secondary)}.editor-storyboard-card-beats-chevron{font-size:.95rem;transition:transform .15s}.editor-storyboard-card-beats:not(.is-open) .editor-storyboard-card-beats-chevron{transform:rotate(-90deg)}.editor-storyboard-card-beats-count{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0 5px;height:14px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text-secondary);font-size:.6rem;font-weight:600;letter-spacing:0;text-transform:none}.editor-storyboard-card-beats-list{list-style:none;margin:6px 0 0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:3px;border-left:2px solid color-mix(in srgb,var(--border) 80%,transparent)}.editor-storyboard-card-beat{display:flex;flex-direction:column;gap:2px;padding-left:6px}.editor-storyboard-card-beat-bullet{color:var(--text-muted);font-weight:700;flex-shrink:0;width:8px;text-align:center}.editor-storyboard-card-beat-input{flex:1;padding:3px 5px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.74rem;font-family:Lora,serif;font-style:italic}.editor-storyboard-card-beat-input:hover:not(:focus){border-color:var(--border)}.editor-storyboard-card-beat-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:var(--surface);color:var(--text-primary)}.editor-storyboard-card-beat-actions{display:inline-flex;align-items:center;gap:1px;opacity:0;transition:opacity .15s}.editor-storyboard-card-beat:hover .editor-storyboard-card-beat-actions{opacity:1}.editor-storyboard-card-beat-action{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:background .12s,color .12s}.editor-storyboard-card-beat-action:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.editor-storyboard-card-beat-action:disabled{opacity:.3;cursor:default}.editor-storyboard-card-beat-action.is-danger:hover:not(:disabled){background:color-mix(in srgb,#d6624a 18%,transparent);color:#d6624a}.editor-storyboard-card-beat-add{padding-left:6px}.editor-storyboard-card-beat-add button{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:.72rem;font-family:inherit;cursor:pointer;transition:color .12s}.editor-storyboard-card-beat-add button:hover{color:var(--accent)}.sidebar-versions{padding:0 22px}.sidebar-outline-beat-label{font-style:italic;color:var(--text-secondary);font-size:.78rem}.editor-page.character-editor-page{align-items:flex-start;justify-content:flex-start;text-align:left;min-height:0;padding-top:12px;max-width:min(640px,100%)}.character-editor-content{display:flex;flex-direction:column;align-items:stretch;width:min(640px,100%);padding-bottom:40px;padding-top:12px;gap:0}.character-editor-eyebrow{margin:0 0 4px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.character-editor-name{margin:0 0 24px;font-size:clamp(1.8rem,3.2vw,2.4rem);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}.character-editor-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:8px}.character-editor-field{display:flex;flex-direction:column;gap:5px}.character-editor-field-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.character-editor-input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:none;transition:border-color .15s}.character-editor-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}textarea.character-editor-input{font-family:Lora,serif;line-height:1.55;resize:vertical}select.character-editor-input{cursor:pointer}.character-editor-rule{width:100%;border:none;border-top:1px solid var(--border);margin:24px 0 18px}.character-editor-delete{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:transparent;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:6px;color:var(--text-muted);font-size:.78rem;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.character-editor-delete:hover{border-color:#d6624a;color:#d6624a}.editor-canvas-scroll.ch-scroll{padding:36px 44px 56px;align-items:stretch}.editor-canvas{--tone-warm: #b8895a;--tone-rust: #c0432d;--tone-sage: #5a8a73;--tone-violet: #6e6294;--tone-bright: #c79a3a;--tone-ink: #2f3e46}.ch-mono{display:inline-grid;place-items:center;border-radius:999px;font-family:Playfair Display,Georgia,serif;font-weight:600;letter-spacing:-.01em;background:color-mix(in srgb,var(--surface) 90%,var(--border));color:var(--text-primary);border:1px solid var(--border);flex-shrink:0;-webkit-user-select:none;user-select:none}.ch-mono-xs{width:20px;height:20px;font-size:.62rem}.ch-mono-sm{width:28px;height:28px;font-size:.74rem}.ch-mono-md{width:44px;height:44px;font-size:1rem}.ch-mono-lg{width:64px;height:64px;font-size:1.35rem}.ch-mono-xl{width:96px;height:96px;font-size:2.1rem;box-shadow:0 1px color-mix(in srgb,var(--ink) 8%,transparent),0 10px 30px -14px color-mix(in srgb,var(--ink) 35%,transparent)}.ch-mono.role-protagonist{background:color-mix(in srgb,var(--tone-warm) 16%,var(--surface));border-color:color-mix(in srgb,var(--tone-warm) 60%,var(--border));color:color-mix(in srgb,var(--tone-warm) 80%,#000)}.ch-mono.role-antagonist{background:color-mix(in srgb,var(--tone-rust) 14%,var(--surface));border-color:color-mix(in srgb,var(--tone-rust) 60%,var(--border));color:color-mix(in srgb,var(--tone-rust) 80%,#000)}.ch-mono.role-supporting{background:color-mix(in srgb,var(--tone-sage) 14%,var(--surface));border-color:color-mix(in srgb,var(--tone-sage) 60%,var(--border));color:color-mix(in srgb,var(--tone-sage) 80%,#000)}[data-theme=dark] .ch-mono.role-protagonist{color:color-mix(in srgb,var(--tone-warm) 50%,#fff)}[data-theme=dark] .ch-mono.role-antagonist{color:color-mix(in srgb,var(--tone-rust) 50%,#fff)}[data-theme=dark] .ch-mono.role-supporting{color:color-mix(in srgb,var(--tone-sage) 50%,#fff)}.ch-dash{width:100%;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.ch-dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.ch-dash-eyebrow{margin:0 0 4px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.ch-dash-title{font-size:clamp(2.2rem,3.5vw,2.8rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 8px;color:var(--text-primary)}.ch-dash-sub{font-family:Lora,serif;font-size:.98rem;color:var(--text-secondary);margin:0;max-width:56ch}.ch-dash-sub em{color:var(--text-primary);font-style:italic}.ch-dash-tools{display:flex;gap:8px;align-items:center}.ch-search{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:32px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text-muted)}.ch-search input{border:none;outline:none;background:none;font-family:inherit;font-size:.85rem;color:var(--text-primary);width:180px}.ch-search input::placeholder{color:var(--text-muted)}.ch-role-row{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:14px}.ch-role-tile{text-align:left;cursor:pointer;background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid var(--border);border-radius:14px;padding:16px 18px 14px;font-family:inherit;display:flex;flex-direction:column;gap:6px;transition:all .18s;position:relative;overflow:hidden}.ch-role-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tone-ink);opacity:.4}.ch-role-tile.tone-warm:before{background:var(--tone-warm);opacity:1}.ch-role-tile.tone-rust:before{background:var(--tone-rust);opacity:1}.ch-role-tile.tone-sage:before{background:var(--tone-sage);opacity:1}.ch-role-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ink) 25%,var(--border))}.ch-role-tile.active{background:color-mix(in srgb,var(--surface) 95%,transparent);border-color:var(--ink)}.ch-role-tile-top{display:flex;justify-content:space-between;align-items:baseline}.ch-role-tile-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.ch-role-tile-pct{font-style:italic;font-size:.78rem;color:var(--text-muted)}.ch-role-tile-count{font-family:Playfair Display,Georgia,serif;font-size:2.4rem;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--text-primary);font-variant-numeric:tabular-nums}.ch-role-tile-note{font-size:.74rem;color:var(--text-secondary);font-style:italic}.ch-role-tile-bar{height:2px;background:var(--border);border-radius:99px;overflow:hidden;margin-top:6px}.ch-role-tile-bar>div{height:100%;border-radius:99px}.tone-warm .ch-role-tile-bar>div{background:var(--tone-warm)}.tone-rust .ch-role-tile-bar>div{background:var(--tone-rust)}.tone-sage .ch-role-tile-bar>div{background:var(--tone-sage)}.ch-role-bar{cursor:default}.ch-role-bar:before{background:var(--text-muted);opacity:.3}.ch-stack-bar{display:flex;height:28px;border-radius:8px;overflow:hidden;margin-top:12px;border:1px solid var(--border)}.ch-stack-bar .seg.warm{background:var(--tone-warm)}.ch-stack-bar .seg.rust{background:var(--tone-rust)}.ch-stack-bar .seg.sage{background:var(--tone-sage)}.ch-stack-legend{display:flex;gap:14px;margin-top:10px;font-size:.72rem;color:var(--text-muted);font-style:italic}.ch-stack-legend span{display:inline-flex;align-items:center;gap:6px}.ch-stack-legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.ch-stack-legend i.warm{background:var(--tone-warm)}.ch-stack-legend i.rust{background:var(--tone-rust)}.ch-stack-legend i.sage{background:var(--tone-sage)}.ch-filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.ch-chips{display:flex;gap:6px;flex-wrap:wrap}.ch-chip{font-family:inherit;font-size:.78rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text-secondary);padding:6px 12px;border-radius:99px;cursor:pointer;transition:all .15s}.ch-chip:hover{color:var(--text-primary);border-color:var(--ink)}.ch-chip.on{background:var(--ink);color:var(--label-inverse);border-color:transparent}.ch-main-grid{display:grid;grid-template-columns:1fr 300px;gap:24px}.ch-cards{display:grid;grid-template-columns:1fr;gap:14px;align-content:start}.ch-card{background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid var(--border);border-radius:14px;padding:16px 16px 14px;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;gap:10px;text-align:left;font-family:inherit}.ch-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.ch-card-head{display:flex;align-items:flex-start;gap:12px}.ch-card-head>div{flex:1;min-width:0}.ch-card-name{font-size:1.05rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.ch-card-meta{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--text-muted);margin-top:2px;flex-wrap:wrap}.ch-role-pill{padding:2px 8px;border-radius:99px;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;opacity:.85}.ch-role-pill.tone-warm{color:var(--tone-warm)}.ch-role-pill.tone-rust{color:var(--tone-rust)}.ch-role-pill.tone-sage{color:var(--tone-sage)}.ch-card-body{font-family:Lora,serif;font-size:.86rem;line-height:1.6;color:var(--text-secondary);margin:0}.ch-card-want{padding:8px 10px;border-left:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:0 6px 6px 0;display:flex;flex-direction:column;gap:2px}.ch-card-want-label{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.ch-card-want-text{font-family:Lora,serif;font-size:.84rem;line-height:1.5;color:var(--text-primary);font-style:italic}.ch-card-arc{padding:7px 10px;border-left:2px solid var(--tone-violet);background:color-mix(in srgb,var(--tone-violet) 6%,transparent);border-radius:0 6px 6px 0;display:flex;flex-direction:column;gap:2px}.ch-card-arc-label{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tone-violet)}.ch-card-arc-text{font-family:Lora,serif;font-size:.84rem;line-height:1.5;color:var(--text-primary);font-style:italic}.ch-card-foot{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px dashed var(--border);font-size:.72rem;color:var(--text-muted)}.ch-card-flaw-hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-card-flaw-hint b{color:var(--text-primary);font-weight:600}.ch-card-go{margin-left:auto;color:var(--text-muted);flex-shrink:0;transition:color .15s,transform .15s}.ch-card:hover .ch-card-go{color:var(--accent);transform:translate(2px)}.ch-card-add{align-items:center;justify-content:center;border-style:dashed;color:var(--text-muted);text-align:center;min-height:160px;gap:6px}.ch-card-add em{font-size:.74rem;font-style:italic}.ch-card-add:hover{color:var(--accent);border-color:var(--accent)}.ch-empty-state{grid-column:1/-1;padding:20px;text-align:center;font-size:.86rem;color:var(--text-muted);font-style:italic}.ch-side-stack{display:flex;flex-direction:column;gap:14px;align-self:start;position:sticky;top:8px}.ch-panel{background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--border);border-radius:14px;padding:14px 14px 12px}.ch-panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.ch-panel-label{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary)}.ch-panel-sub{font-size:.68rem;color:var(--text-muted);font-style:italic}.ch-panel-coming-soon{font-size:.82rem;color:var(--text-muted);font-style:italic;line-height:1.55;margin:0}.ch-panel-placeholder{opacity:.75}.ch-rank{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ch-rank li{display:grid;grid-template-columns:18px auto 1fr;align-items:center;gap:10px;cursor:pointer;padding:4px 0;border-radius:6px}.ch-rank li:hover .info .n{color:var(--accent)}.ch-rank .num{font-size:.62rem;font-style:italic;color:var(--text-muted);letter-spacing:.1em}.ch-rank .info{display:flex;flex-direction:column;min-width:0}.ch-rank .n{font-size:.84rem;font-weight:500;color:var(--text-primary);transition:color .15s}.ch-rank .m{font-size:.7rem;color:var(--text-muted)}.ch-rank .bar{grid-column:1/-1;height:2px;background:var(--border);border-radius:99px;overflow:hidden;margin-top:2px}.ch-rank .bar>span{display:block;height:100%;background:var(--accent);border-radius:99px}.ch-cast-map-frame{width:100%;height:520px;background:color-mix(in srgb,var(--surface) 45%,transparent);border:1px solid var(--border);border-radius:14px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.ch-cast-map-canvas{position:absolute;top:0;left:0;will-change:transform}.ch-cast-map-controls{position:absolute;bottom:14px;right:14px;display:flex;gap:4px}.ch-cast-map-controls button{width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-secondary);font-family:inherit;font-size:1rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:all .12s}.ch-cast-map-controls button:hover{background:var(--surface);color:var(--text-primary);border-color:color-mix(in srgb,var(--ink) 25%,var(--border))}.ch-cast-map-legend{position:absolute;bottom:14px;left:14px;display:flex;gap:12px;font-size:.7rem;color:var(--text-muted);font-style:italic;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:8px;padding:5px 10px}.ch-cast-map-legend span{display:inline-flex;align-items:center;gap:5px}.ch-cast-map-legend i{width:10px;height:10px;border-radius:99px;display:inline-block;border:1.5px solid currentColor}.ch-cast-map-legend i.role-warm{background:color-mix(in srgb,var(--tone-warm) 30%,transparent);color:var(--tone-warm)}.ch-cast-map-legend i.role-rust{background:color-mix(in srgb,var(--tone-rust) 30%,transparent);color:var(--tone-rust)}.ch-cast-map-legend i.role-sage{background:color-mix(in srgb,var(--tone-sage) 30%,transparent);color:var(--tone-sage)}.ch-detail{width:100%;max-width:1020px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.ch-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-family:inherit;font-size:.82rem;color:var(--text-muted);cursor:pointer;padding:0;font-style:italic;align-self:flex-start;transition:color .15s}.ch-back:hover{color:var(--accent)}.ch-hero{display:grid;grid-template-columns:96px 1fr auto;gap:24px;align-items:start;padding-bottom:28px;border-bottom:1px solid var(--border)}.ch-hero-eyebrow{margin:0 0 6px;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:8px}.ch-hero-name{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 10px;outline:none}.ch-hero-role-row{display:flex;align-items:center;gap:8px}.ch-hero-role-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.ch-hero-role-select{border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--text-primary);font-family:inherit;font-size:.82rem;padding:4px 8px;cursor:pointer;outline:none;transition:border-color .15s}.ch-hero-role-select:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.ch-hero-actions{display:flex;flex-direction:column;gap:6px}.ch-delete-btn{color:var(--text-muted)!important}.ch-delete-btn:hover{color:#d6624a!important;border-color:color-mix(in srgb,#d6624a 40%,var(--border))!important}.ch-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ch-stat{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);display:flex;flex-direction:column;gap:4px}.ch-stat-label{font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.ch-stat-value{font-family:Playfair Display,Georgia,serif;font-size:1.55rem;font-weight:600;letter-spacing:-.02em;color:var(--text-muted);font-variant-numeric:tabular-nums}.ch-stat-suffix{font-size:.72rem;color:var(--text-muted);font-style:italic}.ch-twocol{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:start}.ch-facets{display:flex;flex-direction:column;gap:12px}.ch-facet{padding:14px 16px;background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--border);border-radius:12px;position:relative}.ch-facet:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:99px}.ch-facet.tone-warm:before{background:var(--tone-warm)}.ch-facet.tone-rust:before{background:var(--tone-rust)}.ch-facet.tone-sage:before{background:var(--tone-sage)}.ch-facet.tone-violet:before{background:var(--tone-violet)}.ch-facet-label{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:6px}.ch-facet-body{font-family:Lora,serif;font-size:.92rem;line-height:1.65;color:var(--text-primary);margin:0}.ch-facet-input{width:100%;border:none;background:transparent;outline:none;resize:none;padding:0}.ch-facet-input:focus{box-shadow:0 1px 0 var(--accent)}.ch-facet-input::placeholder{color:var(--text-muted);font-style:italic}.ch-facet-input--single{display:block}.ch-map-wrap{background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);border-radius:14px;padding:16px 16px 14px}.ch-map-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px;gap:14px}.ch-section-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;display:block}.ch-section-sub{color:var(--text-muted);font-style:italic;font-size:.78rem;margin:-6px 0 0;display:block}.ch-map svg{display:block}.ch-map-placeholder{display:flex;flex-direction:column;gap:10px}.ch-map-coming-soon{font-size:.78rem;color:var(--text-muted);font-style:italic;line-height:1.55;margin:0;text-align:center;padding:0 8px 8px}.ch-section{margin-top:4px}.ch-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.ch-section-head h2{font-size:1.3rem;font-weight:600;letter-spacing:-.015em;margin:0;color:var(--text-primary)}.ch-empty{font-family:Lora,serif;font-style:italic;color:var(--text-muted);font-size:.88rem;margin:0 0 14px;line-height:1.6}.ch-hero-descriptor{margin:0 0 10px;font-family:Lora,serif;font-style:italic;color:var(--text-secondary);font-size:.98rem}.ch-hero-descriptor .ch-facet-input--single{font-family:Lora,serif;font-style:italic;font-size:.98rem;color:var(--text-secondary)}.ch-hero-descriptor .ch-facet-input--single::placeholder{font-style:italic}.ch-detail--loading{opacity:.7;pointer-events:none}.ch-stat-value--muted{color:var(--text-muted);font-size:1.2rem}.ch-map-empty{display:flex;flex-direction:column;align-items:center}.ch-map-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.7rem;color:var(--text-muted);font-style:italic;margin-top:8px;padding-top:10px;border-top:1px dashed var(--border)}.ch-map-legend span{display:inline-flex;align-items:center;gap:6px}.ch-map-legend i{width:14px;height:2px;display:inline-block;border-radius:2px}.ch-map-legend i.rel-warm{background:var(--tone-warm)}.ch-map-legend i.rel-rust{background:var(--tone-rust)}.ch-map-legend i.rel-sage{background:var(--tone-sage)}.ch-map-legend i.rel-violet{background:var(--tone-violet)}.ch-map-legend i.rel-ink{background:var(--text-muted)}.ch-rel-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.ch-rel-list li{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--border)}.ch-rel-list li:last-child{border-bottom:none}.ch-rel-list li.clickable{cursor:pointer}.ch-rel-list li.clickable:hover .rel-name{color:var(--accent)}.rel-bullet{width:8px;height:8px;border-radius:99px;flex-shrink:0}.rel-bullet.rel-warm{background:var(--tone-warm)}.rel-bullet.rel-rust{background:var(--tone-rust)}.rel-bullet.rel-sage{background:var(--tone-sage)}.rel-bullet.rel-violet{background:var(--tone-violet)}.rel-bullet.rel-ink{background:var(--text-muted)}.rel-info{display:flex;flex-direction:column;gap:2px}.rel-kind{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.rel-name{font-size:.9rem;color:var(--text-primary);display:inline-flex;align-items:center;gap:6px;transition:color .15s}.rel-strength{display:inline-flex;gap:3px}.rel-strength i{width:6px;height:6px;border-radius:99px;background:var(--border);display:inline-block}.rel-strength i.on{background:var(--accent)}.ch-connections{display:flex;flex-direction:column;gap:12px}.ch-rel-add-btn{align-self:flex-start;background:none;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-family:inherit;font-size:.82rem;padding:7px 14px;cursor:pointer;transition:all .15s}.ch-rel-add-btn:hover{color:var(--accent);border-color:var(--accent)}.rel-right{display:flex;align-items:center;gap:8px}.rel-edit,.rel-delete{border:none;background:none;color:transparent;cursor:pointer;padding:2px;display:grid;place-items:center;border-radius:4px;transition:color .15s;font-size:.9rem}.ch-rel-list li:hover .rel-edit,.ch-rel-list li:hover .rel-delete{color:var(--text-muted)}.rel-edit:hover{color:var(--accent)!important}.rel-delete:hover{color:#d6624a!important}.ch-rel-list li.ch-rel-editing{display:block;padding:0;border-bottom:1px dashed var(--border)}.ch-rel-list li.ch-rel-editing:last-child{border-bottom:none}.ch-rel-form{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 85%,transparent)}.ch-rel-type-tabs{display:flex;gap:4px}.ch-rel-type-tab{font-family:inherit;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:99px;border:1px solid var(--border);background:none;color:var(--text-muted);cursor:pointer;transition:all .12s}.ch-rel-type-tab:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--ink) 30%,var(--border))}.ch-rel-type-tab.on{background:var(--ink);color:var(--label-inverse);border-color:transparent}.ch-rel-sentence,.ch-rel-inverse{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ch-rel-sentence-is,.ch-rel-sentence-of{font-size:.82rem;color:var(--text-muted);font-style:italic;flex-shrink:0}.ch-rel-sentence-kind{flex:1;min-width:120px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-family:Lora,serif;font-size:.9rem;font-style:italic;outline:none;transition:border-color .15s}.ch-rel-sentence-kind:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.ch-rel-sentence-kind::placeholder{color:var(--text-muted)}.ch-rel-sentence-kind--inverse{background:color-mix(in srgb,var(--surface) 60%,transparent);font-size:.84rem}.ch-rel-sentence-target{flex:1;min-width:120px;height:34px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:var(--text-primary);font-family:inherit;font-size:.88rem;font-weight:500;outline:none;transition:border-color .15s}.ch-rel-sentence-target:focus{border-color:var(--accent)}.ch-rel-sentence-target::placeholder{color:var(--text-muted);font-weight:400}.ch-rel-inverse{padding-top:10px;border-top:1px dashed var(--border)}.ch-rel-inverse-name{font-size:.88rem;font-weight:600;color:var(--text-primary);flex-shrink:0}.ch-rel-meta{display:flex;align-items:center;gap:14px;padding-top:2px}.ch-rel-color-picker{display:flex;gap:5px;align-items:center}.ch-rel-color-swatch{width:14px;height:14px;border-radius:99px;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s,box-shadow .12s;outline:none}.ch-rel-color-swatch.color-warm{background:var(--tone-warm)}.ch-rel-color-swatch.color-rust{background:var(--tone-rust)}.ch-rel-color-swatch.color-sage{background:var(--tone-sage)}.ch-rel-color-swatch.color-violet{background:var(--tone-violet)}.ch-rel-color-swatch.color-ink{background:var(--text-muted)}.ch-rel-color-swatch.on{transform:scale(1.25);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px currentColor}.ch-rel-color-swatch:hover{transform:scale(1.15)}.ch-rel-strength-picker{display:flex;gap:4px;align-items:center}.ch-rel-strength-dot{width:9px;height:9px;border-radius:99px;border:1.5px solid var(--border);background:transparent;cursor:pointer;padding:0;transition:all .12s}.ch-rel-strength-dot.on{background:var(--accent);border-color:var(--accent)}.ch-rel-strength-dot:hover{border-color:var(--accent)}.ch-rel-form-actions{display:flex;gap:8px;margin-left:auto;align-items:center}.ch-rel-form-cancel{background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.82rem;cursor:pointer;padding:0 4px}.ch-rel-form-cancel:hover{color:var(--text-primary)}.ch-rel-form-submit{height:30px;padding:0 14px;background:var(--ink);color:var(--label-inverse);border:none;border-radius:8px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.ch-rel-form-submit:hover:not(:disabled){background:var(--ink-hover)}.ch-rel-form-submit:disabled{opacity:.45;cursor:not-allowed}.ch-quotes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.ch-quotes li{padding:12px 14px;background:color-mix(in srgb,var(--accent) 6%,transparent);border-left:2px solid var(--accent);border-radius:0 8px 8px 0}.ch-quotes blockquote{margin:0;font-family:Lora,serif;font-size:.95rem;line-height:1.6;color:var(--text-primary);font-style:italic}.ch-quote-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ch-quote-head cite{font-size:.7rem;color:var(--text-muted);font-style:italic;letter-spacing:.04em;flex:1}.ch-quote-delete{border:none;background:none;color:var(--text-muted);cursor:pointer;padding:2px;display:grid;place-items:center;border-radius:4px;transition:color .15s}.ch-quote-delete:hover{color:#d6624a}.ch-quote-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}.ch-quote-form-body{width:100%;resize:vertical;padding:10px 12px;font-family:Lora,serif;font-size:.9rem;font-style:italic;line-height:1.6;color:var(--text-primary);background:var(--surface);border:1.5px solid var(--border);border-radius:8px;outline:none;box-sizing:border-box;transition:border-color .15s}.ch-quote-form-body:focus{border-color:var(--accent)}.ch-quote-form-footer{display:flex;align-items:center;gap:8px}.ch-quote-form-scene{flex:1;padding:6px 10px;font-size:.8rem;color:var(--text-secondary);background:var(--surface);border:1.5px solid var(--border);border-radius:6px;outline:none;transition:border-color .15s}.ch-quote-form-scene:focus{border-color:var(--accent)}.ch-quote-form-scene::placeholder{color:var(--text-muted)}.ch-hero-name .ch-facet-input--single{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;font-family:inherit}@media(max-width:1100px){.ch-main-grid{grid-template-columns:1fr}.ch-side-stack{flex-direction:row;flex-wrap:wrap;position:static}.ch-side-stack>*{flex:1 1 260px}.ch-twocol{grid-template-columns:1fr}.ch-role-row,.ch-stat-row{grid-template-columns:repeat(2,1fr)}.ch-hero{grid-template-columns:96px 1fr}.ch-hero-actions{grid-column:1/-1;flex-direction:row}}@media(max-width:700px){.editor-canvas-scroll.ch-scroll{padding:24px 20px 40px}.ch-role-row{grid-template-columns:1fr}.ch-role-row .ch-role-tile:not(.ch-role-bar){display:none}.ch-stat-row{grid-template-columns:1fr 1fr}}.editor-canvas-scroll.ol-scroll{padding:36px 44px 56px;align-items:stretch}.ol-dash{width:100%;max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.ol-dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.ol-dash-eyebrow{margin:0 0 4px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.ol-dash-title{font-size:clamp(2.2rem,3.5vw,2.8rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 8px;color:var(--text-primary)}.ol-dash-sub{font-family:Lora,serif;font-size:.98rem;color:var(--text-secondary);margin:0}.ol-dash-sub em{color:var(--text-primary);font-style:italic}.ol-empty{font-family:Lora,serif;font-size:.95rem;color:var(--text-muted);font-style:italic;padding:24px 0}.ol-parts{display:flex;flex-direction:column;gap:20px}.ol-part-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--surface) 70%,transparent)}.ol-part-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--ink) 3%,transparent)}.ol-part-card-info{display:flex;align-items:baseline;gap:10px;min-width:0}.ol-part-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:baseline;gap:8px}.ol-part-num{flex-shrink:0}.ol-part-title{font-weight:400;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.ol-part-beat-count{font-size:.72rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.ol-part-jump{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-muted);font-family:inherit;font-size:.74rem;padding:4px 10px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.ol-part-jump:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ol-beats{list-style:none;margin:0;padding:8px 16px 12px;display:flex;flex-direction:column;gap:2px}.ol-beat{display:flex;align-items:center;gap:6px;padding:2px 0}.ol-beat:hover .ol-beat-actions{opacity:1}.ol-beat-bullet{color:var(--text-muted);font-weight:700;width:10px;text-align:center;flex-shrink:0}.ol-beat-input{flex:1;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.88rem;font-family:Lora,serif;font-style:italic;min-width:0}.ol-beat-input:hover:not(:focus){border-color:var(--border)}.ol-beat-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:var(--surface);color:var(--text-primary);font-style:normal}.ol-beat-actions{display:inline-flex;align-items:center;gap:1px;opacity:0;transition:opacity .15s;flex-shrink:0}.ol-beat-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:background .12s,color .12s}.ol-beat-action:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}.ol-beat-action:disabled{opacity:.25;cursor:default}.ol-beat-action.is-danger:hover:not(:disabled){background:color-mix(in srgb,#d6624a 18%,transparent);color:#d6624a}.ol-beat-add{margin-top:4px}.ol-beat-add button{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:7px;color:var(--text-muted);font-size:.78rem;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.ol-beat-add button:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:700px){.editor-canvas-scroll.ol-scroll{padding:24px 20px 40px}}.at-page{width:100%;max-width:1240px;margin:0 auto;display:flex;flex-direction:column}.at-page-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;margin:0 0 12px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.at-page-dot{opacity:.5}.at-page-title{font-size:clamp(2.1rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 6px;color:var(--text-primary)}.at-page-lead{font-family:Lora,serif;font-size:.96rem;line-height:1.65;color:var(--text-secondary);margin:0;max-width:60ch;text-wrap:pretty}.at-page-rule{width:36px;height:1.5px;background:var(--accent, #b8895a);border:none;margin:18px 0 24px}.at-page-empty{text-align:center;padding:80px 20px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px;line-height:1.6}.at-page-empty h2{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:500;color:var(--text-primary);margin:0}.at-page-empty p{font-family:Lora,serif;font-size:.93rem;max-width:38ch;margin:0}.at-empty{font-family:Lora,serif;font-size:.95rem;color:var(--text-muted);font-style:italic;padding:24px 0}.at-scroll{width:100%;overflow-x:auto}.at-wrap{min-width:max-content}.at-key{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding:10px 16px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);overflow:hidden;width:fit-content}.at-key-legend{color:var(--text-muted);font-style:italic;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.at-axis{display:grid;gap:0;background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid var(--border);border-radius:12px;overflow:clip}.at-axis-head{background:color-mix(in srgb,var(--surface-soft, var(--surface)) 70%,var(--surface));font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:10px 8px;border:none;border-bottom:1px solid var(--border-soft, var(--border));border-right:1px solid var(--border-soft, var(--border));text-align:center;position:relative;cursor:pointer;font-family:inherit}.at-axis-head:hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent, #b8895a) 6%,var(--surface))}.at-axis-head--label{text-align:left;padding-left:14px;cursor:default;position:sticky;left:0;z-index:2}.at-axis-head--label:hover{color:var(--text-muted);background:color-mix(in srgb,var(--surface-soft, var(--surface)) 70%,var(--surface))}.at-axis-head--act{background:color-mix(in srgb,var(--accent, #b8895a) 8%,var(--surface))}.at-axis-head-num{display:block;font-family:Playfair Display,Georgia,serif;font-style:italic;color:var(--accent, #b8895a);font-size:.84rem;letter-spacing:-.01em;text-transform:none;font-weight:500;white-space:nowrap}.at-cell{padding:10px 4px;border-bottom:1px solid var(--border-soft, var(--border));border-right:1px solid var(--border-soft, var(--border));min-height:50px;position:relative}.at-cell:last-child{border-right:none}.at-cell--label{text-align:left;padding:10px 14px;background:color-mix(in srgb,var(--surface-soft, var(--surface)) 70%,var(--surface));border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:1px;position:sticky;left:0;z-index:1}.at-thread-name{font-size:.84rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.at-thread-dot{display:inline-block;width:8px;height:8px;border-radius:99px;flex-shrink:0;align-self:center}.at-bar{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;height:4px}.at-bar>i{display:block;height:100%;border-radius:99px}.at-pt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:99px;z-index:2}.at-pt--start,.at-pt--end{box-shadow:0 0 0 2.5px var(--surface)}.at-pt--peak:after{content:"";position:absolute;inset:-4px;border-radius:99px;border:1.5px solid currentColor;opacity:.6}.at-strip{margin-top:14px;display:grid;font-size:.7rem;color:var(--text-muted);padding:10px 0 4px;border-top:1px solid var(--border-soft, var(--border))}.at-strip--acts{margin-top:0;margin-bottom:0;padding:4px 0 8px;border-top:none}.at-strip-label{padding:4px 14px;font-style:italic;font-size:.7rem;color:var(--text-muted)}.at-strip--acts .at-strip-label{font-style:normal;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.at-strip-cell{padding:4px 4px 0;display:flex;flex-direction:column;align-items:center;gap:2px;font-variant-numeric:tabular-nums;font-size:.66rem}.at-strip-bar{height:24px;width:8px;background:var(--border-soft, var(--border));border-radius:99px;position:relative;overflow:hidden}.at-strip-bar-fill{position:absolute;bottom:0;left:0;right:0;background:var(--accent, #b8895a);border-radius:99px}.at-strip-bar-num{color:var(--text-primary);font-weight:600}.at-strip-bar-sub{font-style:italic;color:var(--text-muted);font-size:.6rem}.at-strip-cell--act{padding:0;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:0}.at-strip-act-bar{height:6px;border-top:1px solid var(--surface);border-bottom:1px solid var(--surface)}.at-strip-act-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:0 0 4px;text-align:center;min-height:1.2em}@media(max-width:900px){.at-strip-bar-sub{display:none}}.editor-canvas-scroll.notes-scroll{padding:36px 44px 56px;align-items:stretch}.notes-dash{width:100%;max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.notes-dash-head{display:flex;flex-direction:column;gap:4px}.notes-dash-eyebrow{margin:0 0 4px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.notes-dash-title{font-size:clamp(2.2rem,3.5vw,2.8rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 8px;color:var(--text-primary)}.notes-dash-sub{font-family:Lora,serif;font-size:.98rem;color:var(--text-secondary);margin:0}.notes-dash-sub em{color:var(--text-primary);font-style:italic}.notes-groups{display:flex;flex-direction:column;gap:24px}.notes-group{border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 70%,transparent);overflow:hidden}.notes-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--ink) 3%,transparent)}.notes-group-title{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.notes-group-title svg{color:var(--text-muted)}.notes-group-count{font-size:.72rem;color:var(--text-muted);margin-left:4px;font-weight:500}.notes-group-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.notes-group-add:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.notes-group-empty{margin:0;padding:14px 18px 18px;font-family:Lora,serif;font-style:italic;color:var(--text-muted);font-size:.9rem}.notes-list{list-style:none;margin:0;padding:8px 12px 12px;display:flex;flex-direction:column;gap:6px}.notes-row{border:1px solid transparent;border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}.notes-row:hover{border-color:var(--border);background:color-mix(in srgb,var(--surface) 85%,transparent)}.notes-row:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--surface)}.notes-row-head{display:flex;align-items:center;gap:8px}.notes-row-title{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text-primary);padding:4px 0}.notes-row-title::placeholder{color:var(--text-muted);font-weight:400;font-style:italic}.notes-row-actions{display:inline-flex;gap:2px;opacity:.4;transition:opacity .15s}.notes-row:hover .notes-row-actions,.notes-row:focus-within .notes-row-actions{opacity:1}.notes-row-action{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:5px;color:var(--text-muted);cursor:pointer}.notes-row-action:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.notes-row-action:disabled{opacity:.35;cursor:not-allowed}.notes-row-action.is-danger:hover:not(:disabled){background:color-mix(in srgb,#d6624a 18%,transparent);color:#d6624a}.notes-row-url{background:transparent;border:1px solid transparent;outline:none;font-family:inherit;font-size:.82rem;color:var(--accent);padding:4px 6px;border-radius:6px}.notes-row-url:focus{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--surface)}.notes-row-body{background:transparent;border:1px solid transparent;outline:none;font-family:Lora,serif;font-size:.92rem;color:var(--text-secondary);padding:6px 8px;border-radius:6px;resize:vertical;min-height:50px}.notes-row-body:focus{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--surface);color:var(--text-primary)}.notes-row-body::placeholder{color:var(--text-muted);font-style:italic}@media(max-width:700px){.editor-canvas-scroll.notes-scroll{padding:24px 20px 40px}}.front-page-question-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.front-page-question{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid transparent;border-radius:8px;transition:border-color .15s,background .15s}.front-page-question:hover{border-color:var(--border);background:color-mix(in srgb,var(--surface) 85%,transparent)}.front-page-question:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--surface)}.front-page-question-head{display:flex;align-items:center;gap:8px}.front-page-question-prompt{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-weight:600;font-size:.95rem;color:var(--text-primary);padding:2px 0}.front-page-question-prompt::placeholder{color:var(--text-muted);font-style:italic;font-weight:400}.front-page-question-delete{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:5px;color:var(--text-muted);cursor:pointer;opacity:.4;transition:opacity .15s,background .15s,color .15s}.front-page-question:hover .front-page-question-delete,.front-page-question:focus-within .front-page-question-delete{opacity:1}.front-page-question-delete:hover{background:color-mix(in srgb,#d6624a 18%,transparent);color:#d6624a}.front-page-question-answer{background:transparent;border:1px solid transparent;outline:none;font-family:Lora,serif;font-size:.92rem;color:var(--text-secondary);padding:4px 6px;border-radius:6px;resize:vertical;min-height:36px}.front-page-question-answer:focus{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--surface);color:var(--text-primary)}.front-page-question-answer::placeholder{color:var(--text-muted);font-style:italic}.front-page-question-empty{font-family:Lora,serif;font-style:italic;font-size:.92rem;color:var(--text-muted);margin:0 0 10px}.ch-stats-empty-hint{margin:8px 4px 0;font-family:Lora,serif;font-style:italic;font-size:.85rem;color:var(--text-muted)}.editor-settings-input{font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;min-width:0}.editor-settings-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.editor-settings-input--date{width:180px}.editor-settings-input--number{width:140px;text-align:right}.sidebar-notes-overview{font-weight:600}.bs-page{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column}.bs-page-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;margin:0 0 12px;display:flex;align-items:center;gap:6px}.bs-page-dot{opacity:.5}.bs-page-title{font-size:clamp(2.1rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 6px;color:var(--text-primary)}.bs-page-lead{font-family:Lora,serif;font-size:.96rem;line-height:1.65;color:var(--text-secondary);margin:0;max-width:60ch}.bs-page-rule{width:36px;height:1.5px;background:var(--accent);border:none;margin:18px 0 24px}.bs-wrap{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}.bs-rail{position:sticky;top:16px;display:flex;flex-direction:column;gap:10px}.bs-rail-card{padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface) 78%,transparent)}.bs-rail-label{font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px}.bs-rail-progress{height:8px;border-radius:99px;background:var(--border-soft);overflow:hidden}.bs-rail-progress-done{height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}.bs-rail-prog-foot{display:flex;justify-content:space-between;margin-top:8px;font-size:.7rem;color:var(--text-muted);font-style:italic}.bs-rail-list{display:flex;flex-direction:column;gap:2px}.bs-rail-link{display:flex;align-items:baseline;gap:8px;padding:6px 4px;font-family:inherit;font-size:.78rem;color:var(--text-secondary);border-radius:6px;text-decoration:none;transition:color .15s,background .15s}.bs-rail-link:hover{color:var(--text-primary);background:color-mix(in srgb,var(--ink) 5%,transparent)}.bs-rail-roman{font-style:italic;color:var(--accent);font-weight:500;font-size:.82rem;min-width:20px}.bs-rail-pct{margin-left:auto;font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.bs-rail-filters{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.bs-chip{font-family:inherit;font-size:.74rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text-secondary);padding:4px 10px;border-radius:99px;cursor:pointer;transition:all .15s}.bs-chip:hover{color:var(--text-primary);border-color:var(--ink)}.bs-chip.on{background:var(--ink);color:var(--label-inverse);border-color:transparent}.bs-feed{display:flex;flex-direction:column;gap:32px}.bs-act{display:flex;flex-direction:column;gap:12px}.bs-slot-part{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}.bs-slot-part-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:color-mix(in srgb,var(--ink) 4%,transparent);border-bottom:1px solid var(--border)}.bs-slot-part-name{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.bs-slot-part .bs-thread,.bs-slot-part .bs-add-btn--full{padding-left:12px;padding-right:12px}.bs-slot-part .bs-thread{padding-top:4px;padding-bottom:4px}.bs-act-head{display:flex;align-items:baseline;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.bs-act-roman{font-family:Playfair Display,Georgia,serif;font-size:2.2rem;font-weight:600;line-height:1;color:var(--accent);letter-spacing:-.04em;font-style:italic;flex-shrink:0}.bs-act-info{display:flex;flex-direction:column;gap:2px}.bs-act-eyebrow{font-size:.58rem;font-weight:700;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase}.bs-act-name{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:var(--text-primary)}.bs-act-sub{font-style:italic;font-size:.84rem;color:var(--text-secondary)}.bs-page-empty{text-align:center;padding:80px 20px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px;line-height:1.6}.bs-page-empty h2{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:500;color:var(--text-primary);margin:0}.bs-page-empty p{font-family:Lora,serif;font-size:.93rem;max-width:38ch;margin:0}.bs-empty{font-family:Lora,serif;font-size:.88rem;color:var(--text-muted);font-style:italic;padding:8px 0 8px 12px}.bs-add-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:7px;color:var(--text-muted);font-size:.78rem;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s}.bs-add-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.bs-add-btn:disabled{opacity:.5;cursor:default}.bs-add-btn--full{display:flex;justify-content:center;width:100%;border-radius:9px;padding:8px 12px}.bs-thread{display:flex;flex-direction:column}.bs-beat{display:flex;align-items:stretch}.bs-beat:hover .bs-beat-content{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--surface)}.bs-beat:hover .bs-beat-controls{opacity:1}.bs-beat-track{width:20px;flex-shrink:0;display:flex;flex-direction:column;align-items:center}.bs-beat-track-line{flex:1;width:1px;min-height:6px;background:var(--border)}.bs-beat-track-line.is-hidden{background:transparent}.bs-beat-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--border);transition:background .15s,border-color .15s}.bs-beat-dot.is-endpoint{width:10px;height:10px;background:var(--surface);border:1.5px solid var(--border)}.bs-thread .bs-beat-dot:not(.is-endpoint){background:var(--thread-dot-color, var(--border))}.bs-thread .bs-beat-dot.is-endpoint{border-color:var(--thread-dot-color, var(--border));background:color-mix(in srgb,var(--thread-dot-color, var(--surface)) 40%,var(--surface))}.bs-beat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:11px 14px 13px;margin:4px 0 4px 10px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface) 70%,transparent);transition:background .15s,border-color .15s}.bs-beat-header{display:flex;align-items:flex-start;gap:6px;min-width:0}.bs-beat-title-input{flex:1;min-width:0;background:transparent;border:none;outline:none;font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary);font-family:Lora,serif;padding:0;line-height:1.4}.bs-beat-title-input::placeholder{color:var(--text-muted);font-style:italic;font-weight:400}.bs-beat-synopsis{width:100%;background:transparent;border:none;outline:none;resize:none;overflow:hidden;font-size:.84rem;font-family:Lora,serif;font-weight:400;color:var(--text-secondary);line-height:1.55;padding:0;min-height:0}.bs-beat-synopsis::placeholder{color:var(--text-muted);font-style:italic}.bs-beat-chars{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:2px}.bs-beat-char-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 3px;background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--border);border-radius:99px;font-size:.7rem;color:var(--text-secondary);font-style:normal}.bs-beat-char-mono{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--accent);color:#fff;font-size:.54rem;font-weight:700;font-family:system-ui,sans-serif;flex-shrink:0;font-style:normal;letter-spacing:0}.bs-beat-char-name{letter-spacing:.01em}.bs-beat-char-remove{background:none;border:none;padding:0 0 0 2px;color:var(--text-muted);font-size:.8rem;cursor:pointer;line-height:1;opacity:.5;transition:opacity .1s}.bs-beat-char-remove:hover{opacity:1}.bs-beat-char-add-wrap{position:relative}.bs-beat-char-add{background:none;border:1px dashed var(--border);border-radius:99px;padding:2px 8px;font-size:.66rem;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:color .12s,border-color .12s}.bs-beat-char-add:hover{color:var(--accent);border-color:var(--accent)}.bs-beat-char-picker{position:absolute;top:calc(100% + 5px);left:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:4px;min-width:170px;box-shadow:0 6px 20px #0000001f;display:flex;flex-direction:column;gap:1px}.bs-beat-char-picker-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:none;border:none;border-radius:6px;font-size:.82rem;color:var(--text-primary);cursor:pointer;text-align:left;font-family:inherit;width:100%}.bs-beat-char-picker-item:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.bs-beat-char-picker-empty{padding:6px 8px;font-size:.78rem;color:var(--text-muted);font-style:italic}.bs-beat-ch{font-size:.64rem;color:var(--text-muted);font-style:italic;letter-spacing:.04em}.bs-beat-controls{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.bs-beat-ctrl{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:5px;color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:color .12s,background .12s}.bs-beat-ctrl:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb,var(--ink) 8%,transparent)}.bs-beat-ctrl:disabled{opacity:.25;cursor:default}.bs-beat-ctrl.is-danger:hover:not(:disabled){color:var(--tone-rose, #e05c5c);background:color-mix(in srgb,var(--tone-rose, #e05c5c) 10%,transparent)}@media(max-width:860px){.bs-wrap{grid-template-columns:1fr}.bs-rail{position:static;display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.bs-rail{grid-template-columns:1fr}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 24px #0000001a;padding:20px 24px}.cookie-banner__content{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:24px}@media(max-width:700px){.cookie-banner__content{flex-direction:column;align-items:stretch}}.cookie-banner__text{flex:1;min-width:0}.cookie-banner__title{margin:0 0 6px;font-size:.95rem;font-weight:700;color:var(--text-primary)}.cookie-banner__body{margin:0;font-size:.82rem;color:var(--text-secondary);line-height:1.5}.cookie-banner__actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}@media(max-width:700px){.cookie-banner__actions{flex-direction:column}}.cookie-banner__btn{padding:9px 18px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap;border:1.5px solid transparent}.cookie-banner__btn--reject{background:transparent;border-color:var(--border);color:var(--text-primary)}.cookie-banner__btn--reject:hover{background:var(--paper-bottom)}.cookie-banner__btn--accept{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.cookie-banner__btn--accept:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.cookie-banner__btn--manage{background:transparent;border-color:transparent;color:var(--text-secondary);font-weight:500;text-decoration:underline;text-underline-offset:3px;padding-left:4px;padding-right:4px}.cookie-banner__btn--manage:hover{color:var(--text-primary)}.cookie-modal-overlay{position:fixed;inset:0;z-index:9100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px}.cookie-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0003}.cookie-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.cookie-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.cookie-modal__close{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.cookie-modal__close:hover{color:var(--text-primary);background:var(--paper-bottom)}.cookie-modal__body{padding:20px 24px;overflow-y:auto;flex:1}.cookie-modal__intro{margin:0 0 20px;font-size:.85rem;color:var(--text-secondary);line-height:1.55}.cookie-modal__categories{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.cookie-category{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--paper-top)}.cookie-category__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.cookie-category__label{font-size:.88rem;font-weight:700;color:var(--text-primary)}.cookie-category__always-on{font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.cookie-category__description{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.cookie-toggle{position:relative;width:40px;height:22px;border-radius:11px;background:var(--border);border:none;cursor:pointer;padding:0;flex-shrink:0;transition:background .2s ease}.cookie-toggle--on{background:var(--ink)}.cookie-toggle__thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.cookie-toggle--on .cookie-toggle__thumb{transform:translate(18px)}.cookie-modal__footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;flex-shrink:0;flex-wrap:wrap}.cookie-modal__btn{padding:9px 18px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease;border:1.5px solid transparent}.cookie-modal__btn--reject{background:transparent;border-color:var(--border);color:var(--text-primary)}.cookie-modal__btn--reject:hover{background:var(--paper-bottom)}.cookie-modal__btn--accept{background:transparent;border-color:var(--border);color:var(--text-primary)}.cookie-modal__btn--accept:hover{background:var(--paper-bottom)}.cookie-modal__btn--save{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.cookie-modal__btn--save:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.landing-shell{--landing-max: 1120px;--landing-gutter: clamp(16px, 3vw, 32px);color:#1d1d1d;background-color:#1f1f1f;background-image:radial-gradient(ellipse at 50% 28%,rgba(255,255,255,.06),transparent 58%),radial-gradient(ellipse at 50% 112%,rgba(0,0,0,.45),transparent 62%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.32 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-repeat:no-repeat,no-repeat,repeat;background-size:cover,cover,240px 240px;background-position:center top,center bottom,0 0}html:has(.landing-shell),body:has(.landing-shell){background-color:#1f1f1f;background-image:radial-gradient(ellipse at 50% 28%,rgba(255,255,255,.06),transparent 58%),radial-gradient(ellipse at 50% 112%,rgba(0,0,0,.45),transparent 62%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.32 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-repeat:no-repeat,no-repeat,repeat;background-size:cover,cover,240px 240px;background-position:center top,center bottom,0 0}.landing-hero{position:relative;overflow:hidden;padding:clamp(24px,4vw,48px) var(--landing-gutter) 0;min-height:clamp(620px,64vw,840px);color:#f7f7f7;background-color:#1f1f1f;background-image:linear-gradient(180deg,#1f1f1f,#0000 10%,#00000017 46%,#00000080 74%,#fffffff0 96%,#fff),radial-gradient(ellipse at 50% 28%,rgba(255,255,255,.06),transparent 58%),radial-gradient(ellipse at 50% 112%,rgba(0,0,0,.45),transparent 62%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.32 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-repeat:no-repeat,no-repeat,no-repeat,repeat;background-size:cover,cover,cover,240px 240px;background-position:center top,center top,center bottom,0 0}.landing-nav-wrap{position:sticky;top:0;z-index:30}.landing-nav{height:68px;display:flex;align-items:center;gap:24px;padding:0 clamp(20px,4vw,56px);background:#1f1f1f;border-bottom:1px solid rgba(255,255,255,.08)}.landing-nav a:not(.landing-nav-cta){color:#fff;text-decoration:none}.landing-nav>a{display:inline-flex;align-items:center;flex-shrink:0}.landing-nav img{display:block;height:30px;width:auto}.landing-nav-links{display:flex;flex:1 1 auto;align-items:center;justify-content:center;gap:32px;font-family:Playfair Display,Georgia,serif;font-size:.94rem;font-weight:500}.landing-nav-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.landing-nav-links>a{color:#fff;text-decoration:none;position:relative;padding:4px 0;background-image:linear-gradient(#fff9,#fff9);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:opacity .15s,background-size .2s ease}.landing-nav-links>a:hover{opacity:.85;background-size:100% 1px}.landing-nav-toggle,.landing-nav-mobile{display:none}.landing-nav-toggle{align-items:center;align-self:center;justify-content:center;gap:4px;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;flex-direction:column;box-shadow:0 10px 22px #00000029;transition:transform .36s cubic-bezier(.22,1,.36,1),background-color .22s ease,border-color .22s ease,box-shadow .22s ease}.landing-nav-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .22s ease}.landing-nav-toggle:hover{background:#ffffff29;border-color:#ffffff52;box-shadow:0 14px 28px #00000038}.landing-nav-toggle:active{transform:scale(.96)}.landing-nav-toggle[aria-expanded=true]{background:#ffffff29;border-color:#ffffff57;box-shadow:0 16px 30px #0000003d}.landing-nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.landing-nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(.6)}.landing-nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.landing-nav-mobile{position:absolute;top:100%;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);margin-top:8px;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:#101010b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 34px #00000038;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);transform-origin:top center;pointer-events:none;transition:opacity .26s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .42s;will-change:transform,opacity}.landing-nav-mobile-inner{overflow:hidden;padding:10px}.landing-nav-mobile a{display:block;color:#fff;text-decoration:none;padding:12px 14px;border-radius:16px;font-family:Playfair Display,Georgia,serif;font-size:1rem;font-weight:600;opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1),background-color .18s ease}.landing-nav-mobile a:hover{background:#ffffff14}.landing-nav-mobile-cta{margin-top:6px;background:#fff;color:#202020!important;text-align:center;box-shadow:0 12px 24px #0003}.landing-nav-actions .landing-nav-signin{font-size:.92rem;font-weight:500;color:#fff;text-decoration:none}.landing-nav-cta{display:inline-flex;align-items:center;height:40px;padding:0 20px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:.9rem;font-weight:600;text-decoration:none;transition:background .14s,transform .14s,box-shadow .14s}.landing-nav-cta:hover{background:var(--ink-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.landing-hero-copy{width:min(100%,860px);margin:clamp(24px,4.5vw,56px) auto 0;text-align:center;position:relative;z-index:5}.landing-hero-copy h1{margin:0;color:#fff;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.3rem,4.2vw + .95rem,4.8rem);font-weight:600;line-height:1;letter-spacing:-.02em;text-shadow:0 8px 24px rgba(0,0,0,.42)}.landing-hero-break{display:none}.landing-hero-break-word{margin-left:.25ch}.landing-hero-copy p{margin:22px auto 0;max-width:700px;color:#fffffff0;font-size:clamp(1rem,.35vw + .95rem,1.28rem);line-height:1.45;font-weight:600;font-family:Playfair Display,Georgia,serif}.landing-coffee{position:absolute;width:clamp(280px,32vw,500px);left:clamp(-176px,-10vw,-44px);top:clamp(300px,34vw,360px);z-index:4;filter:drop-shadow(0 26px 30px rgba(0,0,0,.45));pointer-events:none;opacity:0;animation:landingCoffeeReveal .9s ease-out .24s forwards}.landing-paper-wrap{position:relative;width:min(680px,100% - clamp(8px,2vw,24px));height:clamp(408px,50vw,628px);margin:clamp(24px,4vw,56px) auto 0;z-index:5;pointer-events:none;overflow:hidden;opacity:0;animation:landingPaperReveal .98s cubic-bezier(.22,1,.36,1) .12s forwards}.landing-paper{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;box-shadow:0 20px 45px #00000052,inset 0 0 0 1px #00000012}.landing-pen{position:absolute;right:clamp(-250px,-13vw,-120px);top:clamp(255px,27vw,360px);width:clamp(430px,35vw,600px);height:auto;z-index:4;transform:rotate(-16deg);transform-origin:center;filter:drop-shadow(0 24px 28px rgba(0,0,0,.34));pointer-events:none;opacity:0;animation:landingPenReveal .98s cubic-bezier(.22,1,.36,1) .22s forwards}.landing-paper-fade{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(180deg,#fff0,#ffffffd6 65%,#fff)}@keyframes landingPaperReveal{0%{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes landingCoffeeReveal{0%{opacity:0;transform:translateY(16px) translate(-14px) rotate(-4deg) scale(.95)}to{opacity:1;transform:translateY(0) translate(0) rotate(0) scale(1)}}@keyframes landingPenReveal{0%{opacity:0;transform:translate(18px) translateY(14px) rotate(-8deg) scale(.95)}to{opacity:1;transform:translate(0) translateY(0) rotate(-16deg) scale(1)}}@media(prefers-reduced-motion:reduce){.landing-nav-toggle,.landing-nav-toggle span,.landing-nav-mobile,.landing-nav-mobile a,.landing-editor-showcase,.landing-editor-panel,.landing-editor-switch-btn,.landing-coffee,.landing-pen,.landing-paper-wrap{animation:none;transition:none;opacity:1}.landing-focus-editor-toolbar,.landing-focus-sidebar,.landing-focus-format-bar{animation:none;transition:none}}.landing-editors{padding:clamp(56px,7vw,100px) var(--landing-gutter) clamp(28px,4vw,44px);background:linear-gradient(180deg,#fff,#fcfaf6 62%,#faf7f0)}.landing-editors-shell{max-width:var(--landing-max);margin:0 auto;display:grid;gap:clamp(28px,3.8vw,42px)}.landing-editors-copy{max-width:760px;margin:0 auto;text-align:center}.landing-editors-copy h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,1.5vw + 1.45rem,3.4rem);line-height:1.04;color:#1f1f1f;letter-spacing:-.03em;max-width:12ch;margin-inline:auto}.landing-editors-lead{margin:18px 0 0;max-width:34ch;color:#55504a;font-size:clamp(1rem,.3vw + .98rem,1.14rem);line-height:1.7}.landing-editor-showcase{--landing-editor-accent: #8fbff5;--landing-editor-glow: rgba(143, 191, 245, .24);position:relative;width:100%;padding:clamp(18px,2.2vw,28px);border-radius:32px;background:radial-gradient(circle at top left,var(--landing-editor-glow),transparent 38%),linear-gradient(160deg,#112141,#091221);border:1px solid rgba(11,20,39,.08);box-shadow:0 28px 60px #0a122438;overflow:hidden;transition:background .42s ease,box-shadow .42s ease}.landing-editor-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border-radius:999px;background:#050c1ab8;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0a}.landing-editor-switch-btn{border:0;border-radius:999px;background:transparent;color:#f4f1eab8;min-height:52px;padding:0 14px;font-family:Playfair Display,Georgia,serif;font-size:clamp(.98rem,.25vw + .95rem,1.08rem);font-weight:600;cursor:pointer;transition:background-color .26s ease,color .22s ease,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .26s ease}.landing-editor-switch-btn:hover{color:#fff}.landing-editor-switch-btn:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px;color:#fff}.landing-editor-switch-btn.is-active{background:#ffffff1a;color:#fff;box-shadow:inset 0 0 0 1px #ffffff08,0 10px 18px #00000029}.landing-editor-panel{margin-top:clamp(20px,3vw,28px);display:grid;grid-template-columns:minmax(260px,.72fr) minmax(320px,1.08fr);gap:clamp(18px,2.4vw,28px);align-items:stretch;animation:landingEditorPanelEnter .52s cubic-bezier(.22,1,.36,1)}.landing-editor-panel-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;color:#f4f1ea}.landing-editor-kicker{display:inline-flex;align-items:center;width:fit-content;padding:6px 12px;border-radius:999px;background:#ffffff14;color:#f4f1eab8;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.landing-editor-panel-copy h4{margin:16px 0 0;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.6rem,1vw + 1.2rem,2.3rem);line-height:1.08;color:#fff}.landing-editor-panel-copy p{margin:14px 0 0;color:#f4f1eacc;line-height:1.72}.landing-editor-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.landing-editor-tag{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#ffffff14;color:#ffffffd6;font-size:.92rem}.landing-editor-preview{display:flex}.landing-editor-preview-sheet{position:relative;width:100%;min-height:320px;padding:22px;border-radius:28px;background:linear-gradient(180deg,#fffcf7,#f6f1e7);border:1px solid rgba(18,18,18,.08);box-shadow:0 24px 48px #00000047,inset 0 1px #ffffffb3;overflow:hidden}.landing-editor-preview-sheet:before{content:"";position:absolute;top:0;left:22px;right:22px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--landing-editor-accent),rgba(255,255,255,0))}.landing-editor-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7b7469;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.landing-editor-preview-dots{display:inline-flex;align-items:center;gap:6px}.landing-editor-preview-dots i{display:block;width:8px;height:8px;border-radius:999px;background:#6e675b59}.landing-editor-preview-poetry,.landing-editor-preview-book,.landing-editor-preview-script{margin-top:28px}.landing-editor-preview-poetry{display:grid;gap:12px;color:#23211d;font-family:Playfair Display,Georgia,serif;font-size:1.16rem;line-height:1.5}.landing-editor-preview-line{margin:0}.landing-editor-preview-line.is-offset{margin-left:12%}.landing-editor-preview-book{display:grid;gap:16px;color:#2e2b26}.landing-editor-preview-book p{margin:0;line-height:1.78}.landing-editor-preview-script{display:grid;gap:18px;color:#24211d;font-family:Courier New,Courier,monospace}.landing-editor-script-block{display:grid;gap:6px;justify-items:center}.landing-editor-script-speaker{color:#70695f;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase}.landing-editor-script-line{margin:0;max-width:20ch;line-height:1.68}@keyframes landingEditorPanelEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.landing-portfolios{padding:clamp(48px,6vw,88px) var(--landing-gutter);background:linear-gradient(180deg,#faf7f0,#f5f2ec 38%,#f3f0e8 62%,#f2e7d8)}.landing-portfolios-shell{max-width:var(--landing-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);gap:clamp(28px,4vw,64px);align-items:center}.landing-portfolios-copy{max-width:30rem}.landing-portfolios-copy h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,1.55vw + 1.4rem,3.3rem);line-height:1.05;letter-spacing:-.03em;color:#1f1c18;max-width:11ch}.landing-portfolios-copy p{margin:0;color:#5d554d;font-size:clamp(1rem,.28vw + .98rem,1.16rem);line-height:1.72}.landing-portfolios-copy p:first-of-type{margin-top:18px}.landing-portfolios-copy p+p{margin-top:10px}.landing-portfolios-intro{margin-top:22px!important;color:#433a32;font-weight:600}.landing-portfolios-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.landing-portfolios-list li{position:relative;padding-left:20px;color:#5d554d;font-size:clamp(.98rem,.22vw + .96rem,1.08rem);line-height:1.68}.landing-portfolios-list li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:999px;background:#b47a45;transform:translateY(-50%)}.landing-portfolios-outro{margin-top:22px!important;color:#433a32}.landing-portfolios-media{display:flex;justify-content:flex-end}.landing-portfolios-frame{position:relative;width:min(100%,640px);min-height:clamp(360px,44vw,560px);border-radius:36px;padding:clamp(22px,2.5vw,30px);background:linear-gradient(145deg,#ffffffbd,#fff7eeeb),#fbf3e8;border:1px solid rgba(146,112,75,.16);box-shadow:0 32px 60px #674a2b1f,inset 0 1px #ffffffd1;overflow:hidden}.landing-portfolios-frame:before{content:"";position:absolute;inset:auto auto 10% 6%;width:44%;height:42%;border-radius:50%;background:radial-gradient(circle,rgba(181,128,63,.26),transparent 72%);filter:blur(8px)}.landing-portfolios-frame:after{content:"";position:absolute;inset:12% 6% auto auto;width:28%;height:28%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.64),transparent 72%)}.landing-portfolios-image{position:absolute;display:block;object-fit:cover;border-radius:28px;box-shadow:0 22px 40px #523a222e,inset 0 0 0 1px #ffffff2e}.landing-portfolios-image-main{right:clamp(22px,2.8vw,34px);bottom:clamp(20px,2.8vw,34px);width:min(74%,470px);aspect-ratio:1.2/1;z-index:2}.landing-portfolios-image-accent{left:clamp(18px,2.2vw,28px);top:clamp(28px,4vw,54px);width:min(40%,240px);aspect-ratio:1/1.06;transform:rotate(-8deg);z-index:1}.landing-portfolios-chip{position:absolute;z-index:3;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#fffaf4d6;border:1px solid rgba(141,107,70,.14);box-shadow:0 14px 24px #5c43281a;color:#5c4a3b;font-size:.92rem;font-weight:600;letter-spacing:.01em}.landing-portfolios-chip-top{top:22px;right:22px}.landing-portfolios-chip-bottom{left:clamp(30px,8vw,84px);bottom:clamp(24px,5vw,46px)}.landing-focus{padding:clamp(48px,6vw,88px) var(--landing-gutter);background:radial-gradient(circle at 18% 50%,rgba(130,165,205,.26),transparent 28%),linear-gradient(180deg,#f2e7d8,#e6edf4 22%,#d8e8f4 48%,#e2ecf5 72%,#e6e3db)}.landing-focus-shell{max-width:var(--landing-max);margin:0 auto;display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,.88fr);gap:clamp(28px,4vw,64px);align-items:center}.landing-focus-media{display:flex;justify-content:flex-start}.landing-focus-stage{position:relative;width:min(100%,620px);min-height:clamp(360px,42vw,520px);border-radius:36px;padding:clamp(18px,2.6vw,30px);background:linear-gradient(180deg,#ffffffe0,#edf3f9f5),#edf3f9;border:1px solid rgba(114,133,158,.16);box-shadow:0 30px 60px #3e5b8124,inset 0 1px #ffffffd1;overflow:hidden}.landing-focus-glow{position:absolute;border-radius:50%;filter:blur(8px)}.landing-focus-glow-back{top:0;right:2%;width:44%;height:44%;background:radial-gradient(circle,rgba(151,187,228,.22),transparent 70%)}.landing-focus-glow-front{left:-4%;bottom:-6%;width:38%;height:38%;background:radial-gradient(circle,rgba(255,255,255,.72),transparent 72%)}.landing-focus-editor-shell{position:relative;z-index:1;display:grid;gap:16px;height:100%}.landing-focus-editor-toolbar{--landing-focus-chrome-visible: .42;--landing-focus-chrome-dim: .1;display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 14px;border-radius:18px;background:#f6f9fcd1;border:1px solid rgba(137,157,182,.14);opacity:var(--landing-focus-chrome-visible);animation:landingFocusChromePulse 7.2s ease-in-out infinite;will-change:opacity,filter,transform}.landing-focus-toolbar-chip{display:block;width:34px;height:10px;border-radius:999px;background:#4d607a33}.landing-focus-toolbar-chip.wide{width:74px}.landing-focus-toolbar-spacer{flex:1 1 auto}.landing-focus-editor-body{display:grid;grid-template-columns:minmax(180px,212px) minmax(0,1fr);gap:18px;flex:1 1 auto;min-height:0}.landing-focus-sidebar{--landing-focus-chrome-visible: .54;--landing-focus-chrome-dim: .14;display:grid;align-content:start;gap:12px;opacity:var(--landing-focus-chrome-visible);animation:landingFocusChromePulse 7.2s ease-in-out infinite;animation-delay:.18s;will-change:opacity,filter,transform}.landing-focus-sidebar-label{color:#6d7d8f;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.landing-focus-panel{background:#fcfdffe0;border:1px solid rgba(129,151,177,.18);border-radius:16px;padding:16px;display:grid;gap:12px;box-shadow:0 18px 34px #070d2d1a}.landing-focus-panel-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.landing-focus-panel-title{color:#36414f;font-size:.94rem;font-weight:700}.landing-focus-cycle{color:#7f8b98;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.landing-focus-panel-timer{display:grid;gap:4px}.landing-focus-panel-time-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.landing-focus-timer{color:#253141;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;font-weight:600}.landing-focus-mute{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:10px;border:1px solid rgba(130,151,177,.22);background:transparent;color:#5f6d7d;box-shadow:0 8px 16px #0f172a0f}.landing-focus-mute svg{width:14px;height:14px}.landing-focus-mute svg path:first-child{fill:currentColor}.landing-focus-mute svg path:not(:first-child){fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.landing-focus-status{color:#7f8b98;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.landing-focus-panel-actions{display:flex;align-items:center;gap:8px}.landing-focus-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:.82rem;font-weight:700}.landing-focus-action.primary{background:#1d2734;color:#f6f9fc}.landing-focus-action.ghost{border:1px solid rgba(130,151,177,.22);color:#3f4b59}.landing-focus-editor-page-wrap{display:grid;gap:10px;align-content:start}.landing-focus-format-bar{--landing-focus-chrome-visible: .88;--landing-focus-chrome-dim: .22;display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:8px 10px;border-radius:14px;background:#fafcffe6;border:1px solid rgba(129,151,177,.14);box-shadow:0 12px 24px #2a3f5d14;opacity:var(--landing-focus-chrome-visible);animation:landingFocusChromePulse 7.2s ease-in-out infinite;animation-delay:90ms;will-change:opacity,filter,transform}.landing-focus-format-pill{display:block;width:20px;height:20px;border-radius:8px;background:#57687e24}.landing-focus-format-pill.short{width:38px}.landing-focus-manuscript{display:grid;align-content:start;gap:14px;min-height:clamp(260px,30vw,360px);padding:clamp(22px,2.4vw,28px);border-radius:30px;background:linear-gradient(180deg,#fffdf9,#f7f3eb);box-shadow:0 26px 48px #2a3f5d1f,inset 0 1px #ffffffc2;border:1px solid rgba(112,95,74,.08)}.landing-focus-manuscript-kicker{color:#7c756d;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.landing-focus-manuscript-title{display:block;width:42%;height:14px;border-radius:999px;background:#35302b29}.landing-focus-manuscript-line{display:block;height:10px;border-radius:999px;background:#413b351f}.landing-focus-manuscript-line.line-lg{width:100%}.landing-focus-manuscript-line.line-md{width:82%}.landing-focus-manuscript-line.line-sm{width:62%}.landing-focus-copy{max-width:32rem}@keyframes landingFocusChromePulse{0%,14%,to{opacity:var(--landing-focus-chrome-visible);filter:saturate(1) blur(0);transform:translateY(0)}34%,58%{opacity:var(--landing-focus-chrome-dim);filter:saturate(.62) blur(.2px);transform:translateY(2px)}76%{opacity:calc((var(--landing-focus-chrome-visible) + var(--landing-focus-chrome-dim)) / 2);filter:saturate(.82) blur(0);transform:translateY(1px)}}.landing-focus-copy h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,1.55vw + 1.4rem,3.2rem);line-height:1.05;letter-spacing:-.03em;color:#1e2329;max-width:10ch}.landing-focus-copy p{margin:0;color:#59616c;font-size:clamp(1rem,.24vw + .98rem,1.12rem);line-height:1.72}.landing-focus-copy>p:first-of-type{margin-top:18px}.landing-focus-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}.landing-focus-list li{position:relative;padding-left:20px;color:#3d4650;font-size:clamp(.98rem,.2vw + .96rem,1.06rem);line-height:1.68}.landing-focus-list li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:8px;border-radius:999px;background:#7397c5;transform:translateY(-50%)}.landing-focus-outro{margin-top:22px!important;color:#434c57!important}.landing-tools{padding:clamp(52px,6vw,92px) var(--landing-gutter) clamp(48px,6vw,84px);background:radial-gradient(circle at 20% 50%,rgba(212,175,127,.2),transparent 28%),radial-gradient(circle at 80% 50%,rgba(178,140,90,.14),transparent 24%),linear-gradient(180deg,#e6e3db,#ede6d4 26%,#f2e9d2,#ede5d2 74%,#ede5db)}.landing-tools-shell{max-width:var(--landing-max);margin:0 auto;display:grid;gap:clamp(28px,4vw,42px)}.landing-tools-copy{max-width:46rem;margin:0 auto;text-align:center}.landing-tools-copy h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,1.55vw + 1.4rem,3.2rem);line-height:1.05;letter-spacing:-.03em;color:#201d19;max-width:12ch;margin-inline:auto}.landing-tools-copy p{margin:0;color:#5f564c;font-size:clamp(1rem,.24vw + .98rem,1.12rem);line-height:1.72}.landing-tools-copy p:first-of-type{margin-top:18px;color:#403830;font-weight:600}.landing-tools-copy p+p{margin-top:10px}.landing-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.3vw,26px)}.landing-tool-card{--landing-tool-accent: #7f9dd0;position:relative;min-height:260px;padding:clamp(24px,2.4vw,30px);border-radius:30px;background:linear-gradient(180deg,#ffffffeb,#fff9f1f0),#fffaf4;border:1px solid rgba(128,112,94,.12);box-shadow:0 26px 46px #624a2c1a,inset 0 1px #ffffffd6;display:grid;align-content:start;justify-items:center;gap:16px;text-align:center;overflow:hidden}.landing-tool-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,var(--landing-tool-accent),transparent)}.landing-tool-card:after{content:"";position:absolute;inset:auto auto -18% -10%;width:58%;height:42%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--landing-tool-accent) 24%,white),transparent 70%);opacity:.7;pointer-events:none}.landing-tool-index{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:34px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,var(--landing-tool-accent) 12%,white);color:color-mix(in srgb,var(--landing-tool-accent) 72%,#3a3128);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.landing-tool-card h3{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.4rem,.9vw + 1.06rem,1.95rem);line-height:1.12;color:#221f1a}.landing-tool-card p{margin:0;max-width:26ch;color:#5b5248;font-size:clamp(.98rem,.18vw + .96rem,1.04rem);line-height:1.72}.landing-footer{background:#1f1f1f;padding:clamp(48px,5vw,72px) clamp(20px,5vw,56px) 28px}.landing-footer-inner{max-width:var(--landing-max);margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}.landing-footer-brand-logo{display:block;text-decoration:none;margin-bottom:14px}.landing-footer-brand-logo img{height:28px;display:block}.landing-footer-tag{font-size:.95rem;font-style:italic;color:#ffffff8c;line-height:1.5;max-width:28ch;margin:0}.landing-footer-col h4{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffff59;margin-bottom:16px}.landing-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.landing-footer-col a{font-size:.92rem;color:#ffffff8c;text-decoration:none;transition:color .14s}.landing-footer-col a:hover{color:#ffffffe6}.landing-footer-bottom{max-width:var(--landing-max);margin:0 auto;padding-top:24px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:#ffffff59}.landing-footer-mark{font-style:italic}@media(max-width:900px){.landing-footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:1200px){.landing-shell{--landing-max: 1040px}}@media(max-width:960px){.landing-hero{min-height:clamp(590px,88vw,760px)}.landing-nav-links{gap:25px;font-size:1rem}.landing-paper-wrap{width:min(75%,100% - 8px);height:clamp(388px,63vw,538px)}.landing-pen{right:clamp(-180px,-17vw,-64px);top:clamp(320px,42vw,430px);width:clamp(320px,38vw,430px)}.landing-coffee{width:clamp(220px,35vw,360px);left:clamp(-140px,-13vw,-28px);top:clamp(325px,47vw,405px)}.landing-editor-panel{grid-template-columns:1fr}.landing-editor-panel-copy{align-items:center;text-align:center}.landing-editor-panel-copy h4,.landing-editor-panel-copy p{margin-inline:auto}.landing-editor-tags{justify-content:center}.landing-portfolios-shell{grid-template-columns:1fr}.landing-portfolios-copy{margin:0 auto;text-align:center}.landing-portfolios-copy h2,.landing-portfolios-copy p{margin-inline:auto}.landing-portfolios-list{justify-items:center}.landing-portfolios-list li{max-width:28ch;padding-left:0;text-align:center}.landing-portfolios-list li:before{position:static;display:block;margin:0 auto 10px;transform:none}.landing-portfolios-media{justify-content:center}.landing-focus-shell{grid-template-columns:1fr}.landing-focus-copy{order:1;margin:0 auto;text-align:center}.landing-focus-copy h2,.landing-focus-copy p{margin-inline:auto}.landing-focus-list{justify-items:center}.landing-focus-list li{max-width:28ch;padding-left:0;text-align:center}.landing-focus-list li:before{position:static;display:block;margin:0 auto 10px;transform:none}.landing-focus-media{order:2;justify-content:center}.landing-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.landing-hero{padding:20px 16px 0;min-height:620px}.landing-nav{align-items:center;padding:10px 14px}.landing-nav-links,.landing-nav-actions{display:none}.landing-nav-toggle{display:inline-flex;margin-left:auto}.landing-nav-mobile{display:block}.landing-nav-mobile.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity .26s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}.landing-nav-mobile.is-open a{opacity:1;transform:translateY(0)}.landing-nav-mobile.is-open a:nth-child(1){transition-delay:70ms}.landing-nav-mobile.is-open a:nth-child(2){transition-delay:.12s}.landing-nav-mobile.is-open a:nth-child(3){transition-delay:.17s}.landing-nav-mobile.is-open a:nth-child(4){transition-delay:.22s}.landing-nav-mobile.is-open a:nth-child(5){transition-delay:.27s}.landing-hero-copy{margin-top:0;padding-top:clamp(16px,3vw,28px)}.landing-nav-mobile.is-open+.landing-hero-copy{margin-top:clamp(24px,4.5vw,56px)}.landing-hero-copy h1{font-size:clamp(2rem,7.8vw,3rem);line-height:1.05}.landing-hero-break{display:block}.landing-hero-break-word{margin-left:0}.landing-hero-copy p{font-size:.98rem}.landing-paper-wrap{width:min(520px,75% - 6px);height:clamp(360px,76vw,488px);margin-top:24px}.landing-pen{right:clamp(-132px,-21vw,-36px);top:clamp(365px,51vw,500px);width:clamp(255px,45vw,340px)}.landing-coffee{width:clamp(185px,46vw,300px);left:clamp(-110px,-18vw,-8px);top:clamp(360px,72vw,360px)}.landing-editors{padding-top:48px}.landing-editors-lead br{display:none}.landing-editor-showcase{padding:18px;border-radius:28px}.landing-editor-switch-btn{min-height:46px;font-size:.96rem}.landing-editor-preview-sheet{min-height:280px;padding:18px;border-radius:24px}.landing-editor-preview-sheet:before{left:18px;right:18px}.landing-editor-panel-copy h4{max-width:18ch}.landing-portfolios{padding-top:40px}.landing-portfolios-copy{max-width:none}.landing-portfolios-copy h2{max-width:12ch}.landing-portfolios-frame{min-height:340px;border-radius:30px;padding:18px}.landing-portfolios-image-main{width:min(76%,420px)}.landing-portfolios-image-accent{width:min(44%,210px)}.landing-focus{padding-top:40px}.landing-focus-copy{max-width:none}.landing-focus-stage{min-height:320px;border-radius:30px;padding:18px}.landing-focus-editor-body{grid-template-columns:1fr}.landing-focus-sidebar{opacity:.74}.landing-focus-editor-toolbar{min-height:48px;padding:10px 12px}.landing-focus-manuscript{min-height:240px;border-radius:24px;padding:20px}.landing-tools{padding-top:40px}.landing-tools-copy{max-width:none}.landing-tools-grid{grid-template-columns:1fr}.landing-tool-card{min-height:auto}}@media(max-width:540px){.landing-hero{min-height:580px}.landing-nav{gap:10px}.landing-nav-toggle{width:44px;height:44px;border-radius:14px}.landing-hero-copy p{max-width:34ch}.landing-editor-switch{gap:6px;padding:5px}.landing-editor-switch-btn{min-height:44px;padding:0 10px}.landing-editor-tags{gap:8px}.landing-editor-tag{min-height:34px;font-size:.88rem}.landing-editor-preview-poetry{font-size:1.04rem}.landing-portfolios-frame{min-height:300px;border-radius:24px}.landing-portfolios-chip{min-height:34px;padding:0 12px;font-size:.84rem}.landing-portfolios-chip-top{top:16px;right:16px}.landing-portfolios-chip-bottom{left:18px;bottom:18px}.landing-focus-stage{min-height:280px;border-radius:24px;padding:16px}.landing-focus-timer,.landing-focus-action,.landing-focus-cycle,.landing-focus-status{font-size:.78rem}.landing-focus-panel{padding:12px}.landing-focus-panel-actions{flex-wrap:wrap}.landing-focus-editor-toolbar{min-height:44px;padding:8px 10px}.landing-focus-toolbar-chip.wide{width:56px}.landing-focus-timer{font-size:.84rem}.landing-focus-mute{width:34px;height:34px}.landing-focus-mute svg{width:15px;height:15px}.landing-focus-manuscript{min-height:210px;padding:16px}.landing-tool-card{padding:22px 18px;border-radius:24px}.landing-tool-card h3{font-size:1.4rem}.landing-coffee{width:clamp(180px,48vw,250px);left:-72px}}html:has(.auth-page),body:has(.auth-page){overscroll-behavior:none}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:linear-gradient(155deg,var(--paper-top) 0%,var(--paper-bottom) 100%);position:relative;overflow:hidden;color:var(--text-primary)}.auth-page:before{content:"";position:absolute;inset:0;background:url(/assets/auth-background-Cj0GhsLV.jpg) center/cover no-repeat;opacity:.35;pointer-events:none}.auth-page:after{content:"";position:absolute;inset:0;background:#f6f4f16b;pointer-events:none}[data-theme=dark] .auth-page:after{background:#181412c7}.auth-card{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:0 24px 48px #0f172a1f;display:flex;flex-direction:column;gap:20px;text-align:left;position:relative;z-index:1}.auth-logo{display:inline-flex;width:fit-content}.auth-logo img{height:36px;width:auto}.auth-header h1{margin:0 0 6px;font-size:1.6rem;color:var(--label-primary)}.auth-header p{margin:0;color:var(--text-secondary)}.auth-form{display:grid;gap:10px}.auth-name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-name-row>div{display:grid;gap:6px}@media(max-width:520px){.auth-name-row{grid-template-columns:1fr}.auth-page{padding:0;align-items:stretch}.auth-card{width:100%;min-height:100vh;border-radius:0;border:none;box-shadow:none;padding:40px 24px;background:var(--paper-top)}}.auth-form label{font-size:.85rem;color:var(--text-secondary)}.auth-form input{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:.95rem}.auth-form input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #2f3e4633}.auth-strength{display:flex;align-items:center;gap:10px;margin-top:2px}.auth-strength-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;flex:1}.auth-strength-bar span{height:6px;border-radius:999px;background:var(--border)}.auth-strength-bar[data-score="1"] span:nth-child(-n+1){background:#b42318}.auth-strength-bar[data-score="2"] span:nth-child(-n+2){background:#d97706}.auth-strength-bar[data-score="3"] span:nth-child(-n+3){background:#f59e0b}.auth-strength-bar[data-score="4"] span:nth-child(-n+4){background:#16a34a}.auth-strength-bar[data-score="5"] span:nth-child(-n+5){background:#15803d}.auth-strength-label{font-size:.8rem;color:var(--text-secondary);min-width:68px;text-align:right}.auth-requirements{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px;font-size:.8rem;color:var(--text-muted)}.auth-requirements li{display:grid;grid-template-columns:16px 1fr;gap:8px;align-items:center}.auth-requirements-icon{font-size:.75rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.auth-requirements li.is-met{color:var(--text-secondary)}.auth-requirements li.is-met .auth-requirements-icon{border-color:#16a34a99;color:#16a34a}.auth-error{margin:4px 0 0;font-size:.8rem;color:#b42318}.auth-primary{margin-top:8px;padding:12px 16px;border-radius:999px;border:none;background:var(--ink);color:var(--label-inverse);font-weight:600;cursor:pointer}.auth-footer{display:flex;gap:6px;font-size:.9rem;color:var(--text-secondary)}.auth-footer a{color:var(--ink);text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.works-page{min-height:100vh;padding:24px 24px 48px;background:transparent;color:var(--text-primary)}.works-container{width:min(1240px,100%);margin:0 auto;display:flex;flex-direction:column;gap:28px}.works-filter-rail{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:0 8px 22px #0f172a0d}.works-search-field{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--paper-top) 60%,var(--surface));border:1px solid var(--border);border-radius:999px;padding:6px 14px;flex:1 1 220px;min-width:180px}.works-search-field input{border:none;background:transparent;outline:none;font-family:inherit;font-size:.92rem;color:var(--label-primary);flex:1;min-width:0}.works-search-field input::placeholder{color:var(--text-muted)}.works-search-icon{color:var(--text-muted);flex-shrink:0}.works-chip-divider{width:1px;height:22px;background:var(--border);flex-shrink:0}.works-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:999px;padding:6px 12px;font-size:.82rem;font-family:inherit;font-weight:500;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease;white-space:nowrap}.works-filter-chip:hover{color:var(--label-primary);background:color-mix(in srgb,var(--ink) 6%,transparent)}.works-filter-chip.is-active{background:var(--ink);color:var(--label-inverse);border-color:transparent}.works-filter-chip-group{display:contents}.works-filter-select-wrap{display:none;position:relative;align-items:center}.works-filter-select-wrap:after{content:"";position:absolute;right:12px;width:12px;height:8px;pointer-events:none;background:no-repeat center/contain;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23878a94' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M2 2.5L6 6L10 2.5'/></svg>")}.works-filter-select{border:1px solid var(--border);background:var(--surface);color:var(--label-primary);font-family:inherit;font-size:.85rem;font-weight:500;border-radius:999px;padding:6px 32px 6px 14px;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none}.works-filter-select:focus{border-color:var(--ink)}.works-group{display:flex;flex-direction:column;gap:14px}.works-group-head{display:flex;align-items:center;gap:12px;padding:0 2px;--group-accent: var(--border)}.works-group-head--draft{--group-accent: #c9a96e}.works-group-head--published{--group-accent: #6b8a7a}.works-group-head--archived{--group-accent: #b0a89e}.works-group-dot{width:9px;height:9px;border-radius:50%;background:var(--group-accent);flex-shrink:0}.works-group-head h2{margin:0;font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:1.4rem;color:var(--label-primary);white-space:nowrap;align-self:baseline}.works-group-head h2 em{font-style:italic;color:var(--text-muted);font-weight:400}.works-group-rule{flex:1;height:1px;background:var(--group-accent);opacity:.45;align-self:center}.works-group-count{font-size:.76rem;color:var(--text-muted);letter-spacing:.04em;white-space:nowrap;align-self:baseline}.works-spine-list{display:flex;flex-direction:column;gap:10px}.spine-row{display:grid;grid-template-columns:64px 1fr;background:var(--surface);border-radius:12px;box-shadow:0 6px 16px #0f172a0f;border:1px solid var(--border);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease;cursor:pointer}.spine-row:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1a}.spine{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 4px;overflow:hidden}.spine:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 2px,transparent 2px 4px);pointer-events:none}.spine--draft{background:linear-gradient(160deg,#c9a96e,#77561e);color:#2a1f10;box-shadow:inset 4px 0 #00000024,inset 5px 0 #ffffff1a}.spine--published{background:linear-gradient(160deg,#47d48b,#28563e);color:#f4f1ea;box-shadow:inset 4px 0 #00000024,inset 5px 0 #ffffff1a}.spine--archived{background:linear-gradient(160deg,#b0a89e,#616161);color:#2a2620;box-shadow:inset 4px 0 #00000024,inset 5px 0 #ffffff1a}.spine--new{background:var(--ink);color:var(--label-inverse);box-shadow:inset 4px 0 #0003,inset 5px 0 #ffffff14}.spine-type-glyph{font-family:Playfair Display,Georgia,serif;font-size:1.3rem;opacity:.7;line-height:1}.spine-type-foot{font-size:.52rem;letter-spacing:.16em;opacity:.75;text-transform:uppercase;font-weight:600}.spine-info{padding:16px 20px 14px;display:flex;flex-direction:column;gap:10px;min-width:0}.spine-info-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:flex-start}.spine-text{min-width:0;min-height:calc(4.149rem + 5px)}.spine-h{margin:0 0 5px;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;font-weight:500;letter-spacing:-.01em;line-height:1.18;color:var(--label-primary)}.spine-h em{font-style:italic;color:var(--text-secondary);font-weight:400;font-size:1rem}.spine-summary{margin:0;font-family:Playfair Display,Georgia,serif;font-size:.9rem;line-height:1.42;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spine-summary--placeholder{color:var(--text-muted);font-style:italic}.spine-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .16s ease}.spine-row:hover .spine-actions,.spine-actions-new{opacity:1}.spine-action-btn{width:27px;height:27px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;cursor:pointer;transition:all .12s ease;text-decoration:none;flex-shrink:0}.spine-action-btn>*{display:block;line-height:0}.spine-action-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--label-primary);border-color:var(--border)}.spine-action-btn:disabled{opacity:.45;cursor:not-allowed}.spine-action-primary{background:var(--ink);color:var(--label-inverse)}.spine-action-primary:hover{background:var(--ink-hover);color:var(--label-inverse);border-color:transparent}.spine-action-danger:hover{color:#b91c1c;background:color-mix(in srgb,#b91c1c 8%,transparent);border-color:transparent}.spine-info-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.spine-spacer{flex:1}.spine-updated{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.spine-row-new{display:flex;align-items:stretch;background:color-mix(in srgb,var(--ink) 3%,transparent);box-shadow:none;border:1.5px dashed var(--border);cursor:pointer;text-align:left;width:100%;padding:0;font:inherit;color:inherit}.spine-row-new>.spine{flex:0 0 64px}.spine-row-new>.spine-info{flex:1;min-width:0}.spine-row-new:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1a}.works-status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.works-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.works-status-pill--draft{background:#f3e9d2;color:#6b4f1d}.works-status-pill--draft .works-status-dot{background:#b8893f}.works-status-pill--published{background:#dfeae3;color:#2f4d3e}.works-status-pill--published .works-status-dot{background:#4d6b5d}.works-status-pill--archived{background:#ece8e1;color:#5a544b}.works-status-pill--archived .works-status-dot{background:#8a8278}[data-theme=dark] .spine-row{background:#2f2c2b}[data-theme=dark] .works-status-pill--draft{background:color-mix(in srgb,#b8893f 18%,var(--surface));color:#e6c98a}[data-theme=dark] .works-status-pill--published{background:color-mix(in srgb,#4d6b5d 18%,var(--surface));color:#8ebfaa}[data-theme=dark] .works-status-pill--archived{background:color-mix(in srgb,#8a8278 18%,var(--surface));color:#b0a89e}.works-genre-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:.76rem;color:var(--text-secondary);background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--border);white-space:nowrap}.works-spine-skeleton{display:grid;grid-template-columns:64px 1fr;border-radius:12px;overflow:hidden;border:1px solid var(--border);height:88px}.works-spine-skeleton-spine{background:linear-gradient(110deg,color-mix(in srgb,var(--border) 70%,var(--surface)) 8%,color-mix(in srgb,var(--border) 40%,var(--surface)) 18%,color-mix(in srgb,var(--border) 70%,var(--surface)) 33%);background-size:200% 100%;animation:works-skeleton-shimmer 1.25s linear infinite}.works-spine-skeleton-body{background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 20px}.works-skeleton-line,.works-skeleton-pill{display:block;border-radius:999px;background:linear-gradient(110deg,color-mix(in srgb,var(--surface) 90%,var(--border)) 8%,color-mix(in srgb,var(--surface) 76%,var(--border)) 18%,color-mix(in srgb,var(--surface) 90%,var(--border)) 33%);background-size:200% 100%;animation:works-skeleton-shimmer 1.25s linear infinite}.works-skeleton-line.title{width:60%;height:14px}.works-skeleton-line.updated{width:40%;height:11px}.works-empty-state{text-align:center;padding:48px 24px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:16px;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:1rem}.works-empty-state p{margin:0}.icon-spinner{width:14px;height:14px;border-radius:999px;border:2px solid var(--border);border-top-color:var(--ink);display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes works-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.works-modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:200}.works-modal{width:min(520px,100%);background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:22px 24px;box-shadow:0 24px 48px #0f172a40;display:flex;flex-direction:column;gap:16px}.works-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.works-modal-header h2{margin:0;font-size:1.2rem;color:var(--label-primary)}.works-modal-close{border:none;background:transparent;color:var(--label-primary);font-size:1.4rem;cursor:pointer}.works-modal-subtitle{margin:0;color:var(--text-secondary)}.works-modal-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px}.works-option{border:1px solid var(--border);background:transparent;border-radius:14px;padding:16px;font-weight:600;color:var(--label-primary);cursor:pointer;text-align:center;transition:border .15s ease,background .15s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.works-option-icon{display:inline-flex;align-items:center;justify-content:center}.works-option.active{background:color-mix(in srgb,var(--ink) 12%,transparent);border-color:var(--ink)}.works-modal-actions{display:flex;justify-content:flex-end;gap:10px}.works-delete-modal{width:min(540px,100%)}.works-delete-confirmation-field{display:grid;gap:8px;color:var(--text-secondary);font-size:.9rem}.works-delete-confirmation-field input{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem;outline:none;background:var(--surface);color:var(--label-primary)}.works-delete-confirmation-field input:focus-visible{border-color:color-mix(in srgb,var(--ink) 58%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 18%,transparent)}.works-script-format-section{display:grid;gap:10px}.works-script-format-title{margin:0;font-size:.84rem;color:var(--text-secondary);font-weight:600}.works-script-format-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.works-script-format-option{border:1px solid var(--border);border-radius:14px;background:transparent;color:var(--label-primary);font-weight:600;font-size:.9rem;min-height:88px;padding:12px 10px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.works-script-format-option-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.works-script-format-option-icon{display:inline-flex;align-items:center;justify-content:center}.works-script-format-option:hover{transform:translateY(-1px);box-shadow:0 8px 14px #0f172a14}.works-script-format-option.is-active{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 14%,transparent)}.works-btn{border-radius:999px;padding:8px 16px;border:1px solid var(--border);background:transparent;color:var(--label-primary);font-weight:600;cursor:pointer}.works-btn.primary{background:var(--ink);color:var(--label-inverse);border-color:transparent}.works-btn.danger{background:#b91c1c;color:#fff;border-color:transparent}.works-btn:disabled{opacity:.55;cursor:not-allowed}.works-btn.ghost:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.works-toast{position:fixed;right:32px;bottom:32px;display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--label-primary);box-shadow:0 18px 32px #0f172a2e;z-index:100;pointer-events:none;animation:works-toast-enter .18s ease forwards,works-toast-exit .22s ease 3s forwards}.works-toast.success{border-color:#88e788;background:#88e788;color:#173017}@keyframes works-toast-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes works-toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media(max-width:960px){.works-filter-chip-group{display:none}.works-filter-select-wrap{display:inline-flex}}@media(max-width:860px){.works-filter-rail{gap:6px}.spine-info-top{grid-template-columns:1fr}.spine-actions{opacity:1}.spine-summary{-webkit-line-clamp:1}.spine-text{min-height:calc(2.871rem + 5px)}}@media(max-width:740px){.works-page{padding:24px 16px 36px}}@media(max-width:640px){.works-container{gap:20px}.works-filter-rail{padding:8px 10px}.works-search-field{flex:1 1 100%}.spine-row{grid-template-columns:48px 1fr}.spine-row-new>.spine{flex-basis:48px}.spine-info{padding:12px 14px 10px}.spine-h{font-size:1.1rem}.spine-summary{display:none}.spine-text{min-height:unset}.works-group-head h2{font-size:1.15rem}.works-script-format-options{grid-template-columns:1fr}}.users-shell{min-height:100vh;padding:24px 24px 48px;background:transparent}.users-app{width:min(1240px,100%);margin:0 auto;display:flex;flex-direction:column;gap:24px}.users-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.users-layout>*{min-width:0}.users-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 30px #0f172a14}.users-sidebar h3{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;color:var(--label-primary)}.users-sidebar-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:default;pointer-events:none;margin-bottom:6px}.users-sidebar-caret{display:none!important;color:var(--text-secondary);transition:transform .2s ease}.users-sidebar-caret.open{transform:rotate(180deg)}.users-sidebar-items{display:contents}.users-sidebar-item{border:1px solid transparent;background:transparent;color:var(--label-primary);border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;font-weight:600}.users-sidebar-item.active{background:var(--ink);color:var(--on-ink)}.users-sidebar-item:disabled{opacity:.5;cursor:not-allowed}.users-sidebar-item:not(:disabled):hover{background:color-mix(in srgb,var(--ink) 15%,transparent);color:var(--label-primary)}.users-sidebar-item.active:hover{background:color-mix(in srgb,var(--ink) 15%,transparent);color:var(--label-primary)}.users-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 20px 38px #0f172a1a;display:flex;flex-direction:column;gap:20px}.users-logout{margin-top:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--label-primary);font-weight:600;cursor:pointer}.users-logout:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.users-panel-divider{height:1px;background:var(--border);margin:4px 0}.users-panel-header h2{margin:0 0 6px;color:var(--label-primary)}.users-panel-header p{margin:0;color:var(--text-secondary)}.users-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-raised, var(--surface));box-shadow:0 8px 24px #0000002e,inset 0 1px #ffffff08}.users-setting h4{margin:0 0 6px;color:var(--text-primary)}.users-setting p{margin:0;color:var(--text-secondary)}.users-form{display:grid;gap:16px}.users-field{display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:var(--text-secondary)}.users-field.users-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.users-field.users-field-row>div{display:grid;gap:8px}.users-field label{color:var(--label-primary);font-weight:600}.users-field input{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);color:var(--label-primary);outline:none}@media(max-width:640px){.users-field.users-field-row{grid-template-columns:1fr}}.users-upload-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.users-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;border:1px solid var(--border);background:var(--surface-raised, var(--surface))}.users-avatar img{width:100%;height:100%;object-fit:cover;display:block}.users-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.users-upload-button{border:1px solid var(--border);background:var(--surface);color:var(--label-primary);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.users-upload-meta{font-size:.8rem;color:var(--text-secondary)}.users-upload-button:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.users-save-button{align-self:flex-start;border:none;border-radius:999px;padding:10px 18px;background:var(--ink);color:var(--label-inverse);font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.users-save-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a2e}.users-save-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.users-data-export{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--surface-raised, var(--surface));display:grid;gap:10px}.users-data-export h3{margin:0;color:var(--label-primary);font-size:1rem}.users-data-export p{margin:0;color:var(--text-secondary);font-size:.9rem}.users-import-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border);margin-bottom:4px}.users-import-tab{border:none;background:transparent;padding:8px 4px;margin-right:16px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s ease,border-color .12s ease}.users-import-tab:hover{color:var(--label-primary)}.users-import-tab.is-active{color:var(--label-primary);border-bottom-color:var(--label-primary);font-weight:600}.users-import-body{display:flex;flex-direction:column;gap:18px}.users-import-section{display:flex;flex-direction:column;gap:8px}.users-import-section-label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.users-import-worktype-row{display:flex;gap:8px;flex-wrap:wrap}.users-import-worktype{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.users-import-worktype:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.users-import-worktype.is-active{background:var(--label-primary);border-color:var(--label-primary);color:var(--surface)}.users-import-formats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.users-import-format-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised, var(--surface));cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease}.users-import-format-card:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.users-import-format-icon{flex-shrink:0;margin-top:1px;color:var(--text-secondary);font-size:1.25rem!important}.users-import-format-label{display:block;font-size:.875rem;font-weight:600;color:var(--label-primary);line-height:1.3}.users-import-format-desc{display:block;font-size:.78rem;color:var(--text-secondary);line-height:1.4;margin-top:2px}.users-import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-top:16px;padding:36px 24px;border:2px dashed var(--border);border-radius:12px;background:var(--surface-raised, var(--surface));cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.users-import-dropzone:hover,.users-import-dropzone.is-dragging{border-color:color-mix(in srgb,var(--ink) 40%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent)}.users-import-dropzone.has-file{border-style:solid}.users-import-dropzone-icon{font-size:2rem!important;color:var(--text-secondary);margin-bottom:4px}.users-import-drop-title{font-size:.9rem;font-weight:600;color:var(--label-primary)}.users-import-drop-sub{font-size:.85rem;color:var(--text-secondary)}.users-import-choose-link{color:var(--label-primary);text-decoration:underline;text-underline-offset:2px}.users-import-drop-types{font-size:.75rem;color:var(--text-secondary);letter-spacing:.04em;margin-top:6px}.users-import-completed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.users-import-completed-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised, var(--surface))}.users-import-completed-icon{flex-shrink:0;color:var(--text-secondary);font-size:1.25rem!important}.users-import-completed-info{display:flex;flex-direction:column;gap:2px;min-width:0}.users-import-completed-title{font-size:.875rem;font-weight:600;color:var(--label-primary);line-height:1.3;word-break:break-word}.users-import-completed-meta{font-size:.78rem;color:var(--text-secondary);word-break:break-all}.users-import-completed-item.is-failed{border-color:color-mix(in srgb,#cb0c0c 50%,var(--border))}.users-import-completed-item.is-failed .users-import-completed-icon{color:#cb0c0c}.users-import-completed-badge{flex-shrink:0;margin-left:auto;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#cb0c0c;border:1px solid color-mix(in srgb,#cb0c0c 50%,transparent);border-radius:999px;padding:2px 8px;background:color-mix(in srgb,#cb0c0c 10%,transparent)}.users-import-dropzone-filename{font-size:.875rem;font-weight:600;color:var(--label-primary);word-break:break-all}.users-import-actions{display:flex;align-items:center;gap:10px}.users-import-back-btn{border:1px solid var(--border);border-radius:999px;padding:8px 14px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;font-size:.875rem;transition:background .15s ease}.users-import-back-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.users-import-back-btn:disabled{opacity:.5;cursor:not-allowed}.users-export-button{justify-self:start;border:1px solid var(--border);border-radius:999px;padding:8px 14px;background:transparent;color:var(--label-primary);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,border-color .15s ease}.users-export-button:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.users-export-button:disabled{opacity:.6;cursor:not-allowed}.users-toast{position:fixed;right:32px;bottom:32px;display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--label-primary);box-shadow:0 18px 32px #0f172a2e;z-index:20;animation:users-toast-enter .18s ease forwards,users-toast-exit .22s ease 3s forwards}.users-toast.success{border-color:#88e788;background:#88e788;color:#173017}.users-toast.error{border-color:#cb0c0c;background:#cb0c0c;color:#fff4f4}@keyframes users-toast-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes users-toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.users-toast{animation:none}}@media(max-width:720px){.users-toast{right:16px;left:16px;bottom:20px;justify-content:space-between}}.subscription-card{border:1px solid var(--border);border-radius:14px;background:var(--surface-raised, var(--surface));box-shadow:0 8px 24px #0000002e,inset 0 1px #ffffff08;overflow:hidden}.subscription-card-body{padding:20px;display:grid;gap:16px}.subscription-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.subscription-tier-badge{display:inline-block;background:var(--ink);color:var(--on-ink);border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.subscription-description{margin:8px 0 0;color:var(--text-secondary);font-size:.9rem}.subscription-price{margin:0;font-size:1.5rem;font-weight:700;color:var(--label-primary);white-space:nowrap;flex-shrink:0}.subscription-features{list-style:none;margin:0;padding:0;display:grid;gap:8px}.subscription-features li{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.subscription-features li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink);flex-shrink:0}.subscription-card-actions{display:flex;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--border)}.subscription-upgrade-btn{border:none;border-radius:999px;padding:10px 20px;background:var(--ink);color:var(--on-ink);font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.subscription-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a2e}.subscription-cancel-btn{border:none;background:transparent;color:#d63031;font-weight:600;cursor:pointer;padding:10px 4px;font-size:.9rem;transition:opacity .15s ease}[data-theme=dark] .subscription-cancel-btn{color:#ff7675}.subscription-cancel-btn:hover{opacity:.75}.users-empty{border:1px dashed var(--border);border-radius:14px;padding:18px;color:var(--text-secondary);text-align:center;background:var(--surface-raised, var(--surface))}.theme-toggle{display:inline-flex;align-items:center;gap:10px;border:none;background:var(--ink);color:var(--on-ink);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer}.theme-toggle.is-dark{background:var(--ink-hover)}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center}@media(max-width:900px){.users-layout{grid-template-columns:1fr}.users-sidebar,.users-panel{width:100%;min-width:0}.users-sidebar-toggle{cursor:pointer;pointer-events:auto;margin-bottom:0}.users-sidebar-caret{display:inline-block!important}.users-sidebar-items{display:none;flex-direction:column;gap:12px;padding-top:4px}.users-sidebar-items.open{display:flex}}@media(max-width:740px){.users-shell{padding:24px 16px 36px}.users-danger-zone{flex-direction:column}.users-delete-account-btn{width:100%}}.users-setting--column{flex-direction:column;align-items:stretch;gap:12px;padding:0;border:none;background:none;box-shadow:none}.users-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-raised, var(--surface));box-shadow:0 8px 24px #0000002e,inset 0 1px #ffffff08}.users-setting-row h4{margin:0 0 6px;color:var(--text-primary)}.users-setting-row p{margin:0;color:var(--text-secondary);font-size:.85rem}.users-privacy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.users-secondary-button{align-self:flex-start;border:1.5px solid var(--border);border-radius:999px;padding:10px 18px;background:transparent;color:var(--label-primary);font-weight:600;cursor:pointer;transition:background .15s ease}.users-secondary-button:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.users-danger-zone{display:flex;justify-content:space-between;gap:16px;padding:16px;border-radius:14px;border:1px solid color-mix(in srgb,#dc2626 40%,var(--border));background:color-mix(in srgb,#dc2626 5%,var(--surface))}.users-danger-zone h4{margin:0 0 6px;color:var(--text-primary)}.users-danger-zone p{margin:0;color:var(--text-secondary);font-size:.875rem}.users-delete-account-btn{flex-shrink:0;border:none;border-radius:999px;padding:10px 18px;background:#dc2626;color:#fff;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;white-space:nowrap}.users-delete-account-btn:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 8px 16px #dc26264d}.users-delete-modal-body{display:grid;gap:12px;padding:4px 0 8px}.users-delete-modal-warning{margin:0;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,#dc2626 10%,var(--surface));border:1px solid color-mix(in srgb,#dc2626 30%,transparent);color:#dc2626;font-weight:600;font-size:.9rem}[data-theme=dark] .users-delete-modal-warning{color:#fca5a5;background:color-mix(in srgb,#dc2626 15%,var(--surface))}.users-delete-modal-list-label{margin:0;color:var(--text-secondary);font-size:.9rem}.users-delete-modal-list{margin:0;padding-left:20px;display:grid;gap:4px}.users-delete-modal-list li{font-size:.875rem;color:var(--text-secondary)}.users-delete-modal-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--label-primary);font-weight:600;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-raised, var(--surface))}.users-delete-modal-checkbox input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:#dc2626}.users-delete-modal-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.users-delete-confirm-btn{border-radius:999px;padding:8px 16px;border:none;background:#dc2626;color:#fff;font-weight:600;cursor:pointer;transition:background .15s ease}.users-delete-confirm-btn:hover:not(:disabled){background:#b91c1c}.users-delete-confirm-btn:disabled{opacity:.45;cursor:not-allowed}
