:root{
  --bg:#f7f7f2;--ink:#1f2230;--muted:#6d7180;--paper:#fffef9;--line:#dcded8;
  --accent:#3559e0;--accent2:#eef2ff;--danger:#b53a3a;--good:#2d7c4d;--miss:#a43c3c;
  --shadow:0 14px 36px rgba(30,34,48,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{display:flex;align-items:center;gap:18px;padding:18px 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);backdrop-filter:blur(10px);position:sticky;top:0;z-index:4}
.brand{font-size:1.45rem;font-weight:850;letter-spacing:-.04em}.tagline{color:var(--muted);font-size:.92rem}
main{max-width:1120px;margin:0 auto;padding:34px 22px 70px}
.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:36px 4px 30px}.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.95;letter-spacing:-.055em;max-width:800px;margin:8px 0 16px}.sub{font-size:1.05rem;color:var(--muted);max-width:640px}.eyebrow{font-size:.78rem;letter-spacing:.18em;font-weight:800;color:var(--accent)}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.panel-head h2{margin:0}.wrap{flex-wrap:wrap}.inline-actions{display:flex;gap:10px;align-items:center}.deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.deck-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:white;transition:.15s ease}.deck-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(30,34,48,.07)}.deck-card h3{margin:0 0 6px}.deck-card .meta{color:var(--muted);font-size:.9rem}.deck-card .deck-actions{display:flex;gap:8px;margin-top:16px}
.primary,.secondary,.danger,.miss,.know{border:0;border-radius:11px;padding:10px 14px;font-weight:700}.primary{background:var(--accent);color:#fff}.primary.big{padding:14px 20px;white-space:nowrap}.secondary{background:#f0f1ed;color:var(--ink)}.danger{background:#f7e8e8;color:var(--danger)}.ghost{background:transparent}.small{padding:7px 10px}.link{border:0;background:transparent;padding:0;color:var(--accent);font-weight:700}.icon-btn{border:0;background:transparent;font-size:1.5rem}.muted{color:var(--muted);font-size:.92rem}
.title-input{display:block;border:0;border-bottom:2px solid transparent;background:transparent;font-size:2rem;font-weight:820;letter-spacing:-.03em;padding:4px 0;width:min(620px,80vw)}.title-input:focus{outline:0;border-color:var(--accent)}
.add-card-box{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:14px;background:#f3f4ef;border-radius:14px;margin-bottom:18px}.add-card-box input{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.card-list{display:flex;flex-direction:column;gap:9px}.card-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.card-row input{border:0;background:transparent;padding:8px}.card-row input:focus{outline:1px solid var(--accent);border-radius:8px}.row-actions{display:flex;gap:7px}.tiny{padding:7px 9px;border:0;border-radius:8px;background:#f0f1ed}
.study-shell{max-width:780px;margin:20px auto}.study-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.flashcard{min-height:390px;background:#fff;border:1px solid var(--line);border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;box-shadow:var(--shadow);position:relative;user-select:none}.flash-text{font-size:clamp(1.8rem,5vw,3.5rem);line-height:1.1;font-weight:800;max-width:680px;overflow-wrap:anywhere}.side-label{position:absolute;top:24px;left:26px;font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--muted)}.flip-hint{position:absolute;bottom:22px;color:var(--muted);font-size:.85rem}.study-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.study-actions button{min-width:150px;padding:13px 18px}.miss{background:#f7e8e8;color:var(--miss)}.know{background:#e6f3eb;color:var(--good)}.secondary-row button{min-width:130px}
.modal{position:fixed;inset:0;background:rgba(25,28,36,.35);display:grid;place-items:center;padding:18px;z-index:10}.hidden{display:none}.modal-card{background:#fff;border-radius:20px;width:min(720px,96vw);max-height:86vh;overflow:auto;padding:20px;box-shadow:0 30px 80px rgba(20,20,30,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-grid select{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px}.preview-table{width:100%;border-collapse:collapse;margin-top:16px}.preview-table th,.preview-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.print-controls{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:20px}.print-controls label{display:flex;flex-direction:column;gap:7px;font-weight:700}.print-controls select{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}.print-preview{background:#e9eae5;border-radius:14px;padding:18px}.print-page{background:white;margin:0 auto 18px;padding:.35in;min-height:10in;max-width:8.5in;display:grid;gap:.12in}.layout-index{grid-template-columns:repeat(2,3in);grid-auto-rows:5in;justify-content:center}.layout-four{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.layout-six{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.print-card{border:1px dashed #888;padding:.2in;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}.print-card .term{font-weight:800;font-size:1.15rem}.print-card .def{margin-top:12px;font-size:.95rem}.study-sheet{display:block}.sheet-row{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:10px 0;border-bottom:1px solid #bbb}.quiz-row{padding:14px 0;border-bottom:1px solid #bbb}.quiz-space{height:34px;border-bottom:1px solid #aaa;margin-top:10px}
.empty{padding:40px 12px;text-align:center;color:var(--muted)}
@media(max-width:700px){.hero{align-items:flex-start;flex-direction:column}.add-card-box,.card-row{grid-template-columns:1fr}.topbar{padding:14px 18px}.tagline{display:none}.flashcard{min-height:330px}.print-preview{padding:6px;overflow:auto}}
@media print{
  body{background:#fff}.topbar,.no-print,.panel-head,.link{display:none!important}main{max-width:none;padding:0}.panel{border:0;box-shadow:none;padding:0}.print-preview{padding:0;background:white}.print-page{margin:0;box-shadow:none;page-break-after:always;min-height:10in}.print-page:last-child{page-break-after:auto}
  @page{size:letter;margin:.25in}
}

/* V1.1 study modes */
.study-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 16px}.mode-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;text-align:left;transition:.15s ease}.mode-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,34,48,.07);border-color:#b8c3f2}.mode-card strong{display:block;font-size:1rem;margin-bottom:5px}.mode-card span{display:block;color:var(--muted);font-size:.88rem;line-height:1.35}.mastery-box{margin:0 0 18px;padding:12px 14px;background:#f3f4ef;border-radius:12px}.mastery-box>div:first-child{display:flex;justify-content:space-between}.mastery-track{height:8px;background:#ddd;border-radius:999px;margin-top:8px;overflow:hidden}.mastery-track div{height:100%;background:var(--good);border-radius:999px}.mastery-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#d5d6d0}.mastery-dot.done{background:var(--good)}
.session-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.session-stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-align:center}.session-stats strong{display:block;font-size:1.05rem}.session-stats span{font-size:.78rem;color:var(--muted)}.answer-card,.complete-card{min-height:390px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:42px;box-shadow:var(--shadow);position:relative;text-align:center}.answer-card{display:flex;flex-direction:column;justify-content:center;align-items:center}.prompt-text{margin-bottom:26px}.type-form{display:flex;gap:10px;width:min(560px,100%)}.type-form input{flex:1;border:2px solid var(--line);border-radius:12px;padding:14px 16px;font-size:1.05rem}.type-form input:focus{outline:0;border-color:var(--accent)}.quiz-options{width:min(620px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-option{border:1px solid var(--line);background:#f7f8f4;border-radius:12px;padding:14px;text-align:left;font-weight:650}.quiz-option:hover:not(:disabled){border-color:var(--accent);background:var(--accent2)}.quiz-option.correct-option{border-color:var(--good);background:#e6f3eb}.answer-feedback{margin-top:20px;border-radius:12px;padding:14px 16px;width:min(560px,100%);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.answer-feedback span{display:block;width:100%}.good-feedback{background:#e6f3eb;color:var(--good)}.bad-feedback{background:#f7e8e8;color:var(--miss)}.complete-card{display:flex;flex-direction:column;align-items:center;justify-content:center}.complete-card h2{font-size:2rem;margin:8px 0}.celebrate{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e6f3eb;color:var(--good);font-size:2rem;font-weight:900}.big-score{font-weight:800;margin:12px 0 4px}
@media(max-width:700px){.study-mode-grid,.session-stats,.quiz-options{grid-template-columns:1fr}.type-form{flex-direction:column}.answer-card,.complete-card{padding:34px 22px}}
