:root{--page-bg: #f2f0ea;--surface: #ffffff;--top-bar: #ffffff;--text-primary: #1a2744;--text-secondary: #8899ae;--text-label: #8899ae;--border: #dce4ec;--divider: #e4ddd2;--input-bg: #ffffff;--chip-bg: #ebf0f9;--chip-text: #1a4a8c;--link: #1a4a8c;--accent-hover: rgba(26, 74, 140, .05);--navy-dark: #0c2549;--navy: #1a4a8c;--gold: rgba(212, 175, 55, .85);--gold-dim: rgba(212, 175, 55, .5);--success: #16a34a;--danger: #dc2626;--shadow-card: 0 1px 4px rgba(0, 0, 0, .07);--shadow-raised: 0 8px 30px rgba(0, 0, 0, .16);font-family:Lora,Georgia,serif;color:var(--text-primary)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page-bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.kicker{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold)}.section-label{font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-label)}.topbar{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-card)}.topbar h1{margin:0;font-size:19px;font-weight:700;letter-spacing:.2px}.topbar .gold-rule{height:1px;width:44px;background:var(--gold-dim);margin-top:6px}.btn{border:none;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:600;transition:opacity .12s ease,background .12s ease}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff}.btn-primary:not(:disabled):hover{opacity:.9}.btn-ghost{background:transparent;border:1.5px solid var(--link);color:var(--link)}.btn-ghost:not(:disabled):hover{background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-text{background:transparent;border:none;color:var(--link);font-weight:600;font-size:13px;padding:6px 8px}.btn-text:hover{text-decoration:underline}.card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-card)}.field-label{display:block;margin-bottom:8px}.input{width:100%;background:var(--input-bg);border:1.5px solid var(--border);border-radius:10px;padding:11px 13px;font-size:14px;color:var(--text-primary);outline:none}.input:focus{border-color:var(--navy)}textarea.input{resize:vertical;line-height:1.5}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;padding:32px 28px}.login-card .crest{text-align:center;margin-bottom:24px}.login-card .crest h1{margin:10px 0 0;font-size:21px;font-weight:700;color:var(--text-primary)}.login-card .crest p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.form-row{margin-bottom:16px}.error-text{color:var(--danger);font-size:12.5px;margin:4px 0 14px}.app-shell{height:100%;display:flex;flex-direction:column}.panes{flex:1;display:grid;grid-template-columns:280px 1fr;min-height:0}.pane-left{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:18px 14px}.pane-right{overflow-y:auto;padding:24px 28px}.book-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-radius:10px;padding:12px;margin-bottom:4px}.book-row:hover{background:var(--accent-hover)}.book-row.active{background:var(--chip-bg)}.book-row .title{font-size:14px;font-weight:600;color:var(--text-primary)}.book-row .sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.count-badge{margin-left:auto;background:var(--chip-bg);color:var(--chip-text);font-size:11px;font-weight:700;border-radius:10px;padding:3px 9px}.entries-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.entries-header h2{margin:0;font-size:18px;font-weight:700}.entry-card{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:8px}.entry-card .accent{width:3px;align-self:stretch;background:var(--navy);border-radius:2px}.entry-card .ref{font-size:14px;font-weight:600;color:var(--text-primary)}.entry-card .preview{font-size:12px;font-style:italic;color:var(--text-secondary);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}.entry-actions{margin-left:auto;display:flex;gap:6px}.empty{text-align:center;padding:48px 20px;color:var(--text-secondary)}.empty h3{color:var(--text-primary);margin:0 0 6px;font-size:15px}.empty p{margin:0;font-size:13px}.banner{background:#fdecea;color:var(--danger);border:1px solid #f5c6c0;border-radius:10px;padding:10px 14px;font-size:13px;margin:16px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c254973;display:grid;place-items:center;padding:24px;z-index:10}.modal{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-raised);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-head{padding:18px 22px;border-bottom:1px solid var(--divider)}.modal-head h2{margin:0;font-size:17px;font-weight:700}.modal-body{padding:20px 22px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 22px;border-top:1px solid var(--divider)}.confirm{max-width:400px;padding:24px;text-align:center}.confirm h2{margin:0 0 8px;font-size:17px}.confirm p{margin:0 0 20px;color:var(--text-secondary);font-size:13.5px;line-height:1.5}.confirm .row{display:flex;gap:10px;justify-content:center}.pill-group{display:flex;flex-direction:column;gap:6px}.pill{border:1.5px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 14px;text-align:left;font-size:13.5px;font-weight:500;color:var(--text-primary)}.pill.selected{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.marker-hint{font-size:11.5px;font-style:italic;color:var(--text-secondary);margin:4px 0 10px}.marker-hint b{text-transform:uppercase;letter-spacing:.4px;font-style:normal}.book-illustration{width:100%;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-card);display:block}.book-illustration.interactive{cursor:crosshair}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--navy-dark);color:#fff;padding:11px 20px;border-radius:22px;font-size:13px;box-shadow:var(--shadow-raised);z-index:20}.spinner-wrap{height:100%;display:grid;place-items:center;color:var(--text-secondary);font-size:14px}
