:root{--bg: #f6f2ea;--panel: rgba(255, 255, 255, .94);--ink: #141210;--muted: #5a5652;--stroke: #e1d9cc;--accent: #14524b;--accent-2: #e26d5c;--shadow: 0 18px 50px rgba(0, 0, 0, .07);--rounded: 12px;color-scheme:light}html,body,#root{height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.appRoot{height:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}.readerShell{position:relative;height:100%;width:100%;overflow:hidden}.readerViewport{position:absolute;inset:0}.tapOverlay{position:absolute;inset:0;background:transparent;z-index:10}.chrome{pointer-events:none}.chromeVisible{pointer-events:auto}.topBar,.bottomBar{position:absolute;left:0;right:0;z-index:20;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(120,120,140,.18)}.topBar{top:0;height:54px;display:flex;align-items:center;padding:0 12px;transform:translateY(-110%);transition:transform .18s ease}.chromeVisible .topBar{transform:translateY(0)}.topTitle{flex:1;text-align:center;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}.topActions{display:flex;gap:8px}.appTopBar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--stroke);background:var(--panel)}.appTitle{font-weight:700;font-size:15px;color:var(--ink)}.bottomBar{bottom:0;padding:10px 12px 14px;transform:translateY(110%);transition:transform .18s ease;border-top:1px solid rgba(120,120,140,.18);border-bottom:0}.chromeVisible .bottomBar{transform:translateY(0)}.progressRow{display:flex;align-items:center;gap:10px;margin-bottom:8px}.progressLeft{font-size:12px;font-weight:600;width:52px}.progressCenter{font-size:12px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scrubber{width:100%}.iconBtn{appearance:none;border:1px solid var(--stroke);background:var(--panel);color:var(--accent);border-radius:var(--rounded);padding:8px 10px;font-size:13px;min-width:44px}.iconBtn:active{transform:scale(.98)}.drawer{position:absolute;top:0;bottom:0;right:0;width:min(360px,92vw);z-index:30;transform:translate(105%);transition:transform .2s ease;box-shadow:-16px 0 40px #00000038;border-left:1px solid rgba(120,120,140,.18);display:flex;flex-direction:column}.drawerOpen{transform:translate(0)}.drawerHeader{height:54px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid rgba(120,120,140,.18)}.drawerTitle{flex:1;font-weight:700;font-size:14px}.drawerBody{flex:1;overflow:auto;padding:10px 10px 18px}.tocList{display:flex;flex-direction:column;gap:6px}.tocItem{width:100%;text-align:left;border:1px solid rgba(120,120,140,.18);background:#ffffff0d;color:inherit;border-radius:14px;padding:10px 12px;font-size:14px}.tocItem:active{transform:scale(.99)}.tocLabel{display:inline-block;line-height:1.2}.settingsPanel{display:flex;flex-direction:column;gap:14px}.settingsSection{border:1px solid rgba(120,120,140,.18);border-radius:16px;padding:12px;background:#ffffff0d}.settingsLabel{font-weight:700;font-size:13px;margin-bottom:10px}.segmented{display:flex;gap:8px}.segBtn{flex:1;border:1px solid rgba(120,120,140,.2);background:#ffffff12;color:inherit;border-radius:14px;padding:10px;font-weight:650;font-size:13px}.segActive{background:#78788c38}.stepper{display:flex;align-items:center;gap:10px}.stepBtn{border:1px solid rgba(120,120,140,.2);background:#ffffff12;color:inherit;border-radius:14px;padding:10px 12px;font-weight:800;width:44px}.stepVal{flex:1;text-align:center;font-weight:650;font-size:13px}.settingsHint{font-size:12px;padding:2px 4px}.lockedOverlay{position:absolute;inset:0;z-index:50;display:grid;place-items:center}.lockedCard{width:min(520px,92vw);border:1px solid;border-radius:18px;padding:18px;background:#ffffff0f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lockedTitle{font-weight:800;font-size:16px;margin-bottom:8px}.lockedText{font-size:13px;margin-bottom:14px}.lockedActions{display:flex;gap:10px;justify-content:flex-end}.btn,.btnSecondary{border-radius:14px;padding:10px 12px;font-weight:700;border:1px solid rgba(120,120,140,.22);background:#ffffff14;color:inherit}.btnSecondary{background:#ffffff0a}.emptyState{padding:10px 4px;font-size:13px}.centerScreen{height:100vh;display:grid;place-items:center;background:var(--bg)}.authCard{width:min(420px,92vw);border:1px solid var(--stroke);border-radius:calc(var(--rounded) + 6px);padding:22px;background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.authTitle{font-weight:800;font-size:18px;color:var(--ink)}.authLabel{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.authInput{border:1px solid var(--stroke);border-radius:var(--rounded);padding:12px;font-size:14px;background:#fff;color:var(--ink)}.authActions{display:flex;gap:10px;justify-content:flex-end}.authError{color:#c33;font-size:13px}.btn,.btnSecondary{border-radius:var(--rounded);padding:10px 12px;font-weight:700;border:1px solid var(--stroke);background:#fff;color:var(--accent)}.btn{background:var(--accent);color:#fdfbf8;border-color:var(--accent)}.btnSecondary{background:var(--panel)}
