@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap";.signin-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:48px 32px 64px;background:var(--bg)}.signin-wordmark{font-family:var(--serif);font-size:36px;font-weight:700;letter-spacing:.12em;color:var(--accent);margin-bottom:6px}.signin-tagline{font-size:13px;color:var(--text-secondary);letter-spacing:.04em;margin-bottom:48px}.signin-form{width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px}.signin-mode-label{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.signin-error{background:#c94c4c1f;border:1px solid rgba(201,76,76,.3);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--red);line-height:1.4}.signin-field{display:flex;flex-direction:column;gap:6px}.signin-field label{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.signin-field input{background:var(--surface);border:1px solid var(--card-border);border-radius:12px;padding:14px 16px;font-size:16px;color:var(--text-primary);outline:none;transition:border-color .15s;-webkit-appearance:none}.signin-field input::placeholder{color:var(--text-muted)}.signin-field input:focus{border-color:#c9a84c80}.signin-btn{margin-top:8px;background:var(--accent);color:var(--bg);border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:700;letter-spacing:.02em;transition:opacity .15s}.signin-btn:disabled{opacity:.6;cursor:default}.signin-switch{margin-top:24px;font-size:14px;color:var(--text-secondary);text-align:center}.signin-link{color:var(--accent);font-weight:500;cursor:pointer}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-line{background:linear-gradient(90deg,var(--surface) 25%,var(--surface2) 50%,var(--surface) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:4px}.skeleton-card{background:var(--surface);border:1px solid var(--card-border);border-radius:14px;padding:18px}.home-screen{padding-bottom:40px}.home-header{padding:56px 24px 20px}.home-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.verso-wordmark{font-family:var(--serif);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.signout-btn{background:none;border:none;font-size:12px;color:var(--text-muted);padding:4px 0;cursor:pointer;transition:color .15s}.signout-btn:hover{color:var(--text-secondary)}.home-greeting{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.3;margin-bottom:6px}.home-sub{font-size:13px;color:var(--text-secondary)}.progress-strip{margin:20px 24px 0;background:var(--surface);border-radius:12px;padding:16px;border:1px solid var(--card-border)}.progress-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.progress-stats{display:flex;justify-content:space-between;align-items:center}.progress-pct{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--accent)}.progress-detail{font-size:12px;color:var(--text-secondary);text-align:right;line-height:1.5}.chapter-list{padding:0 24px 32px;display:flex;flex-direction:column;gap:10px}.chapter-card{background:var(--surface);border:1px solid var(--card-border);border-radius:14px;padding:18px;cursor:pointer;position:relative;overflow:hidden}.chapter-card.current{border-color:#c9a84c4d}.chapter-card.current:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.chapter-number{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.chapter-title{font-family:var(--serif);font-size:16px;font-weight:600;margin-bottom:10px;line-height:1.35}.chapter-meta{display:flex;align-items:center;gap:12px}.chapter-status{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.status-dot.active{background:var(--green)}.chapter-time{font-size:11px;color:var(--text-muted);margin-left:auto}.chapter-screen{padding-bottom:40px}.chapter-header{padding:52px 24px 20px;border-bottom:1px solid var(--card-border)}.back-btn{font-size:13px;color:var(--accent);cursor:pointer;margin-bottom:20px;font-weight:500}.chapter-eyebrow{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.chapter-header-title{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.3;margin-bottom:16px}.chapter-progress-row{display:flex;align-items:center;gap:10px}.chapter-progress-track{flex:1;background:var(--progress-bg);border-radius:3px;height:3px}.chapter-progress-fill{background:var(--accent);height:3px;border-radius:3px}.chapter-progress-text{font-size:11px;color:var(--text-secondary);white-space:nowrap}.section-list{padding:16px 24px 32px;display:flex;flex-direction:column;gap:8px}.section-item{display:flex;align-items:center;gap:14px;padding:16px;background:var(--surface);border-radius:12px;border:1px solid var(--card-border);cursor:pointer}.section-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;color:transparent}.section-check.done{background:var(--accent);border-color:var(--accent);color:var(--bg)}.section-check.active{border-color:var(--accent)}.section-info{flex:1}.section-title{font-size:14px;font-weight:500;margin-bottom:3px;line-height:1.35}.section-time{font-size:11px;color:var(--text-muted)}.section-arrow{color:var(--text-muted);font-size:16px}.quiz-wrap{animation:fadeIn .3s ease}.pool-info{font-size:11px;color:var(--text-muted);margin-bottom:16px}.quiz-question{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.4;margin-bottom:24px}.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.quiz-option{padding:16px 18px;background:var(--surface);border:1.5px solid var(--card-border);border-radius:12px;font-size:14px;color:var(--text-primary);cursor:pointer;line-height:1.45;text-align:left;transition:border-color .15s,background .15s}.quiz-option.selected{border-color:var(--accent);background:var(--accent-dim)}.quiz-option.correct{border-color:var(--green);background:#4caf9a1f;color:var(--green)}.quiz-option.incorrect{border-color:var(--red);background:#c94c4c1f;color:var(--red)}.quiz-option:disabled{cursor:default}.quiz-feedback{padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.55;margin-bottom:16px}.quiz-feedback.correct{background:#4caf9a1f;color:var(--green)}.quiz-feedback.incorrect{background:#c94c4c1f;color:#e87878}.quiz-submit{width:100%;padding:15px;background:var(--accent);color:var(--bg);border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:12px}.quiz-submit:disabled{opacity:.35;cursor:default}.complete-banner{background:var(--accent-dim);border:1px solid rgba(201,168,76,.25);border-radius:12px;padding:24px;text-align:center}.complete-score{font-family:var(--serif);font-size:42px;color:var(--accent);font-weight:700}.complete-label{font-size:12px;color:var(--text-secondary);margin-top:4px;margin-bottom:16px}.retry-btn{padding:11px 24px;background:none;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}.retry-remaining{font-size:11px;color:var(--text-muted);margin-top:10px}.term-tooltip{position:fixed;bottom:100px;left:50%;transform:translate(-50%);width:340px;background:var(--surface2);border:1px solid var(--card-border);border-radius:14px;padding:16px;z-index:50;box-shadow:0 8px 32px #0009;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.term-tooltip-word{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.term-tooltip-def{font-size:13px;color:var(--text-secondary);line-height:1.55;padding-right:20px}.term-tooltip-close{position:absolute;top:12px;right:14px;color:var(--text-muted);cursor:pointer;font-size:16px}.reading-screen{position:relative}.reading-topbar{position:sticky;top:0;width:100%;padding:48px 20px 12px;background:linear-gradient(to bottom,var(--bg) 75%,transparent);z-index:10;display:flex;align-items:center;gap:12px}.reading-back{color:var(--accent);cursor:pointer;font-size:18px;flex-shrink:0}.reading-progress-track{flex:1;background:var(--progress-bg);border-radius:3px;height:3px}.reading-progress-fill{background:var(--accent);height:3px;border-radius:3px;transition:width .3s ease}.reading-chunk-count{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.reading-nav-icons{display:flex;gap:4px;flex-shrink:0}.topbar-icon-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s}.topbar-icon-btn:hover{color:var(--accent)}.reading-content{padding:20px 24px 120px}.chunk-container{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chunk-section-label{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.chunk-heading{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.3;margin-bottom:20px}.chunk-body{font-size:17px;line-height:1.75;color:#d4cfc7;font-weight:300}.chunk-body p{margin-bottom:20px}.key-term{color:var(--accent);font-weight:500;border-bottom:1px solid rgba(201,168,76,.3);cursor:pointer}.pull-quote{border-left:2px solid var(--accent);padding:12px 16px;margin:24px 0;background:var(--accent-dim);border-radius:0 8px 8px 0}.pull-quote p{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--text-primary);line-height:1.6;margin:0}.reading-nav{position:sticky;bottom:0;width:100%;padding:16px 24px 32px;background:linear-gradient(to top,var(--bg) 70%,transparent);display:flex;gap:12px}.nav-btn{flex:1;padding:14px;border-radius:12px;border:none;font-size:14px;font-weight:600;cursor:pointer}.btn-prev{background:var(--surface);color:var(--text-secondary);border:1px solid var(--card-border)}.btn-next{background:var(--accent);color:var(--bg)}.phone{width:390px;min-height:100vh;background:var(--bg);position:relative;overflow-x:hidden}@media (max-width: 420px){.phone{width:100%}}.screen{display:flex;flex-direction:column;min-height:100vh}.section-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:24px 24px 12px}.toggle{width:42px;height:24px;border-radius:12px;border:none;cursor:pointer;position:relative;flex-shrink:0;transition:background .2s;background:var(--progress-bg)}.toggle.on{background:var(--accent)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.toggle.on:after{transform:translate(18px)}.toggle:disabled{opacity:.3;cursor:default}.saved-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:var(--green);color:var(--bg);font-size:13px;font-weight:600;padding:10px 20px;border-radius:10px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:200}.saved-toast.show{opacity:1}.progress-bar-track{background:var(--progress-bg);border-radius:3px;height:4px;margin-bottom:8px}.progress-bar-fill{background:var(--accent);height:4px;border-radius:3px}.error-msg{font-size:13px;color:var(--text-secondary);padding:16px 0;text-align:center}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg: #0F0E0C;--surface: #1A1916;--surface2: #232220;--accent: #C9A84C;--accent-dim: rgba(201, 168, 76, .15);--text-primary: #F0EDE6;--text-secondary: #9A9589;--text-muted: #5A564F;--progress-bg: #2A2825;--card-border: rgba(255, 255, 255, .06);--serif: "Playfair Display", Georgia, serif;--sans: "Inter", system-ui, sans-serif;--green: #4CAF9A;--red: #C94C4C}html,body,#root{height:100%;background:#111}body{color:var(--text-primary);font-family:var(--sans);display:flex;justify-content:center}#root{width:100%;display:flex;justify-content:center}button{font-family:var(--sans);cursor:pointer}input{font-family:var(--sans)}a{color:inherit;text-decoration:none}
