:root{--bg:#f4efe5;--surface:rgba(255,250,243,0.84);--surface-strong:#fffaf2;--text:#1f1a17;--muted:#655d56;--line:rgba(54,40,29,0.12);--accent:#0f766e;--accent-soft:#d8f2ef;--danger:#9f1239;--shadow:0 22px 60px rgba(51,39,26,0.12)}.help-question{border-bottom:1px solid var(--line);padding:18px 0}.help-question summary{cursor:pointer;font-weight:600;line-height:1.5}.help-question p{max-width:80ch;line-height:1.7;margin-bottom:0}.learning-map>summary{cursor:pointer;font-weight:600;padding:4px 0}.learning-map[open]>summary{margin-bottom:18px}.tutor-working{padding:18px;border-radius:12px;background:var(--accent-soft);color:#285f5c;line-height:1.6}*{box-sizing:border-box}html{background:radial-gradient(circle at top left,rgba(15,118,110,.14),transparent 24%),radial-gradient(circle at top right,rgba(180,83,9,.12),transparent 26%),linear-gradient(180deg,#f6f0e5,#efe7db)}body{margin:0;min-height:100vh;color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}main{width:min(1180px,calc(100% - 32px));margin:0 auto}.shell{padding:24px 0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;margin-bottom:24px;border:1px solid var(--line);border-radius:24px;background:rgba(255,250,243,.75);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);flex-wrap:wrap}.brand{font-size:1.1rem;font-weight:700;letter-spacing:.04em}.nav{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.3fr .9fr;grid-gap:24px;gap:24px;align-items:stretch}.panel{border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-copy{padding:40px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:#0b5e58;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.hero h1,.page-title{margin:18px 0 14px;line-height:1.18;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700}.hero p,.lead{max-width:56ch;color:var(--muted);font-size:1.04rem;line-height:1.7}.student-guide{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.65}.student-guide .guide-intro{padding:clamp(24px,4vw,44px)}.student-guide .page-title{max-width:29ch;margin:20px 0 16px;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.025em;font-weight:650;text-wrap:balance}.student-guide .lead{max-width:68ch;font-size:1rem;line-height:1.75}.student-guide .section h2{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.3;letter-spacing:-.015em}.student-guide .kicker{font-size:.7rem;font-weight:600;letter-spacing:.06em}.hero-actions,.quick-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.learning-map{display:grid;grid-gap:12px;gap:12px;margin-top:28px;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.62)}.checkpoint-heading,.learning-map>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.checkpoint-heading>div,.learning-map>header div{display:grid;grid-gap:3px;gap:3px}.learning-map p{margin:0;font-size:.82rem;line-height:1.45}.learning-count{display:grid;place-items:center;min-width:46px;min-height:34px;border-radius:999px;background:var(--accent-soft);color:#0b5e58;font-weight:700}.research-stage-list,.skill-list,.skill-row{display:grid;grid-gap:8px;gap:8px}.research-stage-list{gap:10px}.skill-details{border-top:1px solid var(--line);padding-top:10px}.skill-details summary{cursor:pointer;color:var(--muted);font-size:.78rem}.skill-details .skill-list{margin-top:12px}.skill-row>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:.78rem}.skill-identity{display:grid;grid-gap:2px;gap:2px;min-width:0}.skill-identity small{font-size:.68rem;line-height:1.25}.mastery-track{height:5px;overflow:hidden;border-radius:999px;background:rgba(15,118,110,.12)}.mastery-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .24s ease}.review-due{padding:8px 10px;border-radius:12px;background:#fff4dc;color:#7c4a03;font-size:.78rem}button.memory-reset{justify-self:start;padding:0;border-radius:0;background:none;color:var(--muted);font-size:.76rem;text-decoration:underline;text-underline-offset:3px}.button,button{border:0;border-radius:999px;padding:12px 18px;font:inherit;cursor:pointer}.button.primary,button.primary{background:var(--accent);color:white}.button.secondary,button.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.hero-card{display:grid;grid-gap:14px;gap:14px;padding:24px}.citation,.dashboard-card,.faq-card,.feature,.material-card,.metric,.mini-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:22px}.metric{padding:18px}.metric strong{display:block;font-size:2rem;margin-bottom:8px}.grid-2,.grid-3{display:grid;grid-gap:18px;gap:18px;margin-top:24px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.section{margin-top:24px;padding:28px}.section h2{margin:0 0 12px;font-size:2rem}.dashboard-card,.faq-card,.feature,.material-card{padding:20px}.chat-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:24px;gap:24px}.auth-card,.chat-main,.chat-sidebar,.dashboard-grid{padding:24px}.chat-main{display:grid;grid-gap:18px;gap:18px;min-width:0}.message-list{display:grid;grid-gap:14px;gap:14px}.message{padding:16px 18px;border-radius:22px;border:1px solid var(--line);background:var(--surface-strong);overflow-wrap:anywhere}.message.assistant{background:#fcfffd}.message.user{background:#fff6eb}.message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.message-attachments>span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.62);font-size:.8rem}.message-attachments>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message header,.message-attachments small{color:var(--muted)}.message header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.86rem}.citation-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.citation-list .citation{flex:1 1 240px;min-width:0;padding:12px 14px;border-radius:14px;line-height:1.25}.citation-label{margin-bottom:4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.citation-sections{margin-top:4px;font-size:.82rem}.checkpoint-card{display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:16px;border:1px solid rgba(15,118,110,.2);border-radius:18px;background:linear-gradient(145deg,rgba(216,242,239,.48),rgba(255,255,255,.82))}.message .checkpoint-heading{margin:0;font-size:.82rem}.checkpoint-kicker{color:#0b5e58;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.checkpoint-card p{margin:0;line-height:1.5}.checkpoint-options{display:grid;grid-gap:8px;gap:8px}button.checkpoint-option{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.78);color:var(--text);text-align:left}button.checkpoint-option>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(15,118,110,.09);color:#0b5e58;font-size:.76rem;font-weight:700}button.checkpoint-option.selected,button.checkpoint-option:not(:disabled):hover{border-color:rgba(15,118,110,.58);transform:translateY(-1px)}button.checkpoint-option.correct{border-color:#15803d;background:#eefbf1}button.checkpoint-option.incorrect{border-color:#be123c;background:#fff1f3}button.checkpoint-option:disabled{cursor:default;opacity:1}.checkpoint-result{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:12px;font-size:.84rem;line-height:1.45}.checkpoint-result.success{background:#eefbf1;color:#166534}.checkpoint-result.needs-work{background:#fff7e8;color:#854d0e}.checkpoint-source{font-size:.72rem}.composer{display:grid;grid-gap:8px;gap:8px}.composer-box{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.84);transition:border-color .16s ease,box-shadow .16s ease}.composer-box.is-dragging,.composer-box:focus-within{border-color:rgba(15,118,110,.62);box-shadow:0 0 0 3px rgba(15,118,110,.1)}.auth-card input,.composer textarea{width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.84);font:inherit;color:var(--text)}.composer-box textarea{display:block;min-height:118px;resize:vertical;padding:16px 16px 66px;border:0;border-radius:0;background:transparent;outline:none}.composer-controls{position:absolute;right:12px;bottom:12px;left:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.composer-controls input[type=file]{display:none}.composer-controls button{position:static;min-width:0;padding:9px 13px;pointer-events:auto}.composer-controls .attach-button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:rgba(255,250,243,.92);color:var(--muted);font-size:.84rem}.composer-controls .attach-button:hover:not(:disabled){border-color:rgba(15,118,110,.45);color:var(--accent)}.composer-controls .send-button{min-width:82px}.composer-controls button:disabled{cursor:not-allowed;opacity:.48}.attachment-list{display:grid;grid-gap:7px;gap:7px;max-height:190px;overflow-y:auto;padding:12px 12px 0}.attachment-item{display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;grid-gap:10px;gap:10px;padding:8px 9px;border:1px solid var(--line);border-radius:13px;background:rgba(255,250,243,.78)}.attachment-item.uploaded{border-color:rgba(15,118,110,.34);background:rgba(216,242,239,.4)}.attachment-item.failed{border-color:rgba(159,18,57,.35);background:rgba(255,241,243,.7)}.attachment-type{display:grid;place-items:center;min-height:36px;border-radius:9px;background:rgba(15,118,110,.09);color:#0b5e58;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.attachment-info{display:grid;min-width:0;grid-gap:2px;gap:2px}.attachment-info small,.attachment-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-info strong{font-size:.82rem}.attachment-info small{color:var(--muted);font-size:.72rem}.attachment-item.failed small{color:var(--danger)}button.attachment-remove{display:grid;place-items:center;width:28px;height:28px;min-width:28px;padding:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.2rem}button.attachment-remove:hover{background:rgba(31,26,23,.07);color:var(--text)}.attachment-drop-overlay{position:absolute;z-index:3;inset:0;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:inherit;background:rgba(216,242,239,.94);color:#0b5e58;font-weight:700}.composer-help{font-size:.86rem;line-height:1.4}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(15,118,110,.09);color:#0b5e58}.danger{color:var(--danger)}.list{display:grid;grid-gap:12px;gap:12px;padding-left:18px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px}.stats .metric{min-height:124px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid rgba(15,118,110,.3);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}.auth-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);grid-gap:40px;gap:40px;max-width:940px;margin:0 auto;padding:40px}.account-profile .page-title,.auth-shell .page-title{font-size:clamp(1.8rem,3vw,2.4rem)}.auth-intro{align-self:center}.auth-form-wrap{padding:22px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.58)}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;border-radius:999px;background:rgba(31,26,23,.06)}.auth-mode-switch button{padding:9px 12px;background:transparent;color:var(--muted)}.auth-mode-switch button.active{background:var(--surface-strong);color:var(--text);box-shadow:0 3px 12px rgba(51,39,26,.08)}.account-form,.auth-form{display:grid;grid-gap:16px;gap:16px;margin-top:22px}.account-form label,.auth-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.88rem}.account-form input,.account-form select,.auth-card input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.86);color:var(--text);font:inherit}.auth-submit{width:100%;margin-top:2px}.auth-error{margin:0;padding:11px 12px;border-radius:12px;background:rgba(159,18,57,.08);color:var(--danger);font-size:.86rem;line-height:1.45}.auth-note{margin:18px 0 0;font-size:.82rem;line-height:1.5}.auth-note a{text-decoration:underline;text-underline-offset:3px}.account-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);grid-gap:24px;gap:24px;align-items:start}.account-history,.account-loading,.account-profile{padding:28px}.account-loading{color:var(--muted);text-align:center}.account-identity{display:grid;grid-gap:5px;gap:5px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.52);overflow-wrap:anywhere}.account-identity strong{font-size:1.15rem}.account-status{min-height:28px;font-size:.86rem}.account-status p{margin:12px 0 0}.account-success{color:#166534}.account-logout{width:100%;margin-top:14px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.history-heading h2{margin:14px 0 0;font-size:clamp(1.4rem,2.5vw,1.8rem)}.conversation-list{display:grid;grid-gap:10px;gap:10px;margin:24px 0 0;padding:0;list-style:none}.conversation-list li{min-width:0}.conversation-list a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title time arrow" "preview time arrow";align-items:center;grid-gap:4px 14px;gap:4px 14px;padding:15px 16px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.56);transition:border-color .16s ease,transform .16s ease}.conversation-list a:hover{border-color:rgba(15,118,110,.38);transform:translateY(-1px)}.conversation-title{grid-area:title;font-weight:700}.conversation-preview,.conversation-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-preview{grid-area:preview;font-size:.82rem}.conversation-list time{grid-area:time;color:var(--muted);font-size:.76rem;white-space:nowrap}.conversation-arrow{grid-area:arrow;color:var(--accent);font-size:1.2rem}.empty-history{margin-top:24px;padding:34px 22px;border:1px dashed rgba(54,40,29,.2);border-radius:20px;text-align:center}.empty-history p{margin:8px auto 0;max-width:38ch;line-height:1.55}@media (max-width:960px){.account-layout,.chat-layout,.grid-2,.grid-3,.hero,.stats{grid-template-columns:1fr}.hero h1,.page-title{line-height:1.02}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.auth-shell{grid-template-columns:1fr}}@media (max-width:1100px){.chat-layout{grid-template-columns:1fr}.chat-sidebar .page-title{font-size:clamp(1.8rem,6vw,2.4rem)}}@media (max-width:620px){main{width:min(100% - 20px,1180px)}.account-history,.account-profile,.auth-shell{padding:20px}.auth-shell{gap:22px}.auth-form-wrap{padding:16px}.history-heading{align-items:flex-start;flex-direction:column}.history-heading button{width:100%}.conversation-list a{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title arrow" "preview arrow" "time arrow"}}.learning-disclaimer{margin:24px auto 8px;padding:0 16px;max-width:90ch;text-align:center;color:#596460;font-family:Arial,Helvetica,sans-serif;line-height:1.6}.learning-disclaimer small{font-size:12px}