.library{display:flex;flex-direction:column;gap:var(--space-md)}.library-header{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start}.library-title{margin:0;font-size:2rem;letter-spacing:-.02em}.library-subtitle{margin:var(--space-xs) 0 0;color:var(--text-hover)}.eyebrow{margin:0;text-transform:uppercase;font-weight:700;letter-spacing:.08em;color:var(--muted);font-size:.9rem}.cta{align-self:center}.status{color:var(--text-hover)}.empty-state{padding:var(--space-lg);background:var(--surface-strong);border:1px dashed var(--border);border-radius:12px;text-align:center;color:var(--text-hover);display:grid;gap:var(--space-sm);justify-items:center}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md)}.content-card{background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:12px;padding:var(--space-md);display:grid;gap:var(--space-sm);box-shadow:0 8px 18px #1118270f}.content-card.is-read{border-color:var(--border);background:var(--surface);color:var(--text-hover);box-shadow:none;opacity:.85}.content-card-body{display:grid;gap:.2rem}.content-type{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.content-title{margin:0;font-size:1.1rem}.content-author{margin:0;color:var(--text-hover)}.content-status{margin:.25rem 0 0;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.content-action{justify-self:start}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-lg) var(--space-md);overflow-y:auto;z-index:40}.modal{background:var(--surface-strong);border-radius:16px;padding:var(--space-lg);width:min(960px,100%);box-shadow:0 20px 50px #11182724;border:1px solid var(--border-soft)}.modal-header{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start}.modal-title{margin:var(--space-xs) 0 0;font-size:1.5rem}.modal-description{margin:var(--space-xs) 0 0;color:var(--text-hover)}.content-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.field{display:flex;flex-direction:column;gap:var(--space-xs)}.field-label{font-weight:600}.field input,.field textarea{border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;font-size:1rem;font-family:inherit;background:var(--surface)}.field textarea{resize:vertical;min-height:120px}.sections-header{display:flex;justify-content:space-between;gap:var(--space-sm);align-items:center}.sections-actions{display:flex;align-items:center;gap:var(--space-sm)}.mode-menu{position:relative}.mode-menu-trigger{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.6rem .9rem;background:var(--surface)}.mode-menu-trigger-label{font-weight:600}.mode-menu-caret{font-size:.9rem;opacity:.8}.mode-menu-options{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:12px;box-shadow:0 18px 40px #1118271f;min-width:260px;padding:.35rem;display:grid;gap:.35rem;z-index:2}.mode-menu-option{background:transparent;border:1px solid transparent;border-radius:10px;text-align:left;padding:.65rem .75rem;display:grid;gap:.1rem;color:var(--text)}.mode-menu-option:hover{background:var(--surface)}.mode-menu-option.is-active{border-color:var(--border);background:var(--surface)}.mode-menu-option-title{font-weight:700;color:var(--text-strong)}.mode-menu-description{color:var(--text-hover);font-size:.95rem}.sections-list{display:flex;flex-direction:column;gap:var(--space-md)}.section-card{border:1px solid var(--border-soft);border-radius:12px;padding:var(--space-md);background:var(--surface);box-shadow:inset 0 1px #fff9;display:flex;flex-direction:column;gap:var(--space-sm)}.section-card-header{display:flex;justify-content:space-between;align-items:center}.section-label{margin:0;font-weight:700;color:var(--text-strong)}.helper-text{margin:var(--space-xs) 0 0;color:var(--text-hover)}.generation-status{display:inline-flex;align-items:center;gap:.4rem}.generate-prompt-textarea{border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);padding:var(--space-md);display:grid;gap:var(--space-sm)}.inline-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--text);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ghost-button{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}.form-error{color:#b91c1c;margin:0;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);align-items:center}.markdown-preview{border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);padding:var(--space-md);display:grid;gap:var(--space-sm)}.markdown-preview-header{display:flex;flex-direction:column;gap:.2rem}.markdown-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm)}.markdown-preview-card{border:1px solid var(--border-soft);border-radius:10px;padding:var(--space-sm);background:var(--surface-strong);display:grid;gap:.2rem}.markdown-preview-title{margin:0;font-weight:700}.markdown-preview-snippet{margin:0;color:var(--text-hover);font-size:.95rem}@media (max-width: 720px){.library-header{flex-direction:column}.modal{padding:var(--space-md)}.sections-header{flex-direction:column;align-items:flex-start}.sections-actions{width:100%;flex-direction:column;align-items:flex-start}.modal-header{flex-direction:column}}.lookup-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:#0f172a73;z-index:30}.lookup-modal{width:min(540px,100%);max-height:90vh;overflow:hidden;padding:var(--space-md);border-radius:20px;background:var(--surface-strong);box-shadow:0 35px 65px #0f172a59;display:flex;flex-direction:column;gap:var(--space-sm);position:relative;z-index:31}.lookup-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.lookup-modal-header-text{display:flex;flex-direction:column;gap:.15rem}.lookup-modal-label{margin:0;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.lookup-modal-phrase{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-strong)}.lookup-modal-close{border:none;background:transparent;color:var(--muted);font-size:1.5rem;font-weight:600;cursor:pointer;line-height:1;padding:0}.lookup-modal-close:hover,.lookup-modal-close:focus-visible{color:var(--accent)}.lookup-modal-tabs{display:flex;gap:var(--space-xs)}.lookup-modal-tab{border-radius:999px;border:1px solid var(--border-soft);padding:.35rem .9rem;background:transparent;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .2s ease,background .2s ease;font-size:.9rem}.lookup-modal-tab.is-active{background:var(--surface-light);border-color:var(--accent);color:var(--text-strong)}.lookup-modal-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lookup-modal-body{flex:1;min-height:140px;display:flex;align-items:center;justify-content:center;padding:var(--space-xs)}.lookup-modal-text,.lookup-modal-error,.lookup-modal-loading{margin:0;text-align:center;line-height:1.5;color:var(--text)}.lookup-modal-error{color:var(--accent)}.lookup-modal-loading{color:var(--muted)}@media (max-width: 600px){.lookup-modal-overlay,.lookup-modal{padding:var(--space-sm)}}.reader{display:flex;flex-direction:column;gap:var(--space-md)}.reader-header{display:flex;justify-content:space-between;gap:var(--space-sm);align-items:flex-start}.reader-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;font-size:.9rem}.reader-title{margin:0;font-size:2rem;letter-spacing:.01em}.reader-meta{margin:0;color:var(--muted);font-size:.95rem}.reader-content{max-width:720px;line-height:1.6}.reader-menu{position:relative}.icon-button{background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:10px;padding:.5rem .7rem;font-size:1rem;line-height:1rem;color:var(--text);display:inline-flex;align-items:center;justify-content:center}.reader-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:10px;box-shadow:0 14px 30px #11182724;min-width:200px;padding:.35rem;display:grid;gap:.25rem;z-index:3;color:var(--text)}.reader-menu-item{background:transparent;border:1px solid transparent;border-radius:8px;text-align:left;padding:.6rem .75rem;color:var(--text)}.reader-menu-item:hover{color:var(--text)}.reader-section{padding:var(--space-sm) 0;border-bottom:1px solid var(--border-soft)}.reader-section:last-of-type{border-bottom:none}.reader-section-label{display:inline-block;margin-bottom:var(--space-xs);color:var(--text-strong)}.reader-section-body p{margin:0 0 var(--space-xs)}.reader-action{align-self:flex-start}.reader-lookup-popover{position:absolute;display:inline-flex;gap:var(--space-xxs);align-items:center;padding:.25rem .4rem;background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:999px;box-shadow:0 20px 35px #0f172a29;z-index:15}.reader-lookup-button{border:1px solid transparent;border-radius:999px;padding:.3rem .9rem;font-size:.85rem;font-weight:600;color:var(--text);background:transparent;cursor:pointer;transition:border-color .1s ease,background .1s ease}.reader-lookup-button:hover,.reader-lookup-button:focus-visible{border-color:var(--border-soft);background:var(--surface-muted);outline:none}.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,rgba(255,191,105,.16),transparent 32%),radial-gradient(circle at 80% 0%,rgba(255,134,134,.14),transparent 30%),linear-gradient(135deg,#f8f5ff,#fffdf8);padding:var(--space-lg)}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--border-soft);border-radius:16px;box-shadow:0 20px 60px #11182714;padding:var(--space-xl) var(--space-lg);color:var(--text)}.auth-header{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.auth-badge{display:inline-flex;align-self:flex-start;padding:.4rem .75rem;border-radius:999px;background:#fef3e6;color:#b45309;font-weight:700;letter-spacing:.02em}.auth-switch{display:inline-flex;background:var(--surface-weak);border:1px solid var(--border-soft);border-radius:12px;padding:4px;gap:4px;width:fit-content}.auth-tab{border:none;background:transparent;padding:.6rem 1rem;border-radius:10px;font-weight:700;color:var(--muted);cursor:pointer;transition:background-color .12s ease,color .12s ease}.auth-tab.is-active{background:#0ea5e9;color:#f8fbff}.auth-subhead{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-field{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:var(--text)}.auth-field input{border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;font-size:1rem;background:var(--surface);color:var(--text)}.auth-error{margin:0;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:.75rem;font-weight:600}.auth-submit{border:none;border-radius:12px;padding:.85rem 1rem;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#f8fbff;font-weight:800;cursor:pointer;transition:transform .1s ease,box-shadow .12s ease}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 10px 30px #0ea5e940}.auth-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.auth-card{padding:var(--space-lg)}}.app{min-height:100vh;background-color:var(--surface);color:var(--text);padding-left:calc(240px + var(--space-md))}.app-header{display:none}.app-header-left{display:flex;align-items:center}.app-title{font-weight:700;letter-spacing:.01em;color:var(--text);text-decoration:none;padding:var(--space-sm) var(--space-sm)}.app-title:hover{color:var(--accent)}.app-main{max-width:1200px;margin:0 auto;padding:var(--space-lg) var(--space-md)}.app-shell{display:block}.app-sidebar{position:fixed;top:0;left:0;width:240px;height:100vh;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--surface-light);border-top-right-radius:6px;border-bottom-right-radius:6px}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm);width:calc(100% + var(--space-md) * 2);margin:calc(-1 * var(--space-md)) calc(-1 * var(--space-md)) var(--space-sm);padding:var(--space-sm);background:linear-gradient(135deg,#ffe4dd,#fff7f2);color:var(--text);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.sidebar-logo:hover{text-decoration:none}.sidebar-logo-mark{width:44px;height:44px;border-radius:12px;background:#fff4ef;display:grid;place-items:center;border:1px solid var(--border-soft)}.sidebar-logo-mark svg{width:28px;height:28px}.sidebar-logo-mark rect{fill:var(--accent)}.sidebar-logo-mark path,.sidebar-logo-mark circle{fill:none;stroke:var(--accent-contrast);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.sidebar-logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-title{font-weight:800;letter-spacing:.01em}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-metric{margin-top:var(--space-lg);padding:var(--space-sm);background:var(--surface-weak);border:1px solid var(--border-soft);border-radius:12px;gap:.25rem}.metric-label{font-size:.85rem;color:var(--muted);margin:0}.metric-value{margin:0;font-weight:800;font-size:1.15rem;letter-spacing:.01em;color:var(--text)}.sidebar-user{margin-top:auto;padding:var(--space-sm);border-top:1px solid var(--border-soft);gap:.35rem}.sidebar-user-meta{display:flex;flex-direction:column;gap:.15rem}.user-email{margin:0;font-weight:700;font-size:.95rem}.user-name{margin:0;color:var(--muted);font-size:.9rem}.logout-button{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:.35rem .75rem;cursor:pointer;font-weight:700;width:fit-content;transition:background-color .12s ease,color .12s ease}.logout-button:hover{background:var(--surface-weak)}.nav-link{display:flex;align-items:center;gap:.5rem;width:calc(100% + var(--space-md) * 2);margin:0 calc(-1 * var(--space-md));padding:var(--space-xs) calc(var(--space-md) + 1rem);border:none;border-radius:0;background:transparent;color:var(--text);font-weight:600;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}.nav-link:hover,.nav-link:focus-visible{text-decoration:none;outline:none;color:var(--text-hover)}.nav-link-active{background-color:var(--accent);color:var(--accent-contrast)}.nav-link-active:hover{color:var(--accent-contrast-hover)}.app-content{padding:var(--space-md);background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:18px;box-shadow:0 14px 34px #1118270d}.app-loading{padding:var(--space-lg);color:var(--muted);font-weight:600}.nav-toggle{display:none;border:none;background:transparent;color:var(--text);margin:0;padding:0;border-radius:0;width:44px;height:44px;font-size:1.25rem;cursor:pointer;align-items:center;justify-content:center;transition:box-shadow .12s ease,transform .08s ease,background-color .12s ease}.nav-toggle-icon{position:relative;display:inline-block;width:18px;height:2px;background:currentColor;border-radius:999px;box-shadow:0 -6px currentColor,0 6px currentColor}.nav-toggle:active{transform:none}.sidebar-overlay{display:none}@media (max-width: 960px){.app{padding-left:0}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,var(--surface-strong) 0%,var(--surface) 100%);border-bottom:1px solid var(--border);padding:var(--space-xs) var(--space-sm)}.app-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,80vw);height:100vh;border-radius:0;border-right:1px solid var(--border);border-left:none;transform:translate(-110%);transition:transform .18s ease,box-shadow .18s ease;z-index:30;box-shadow:10px 0 24px #1118271f}.app-sidebar.sidebar-open{transform:translate(0)}.nav-toggle{display:inline-flex}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#11182759;opacity:0;transition:opacity .18s ease;z-index:20;pointer-events:none}.sidebar-overlay.is-visible{opacity:1;pointer-events:all}.app-content{padding:0;border:none;box-shadow:none}}:root{--font-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text: #19323c;--text-hover: #627075;--text-strong: #18303c;--muted: #8c5e58;--surface: #f7f4f0;--surface-light: #faf9f8;--surface-strong: #ffffff;--border: #d1d5db;--border-soft: #e5e7eb;--accent: #f2545b;--accent-hover: #a93f55;--accent-contrast: #fcfbf9;--accent-contrast-hover: #f7f4f0;--space-xs: .375rem;--space-sm: .75rem;--space-md: 1.25rem;--space-lg: 2rem;font-family:var(--font-base);line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;background-color:var(--surface);color:var(--text)}a{color:var(--accent);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}h1,h2,h3{font-weight:700;color:var(--text-strong)}p{margin:0 0 var(--space-sm)}button{border-radius:8px;border:0;padding:.65rem 1.1rem;font-size:1rem;font-weight:600;font-family:inherit;background-color:var(--accent);color:var(--accent-contrast);cursor:pointer;text-decoration:none;transition:box-shadow .12s ease,filter .12s ease,background-color .12s ease}button:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.7}button:not(.no-hover):not(:disabled):hover{background-color:var(--accent-hover)}button:focus-visible{outline:2px solid var(--text);outline-offset:2px}
