:root{--bg: #f3f0e9;--surface: #fbf9f4;--surface-alt: #f7f5ef;--ink: #1a1917;--on-ink: #f6f3ec;--text: #26251f;--text-secondary: #5e5a52;--text-label: #8b8579;--text-disabled: #a8a296;--link: #2b4b8c;--link-hover: #1c3563;--due: #c9723f;--due-text: #a85b38;--success: #3f6b4e;--success-soft: #8fa98a;--new: #7e9bc4;--track: #e4dfd3;--dot-inert: #dcd7cb;--segmented-track: #efebe1;--chip-bg: #eae6dc;--hairline-soft: rgba(26, 25, 23, .09);--hairline: rgba(26, 25, 23, .12);--hairline-strong: rgba(26, 25, 23, .16);--font-serif: "Newsreader", Georgia, serif;--font-sans: "IBM Plex Sans", -apple-system, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius-review-card: 24px;--radius-ink-block: 20px;--radius-content-card: 16px;--radius-button: 14px;--radius-small: 11px;--radius-pill: 999px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover)}button{font-family:inherit;cursor:pointer}button:disabled{cursor:default}textarea,input{font-family:inherit}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;position:relative}.overline{font:500 10.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-label)}@keyframes ard-rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}.rise{animation:ard-rise .3s ease both}.btn{border:none;border-radius:var(--radius-button);padding:15px;font:500 15.5px var(--font-sans);width:100%;text-align:center}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:disabled{background:var(--dot-inert);color:var(--text-disabled)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--hairline-strong)}.btn-destructive{background:#c9723f14;color:var(--due-text);border:1px solid rgba(168,91,56,.3)}.btn-auto{width:auto;flex:none}.segmented{display:flex;gap:4px;background:var(--segmented-track);border-radius:10px;padding:3px}.segmented-btn{flex:1;border:none;background:transparent;border-radius:8px;padding:8px 4px;font:500 13px var(--font-sans);color:var(--text-secondary)}.segmented-btn.active{background:var(--ink);color:var(--on-ink)}.tab-bar{position:sticky;bottom:0;background:#f3f0e9eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hairline-soft);padding:12px 34px 34px;display:flex;justify-content:space-between}.tab-btn{border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:2px 12px;font:500 10.5px var(--font-sans);color:var(--text-disabled)}.tab-btn.active{color:var(--ink)}.tab-icon{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--text-disabled)}.tab-btn.active .tab-icon{background:var(--ink);border-color:var(--ink)}.tab-icon.round{border-radius:var(--radius-pill)}.list-row{cursor:pointer;text-align:left;border:none;background:var(--surface);border-radius:6px;padding:17px 18px;display:flex;align-items:center;gap:14px;width:100%}.list-row.first{border-radius:16px 16px 6px 6px}.list-row.last{border-radius:6px 6px 16px 16px}.list-row.only{border-radius:16px}.list-group{display:flex;flex-direction:column;gap:2px}.list-row-bar{width:4px;align-self:stretch;border-radius:var(--radius-pill);flex:none}.list-row-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.list-row-title{font:500 16px/1.2 var(--font-sans);color:var(--ink)}.list-row-subtitle{font:400 12.5px/1.3 var(--font-sans);color:var(--text-label)}.badge-due{font:500 12px var(--font-mono);color:var(--due);background:#c9723f1f;border-radius:var(--radius-pill);padding:5px 9px;flex:none}.badge-uptodate{font:400 12px var(--font-mono);color:var(--text-disabled);flex:none}.chevron{font:400 18px var(--font-sans);color:var(--text-label);flex:none}.chip{font:400 11.5px var(--font-mono);color:var(--text-secondary);background:var(--chip-bg);border-radius:var(--radius-pill);padding:5px 10px}.chip-outline{font:400 11.5px var(--font-mono);color:var(--text-label);border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);padding:5px 10px}.chip-pill-button{cursor:pointer;border:1px solid var(--hairline);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-pill);padding:7px 11px;font:400 12px var(--font-sans)}.ink-block{border-radius:var(--radius-ink-block);background:var(--ink);color:var(--on-ink);display:flex;flex-direction:column;gap:16px}.content-card{background:var(--surface);border-radius:var(--radius-content-card);padding:17px 18px}.toggle{border:none;border-radius:var(--radius-pill);width:48px;height:29px;padding:3px;display:flex}.toggle-on{background:var(--ink);justify-content:flex-end}.toggle-off{background:var(--dot-inert);justify-content:flex-start}.toggle-knob{width:23px;height:23px;border-radius:var(--radius-pill);background:var(--surface)}.progress-track{height:3px;background:#1a19171a;border-radius:var(--radius-pill);overflow:hidden}.progress-fill{height:100%;background:var(--ink);border-radius:var(--radius-pill);transition:width .5s ease}.screen-header{padding:62px 24px 0}.screen-title{margin:2px 0 0;font:400 38px/1.05 var(--font-serif);letter-spacing:-.02em}.sticky-nav{position:sticky;top:0;z-index:5;background:#f3f0e9f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:58px 20px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--hairline-soft)}.nav-back{border:none;background:none;font:400 20px var(--font-sans);color:var(--link);padding:0 6px}.nav-title{flex:1;font:500 14px var(--font-sans)}.step-badge{font:500 11px var(--font-mono);color:var(--text-label);border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);padding:4px 8px}.sticky-footer{position:sticky;bottom:0;background:linear-gradient(#f3f0e900,#f3f0e9f5 26%);padding:26px 20px 40px;display:flex;gap:10px}textarea.field{width:100%;resize:none;border:1px solid var(--hairline);border-radius:16px;background:var(--surface);padding:16px;outline:none;color:var(--text)}
