:root { --ink:#1b1915; --paper:#f7f3ec; --surface:#fffdfa; --line:#e7dfd4; --muted:#5f584f; --accent:#d97b46; --deep:#171512; --sage:#547b65; color-scheme:light; font-family:"DM Sans",ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--paper); color:var(--ink); }
button,input,textarea,select { font:inherit; } button { cursor:pointer; } button:disabled { cursor:wait; opacity:.65; }
.app-shell { min-height:100dvh; } .login-view { width:min(100% - 40px,440px); margin:0 auto; min-height:100dvh; display:flex; flex-direction:column; justify-content:center; } .login-mark { width:44px; height:44px; border-radius:14px; background:var(--deep); color:var(--paper); display:grid; place-items:center; font:500 28px/1 "Newsreader",serif; margin-bottom:40px; } .eyebrow { color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.1em; margin:0 0 10px; text-transform:uppercase; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:"Newsreader",Georgia,serif; font-weight:400; letter-spacing:-.035em; } .login-view h1 { font-size:46px; margin-bottom:12px; } .login-copy,.page-heading>p { color:var(--muted); line-height:1.55; } .login-form,.capture-form { display:grid; gap:12px; margin-top:28px; } input,textarea,select { width:100%; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); padding:15px 16px; outline:none; } textarea { resize:vertical; line-height:1.5; } input:focus,textarea:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 3px #d97b4626; } .primary-button { min-height:50px; border:0; border-radius:13px; background:var(--deep); color:#fffaf3; display:flex; align-items:center; justify-content:space-between; padding:0 18px; font-weight:600; } .form-error { color:#a63d33; min-height:20px; margin:0; }.workspace { width:min(100%,1080px); margin:auto; padding-bottom:92px; }.topbar { height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 22px; }.wordmark,.quiet-button,.text-button,.back-button { border:0; background:transparent; color:inherit; }.wordmark { padding:0; font:500 28px/1 "Newsreader",serif; letter-spacing:-.06em; }.wordmark .almond-dot { display:inline-block; width:.3em; height:.45em; margin-left:.06em; transform:rotate(26deg); }
.wordmark .almond-dot svg { display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 1px 1px #b25e3455); }.topbar-actions { display:flex; align-items:center; gap:8px; }.section-picker select { width:auto; padding:8px 28px 8px 10px; border:0; background:transparent; color:var(--muted); font-size:13px; }.quiet-button { color:var(--muted); font-size:13px; padding:9px; }.content-wrap { padding:14px 22px 36px; max-width:720px; }.hero-row { display:flex; align-items:flex-start; justify-content:space-between; }.hero-row h1 { font-size:clamp(44px,11vw,68px); line-height:.88; margin:0; }.hero-row em { color:var(--accent); }.orb { width:58px; height:87px; margin-top:0; transform:rotate(22deg); overflow:visible; filter:drop-shadow(0 10px 22px #b25e3466); }.review-cta { width:100%; margin:38px 0 18px; padding:22px; text-align:left; border:0; border-radius:19px; background:var(--deep); color:#fffaf3; display:grid; grid-template-columns:1fr auto; }.review-cta-label,.review-cta-detail { font-size:13px; color:#c9c0b5; }.review-cta strong { grid-row:span 2; align-self:center; font:400 54px/.8 "Newsreader",serif; }.review-cta-detail { margin-top:8px; }.overview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.overview-grid article { min-height:84px; padding:14px; border-radius:14px; background:#ede7dd; }.overview-grid span { display:block; font:400 28px/1 "Newsreader",serif; }.overview-grid small { color:var(--muted); font-size:11px; line-height:1.2; display:block; margin-top:7px; }.recent-section,.queue-section { margin-top:42px; }.section-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }.section-heading h2 { font-size:25px; margin:0; }.text-button { color:var(--accent); font-size:13px; padding:8px 0; }.item-list { display:grid; gap:7px; }.item-row { width:100%; padding:15px 4px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; color:var(--ink); }.item-row:hover strong { color:var(--accent); }.item-row strong { display:block; font:500 16px/1.3 "Newsreader",serif; margin:4px 0; }.item-meta,.item-detail-line { color:var(--muted); font-size:12px; }.item-detail-line { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.45; }.page-heading { margin:22px 0 25px; }.page-heading h1 { font-size:48px; line-height:.9; margin-bottom:12px; }.search-box { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:13px; background:var(--surface); padding-left:14px; color:var(--muted); }.search-box input { border:0; box-shadow:none; }.library-list { margin-top:18px; }.item-detail { margin-top:30px; padding:26px 0; border-top:1px solid var(--line); }.item-detail h2 { font-size:34px; margin:6px 0 12px; }.summary,.profile-card p { color:#4b463f; line-height:1.65; }.chip-row { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0 26px; }.chip-row span { padding:6px 9px; border-radius:99px; background:#e9e3d9; color:#5a544a; font-size:12px; }.item-detail h3 { font:500 18px "Newsreader",serif; margin:26px 0 8px; }.stored-card { padding:12px 0; border-top:1px solid var(--line); }.stored-card summary { cursor:pointer; line-height:1.4; }.stored-card p { color:var(--muted); line-height:1.55; }.capture-form { margin-top:24px; }.capture-form textarea:first-of-type { font:400 22px/1.4 "Newsreader",serif; }.form-note { color:var(--sage); min-height:20px; margin:2px 0; font-size:13px; }.profile-card { padding:21px; border-radius:17px; background:#ede7dd; }.empty-copy { color:var(--muted); line-height:1.5; margin:14px 0; }.bottom-nav { position:fixed; bottom:0; left:0; right:0; height:76px; padding:7px max(13px,calc((100vw - 720px)/2)); display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:#fffdfaee; border-top:1px solid var(--line); backdrop-filter:blur(14px); }.nav-item { border:0; background:transparent; color:var(--muted); display:grid; place-items:center; gap:2px; font-size:10px; }.nav-item .nav-icon { display:grid; place-items:center; width:26px; height:26px; }
.nav-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.nav-item.active { color:var(--ink); font-weight:600; }.review-head { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:13px; margin:18px 0 26px; }.back-button { padding:6px 0; color:var(--muted); }.review-card { padding:28px 0; }.card-kind { color:var(--accent); font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.review-card h1 { font-size:clamp(31px,8vw,44px); line-height:1.03; margin:20px 0 34px; }.answer-form { display:grid; gap:12px; }.card-options { display:grid; gap:7px; margin:-18px 0 24px; }.option-button { padding:12px; border:1px solid var(--line); border-radius:11px; background:var(--surface); text-align:left; color:var(--ink); }.grade-panel { margin-top:26px; padding:20px; border-radius:16px; background:#ede7dd; }.grade-panel p { line-height:1.55; }.grade-panel p:first-child { font:500 19px/1.35 "Newsreader",serif; }.grade-panel p:last-of-type { color:var(--muted); }.rating-buttons { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.rating-buttons button { min-height:44px; border:0; border-radius:10px; background:#fffdfa; color:var(--ink); font-size:12px; }.rate-1 { color:#a8483f!important; }.rate-4 { color:#33765b!important; }.empty-state { padding:70px 0; }.empty-state h1 { font-size:48px; margin-bottom:10px; }.empty-state p:not(.eyebrow) { color:var(--muted); line-height:1.55; margin-bottom:26px; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Keep the focused, bottom-navigation layout through tablet widths.  The old
   760px breakpoint left the desktop rail competing with the page for space. */
@media (min-width:1024px) { .workspace { width:min(100%,1200px); padding-bottom:52px; }.content-wrap { max-width:790px; margin-left:232px; padding:56px 34px 64px; }.topbar { padding:0 34px; }.bottom-nav { left:max(24px,calc((100vw - 1200px)/2)); right:auto; top:116px; bottom:auto; width:172px; height:auto; padding:0; display:grid; grid-template-columns:1fr; align-content:start; border:0; background:transparent; backdrop-filter:none; }.nav-item { grid-template-columns:26px 1fr; justify-items:start; padding:10px 12px; border-radius:10px; font-size:13px; }.nav-item.active { background:#e9e2d8; }.capture-nav { margin-top:9px; background:transparent!important; color:var(--muted)!important; }.capture-nav.active { background:#e9e2d8!important; color:var(--ink)!important; }.hero-row { max-width:650px; }.item-row { padding:16px 5px; } }
@media (prefers-color-scheme:dark) { :root { --ink:#f3ede4; --paper:#171512; --surface:#211e1a; --line:#38322b; --muted:#b4aa9c; --deep:#f3ede4; --accent:#f29a62; --sage:#8fc7a7; color-scheme:dark; }.login-mark { background:#f3ede4; color:#171512; }.primary-button,.review-cta { color:#171512; background:#f3ede4; }.review-cta-label,.review-cta-detail { color:#736b62; }.overview-grid article,.profile-card,.grade-panel { background:#27231e; }.bottom-nav { background:#171512e8; }.nav-item.active { background:#27231e; color:var(--ink); }.capture-nav span { background:transparent; color:inherit; }.capture-nav { background:transparent!important; color:var(--muted)!important; }.capture-nav.active { background:#27231e!important; color:var(--ink)!important; }.rating-buttons button { background:#211e1a; }.chip-row span { background:#312c26; color:#d9d1c5; } }
.review-actions { display:flex; justify-content:space-between; gap:8px; margin-top:16px; }
.item-actions { display:flex; flex-wrap:wrap; gap:14px; margin:14px 0; }
.feedback-form { display:grid; gap:8px; margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.capture-progress { display:grid; grid-template-columns:minmax(0,1fr) 92px; align-items:center; gap:10px; margin-top:10px; color:var(--muted); font-size:11px; }
.capture-progress-track { height:5px; overflow:hidden; border-radius:99px; background:var(--line); }
.capture-progress-track i { display:block; height:100%; border-radius:inherit; background:var(--accent); transition:width .25s ease; }
.group-heading { display:flex; align-items:center; gap:8px; margin:26px 0 2px; color:var(--muted); font:600 11px/1 "DM Sans",sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.group-heading span { padding:3px 7px; border-radius:99px; background:var(--line); font-size:10px; letter-spacing:0; }
.link-row { display:block; width:100%; padding:9px 0; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); font-size:13px; line-height:1.4; text-align:left; }
.text-button.danger { color:#b3402d; }
.item-entry { display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.item-entry .item-row { flex:1; min-width:0; border-bottom:0; }
.practice-button { flex:none; padding:8px 14px; border:1px solid var(--accent); border-radius:99px; background:transparent; color:var(--accent); font-size:13px; font-weight:600; }
.practice-button:hover { background:var(--accent); color:var(--paper); }
.item-actions .practice-button { padding:10px 18px; }
.play-button { display:grid; place-items:center; flex:none; width:34px; height:34px; padding:0 0 0 2px; border:1px solid var(--accent); border-radius:50%; background:transparent; color:var(--accent); font-size:13px; line-height:1; }
.play-button:hover { background:var(--accent); color:var(--paper); }
.practice-control { display:inline-flex; align-items:center; gap:9px; color:var(--accent); font-size:13px; font-weight:600; }
.item-danger-row { display:flex; align-items:center; gap:10px; margin:6px 0 20px; }
.item-danger-row .danger-button { margin:0; }
.item-danger-row .practice-button:disabled { opacity:.45; cursor:default; }
.whoami { color:var(--muted); font-size:13px; }
.settings-button { font-size:19px; line-height:1; }
.usage-section { margin-bottom:32px; }.usage-summary { display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:20px; border-radius:17px; background:#ede7dd; color:#1b1915; }.usage-summary strong { color:#1b1915; font:400 30px/1 "Newsreader",serif; }.usage-summary span { color:#6a6257; font-size:13px; }.usage-summary .usage-percent { align-self:center; color:#1b1915; font-weight:600; }.usage-track { grid-column:1/-1; height:7px; overflow:hidden; border-radius:99px; background:#d9d1c5; }.usage-track i { display:block; height:100%; border-radius:inherit; background:var(--accent); }.usage-details { margin-top:12px; }.usage-document { display:flex; justify-content:space-between; gap:16px; padding:11px 2px; border-bottom:1px solid var(--line); }.usage-document strong { font:500 15px/1.35 "Newsreader",serif; }.usage-document span { flex:none; color:var(--muted); font-size:12px; text-align:right; }
@media (max-width:560px) { .whoami { display:none; } }
.wordmark { white-space:nowrap; flex:none; }
.stack-form { display:grid; gap:10px; margin:6px 0 18px; }
.stack-form input { font:400 15px/1.5 "DM Sans",sans-serif; }
.account-section, .people-section { margin-top:36px; }
.danger-button { margin:6px 0 20px; padding:9px 16px; border:1px solid #b3402d; border-radius:10px; background:transparent; color:#b3402d; font-size:13px; font-weight:600; }
.danger-button:hover { background:#b3402d; color:#fff; }
.capture-form { display:grid; gap:14px; }
.capture-form .mode-panel { display:grid; gap:14px; }
#capture-text { font:400 22px/1.4 "Newsreader",serif; }
#capture-note, #capture-url { font:400 15px/1.5 "DM Sans",sans-serif; }
.segmented { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:12px; background:var(--surface); justify-self:start; }
.seg { padding:8px 16px; border:0; border-radius:9px; background:transparent; color:var(--muted); font-size:14px; }
.seg.active { background:var(--deep); color:var(--paper); }
.file-pick { display:flex; align-items:center; min-height:52px; padding:0 16px; border:1px dashed var(--muted); border-radius:12px; color:var(--muted); font-size:14px; cursor:pointer; }
.file-pick input { position:absolute; width:1px; height:1px; opacity:0; }
.depth-choice { display:grid; gap:8px; margin:0; padding:0; border:0; }
.depth-choice legend { margin-bottom:6px; padding:0; color:var(--muted); font-size:13px; }
.depth-choice label { display:flex; align-items:flex-start; gap:10px; padding:11px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); cursor:pointer; font-size:13px; line-height:1.4; color:var(--muted); }
.depth-choice label:has(input:checked) { border-color:var(--accent); }
.depth-choice strong { display:block; color:var(--ink); font-size:14px; }
.depth-choice input { flex:none; width:18px; height:18px; margin:2px 0 0; padding:0; border:0; background:transparent; appearance:auto; accent-color:var(--accent); }
.depth-choice label span { flex:1; min-width:0; }
.item-detail { scroll-margin-top:16px; }
.guidelines-section { margin-top:36px; }
.guideline-row { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.5; }
.card-feedback { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
.card-feedback-actions { display:flex; justify-content:space-between; gap:8px; }
.secondary-button { flex:none; padding:8px 16px; border:1px solid var(--accent); border-radius:99px; background:transparent; color:var(--accent); font-size:13px; font-weight:600; }
.secondary-button:hover { background:var(--accent); color:var(--paper); }
.rating-buttons button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.rating-buttons button small { color:var(--accent); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.rating-buttons button.suggested { outline:1.5px solid var(--accent); outline-offset:-1.5px; }
.math { display:inline-block; max-width:100%; overflow-x:auto; overflow-y:hidden; vertical-align:middle; scrollbar-width:none; }
.math::-webkit-scrollbar { display:none; }
.math .katex { font-size:1.05em; }
.math-fallback { font-family:ui-monospace,monospace; font-size:.9em; }
.card-feedback-form { display:grid; gap:8px; margin-top:8px; }
.card-feedback-form textarea, .review-feedback-form textarea { font:400 15px/1.5 "DM Sans",sans-serif; padding:12px 14px; }
.review-summary { padding-bottom:24px; }
.review-summary h1 { margin:6px 0 10px; }
.regen-cards { margin:22px 0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.review-feedback-form { display:grid; gap:10px; margin:26px 0 12px; }
.review-feedback-form label { font-size:14px; font-weight:600; }
.summary-note { color:var(--muted); font-size:13px; line-height:1.6; }
.text-button.inline { display:inline; padding:0; }
.profile-text { white-space:pre-wrap; }
.pending-update { margin-top:22px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.pending-update .profile-text { color:var(--ink); }
.audit { font-size:13px; }
.audit.pass { color:var(--sage); }
.audit.flagged { color:#b3402d; }
.pending-update input { flex:1; min-width:160px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); }
.setup-form, .profile-feedback { display:grid; gap:12px; margin-top:18px; }
.setup-form label { display:grid; gap:6px; font-size:13px; color:var(--muted); }
.setup-form textarea, .profile-feedback textarea { font:400 15px/1.5 "DM Sans",sans-serif; padding:12px 14px; }
.insight-section { margin-top:36px; }
.insight { border-bottom:1px solid var(--line); }
.insight summary { padding:14px 2px; cursor:pointer; font-size:15px; }
.insight pre { margin:0 0 16px; padding:0 2px; white-space:pre-wrap; word-break:break-word; color:var(--muted); font:13px/1.6 "DM Sans",sans-serif; }
.link-row:hover strong { color:var(--accent); }
.link-row strong { display:block; font-weight:600; }
.link-row span { display:block; margin-top:3px; color:var(--muted); font-size:12px; line-height:1.5; }
.history-row { margin:8px 0; color:var(--muted); font-size:13px; line-height:1.5; }
.section-form { display:flex; align-items:center; gap:8px; }
.section-form input { width:120px; padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font-size:13px; }
.section-form .form-error { flex-basis:100%; }
.graph-section { margin-top:44px; }
.graph-canvas { position:relative; height:360px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.graph-canvas canvas { display:block; }
.graph-hint { color:var(--muted); font-size:12px; }
.capture-progress.processed .capture-progress-track i { background:var(--sage); }
.capture-progress.failed .capture-progress-track i { background:#a8483f; }
@media (max-width:1023px) { .bottom-nav { grid-template-columns:repeat(5,1fr); } }
.developer-feedback-form { margin-top:24px; }
.developer-feedback-form textarea { font:400 16px/1.5 "DM Sans",sans-serif; }
.developer-feedback-history { margin-top:42px; }
.developer-feedback-entry { padding:13px 0; border-bottom:1px solid var(--line); }
.developer-feedback-entry .item-meta { margin-bottom:5px; }
.developer-feedback-copy { margin:0; white-space:pre-wrap; line-height:1.55; }
.workspace { position:relative; overflow:visible; }
.ambient-almonds { position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.workspace > .topbar, .workspace > .content-wrap { position:relative; z-index:1; }
.workspace > .bottom-nav { position:fixed; z-index:10; }
.ambient-almond { position:absolute; width:clamp(82px,13vw,170px); height:auto; opacity:.13; filter:drop-shadow(0 18px 28px #b25e3438); }
.ambient-one { top:7%; right:4%; transform:rotate(23deg); width:clamp(140px,20vw,250px); opacity:.18; }
.ambient-two { top:31%; left:2%; transform:rotate(-36deg); }
.ambient-three { top:59%; right:8%; transform:rotate(70deg) scale(.72); opacity:.1; }
.ambient-four { bottom:4%; left:26%; transform:rotate(-12deg) scale(.55); opacity:.08; }
.ambient-five { top:16%; left:38%; transform:rotate(18deg) scale(.42); opacity:.07; }
.ambient-six { bottom:18%; right:34%; transform:rotate(-58deg) scale(.35); opacity:.08; }
.ambient-seven { top:44%; right:42%; transform:rotate(38deg) scale(.31); opacity:.07; }
.ambient-eight { top:73%; left:7%; transform:rotate(-24deg) scale(.45); opacity:.08; }
.ambient-nine { bottom:7%; right:17%; transform:rotate(58deg) scale(.4); opacity:.07; }
.ambient-ten { top:56%; left:47%; transform:rotate(-71deg) scale(.28); opacity:.06; }
.orb { width:82px; height:122px; filter:drop-shadow(0 12px 32px #b25e3488); }
.topbar-actions > * { border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--surface) 86%,transparent); }
.section-picker select { border:0; background:transparent; }
.quiet-button { padding:8px 12px; }
.whoami { padding:8px 12px; }
.overview-grid article { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.item-meta,.item-detail-line { font-size:13px; }
.summary,.profile-card p { color:#655e54; }
.back-button,.review-progress { display:inline-flex; align-items:center; min-height:34px; padding:7px 12px; border:1px solid var(--line); border-radius:999px; background:var(--surface); }
.review-progress { color:var(--muted); }
.review-card { padding:28px; border:1px solid var(--line); border-radius:20px; background:color-mix(in srgb,var(--surface) 86%,transparent); box-shadow:0 14px 34px #4c32141a; }
.rating-buttons button { border:1px solid var(--line); box-shadow:0 3px 9px #4c32141a; transition:transform .15s ease, border-color .15s ease, background .15s ease; }
.rating-buttons button:hover { border-color:var(--accent); background:var(--surface); transform:translateY(-2px); }
.rating-buttons button:active { transform:translateY(0); }
#capture-title { font:400 15px/1.5 "DM Sans",sans-serif; }
.library-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; }
.library-toolbar .form-note { flex-basis:100%; }
.toggle { display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }
.toggle input { width:17px; height:17px; padding:0; accent-color:var(--accent); }
.library-group { margin-top:16px; border:1px solid var(--line); border-radius:15px; overflow:hidden; background:color-mix(in srgb,var(--surface) 75%,transparent); }
.library-group > summary { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; cursor:pointer; list-style:none; color:var(--muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.library-group > summary::-webkit-details-marker { display:none; }
.library-group > summary::after { content:"›"; color:var(--accent); font-size:22px; line-height:1; }
.library-group[open] > summary::after { content:"⌄"; font-size:17px; }
.group-count { padding:3px 8px; border-radius:999px; background:var(--line); font-size:10px; letter-spacing:0; }
.library-group-body { padding:0 16px 10px; }
.library-group-body .item-row { padding-left:0; padding-right:0; }
.library-group-body > .item-row:last-child, .library-group-body > .item-entry:last-child, .library-group-body > .item-entry:last-child .item-row { border-bottom:0; }
.library-more { margin:8px 0 4px; }
.ready-status { display:inline-flex; align-items:center; gap:7px; margin-top:9px; color:var(--sage); font-size:12px; font-weight:600; }
.ready-inline { color:var(--sage); font-weight:600; }
.regen-inline { color:#c69a32; font-weight:600; }
.ready-status i { display:grid; place-items:center; width:18px; height:18px; border:1px solid currentColor; border-radius:50%; font-style:normal; font-size:11px; }
.item-status-tag { display:inline-block; margin-top:8px; padding:4px 8px; border:1px solid var(--accent); border-radius:999px; color:var(--accent); font-size:11px; font-weight:600; }
.search-box > span { flex:none; font-size:22px; line-height:1; }
.feedback-tip { font-size:13px !important; color:var(--sage) !important; }
.analytics-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:20px 0 30px; }
.analytics-kpi { min-height:92px; padding:15px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--surface) 78%,transparent); }
.analytics-kpi strong { display:block; font:400 29px/1 "Newsreader",serif; }
.analytics-kpi span { display:block; margin-top:9px; color:var(--muted); font-size:12px; line-height:1.3; }
.analytics-panel { margin-top:24px; padding:18px; border:1px solid var(--line); border-radius:17px; background:color-mix(in srgb,var(--surface) 78%,transparent); }
.analytics-panel small { color:var(--muted); font-size:12px; }
.analytics-bars { display:flex; align-items:end; gap:7px; min-height:145px; padding-top:18px; }
.analytics-bar { display:flex; flex:1; min-width:0; height:120px; flex-direction:column; align-items:center; justify-content:end; gap:7px; }
.analytics-bar i { display:block; width:100%; max-width:24px; height:var(--bar-height); min-height:4px; border-radius:8px 8px 3px 3px; background:var(--accent); font-style:normal; font-size:10px; text-align:center; color:var(--paper); }
.analytics-bar span { color:var(--muted); font-size:10px; }
.analytics-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.analytics-list { display:grid; gap:8px; }
.analytics-list-row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; }
.analytics-list-row strong { color:var(--ink); }
@media (max-width:560px) { .analytics-kpis { grid-template-columns:repeat(2,1fr); } .analytics-columns { grid-template-columns:1fr; } .review-card { padding:22px 17px; } }
@media (prefers-color-scheme:dark) { .summary,.profile-card p { color:#d2c9bc; } .review-card,.analytics-panel,.analytics-kpi,.library-group { background:color-mix(in srgb,var(--surface) 88%,transparent); } .ambient-almond { opacity:.11; } .topbar-actions > * { background:color-mix(in srgb,var(--surface) 92%,transparent); } }
.workspace { padding-bottom:74px; }
.bottom-nav { height:68px; padding-top:4px; padding-bottom:max(4px, env(safe-area-inset-bottom)); }
@media (min-width:1024px) { .workspace { padding-bottom:52px; } .bottom-nav { height:auto; padding:0; } }
.library-toolbar .form-note { flex-basis:auto; min-height:0; margin:0; }
.library-home-section .library-list { margin-top:8px; }
.nav-item { height:100%; align-content:center; border-radius:14px; }
.nav-item.active { border-radius:14px; }
.regen-inline { color:#e4bd55; }
.capture-progress { display:block; text-align:left; }
.capture-progress-track { width:100%; margin-top:6px; }
.library-group > summary { justify-content:flex-start; gap:12px; }
.library-group > summary::after { margin-left:auto; width:18px; text-align:center; transform:none; }
.library-group[open] > summary::after { font-size:17px; }
.library-home-section { margin-top:44px; }
.library-home-section .page-heading { margin:0 0 14px; }
.library-home-section .page-heading h2 { margin:0; font-size:25px; line-height:1; }
.graph-section .section-heading { align-items:flex-start; }
.graph-section .graph-hint { display:block; margin-top:5px; line-height:1.4; }
.library-group > summary::after, .library-group[open] > summary::after { content:"›"; font-size:22px; transform:rotate(0deg); }
.library-group[open] > summary::after { transform:rotate(90deg); }
.bottom-nav { height:64px; padding:4px max(13px,calc((100vw - 720px)/2)); align-items:stretch; }
@media (min-width:1024px) { .bottom-nav { height:auto; padding:0; } .nav-item { height:auto; } }
.login-view { align-items:center; }
.login-identity, .login-sign-in { width:100%; display:flex; flex-direction:column; align-items:center; }
.login-view h1, .login-view .login-form { width:100%; }
.login-view h1 { text-align:center; }
.login-view .login-form .primary-button { width:100%; }
.login-brand { display:inline-flex; align-items:baseline; color:var(--ink); font:500 34px/1 "Newsreader",serif; letter-spacing:-.07em; margin-bottom:18px; }
.login-brand .almond-dot { display:inline-block; width:.3em; height:.45em; margin-left:.08em; transform:rotate(26deg); }
.login-brand .almond-dot svg { display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 1px 1px #b25e3455); }
.login-almond { align-self:center; width:clamp(130px,35vw,190px); height:auto; margin:4px 0 34px; transform:rotate(18deg); overflow:visible; filter:drop-shadow(0 12px 18px #b25e3466) drop-shadow(0 0 26px #f29a6255); }
.login-view h1 { align-self:stretch; }
@media (min-width:720px) {
  .login-view { width:min(100% - 80px,760px); flex-direction:row; align-items:center; gap:48px; }
  .login-identity, .login-sign-in { flex:1 1 0; }
  .login-identity { align-items:center; }
  .login-sign-in { max-width:360px; transform:translateX(-72px); }
  .login-almond { width:190px; margin:4px 0 0; }
}
.hero-row h1 { font-size:clamp(50px,12vw,74px); }
.review-cta { margin-top:26px; }
.library-group-body { display:flex; flex-direction:column; align-items:stretch; padding-bottom:0; }
.library-group-body > .item-row, .library-group-body > .item-entry { flex:none; min-height:0; margin:0; }
.library-group-body .item-row { height:auto; min-height:0; }
.review-cta { min-height:142px; padding:24px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.review-cta-practice { display:flex; align-items:center; gap:14px; max-width:200px; color:#171512; font-size:18px; font-weight:600; line-height:1.2; }
.review-cta-play { display:grid; place-items:center; flex:none; width:52px; height:52px; padding-left:3px; border:1.5px solid var(--accent); border-radius:50%; color:var(--accent); font-size:18px; line-height:1; }
.review-cta strong { grid-row:auto; align-self:center; }
@media (prefers-color-scheme:dark) { .review-cta-practice { color:#171512; } }
.review-cta { min-height:0; padding:22px; background:color-mix(in srgb,var(--deep) 90%,transparent); }
.review-cta-practice { max-width:none; gap:12px; white-space:nowrap; font-size:17px; }
.item-detail { margin-top:20px; padding:22px; border:1px solid var(--line); border-radius:20px; background:color-mix(in srgb,var(--surface) 88%,transparent); box-shadow:0 14px 34px #4c32141a; }
.item-detail .detail-back { display:flex; width:max-content; margin:0 0 20px; line-height:1; }
.item-detail > .eyebrow { margin:0 0 14px; }
@media (prefers-color-scheme:dark) { .item-detail { background:color-mix(in srgb,var(--surface) 92%,transparent); } }
