*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#0b0d10;--surface:#12151a;--hover:#181c22;--border:#252a32;--text:#f2f4f7;--muted:#8f98a6;--accent:#dfe5ed}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit}
button{cursor:pointer}
.app-shell,.panel{max-width:780px;margin:auto;padding:0 20px}.app-shell{min-height:100vh}
.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.brand{display:block;letter-spacing:.08em}.brand-subtitle{display:block;color:var(--muted);font-size:.72rem}
.icon,.back{width:42px;height:42px;border:1px solid var(--border);border-radius:12px;background:transparent;color:inherit}
.greeting{padding:38px 0 30px}.eyebrow{margin:0 0 7px;color:var(--muted);font-size:.75rem}
h1{margin:0 0 8px;font-size:clamp(2rem,8vw,3rem);line-height:1.05;letter-spacing:-.04em}h2{font-size:1rem;margin:0}
h3{font-size:.9rem}.muted{color:var(--muted);font-size:.8rem}
.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.switch{display:flex;border:1px solid var(--border);border-radius:10px;padding:2px}
.switch button{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:8px;font-size:.72rem}
.switch button.active{background:var(--hover);color:var(--text)}
.day{margin-bottom:26px}.day-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.day-title h3{margin:0;font-size:.84rem}.day-title span{color:var(--muted);font-size:.7rem}
.school-card{width:100%;text-align:left;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:inherit;padding:15px;margin-bottom:8px}
.school-card:active,.class:active,.resource:active{background:var(--hover)}
.school-top{display:flex;justify-content:space-between;align-items:center}.school-name{margin:0;font-size:.95rem}
.arrow{color:var(--muted)}.school-summary{margin:5px 0 0;color:var(--muted);font-size:.78rem}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tag{padding:4px 7px;border-radius:7px;background:var(--hover);font-size:.65rem;color:#cbd2dc}
.next{margin:20px 0;padding:15px;border-left:2px solid var(--accent);background:var(--surface);border-radius:0 13px 13px 0}
.next p{margin:0}.next .time{font-size:.72rem;color:var(--muted)}
.ask{display:flex;gap:8px;margin:34px 0;padding:6px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.ask input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:10px 12px}.ask button{width:42px;border:0;border-radius:11px;background:var(--accent);color:var(--bg)}
footer{display:flex;justify-content:space-between;padding:20px 0 28px;color:#5f6875;font-size:.7rem}
.overlay{position:fixed;inset:0;background:var(--bg);overflow:auto}.panel{min-height:100vh}
.detail-header{min-height:86px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border)}
.detail-header h2{margin:0}.detail{padding:24px 0 40px}
.summary{color:var(--muted);font-size:.88rem}.subject{margin:26px 0}
.class{width:100%;display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;text-align:left}
.class+.class{margin-top:8px}.class h4{margin:0;font-size:.88rem}.class p{margin:4px 0 0;color:var(--muted);font-size:.76rem}
.info{display:grid;gap:12px}.block{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.label{margin:0 0 7px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.value{margin:0;font-size:.9rem;line-height:1.5}
.resources{display:grid;gap:8px}.resource{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:transparent;color:inherit;text-decoration:none;text-align:left}
.resource small{color:var(--muted)}.week-note{padding:13px 14px;border:1px dashed var(--border);border-radius:13px;color:var(--muted);font-size:.75rem}
.detail-nav{display:flex;gap:8px;margin-top:20px}.detail-nav button{flex:1;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:inherit}
@media(min-width:700px){.app-shell,.panel{padding-left:30px;padding-right:30px}.school-card{padding:17px}.greeting{padding-top:46px}}
.date-nav{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;margin:0 0 8px}
.date-nav>button{height:42px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:inherit;font-size:1.4rem}
.date-nav>div{text-align:center;min-width:0}.date-nav strong{display:block;font-size:.82rem}.date-nav small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
.today-button{display:block;margin:0 auto 18px;border:0;background:transparent;color:var(--muted);font-size:.7rem;padding:4px 10px}
.today-button:hover{color:var(--text)}

.hero{padding:52px 0 28px}.hero h1{max-width:620px}
.assistant-summary{padding:18px 0 0}.summary-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.summary-head h2{font-size:1.2rem;letter-spacing:-.02em}
.assistant-card{padding:17px;border:1px solid var(--border);border-radius:18px;background:var(--surface);margin-bottom:9px}
.assistant-card.clickable{cursor:pointer}.assistant-card.clickable:active{background:var(--hover)}
.assistant-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.assistant-card h3{margin:0;font-size:.95rem}.assistant-card .meta{color:var(--muted);font-size:.72rem}
.assistant-card .line{margin:8px 0 0;font-size:.82rem}.assistant-card .subline{margin:4px 0 0;color:var(--muted);font-size:.74rem}
.metric{font-size:1.55rem;font-weight:700;letter-spacing:-.04em}.metric-label{color:var(--muted);font-size:.68rem}
.quick-actions{display:grid;gap:8px;margin:20px 0 10px}.quick-actions button{padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:transparent;color:var(--text);text-align:left;font-size:.78rem}.quick-actions button:active{background:var(--hover)}
.ask{display:block;margin-top:26px;padding:14px;border-radius:18px}.ask-label{font-size:.75rem;color:var(--muted);margin:2px 4px 8px}.ask-row{display:flex;gap:8px}
.answer{margin:12px 0 28px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);font-size:.82rem;line-height:1.55}
.answer strong{font-weight:650}.answer .answer-title{margin:0 0 8px;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.week-list{display:grid;gap:8px}.week-day{padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.week-day h3{margin:0;font-size:.84rem}.week-day p{margin:5px 0 0;color:var(--muted);font-size:.73rem}

.week-answer-day{width:100%;text-align:left;background:none;border:0;color:inherit;padding:0;font:inherit}
