:root{
  --bg:#f4f7fb;--surface:#ffffff;--surface-2:#edf2f8;--text:#18212b;--muted:#687483;
  --line:#dce3ec;--accent:#285bd8;--accent-soft:#e9efff;--good:#157347;--warn:#9a6700;
  --shadow:0 10px 34px rgba(30,45,67,.08);--nav-h:66px;--radius:18px;--radius-sm:12px;
  color-scheme:light;
}
:root[data-theme="night"]{--bg:#111722;--surface:#18212e;--surface-2:#202b3b;--text:#eef3fa;--muted:#9ba9bb;--line:#2c3a4c;--accent:#7ea2ff;--accent-soft:#21345f;--good:#6ed5a0;--warn:#e8bd62;--shadow:0 10px 34px rgba(0,0,0,.22);color-scheme:dark}
:root[data-theme="oled"]{--bg:#000;--surface:#080808;--surface-2:#111;--text:#f5f5f5;--muted:#aaa;--line:#232323;--accent:#83a6ff;--accent-soft:#101b35;--good:#71dca3;--warn:#e9bf63;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg);min-height:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
button,input,select{font:inherit}button{color:inherit}button,input,select,[role="button"]{touch-action:manipulation}input,textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}button,.app-header,.bottom-nav,.maker-footer,.badge,.study-meta{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app-shell{min-height:100vh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}
.app-header{position:relative;padding:calc(env(safe-area-inset-top) + 35px) 20px 12px}.brand-lockup,.main-content,.maker-footer{width:min(760px,100%);margin:0 auto}.maker{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--muted);margin:0 0 5px}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.title-row h1{font-size:30px;line-height:1.05;margin:0;letter-spacing:-.035em}.build-label{margin:7px 0 0;color:var(--muted);font-size:13px}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-width:42px;height:42px;font-weight:800;box-shadow:var(--shadow)}
.main-content{padding:8px 20px 32px}.hero{padding:18px 0 8px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.hero h2{font-size:28px;line-height:1.1;letter-spacing:-.03em;margin:0 0 10px}.hero p{font-size:16px;line-height:1.5;color:var(--muted);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:22px}.stat span{font-size:12px;color:var(--muted)}
.section{margin:22px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.section-heading h3{font-size:18px;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.term-card{padding:16px;margin:10px 0;cursor:pointer}.term-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.term-card h3{font-size:18px;margin:0 0 7px}.term-card p{color:var(--muted);line-height:1.45;margin:0}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{font-size:11px;font-weight:750;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.badge.know{background:var(--accent-soft);color:var(--accent)}.save-button{border:0;background:transparent;font-size:24px;line-height:1;padding:0 2px;color:var(--muted)}.save-button.saved{color:var(--accent)}
.primary-button,.secondary-button,.quiet-button{border-radius:12px;padding:12px 14px;font-weight:750;border:1px solid transparent}.primary-button{background:var(--accent);color:#fff}.secondary-button{background:var(--surface);border-color:var(--line)}.quiet-button{background:var(--surface-2);color:var(--text)}.button-row{display:flex;gap:9px;flex-wrap:wrap}.button-row>*{flex:1 1 130px}.full{width:100%}
.search-wrap{position:relative;z-index:5;isolation:isolate;margin:10px 0 12px}.search-wrap input{position:relative;z-index:1;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:15px;padding:14px 15px;font-size:16px;outline:none}.search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filters{display:flex;gap:8px;overflow:auto;padding:2px 0 4px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.category-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-card{padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:15px;text-align:left}.category-card strong{display:block}.category-card span{font-size:12px;color:var(--muted)}
.progress-track{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:99px}.study-card{padding:20px}.study-card h3{font-size:28px;margin:2px 0 12px}.study-card .plain{font-size:17px;line-height:1.55;margin:0 0 14px}.study-meta{font-size:12px;color:var(--muted);margin-bottom:12px}.study-card details{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.study-card summary{cursor:pointer;font-weight:750}.detail-block{margin:15px 0}.detail-block h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 5px}.detail-block p{line-height:1.52;margin:0}.personal-note{border-left:3px solid var(--accent);padding-left:12px}
.quiz-card{padding:18px}.quiz-card h3{font-size:20px;line-height:1.35;margin:0 0 16px}.option{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 13px;margin:8px 0}.option.selected-correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--surface))}.option.selected-wrong{border-color:#b33;background:color-mix(in srgb,#b33 10%,var(--surface))}.feedback{margin-top:13px;padding:12px;border-radius:12px;background:var(--surface-2);line-height:1.5}.feedback strong{color:var(--good)}
.empty{padding:28px 18px;text-align:center;color:var(--muted)}.maker-footer{text-align:center;color:var(--muted);font-size:11px;padding:10px 20px 16px}
.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:7px 10px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-item{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.nav-item.active{color:var(--accent)}.nav-symbol{font-size:22px;line-height:1}
.modal-overlay{position:fixed;z-index:40;inset:0;background:rgba(0,0,0,.38);display:flex;align-items:flex-end;justify-content:center;padding-top:40px}.modal{width:min(760px,100%);max-height:92dvh;overflow:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:18px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -10px 50px rgba(0,0,0,.2)}.modal-grabber{width:42px;height:5px;border-radius:99px;background:var(--line);margin:0 auto 14px}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.modal-header h2{font-size:27px;margin:0}.close-button{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:38px;height:38px;font-size:20px}.settings-row{padding:15px 0;border-bottom:1px solid var(--line)}.settings-row strong{display:block;margin-bottom:5px}.settings-row p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.45}.theme-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.theme-buttons button{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 5px;font-size:12px}.theme-buttons button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
#toast-root{position:fixed;z-index:60;left:16px;right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px);display:flex;justify-content:center;pointer-events:none}.toast{background:var(--text);color:var(--bg);padding:10px 13px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:var(--shadow)}
@media(min-width:700px){.category-list{grid-template-columns:repeat(3,1fr)}.modal-overlay{align-items:center;padding:40px}.modal{border-radius:24px;max-height:84vh}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(760px,100%);border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:20px 20px 0 0}}
@media(prefers-reduced-motion:no-preference){button,.term-card,.category-card{transition:transform .12s ease,background .12s ease,border-color .12s ease}button:active,.term-card:active,.category-card:active{transform:scale(.985)}}

/* Build 2 readability/completion polish. Accepted Build 1 R2 bottom-nav block above is unchanged. */
.learning-key{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.4}.learning-key b{color:var(--text)}
.misconception-note{background:var(--surface-2);border-radius:12px;padding:12px}.misconception-note h4{color:var(--warn)}
button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}
.term-card,.study-card,.quiz-card,.settings-row{overflow-wrap:anywhere}
.detail-block p,.feedback,.hero p{max-width:68ch}
@media (max-width:420px){.category-list{grid-template-columns:1fr}.stats-grid{gap:8px}.stat{padding:12px}.study-card{padding:18px}.study-card h3{font-size:26px}}

/* Build 2 R3 reset confirmation; bottom-nav geometry remains unchanged. */
.danger-button{border:1px solid currentColor;border-radius:14px;padding:12px 16px;font:inherit;font-weight:750;background:transparent;color:#c62828}
[data-theme='night'] .danger-button,[data-theme='oled'] .danger-button{color:#ff8a80}
.confirm-modal .button-row{margin-top:18px}
