:root { color-scheme: light; --navy:#12233f; --blue:#1677ff; --blue-dark:#0b5fd1; --surface:#fff; --background:#f4f7fb; --border:#dce4ef; --text:#172033; --muted:#627087; --danger:#c7352d; --danger-soft:#fff0ef; --success:#137a46; --success-soft:#eaf8f0; --shadow:0 10px 28px rgba(18,35,63,.09); }
* { box-sizing:border-box; } body { margin:0; background:var(--background); color:var(--text); font-family:Arial,sans-serif; font-size:18px; line-height:1.5; }.page { width:min(880px,calc(100% - 32px)); margin:0 auto; padding:28px 0 56px; }.brand { margin-bottom:26px; }.brand h1 { margin:0; font-size:clamp(36px,8vw,54px); line-height:1.05; }.brand p { margin:8px 0 0; color:var(--muted); } h2 { margin-top:34px; } h3 { margin-bottom:8px; }.section-heading { margin:32px 0 0; font-size:22px; color:var(--navy); }
.card { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:22px; box-shadow:var(--shadow); overflow-wrap:anywhere; }.card + .card { margin-top:18px; }.grid,.study-action-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; align-items:stretch; margin-top:18px; }.grid > *,.study-action-grid > * { min-width:0; }.grid > .card,.study-action-grid > .card { margin-top:0; height:100%; }
.button,button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 18px; border:0; border-radius:12px; background:var(--blue); color:white; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }.button:hover,button:hover { background:var(--blue-dark); }.button.secondary { background:#e7edf6; color:var(--navy); }.button.secondary:hover { background:#d9e2ef; }.button.full { width:100%; }.button.small,button.small { min-height:40px; padding:8px 12px; font-size:16px; }.module { display:block; color:var(--text); text-decoration:none; transition:.15s ease; min-width:0; }.module h3 { margin:0 0 6px; overflow-wrap:anywhere; }.module p { margin:0; color:var(--muted); overflow-wrap:anywhere; }.module:hover { border-color:#9cc4ff; transform:translateY(-1px); }.badge { display:inline-block; padding:4px 9px; border-radius:999px; background:#e8f1ff; color:#0b5cb9; font-size:14px; font-weight:700; }.badge.due { background:var(--danger-soft); color:var(--danger); }.badge.progress { background:#fff4d7; color:#805b00; }
label { display:block; margin:16px 0 7px; font-weight:700; } input,textarea,select { width:100%; min-width:0; max-width:100%; padding:14px; border:1px solid #aeb9ca; border-radius:12px; background:white; color:var(--text); font:inherit; } textarea { resize:vertical; min-height:110px; line-height:1.5; }.form-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }.result { margin-top:20px; padding:15px; border-radius:12px; }.result.good { background:var(--success-soft); color:var(--success); }.result.bad { background:var(--danger-soft); color:var(--danger); }.navigation { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }.muted { color:var(--muted); }.study-output { white-space:pre-wrap; line-height:1.7; }
.summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }.summary-grid > .card { margin-top:0; box-shadow:none; }.summary-card span { display:block; color:var(--muted); font-size:15px; }.summary-card strong { display:block; margin-top:4px; font-size:25px; }.summary-card small { display:block; margin-top:4px; color:var(--muted); }.model-name { font-size:18px!important; overflow-wrap:anywhere; }.privacy-note { margin-top:18px; padding:14px; border-left:4px solid var(--blue); background:#eaf2ff; }
.study-action-card { display:flex; flex-direction:column; }.study-action-card h2 { margin:0; }.study-action-card .form-actions { margin-top:auto; padding-top:16px; }.question-list { display:grid; gap:12px; }.saved-question { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; padding:14px 0; border-top:1px solid var(--border); }.saved-question:first-child { border-top:0; }.saved-question p { margin:5px 0 0; }.draft-question { margin-top:18px; }.draft-question textarea { min-height:82px; }.sticky-actions { position:sticky; bottom:10px; z-index:3; padding:12px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:var(--shadow); }
.flashcard-study { text-align:center; }.flashcard-progress { margin-bottom:14px; color:var(--muted); }.flashcard-stage { width:min(620px,100%); min-height:300px; margin:0 auto; perspective:1200px; }.flashcard { width:100%; min-height:300px; cursor:pointer; outline:none; }.flashcard.hidden-card { display:none; }.flashcard-inner { position:relative; width:100%; min-height:300px; transition:transform .55s cubic-bezier(.2,.7,.2,1); transform-style:preserve-3d; }.flashcard.flipped .flashcard-inner { transform:rotateY(180deg); }.flashcard-face { position:absolute; inset:0; min-height:300px; padding:32px; border:1px solid #b9c9df; border-radius:20px; background:#f9fbff; box-shadow:0 8px 24px rgba(18,35,63,.09); backface-visibility:hidden; -webkit-backface-visibility:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; }.flashcard-front h3 { margin:18px 0; font-size:clamp(22px,4vw,30px); }.flashcard-face small { color:var(--muted); }.flashcard-back { transform:rotateY(180deg); background:#eef6ff; }.flashcard-back p { font-size:clamp(20px,3vw,26px); }.flashcard:focus .flashcard-face,.flashcard:hover .flashcard-face { border-color:#79adf5; }.flashcard-controls { display:flex; justify-content:center; gap:12px; margin-top:18px; }
.task-list { display:grid; gap:14px; }.task { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; }.task-main { min-width:0; }.task-title { margin:0; font-size:20px; }.task-time { margin:5px 0 0; color:var(--muted); font-size:16px; }.note-group + .note-group { margin-top:18px; }.note-group h2 { margin-top:0; }.quiz-question { margin-bottom:22px; }.choice { display:block; margin:8px 0; padding:11px; border:1px solid var(--border); border-radius:10px; cursor:pointer; }.choice input { width:auto; margin-right:8px; }.quiz-result { display:none; margin-top:20px; }.notice { display:none; position:sticky; top:10px; z-index:2; margin-bottom:16px; padding:14px; border-radius:12px; background:var(--danger); color:white; font-weight:700; }
.material-upload { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }.material-heading { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; }.material-heading h2 { margin:0; }.material-text { margin-top:22px; padding:18px; border:1px solid var(--border); border-radius:12px; background:#fbfcfe; }.list-row { display:flex; gap:14px; align-items:center; justify-content:space-between; padding:14px; border:1px solid var(--border); border-radius:12px; min-width:0; }.row-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }.danger-button { background:#7d2b28; }.danger-button:hover { background:#601f1d; }
.finance-section { margin-top:18px; }.plaid-card { margin-bottom:18px; }.plaid-card h2 { margin:0; }.borderless { padding:0; border:0; } button:disabled { cursor:not-allowed; opacity:.55; }.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; align-items:end; margin-top:12px; }.check-label { display:flex; gap:9px; align-items:center; min-height:50px; margin:16px 0 0; }.check-label input { width:auto; }.table-wrap { width:100%; overflow-x:auto; margin-top:22px; } table { width:100%; border-collapse:collapse; font-size:16px; } th,td { padding:11px 9px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; }.positive { color:var(--success); }.negative { color:var(--danger); }.progress-track { height:10px; margin-top:9px; overflow:hidden; border-radius:999px; background:#e4eaf2; }.progress-track span { display:block; height:100%; background:var(--blue); }.login-brand,.login-card { width:min(460px,100%); margin-left:auto; margin-right:auto; }.login-card { margin-top:28px; }
@media (max-width:700px) { body { font-size:17px; }.page { width:min(100% - 24px,880px); padding-top:20px; }.card { padding:17px; border-radius:15px; }.form-grid,.study-action-grid { grid-template-columns:minmax(0,1fr); }.form-actions .button,.form-actions button { width:100%; }.task,.list-row,.material-heading,.saved-question { align-items:flex-start; flex-direction:column; }.task form,.task button,.saved-question form,.saved-question button { width:100%; }.row-actions { width:100%; }.sticky-actions { bottom:6px; }.sticky-actions button { width:100%; } table { min-width:680px; }.flashcard-stage,.flashcard,.flashcard-inner,.flashcard-face { min-height:250px; }.flashcard-controls .button { flex:1; } }
