:root{--panel:#fff;--soft:#f8fafc;--text:#1f2937;--border:#dfe5ee;--subtle:#607086;--focus:#8db4ff}.menu-button{display:inline-flex;gap:8px;align-items:center;min-height:44px}.menu-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;padding:0 4px}.settings-menu{display:grid;margin-top:18px}.settings-menu>a,.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;min-height:60px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.settings-row small{display:block;margin-top:5px;color:var(--muted);font-size:14px;line-height:1.45}.settings-menu>a:hover,.settings-row:hover{color:var(--blue)}.settings-group{margin:28px 0 36px;max-width:780px}.settings-group h2{font-size:18px;margin-bottom:15px}.settings-group p{margin-bottom:16px;line-height:1.65}.danger-zone .settings-row{color:var(--red)}.theme-choice{display:flex;gap:8px;border:0;padding:0}.theme-choice label{position:relative;margin:0;flex:1;max-width:170px}.theme-choice input{position:absolute;opacity:0}.theme-choice span{display:grid;place-items:center;min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer}.theme-choice input:checked+span{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:600}.theme-choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.save-status{min-height:20px;color:var(--muted);font-size:14px;margin-top:12px}.page-lead{color:var(--muted);max-width:720px;margin:16px 0 26px;line-height:1.65}.connection-list{display:grid;gap:16px;max-width:780px;margin-top:26px}.connection-card{border:1px solid var(--line);border-radius:10px;padding:22px}.connection-card p{margin:12px 0;line-height:1.6}.connection-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.connection-heading h2{font-size:21px}.connection-note{font-size:14px;color:var(--muted)}button:disabled{cursor:not-allowed;opacity:.55}.recipient-list{list-style:none;padding:0}.recipient-list li{padding:14px 0;border-bottom:1px solid var(--line)}.recipient-list span,.recipient-list small{display:block;margin-top:5px;overflow-wrap:anywhere}.recipient-list small{color:var(--muted)}.support-layout{max-width:850px}.support-layout.has-inbox{display:grid;grid-template-columns:240px 1fr;gap:20px;max-width:1100px}.support-inbox{border:1px solid var(--line);border-radius:10px;overflow:hidden;align-self:start}.support-person{display:block;text-align:left;width:100%;padding:16px;border-bottom:1px solid var(--line);min-height:68px}.support-person.selected{background:var(--blue-soft)}.support-person small{display:block;color:var(--muted);margin-top:6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.support-conversation{border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.support-conversation h2{font-size:18px;margin-bottom:15px}.support-caption{font-size:14px;color:var(--muted);margin-bottom:12px}.chat-messages{height:clamp(280px,42dvh,500px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding:10px 0 16px;scrollbar-gutter:stable}.chat-message{background:var(--soft);border:1px solid var(--line);border-radius:10px 10px 10px 2px;padding:13px 15px;max-width:88%;width:fit-content;align-self:flex-start;overflow-wrap:anywhere}.chat-message.own{align-self:flex-end;background:var(--blue-soft);border-radius:10px 10px 2px 10px}.chat-message>strong{font-size:12px;color:var(--muted)}.chat-message p{white-space:pre-wrap;margin-top:7px;line-height:1.6}.chat-message time{display:block;font-size:11px;color:var(--muted);text-align:right;margin-top:8px}.chat-empty{margin:auto;color:var(--muted)}#support-form{padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}#support-form textarea{margin:0;resize:vertical;max-height:180px}#support-form .form-error{grid-column:1/-1;margin:0;font-size:14px}#support-form .form-error:empty{display:none}#support-form .button{grid-column:2;grid-row:1;min-height:48px}.teacher-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.teacher-row p{color:var(--muted);font-size:14px;margin-top:5px;overflow-wrap:anywhere}.material-subjects{max-width:780px;margin-bottom:28px}.shared-preview{margin-top:25px}.shared-preview details{content-visibility:auto;contain-intrinsic-size:auto 90px}.shared-preview summary{cursor:pointer;min-height:44px;line-height:1.55}.shared-image{max-width:100%;max-height:320px;display:block;margin:18px 0}.community-entry{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}.dashboard-activity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:14px;color:var(--muted)}.dashboard-activity a{min-height:36px;display:inline-flex;align-items:center}.dashboard-activity strong{font-size:16px;color:var(--ink)}.anki-status{padding:16px;border:1px solid var(--line);border-radius:8px;margin:18px 0;line-height:1.6}.anki-model{padding:20px;border:1px solid var(--line);border-radius:10px;margin:20px 0}.anki-model h2{font-size:19px}.anki-map{display:grid;grid-template-columns:1fr 1fr;gap:14px}.anki-preview{padding:15px;background:var(--soft);border-radius:8px;margin-top:15px;white-space:pre-wrap}.anki-preview strong{display:block;margin-bottom:10px}.local-release-note{font-size:13px;color:var(--muted)}
html[data-theme=dark]{--ink:#e5ebf3;--text:#e5ebf3;--muted:#a5b3c5;--subtle:#a5b3c5;--line:#344155;--border:#344155;--blue:#8db4ff;--blue-soft:#1d3354;--red:#ff9b9b;--panel:#141d2c;--soft:#101927;--canvas:#101927;--focus:#8db4ff;background:#0c1420}
html[data-theme=dark] body{background:#0c1420;color:var(--ink)}html[data-theme=dark] :is(.header,.library-header,.calendar-header,footer,dialog,.flashcard,.subject-card,.setup-panel,.connection-card,.support-conversation,.support-inbox,.draft-card,.card-preview,.deck-tile,.theme-choice span,.welcome-account,.onboarding,.event-more,.metrics>div){background:var(--panel);color:var(--ink);border-color:var(--line)}html[data-theme=dark] :is(input,select,textarea,.button,.rating,.lesson-chips span,.course-choice span){background:var(--panel);color:var(--ink);border-color:#465672}html[data-theme=dark] :is(.button.primary,.rating.grade-2){background:#416fce;color:#fff;border-color:#416fce}html[data-theme=dark] a{color:var(--blue)}html[data-theme=dark] :is(.brand,.subject-card,.deck-tile,.settings-row,.settings-menu a){color:var(--ink)}html[data-theme=dark] :is(.add-subject,.drop-zone,.card-details,.notice,.empty,.calendar-day,.agenda-panel,.agenda-time,.result){background:var(--soft);color:var(--ink)}html[data-theme=dark] :is(.mode-switch .selected,.course-choice input:checked+span,.theme-choice input:checked+span){background:var(--blue-soft);color:var(--blue)}html[data-theme=dark] :is(.lesson-card,.lesson-block,.calendar-lesson,.agenda-lesson){background:color-mix(in srgb,var(--subject-color) 12%,#141d2c)!important;border-color:color-mix(in srgb,var(--subject-color) 35%,#344155)!important;color:var(--ink)}html[data-theme=dark] .is-supplementary:not(.cancelled){background:#111b29!important;border-color:#344155!important}html[data-theme=dark] .is-supplementary .lesson-title{color:#afbdcf}html[data-theme=dark] .cancelled{background:#341f2b!important;color:#ffb4b4!important}html[data-theme=dark] .progress{background:#33415a}html[data-theme=dark] .schema-node{background:var(--blue-soft);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .image-mask{background:#334b70;color:#fff}html[data-theme=dark] .flashcard .back{border-color:var(--line)}html[data-theme=dark] .completion-mark{background:#183c31;color:#9ce0bd}html[data-theme=dark] .hub-toast{background:#26354b;color:var(--ink)}html[data-theme=dark] .danger{color:var(--red)}
[hidden]{display:none!important}
.menu-heading {display:inline-flex;align-items:center;gap:8px;}
.own-ai-steps{max-width:780px;padding-left:25px}.own-ai-steps li{padding:12px 0 24px 8px}.own-ai-steps h2{font-size:20px}.own-ai-steps p{margin:12px 0;line-height:1.65;color:var(--muted)}.review-banner{text-align:center;font-size:12px;padding:7px 16px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--soft)}html[data-theme=dark] dialog .dialog-close{background:var(--panel)}
html[data-theme=dark] :is(.upcoming-item,.event-block,.agenda-extra .event-block){background:color-mix(in srgb,var(--subject-color,#557bb5) 12%,#141d2c);color:var(--ink);border-color:var(--line);border-left-color:var(--subject-color,#557bb5)}html[data-theme=dark] .upcoming-item strong{color:var(--ink)}html[data-theme=dark] .upcoming-item :is(.upcoming-meta,.upcoming-countdown){color:var(--muted)}
html[data-theme=dark] :is(.state-tag,.account-hint,.skip:focus){background:var(--panel);color:var(--muted)}
html[data-theme=dark] .dashboard-action.learn-action{border-color:#466696}html[data-theme=dark] .agenda-slot{background:color-mix(in srgb,var(--subject-color) 12%,#141d2c);border-color:color-mix(in srgb,var(--subject-color) 35%,#344155);border-left-color:var(--subject-color)}html[data-theme=dark] .course-note{background:var(--panel);color:var(--muted);border-color:var(--line)}html[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=file]){background:var(--panel);color:var(--ink);border-color:#465672}html[data-theme=dark] .form-error{color:var(--red)!important}html[data-theme=dark] .agenda-slot .lesson-room{color:var(--muted)}
@media(max-width:650px){.settings-group{margin:24px 0 30px}.connection-card{padding:18px}.connection-heading{align-items:flex-start;flex-direction:column;gap:10px}.support-layout.has-inbox{grid-template-columns:1fr}.support-inbox{max-height:170px;overflow-y:auto}.support-conversation{padding:15px}.chat-messages{height:37dvh;min-height:260px}.chat-message{max-width:92%}.dashboard-activity{font-size:13px}.settings-row,.settings-menu>a{padding:16px 0}.anki-map{grid-template-columns:1fr}}

.settings-menu > a {min-height:52px;padding:12px 0}
.settings-help {width:100%;text-align:left}

/* Keep the installed app and its dialogs clear of the screen cutouts and home indicator. */
body {
 padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px)
         env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);
}
dialog {
 inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px)
       env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);
 max-width:min(640px,calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));
 max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
}
