:root{--study-bg:#f4f5f7;--study-card:#fff;--study-line:#e1e4ea;--study-navy:#1c2230;--study-indigo:#3452ff;--study-ink:#1c2230;--study-muted:#6b7280;--study-radius:10px;--study-display:"Space Grotesk", sans-serif;--study-body:"Figtree", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--study-bg);color:var(--study-ink);font-family:var(--study-body)}h1,h2,.brand-btn,.primary,.study-tabs a,.study-tabbar a,.student-card-name,.signal-badge{font-family:var(--study-display)}h1,h2{margin:0}h1{font-size:1.6rem}h2{font-size:1.1rem}.section-label{font-family:var(--study-display);letter-spacing:.08em;text-transform:uppercase;color:var(--study-muted);margin:16px 0 8px;font-size:.8rem}.study-shell{flex-direction:column;min-height:100dvh;display:flex}.study-top{z-index:6;background:var(--study-card);border-bottom:1px solid var(--study-line);align-items:center;gap:16px;min-height:56px;padding:8px 20px;display:flex;position:sticky;top:0}.brand-btn{appearance:none;letter-spacing:.04em;color:var(--study-ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;padding:0;font-size:.95rem}.brand-btn:hover,.brand-btn:focus-visible{color:var(--study-indigo)}.study-tabs{align-items:center;gap:4px;min-width:0;display:flex}.study-tabs a,.study-tabbar a{color:var(--study-muted);border-radius:8px;padding:7px 12px;text-decoration:none}.study-tabs a:hover,.study-tabbar a:hover{color:var(--study-ink);background:#eef0f4}.study-tabs a.is-active,.study-tabs a.is-active:hover,.study-tabbar a.is-active,.study-tabbar a.is-active:hover{color:var(--study-indigo);background:#eef1ff}.study-top-end{align-items:center;gap:10px;margin-left:auto;display:flex}.student-picker,.avatar-wrap{position:relative}.context-chip{appearance:none;text-overflow:ellipsis;white-space:nowrap;background:var(--study-bg);border:1px solid var(--study-line);max-width:220px;font:inherit;color:var(--study-ink);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.85rem;overflow:hidden}.context-chip.is-static{cursor:default}.context-chip:not(.is-static):hover,.context-chip:not(.is-static):focus-visible{border-color:#c5cad3}.study-avatar{appearance:none;background:var(--study-navy);cursor:pointer;border:0;border-radius:50%;width:36px;height:36px;padding:0;overflow:hidden}.study-avatar:hover,.study-avatar:focus-visible{background:#2a3344}.study-avatar:has(.has-photo),.study-avatar:has(.has-photo):hover,.study-avatar:has(.has-photo):focus-visible{background:var(--study-line)}.study-avatar .avatar{width:100%;height:100%}.avatar{background:var(--study-navy);color:#fff;font-family:var(--study-display);letter-spacing:.04em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid;overflow:hidden}.avatar-sm{width:24px;height:24px;font-size:.62rem}.avatar-md{width:36px;height:36px;font-size:.75rem}.avatar.has-photo{background:var(--study-line)}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.study-menu{background:var(--study-card);border:1px solid var(--study-line);z-index:8;border-radius:12px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 30px #1c22301f}.study-menu-end{left:auto;right:0}.study-menu-label{color:var(--study-muted);margin:0;padding:8px 12px 6px;font-size:.75rem}.study-menu button,.study-menu a{appearance:none;text-align:left;width:100%;font:inherit;color:var(--study-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:flex}.study-menu button:hover,.study-menu a:hover,.study-menu button:focus-visible,.study-menu a:focus-visible{background:var(--study-bg)}.study-menu button.is-active{color:var(--study-indigo);background:#eef1ff}.study-tabbar{background:var(--study-card);border-top:1px solid var(--study-line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:5;justify-content:space-around;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.study-tabbar a{text-align:center;flex:1;padding:7px 6px;font-size:.8rem}.student-switch,.add-student label,.log-form label,.timetable-form label,.study-login label{flex-direction:column;gap:6px;font-size:.8rem;display:flex}.log-form input,.log-form textarea,.timetable-form input,.study-login input{border:1px solid var(--study-line);font:inherit;color:var(--study-ink);background:#fff;border-radius:8px;padding:8px 10px}.add-student button,.study-login button,.primary,.chip,.confidence-card,.text-btn{font:inherit;cursor:pointer}.add-student button,.study-login button,.primary{background:var(--study-indigo);color:#fff;font-family:var(--study-display);border:0;border-radius:8px;padding:9px 12px}.text-btn{color:var(--study-muted);text-align:left;background:0 0;border:0;padding:0}.text-btn:hover,.text-btn:focus-visible{color:var(--study-ink);text-underline-offset:3px;text-decoration:underline}.study-menu .text-btn{color:var(--study-ink);margin:0}.study-menu .text-btn:hover,.study-menu .text-btn:focus-visible{text-decoration:none}.study-content{flex:1;min-width:0;padding:24px 28px 40px}.subject-pills,.chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.chip{background:var(--study-card);border:1px solid var(--study-line);color:var(--study-ink);border-radius:999px;padding:6px 12px}.chip:hover,.chip:focus-visible{border-color:#c5cad3}.chip.is-active,.chip.is-active:hover{background:var(--study-indigo);border-color:var(--study-indigo);color:#fff}.page{flex-direction:column;gap:16px;display:flex}.page-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--study-muted);margin:0;font-size:.75rem}.onboarding{gap:20px;max-width:720px;padding-top:24px}.role-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.role-card{text-align:left;background:var(--study-card);border:1px solid var(--study-line);cursor:pointer;color:inherit;font:inherit;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px 18px;display:flex}.role-card h2{font-size:1.35rem}.role-card p{color:var(--study-muted);margin:0;line-height:1.45}.role-card-action{font-family:var(--study-display);color:var(--study-indigo);margin-top:auto}.role-card:hover,.role-card:focus-visible{border-color:var(--study-indigo)}.role-card:disabled{opacity:.65;cursor:wait}.people-page{max-width:640px}.people-page .lede{margin-top:-8px}.people-panel{background:var(--study-card);border:1px solid var(--study-line);border-radius:14px;flex-direction:column;gap:12px;padding:20px;display:flex}.people-panel h2{font-size:1.05rem}.people-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.people-page label{flex-direction:column;flex:1;gap:6px;min-width:180px;font-size:.8rem;display:flex}.people-page input,.people-page select,.people-page textarea{border:1px solid var(--study-line);font:inherit;color:var(--study-ink);background:#fff;border-radius:8px;padding:8px 10px}.applications-page{max-width:1120px}.applications-page .lede{margin:4px 0 0;font-size:.9rem}.app-db{background:var(--study-card);border:1px solid var(--study-line);border-radius:12px;overflow-x:auto}.app-db table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:720px}.app-db-home table{table-layout:auto;min-width:0}.app-db th,.app-db td{border-bottom:1px solid var(--study-line);text-align:left;vertical-align:middle;padding:8px 12px}.app-db th{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:var(--study-muted);background:#f7f8fb;font-size:.72rem;font-weight:600;position:sticky;top:0}.app-db tbody tr:last-child td{border-bottom:0}.app-db tbody tr:hover td{background:#f7f8fb}.app-db tr.is-open td,.app-db tr.app-detail td{background:#f5f7ff}.app-db tr.is-closed td{opacity:.68}.app-db th:first-child,.app-db td:first-child{z-index:2;background:var(--study-card);min-width:148px;position:sticky;left:0}.app-db tbody tr:hover td:first-child,.app-db tr.is-open td:first-child,.app-db tr.app-new:hover td:first-child{background:#f7f8fb}.app-db tr.is-open td:first-child,.app-db tr.app-detail td:first-child{background:#f5f7ff}.app-company,.app-notes-cell,.app-next,.app-link{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.app-company{font-family:var(--study-display);font-size:.95rem}.app-role,.app-notes-cell{color:var(--study-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.app-notes-cell{text-overflow:ellipsis;white-space:nowrap;max-width:240px;display:block;overflow:hidden}.applications-page .app-db th:first-child,.applications-page .app-db td:first-child,.applications-page .app-db th:nth-child(2),.applications-page .app-db td:nth-child(2){width:18%}.applications-page .app-db th:nth-child(3),.applications-page .app-db td:nth-child(3){width:138px}.applications-page .app-db th:nth-child(4),.applications-page .app-db td:nth-child(4){width:24%}.applications-page .app-db th:nth-child(5),.applications-page .app-db td:nth-child(5){width:22%}.app-col-link{white-space:nowrap;width:76px}.app-link{color:var(--study-indigo);font-size:.82rem;text-decoration:none}.app-link:hover,.app-company:hover,.app-notes-cell:hover,.app-next:hover{color:var(--study-indigo)}.app-empty{color:var(--study-muted);text-align:center}.app-db input,.app-db select,.app-db textarea{width:100%;min-width:0;font:inherit;color:var(--study-ink);background:0 0;border:0;padding:0}.app-db input:focus,.app-db select:focus,.app-db textarea:focus{outline:none}.app-db input::placeholder{color:#9aa1ad}.app-stage{white-space:nowrap;border-radius:6px;align-items:center;min-height:24px;padding:0 8px;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.app-stage select{appearance:none;width:auto;color:inherit;font:inherit;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%236b7280' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") 100% no-repeat;padding:5px 16px 5px 0;font-weight:600}.app-stage select:disabled{cursor:default;background-image:none;padding-right:0}.app-stage.is-considering{color:#5c6475;background:#eef0f4}.app-stage.is-applied{color:#3452ff;background:#e8ecff}.app-stage.is-online_test{color:#8a5a00;background:#fff3d6}.app-stage.is-interview{color:#5b3cc4;background:#eee6ff}.app-stage.is-final{color:#1d4ed8;background:#dce8ff}.app-stage.is-offer{color:#157a3e;background:#dcf5e6}.app-stage.is-rejected{color:#b42318;background:#fde8e8}.app-stage.is-withdrawn{color:#6b7280;background:#eeeef0}.app-next{color:var(--study-muted);white-space:nowrap;font-size:.82rem}.app-next.is-overdue{color:#b42318;font-weight:600}.app-next.is-soon{color:#8a5a00;font-weight:600}.app-next-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.app-next-edit select,.app-next-edit input[type=datetime-local]{color:var(--study-muted);font-size:.78rem}.app-next-edit button{appearance:none;color:var(--study-indigo);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.78rem}.app-new td{background:#fbfcfe}.app-new .text-btn{color:var(--study-indigo);font-size:.82rem}.app-detail td{padding:12px 16px 16px}.app-detail-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.app-detail-form label{color:var(--study-muted);flex-direction:column;gap:6px;font-size:.78rem;display:flex}.app-detail-form textarea,.app-detail-form input{border:1px solid var(--study-line);background:#fff;border-radius:8px;padding:8px 10px}.app-detail-form p{color:var(--study-ink);margin:0}.app-history{border-top:1px solid var(--study-line);flex-direction:column;gap:6px;margin:10px 0 0;padding:10px 0 0;list-style:none;display:flex}.app-history li{align-items:center;gap:8px;font-size:.8rem;display:flex}.people-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.people-list li{border-top:1px solid var(--study-line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.people-member{align-items:center;gap:8px;min-width:0;display:flex}.people-via{margin:0}.people-page .text-btn{color:var(--study-muted)}.people-page .text-btn:hover,.people-page .text-btn:focus-visible{color:var(--study-ink)}.people-page .text-btn.danger{color:#c24b38}.roster-card{border-top:1px solid var(--study-line);flex-direction:column;gap:12px;padding-top:16px;display:flex}.roster-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.roster-card-head h3{font-family:var(--study-display);margin:0;font-size:1.05rem}.join-code{background:var(--study-bg);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px;padding:12px 14px;display:flex}.join-code-label{letter-spacing:.08em;text-transform:uppercase;color:var(--study-muted);font-size:.75rem}.join-code code{font-family:var(--study-display);letter-spacing:.14em;font-size:1.4rem}.lede,.muted,.empty,.session-meta,.student-card-meta{color:var(--study-muted)}.empty,.lede{margin:0}.progress-block{border-top:1px solid var(--study-line);flex-direction:column;gap:12px;padding-top:20px;display:flex}.progress-block:first-of-type{border-top:0;padding-top:4px}.topic-card .progress-block:first-of-type{padding-top:12px}.topic-card h3{font-size:1.05rem;font-family:var(--study-display);margin:0}.student-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.class-block{flex-direction:column;gap:10px;display:flex}.empty-action{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.student-card,.session-row,.topic-card,.evidence-card{background:var(--study-card);border:1px solid var(--study-line);border-radius:var(--study-radius)}.student-card{appearance:none;text-align:left;cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;width:100%;padding:16px;display:flex}.student-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.student-card:hover,.student-card:focus-visible{border-color:#b8c0ff;box-shadow:0 6px 16px #1c223014}.student-card-name{font-size:1.05rem}.session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.session-row{align-items:flex-start;gap:10px;padding:12px;display:flex}.session-title{margin:0 0 4px}.session-meta{margin:0;font-size:.9rem}.signal-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.signal-badge{color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:52px;padding:4px 8px;font-size:.85rem;display:inline-flex}.signal-inline{align-items:center;gap:6px;display:inline-flex}.signal-inline .signal-dot{margin-top:0}.week-strip{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.week-cell{appearance:none;font:inherit;color:var(--study-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;font-size:.75rem;display:flex}.week-cell:hover .week-swatch,.week-cell:focus-visible .week-swatch{outline-offset:1px;outline:2px solid #3452ff59}.week-swatch{border-radius:6px;width:100%;height:36px;display:block}.heatmap{--heat-gap:3px;grid-template-rows:16px auto;grid-template-columns:28px minmax(0,1fr);gap:4px 6px;padding-bottom:4px;padding-right:20px;display:grid;overflow-x:auto}.heatmap-months{gap:var(--heat-gap);min-width:530px;color:var(--study-muted);grid-area:1/2;grid-template-columns:repeat(53,minmax(10px,1fr));font-size:.7rem;line-height:16px;display:grid}.heatmap-months span{white-space:nowrap;overflow:visible}.heatmap-dows{z-index:1;gap:var(--heat-gap);color:var(--study-muted);background:var(--study-bg);grid-area:2/1;grid-template-rows:repeat(7,1fr);font-size:.65rem;line-height:1;display:grid;position:sticky;left:0}.heatmap-dows span{align-items:center;display:flex}.heatmap-weeks{gap:var(--heat-gap);grid-area:2/2;grid-template-columns:repeat(53,minmax(10px,1fr));min-width:530px;display:grid}.heatmap-week{gap:var(--heat-gap);grid-template-rows:repeat(7,1fr);display:grid}.heatmap-cell{appearance:none;aspect-ratio:1;cursor:pointer;border:0;border-radius:2px;width:100%;padding:0;display:block}.heatmap-cell:hover,.heatmap-cell:focus-visible{outline-offset:-1px;outline:1px solid #1c223033}.heatmap-cell.is-active{outline:2px solid var(--study-indigo);outline-offset:0}.topic-card{padding:16px}.topic-card.recency-card{background:#eceef6}.topic-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.topic-card>.text-btn,.subject-delete-confirm{margin-top:12px}.subject-delete-confirm p{color:#9b1c1c;margin:0 0 8px;font-size:.95rem}.subject-delete-actions{align-items:center;gap:16px;display:flex}.subject-delete-actions .text-btn{margin-top:0}.recency-grid{flex-direction:column;margin-bottom:8px;display:flex}.recency-grid+.recency-grid{margin-top:12px}.recency-row{border-top:1px solid var(--study-line);grid-template-columns:minmax(88px,1.1fr) minmax(0,2.4fr) 72px;align-items:center;gap:8px;padding:7px 0;font-size:.9rem;display:grid}.recency-head{color:var(--study-muted);letter-spacing:.06em;text-transform:uppercase;border-top:0;padding-top:0;font-size:.7rem}.recency-weeks{grid-template-columns:repeat(8,minmax(0,1fr));justify-items:center;gap:4px;min-width:0;display:grid}.recency-head .recency-weeks span{text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:.65rem;overflow:hidden}.recency-weeks i{background:var(--study-line);border-radius:4px;width:100%;max-width:20px;height:20px;display:block}.recency-weeks i.on{background:var(--study-indigo)}.recency-last,.recency-chip{text-align:right;justify-self:end}.recency-chip{font-size:.8rem;font-weight:500}.recency-chip.is-fresh{color:var(--study-indigo)}.recency-chip.is-fade{color:#8a6a1a}.recency-chip.is-cold{color:#c24b38}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-top:1px solid var(--study-line);padding:8px 6px}th.progress-col,td.progress-col{vertical-align:middle;width:72px}.progress-panel{flex-direction:column;gap:6px;margin:0 0 4px;display:flex}.progress-plot{grid-template-columns:36px minmax(0,1fr);align-items:stretch;column-gap:8px;display:grid}.progress-scale{color:var(--study-muted);letter-spacing:.04em;text-align:right;flex-direction:column;justify-content:space-between;padding:10px 0;font-size:.65rem;line-height:1;display:flex}.progress-plot-main{min-width:0}.progress-chart{width:100%;height:88px;display:block;overflow:visible}.progress-spark{display:block;overflow:visible}.progress-meta{color:var(--study-muted);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;font-size:.7rem;display:grid}.progress-legend{flex-wrap:wrap;justify-content:center;gap:8px 12px;margin:0;display:flex}.progress-legend span{align-items:center;gap:5px;display:inline-flex}.progress-key-topic,.progress-key-paper{background:var(--study-navy);width:6px;height:6px}.progress-key-topic{border-radius:50%}.progress-key-paper{background:var(--study-indigo);border-radius:1px}.history-list{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.history-list li{margin:0}.evidence-card{overflow:hidden}.evidence-card.is-open{grid-column:1/-1}.evidence-head{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:10px;padding:12px;display:flex}.evidence-head:hover,.evidence-head:focus-visible{background:#f8f9fb}.evidence-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.evidence-caret{font-family:var(--study-display);letter-spacing:.06em;text-transform:uppercase;color:var(--study-indigo);flex-shrink:0;margin-top:2px;font-size:.75rem}.evidence-note{flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}.evidence-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.evidence-actions .text-btn{margin-top:0}.text-btn.danger{color:#b42318}.text-btn.danger:hover,.text-btn.danger:focus-visible{color:#912018}.note-field .muted{margin:0 0 10px}.notepad{border:1px solid var(--study-line);border-radius:var(--study-radius);background:var(--study-bg);position:relative;overflow:hidden}.notepad.is-drop{border-color:var(--study-indigo)}.notepad-file{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.notepad-thumbs{flex-wrap:wrap;gap:8px;margin:0;padding:10px 12px 0;list-style:none;display:flex}.notepad-thumbs li{position:relative}.notepad-thumbs img{object-fit:cover;background:#fff;border-radius:8px;width:auto;max-width:160px;height:72px;display:block}.notepad-thumb-remove{font:inherit;font-size:.68rem;font-family:var(--study-display);color:#fff;cursor:pointer;background:#1c2230d1;border:0;border-radius:6px;padding:2px 6px;position:absolute;top:4px;right:4px}.notepad-drop{color:var(--study-indigo);font-family:var(--study-display);pointer-events:none;z-index:2;background:#f4f5f7eb;place-items:center;display:grid;position:absolute;inset:0}.notepad-error{color:#c5221f;margin:0;padding:0 16px 12px;font-size:.9rem}.notepad-toolbar{border-bottom:1px solid var(--study-line);background:var(--study-card);align-items:center;gap:8px;padding:8px 10px;display:flex}.notepad-modes,.notepad-format{gap:4px;display:flex}.notepad-toolbar button{font:inherit;font-size:.78rem;font-family:var(--study-display);letter-spacing:.04em;text-transform:uppercase;color:var(--study-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px}.notepad-toolbar button.is-active,.notepad-toolbar button:hover{color:var(--study-ink);border-color:var(--study-line);background:var(--study-bg)}.notepad-count{color:var(--study-muted);margin-left:auto;font-size:.75rem}.notepad-input,.notepad-preview{background:var(--study-bg);width:100%;min-height:180px;color:inherit;font:inherit;resize:none;border:0;padding:14px 16px;font-size:1.02rem;line-height:1.55}.notepad-input:focus{background:#fff;outline:none}.notepad-preview{overflow:auto}.note-prose{max-width:40rem}.note-prose>:first-child{margin-top:0}.note-prose>:last-child{margin-bottom:0}.note-prose p,.note-prose ul,.note-prose ol,.note-prose blockquote{margin:0 0 .85em}.note-prose ul,.note-prose ol{padding-left:1.2em}.note-prose h1,.note-prose h2,.note-prose h3{font-family:var(--study-display);margin:0 0 .5em;font-size:1.05rem}.note-prose code{border:1px solid var(--study-line);background:#fff;border-radius:4px;padding:0 4px;font-size:.9em}.note-prose a{color:var(--study-indigo)}.note-prose img{background:#fff;border-radius:8px;max-width:min(100%,32rem);height:auto;margin:.6em 0;display:block}.timetable{--sx-color-primary:var(--study-indigo);--sx-color-primary-container:#dce2ff;flex-direction:column;gap:12px;display:flex}.timetable-grid,.sx-preact-calendar-wrapper{border:1px solid var(--study-line);border-radius:var(--study-radius);background:var(--study-card);width:100%;height:70dvh;min-height:360px;max-height:780px;overflow:hidden}.timetable-grid .sx__calendar-wrapper,.sx-preact-calendar-wrapper .sx__calendar-wrapper{height:100%;min-height:100%}.timetable-form{flex-direction:column;gap:10px;max-width:36rem;display:flex}.timetable-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timetable-actions button:not(.primary){background:var(--study-card);border:1px solid var(--study-line);font-family:var(--study-display);cursor:pointer;border-radius:8px;padding:9px 12px}.file-input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.inline-text{color:var(--study-muted);margin-top:0}.log-form{flex-direction:column;gap:16px;max-width:44rem;display:flex}.log-form fieldset{border:1px solid var(--study-line);border-radius:var(--study-radius);background:var(--study-card);margin:0;padding:12px}.confidence-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.confidence-card{background:var(--study-bg);border:1px solid var(--study-line);border-radius:var(--study-radius);text-transform:capitalize;font-family:var(--study-display);padding:22px 8px}.confidence-card.is-active{border-color:var(--study-indigo);color:var(--study-indigo)}.study-error{color:#c2410c;margin:0}.action-btn{transition:background-color .2s,color .2s,border-color .2s,opacity .2s;position:relative}.action-btn:disabled{cursor:default}.action-btn.is-loading{cursor:wait;opacity:.72}.action-btn.is-ok:disabled,.action-btn.is-error:disabled{opacity:1}.action-btn.is-ok{color:#fff;background:#188038;border-color:#188038}.action-btn.is-error{color:#fff;background:#c5221f;border-color:#c5221f;animation:.4s action-shake}.text-btn.action-btn.is-ok,.text-btn.action-btn.is-error{background:0 0;border-color:#0000}.text-btn.action-btn.is-ok,.text-btn.action-btn.is-ok:hover,.text-btn.action-btn.is-ok:focus-visible{color:#188038;text-decoration:none}.text-btn.action-btn.is-error,.text-btn.danger.action-btn.is-error{color:#c5221f}@keyframes action-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.study-login-body{place-items:center;min-height:100dvh;display:grid}.study-login{background:var(--study-card);border:1px solid var(--study-line);border-radius:var(--study-radius);width:min(28rem,100% - 32px);padding:28px}.study-login h1{margin-bottom:8px}.study-login p{color:var(--study-muted);margin:0 0 18px}.study-login a{color:var(--study-indigo)}.study-login form{flex-direction:column;gap:12px;display:flex}.google-btn{text-align:center;background:var(--study-indigo);font-family:var(--study-display);border-radius:8px;margin-bottom:16px;padding:10px 12px;text-decoration:none;display:block;color:#fff!important}@media (width<=900px){.study-tabs{display:none}.study-top{padding-inline:14px}.study-content{padding:18px 16px calc(80px + env(safe-area-inset-bottom))}.session-grid,.confidence-grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.role-cards{grid-template-columns:1fr}.recency-head .recency-weeks{display:none}.recency-row{grid-template-columns:minmax(72px,1fr) minmax(0,1.6fr) 64px}.timetable-grid,.sx-preact-calendar-wrapper{height:70dvh;min-height:360px}.app-detail-form{grid-template-columns:1fr}.app-notes-cell{max-width:140px}}
