:root{--bg: #14110e;--panel: #1e1a16;--edge: #33291f;--ink: #ece3d4;--muted: #a99a86;--accent: #c8794a;--accent-ink: #1a120c;--error: #e0776b;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.center{min-height:100%;display:grid;place-items:center;padding:2rem}.muted{color:var(--muted)}.error{color:var(--error);font-size:.9rem}.card{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:1.75rem;box-shadow:0 12px 40px #0006}.login{width:min(360px,92vw);display:grid;gap:.85rem}.login h1{font-family:var(--serif);font-weight:600;margin:0;font-size:1.6rem}.login label{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}.login input{background:#17130f;border:1px solid var(--edge);border-radius:8px;color:var(--ink);padding:.6rem .7rem;font-size:1rem}.login input:focus{outline:none;border-color:var(--accent)}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:.6rem .9rem;font-weight:600;cursor:pointer;font-size:.95rem}button:disabled{opacity:.6;cursor:default}.link{background:none;color:var(--muted);padding:0;font-weight:400}.link:hover{color:var(--ink)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.1rem;border-bottom:1px solid var(--edge);background:var(--panel)}.brand{font-family:var(--serif);font-size:1.15rem;font-weight:600}.tabs{display:flex;gap:.25rem;flex:1}.tab{color:var(--muted);text-decoration:none;padding:.4rem .75rem;border-radius:7px;font-size:.92rem}.tab:hover{color:var(--ink);background:#241f19}.tab.active{color:var(--accent-ink);background:var(--accent)}.who{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.content{flex:1;overflow:auto}.pane{max-width:900px;margin:0 auto;padding:2rem 1.25rem}.pane.wide{max-width:1100px}.pane h2,.pane h3{font-family:var(--serif);font-weight:600}select,input[type=text],input[type=email],input[type=password],input:not([type]),textarea{background:#17130f;border:1px solid var(--edge);border-radius:8px;color:var(--ink);padding:.5rem .6rem;font-size:.95rem;font-family:var(--sans)}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;width:100%}.ghost{background:#241f19;color:var(--ink)}button.ghost:hover{background:#2e2820}.reader{display:grid;grid-template-columns:1fr 340px;height:100%}.reader-main{overflow:auto;padding:1.25rem 1.5rem}.reader-controls{display:flex;gap:.6rem;align-items:center;position:sticky;top:0;background:var(--bg);padding-bottom:.75rem}.chapnav{display:flex;align-items:center;gap:.4rem}.reading{max-width:640px}.reading h2{font-size:1.5rem;margin:.5rem 0 1rem}.verse{font-family:var(--serif);font-size:1.12rem;line-height:1.7;margin:.15rem 0;padding:.15rem .4rem;border-radius:6px;cursor:pointer}.verse sup{color:var(--accent);font-family:var(--sans);font-size:.7rem;margin-right:.15rem}.verse:hover{background:#201b16}.verse.sel{background:#2a2018}.study-rail{border-left:1px solid var(--edge);background:var(--panel);overflow:auto;padding:1.25rem 1rem}.study-rail h3{margin-top:0}.study-rail h4{color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;font-family:var(--sans);margin:1rem 0 .5rem}.study-note{background:#17130f;border:1px solid var(--edge);border-radius:8px;padding:.6rem;margin-bottom:.5rem;font-size:.9rem}.commentary{margin-bottom:.4rem;font-size:.9rem}.commentary summary{cursor:pointer;color:var(--ink)}.commentary div{padding:.5rem .2rem;line-height:1.55}.uploader{display:grid;gap:.85rem;background:var(--panel);border:1px dashed var(--edge);border-radius:10px;padding:1rem;margin:.75rem 0}.upload-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.btn-file{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:.5rem .85rem;font-weight:600;font-size:.9rem;cursor:pointer}.btn-file:nth-child(2){background:#241f19;color:var(--ink)}.upload-prog{display:grid;gap:.4rem}.bar{height:8px;background:#17130f;border-radius:6px;overflow:hidden;border:1px solid var(--edge)}.bar-fill{height:100%;background:var(--accent);transition:width .2s}.prog-text{font-size:.85rem}.modules-head{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}.modules-head h3{margin:0}.searchbar{display:flex;gap:.5rem;margin:1rem 0}.searchbar input{flex:1}.results{display:grid;gap:.6rem;margin-bottom:1.5rem}.result{background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:.7rem .85rem}.result-head{font-weight:600;margin-bottom:.25rem}.result-body{font-family:var(--serif);font-size:.95rem;line-height:1.5;color:var(--ink)}table.modules{width:100%;border-collapse:collapse;font-size:.88rem}table.modules td{padding:.4rem .5rem;border-bottom:1px solid var(--edge)}td.kind{color:var(--accent);text-transform:uppercase;font-size:.72rem}.status.ready{color:#8bbf7a}.status.failed{color:var(--error)}.status.processing,.status.pending{color:var(--accent)}.map-list{display:grid;gap:1.5rem}.map-thumbs{display:flex;flex-wrap:wrap;gap:.6rem}.map-thumbs img{height:140px;border-radius:8px;border:1px solid var(--edge);cursor:zoom-in;background:#0d0b09}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:grid;place-items:center;z-index:50;cursor:zoom-out}.lightbox img{max-width:92vw;max-height:92vh;border-radius:8px}.note-new{display:grid;gap:.5rem;max-width:640px;margin-bottom:1.5rem}.note-new button{justify-self:start}.note-list{display:grid;gap:.75rem;max-width:720px}.note-card{background:var(--panel);border:1px solid var(--edge);border-radius:10px;padding:.8rem .95rem}.note-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.4rem}.note-head .note-actions{margin-left:auto;display:flex;gap:.5rem}.note-body{font-family:var(--serif);line-height:1.55;white-space:pre-wrap}.note-edit{display:grid;gap:.5rem}.note-edit button{justify-self:start}.chat{display:flex;flex-direction:column;height:100%;max-width:780px;margin:0 auto;width:100%}.chat-scroll{flex:1;overflow:auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem}.chat-empty{max-width:460px;margin:auto;text-align:center;line-height:1.6}.msg{max-width:85%}.msg.user{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-radius:14px 14px 2px;padding:.6rem .85rem}.msg.assistant{align-self:flex-start}.msg.assistant .msg-text{font-family:var(--serif);font-size:1.02rem;line-height:1.6;white-space:pre-wrap}.msg.user .msg-text{white-space:pre-wrap}.tool-chips{display:flex;gap:.35rem;margin-bottom:.35rem;flex-wrap:wrap}.chip{font-size:.72rem;color:var(--muted);background:#201b16;border:1px solid var(--edge);border-radius:20px;padding:.1rem .55rem}.chat-input{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--edge);background:var(--panel)}.chat-input input{flex:1}.usermenu{position:relative}.usermenu-btn{background:none;color:var(--muted);font-weight:400;padding:.35rem .5rem;font-size:.88rem}.usermenu-btn:hover{color:var(--ink)}.usermenu-drop{position:absolute;right:0;top:110%;background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:.3rem;display:grid;min-width:150px;box-shadow:0 10px 30px #0006;z-index:20}.usermenu-drop a,.usermenu-drop button{text-align:left;background:none;color:var(--ink);text-decoration:none;padding:.5rem .6rem;border-radius:6px;font-size:.9rem;font-weight:400}.usermenu-drop a:hover,.usermenu-drop button:hover{background:#241f19}.settings{max-width:520px;margin-bottom:1.25rem}.settings h3{margin-top:0}.stack{display:grid;gap:.7rem}.stack label{display:grid;gap:.3rem;font-size:.82rem;color:var(--muted)}.stack input:disabled{opacity:.6}.row{display:flex;align-items:center;gap:.75rem}.ok{color:#8bbf7a;font-size:.88rem}.user-new{display:grid;grid-template-columns:1.4fr 1fr 1.2fr auto auto;gap:.5rem;align-items:center}.users-table th{text-align:left;color:var(--muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:.4rem .5rem;border-bottom:1px solid var(--edge)}.users-table td.user-actions{display:flex;gap:.75rem}.users-table select{padding:.3rem .4rem}@media(max-width:760px){.reader{grid-template-columns:1fr}.study-rail{border-left:0;border-top:1px solid var(--edge)}.user-new{grid-template-columns:1fr 1fr}}
