@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_b658c9ec-module__RK7Ikq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_b658c9ec-module__RK7Ikq__variable{--font-ui:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/dcc06fc59088004f-s.26afxfjuoa9fw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/14a4f422adc8017e-s.0g2162x3jbg9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/294dd5272e5dc576-s.24z3xhdtefne-.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/c0f3072741f3158c-s.0ip40b8wahlg_.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/32ed8f926ffc9cc2-s.0cu0ymttrfic-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/b6a9aad84d41ea38-s.p.19z0m3vc7o74g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/30bdb5bb2b173ee1-s.p.0zb6_9j98fvm-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Fallback;src:local(Times New Roman);ascent-override:99.62%;descent-override:26.07%;line-gap-override:0.0%;size-adjust:118.15%}.literata_bccf40b1-module__qbz-JW__className{font-family:Literata,Literata Fallback;font-style:normal}.literata_bccf40b1-module__qbz-JW__variable{--font-manuscript:"Literata", "Literata Fallback"}
:root{--bg-primary:#faf8f4;--bg-secondary:#f2eee6;--bg-card:#fff;--bg-card-hover:#fff;--accent:#1f5c6b;--accent-2:#164653;--accent-hover:#164653;--text-primary:#1a1916;--text-secondary:#57534b;--text-muted:#6e6960;--border:#e4dfd5;--border-hover:#c9c2b4;--border-strong:#a9a294;--success:#3f6b4e;--success-bg:#e3ede5;--warning:#dc3a2e;--warning-bg:#f8e9e5;--error:#dc3a2e;--error-bg:#f8e9e5;--info:#1f5c6b;--info-bg:#dceaec;--style-flag:#1f5c6b;--search-hit-bg:#f5e28a;--search-hit-bg-active:#eccb45;--accent-rgb:31, 92, 107;--success-rgb:63, 107, 78;--error-rgb:220, 58, 46;--sidebar-width:15rem;--header-height:3.75rem;--topbar-pill-height:2rem;--focus-ring:2px solid var(--accent);--focus-ring-offset:2px}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(ellipse at 20% 10%, rgba(var(--accent-rgb), .05) 0%, transparent 50%), radial-gradient(ellipse at 80% 80%, rgba(var(--accent-rgb), .03) 0%, transparent 50%);min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #1c19170f,0 1px 2px #1c19170a}.app-layout{height:100vh;min-height:100vh;display:flex;overflow:hidden}.app-main{margin-left:var(--sidebar-width);flex:1;height:100vh;min-height:0;overflow:hidden auto}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);z-index:100;background:#faf9f7f7;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.sidebar-logo{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.125rem;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 8px;display:flex}.nav-link{color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link.active{background:rgba(var(--accent-rgb), .1);color:var(--accent);border-left:2px solid var(--accent)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:16px;display:flex}.user-info{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.user-avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:32px;height:32px}.user-avatar-placeholder{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex}.user-details{flex:1;overflow:hidden}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;display:block;overflow:hidden}.btn-logout{justify-content:center;gap:6px;width:100%;font-size:.8125rem}.page-container{max-width:1400px;padding:28px 32px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-header-copy{min-width:0}.page-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.row-actions{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.row-actions-menu{display:inline-flex;position:relative}.row-actions-panel{z-index:30;flex-direction:column;gap:2px;min-width:11rem;max-height:14rem;padding:4px;display:flex;position:fixed;overflow-y:auto}.row-actions-panel__item{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .6rem;font-size:.8125rem;display:block}.row-actions-panel__item:hover{background:var(--bg-secondary)}.row-actions-panel__item--danger{color:var(--error)}.row-actions-panel__item--danger:hover{background:var(--error-bg)}.page-title{color:var(--text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.2}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.875rem}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-indeterminate{background-color:var(--accent);background-image:linear-gradient(45deg,#ffffff47 25%,#0000 25% 50%,#ffffff47 50% 75%,#0000 75%,#0000);background-size:14px 14px;border-radius:999px;width:100%;max-width:16rem;height:6px;animation:.7s linear infinite progress-stripes}@keyframes progress-stripes{0%{background-position:14px 0}to{background-position:0 0}}.skeleton{background:var(--bg-secondary);border-radius:6px}.skeleton-title{width:12rem;height:1.5rem}.skeleton-subtitle{width:7rem;height:.875rem;margin-top:8px}.skeleton-button{border-radius:8px;width:6rem;height:2.25rem}.skeleton-navitem{border-radius:8px;width:75%;height:32px}.skeleton-table{padding:14px 16px}.skeleton-row{border-radius:8px;height:3.25rem;margin-bottom:8px}.skeleton-row:last-child{margin-bottom:0}.skeleton-line{height:.875rem;margin-bottom:12px}.skeleton-line:last-child{width:60%;margin-bottom:0}.skeleton-line--short{width:45%}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 12px;font-size:.8125rem}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-hover), var(--accent-2));box-shadow:0 4px 12px rgba(var(--accent-rgb), .3);transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--border-hover);background:#e8e4df}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.btn-danger{background:var(--error-bg);color:var(--error);border:1px solid rgba(var(--error-rgb), .2)}.btn-danger:hover:not(:disabled){background:var(--error);color:#fff}.btn-google{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.btn-google:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.btn-icon{cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-icon:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-icon:disabled{opacity:.4;cursor:default}.alert{border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;display:flex}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid rgba(var(--error-rgb), .2)}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid rgba(var(--success-rgb), .2)}.alert-warning{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(var(--error-rgb), .2)}.invite-url{word-break:break-all}.badge{white-space:nowrap;border-radius:100px;justify-content:center;align-items:center;min-height:22px;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-flex}.badge--compact{min-height:18px;padding:1px 7px;font-size:.6875rem;line-height:1.1}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(var(--error-rgb), .2)}.badge-info{background:var(--info-bg);color:var(--info);border:1px solid rgba(var(--accent-rgb), .2)}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid rgba(var(--success-rgb), .2)}.badge-error{background:var(--error-bg);color:var(--error);border:1px solid rgba(var(--error-rgb), .2)}.badge-default{background:var(--bg-secondary);color:var(--text-secondary)}.badge-empty{min-height:22px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.admin-form{padding:20px}.admin-form .form-field{margin-bottom:16px}.setting-card{padding:20px}.setting-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.setting-row__title{color:var(--text-primary);font-size:.9375rem;font-weight:600}.setting-row__text .form-hint{margin-top:.25rem}.switch{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:10px;flex-shrink:0;width:36px;height:20px;margin:0;transition:background-color .15s;position:relative}.switch:before{content:"";background:var(--bg-card);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translate(16px)}.switch:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.switch:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:reduce){.switch,.switch:before{transition:none}}.domain-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.domain-add{align-items:center;gap:6px;display:inline-flex}.btn-compact{min-height:34px;padding:.4375rem .75rem;font-size:.8125rem}.domain-chip{align-items:center;gap:6px;display:inline-flex}.domain-chip__remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.9375rem;line-height:1}.domain-chip__remove:hover:not(:disabled){color:var(--error)}.domain-chip__remove:disabled{opacity:.5;cursor:default}.domain-add .form-input{width:11rem;max-width:100%}.table-card{overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom-color:var(--border-hover);font-size:.75rem;font-weight:600}.data-table td{color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.table-row-clickable{cursor:pointer;transition:background .1s}.table-row-clickable:hover{background:rgba(var(--accent-rgb), .05)}.table-link{color:inherit;font-weight:500}.table-link:hover{text-decoration:underline}.table-meta{color:var(--text-secondary);font-size:.8125rem}.chapter-position{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-right:4px}.library-filter{max-width:320px;margin-bottom:16px}.dictionary-add-form{align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.dictionary-add-form .form-field{flex:1;max-width:320px}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:64px 24px;display:flex}.empty-state svg{opacity:.3}.empty-state p{color:var(--text-secondary);font-size:1rem;font-weight:500}.empty-state span{font-size:.875rem}.empty-state--compact{padding:20px 24px}.empty-state--compact p{color:var(--text-muted);font-size:.875rem;font-weight:400}.notif-bell{display:inline-block;position:relative}.notif-bell .btn-icon{position:relative}.notif-badge{min-height:16px;padding:0 4px;font-size:.625rem;position:absolute;top:-6px;right:-6px}.notif-panel{z-index:30;width:22rem;max-height:26rem;padding:.5rem 0;position:fixed;overflow-y:auto}.notif-panel-header{justify-content:space-between;align-items:center;min-height:32px;padding:.25rem .75rem .5rem;display:flex}.notif-empty{color:var(--text-muted);padding:.5rem .75rem;font-size:.875rem}.notif-list{margin:0;padding:0;list-style:none}.notif-item{color:inherit;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;display:block}.notif-item--unread{background:var(--info-bg)}.notif-item-actor{font-weight:600}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:380px;padding:40px 36px;display:flex}.login-logo{margin-bottom:4px}.login-card h1{background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.625rem;font-weight:700}.login-card h1.login-lockup{-webkit-text-fill-color:initial;background:0 0;margin-bottom:4px}.login-card h1.login-lockup img{width:240px;height:auto;margin:0 auto;display:block}.login-subtitle{color:var(--text-secondary);margin-top:-12px;font-size:.875rem}.login-note{color:var(--text-muted);margin-top:-8px;font-size:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-field{flex-direction:column;gap:5px;display:flex}.form-field--narrow{max-width:22rem}.form-hint{color:var(--text-muted);margin:.375rem 0 0;font-size:.8125rem}.form-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:flex}.form-input,.form-select,.form-textarea{border:1px solid var(--border);color:var(--text-primary);background:#fff;border-radius:8px;width:100%;font-family:inherit;font-size:.875rem;line-height:1.25;transition:border-color .15s}.form-input,.form-select{min-height:40px;padding:.625rem .75rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .1);outline:none}.form-input[readonly]{opacity:.6;cursor:not-allowed}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%2378716c' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.form-input--compact,.form-select--compact{min-height:34px;padding:.4375rem .625rem;font-size:.8125rem}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.radio-option input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}.genre-picker{border:0;min-inline-size:0;margin-inline:0;padding:0}.genre-picker>legend.form-label{margin-bottom:8px;padding:0}.form-select option{color:var(--text-primary);background:#fff}.form-textarea{resize:vertical;min-height:80px}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.status-neutral{background:var(--text-muted)}.status-ok{background:var(--success);box-shadow:0 0 6px rgba(var(--success-rgb), .5)}.status-error{background:var(--error);box-shadow:0 0 6px rgba(var(--error-rgb), .5)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#78716c40;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#78716c66}.narrow-screen-notice{display:none}@media (max-width:899px){.app-layout{display:none}.narrow-screen-notice{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-page~.narrow-screen-notice{display:none}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c191773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:0;width:90%;max-width:30rem;max-height:92vh;padding:28px;display:flex;box-shadow:0 8px 32px #1c191726}.modal-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.modal-note{color:var(--text-muted);margin-bottom:20px;font-size:.8125rem}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-card .form-field{margin-bottom:16px}.unsent-work__body{max-height:50vh;padding:4px 0;overflow-y:auto}@keyframes highlight-pulse{0%,to{opacity:1}50%{opacity:.5}}.btn:focus-visible,.nav-link:focus-visible,.btn-icon:focus-visible,.btn-google:focus-visible,.table-link:focus-visible,.row-actions-panel__item:focus-visible,a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.plot-curve{padding:20px 20px 12px}.plot-curve__wrap{position:relative}.plot-curve svg{width:100%;height:auto;display:block}.plot-curve__grid{stroke:var(--border);stroke-width:1px}.plot-curve__axis{fill:var(--text-muted);font-family:inherit;font-size:11px}.plot-curve__line{fill:none;stroke:var(--text-primary);stroke-width:2px;stroke-linejoin:round}.plot-curve__line--stale{stroke:var(--text-muted);stroke-dasharray:4 4}.plot-curve__pt{fill:var(--bg-card);stroke:var(--text-primary);stroke-width:2px;cursor:pointer}.plot-curve__pt:focus-visible{stroke-width:4px;outline:none}.plot-curve__pt--turn{fill:var(--accent);stroke:var(--accent)}.plot-curve__pt--stale{stroke:var(--text-muted);stroke-dasharray:2 2}.plot-curve__tooltip{pointer-events:none;z-index:1;max-width:280px;padding:10px 12px;font-size:.8125rem;line-height:1.45;position:absolute}.plot-legend{color:var(--text-secondary);flex-wrap:wrap;gap:20px;margin-top:8px;font-size:.75rem;display:flex}.plot-legend span:before{content:"";vertical-align:-1px;border:2px solid var(--text-primary);border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.plot-legend .plot-legend__turn:before{background:var(--accent);border-color:var(--accent)}.plot-legend .plot-legend__stale:before{border-color:var(--text-muted);border-style:dashed}.plot-assessment{padding:20px 24px;font-size:.875rem;line-height:1.6}.plot-assessment p+p{margin-top:10px}.plot-assessment__fine{color:var(--text-muted);margin-top:14px;font-size:.6875rem}.plot-tension{font-variant-numeric:tabular-nums;font-weight:600}.plot-summary{color:var(--text-secondary);max-width:60ch;margin-top:4px;font-size:.8125rem;line-height:1.5}.plot-turn,.plot-chars{font-size:.8125rem}.plot-chars{color:var(--text-secondary)}.plot-row--stale td{background:var(--bg-secondary)}.badge-accent{background:rgba(var(--accent-rgb), .12);color:var(--accent)}.plot-progress{align-items:center;gap:16px;padding:16px 20px;display:flex}.plot-progress__bar{background:var(--bg-secondary);border-radius:3px;flex:1;height:6px;overflow:hidden}.plot-progress__bar>span{background:var(--accent);height:100%;display:block}.plot-cast{padding:8px 20px 16px}.plot-cast__row{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr;gap:12px;padding:8px 0;font-size:.8125rem;display:grid}.plot-cast__row:last-child{border-bottom:0}.plot-cast__chips{flex-wrap:wrap;gap:4px;display:flex}.plot-mode{border:1px solid var(--border);background:var(--bg-secondary);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.plot-mode button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:500}.plot-mode button[aria-pressed=true]{background:var(--bg-card);color:var(--accent-2);font-weight:600}.plot-curve__breakdown{color:var(--text-secondary);margin-top:6px;font-size:.75rem;display:block}.plot-curve__note{color:var(--text-muted);margin-top:8px;font-size:.75rem}
:root{--sheet-bg:#fff;--sheet-shadow:0 1px 2px #1c191712, 0 8px 26px #1c19171a, 0 0 0 1px #78716c12;--manuscript-width:896px;--manuscript-padding-block:77px;--manuscript-padding-inline:84px;--mode-warning-bar-height:2.75rem}.editor-page{flex-direction:column;height:100vh;display:flex;position:relative}.editor-topbar{background:var(--bg-card);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.editor-breadcrumb{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.editor-breadcrumb__book-link{color:inherit;text-decoration:none}.editor-breadcrumb__book-link:hover{text-decoration:underline}.editor-breadcrumb__heading{color:var(--text-secondary);margin:0;font-size:.875rem;font-weight:500;display:inline}.editor-save-status{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.5rem;margin-left:auto;font-size:.8125rem;display:inline-flex}.mode-warning{background:var(--error-bg);border-left:3px solid var(--error);color:var(--text-primary);align-items:center;gap:.625rem;padding:.75rem 1.5rem;font-size:.875rem;line-height:1.4;display:flex}.mode-warning__icon{color:var(--error);flex:none}.alert.editor-banner{border:0;border-left:3px solid var(--error);border-bottom:1px solid rgba(var(--error-rgb), .2);color:var(--text-primary);border-radius:0;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;margin:0;padding:.75rem 1.5rem;font-size:.875rem;line-height:1.4;display:flex}.editor-banner__icon{color:var(--error);flex:none}.editor-banner__actions{align-items:center;gap:.5rem;margin-left:.25rem;display:flex}.editor-banner .btn{padding:5px 12px;font-size:.8125rem}.alert.editor-banner--neutral,.alert.editor-banner--info{background:var(--bg-card);border-left-color:var(--border-strong);border-bottom-color:var(--border)}.editor-banner--neutral .editor-banner__icon,.editor-banner--info .editor-banner__icon{color:var(--text-secondary)}.mode-switch{height:var(--topbar-pill-height);border:1px solid var(--border);background:var(--bg-secondary);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.mode-switch button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.mode-switch button[aria-pressed=true]{background:var(--bg-card);color:var(--accent-2);font-weight:600;box-shadow:0 1px 2px #1c191714}.mode-switch button.mode-switch__btn--direct[aria-pressed=true]{color:var(--error)}.mode-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.book-section{margin-top:2rem}.section-heading-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.section-heading{color:var(--text-primary);margin:0;font-size:1.0625rem;font-weight:600}.data-table th.dict-group-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;text-align:left;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:10px 16px;font-size:.75rem;font-weight:600}.data-table tbody+tbody th.dict-group-heading{border-top:1px solid var(--border)}.chapter-nav-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;margin:0 .125rem;padding:.125rem .375rem;font-size:.875rem;transition:background .15s,color .15s}.chapter-nav-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--accent-2)}.chapter-nav-btn:disabled{opacity:.4;cursor:default}.font-size-control{height:var(--topbar-pill-height);border:1px solid var(--border);background:var(--bg-secondary);border-radius:999px;align-items:center;gap:1px;padding:3px;display:flex}.font-size-control__btn,.font-size-control__value{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.25rem .5rem;font-size:.8125rem;transition:background .15s,color .15s}.font-size-control__value{text-align:center;font-variant-numeric:tabular-nums;min-width:2rem;color:var(--text-muted)}.font-size-control__btn:hover:not(:disabled),.font-size-control__value:hover{background:var(--bg-card);color:var(--accent-2)}.font-size-control__btn:disabled{opacity:.4;cursor:default}.view-menu{flex:none;position:relative}.view-menu__button{height:var(--topbar-pill-height);color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.view-menu__button:hover,.view-menu__button[aria-expanded=true]{background:var(--bg-secondary);border-color:var(--border);color:var(--accent-2)}.view-menu__button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.view-menu__glyph{flex-shrink:0}.view-menu__count{background:var(--text-secondary);min-width:1rem;height:1rem;color:var(--bg-card);font-variant-numeric:tabular-nums;border-radius:.5rem;place-items:center;padding:0 .25rem;font-size:.625rem;font-weight:600;display:inline-grid}.view-menu__popover{z-index:950;background:var(--bg-card);border:1px solid var(--border);white-space:normal;border-radius:10px;width:19rem;padding:.875rem 1rem;font-size:.8125rem;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 8px 24px #1c19171f}.view-menu__row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 0;display:flex}.view-menu__row:first-child{border-top:0;padding-top:0}.view-menu__row:last-child{padding-bottom:0}.view-menu__title{color:var(--text-primary);font-size:.875rem;font-weight:600;display:block}.view-menu__hint{color:var(--text-muted);margin:.125rem 0 0;font-size:.75rem}.margin-toggle{height:var(--topbar-pill-height);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;padding:0 .875rem;font-size:.8125rem;font-weight:500;display:none}.margin-toggle[aria-expanded=true]{background:var(--bg-card);color:var(--accent-2);font-weight:600;box-shadow:0 1px 2px #1c191714}.editor-body{flex:auto;min-height:0;display:flex}.desk{scrollbar-gutter:stable;background:var(--bg-secondary);--desk-padding-block:3rem;min-width:0;padding:var(--desk-padding-block) 1.5rem;flex:auto;justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.desk-stack{flex-direction:column;align-items:center;width:fit-content;max-width:100%;display:flex}.next-chapter{width:100%;margin-top:2.5rem}.next-chapter--above{margin-top:0}.next-chapter--above .next-chapter__divider{margin-bottom:0;padding:2.5rem 0}.next-chapter__divider{color:var(--text-muted);align-items:center;gap:1rem;margin-bottom:2.5rem;font-size:.8125rem;display:flex}.next-chapter__divider:before,.next-chapter__divider:after{content:"";border-top:1px dashed var(--border-hover);flex:auto}.next-chapter__columns{align-items:flex-start;gap:1.5rem;display:flex}.next-chapter__palette-spacer,.editor-skeleton__palette-spacer{flex:0 0 3.5rem}.next-chapter__margin-spacer,.editor-skeleton__margin-spacer{flex:0 0 17rem;width:17rem}.next-chapter__sheet{opacity:.85;pointer-events:none;-webkit-user-select:none;user-select:none;min-height:0}.editor-columns{align-items:flex-start;gap:1.5rem;width:fit-content;max-width:100%;display:flex;position:relative}.sheet{width:var(--manuscript-width);max-width:100%;height:fit-content;min-height:calc(100vh - var(--header-height) - 6rem);background:var(--sheet-bg);padding:var(--manuscript-padding-block) var(--manuscript-padding-inline);box-shadow:var(--sheet-shadow);border-radius:2px;flex:none}.sheet--pending{pointer-events:none;animation:1.1s ease-in-out infinite sheet-pending-pulse}@keyframes sheet-pending-pulse{0%,to{opacity:1}50%{opacity:.6}}.sheet--direct{box-shadow:inset 3px 0 0 var(--error), var(--sheet-shadow)}.sheet .tiptap{font-family:var(--font-manuscript), Georgia, serif;font-size:var(--manuscript-font-size,17px);color:var(--text-primary);outline:none;line-height:1.8}.sheet .tiptap h1{margin:0 0 .75em;font-size:1.75em;font-weight:600;line-height:1.25}.sheet .tiptap p{margin:0 0 1em}.sheet .tiptap blockquote{border-left:2px solid var(--border-hover);color:var(--text-secondary);margin:0 0 1em .75em;padding-left:.75em;font-style:italic}.tiptap figure.image-block{margin:1.5rem 0}.tiptap figure.image-block img{max-width:100%;height:auto;display:block}.tiptap img,.footnote-item img{max-width:100%;height:auto}.tiptap figure.image-block.ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.tiptap table{border-collapse:collapse;width:100%;margin:1.25rem 0}.tiptap td,.tiptap th{border:1px solid var(--border-strong);vertical-align:top;padding:.375rem .625rem}.tiptap th{background:0 0;font-weight:600}.tiptap .selectedCell{outline:2px solid var(--accent);outline-offset:-2px}.table-controls{z-index:5;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;box-shadow:0 2px 8px #1c191714}.table-controls-sep{background:var(--border);width:1px;height:1.25rem;margin:0 2px}.table-controls-delete[data-confirming=true]{color:var(--error)}ins.suggestion-insertion{color:var(--info);background:var(--info-bg);text-decoration:underline}del.suggestion-deletion{color:var(--error);background:var(--error-bg);text-decoration:line-through}.suggestion-selected{outline:1.5px solid var(--accent);outline-offset:1px;border-radius:2px}.search-hit{background:var(--search-hit-bg);border-radius:2px}.search-hit--active{background:var(--search-hit-bg-active);outline:1.5px solid var(--accent);outline-offset:1px}.spell-error{-webkit-text-decoration:underline dotted var(--error);text-decoration:underline dotted var(--error);text-underline-offset:3px}.style-flag{-webkit-text-decoration:underline wavy var(--style-flag);text-decoration:underline wavy var(--style-flag);text-underline-offset:3px;cursor:pointer;text-decoration-thickness:1px}sup.footnote-ref{color:var(--accent-2);font-weight:600}.sheet:not(.history-preview):not(.import-preview__sheet):not(.next-chapter__sheet) sup.footnote-ref{cursor:pointer}sup.footnote-ref--deleted{color:var(--error);background:var(--error-bg);text-decoration:line-through}span.comment-mark{border-bottom:1px dotted var(--text-muted)}.comment-composer__error{color:var(--error);margin:0;font-size:.75rem}sup.footnote-ref.ProseMirror-selectednode{outline:1.5px solid var(--accent);outline-offset:2px;border-radius:2px}.footnote-zone{margin-top:2.5rem}.footnote-zone--readonly .footnote-item__number{opacity:.7}.footnote-separator{background:var(--border);width:8rem;max-width:40%;height:1px;margin:0 0 1.25rem}.footnote-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.footnote-item{font-family:var(--font-manuscript), Georgia, serif;font-size:calc(var(--manuscript-font-size,17px) * .824);color:var(--text-secondary);border-radius:4px;align-items:baseline;gap:.5rem;line-height:1.6;transition:background .15s;display:flex}.footnote-item--selected{background:var(--info-bg)}.footnote-item__number{min-width:1.5rem;color:var(--accent-2);font-family:inherit;font-size:inherit;text-align:right;cursor:pointer;background:0 0;border:none;flex:none;padding:.125rem .25rem;font-weight:700}.footnote-item--selected .footnote-item__number{text-decoration:underline}.footnote-item__content{flex:auto;min-width:0}.footnote-item__content p{margin:0}.footnote-item__empty,.footnote-item__hint{color:var(--text-muted)}.footnote-item__editor{flex:auto;min-width:0}.footnote-item__editor .tiptap p{margin:0}.footnote-item__editor .tiptap:focus{outline:none}.palette{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:0 0 3.5rem;align-items:center;gap:2px;height:fit-content;padding:6px;display:flex;position:sticky;top:1.5rem;box-shadow:0 2px 8px #1c191714}.palette-btn{width:2.25rem;height:2.25rem;color:var(--text-secondary);font-family:var(--font-manuscript), Georgia, serif;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:.8125rem;transition:background .15s,color .15s;display:flex}.palette-btn:hover:not(:disabled){background:var(--bg-secondary)}.palette-btn[aria-pressed=true]{background:var(--info-bg);color:var(--accent-2)}.palette-btn:disabled{cursor:default;opacity:.4}.palette-sep{background:var(--border);width:1.5rem;height:1px;margin:3px 0}.search-bar{background:var(--bg-primary);border-bottom:1px solid var(--border);flex-direction:column;flex:none;gap:8px;padding:10px 24px;display:flex}.search-bar__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-bar__input{flex:0 auto;width:260px}.search-bar__counter{color:var(--text-secondary);white-space:nowrap;min-width:4.5rem;font-size:.8125rem}.search-bar__checkbox{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.search-bar__sep{background:var(--border);width:1px;height:20px;margin:0 8px}.search-bar__note{color:var(--text-secondary);margin:0;font-size:.8125rem}.search-bar__book-results{flex-direction:column;gap:.25rem;max-width:32rem;max-height:8rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.search-bar__book-result-row{align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.search-bar__book-result-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.side-column{--side-tabs-height:2.5rem;flex:0 0 17rem;align-self:stretch;width:17rem}.side-tabs{top:calc(-1 * var(--desk-padding-block));z-index:2;height:var(--side-tabs-height);border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:1.25rem;margin-bottom:.75rem;display:flex;position:sticky}.side-tabs__tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 0 .5rem;font-size:.8125rem;font-weight:500;transition:color .15s,border-color .15s}.side-tabs__tab:hover{color:var(--accent-2)}.side-tabs__tab[aria-selected=true]{color:var(--accent-2);border-bottom-color:var(--accent-2);font-weight:600}.side-tabs__tab:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.side-column__stats{top:calc(var(--side-tabs-height) + .75rem - var(--desk-padding-block));max-height:calc(100vh - var(--header-height) - var(--side-tabs-height) - 1.5rem);position:sticky;overflow-y:auto}.mode-warning~.editor-body .side-column__stats{max-height:calc(100vh - var(--header-height) - var(--mode-warning-bar-height) - var(--side-tabs-height) - 1.5rem)}.margin-column--hidden{display:none}.margin-column__header{z-index:1;background:var(--bg-secondary);position:relative}.filter-switch{border:1px solid var(--border);background:var(--bg-card);border-radius:999px;align-items:center;gap:2px;padding:2px;display:flex}.filter-switch button{min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:999px;flex:1 1 0;padding:.25rem .375rem;font-size:.75rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;overflow:hidden}.filter-switch button[aria-pressed=true]{background:var(--bg-secondary);color:var(--accent-2);font-weight:600;box-shadow:0 1px 2px #1c191714}.filter-switch--quiet{background:0 0;border-color:#0000;gap:3px;padding:0}.filter-switch--quiet button{border-radius:6px;flex:none;padding:.125rem .4375rem;font-size:.6875rem}.filter-switch--quiet button[aria-pressed=true]{background:var(--bg-card);border:1px solid var(--border);box-shadow:none}.margin-filters__by{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.375rem;display:flex}.margin-filters__label{color:var(--text-muted);flex:none;font-size:.6875rem}.margin-filters__resolved{color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:.25rem;margin-left:auto;font-size:.6875rem;display:inline-flex}.margin-filters__resolved input{width:.8125rem;height:.8125rem;accent-color:var(--accent);cursor:pointer;margin:0}.margin-count-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin:.375rem 0 .75rem;display:flex}.margin-column__bulk-resolve{flex:none;padding:.125rem .375rem;font-size:.6875rem}.stats-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:3px;padding:.75rem}.stats-panel__heading{letter-spacing:.04em;color:var(--text-muted);margin:0 0 .25rem;font-size:.6875rem;font-weight:600}.stats-panel__tiles{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.stats-tile{border:1px solid var(--border);border-radius:3px;padding:.5rem}.stats-tile strong{font-size:1.125rem;display:block}.stats-tile span{color:var(--text-muted);font-size:.6875rem}.stats-panel__slider{font-size:.8125rem;display:block}.stats-panel__slider input{width:100%;display:block}.stats-panel__section{margin-top:1rem}.stats-panel__item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:.25rem .375rem;font-size:.8125rem;display:block}.stats-panel__item:hover{background:var(--bg-secondary)}.stats-panel__muted{color:var(--text-muted);margin:.25rem 0;font-size:.8125rem}@media (max-width:85em){.margin-toggle{display:inline-flex}.next-chapter__margin-spacer,.editor-skeleton__margin-spacer{display:none}.side-column{top:var(--header-height);background:var(--bg-card);border-left:1px solid var(--border);z-index:900;width:17rem;padding:.75rem;transition:transform .16s;position:fixed;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-4px 0 16px #1c191714}.mode-warning~.editor-body .side-column{top:calc(var(--header-height) + var(--mode-warning-bar-height))}.side-column--open{transform:translate(0)}.side-tabs{background:var(--bg-card);margin:-.75rem -.75rem .75rem;padding:0 .75rem;top:-.75rem}.side-column__stats,.mode-warning~.editor-body .side-column__stats{max-height:none;position:static;overflow:visible}.margin-column__header{background:var(--bg-card)}.filter-switch{background:var(--bg-secondary)}.filter-switch button[aria-pressed=true]{background:var(--bg-card)}.filter-switch--quiet{background:0 0}.filter-switch--quiet button[aria-pressed=true]{background:var(--bg-secondary)}.margin-column--open .margin-card,.margin-column--open .margin-cluster,.margin-column--open .margin-archive{margin-bottom:.75rem;position:static}}.palette-btn:focus-visible,.filter-switch button:focus-visible,.margin-filters__resolved input:focus-visible,.margin-card__select:focus-visible,.history-shift-card:focus-visible,.chapter-nav-btn:focus-visible,.margin-toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.margin-count{color:var(--text-muted);margin:0;font-size:.75rem}.margin-gutter{clip-path:inset(0 -100vw -1000000px);position:relative}.margin-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.5rem .625rem;transition:top .15s,border-color .15s,box-shadow .15s;position:absolute;left:0;right:0;box-shadow:0 1px 2px #1c19170a}.margin-card--selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--info-bg)}.margin-card--compact .margin-card__actions,.margin-card--compact .margin-card__own-note{display:none}.margin-card--compact .margin-card__preview{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.margin-cluster{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:999px;align-items:baseline;gap:.5rem;padding:.25rem .75rem;font-size:.75rem;transition:top .15s,border-color .15s;display:flex;position:absolute;left:0;right:0}.margin-cluster:hover{border-color:var(--border-hover)}.margin-cluster__count{color:var(--accent);white-space:nowrap;font-weight:600}.margin-cluster__authors{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.margin-archive{position:absolute;left:0;right:0}.margin-archive__heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem;font-size:.6875rem;font-weight:600}.margin-card--archive{margin-bottom:.5rem;position:static}.margin-card__verdict{color:var(--text-secondary);align-items:baseline;gap:.375rem;margin-top:.375rem;font-size:.75rem;display:flex}.margin-card__preview--missing{color:var(--text-muted);font-style:italic}.margin-link{background:var(--accent);opacity:0;width:1rem;height:1.5px;position:absolute;top:1.25rem;left:-1rem}.margin-card:hover .margin-link,.margin-link--visible{opacity:.5}.margin-card__select{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:block}.margin-card__who{align-items:baseline;gap:.375rem;margin-bottom:.25rem;font-size:.6875rem;font-weight:700;display:flex}.margin-card__time{color:var(--text-muted);font-weight:400}.margin-card__preview{font-family:var(--font-manuscript), Georgia, serif;margin-bottom:.5rem;font-size:.8125rem;display:block}.margin-card__preview del{color:var(--error);background:var(--error-bg);text-decoration:line-through}.margin-card__preview ins{color:var(--info);background:var(--info-bg);text-decoration:none}.margin-card__origin{color:var(--text-muted);margin-bottom:.25rem;font-size:.6875rem;display:block}.margin-card__actions{gap:.375rem;display:flex}.margin-card__actions button{cursor:pointer;border:none;border-radius:5px;flex:1;padding:.25rem 0;font-size:.6875rem;font-weight:700}.margin-card__actions button[data-action=accept]{background:var(--success-bg);color:var(--success)}.margin-card__actions button[data-action=reject]{background:var(--error-bg);color:var(--error)}.margin-card__own-note{color:var(--text-muted);margin:0;font-size:.6875rem}.suggestion-popup{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;width:15rem;padding:.5rem .625rem;transition:opacity .14s;position:absolute;box-shadow:0 2px 6px #1a191614}.suggestion-popup__who{align-items:baseline;gap:.375rem;margin-bottom:.25rem;font-size:.6875rem;font-weight:700;display:flex}.suggestion-popup__time{color:var(--text-muted);font-weight:400}.suggestion-popup__diff{font-family:var(--font-manuscript), Georgia, serif;margin-bottom:.5rem;font-size:.8125rem}.suggestion-popup__diff del{color:var(--error);background:var(--error-bg);text-decoration:line-through}.suggestion-popup__diff ins{color:var(--info);background:var(--info-bg);text-decoration:none}.suggestion-popup__own-note{color:var(--text-muted);margin:0 0 .5rem;font-size:.6875rem}.suggestion-popup__actions{gap:.375rem;display:flex}.suggestion-popup__actions button{cursor:pointer;border:none;border-radius:5px;flex:1;padding:.25rem 0;font-size:.6875rem;font-weight:700}.suggestion-popup__actions button[data-action=accept]{background:var(--success-bg);color:var(--success)}.suggestion-popup__actions button[data-action=reject]{background:var(--error-bg);color:var(--error)}.suggestion-popup__actions button[data-action=comment]{background:var(--info-bg);color:var(--accent-2)}.spell-popup{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;width:12rem;padding:.5rem .625rem;position:absolute;box-shadow:0 2px 6px #1a191614}.spell-popup__word{color:var(--text-muted);-webkit-text-decoration:underline dotted var(--error);text-decoration:underline dotted var(--error);text-underline-offset:3px;margin:0 0 .375rem;font-size:.6875rem;font-weight:700}.spell-popup__suggestions{flex-direction:column;gap:.125rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.spell-popup__suggestions button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .375rem;font-size:.8125rem}.spell-popup__suggestions button:hover:not(:disabled){background:var(--bg-secondary);color:var(--accent-2)}.spell-popup__suggestions button:disabled{opacity:.4;cursor:default}.spell-popup__add{background:var(--info-bg);width:100%;color:var(--accent-2);cursor:pointer;border:none;border-radius:5px;padding:.3125rem 0;font-size:.6875rem;font-weight:700}.style-popup{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;width:16rem;padding:.5rem .625rem;position:absolute;box-shadow:0 2px 6px #1a191614}.style-popup__category{color:var(--text-muted);margin:0 0 .375rem;font-size:.6875rem;font-weight:700}.style-popup__message{color:var(--text-primary);margin:0 0 .5rem;font-size:.8125rem}.style-popup__item+.style-popup__item{border-top:1px solid var(--border);padding-top:.5rem}.style-popup__fix{background:var(--info-bg);width:100%;color:var(--accent-2);cursor:pointer;border:none;border-radius:5px;padding:.3125rem 0;font-size:.6875rem;font-weight:700}.margin-card--suggestion{border-left:2px solid var(--accent)}.margin-card--comment{border-left:2px solid var(--text-secondary)}.margin-card--resolved{opacity:.7}.margin-card__comment-badge{color:var(--text-muted);margin:0 0 .375rem;font-size:.6875rem}.margin-card__thread{border-top:1px solid var(--border);cursor:default;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.margin-card__thread-row .margin-card__who{margin-bottom:.125rem}.margin-card__thread-body{margin:0;font-size:.8125rem}.margin-card__orphan-note{color:var(--text-muted);margin:0;font-size:.6875rem;font-style:italic}.margin-card__composer{flex-direction:column;gap:.375rem;display:flex}.comment-composer-actions{gap:.5rem;display:flex}.margin-card__composer textarea{font:inherit;border:1px solid var(--border);resize:vertical;border-radius:6px;min-height:2.5rem;padding:.375rem .5rem;font-size:.8125rem}.margin-card__composer button,.margin-card__comment-trigger,.margin-card__resolve-thread{cursor:pointer;background:var(--info-bg);color:var(--accent-2);border:none;border-radius:5px;align-self:flex-start;padding:.25rem .625rem;font-size:.6875rem;font-weight:700}.margin-card__resolve-thread{background:var(--success-bg);color:var(--success)}.history-back-link{margin-left:auto}.history-columns{align-items:flex-start}.history-preview{position:relative}.history-watermark{margin:calc(-1 * var(--manuscript-padding-block)) calc(-1 * var(--manuscript-padding-inline)) 1.5rem;padding:.5rem var(--manuscript-padding-inline);background:var(--info-bg);color:var(--info);text-align:center;border-bottom:1px solid var(--border);font-size:.8125rem;font-weight:600;position:sticky;top:0}.diff-block{margin-left:-.75rem;padding-left:.75rem;position:relative}.diff-added{border-left:3px solid var(--success);background:var(--success-bg)}.diff-removed{border-left:3px solid var(--error);background:var(--error-bg);opacity:.75}.history-panel{flex:0 0 17rem;width:17rem}.history-panel__title{margin:0 0 .75rem;font-size:.875rem;font-weight:700}.history-panel__empty{color:var(--text-muted);font-size:.8125rem}.history-shift-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.history-shift-card{text-align:left;border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.625rem .75rem;font-size:.8125rem}.history-shift-card--selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--info-bg)}.history-rollback-btn{width:100%;margin-top:.375rem}.import-back-link{margin-left:auto}.import-desk{flex-direction:column;justify-content:flex-start;align-items:center}.import-stage-header{width:32rem;max-width:100%;margin-bottom:20px}.import-steps{color:var(--text-muted);align-items:center;gap:.5rem;margin:0 0 20px;padding:0;font-size:.8125rem;list-style:none;display:flex}.import-steps__step{align-items:center;gap:.5rem;display:flex}.import-steps__step:not(:last-child):after{content:"→";color:var(--border-hover)}.import-steps__step--current{color:var(--accent);font-weight:600}.import-steps__step--done{color:var(--text-secondary)}.import-upload{width:32rem;max-width:100%;margin:0 auto;padding:2rem}.import-dropzone{border:1.5px dashed var(--border-hover);text-align:center;min-height:12rem;color:var(--text-secondary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;transition:border-color .15s,background .15s;display:flex}.import-dropzone--dragging{border-color:var(--accent);background:var(--info-bg)}.import-preview{width:100%;max-width:72rem}.import-preview__columns{align-items:flex-start;gap:1.5rem;display:flex}.import-chapters{flex-direction:column;flex:0 0 18rem;gap:.75rem;width:18rem;display:flex}.import-chapter-card{cursor:pointer;flex-direction:column;gap:.5rem;padding:.875rem 1rem;display:flex}.import-chapter-card--active{border-color:var(--accent);box-shadow:0 0 0 2px var(--info-bg)}.import-chapter-card__meta{color:var(--text-muted);margin:0;font-size:.75rem}.import-chapter-card__merge{align-self:flex-start;padding:.25rem .625rem;font-size:.75rem}.import-preview__sheet{flex:auto;min-width:0;padding:2.5rem 3rem}.import-preview__toolbar{justify-content:flex-end;margin-bottom:1rem;display:flex}.import-block{cursor:pointer;border-radius:4px;margin:0 -.5rem;padding:.125rem .5rem;transition:background .1s}.import-block:hover{background:var(--bg-secondary)}.import-block--selected{outline:1.5px solid var(--accent);outline-offset:1px;background:var(--info-bg)}.import-preview__actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.import-report-list{margin:0;padding-left:1.125rem}@media (max-width:899px){.editor-page{display:none}}.sentence-chart,.sentence-chart__plot{position:relative}.sentence-chart svg{width:100%;height:auto;display:block}.sentence-chart__bar{fill:var(--accent);fill-opacity:.5;cursor:pointer}.sentence-chart__bar--long{fill:var(--accent-2);fill-opacity:1}.sentence-chart__bar--clipped{stroke:var(--bg-card);stroke-width:1px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.sentence-chart__bar:focus-visible{outline:var(--focus-ring);outline-offset:1px}.sentence-chart__threshold{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:2 2}.sentence-chart__tooltip{pointer-events:none;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:3px;padding:.25rem .5rem;font-size:.75rem;position:absolute;left:0;right:0;transform:translateY(-110%);box-shadow:0 2px 6px #1a191614}.sentence-chart__axis{color:var(--text-muted);margin:.375rem 0 0;font-size:.6875rem}.sentence-chart__tooltip--below{transform:translateY(10%)}
html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;font-family:var(--font-ui), "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;flex-direction:column;display:flex}a{color:inherit;text-decoration:none}.alert a{text-underline-offset:2px;font-weight:500;text-decoration:underline}.alert-error,.alert-warning{color:var(--text-primary)}.login-dev-form{flex-direction:column;gap:8px;width:100%;display:flex}.user-name-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;display:block;overflow:hidden}.notif-panel{flex-direction:column;padding:0;display:flex;overflow:hidden}.notif-panel-header{border-bottom:1px solid var(--border);flex:none;gap:1rem;min-height:0;padding:.625rem .875rem}.notif-panel__title{color:var(--text-primary);margin:0;font-size:.8125rem;font-weight:600}.notif-panel__mark-all{padding:0;font-size:.75rem}.notif-panel__mark-all:hover:not(:disabled){color:var(--text-primary);text-underline-offset:2px;background:0 0;text-decoration:underline}.notif-scroll{flex:auto;overflow-y:auto}.notif-empty{text-align:center;padding:1.75rem 1rem}.notif-list>li+li{border-top:1px solid var(--border)}.notif-item{color:var(--text-secondary);grid-template-columns:.375rem minmax(0,1fr);align-items:start;gap:.5rem;padding:.625rem .875rem;transition:background .12s;display:grid}.notif-item:hover{background:var(--bg-secondary)}.notif-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notif-item__dot{background:0 0;border-radius:50%;width:.375rem;height:.375rem;margin-top:.3125rem}.notif-item--unread{background:0 0}.notif-item--unread .notif-item__dot{background:var(--error)}.notif-item--unread .notif-item__body{color:var(--text-primary)}.notif-item__who{align-items:baseline;gap:.375rem;margin-bottom:.25rem;font-size:.6875rem;display:flex}.notif-item-actor{color:var(--text-primary)}.notif-item__time{color:var(--text-muted);font-weight:400}.notif-item__body{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-item__snippet{color:var(--text-muted)}