:root {
  font-family: "DM Sans", sans-serif;
  color: #172541;
  background: #f6f8fc;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --navy: #183b72;
  --blue: #2c5caa;
  --ink: #172541;
  --muted: #8792a6;
  --line: #e9edf4;
  --surface: #fff;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #f6f8fc; }
button, a { font: inherit; }
button { color: inherit; }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 4; inset: 0 auto 0 0; display: flex; flex-direction: column; width: 252px; padding: 27px 19px 16px; background: #fff; border-right: 1px solid #edf0f5; }
.brand { display: flex; align-items: center; gap: 10px; margin: 0 0 47px 11px; color: #163666; text-decoration: none; font: 800 24px Manrope, sans-serif; letter-spacing: -1.6px; }
.brand-period { color: #4a82d1; }
.brand-mark { width: 23px; height: 23px; display: flex; align-items: center; justify-content: center; position: relative; border: 2px solid #2e5e9d; border-radius: 50%; transform: rotate(-35deg); }
.brand-mark span { display: block; position: absolute; width: 3px; border-radius: 4px; background: #3a73bd; }
.brand-mark span:nth-child(1) { height: 7px; left: 5px; top: 5px; }.brand-mark span:nth-child(2) { height: 12px; left: 9px; top: 3px; }.brand-mark span:nth-child(3) { height: 7px; left: 14px; top: 7px; }
.sidebar-label { padding: 0 11px; color: #a1aabc; font: 700 9px Manrope, sans-serif; letter-spacing: 1.15px; }
.main-nav { display: grid; gap: 5px; margin-top: 14px; }
.nav-link { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; height: 43px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: #6c778b; font-size: 12px; text-align: left; cursor: pointer; transition: .18s ease; }
.nav-link:hover { background: #f5f7fb; color: #234879; }.nav-link.active { background: #edf3fc; color: #1c467f; font-weight: 700; }
.nav-icon { display: grid; place-items: center; width: 18px; font-size: 17px; color: #8794a9; }.active .nav-icon { color: #2d5a99; }
.nav-count { margin-left: auto; padding: 3px 7px; border-radius: 10px; background: #e2ebf9; color: #37639e; font-size: 9px; font-weight: 700; }
.timer-label { margin-top: 36px; }
.timer-card { margin: 14px 2px 0; padding: 15px 15px 13px; border: 1px solid #edf0f5; border-radius: 12px; background: linear-gradient(155deg,#fff 15%,#f8faff 100%); box-shadow: 0 4px 15px #1e376808; text-align: center; }
.timer-card-top { display: flex; align-items: center; gap: 7px; color: #6f7a8d; font-size: 10px; text-align: left; }.live-dot { width: 6px; height: 6px; border-radius: 50%; background: #63b99c; box-shadow: 0 0 0 3px #e5f4ed; }.more-button { margin-left: auto; border: 0; background: none; color: #8490a2; font-size: 19px; line-height: 12px; cursor: pointer; }
.timer-display { margin: 13px 0 0; color: #203d69; font: 700 37px Manrope,sans-serif; letter-spacing: 1px; font-variant-numeric: tabular-nums; }
.timer-subtitle { margin-top: 0; color: #929caf; font-size: 10px; }
.timer-progress { height: 3px; margin: 13px 0 12px; overflow: hidden; border-radius: 3px; background: #e7edf5; }.timer-progress span { display: block; width: 0%; height: 100%; border-radius: inherit; background: #5a87ca; transition: width .25s linear; }
.timer-controls { display: flex; justify-content: center; gap: 10px; }.timer-play,.timer-reset { display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; cursor: pointer; }.timer-play { background: #1f477f; color: white; font-size: 11px; }.timer-reset { background: #edf2f8; color: #506784; font-size: 18px; }
.timer-modes { display: flex; justify-content: center; gap: 5px; margin-top: 11px; }.timer-mode { padding: 5px 8px; border: 0; border-radius: 5px; background: transparent; color: #909bae; font-size: 9px; cursor: pointer; }.timer-mode.selected { background: #eaf0f9; color: #2a5289; font-weight: 700; }
.sidebar-bottom { margin-top: auto; }.streak-card { display: flex; align-items: center; gap: 10px; margin: 0 2px 14px; padding: 11px 10px; border-radius: 9px; background: #faf8f3; }.streak-flame { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 8px; background: #f8edda; color: #d29a46; font-size: 18px; }.streak-card div { display: grid; gap: 3px; }.streak-card strong { color: #4d5260; font-size: 10px; }.streak-card div span { color: #a2a3a6; font-size: 9px; }
.profile-button { display: flex; align-items: center; width: 100%; padding: 12px 3px 1px; border: 0; border-top: 1px solid #eff1f5; background: none; text-align: left; cursor: pointer; }.avatar { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #e6edf9; color: #376199; font: 700 12px Manrope,sans-serif; }.profile-copy { display: grid; gap: 3px; margin-left: 9px; }.profile-copy strong { color: #36445a; font-size: 10px; }.profile-copy span { color: #9aa3b0; font-size: 9px; }.profile-more { margin-left: auto; color: #909bad; font-size: 18px; }
.main-area { margin-left: 252px; min-height: 100vh; }.topbar { position: sticky; z-index: 3; top: 0; display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 43px; border-bottom: 1px solid #edf0f5; background: #ffffffed; backdrop-filter: blur(12px); }.breadcrumb { display: flex; gap: 10px; align-items: center; color: #9aa4b4; font-size: 11px; }.breadcrumb strong { color: #45536b; font-weight: 600; }.crumb-slash { color: #c4cbd5; }.topbar-right { display: flex; align-items: center; gap: 17px; }.today-label { color: #8c96a7; font-size: 10px; }.icon-button { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #dfe5ee; border-radius: 50%; background: #fff; color: #79869a; font-size: 11px; cursor: pointer; }.top-avatar { width: 29px; height: 29px; flex-basis: 29px; font-size: 11px; }.mobile-menu { display:none; }
.page-content { max-width: 1120px; margin: 0 auto; padding: 31px 43px 18px; }.welcome-row { display: flex; align-items: end; justify-content: space-between; margin-bottom: 22px; }.eyebrow { color: #8b96a8; font: 700 9px Manrope,sans-serif; letter-spacing: 1.1px; }.sparkle { margin-right: 5px; color: #7893bd; font-size: 12px; }.welcome-row h1 { margin: 8px 0 5px; color: #182b49; font: 700 29px Manrope,sans-serif; letter-spacing: -.9px; }.welcome-row h1 span { color: #4979bd; }.welcome-copy { margin: 0; color: #8792a4; font-size: 12px; }.target-pill { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid #e8edf4; border-radius: 8px; background: white; }.target-icon { color: #6283b3; font-size: 19px; }.target-pill span:nth-child(2) { display: grid; gap: 2px; }.target-pill strong { color: #43536b; font-size: 10px; }.target-pill small { color: #9ba5b4; font-size: 9px; }.chevron { margin-left: 12px; color: #98a2b1; font-size: 15px; }
.hero-card { position: relative; display: flex; min-height: 218px; overflow: hidden; border-radius: 13px; background: linear-gradient(108deg,#193a6b 0%,#214c84 54%,#315f97 100%); box-shadow: 0 9px 24px #204a8218; }.hero-copy { position: relative; z-index: 1; padding: 24px 29px 20px; }.hero-kicker { color: #b7c8df; font: 700 9px Manrope,sans-serif; letter-spacing: 1.25px; }.hero-copy h2 { margin: 8px 0 6px; color: #fff; font: 700 23px Manrope,sans-serif; line-height: 1.25; letter-spacing: -.55px; }.hero-copy p { margin: 0; color: #c7d4e5; font-size: 10px; }.button { border: 0; cursor: pointer; }.button-white { display: flex; align-items: center; gap: 15px; margin-top: 15px; padding: 9px 12px; border-radius: 6px; background: white; color: #214878; font-size: 10px; font-weight: 700; box-shadow: 0 3px 9px #102e5620; }.button-white span { font-size: 14px; transition: transform .2s; }.button-white:hover span { transform: translateX(3px); }.hero-note { display: flex; align-items: center; gap: 5px; margin-top: 9px; color: #b5c7dc; font-size: 9px; }.note-check { display: grid; place-items: center; width: 12px; height: 12px; border: 1px solid #8eabc9; border-radius: 50%; font-size: 8px; }
.hero-art { position: absolute; inset: 0 9% 0 auto; width: 350px; }.orbit { position: absolute; top: 50%; left: 50%; border: 1px solid #ffffff20; border-radius: 50%; transform: translate(-50%,-50%) rotate(-24deg); }.orbit-one { width: 220px; height: 93px; }.orbit-two { width: 285px; height: 123px; transform: translate(-50%,-50%) rotate(28deg); }.orbit-three { width: 165px; height: 165px; }.hero-orb { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid #ffffff3d; border-radius: 50%; background: radial-gradient(circle at 35% 30%,#bbd5f3,#73a0d4 52%,#396599); color: #f7fbff; font-size: 30px; box-shadow: inset -7px -9px 18px #2045755e,0 0 32px #c5ddff2d; transform: translate(-50%,-50%); }.hero-orb:after { position:absolute; width:92px;height:92px; border:1px solid #b8d2f052;border-radius:50%;content:""; }.math-card { position:absolute; display:grid; justify-items:center; min-width:55px; padding:7px 9px; border:1px solid #ffffff35; border-radius:7px; background:#ffffffec; color:#365c8e; box-shadow:0 6px 20px #102a4b30; }.math-card>span { font:700 19px Georgia,serif; }.math-card small { margin-top:3px; color:#76869c; font-size:6px; }.math-card-one { top:27px; left:74px; transform:rotate(-8deg); }.math-card-two { top:42px; right:22px; transform:rotate(8deg); }.math-card-three { bottom:28px; right:66px; transform:rotate(-5deg); }.math-card-three>span {font-size:13px}.hero-star { position:absolute; color:#d5e5f7; }.star-a { top:41px;left:168px;font-size:12px }.star-b { left:35px;bottom:51px;font-size:22px }.star-c { right:37px;bottom:53px;font-size:16px }.hero-counter { position:absolute; right:19px; bottom:17px; display:flex; align-items:center; gap:5px; color:#c0d0e2; font-size:8px; }.hero-counter strong { color:#fff; font-size:10px; }.counter-line { width:24px; height:1px; margin:0 4px; background:#96acc6; }
.stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:16px; }.stat-card { min-height:105px; padding:13px 15px 10px; border:1px solid #edf0f5; border-radius:9px; background:#fff; }.stat-heading { display:flex; align-items:center; justify-content:space-between; color:#8390a3; font-size:10px; }.stat-icon { display:grid; place-items:center; width:25px;height:25px;border-radius:7px;font-size:15px; }.blue-icon {background:#edf3fb;color:#4874b5}.purple-icon {background:#f2effa;color:#8271bc}.green-icon {background:#eaf5f1;color:#58a089}.stat-number { display:flex; align-items:baseline; gap:5px; margin-top:3px; }.stat-number strong { color:#263a58; font:700 22px Manrope,sans-serif; }.stat-number>span { color:#a0a9b5; font-size:9px; }.stat-foot { display:flex; align-items:center; justify-content:space-between; margin-top:5px; color:#a2aab6; font-size:8px; }.mini-bars { display:flex; align-items:end; gap:3px; height:14px; }.mini-bars i { width:4px; border-radius:2px; background:#dce7f5; }.mini-bars i:nth-child(1){height:5px}.mini-bars i:nth-child(2){height:8px}.mini-bars i:nth-child(3){height:6px}.mini-bars i:nth-child(4){height:11px;background:#a9c1e0}.mini-bars i:nth-child(5){height:8px}.mini-bars i:nth-child(6){height:13px;background:#6c94ca}.mini-bars i:nth-child(7){height:9px;background:#8eadd6}.trend { color:#63a18a; font-weight:600; }.accuracy-track { height:4px;margin-top:3px;border-radius:5px;background:#edf1f5; }.accuracy-track span { display:block;height:100%;border-radius:5px;background:#79b29d; }.accuracy-foot {margin-top:5px}
.section-heading { display:flex;align-items:end;justify-content:space-between;margin:26px 0 12px; }.section-heading h2 { margin:5px 0 0;color:#253752;font:700 17px Manrope,sans-serif;letter-spacing:-.3px; }.text-button { padding:4px 0;border:0;background:none;color:#5579ad;font-size:10px;font-weight:600;cursor:pointer; }.text-button span { margin-left:5px;font-size:13px; }.tool-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px; }.tool-card { display:flex;flex-direction:column;align-items:flex-start;min-height:174px;padding:13px 13px 11px;border:1px solid #edf0f5;border-radius:9px;background:#fff;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s; }.tool-card:hover { transform:translateY(-3px);border-color:#dbe5f2;box-shadow:0 8px 20px #1e41600d; }.tool-icon { display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-size:17px; }.recall-icon {background:#edf3fb;color:#4e79b4}.cram-icon {background:#faf2e7;color:#c8924c}.past-icon {background:#f0eef9;color:#8271b9}.test-icon {background:#eaf4f1;color:#60a38c}.tool-tag { margin-top:12px;color:#9aa3b1;font:700 7px Manrope,sans-serif;letter-spacing:.8px; }.tool-card>strong { margin-top:4px;color:#34445c;font:700 12px Manrope,sans-serif; }.tool-description { margin-top:5px;color:#8a95a5;font-size:9px;line-height:1.55; }.tool-bottom { display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:8px;color:#9aa4b3;font-size:8px; }.tool-arrow { color:#7792b6;font-size:14px; }
.page-footer { display:flex;justify-content:space-between;margin-top:19px;padding:12px 1px 0;border-top:1px solid #e9edf3;color:#a6aebb;font-size:8px; }.footer-star { color:#83a1c7; }
.toast { position:fixed;z-index:9;right:24px;bottom:24px;max-width:320px;padding:12px 16px;border-radius:8px;background:#203d69;color:white;font-size:12px;box-shadow:0 8px 24px #17254130;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s; }.toast.show {opacity:1;transform:translateY(0)}
/* Secondary study views */
.subpage-heading { display:flex;align-items:end;justify-content:space-between;margin-bottom:20px; }.subpage-heading h1 { margin:7px 0 5px;color:#182b49;font:700 27px Manrope,sans-serif;letter-spacing:-.7px; }.subpage-heading p { max-width:560px;margin:0;color:#8792a4;font-size:12px;line-height:1.6; }.back-button { padding:8px 11px;border:1px solid #e5eaf1;border-radius:7px;background:white;color:#60718b;font-size:10px;cursor:pointer; }
.study-panel { padding:24px;border:1px solid #e9edf4;border-radius:12px;background:white;box-shadow:0 5px 20px #173a6a07; }.panel-topline { display:flex;justify-content:space-between;align-items:center;color:#8c97a8;font-size:10px; }.progress-label { color:#627fa7;font-weight:600; }.question-progress { height:4px;margin:12px 0 25px;border-radius:5px;background:#edf1f5; }.question-progress span {display:block;width:0;height:100%;border-radius:inherit;background:#5782bf;transition:width .25s}.topic-chip { display:inline-block;padding:5px 8px;border-radius:5px;background:#edf3fb;color:#5778a5;font-size:9px;font-weight:600; }.question-title { margin:13px 0 20px;color:#263a58;font:600 19px Manrope,sans-serif;line-height:1.5; }.answer-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px; }.answer-choice { display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid #e8edf3;border-radius:7px;background:#fff;color:#5d6b80;font-size:12px;text-align:left;cursor:pointer;transition:.15s; }.answer-choice:hover {border-color:#aec4e1;background:#f8faff}.choice-letter { display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#f1f4f8;color:#73829a;font-size:10px;font-weight:700; }.answer-choice.correct {border-color:#80bea5;background:#f1faf6}.answer-choice.correct .choice-letter {background:#dff2e9;color:#438768}.answer-choice.incorrect {border-color:#e2a2a2;background:#fff7f6}.answer-choice.incorrect .choice-letter {background:#fae7e5;color:#b56b67}.answer-feedback { min-height:22px;margin-top:12px;color:#6b9b84;font-size:11px; }.answer-feedback.wrong {color:#b87974}.study-actions {display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:1px solid #edf0f4}.study-actions span {color:#99a3b1;font-size:10px}.button-primary {padding:9px 13px;border:0;border-radius:6px;background:#244d82;color:white;font-size:10px;font-weight:700;cursor:pointer}.button-primary:disabled {background:#b4c1d2;cursor:not-allowed}
.flashcard-wrap { perspective:1000px; }.flashcard { position:relative;display:grid;place-items:center;min-height:235px;padding:28px;border:1px solid #e5ebf3;border-radius:11px;background:linear-gradient(145deg,#fff,#f8faff);text-align:center;cursor:pointer;transition:transform .35s; }.flashcard small {position:absolute;top:15px;left:17px;color:#97a2b2;font-size:9px;letter-spacing:.7px;text-transform:uppercase}.flashcard strong {max-width:500px;color:#2e4260;font:600 20px Manrope,sans-serif;line-height:1.55}.flashcard .flip-hint {position:absolute;bottom:15px;color:#94a0b0;font-size:9px}.flashcard.flipped {background:linear-gradient(145deg,#f3f7fd,#edf3fb)}.flash-controls {display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.flash-controls button {padding:9px 14px;border:1px solid #e4eaf2;border-radius:6px;background:white;color:#60718a;font-size:10px;cursor:pointer}.flash-controls .know-button {border-color:#244d82;background:#244d82;color:#fff}.flash-controls .forgot-button {border-color:#efdfd9;color:#a16e62}
.cram-list {display:grid;gap:9px}.cram-item {display:grid;grid-template-columns:34px 1fr 20px;gap:12px;align-items:center;padding:13px;border:1px solid #e9edf4;border-radius:8px;background:#fff}.cram-number {display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#edf3fb;color:#5578a8;font:700 12px Manrope,sans-serif}.cram-item h3 {margin:0;color:#3b4b64;font:600 12px Manrope,sans-serif}.cram-item p {margin:4px 0 0;color:#8d98a8;font-size:10px;line-height:1.55}.cram-item>span {color:#8ba0bd}.year-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.year-card {padding:14px;border:1px solid #e8edf3;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.year-card strong {display:block;color:#354864;font:700 15px Manrope,sans-serif}.year-card span {display:block;margin-top:5px;color:#8e9aab;font-size:9px}.year-card:hover {border-color:#aabfdb;background:#f9fbfe}.test-setup {display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.test-setup label {display:grid;gap:5px;color:#586982;font-size:10px;font-weight:600}.select-control {padding:8px 10px;border:1px solid #e6ebf2;border-radius:6px;background:#fff;color:#5c6e86;font:inherit;font-size:10px}.timer-inline {margin-left:auto;color:#45658d;font:700 14px Manrope,sans-serif;font-variant-numeric:tabular-nums}.test-score {color:#8793a3;font-size:10px}
.overlay {position:fixed;z-index:8;inset:0;display:grid;place-items:center;padding:20px;background:#17254160}.modal {width:min(420px,100%);padding:24px;border-radius:12px;background:#fff;box-shadow:0 20px 70px #14233b30}.modal h2 {margin:0;color:#253a59;font:700 18px Manrope,sans-serif}.modal p {color:#8490a0;font-size:11px;line-height:1.6}.modal-close {float:right;border:0;background:none;color:#8793a4;font-size:20px;cursor:pointer}.modal-options {display:grid;gap:7px;margin-top:16px}.modal-option {padding:11px;border:1px solid #e8edf3;border-radius:7px;background:#fff;color:#50627b;text-align:left;font-size:11px;cursor:pointer}.modal-option:hover {background:#f5f8fc;border-color:#cdd9e9}
@media (min-width:1450px) {.page-content {padding-top:38px}.hero-card{min-height:230px}.tool-card{min-height:183px}}
@media (max-width:1100px) {.sidebar{width:220px;padding-inline:15px}.main-area{margin-left:220px}.topbar{padding-inline:30px}.page-content{padding-inline:30px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{right:1%}}
@media (max-width:760px) {.sidebar{width:252px;transform:translateX(-100%);transition:transform .22s;box-shadow:8px 0 30px #17254110}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar{height:56px;padding:0 17px}.mobile-menu{display:block;border:0;background:none;color:#526682;font-size:17px;cursor:pointer}.breadcrumb{margin-right:auto;margin-left:12px}.today-label{display:none}.topbar-right{gap:10px}.page-content{padding:25px 17px 18px}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:25px}.target-pill{padding:7px}.target-pill small{display:none}.target-pill .chevron{margin-left:3px}.hero-card{min-height:236px}.hero-copy{padding:22px 19px}.hero-copy h2{font-size:21px}.hero-art{right:-112px;opacity:.72}.hero-counter{right:13px}.stats-grid{gap:8px}.stat-card{padding:11px 9px;min-height:103px}.stat-heading{font-size:9px}.stat-icon{width:22px;height:22px}.stat-number strong{font-size:20px}.stat-foot{font-size:7px}.tool-grid{gap:8px}.tool-card{min-height:180px;padding:11px}.section-heading{margin-top:23px}.page-footer{margin-top:15px}.year-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:430px) {.target-pill{gap:6px}.target-icon{font-size:16px}.target-pill strong{font-size:9px}.target-pill small{display:none}.target-pill .chevron{display:none}.welcome-row h1{font-size:23px}.welcome-copy{font-size:10px}.hero-art{right:-165px;opacity:.48}.hero-copy{max-width:270px}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:auto}.stat-foot{font-size:8px}.tool-grid{grid-template-columns:1fr 1fr}.tool-card{min-height:185px}.tool-description{font-size:8px}.answer-grid{grid-template-columns:1fr}.study-panel{padding:17px}.question-title{font-size:16px}.page-footer{font-size:7px}}

/* Study folders, local timer, reflection, and account gate */
.main-nav { gap: 5px; }
.study-folder { border-radius: 8px; }
.study-folder summary { display:flex;align-items:center;gap:10px;height:39px;padding:0 12px;color:#6c778b;font-size:11px;cursor:pointer;list-style:none; }
.study-folder summary::-webkit-details-marker {display:none}
.study-folder summary:hover,.study-folder[open] summary {color:#234879}
.study-folder summary .nav-icon {font-size:15px}
.folder-chevron {margin-left:auto;color:#98a3b2;font-size:14px;transition:transform .15s}
.study-folder[open] .folder-chevron {transform:rotate(180deg)}
.folder-link {display:block;width:calc(100% - 25px);height:30px;margin:1px 0 1px 25px;padding:0 10px;border:0;border-left:1px solid #e6ebf2;background:transparent;color:#8792a4;font-size:10px;text-align:left;cursor:pointer}
.folder-link:hover {border-left:2px solid #7295c3;background:#f7f9fc;color:#2b5286}
.timer-label {margin-top:22px}
.timer-card {padding:13px 13px 11px}
.timer-display {font-size:32px}
.timer-input-label {display:block;margin:10px 0 5px;color:#8b96a7;font-size:9px;text-align:left}
.timer-input-row {display:flex;gap:6px}
.timer-input-row input,.location-form input {min-width:0;flex:1;padding:8px 9px;border:1px solid #e5eaf1;border-radius:6px;background:#fff;color:#354864;font:inherit;font-size:10px}
.timer-input-row input:focus,.location-form input:focus,.auth-modal input:focus {outline:2px solid #bfd0e6;outline-offset:1px}
.timer-input-row .timer-play {flex:0 0 32px;width:32px;height:32px}
.timer-reset {width:100%;height:auto;margin-top:6px;padding:5px;border-radius:5px;background:transparent;color:#8b96a7;font-size:9px}
.timer-reset:hover {background:#f0f3f8;color:#3e5e87}
.account-button {padding:7px 10px;border:1px solid #e1e7ef;border-radius:6px;background:#fff;color:#45658d;font-size:9px;font-weight:600;cursor:pointer}
.account-button:hover {border-color:#b6c8df;background:#f9fbfe}
.blindspot-panel {display:grid;grid-template-columns:minmax(170px,1fr) auto auto;gap:16px;align-items:center;margin-top:13px;padding:14px 16px;border:1px solid #e9edf4;border-radius:9px;background:#fff}
.blindspot-panel h2 {margin:5px 0 3px;color:#34455e;font:700 12px Manrope,sans-serif}
.blindspot-panel p {margin:0;color:#8d98a8;font-size:9px;line-height:1.5}
.blindspot-chips {display:flex;flex-wrap:wrap;gap:7px}
.blindspot-chips span {display:grid;gap:3px;padding:7px 9px;border-radius:6px;background:#f7f3ef;color:#78624a;font-size:9px}
.blindspot-chips small {color:#a09587;font-size:8px}
.blindspot-empty {color:#a1aab7;font-size:9px}
.subpage-heading {gap:12px}
.study-panel {margin-bottom:14px}
.flashcard {width:100%;font:inherit}
.archive-note {margin-bottom:13px;padding:12px 14px;border:1px solid #e4ebf3;border-radius:8px;background:#f8faff;color:#7a8799;font-size:10px;line-height:1.6}
.archive-note strong {color:#465f80}
.archive-links {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.archive-year {display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:center;padding:11px;border:1px solid #e9edf4;border-radius:8px;background:#fff}
.archive-year strong {color:#344761;font:700 14px Manrope,sans-serif}
.archive-year>span {color:#929dae;font-size:9px;text-align:right}
.archive-year a {color:#5074a5;font-size:9px;text-decoration:none}
.archive-year .archive-single {grid-column:1/-1}
.archive-year a:hover,.source-note a:hover {text-decoration:underline}
.source-note {margin:13px 0 0;color:#8d98a8;font-size:9px;line-height:1.7}
.source-note a {color:#5074a5}
.location-form label,.prep-date-label {display:block;margin-bottom:7px;color:#52647d;font-size:10px;font-weight:600}
.location-form>div {display:flex;gap:8px}
.location-results {margin-top:19px;padding:14px;border-radius:8px;background:#f7f9fc;color:#8490a0;font-size:10px;line-height:1.6}
.location-results h3 {margin:0 0 6px;color:#405673;font:600 13px Manrope,sans-serif}
.location-results p {margin:0}
.location-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.location-actions a {display:inline-flex;align-items:center;padding:9px 11px;border-radius:6px;font-size:9px;text-decoration:none}
.location-actions .back-button {border:1px solid #e5eaf1;background:#fff;color:#60718a}
.countdown-note {margin:11px 0 15px;padding:10px;border-radius:6px;background:#f2f6fb;color:#58769e;font-size:10px}
.prep-checklist {display:grid;gap:8px}
.prep-checklist label {display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #edf0f5;border-radius:7px;color:#65748a;font-size:10px}
.prep-checklist input {accent-color:#345d92}
.topic-breakdown {display:grid;gap:14px;margin:20px 0}
.topic-breakdown article>div:first-child {display:flex;justify-content:space-between;margin-bottom:6px}
.topic-breakdown article strong {color:#40536d;font-size:10px}
.topic-breakdown article span {color:#939eae;font-size:9px}
.topic-track,.topic-track span {height:5px;border-radius:5px}
.topic-track {overflow:hidden;background:#eff2f6}
.topic-track span {display:block;background:#d39583}
.reason-title {margin:23px 0 10px;color:#465873;font:600 12px Manrope,sans-serif}
.reason-list {display:flex;flex-wrap:wrap;gap:7px}
.reason-list span {padding:7px 9px;border-radius:6px;background:#f5f7fa;color:#78869a;font-size:9px}
.reason-list strong {margin-left:4px;color:#425c7c}
.empty-state h2,.results-panel h2 {margin:8px 0;color:#314762;font:700 17px Manrope,sans-serif}
.empty-state p,.results-panel p {color:#8792a4;font-size:11px;line-height:1.6}
.results-panel {padding:34px;text-align:center}
.results-panel .tool-icon {display:grid;place-items:center;width:39px;height:39px;margin:auto;border-radius:9px;font-size:20px}
.results-actions {display:flex;justify-content:center;gap:9px;margin-top:20px}
.results-actions button {padding:9px 12px}
.modal-layer[hidden] {display:none}
.modal-layer {position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:18px;background:#17254170}
.auth-modal {position:relative;width:min(410px,100%);max-height:90vh;overflow:auto;padding:27px;border:1px solid #edf0f5;border-radius:13px;background:#fff;box-shadow:0 24px 80px #10233b38}
.auth-modal h2 {margin:9px 0 6px;color:#213b60;font:700 21px Manrope,sans-serif}
.auth-modal>p {margin:0;color:#8692a3;font-size:11px;line-height:1.65}
.modal-close {position:absolute;top:13px;right:14px;border:0;background:transparent;color:#8792a4;font-size:22px;cursor:pointer}
.auth-tabs {display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:18px 0 15px;padding:4px;border-radius:7px;background:#f3f5f8}
.auth-tab {padding:8px;border:0;border-radius:5px;background:transparent;color:#8490a0;font-size:10px;cursor:pointer}
.auth-tab.selected {background:#fff;color:#375a88;font-weight:700;box-shadow:0 1px 4px #17254110}
#auth-form label {display:block;margin:0 0 6px;color:#586982;font-size:10px;font-weight:600}
.auth-modal input:not([type=checkbox]) {width:100%;padding:10px;border:1px solid #e4e9f0;border-radius:6px;background:white;color:#334861;font:inherit;font-size:11px}
.auth-modal .auth-note {margin:9px 0 14px;color:#9aa3b0;font-size:9px;line-height:1.55}
.auth-submit {width:100%;padding:10px}
.reflection-modal .eyebrow {color:#7288a7}
.reflection-modal #reflection-question {margin:7px 0 12px;color:#65748a}
.reflection-choices {display:grid;gap:7px}
.reflection-choice {padding:10px 11px;border:1px solid #e7ecf2;border-radius:6px;background:#fff;color:#64738a;font-size:10px;text-align:left;cursor:pointer}
.reflection-choice:hover,.reflection-choice.selected {border-color:#91adcf;background:#f4f8fd;color:#365b8b}
.explanation-box {margin-top:13px;padding:12px;border-radius:7px;background:#f3f7fb;color:#68788e;font-size:10px;line-height:1.6}
.explanation-box strong {color:#355780}
.explanation-box p {margin:6px 0 0}
.explanation-box .reflection-reason {padding-top:7px;border-top:1px solid #e2eaf4;color:#607b9c}
.reflection-modal .auth-submit {margin-top:13px}
@media(max-width:1100px) {.archive-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px) {.blindspot-panel{grid-template-columns:1fr auto}.blindspot-chips{grid-column:1/-1;grid-row:2}.blindspot-panel>.text-button{grid-column:2;grid-row:1}.archive-links{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar.open{overflow-y:auto}.location-form>div{flex-direction:column}.location-form .button-primary{align-self:flex-start}}
@media(max-width:430px) {.blindspot-panel{grid-template-columns:1fr}.blindspot-panel>.text-button,.blindspot-chips{grid-column:1;grid-row:auto}.archive-links{grid-template-columns:1fr 1fr}.account-button{padding:6px;font-size:8px}.results-actions{flex-direction:column}}
