@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-wght-normal.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{--status-success-text:color-mix(in srgb, var(--passal-ink) 85%, var(--passal-teal));--status-success-surface:color-mix(in srgb, var(--passal-teal) 10%, var(--passal-surface));--status-warning-text:var(--passal-ink);--status-warning-surface:color-mix(in srgb, var(--passal-pink) 14%, var(--passal-surface));--status-error-text:color-mix(in srgb, var(--passal-ink) 85%, #b43e59);--status-error-surface:color-mix(in srgb, #b43e59 12%, var(--passal-surface));--status-info-text:var(--passal-ink);--status-info-surface:color-mix(in srgb, var(--passal-blue) 12%, var(--passal-surface));--font:"Manrope", system-ui, sans-serif;--font-display:var(--font);--bg:var(--passal-canvas);--surface:var(--passal-surface);--surface-2:var(--passal-surface-2);--border:var(--passal-border);--border-strong:var(--passal-border-strong);--text:var(--passal-ink);--text-muted:var(--passal-muted);--text-faint:var(--passal-faint);--danger:var(--status-error-text);--impact:var(--passal-cite);--accent:var(--passal-primary);--accent-soft:color-mix(in srgb, var(--passal-primary) 10%, var(--passal-surface));--radius:var(--passal-radius-control);--card-radius:var(--passal-radius-panel);--quiet-shadow:none;--press-ms:var(--motion-fast);--press-hold-ms:var(--motion-moderate);--press-ease:var(--ease-standard);--reveal-ms:var(--motion-moderate);--again-ms:var(--motion-moderate-exit);--hard-ms:var(--motion-moderate-exit);--good-ms:var(--motion-moderate-exit);--easy-ms:var(--motion-moderate-exit);--enter-ease:var(--ease-standard);--standard-ease:var(--ease-standard);--exit-ease:var(--ease-exit);--hard-settle:var(--ease-standard)}.shell{width:min(100%,960px);min-height:calc(100dvh - 44px);padding:clamp(1.25rem, 3vw, 2.25rem) clamp(1rem, 4vw, 2.5rem) calc(2.5rem + env(safe-area-inset-bottom));margin:0 auto}.shell-focus{width:min(100%,760px)}.top{border-bottom:1px solid var(--border);margin-bottom:clamp(1.5rem,3vw,2.25rem);padding-bottom:1rem}.top--compact{border-bottom:0;margin-bottom:1rem;padding-bottom:0}.top-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-width:0;display:grid}.brand-lockup{min-height:44px;color:var(--text);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-word{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--tracking-heading)}.course-switcher{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-top:.75rem;display:flex}.course-switcher .nav-link[aria-current=page]{font-weight:var(--fw-semibold)}.app-nav{justify-self:center;align-items:center;gap:.05rem;min-width:0;display:flex}.nav-link{border-radius:var(--r-control);min-height:44px;color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold);white-space:nowrap;justify-content:center;align-items:center;padding:.55rem .65rem;text-decoration:none;display:inline-flex;position:relative}@media (hover:hover) and (pointer:fine){.nav-link:hover{color:var(--text);text-decoration:underline}}.nav-link[aria-current=page]{color:var(--text)}.nav-link[aria-current=page]:after{background:var(--passal-ink-strong);content:"";border-radius:0;width:20px;height:3px;position:absolute;bottom:.2rem;right:50%;transform:translate(50%)}.top-meta{max-width:18rem;color:var(--text-muted);font-size:var(--fs-md);overflow-wrap:anywhere;text-align:right;line-height:1.35}.top-tools{justify-content:flex-end;align-items:center;gap:.7rem;min-width:0;display:inline-flex}.presence-settings{flex:none;position:relative}.presence-settings>summary{border-radius:var(--r-panel);width:44px;min-height:44px;color:var(--text-faint);cursor:pointer;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:.12em;place-items:center;line-height:1;list-style:none;display:inline-grid}.presence-settings>summary::-webkit-details-marker{display:none}.presence-settings[open]>summary{color:var(--text);background:var(--surface-2)}@media (hover:hover) and (pointer:fine){.presence-settings>summary:hover{color:var(--text);background:var(--surface-2)}}.presence-settings-panel{z-index:10;border:1px solid var(--border-strong);border-radius:var(--r-panel);background:var(--bg);min-width:13rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.pet-toggle{border-radius:var(--r-cite);width:100%;min-height:44px;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-regular);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .65rem;display:flex}@media (hover:hover) and (pointer:fine){.pet-toggle:hover{background:var(--surface-2)}}.presence-settings-item{--btn-border:transparent;--btn-bg:transparent;padding-inline:var(--passal-space-3);border-radius:var(--r-cite);font-size:var(--fs-sm);font-weight:var(--fw-regular);justify-content:flex-start}@media (hover:hover) and (pointer:fine){.presence-settings-item:hover{--btn-bg:var(--surface-2)}}.presence-settings-appearance{display:none}@media (max-width:760px),(max-width:960px) and (max-height:599px){.presence-settings-appearance{min-height:var(--control-h);justify-content:space-between;align-items:center;gap:var(--passal-space-3);padding-inline:var(--passal-space-3);border-top:1px solid var(--border);color:var(--text);font-size:var(--fs-sm);display:flex}}.pet-toggle-state{color:var(--text-muted)}.top-title{justify-content:space-between;align-items:flex-end;gap:1rem;min-width:0;margin-top:1.35rem;display:flex}.top-title-copy{min-width:0}.top-title-copy>:first-child{margin-top:0}.review-pet-dock{z-index:0;justify-content:space-between;align-items:center;gap:1rem;min-width:0;margin-top:.75rem;padding:.25rem 0;display:flex;position:relative}.review-dock-row{z-index:2;min-width:0;margin-top:.75rem;display:grid;position:relative}.review-dock-row--with-pet{grid-template-columns:auto minmax(0,1fr);gap:.75rem}.review-dock-row .grade{min-width:0}.review-dock-row:not(.review-dock-row--with-pet) .grade{width:100%}.review-dock-row .review-pet-dock{align-self:end;margin-top:0;padding:0}.study-pet{color:var(--text-muted);pointer-events:none;flex:none;justify-items:center;gap:.1rem;display:inline-grid}.study-pet-sprite{background-image:var(--pet-sheet);background-repeat:no-repeat;background-position:0 var(--pet-y);width:44px;height:48px;image-rendering:pixelated;animation:passal-pet-frames var(--pet-duration) steps(var(--pet-step-count), end) 1 both;background-size:352px 432px;display:block}.study-pet[data-document-visible=false] .study-pet-sprite{animation-play-state:paused}.study-pet-name{font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:1}@keyframes passal-pet-frames{to{background-position:var(--pet-end-x) var(--pet-y)}}.public-header{border-bottom:1px solid var(--border);justify-content:flex-start;align-items:center;gap:1rem;margin-bottom:clamp(2rem,5vw,3.25rem);padding-bottom:1rem;display:flex}.brand{font-size:var(--fs-2xl);letter-spacing:var(--tracking-display);margin:0}.auth-card h1,.onboarding-complete h2{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-semibold);line-height:1.02}.course-index-search{max-width:42rem}.course-index-search .btn{justify-self:start}.course-index-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.course-index-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1rem 0;display:flex}.course-index-item:first-child{border-top:0;padding-top:.25rem}.course-index-item:last-child{padding-bottom:0}.course-index-item>div{min-width:0}.course-index-item h3{font-size:var(--fs-base)}.course-index-item h3 a{overflow-wrap:anywhere}.course-index-item .muted{font-size:var(--fs-md)}.study-surface{gap:1.25rem;min-width:0;display:grid}.today-card{gap:.9rem;max-width:42rem;padding-block:clamp(1.25rem,4vw,2.25rem);display:grid}.today-card .btn{width:fit-content}.today-card h2{max-width:28rem}.today-card.onboarding-complete h2{max-width:22ch;font-size:var(--fs-display)}.today-card .muted{max-width:38rem}.calendar-settings{gap:1rem;display:grid}.calendar-connect-form{grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:.75rem;display:grid}.calendar-connections,.calendar-event-list{gap:0;display:grid}.calendar-connection,.calendar-event{border-bottom:1px solid var(--border);gap:.75rem;min-width:0;padding:1rem 0;display:grid}.calendar-connection:first-child,.calendar-event:first-child{padding-top:.25rem}.calendar-connection:last-child,.calendar-event:last-child{border-bottom:0;padding-bottom:0}.calendar-connection{grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendar-event-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.calendar-event-heading>div{gap:.2rem;min-width:0;display:grid}.calendar-event h3{font-size:var(--fs-base)}.calendar-tag,.calendar-needs-confirm{border:1px solid var(--border-strong);border-radius:var(--r-pill);min-height:1.7rem;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:capitalize;white-space:nowrap;align-items:center;padding:.2rem .55rem;line-height:1;display:inline-flex}.calendar-needs-confirm{border-style:dashed;border-color:var(--text-muted)}.calendar-suggestion{color:var(--text-muted);font-size:var(--fs-md)}.calendar-event-actions{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.calendar-tag-form{flex-wrap:wrap;align-items:flex-end;gap:.6rem;min-width:min(100%,24rem);display:flex}.calendar-tag-form .field{flex:14rem;min-width:min(100%,14rem)}.calendar-tag-form select,.calendar-event-actions .btn{min-height:44px}.calendar-reminder{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-top:.9rem;display:flex}.calendar-reminder>div{gap:.25rem;display:grid}.calendar-reminder p{color:var(--text-muted);font-size:var(--fs-md)}.calendar-exam-surface{gap:1.1rem}.calendar-month-grid{gap:.65rem;display:grid}.calendar-month-grid-heading{gap:.2rem;display:grid}.calendar-month-grid-heading h2{font-size:var(--fs-lg)}.calendar-month-weekdays,.calendar-month-cells{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.calendar-month-weekdays{color:var(--text-muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.02em;text-align:center}.calendar-month-cell{border-radius:var(--r-panel);align-content:start;justify-items:center;gap:.15rem;min-height:2.35rem;padding:.2rem 0;display:grid;position:relative}.calendar-month-cell--padding{visibility:hidden}.calendar-month-day{min-width:1.65rem;min-height:1.65rem;font-size:var(--fs-md);font-weight:var(--fw-semibold);justify-content:center;align-items:center;line-height:1;display:inline-flex}.calendar-month-cell--today .calendar-month-day{border-radius:var(--r-pill);outline:2px solid color-mix(in srgb, var(--accent-fg) 55%, transparent);outline-offset:1px}.calendar-month-exam-mark{border-radius:var(--r-pill);background:var(--accent-fg);width:6px;height:6px}.calendar-month-cell--exam .calendar-month-day{font-weight:var(--fw-bold)}.calendar-exam-agenda{gap:.75rem;display:grid}.calendar-exam-chip-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.calendar-exam-chip{min-height:var(--control-h);padding:var(--passal-space-1) var(--passal-space-3);border:1px solid var(--passal-border);border-radius:var(--r-control);background:var(--passal-surface-2);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;gap:.35rem;line-height:1.2;text-decoration:none;display:inline-flex}.calendar-exam-chip-glyph{flex:none}.calendar-exam-chip-label{white-space:nowrap}.calendar-exam-chip-relative{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.calendar-exam-chip--proposed{border-style:dashed;border-color:var(--text-muted);color:var(--text-muted);background:0 0}.calendar-exam-chip-confirm{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted)}.calendar-exam-rows{margin:0;padding:0;list-style:none;display:grid}.calendar-exam-rows>li+li{border-top:1px solid var(--border)}.calendar-exam-row{align-items:center;gap:var(--passal-space-3);min-height:var(--control-h);padding:var(--passal-space-2) 0;color:var(--text);grid-template-columns:20px minmax(0,1fr) auto;text-decoration:none;display:grid}@media (hover:hover) and (pointer:fine){.calendar-exam-row:hover .calendar-exam-row-title{text-underline-offset:3px;text-decoration:underline}}.calendar-exam-row-text{gap:var(--passal-space-1);min-width:0;display:grid}.calendar-exam-row-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-exam-row-meta{color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.calendar-exam-row-relative{color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-exam-more{border-top:1px solid var(--border);display:grid}.calendar-exam-more>summary{min-height:var(--control-h);color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.calendar-settings-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendar-exam-proposed{gap:.45rem;display:grid}.calendar-exam-proposed-heading{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0}@media (prefers-reduced-motion:reduce){.calendar-month-exam-mark{animation:none}}.card-header{gap:.35rem;display:grid}.source-intro{color:var(--text);gap:.35rem;padding:0;display:grid}.btn.provider{background:var(--surface);text-align:left;justify-content:flex-start;gap:12px;position:relative}.btn.provider:before{background:var(--provider-logo) center / contain no-repeat;content:"";flex:none;width:20px;height:20px}.btn.provider.google{--provider-logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.5H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 12.9 4 4 12.9 4 24s8.9 20 20 20 20-8.9 20-20c0-1.3-.1-2.4-.4-3.5z'/%3E%3Cpath fill='%23FF3D00' d='m6.3 14.7 6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-7.9l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.5H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C37 39.2 44 34 44 24c0-1.3-.1-2.4-.4-3.5z'/%3E%3C/svg%3E")}.btn.provider.microsoft{--provider-logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cpath fill='%23F25022' d='M0 0h10v10H0z'/%3E%3Cpath fill='%237FBA00' d='M11 0h10v10H11z'/%3E%3Cpath fill='%2300A4EF' d='M0 11h10v10H0z'/%3E%3Cpath fill='%23FFB900' d='M11 11h10v10H11z'/%3E%3C/svg%3E")}.btn.provider.passkey:before{background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 9-9M17 6l3 3M14 9l2 2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 9-9M17 6l3 3M14 9l2 2'/%3E%3C/svg%3E") 50%/contain no-repeat}.passkey-sign-in{gap:.5rem;display:grid}.passkey-sign-in.installed{order:-1}.auth-divider{color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:.75rem;display:flex}.auth-divider:before,.auth-divider:after{background:var(--border);content:"";flex:1;height:1px}.passkey-nudge{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin-block:0 1.25rem;display:flex}.passkey-nudge-copy{flex:18rem}.passkey-nudge-copy p{margin:0}.passkey-nudge-copy .notice{margin-top:.5rem}.passkey-nudge-title{font-weight:var(--fw-bold);margin-bottom:.25rem!important}.passkey-nudge-actions{flex-wrap:wrap;gap:.5rem;display:flex}.onboarding-analytics-fields{gap:1rem}.onboarding-analytics-school{position:relative}.onboarding-analytics-suggestions{z-index:2;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);max-height:14rem;box-shadow:var(--shadow-overlay);transform-origin:top;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto}@media (prefers-reduced-motion:no-preference){.onboarding-analytics-suggestions{animation:passal-popover-in var(--dur-1) var(--ease-standard) backwards}}.onboarding-analytics-suggestion{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;font:inherit;background:0 0;padding:.65rem .8rem;display:block}.onboarding-analytics-suggestion:last-child{border-bottom:0}.onboarding-analytics-suggestion:focus-visible{background:var(--surface-2);outline:none}@media (hover:hover) and (pointer:fine){.onboarding-analytics-suggestion:hover{background:var(--surface-2);outline:none}}.onboarding-analytics-suggestion-custom{color:var(--text-muted)}.onboarding-analytics-use-case{border:0;min-width:0;margin:0;padding:0}.onboarding-analytics-use-case legend{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);margin-bottom:.45rem;padding:0}.onboarding-analytics-use-case-options{gap:.35rem;display:grid}.onboarding-analytics-use-case-row{border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);cursor:pointer;align-items:center;gap:.65rem;padding:.55rem .65rem;display:flex}.onboarding-analytics-use-case-row.is-selected{border-color:var(--border-strong);background:var(--surface-2)}.onboarding-analytics-use-case-row input{width:auto;min-height:auto;margin:0}.onboarding-analytics-summary dd{margin:0}.icon-button{border-radius:var(--r-control);width:44px;min-width:44px;min-height:44px;padding:.45rem}.session-status{justify-content:flex-end;align-items:center;gap:.65rem;min-width:0;margin-bottom:.65rem;display:flex}.review-card{z-index:1;gap:12px;min-width:0;display:grid;position:relative}.notice+.review-card{margin-top:var(--passal-space-3)}.session-progress-row{align-items:center;gap:8px;min-width:0;display:flex}.session-progress-row .session-progress{flex:auto;min-width:0}.session-progress{color:var(--text-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.session-progress strong{color:var(--text);font-weight:var(--fw-semibold)}.session-progress-track{justify-self:end;width:min(100%,240px)}.session-progress{min-height:var(--control-h)}.review-undo{min-width:0;color:var(--text-muted);font-size:var(--fs-sm);justify-content:flex-end;align-items:center;gap:8px;display:flex}.review-undo[data-state=empty]{display:none}.review-undo-text{min-width:0;color:var(--text);font-weight:var(--fw-medium)}.review-undo-text--refused{color:var(--danger-fg)}.review-undo-sep{color:var(--text-muted)}.review-undo-button{min-height:var(--control-h);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px}@media (hover:hover) and (pointer:fine){.review-undo-button:hover{color:var(--text);text-decoration:underline}}.review-undo-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.review-undo-key{display:none}@media (hover:hover) and (pointer:fine){.review-undo-key{display:inline-grid}}.review-deck{--deck-step:7px;isolation:isolate;min-width:0;margin-bottom:calc(var(--deck-step) * 2);position:relative}.review-deck-edges{z-index:1;height:var(--deck-sheet-h,100%);pointer-events:none;position:absolute;top:0;left:0;right:0}.review-deck-edge{border:1px solid var(--border);border-radius:var(--r-panel);background:var(--surface);opacity:0;transform-origin:50% 100%;transition:opacity var(--dur-3) var(--ease-standard);position:absolute;inset:0}.review-deck-edge[data-level="1"]{transform:translateY(var(--deck-step)) scale(.96)}.review-deck-edge[data-level="2"]{background:color-mix(in srgb, var(--surface) 55%, var(--bg));transform:translateY(calc(var(--deck-step) * 2)) scale(.92)}.review-deck[data-depth="1"] .review-deck-edge[data-level="1"],.review-deck[data-depth="2"] .review-deck-edge{opacity:1}.review-deck-well{pointer-events:none;position:absolute;inset:0}.review-sheet-slot{height:var(--deck-sheet-h,20rem)}.review-sheet{--grade:var(--border-strong);--swipe-p:0;z-index:3;transform-origin:50% 100%;flex-direction:column;gap:10px;min-width:0;min-height:clamp(18rem,46svh,28rem);padding:clamp(.75rem,2.4vw,1.25rem);display:flex;position:relative}.review-sheet>.student-inline-editor{flex-direction:column;flex:auto;display:flex}.review-sheet .review-card-face{flex:1 0 auto;align-content:start}.review-sheet[data-role=next]{z-index:2;height:var(--deck-sheet-h,100%);pointer-events:none;min-height:0;transform:translateY(var(--deck-step)) scale(.96);will-change:transform;position:absolute;top:0;left:0;right:0;overflow:clip}.review-card-face{gap:10px;min-width:0;display:grid}.review-sheet:after{z-index:-1;border-radius:inherit;box-shadow:var(--shadow-overlay);content:"";opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-standard);position:absolute;inset:-1px}.review-sheet[data-dragging=true]:after,.review-sheet[data-ghost=true]:after{opacity:1}.review-sheet[data-swipe-ready=true]{touch-action:none;will-change:transform}@media (hover:hover) and (pointer:fine){.review-sheet[data-swipe-ready=true]{cursor:grab}}.review-sheet[data-dragging=true]{cursor:grabbing;-webkit-user-select:none;user-select:none}.review-sheet[data-ghost=true]{pointer-events:none;will-change:transform, opacity}.review-sheet[data-cue=again]{--grade:var(--grade-again)}.review-sheet[data-cue=hard]{--grade:var(--grade-hard)}.review-sheet[data-cue=good]{--grade:var(--grade-good)}.review-sheet[data-cue=easy]{--grade:var(--grade-easy)}.review-sheet[data-withheld=true]{--grade:var(--text-muted)}.review-swipe-cue{z-index:5;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.review-swipe-cue:before,.review-swipe-cue:after{border-radius:inherit;content:"";transition:opacity var(--dur-2) var(--ease-standard);position:absolute;inset:-1px}.review-swipe-cue:before{background:color-mix(in srgb, var(--grade) 7%, var(--surface));opacity:clamp(0, calc((var(--swipe-p) - .2) * 1.4), .92)}.review-swipe-cue:after{box-shadow:inset 0 0 0 1.5px var(--grade);opacity:clamp(0, var(--swipe-p), 1)}.review-sheet[data-dragging=true] .review-swipe-cue:before,.review-sheet[data-dragging=true] .review-swipe-cue:after{transition:none}.review-swipe-stamp{z-index:1;width:118px;height:104px;color:var(--grade);font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;line-height:1.1;display:flex;position:absolute;top:40%;left:50%;translate:-50% -50%}.review-swipe-glyph{transform-origin:50%;width:52px;height:52px;display:block;overflow:visible}.review-swipe-glyph path{fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round}.review-swipe-glyph path.is-dashed{stroke-dasharray:2.5 2}.review-swipe-words{width:100%;height:1.2em;position:relative}.review-swipe-word{text-align:center;white-space:nowrap;position:absolute;inset:0}.review-swipe-rule{background:currentColor;border-radius:1px;width:40px;height:2px;margin-left:-20px;position:absolute;bottom:-8px;left:50%;transform:scaleX(0)}.review-sheet[data-armed=true] .review-swipe-words{font-weight:var(--fw-bold)}.review-sheet[data-armed=true] .review-swipe-rule{transition:transform var(--motion-fast) var(--ease-standard);transform:scaleX(1)}.review-flight-layer{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.review-flight-layer:empty{display:none}.review-ghost-media{border-radius:var(--r-cite);background:var(--surface-2);max-width:100%}.review-panel{animation:review-panel-enter var(--dur-3) var(--ease-standard) both;padding:clamp(.75rem,2.4vw,1.25rem)}@keyframes review-panel-enter{0%{opacity:0;transform:translateY(8px)}}.cite-heading{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.edited-badge-row{justify-content:flex-end;min-height:0;display:flex}.edited-badge{border:1px solid var(--warning-border);border-radius:var(--r-pill);background:var(--warning-bg);min-height:22px;color:var(--warning-fg);font-size:var(--fs-xs);font-weight:var(--fw-semibold);align-items:center;padding:2px 8px;line-height:1.2;display:inline-flex}.review-question{gap:8px;min-width:0;display:grid}.review-question h2{max-width:34ch;font-size:clamp(var(--fs-xl), .8vw + 14px, var(--fs-2xl));font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);transition:color var(--dur-2) var(--ease-standard), font-weight var(--dur-2) var(--ease-standard);margin:0;line-height:1.3}.review-card-face[data-revealed=true] .review-question h2{color:var(--text-muted);font-weight:var(--fw-medium)}.review-question h2:focus-visible,.review-empty h2:focus-visible,.answer-panel h3:focus-visible{box-shadow:none;outline:none}.grade legend:focus-visible{outline:3px solid var(--text);outline-offset:2px;box-shadow:0 0 0 2px var(--surface)}.review-reveal{width:100%;min-height:var(--control-h-lg);font-size:var(--fs-base);transition:transform var(--dur-1) var(--ease-standard);gap:12px}.review-reveal.is-pressed{transform:translateY(2px)}.review-reveal-key{border-color:color-mix(in srgb, var(--passal-primary-ink) 40%, transparent);color:color-mix(in srgb, var(--passal-primary-ink) 85%, transparent);background:0 0;display:none}@media (hover:hover) and (pointer:fine){.review-reveal-key{display:inline-grid}}.button-glyph{flex:none;place-items:center;width:1.25rem;font-size:1.18em;line-height:1;display:inline-grid}.answer-slot{border-top:1px solid #0000;min-width:0;display:grid}.answer-slot[data-open=true]{border-top-color:var(--border)}.answer-panel{clip-path:inset(0 0 100%);opacity:0;visibility:hidden;gap:8px;min-width:0;padding:10px 0 4px;display:grid}.answer-panel h3{margin:0}.card-explanation{border-top:1px solid var(--border);gap:4px;max-width:48rem;margin-top:12px;padding-top:12px;display:grid}.card-explanation-label{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0}.card-explanation-label span{color:var(--text-muted);font-weight:var(--fw-regular)}.card-explanation-text{color:var(--text);font-size:var(--fs-base);margin:0;line-height:1.5}.card-explanation-sources summary{padding-block:var(--passal-space-1);color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer}@media (pointer:coarse){.card-explanation-sources summary{padding-block:var(--passal-space-3)}}.card-explanation-sources ul{font-size:var(--fs-sm);gap:6px;margin:6px 0 0;padding-left:1.1rem;line-height:1.45;display:grid}.card-emphasis{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}.card-emphasis[data-emphasis=key]{font-weight:var(--fw-bold)}.card-emphasis[data-emphasis=condition]{font-style:italic}.card-emphasis[data-emphasis=negation],.card-emphasis[data-emphasis=contrast]{text-underline-offset:.14em;text-decoration-line:underline;text-decoration-thickness:.09em}.card-emphasis[data-emphasis=negation],.review-card-face[data-revealed=true] .review-question h2 .card-emphasis{font-weight:var(--fw-semibold)}@media (forced-colors:active){.card-emphasis{text-decoration:underline}}.answer-copy-wrap{gap:4px;min-width:0;display:grid}.answer-copy{max-width:48rem;color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);overflow-wrap:anywhere;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.answer-copy--expanded{-webkit-line-clamp:unset;display:block;overflow:visible}.answer-copy-toggle{color:var(--text-muted);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:0;line-height:1.2;display:inline-flex}.answer-copy-toggle:focus-visible{outline:3px solid var(--text);outline-offset:2px}.answer-copy-chevron{font-size:var(--fs-2xs);line-height:1}.answer-slot[data-open=true] .answer-panel{clip-path:inset(0);opacity:1;visibility:visible}.answer-slot[data-revealing=true] .answer-panel{animation:review-answer-reveal var(--reveal-ms) var(--enter-ease) both}.review-evidence{z-index:1;margin-top:var(--passal-space-3);isolation:isolate;min-width:0;display:block;position:relative}.review-evidence.card{padding:0}.review-evidence>summary{min-height:var(--control-h);padding:var(--passal-space-2) var(--passal-space-4);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}@media (hover:hover) and (pointer:fine){.review-evidence>summary:hover{color:var(--text)}}.review-evidence-label{align-items:center;gap:var(--passal-space-2);white-space:nowrap;flex:none;display:inline-flex}.review-evidence[open]>summary{border-bottom:1px solid var(--border)}.review-evidence-context{min-width:0;color:var(--text-faint);font-size:var(--fs-xs);font-weight:var(--fw-regular);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;display:flex}.review-evidence-filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.review-evidence-page{flex:none}.review-evidence-body{gap:var(--passal-space-3);padding:var(--passal-space-3) var(--passal-space-4) var(--passal-space-4);display:grid}.review-source-evidence{gap:8px;display:grid}.review-source-label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);margin:0}.review-source-evidence blockquote{color:var(--text-muted);font-size:var(--fs-sm);margin:0;line-height:1.5}.review-evidence .cite-chip{border-color:var(--border);color:var(--text-muted);background:0 0}.review-evidence .cite-chip-glance{color:inherit}.review-evidence-support{border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--fs-xs);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;padding-top:10px;display:flex}.review-evidence-support a{min-height:44px;color:var(--text-muted);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.review-evidence-support a:hover{color:var(--text)}}.review-media-disclosure{color:var(--text-muted);font-size:var(--fs-sm)}.review-media-disclosure>summary{cursor:pointer;min-height:44px;padding-block:10px}.review-media-disclosure .media-evidence{margin-top:8px}.review-cite-block{z-index:4;gap:8px;min-width:0;display:grid;position:relative}.review-cite-block--entering{animation:review-cite-chip-enter var(--reveal-ms) var(--enter-ease) both}.cite-chip{border:1px solid var(--border);border-radius:var(--r-cite);background:var(--passal-cite-wash);width:100%;min-width:0;min-height:44px;color:var(--text);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);text-align:left;cursor:pointer;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:start;gap:.35rem .45rem;padding:.45rem .7rem;line-height:1.35;display:grid}.cite-chip:focus-visible{outline:3px solid var(--text);outline-offset:2px}.cite-chip-meta{font-weight:var(--fw-semibold);flex:none}.cite-chip-sep{opacity:.65;flex:none}.cite-chip-glance{min-width:0;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-regular);overflow-wrap:anywhere;white-space:normal;line-height:1.5}.cite-chip-chevron{font-size:var(--fs-2xs);align-self:center;margin-left:.15rem;line-height:1}.cite-sheet-scrim{z-index:40;background:color-mix(in srgb, var(--text) 32%, transparent);cursor:default;border:0;margin:0;padding:0;position:fixed;inset:0}.cite-source-sheet{z-index:50;border:1px solid var(--border-strong);background:var(--surface);max-height:min(62%,28rem);box-shadow:0 -8px 28px color-mix(in srgb, var(--text) 14%, transparent);border-bottom:0;border-radius:14px 14px 0 0;gap:.65rem;padding:.75rem .9rem 1.1rem;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:auto}.cite-sheet-handle{background:var(--border-strong);border-radius:999px;width:2.25rem;height:4px;margin:0 auto .5rem}.cite-sheet-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.cite-sheet-title{margin:0;font-size:.94rem;font-weight:600;line-height:1.2}.cite-sheet-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:.75rem;font-weight:500}.cite-sheet-close{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 90%, var(--text-muted) 10%);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;padding:.35rem .65rem;font-size:.75rem;font-weight:600}.cite-source-sheet .quote{border:1px solid var(--border);border-radius:var(--r-control);background:color-mix(in srgb, var(--surface) 94%, var(--text-muted) 6%);margin:0;padding:.65rem .75rem;font-size:.88rem;font-weight:400;line-height:1.5}.cite-collapse{color:var(--text-muted);font:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;text-decoration:underline}.cite-well{border:1px solid color-mix(in srgb, var(--passal-cite) 45%, var(--border));border-radius:var(--r-cite);background:var(--passal-cite-wash);opacity:1;gap:10px;min-width:0;padding:14px 16px;display:grid}.cite-heading .cite-page{justify-self:start}.cite-jump{min-height:28px;color:var(--cite-fg);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-underline-offset:.22em;justify-self:start;align-items:center;gap:6px;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.cite-jump:after{content:"";width:14px;height:14px;-webkit-mask:var(--icon-arrow-right) center / contain no-repeat;-webkit-mask:var(--icon-arrow-right) center / contain no-repeat;mask:var(--icon-arrow-right) center / contain no-repeat;background:currentColor;flex:none}.cite-jump--refused{color:var(--text-muted);text-decoration:none}.cite-jump--refused:after{content:none}.cite-well .quote{font-size:var(--fs-base);font-weight:var(--fw-regular);border:0;padding:0;line-height:1.55}.source-jump-page{max-width:56rem}.source-span-view{background:var(--passal-canvas-soft);min-height:100dvh;color:var(--text);flex-direction:column;gap:0;padding:0;display:flex}.source-span-view-toolbar{border-bottom:1px solid var(--border);background:var(--passal-canvas);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:12px 16px;display:flex}.source-span-view-search-wrap{flex-direction:column;flex:16rem;gap:4px;min-width:min(100%,14rem);max-width:28rem;display:flex}.source-span-view-search{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.source-span-view-search-field{flex:10rem;gap:4px;min-width:min(100%,10rem);display:grid}.source-span-view-search-label{font-size:var(--fs-xs);color:var(--text-muted)}.source-span-view-search-field input{width:100%;min-width:0}.source-span-view-search-status{font-size:var(--fs-xs);color:var(--text-muted);margin:0}.source-span-view-search-submit:focus-visible,.source-span-view-search-next:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.source-span-view-toolbar-copy{gap:2px;min-width:0;display:grid}.source-span-view-filename{font-size:var(--fs-sm);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.source-span-view-location{flex:none}.source-span-view-stage{background:var(--passal-canvas-soft);flex:1;justify-content:center;align-items:center;min-height:min(52dvh,560px);padding:16px;display:flex}.source-span-view-pdf,.citation-span-view-frame{background:#fff;border:0;width:100%;min-height:min(52dvh,560px);display:block}.source-span-view--pdf .source-span-view-stage{min-height:0;padding:0}.source-span-view--pdf .source-span-view-pdf{border:1px solid var(--border);min-height:min(60dvh,640px);box-shadow:none;border-radius:0;flex:1}.source-span-view-deck-slide,.source-span-view-deck-fallback{border:1px solid var(--border);border-radius:var(--r-panel);width:min(100%,960px);max-height:min(70dvh,720px);box-shadow:var(--shadow-overlay);object-fit:contain;background:#fff;margin:0 auto}.source-span-view-deck-fallback{object-fit:unset;align-self:flex-start;padding:20px 24px;overflow:auto}.source-span-view-excerpt{border-top:1px solid var(--border);background:var(--passal-canvas);margin:0 16px;padding:12px 16px 0}.source-span-view-excerpt-text{border:1px solid var(--border);background:var(--passal-canvas-soft);max-height:28dvh;margin-top:8px}.source-span-view-note{margin:0;padding:12px 16px 16px}.source-span-view--refused{gap:12px;padding:20px}.citation-span-view-inner{flex-direction:column;gap:12px;max-height:min(92dvh,900px);display:flex}.citation-span-view-dialog .citation-span-view-frame{flex:1;min-height:60dvh}.source-jump-nav{margin-bottom:12px}.source-jump-back{align-items:center;gap:var(--passal-space-2);min-height:var(--control-h);display:inline-flex}.source-jump-back:before{content:"";width:16px;height:16px;-webkit-mask:var(--icon-arrow-right) center / contain no-repeat;-webkit-mask:var(--icon-arrow-right) center / contain no-repeat;mask:var(--icon-arrow-right) center / contain no-repeat;background:currentColor;transform:rotate(180deg)}.source-page-text{border:1px solid var(--border);border-radius:var(--r-cite);background:var(--passal-canvas-soft);max-height:70vh;color:var(--text);font:inherit;font-size:var(--fs-base);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:20px 24px;line-height:1.7;overflow:auto}.source-page-text code{font:inherit}.source-page-text mark{background:var(--passal-cite-wash);box-shadow:inset 0 -2px 0 var(--passal-cite);color:var(--text);font-weight:var(--fw-semibold);padding:2px 0}.ask-panel{border-top:1px solid var(--border);gap:.85rem;min-width:0;padding-top:1rem;display:grid}.ask-toggle{min-height:44px;color:var(--text-muted);text-underline-offset:.22em;border:0;justify-self:flex-end;padding-inline:0;text-decoration:underline}.ask-panel-content{border:1px solid var(--border);border-radius:var(--r-panel);background:var(--surface);gap:1.1rem;min-width:0;padding:1rem;display:grid}.ask-nearby,.ask-chat{gap:.75rem;min-width:0;display:grid}.ask-chat{border-top:1px solid var(--border);padding-top:1rem}.ask-section-heading{gap:.25rem;display:grid}.ask-section-heading h3{font-size:var(--fs-base)}.ask-section-heading .muted{font-size:var(--fs-sm)}.ask-empty,.ask-refusal{color:var(--text-muted);font-size:var(--fs-md)}.ask-nearby-list,.ask-thread{gap:.6rem;min-width:0;margin:0;padding:0;list-style:none;display:grid}.ask-nearby-item{border:1px solid var(--border-strong);border-radius:var(--r-panel);background:var(--bg);min-width:0}.ask-nearby-item summary{min-height:44px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:.65rem .8rem}.ask-nearby-item .quote{margin:0 .8rem .8rem}.ask-nearby-item .media-evidence{width:auto;margin:0 .8rem .8rem}.ask-thread-entry{gap:.45rem;min-width:0;display:grid}.ask-question{color:var(--text-muted);font-size:var(--fs-md);overflow-wrap:anywhere}.ask-citation{gap:.35rem;min-width:0;margin:0;display:grid}.ask-citation figcaption{color:var(--text-muted);font-size:var(--fs-xs)}.ask-citation .media-evidence{margin-top:.2rem}.ask-form{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;min-width:0;display:grid}.ask-form .btn{min-height:48px}.agent-corner{z-index:4;position:relative}.agent-launch{right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:5;border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--bg);width:48px;height:48px;color:var(--text);box-shadow:none;place-items:center;padding:0;display:inline-grid;position:fixed}@media (hover:hover) and (pointer:fine){.agent-launch:hover{border-color:var(--text-muted)}}.agent-launch:active{border-color:var(--accent-fg);box-shadow:inset 0 0 0 2px var(--accent-fg)}.agent-launch-mark{background:currentColor;width:26px;height:26px;display:block;-webkit-mask:url(/passal-mark-v2.svg) 50%/contain no-repeat;mask:url(/passal-mark-v2.svg) 50%/contain no-repeat}.agent-sheet{z-index:4;height:min(42dvh,340px);max-height:42dvh;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border-strong);border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--bg);display:none;position:fixed;bottom:0;left:0;right:0}.agent-corner[data-open=true] .agent-launch{display:none}.agent-corner[data-open=true] .agent-sheet{display:flex}.shell-focus:has(.agent-corner[data-open=true]){padding-bottom:calc(min(42dvh,340px) + 3rem)}.agent-inner{flex-direction:column;gap:8px;width:min(100% - 24px,420px);height:100%;min-height:0;margin:0 auto;padding:10px 0 12px;display:flex}.agent-sheet-handle{border-radius:var(--r-pill);background:var(--border-strong);flex:none;width:36px;height:4px;margin:2px auto 4px}.agent-topline{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.agent-context-chip,.agent-chip,.agent-close{color:var(--text);font:600 .72rem/1 var(--font)}.agent-context-chip,.agent-chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;align-items:center;min-height:2rem;display:inline-flex}.agent-context-chip{border-radius:var(--r-control);cursor:default;gap:2px;min-width:0;max-width:58%;padding:5px 10px;display:grid}.agent-context-chip strong{font-size:var(--fs-xs)}.agent-context-chip span{color:var(--text-muted);font-size:var(--fs-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-close{border-radius:var(--r-cite);min-width:2rem;min-height:2rem;color:var(--text-faint);cursor:pointer;font-size:var(--fs-base);background:0 0;border:0;padding:4px 6px}.agent-context-chip:active,.agent-close:active,.agent-chip:active{border-color:var(--accent-fg);box-shadow:inset 0 0 0 2px var(--accent-fg)}.agent-rail,.agent-rail--ask{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.agent-chip-row{flex-wrap:wrap;flex:none;gap:6px;min-width:0;display:flex}.agent-chip{border-radius:var(--r-control);background:var(--bg);min-height:1.9rem;padding:6px 10px;text-decoration:none}.agent-chip.is-active,.agent-chip[aria-pressed=true]{background:var(--surface-2)}.agent-body{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:auto}.agent-thread,.agent-nearby-list{gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.agent-turn{gap:4px;min-width:0;display:grid}.agent-question{border:1px solid var(--border);border-radius:var(--r-panel) var(--r-panel) var(--r-control) var(--r-panel);background:var(--surface);max-width:92%;color:var(--text);font-size:var(--fs-sm);overflow-wrap:anywhere;align-self:flex-end;margin:0;padding:8px 10px}.agent-citation,.agent-refusal{border:1px solid var(--border);border-radius:var(--r-panel) var(--r-panel) var(--r-panel) var(--r-control);background:var(--surface-2);margin:0;padding:8px 10px}.agent-citation{gap:4px;min-width:0;display:grid}.agent-citation .quote{font-size:var(--fs-sm);margin:0;line-height:1.4}.agent-citation figcaption{color:var(--text-muted);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.agent-refusal,.agent-empty{color:var(--text-muted);font-size:var(--fs-sm)}.agent-nearby-item{border:1px solid var(--border-strong);border-radius:var(--r-panel);background:var(--bg);min-width:0}.agent-nearby-item summary{min-height:2.3rem;color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:.65rem .8rem}.agent-nearby-item .quote{margin:0 .8rem .8rem}.agent-nearby-item .media-evidence{width:auto;margin:0 .8rem .8rem}.agent-composer{flex:none;gap:6px;min-width:0;margin-top:auto;display:flex}.agent-composer input{border:1px solid var(--field-border);border-radius:var(--r-panel);background:var(--bg);min-width:0;color:var(--text);font-size:var(--fs-sm);flex:1;padding:8px 10px}@media (pointer:coarse){.agent-composer input{font-size:max(16px, var(--fs-base))}}.agent-send{min-height:2.3rem;font-size:var(--fs-xs);padding:.55rem .7rem}@media (min-width:760px){.agent-sheet{border:1px solid var(--border-strong);border-radius:var(--r-panel);width:360px;height:min(520px,100dvh - 3rem);max-height:calc(100dvh - 3rem);bottom:1.5rem;left:auto;right:1.5rem}.shell-focus:has(.agent-corner[data-open=true]){padding-bottom:3rem}}@media (prefers-reduced-motion:reduce){.agent-launch{transition:none}}.media-evidence{border:1px solid var(--border);border-radius:var(--r-panel);background:var(--surface);isolation:isolate;width:100%;margin:0;display:grid;overflow:hidden}.media-image,.media-paged,.media-timed video{border:0;width:100%;display:block}.media-image{object-fit:contain;background:var(--surface-2);max-height:min(60vh,34rem)}.media-region{background:var(--surface-2);width:100%;position:relative;overflow:hidden}.media-region-image{object-fit:fill;max-width:none;position:absolute}.occlusion-evidence{gap:8px;min-width:0;display:grid}.occlusion-media-wrap{min-width:0;position:relative}.occlusion-mask{z-index:2;pointer-events:none;background:var(--text);position:absolute;inset:0}.occlusion-mint-form{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.media-timed video{background:var(--surface-2);max-height:min(60vh,34rem)}.media-timed--poster video{cursor:default}.media-paged{background:var(--surface-2);height:min(60vh,34rem)}.student-inline-editor{gap:inherit;min-width:0;display:grid;position:relative}.student-inline-field{gap:.45rem;min-width:0;display:grid}.student-inline-value{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.55rem;min-width:0;display:grid}.student-inline-value--display{min-width:0;display:block}.student-inline-value--display>:first-child{min-width:0}.student-inline-form-field{border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface-2);gap:.45rem;min-width:0;padding:.7rem;display:grid}.student-inline-form-field textarea{resize:vertical;width:100%;min-width:0}.student-card-master-edit{opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease-standard);order:2;margin-left:auto}.review-card:focus-within .student-card-master-edit{opacity:1;pointer-events:auto}.review-card:has(.student-inline-editor[data-touch-chrome=true]) .student-card-master-edit{opacity:1;pointer-events:auto}@media (hover:hover) and (pointer:fine){.review-card:hover .student-card-master-edit{opacity:1;pointer-events:auto}}.student-inline-card-actions{flex-wrap:wrap;align-items:center;gap:.55rem;width:100%;display:flex}.student-inline-card-actions .btn{min-height:40px}.student-inline-pencil{width:var(--control-h);min-width:var(--control-h);height:var(--control-h);border-radius:var(--r-control);color:var(--text-muted);cursor:pointer;font-size:var(--fs-base);background:0 0;border:1px solid #0000;place-items:center;margin-top:.05rem;display:inline-grid}@media (hover:hover) and (pointer:fine){.student-inline-pencil:hover{border-color:var(--border-strong);color:var(--text)}}.student-inline-pencil:disabled{cursor:wait;opacity:.55}.student-inline-label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.student-inline-form{border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface-2);gap:.55rem;min-width:0;padding:.7rem;display:grid}.student-inline-form textarea{resize:vertical;width:100%;min-width:0}.student-formatting-editor{gap:.45rem;display:grid}.student-formatting-toolbar{flex-wrap:wrap;gap:.35rem;display:flex}.student-formatting-button{border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);min-height:36px;color:var(--text-muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;padding:.35rem .55rem}@media (hover:hover) and (pointer:fine){.student-formatting-button:hover{border-color:var(--border-strong);color:var(--text)}}.student-formatting-button:focus-visible{outline:3px solid var(--text);outline-offset:2px}.student-formatting-button:disabled{cursor:not-allowed;opacity:.45}.student-formatting-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.student-formatting-list li{color:var(--text-muted);font-size:var(--fs-xs);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.student-formatting-list span{overflow-wrap:anywhere;min-width:0}.student-formatting-list button{min-height:32px;color:var(--text-muted);font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0 .25rem;text-decoration:underline}.student-inline-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.student-inline-actions .btn{min-height:40px}.student-notes-action{gap:var(--passal-space-1);flex:auto;order:-1;min-width:0;display:grid}.student-notes-action p{color:var(--text-muted);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0}.student-notes-button{min-height:var(--control-h);color:var(--text-muted);font:inherit;font-size:var(--fs-sm);text-underline-offset:.22em;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.student-notes-button:hover{color:var(--text)}}.student-notes-button:disabled{cursor:wait;opacity:.55}.student-edit-status{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.4}.student-inline-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.4rem;display:flex}.student-reset-button{min-height:40px;color:var(--text-muted);text-underline-offset:.22em;border:0;padding-inline:0;text-decoration:underline}.student-inline-footer .student-edit-status{order:1;min-height:1.15rem}.grade{margin:0}.timer-grade-row:empty{display:none}.grade[data-ready=false]{opacity:0;pointer-events:none;transition:opacity var(--dur-1) linear}.grade[data-ready=true]{animation:review-grade-enter var(--motion-fast) linear both;opacity:1}.grade fieldset{border:0;gap:.65rem;min-width:0;margin:0;padding:0;display:grid}.authoritative-form-fields{border:0;gap:1rem;min-width:0;margin:0;padding:0;display:grid}.grade legend{color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:.15rem;padding:0;line-height:1.35}.grade-key-hint{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.grade-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.grade-action[data-withheld=hint]{cursor:not-allowed;border-style:dashed}.grade-action[data-withheld=hint] .grade-action-copy{color:var(--text-muted)}.grade-action-note{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-align:center;line-height:1.2}.grade-action{--grade:var(--grade-good);border-color:color-mix(in srgb, var(--grade) 40%, var(--border));border-radius:var(--r-control);min-height:56px;color:var(--grade);font-size:var(--fs-md);font-weight:var(--fw-semibold);transition:transform var(--dur-1) var(--ease-standard), opacity var(--dur-1) var(--ease-standard);padding:8px 10px;line-height:1.2;display:grid}.grade-action--cool{--grade:var(--grade-again)}.grade-action--hard{--grade:var(--grade-hard)}.grade-action--good{--grade:var(--grade-good)}.grade-action--easy{--grade:var(--grade-easy)}@media (hover:hover) and (pointer:fine){.grade-action:hover{--btn-bg:color-mix(in srgb, var(--grade) 8%, var(--surface));--btn-border:var(--grade);border-color:var(--grade);background:color-mix(in srgb, var(--grade) 8%, var(--surface))}}.grade-action.is-pressed{transform:translateY(1px)}.grade-action.is-pressed,.grade-action.is-selected{border-color:var(--grade);background:color-mix(in srgb, var(--grade) 14%, var(--surface))}.grade-action.is-selected{opacity:1}.grade-action.is-selected:after{color:var(--grade);content:"✓";font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:1;position:absolute;top:4px;right:6px}.grade-grid[data-swiping=true] .grade-action:not([data-swipe]),.grade-grid[data-committed=true] .grade-action:not(.is-selected){opacity:.45}.grade-grid[data-committed=true] .grade-action.is-selected{opacity:1}.grade-action[data-swipe]{border-color:var(--grade);background:color-mix(in srgb, var(--grade) 8%, var(--surface))}.grade-action[data-swipe]:before{background:var(--grade);content:"";height:2px;transform:scaleX(clamp(0, var(--swipe-p,0), 1));border-radius:1px;position:absolute;bottom:5px;left:12px;right:12px}.grade-action[data-swipe=armed]{background:color-mix(in srgb, var(--grade) 16%, var(--surface))}.grade-action[aria-busy=true]:after{border:0;border-radius:0;width:auto;height:auto;animation:none}.grade-action-copy{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.grade-action-icon{flex:none;width:18px;height:18px}.grade-action-label{min-width:0}.grade-action-key{border-color:var(--border);color:var(--text-muted);font-size:var(--fs-xs);margin-left:2px;display:none}.grade-grid[data-queued=true] .grade-action:disabled{color:var(--text-muted);opacity:.58}.grade-grid[data-queued=true] .grade-action.is-selected:disabled{color:var(--grade);opacity:1}@media (hover:hover) and (pointer:fine){.grade-action-key{display:inline-grid}}.review-empty{align-content:center;gap:.6rem;min-height:10rem;display:grid}.review-empty-actions,.review-empty-elsewhere{align-items:center;gap:var(--passal-space-2);flex-wrap:wrap;display:flex}.review-empty-actions{margin-top:var(--passal-space-2)}.review-empty-pill-count{min-width:1.5rem;padding:0 var(--passal-space-1);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;place-items:center;display:inline-grid}.review-recap{gap:1.25rem;min-width:0;display:grid}.review-recap-heading{gap:.55rem;min-width:0;display:grid}.review-recap-heading h2{font-size:var(--fs-2xl);font-variant-numeric:tabular-nums}.review-recap-heading--row{justify-content:space-between;align-items:center;gap:var(--passal-space-2) var(--passal-space-4);flex-wrap:wrap;display:flex}.review-recap-heading--row h2{margin:0}.review-recap-heading p{max-width:42rem}.review-recap-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.review-recap-stat{gap:.15rem;display:grid}.review-recap-stat strong{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.review-recap-stat span{color:var(--text-muted);font-size:var(--fs-xs)}.review-recap-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.review-recap-count{border:1px solid var(--border);border-radius:var(--r-control);color:var(--text-muted);font-size:var(--fs-xs);gap:.15rem;padding:.7rem;display:grid}.review-recap-count strong{color:var(--text);font-size:var(--fs-xl)}.review-recap-actions{flex-wrap:wrap;gap:8px;display:flex}.review-recap-count--1{border-color:color-mix(in srgb, var(--grade-again) 45%, var(--border))}.review-recap-count--2{border-color:color-mix(in srgb, var(--grade-hard) 45%, var(--border))}.review-recap-count--3{border-color:color-mix(in srgb, var(--grade-good) 45%, var(--border))}.review-recap-count--4{border-color:color-mix(in srgb, var(--grade-easy) 45%, var(--border))}.review-recap-missed{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.review-recap-missed-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.review-recap-tomorrow{border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding-top:1rem;display:flex}.review-recap-tomorrow svg{flex:none;width:18px;height:18px}.review-recap-tomorrow-label{color:var(--text);font-weight:var(--fw-semibold)}.review-recap-tomorrow-detail{font-variant-numeric:tabular-nums;margin-left:auto}.review-recap-next{border-radius:var(--r-panel);background:var(--surface-2);gap:.35rem;padding:16px;display:grid}.review-recap-next-label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.review-recap-next-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0}.review-recap-next-meta{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.review-recap-next-actions{flex-wrap:wrap;gap:8px;margin-top:.4rem;display:flex}.review-recap-next-actions .btn.primary{flex:100%}.review-recap-list{gap:1rem;min-width:0;display:grid}.review-recap-item{border-top:1px solid var(--border-strong);gap:.65rem;min-width:0;padding-top:1rem;display:grid}.review-recap-item:first-child{border-top:0;padding-top:0}.review-recap-item .quote{font-size:var(--fs-base);margin:0;line-height:1.55}.review-recap-item .media-evidence{margin:.2rem 0 0}.review-recap>.btn{width:fit-content}.mistake-journal,.mistake-journal-empty{gap:1rem;display:grid}.mistake-journal-row{border-top:1px solid var(--border-strong);gap:.65rem;min-width:0;padding:1rem 0 0;display:grid}.mistake-journal-row:first-child{border-top:0;padding-top:0}.mistake-journal-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mistake-journal-title{font-size:var(--fs-md);margin:0;font-weight:600}.mistake-journal-count{color:var(--text-muted)}.mistake-journal-coordinates{color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.mistake-journal-row .quote{margin:0}.mistake-journal-row .cite-jump{width:fit-content}.weak-spot-empty{gap:.65rem;display:grid}.weak-spot-empty h2,.weak-spot-lecture h2{margin:0}.weak-spot-lead{color:var(--text-muted);font-size:var(--fs-md);margin:-1.25rem 0 0}.weak-spot-map{gap:1rem;display:grid}.weak-spot-lecture{gap:1rem;min-width:0;padding:0;display:grid}.weak-spot-map-layout{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.weak-spot-gutter{min-height:14rem;padding:.25rem 0;position:relative}.weak-spot-gutter-rail{border-radius:var(--r-control);background:var(--border);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:1.1rem}.weak-spot-gutter-mark{width:2.4rem;color:inherit;flex-direction:column;align-items:center;gap:.25rem;text-decoration:none;display:flex;position:absolute;left:0;transform:translateY(-50%)}.weak-spot-gutter-dot{z-index:1;border:2px solid var(--bg);border-radius:var(--r-pill);background:var(--impact);width:.65rem;height:.65rem;box-shadow:0 0 0 1px var(--border-strong)}.weak-spot-gutter-bar{border-radius:var(--r-control);background:var(--impact);opacity:.85;width:3px;height:.5rem}.weak-spot-gutter-bar[data-count="2"]{height:.85rem}.weak-spot-gutter-bar[data-count="3"]{height:1.2rem}.weak-spot-gutter-label{color:var(--text-faint);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;line-height:1}.weak-spot-page-groups,.weak-spot-rows{gap:1rem;display:grid}.weak-spot-page-group{gap:.65rem;display:grid}.weak-spot-page-chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);width:fit-content;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;margin:0;padding:.3rem .55rem;text-decoration:none;display:inline-flex}.weak-spot-page-chip:focus-visible,.weak-spot-gutter-mark:focus-visible{border-color:var(--accent-fg)}@media (hover:hover) and (pointer:fine){.weak-spot-page-chip:hover{border-color:var(--accent-fg)}}.weak-spot-page-count{color:var(--text-faint);font-weight:var(--fw-medium)}.weak-spot-cite{border-radius:var(--r-panel);background:var(--surface-2);-webkit-user-select:text;user-select:text;gap:.65rem;min-width:0;margin:0;padding:.65rem .75rem;display:grid}.weak-spot-cite-head,.weak-spot-cite-meta,.weak-spot-grades{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.weak-spot-cite-head{justify-content:space-between;gap:.5rem}.weak-spot-cite-meta{flex-shrink:0;gap:.5rem}.weak-spot-cite-kicker{color:var(--text-faint);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.weak-spot-cite .quote{margin:0}.weak-spot-cite .cite-jump{width:fit-content}@keyframes review-answer-reveal{0%{clip-path:inset(0 0 100%);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes review-cite-chip-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes review-cite-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes review-answer-dissolve{0%{opacity:0}to{opacity:1}}@keyframes review-grade-enter{0%{opacity:0}to{opacity:1}}.quiz-page-card{gap:1.25rem;display:grid}.quiz-page-card.study-surface{padding:0}.quiz-page-card>h1.brand{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quiz-difficulty{display:grid}.quiz-difficulty h2{font-size:var(--fs-md);font-weight:var(--fw-semibold);align-items:center;gap:12px;margin:0;display:flex}.quiz-difficulty-chosen{color:var(--text-muted);font-weight:var(--fw-medium);align-items:center;gap:6px;display:inline-flex}.quiz-difficulty-fold{transition:grid-template-rows var(--dur-3) var(--ease-standard), opacity var(--dur-3) var(--ease-standard);grid-template-rows:1fr;display:grid}.quiz-difficulty-fold-inner{min-height:0;overflow:hidden}.quiz-difficulty-fold-inner .quiz-difficulty-group{margin-top:8px}.quiz-difficulty[data-locked] .quiz-difficulty-fold{opacity:0;grid-template-rows:0fr}.quiz-difficulty-group{--quiz-difficulty-step:calc(100% / var(--quiz-difficulty-count));border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);width:min(100%,28rem);min-height:56px;display:grid;position:relative;overflow:hidden}.quiz-difficulty-layer,.quiz-difficulty-links{grid-area:1/1;grid-template-columns:repeat(var(--quiz-difficulty-count), minmax(0, 1fr));display:grid}.quiz-difficulty-layer{pointer-events:none;color:var(--text)}.quiz-difficulty-layer--ink{background:var(--text);color:var(--bg);clip-path:inset(0 calc((var(--quiz-difficulty-count) - 1 - var(--quiz-difficulty-at)) * var(--quiz-difficulty-step)) 0 calc(var(--quiz-difficulty-at) * var(--quiz-difficulty-step)))}.quiz-difficulty-layer:not(.quiz-difficulty-layer--ink) .quiz-difficulty-cell+.quiz-difficulty-cell{border-left:1px solid var(--border-strong)}.quiz-difficulty-cell{min-width:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);transition:transform var(--dur-1) var(--ease-standard);place-content:center;justify-items:center;gap:5px;padding:8px 4px;line-height:1.1;display:grid}.quiz-difficulty-cell[data-pressed]{transform:scale(.94)}.quiz-difficulty-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.quiz-difficulty-meter{align-items:flex-end;gap:2px;height:14px;display:flex}.quiz-difficulty-bar{opacity:.28;transform-origin:bottom;background:currentColor;border-radius:1px;width:4px}.quiz-difficulty-bar[data-on]{opacity:1}.quiz-difficulty-option{z-index:1;color:#0000;min-height:56px;font-size:var(--fs-md);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;text-decoration:none;position:relative}.quiz-difficulty-option:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}@media (forced-colors:active){.quiz-difficulty-layer{display:none}.quiz-difficulty-option{color:linktext;place-items:center;display:grid}.quiz-difficulty-option[aria-current=true]{color:highlighttext;background:highlight}}@media (prefers-reduced-motion:no-preference){.quiz-page-card[data-quiz-deal=out] .quiz-deck{animation:quiz-deal-out var(--motion-moderate-exit) var(--ease-exit) forwards;pointer-events:none}.quiz-page-card[data-quiz-deal=in] .quiz-deck{animation:quiz-deal-in var(--motion-moderate) var(--ease-standard) both}}@keyframes quiz-deal-out{to{opacity:.4;transform:translateY(6px)scale(.99)}}@keyframes quiz-deal-in{0%{opacity:0;transform:translate(28px,6px)rotate(1.2deg)}60%{opacity:1}to{opacity:1;transform:none}}.quiz-list{gap:16px;display:grid}.quiz-card{gap:12px;display:grid}.quiz-card h2{max-width:34ch;font-size:clamp(var(--fs-xl), .8vw + 14px, var(--fs-2xl));margin-bottom:8px}.quiz-progress{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.quiz-progress .progress-track{justify-self:end;width:min(100%,240px)}.quiz-progress>div{align-items:center;gap:var(--passal-space-2);flex-wrap:wrap;min-width:0;display:flex}.quiz-progress .eyebrow{margin:0}.quiz-feedback-assisted{width:fit-content;margin:0}.quiz-summary-stats{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}.quiz-source{background:var(--surface);margin-top:4px}.choice{min-height:56px;font-size:var(--fs-base);font-weight:var(--fw-medium);text-align:left;text-wrap:pretty;justify-content:flex-start;gap:14px;padding:10px 14px}.quiz-card .choice{--btn-bg:var(--surface)}@media (hover:hover) and (pointer:fine){.quiz-card .choice:hover{--btn-bg:var(--passal-canvas-soft);--btn-border:var(--accent-fg)}}.choice-key{border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--passal-canvas-soft);width:28px;height:28px;color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex:none;place-items:center;display:inline-grid}@media (hover:hover) and (pointer:fine){.choice:hover .choice-key{border-color:var(--accent-fg);color:var(--accent-fg)}}.choice-text{min-width:0}.choice-key-num{border-color:var(--border-strong);color:var(--text-muted);flex:none;margin-left:auto;display:none}@media (hover:hover) and (pointer:fine){.choice-key-num{display:inline-grid}}.quiz-continue-form{display:grid}.quiz-continue-key{margin-left:2px;display:none}@media (hover:hover) and (pointer:fine){.quiz-continue-key{display:inline-grid}}.quiz-feedback[data-revealed=true] .quiz-feedback-prompt{color:var(--text-muted);font-weight:var(--fw-semibold)}.quiz-feedback-head{align-items:center;gap:var(--passal-space-2);min-width:0;display:flex}.quiz-feedback-chips{align-items:center;gap:var(--passal-space-2);flex-wrap:wrap;min-width:0;display:flex}.quiz-feedback-more{flex:none;margin-left:auto}.quiz-feedback-report{width:min(22rem, calc(100vw - 4 * var(--workspace-gutter,20px)));gap:var(--passal-space-2);padding:var(--passal-space-3)}.quiz-feedback-report-title{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0}.quiz-feedback-report textarea{resize:vertical;field-sizing:content;width:100%;min-width:0}.quiz-feedback-outcome{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.01em;margin:0}.quiz-feedback--correct .quiz-feedback-outcome{color:var(--success-fg)}.quiz-feedback--miss .quiz-feedback-outcome{color:var(--danger-fg)}.quiz-feedback-primary{gap:10px;min-width:0;display:grid}.quiz-feedback-primary[data-revealing=true] .quiz-feedback-correct{animation:quiz-feedback-primary-enter var(--reveal-ms) var(--enter-ease) both}.quiz-feedback-correct{gap:var(--passal-space-1);padding:var(--passal-space-3) var(--passal-space-4);border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);display:grid}.quiz-feedback-correct-heading{align-items:center;gap:var(--passal-space-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;text-transform:none;display:flex}.quiz-correct-mark{color:var(--status-success-text);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:1}.quiz-correct-copy{color:var(--text);font-size:clamp(1.05rem,2.6vw,1.125rem);font-weight:var(--fw-semibold);margin:0;line-height:1.42}.quiz-feedback-your-answer{gap:var(--passal-space-1);padding:var(--passal-space-3) var(--passal-space-4);border:1px solid var(--danger-border);border-radius:var(--r-control);background:var(--danger-bg);color:var(--danger-fg);display:grid}.quiz-your-answer-heading{align-items:center;gap:var(--passal-space-2);display:flex}.quiz-your-answer-mark{line-height:1;display:inline-grid}.quiz-your-answer-mark svg{width:16px;height:16px}.quiz-your-answer-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.quiz-your-answer-copy{color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);margin:0;line-height:1.4}.quiz-feedback-dock{align-items:stretch;gap:var(--passal-space-2);flex-wrap:wrap;display:flex}.quiz-feedback-dock .quiz-continue-form{flex:12rem}.quiz-feedback-removal{justify-content:space-between;align-items:center;gap:var(--passal-space-3);flex:100%;min-width:0;display:flex}.quiz-feedback-removal p{color:var(--text);font-size:var(--fs-sm);margin:0}.quiz-feedback-removal>form{flex:none}.quiz-feedback-removal .btn{white-space:nowrap}@media (max-width:760px){.quiz-feedback-dock{z-index:var(--z-sticky);margin-right:calc(-1 * max(var(--workspace-gutter), env(safe-area-inset-right)));margin-left:calc(-1 * max(var(--workspace-gutter), env(safe-area-inset-left)));padding:var(--passal-space-3) max(var(--workspace-gutter), env(safe-area-inset-right)) calc(var(--passal-space-3) + env(safe-area-inset-bottom)) max(var(--workspace-gutter), env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-dock);position:sticky;bottom:0}:root:has(.quiz-feedback-dock){scroll-padding-bottom:calc(var(--control-h) + 3 * var(--passal-space-3) + env(safe-area-inset-bottom))}:root:has(.quiz-feedback-removal,.quiz-feedback-repair){scroll-padding-bottom:calc(2 * var(--control-h) + var(--passal-space-2) + 3 * var(--passal-space-3) + env(safe-area-inset-bottom))}}.quiz-feedback .review-cite-block{margin-top:0}.quiz-feedback-continue{scroll-margin-block:12px}@keyframes quiz-feedback-primary-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.quiz-feedback-primary[data-revealing=true] .quiz-feedback-correct,.quiz-feedback .review-cite-block--entering{animation:none;transform:none}}.state-card{background:var(--surface);gap:.8rem;display:grid}.state-card .btn{width:fit-content}.cached-card-page{gap:1rem;max-width:38rem;margin:0 auto;display:grid}.auth-card{width:min(100%,32rem);margin:0 auto;padding:0}.login-stage{align-items:center;min-height:min(62vh,34rem);display:grid}.auth-intro{gap:.65rem;margin-bottom:.5rem;display:grid}.auth-card>.stack{gap:.7rem}.auth-card .btn{width:100%}.auth-card .muted{max-width:54ch}.auth-footnote{font-size:var(--fs-md)}.trust-line{color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding-top:.25rem}.dev-login{border-top:1px solid var(--border);padding-top:.35rem}.dev-login summary{min-height:44px;color:var(--text-muted);cursor:pointer;font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:.65rem 0}.dev-login form{gap:.6rem;padding:.4rem 0 .25rem;display:grid}.skip-link{z-index:100;top:max(.5rem, env(safe-area-inset-top));left:max(.5rem, env(safe-area-inset-left));border:2px solid var(--text);border-radius:var(--r-control);background:var(--bg);color:var(--text);font-weight:var(--fw-bold);padding:.65rem .85rem;position:fixed;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.progress-segments{grid-template-columns:repeat(4,1fr);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.progress-segments li{background:var(--border);min-height:3px}.progress-segments li[data-status=complete]{background:var(--accent-fg)}.progress-segments li[data-status=current]{background:color-mix(in srgb, var(--accent-fg) 45%, var(--border))}.setup-form{max-width:38rem}.source-evidence{gap:.6rem;padding:.9rem 0 0;display:grid}.source-evidence .eyebrow{color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.onboarding-complete{background:var(--status-success-surface);position:relative;overflow:hidden}.source-intro{background:var(--surface)}.drive-picker-actions{gap:1rem;display:grid}.drive-picker-option{gap:.45rem;display:grid}.drive-picker-option .btn{width:100%}.drive-picker-revoke{width:fit-content;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);text-align:left;text-underline-offset:.18em;background:0 0;border:0;padding:0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.drive-picker-revoke:hover{color:var(--text)}}.drive-picker-note{border-top:1px solid var(--border);padding-top:.35rem}.pwa-install{width:min(100%,960px);padding:0 clamp(1rem, 4vw, 2.5rem) calc(1.25rem + env(safe-area-inset-bottom));margin:0 auto}.pwa-install-inner{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;display:flex}.pwa-install-copy{gap:.1rem;min-width:0;display:grid}.pwa-install-title{color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-bold)}.pwa-install-hint{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.4}.pwa-install .btn{flex:none;min-height:44px}.pwa-install .btn.primary{border-color:var(--passal-primary);background:var(--passal-primary);color:var(--passal-primary-ink)}@media (hover:hover) and (pointer:fine){.pwa-install .btn.primary:hover{border-color:var(--passal-primary);background:color-mix(in srgb, var(--passal-primary) 90%, var(--text))}}.pwa-update{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:var(--z-overlay);gap:var(--passal-space-2);width:min(20rem,100vw - 2rem);padding:var(--passal-space-3);border:1px solid var(--border);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--shadow-overlay);display:grid;position:fixed}:is(.pwa-update-slot,.pwa-update-fallback-slot) .pwa-update{gap:var(--passal-space-1);width:100%;padding:var(--passal-space-2);box-shadow:none;position:static}:is(.pwa-update-slot,.pwa-update-fallback-slot) .pwa-update-title{margin:0;line-height:1.25}:is(.pwa-update-slot,.pwa-update-fallback-slot) .pwa-update-actions{gap:var(--passal-space-1);flex-wrap:nowrap}:is(.pwa-update-slot,.pwa-update-fallback-slot) .pwa-update .btn{min-height:40px;padding-inline:var(--passal-space-2);font-size:var(--fs-xs)}.pwa-update-copy{gap:var(--passal-space-1);display:grid}.pwa-update-title{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.pwa-update-error{color:var(--danger-fg);font-size:var(--fs-xs);line-height:1.4}.pwa-update-actions{gap:var(--passal-space-2);flex-wrap:wrap;display:flex}.pwa-update .btn{min-height:40px;padding-inline:var(--passal-space-3)}.pwa-update .btn.primary{border-color:var(--passal-primary);background:var(--passal-primary);color:var(--passal-primary-ink)}@media (hover:hover) and (pointer:fine){.pwa-update .btn.primary:hover{border-color:var(--passal-primary);background:color-mix(in srgb, var(--passal-primary) 90%, var(--text))}}.offline-save-hint{gap:var(--passal-space-2);color:var(--text-muted);font-size:var(--fs-sm);justify-content:center;align-items:center;margin-top:.65rem;display:flex}.offline-save-hint p{margin:0}.offline-save-hint .btn{flex:none;min-height:40px}@media (max-width:520px){.offline-save-hint{flex-direction:column;align-items:stretch}}@media (min-width:701px){.today-card{padding-block:clamp(1.5rem,4vw,2.5rem)}}@media (max-width:700px){.shell{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.top{margin-bottom:1.5rem;padding-bottom:.85rem}.top-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.top-meta{display:none}.top--compact .top-row{flex-wrap:wrap;align-items:center;gap:0 .75rem;display:flex}.top--compact .top-tools{justify-content:flex-end;gap:.55rem;width:100%}}@media (max-width:430px){.pwa-install{width:min(100%,960px);padding:0 max(1rem, env(safe-area-inset-right)) calc(6rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));margin:0 auto;position:static}.pwa-install-inner{flex-direction:column;align-items:stretch;gap:.75rem}.pwa-install .btn{width:100%}.pwa-update{right:max(.75rem, env(safe-area-inset-right));bottom:calc(5.5rem + env(safe-area-inset-bottom));left:max(.75rem, env(safe-area-inset-left));width:auto}.pwa-update-actions .btn{flex:8rem}.shell{padding-right:max(1rem, env(safe-area-inset-right));padding-left:max(1rem, env(safe-area-inset-left))}.top-title{margin-top:1rem}.public-header{align-items:flex-start;margin-bottom:1.5rem}.review-pet-dock{gap:.6rem}.study-pet-sprite{background-size:288px 351px;width:36px;height:39px}.today-card{padding-block:1.25rem}.row{grid-template-columns:1fr;display:grid}.row .btn,.review-reveal{width:100%}.ask-form{grid-template-columns:1fr}.ask-form .btn{width:100%}.student-inline-actions{grid-template-columns:1fr;display:grid}.student-inline-actions .btn,.state-card .btn{width:100%}.calendar-connect-form,.calendar-connection{grid-template-columns:1fr}.calendar-event-heading{grid-template-columns:1fr;display:grid}.calendar-tag,.calendar-needs-confirm{justify-self:flex-start}.calendar-connection .row,.calendar-event-actions,.calendar-tag-form,.calendar-reminder{grid-template-columns:1fr;align-items:stretch;display:grid}.calendar-connection .row .btn,.calendar-event-actions .btn,.calendar-reminder .btn{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.study-pet-sprite{background-position:0 var(--pet-y);animation:none}.review-reveal.is-pressed,.grade-action.is-pressed,.grade-action.is-selected{transform:none!important}.answer-slot[data-revealing=true] .answer-panel{clip-path:none;animation:none}.review-cite-block--entering,.review-card .cite-well--expanded{animation:none;transform:none}.review-swipe-stamp,.review-panel{animation:none}.menu-popup,.toast,.toast-content,.segmented:before,[data-fluid-hover]:before{transition-property:opacity!important;transition-duration:var(--motion-fast)!important;transition-timing-function:linear!important}.menu-popup[data-ending-style],.toast[data-ending-style]{transition-duration:var(--motion-fast-exit)!important}.answer-slot[data-revealing=true] .answer-panel,.quiz-feedback-primary[data-revealing=true]{animation:passal-fade-in var(--motion-fast) linear both!important;clip-path:none!important;transform:none!important}}@keyframes passal-fade-in{0%{opacity:0}}@media print{.study-pet-sprite{background-position:0 var(--pet-y);animation:none}}.first-run-navigation{margin-left:auto;position:relative}.first-run-navigation summary{cursor:pointer;min-height:44px;font-size:var(--fs-md);align-items:center;display:flex}.first-run-navigation .app-nav{background:0 0;border:0;flex-wrap:wrap;width:auto;margin-top:8px;padding:0;display:flex;position:static}.first-run-navigation[open]{flex-basis:100%;grid-column:1/-1;width:100%}.first-run-navigation .top-tools{justify-content:flex-start;display:flex}.first-run-navigation .nav-link{min-height:44px;font-size:var(--fs-md);padding:.55rem .65rem}.first-run-navigation>summary{justify-content:flex-end}.optional-disclosure{border-top:1px solid var(--border);padding:8px 0}.optional-disclosure>summary,.task-disclosure>summary{cursor:pointer;min-height:48px;font-weight:var(--fw-semibold);padding:12px 0}.optional-disclosure>summary span{font-weight:var(--fw-regular);margin-left:8px}.optional-disclosure[open]>summary{margin-bottom:12px}.task-disclosure[open]>summary{display:none}.first-card-prompt{font-weight:var(--fw-semibold);font-size:var(--fs-lg)}.selected-source-file{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.selected-source-file>div{overflow-wrap:anywhere;flex:160px;min-width:0}.selected-source-file p{font-size:var(--fs-md);margin:4px 0 0}.selected-source-file .btn{min-height:44px}.pwa-install{position:static}.today-install-slot:empty{display:none}.today-install-slot .pwa-install{width:auto;margin:0 0 1.25rem;padding:0}.today-install-slot .pwa-install-inner{border-top:0;border-bottom:1px solid var(--border);padding-block:0 1rem}.plain-list{margin:0;padding-left:1.25rem}.plain-list li{margin:.25rem 0}.brand-wordmark{align-items:center;display:inline-flex}.brand-wordmark svg,.brand-mark{display:block}.brand-wordmark .brand-glyphs{fill:var(--brand-wordmark)}.brand-mark .brand-glyphs{fill:var(--brand-mark)}.brand-wordmark .brand-nucleus,.brand-mark .brand-nucleus{fill:var(--brand-nucleus)}.brand-mark--panel .brand-glyphs{fill:var(--brand-panel-mark)}.brand-mark--panel .brand-nucleus{fill:var(--brand-panel-nucleus)}.theme-toggle{border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-control);min-height:36px;font-size:var(--fs-xs);cursor:pointer;background:0 0;padding:0 12px}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{background:var(--accent-soft)}}.step-rail{flex-wrap:wrap;gap:8px;margin:0 0 1rem;padding:0;list-style:none;display:flex}.step-rail span{border:1px solid var(--border);border-radius:var(--r-pill);min-height:28px;color:var(--text-muted);font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:none;align-items:center;padding:0 10px;display:inline-flex}.step-rail span.on{border-color:var(--accent-fg);background:color-mix(in srgb, var(--passal-primary) 12%, transparent);color:var(--passal-ink-strong,var(--text));font-weight:var(--fw-semibold)}.workspace-login.shell{width:min(1120px,100%);padding:32px 40px 64px}.workspace-login .public-header{margin-bottom:52px}.workspace-login .login-stage{border:1px solid var(--border);border-radius:var(--r-panel);grid-template-columns:1fr 1fr;align-items:stretch;gap:0;min-height:600px;padding:0;display:grid;overflow:hidden}.login-story{background:var(--brand-panel);color:var(--brand-panel-ink);flex-direction:column;padding:56px 44px 40px;display:flex}.login-story h1{color:var(--brand-panel-ink);font-size:var(--fs-display);letter-spacing:var(--tracking-display);line-height:1.18;font-weight:var(--fw-medium);margin:0}.login-story>p{font-size:var(--fs-md);color:var(--brand-panel-muted);margin:24px 0;line-height:1.9}.login-story .login-story-mark{width:84px;height:84px;margin:auto 0 24px}.login-story .login-story-signature{font-size:var(--fs-sm);color:var(--brand-panel-muted);margin:0}.workspace-login .auth-card{background:var(--surface);border:0;border-radius:0;flex-direction:column;justify-content:center;width:100%;max-width:none;margin:0;padding:48px;display:flex}.workspace-login .auth-intro h2{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);margin:0 0 16px;line-height:1.25}.workspace-login .auth-intro p{font-size:var(--fs-md);margin-bottom:24px;line-height:1.75}.workspace-login .provider{min-height:52px;font-weight:var(--fw-semibold)}.workspace-login .auth-footnote{font-size:var(--fs-xs);margin:24px 0 0;line-height:1.75}@media (max-width:800px){.workspace-login.shell{padding:20px}.workspace-login .public-header{margin-bottom:24px}.workspace-login .login-stage{flex-direction:column;min-height:0;display:flex}.login-story{padding:28px}.login-story h1{font-size:var(--fs-3xl)}.login-story>p{font-size:var(--fs-md);margin-bottom:0}.login-story .login-story-mark,.login-story .login-story-signature{display:none}.workspace-login .auth-card{padding:28px}.workspace-login .auth-intro h2{font-size:var(--fs-2xl)}}.ai-handoff-strip{gap:var(--passal-space-2);display:grid}.ai-handoff-strip-label{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.ai-provider-strip{gap:var(--passal-space-1);min-width:0;max-width:calc(5 * 96px + 4 * var(--passal-space-1));grid-template-columns:repeat(auto-fit,minmax(58px,1fr));display:grid}.ai-provider-tile{justify-content:center;align-items:center;gap:var(--passal-space-1);min-width:0;min-height:64px;padding:var(--passal-space-2) 0;border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;transition:transform var(--dur-1) var(--ease-standard);flex-direction:column;display:inline-flex}.ai-provider-tile:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.ai-provider-tile:hover{background:var(--surface-2)}}.ai-provider-tile:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.ai-provider-tile.is-active{border-color:var(--accent-fg);background:var(--surface-2)}.ai-provider-logo{object-fit:contain;pointer-events:none;width:22px;height:22px}.ai-provider-name{max-width:100%;font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:var(--lh-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root[data-theme=dark] .ai-provider-logo{filter:brightness(0)invert();opacity:.92}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ai-provider-logo{filter:brightness(0)invert();opacity:.92}}.ai-handoff-hint{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.ai-handoff-hint:empty{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ai-handoff-prompt-details>textarea{width:100%;margin-top:var(--passal-space-2)}.ai-draft-settings>form{padding-top:var(--passal-space-3)}.ai-focus{padding:var(--passal-space-4);border-radius:var(--r-panel);background:var(--surface-2)}.ai-focus h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.ai-focus p{margin:0}.ai-focus ul{gap:var(--passal-space-1);padding-left:var(--passal-space-6);margin:0;display:grid}@supports selector(:has(*)){.ai-setup-panel{display:none}:is(.ai-setup:has(input[value=chatgpt]:checked) .ai-setup-panel[data-assistant=chatgpt],.ai-setup:has(input[value=claude]:checked) .ai-setup-panel[data-assistant=claude],.ai-setup:has(input[value=gemini]:checked) .ai-setup-panel[data-assistant=gemini],.ai-setup:has(input[value=grok]:checked) .ai-setup-panel[data-assistant=grok]){display:grid}}.ai-setup-panel p{margin:0}.ai-setup-steps{gap:var(--passal-space-2);padding-left:var(--passal-space-6);margin:0;display:grid}.ai-connect-help>.ai-rejection-reasons{padding-top:var(--passal-space-2)}.copy-field{gap:var(--passal-space-2);min-width:0;display:grid;position:relative}.copy-field-label{color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-ui);margin:0}.copy-field-row{gap:var(--passal-space-2);min-width:0;display:flex}.copy-field-row>input{flex:auto;min-width:0}.copy-field-row>.btn{flex:none}.copy-field-status{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.copy-field-status:empty{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.own-ai-lectures{margin:0;padding:0;list-style:none;display:grid}.own-ai-lectures li{justify-content:space-between;align-items:center;gap:var(--passal-space-3);padding:var(--passal-space-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.own-ai-lectures li:first-child{border-top:0;padding-top:0}.own-ai-lectures li:last-child{padding-bottom:0}.own-ai-lectures span{overflow-wrap:anywhere}.own-ai-lecture{gap:var(--passal-space-1);min-width:0;display:grid}.own-ai-lecture-name{color:var(--passal-ink-strong);font-weight:var(--fw-medium)}.own-ai-lecture .muted{font-size:var(--fs-sm)}.ai-rejection-reasons{gap:0;margin:0;display:grid}.ai-rejection-reasons>div{border-top:1px solid var(--border);gap:4px;padding:12px 0;display:grid}.ai-rejection-reasons>div:first-child{border-top:0;padding-top:0}.ai-rejection-reasons dt{font-weight:var(--fw-semibold)}.ai-rejection-reasons dd{color:var(--text-muted);margin:0}@media (max-width:760px){.review-dock-row{z-index:var(--z-sticky);margin-inline:calc(-1 * var(--workspace-gutter,20px));padding:10px var(--workspace-gutter,20px) calc(10px + env(safe-area-inset-bottom));position:sticky;bottom:0}.shell-focus:has(>.workspace-header)>.review-dock-row{max-width:none;margin-right:calc(-1 * max(var(--workspace-gutter), env(safe-area-inset-right)));margin-left:calc(-1 * max(var(--workspace-gutter), env(safe-area-inset-left)));padding-right:max(var(--workspace-gutter), env(safe-area-inset-right));padding-left:max(var(--workspace-gutter), env(safe-area-inset-left))}.review-dock-row--with-pet{grid-template-columns:36px minmax(0,1fr)}.review-dock-row--with-pet .review-pet-dock,.review-dock-row--with-pet .study-pet{width:36px}.review-dock-row:not(:has(.grade[data-ready=true])){pointer-events:none}.review-dock-row:has(.grade[data-ready=true]){border-top:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-dock)}.grade-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.grade-action{min-height:60px;padding:6px 4px}.grade-action-copy{flex-direction:column;gap:4px}.grade-action-label{font-size:var(--fs-sm)}}.design-ref{gap:40px;width:min(100%,1120px);padding-bottom:96px;display:grid}.design-ref-header{border-bottom:1px solid var(--border);gap:8px;padding-bottom:24px;display:grid}.design-ref-header h1{font-size:var(--fs-3xl);letter-spacing:var(--tracking-display)}.design-ref-section{gap:16px;display:grid}.design-ref-section>h2{font-size:var(--fs-lg);color:var(--text-muted);font-weight:var(--fw-semibold)}.design-ref-grid{gap:16px;display:grid}.design-ref-type{border-top:1px solid var(--border);display:grid}.design-ref-type-row{border-bottom:1px solid var(--border);grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:16px;padding:10px 0;display:grid}.design-ref-label{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.design-ref-swatches{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.design-ref-swatch{gap:4px;display:grid}.design-ref-swatch code,.design-ref-icon code{color:var(--text-faint);font-size:var(--fs-2xs);overflow-wrap:anywhere}.design-ref-chip{border:1px solid var(--border);border-radius:var(--r-cite);height:44px;display:block}.design-ref-fields{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:20px;display:grid}.design-ref-checks{font-size:var(--fs-md);align-content:start;gap:8px;display:grid}.design-ref-icons{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.design-ref-icon{border:1px solid var(--border);border-radius:var(--r-cite);background:var(--surface);justify-items:center;gap:8px;padding:16px 8px;display:grid}@media (max-width:760px){.design-ref-type-row{grid-template-columns:minmax(0,1fr);gap:4px}}@media (pointer:coarse){.agent-context-chip,.agent-chip,.agent-close,.student-inline-actions .btn{min-height:44px}.agent-close{min-width:44px}.student-card-master-edit{opacity:1;pointer-events:auto}}.cite-jump-button{border-radius:var(--r-cite);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.citation-sheet{border:1px solid var(--border);border-radius:var(--r-panel);background:var(--surface);width:min(720px,100vw - 32px);max-height:min(84dvh,760px);color:var(--text);box-shadow:var(--shadow-overlay);padding:0}.citation-sheet::backdrop{background:#00000073}.citation-sheet-inner{gap:var(--passal-space-4);padding:var(--passal-space-5) var(--passal-space-6) var(--passal-space-6);display:grid}.citation-sheet-header{justify-content:space-between;align-items:flex-start;gap:var(--passal-space-4);display:flex}.citation-sheet-title{gap:var(--passal-space-1);min-width:0;display:grid}.citation-sheet-title h2{font-size:var(--fs-lg);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;margin:0}.citation-sheet-title p{font-size:var(--fs-sm);margin:0}.citation-sheet-error{justify-items:start;gap:var(--passal-space-3);display:grid}.citation-sheet-text{max-height:min(56dvh,520px)}@media (prefers-reduced-motion:no-preference){.citation-sheet[open]{animation:citation-sheet-in var(--dur-3) var(--ease-standard) both}}@keyframes citation-sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.citation-sheet{border-radius:var(--r-panel) var(--r-panel) 0 0;border-width:1px 0 0;width:100vw;max-width:100vw;max-height:88dvh;margin:auto 0 0}.citation-sheet-inner{padding:var(--passal-space-4) var(--passal-space-5) calc(var(--passal-space-5) + env(safe-area-inset-bottom))}.citation-sheet-text{max-height:60dvh;padding:16px}}.missed-capture-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px 16px;display:grid}.missed-capture textarea,.missed-capture input:not([type=radio]):not([type=checkbox]),.missed-capture select{width:100%}.missed-reasons{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.missed-reasons legend{color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:4px}.missed-reason{border:1px solid var(--border);border-radius:var(--r-control);cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.missed-reason input[type=radio],.missed-candidate>input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--accent-fg);flex:none;margin:0;padding:0}.missed-reason span{text-align:left;flex:1}.missed-reason:has(input:checked){border-color:var(--accent-fg);background:var(--surface-2)}.missed-reason-note,.missed-terms{font-size:var(--fs-md);margin:0}.missed-matches{border-top:1px solid var(--border-strong);padding-top:16px}.missed-matches h3{margin:0}.missed-candidates,.missed-links,.missed-list,.missed-course-counts,.boards-courses{gap:12px;margin:0;padding:0;list-style:none;display:grid}.missed-candidate{border:1px solid var(--border);border-radius:var(--r-control);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 12px;padding:12px;display:grid}.missed-candidate>input{margin-top:2px}.missed-candidate>.cite-jump{grid-column:2;width:fit-content}.missed-candidate-body{cursor:pointer;gap:6px;min-width:0;display:grid}.missed-candidate-body .quote{margin:0}.missed-candidate-where{color:var(--text-muted);font-size:var(--fs-sm);overflow-wrap:anywhere}.missed-candidate-front{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.missed-candidate-terms{font-size:var(--fs-sm)}.missed-takeaway summary{cursor:pointer;min-height:44px;font-weight:var(--fw-semibold);align-items:center;gap:.35em;display:flex}.missed-item{border-top:1px solid var(--border-strong);gap:8px;min-width:0;padding:16px 0 0;scroll-margin-top:96px;display:grid}.missed-item:first-child{border-top:0;padding-top:0}.missed-item.is-new{border:1px solid var(--passal-cite);border-radius:var(--r-control);padding:12px}.missed-item-head{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.missed-item-source{font-weight:var(--fw-bold)}.missed-item-reason{color:var(--text-muted)}.missed-item-repeat{border:1px solid var(--passal-cite);border-radius:var(--r-pill);font-weight:var(--fw-semibold);padding:2px 8px}.missed-item-date{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.missed-item-body{overflow-wrap:anywhere;margin:0}.missed-item-uncovered{margin:0}.missed-link{min-width:0;padding:var(--passal-space-2) var(--passal-space-3);border-radius:var(--r-control);background:var(--surface-2);gap:6px;display:grid}.missed-link .quote{margin:0}.missed-link .cite-jump{width:fit-content}.missed-item-actions{justify-content:flex-end;display:flex}.missed-pattern-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;margin:0;display:grid}.missed-pattern-stats div{border:1px solid var(--border);border-radius:var(--r-control);gap:4px;padding:12px;display:grid}.missed-pattern-stats dt{color:var(--text-muted);font-size:var(--fs-sm)}.missed-pattern-stats dd{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;margin:0}.boards-course{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 16px;padding:12px 0 0;display:grid}.boards-course:first-child{border-top:0;padding-top:0}.boards-course-main{gap:4px;min-width:0;display:grid}.boards-course-main .muted{font-size:var(--fs-md)}.boards-course-stats{gap:16px;margin:0;display:flex}.boards-course-stats div{text-align:right;gap:2px;display:grid}.boards-course-stats dt{color:var(--text-muted);font-size:var(--fs-xs)}.boards-course-stats dd{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:0}@media (max-width:700px){.boards-course{grid-template-columns:minmax(0,1fr)}.boards-course-stats div{text-align:left}}.quiz-session-missed{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:12px;margin:0;display:flex}.empty-state{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.empty-state-label{color:var(--text-muted);font-weight:var(--fw-medium);margin:0}.empty-state-actions{flex-wrap:wrap;gap:8px;display:flex}.anki-import-commit{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.anki-import-commit p{margin:0}.tour-shell{width:min(100%,720px)}.tour-screen{gap:16px;min-width:0;display:grid}.tour-screen--session{gap:8px;margin-bottom:8px}.tour-header{justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.tour-steps{gap:8px;margin:0;padding:0;list-style:none;display:flex}.tour-steps li{border-radius:var(--r-control);background:var(--border-strong);width:6px;height:6px}.tour-steps li[aria-current=step]{background:var(--text)}.tour-skip{min-height:44px}.tour-title{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0;line-height:1.25}.tour-card{gap:12px;min-width:0;display:grid}.tour-card-front{font-size:var(--fs-lg);font-weight:var(--fw-semibold);overflow-wrap:anywhere;margin:0}.tour-card-back{font-size:var(--fs-lg);font-weight:var(--fw-regular);overflow-wrap:anywhere;margin:0}.tour-teach{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.tour-cite .quote{overflow-wrap:anywhere}.tour-cite .cite-coords{color:var(--cite-fg);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.tour-upload{gap:12px}.tour-route{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.tour-route-label{color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.tour-ai{gap:12px}.semester-setup{gap:var(--passal-space-4)}.semester-drop-copy{justify-content:center;align-items:center;gap:var(--passal-space-3);min-height:152px;padding:var(--passal-space-6) var(--passal-space-5);border:1.5px dashed var(--field-border);border-radius:var(--r-panel);background:var(--passal-canvas-soft);color:var(--text);text-align:center;flex-direction:column;display:flex}.semester-drop[data-drag-over] .semester-drop-copy{border-style:solid;border-color:var(--accent-fg);background:color-mix(in srgb, var(--accent-fg) 12%, var(--surface))}.tour-screen:has(.semester-setup:not([data-phase=pick])) :is(.tour-route,.tour-alt,.tour-later){display:none}.semester-drop-actions{justify-content:center;gap:var(--passal-space-2);flex-wrap:wrap;display:flex}.semester-courses{gap:var(--passal-space-3);margin:0;padding:0;list-style:none;display:grid}.semester-course{gap:var(--passal-space-2);min-width:0;padding:var(--passal-space-3);border:1px solid var(--border);border-radius:var(--r-panel);background:var(--surface);display:grid}.semester-course-head{align-items:center;gap:var(--passal-space-2) var(--passal-space-3);flex-wrap:wrap;min-width:0;display:flex}.semester-course-name{flex:220px;min-width:0}.semester-course-name input{width:100%;font-weight:var(--fw-semibold)}.semester-course-title{font-weight:var(--fw-semibold);overflow-wrap:anywhere;flex:auto}.semester-course-count{font-size:var(--fs-sm)}.semester-files{gap:var(--passal-space-1);margin:0;padding:0;list-style:none;display:grid}.semester-file{justify-content:space-between;align-items:center;gap:var(--passal-space-1) var(--passal-space-3);min-width:0;min-height:36px;font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.semester-file-name{overflow-wrap:anywhere;min-width:0}.semester-file-actions{align-items:center;gap:var(--passal-space-1);display:flex}.semester-file-actions select{max-width:180px;min-height:36px}.semester-drop-actions button,.semester-file-actions :is(button,select),.semester-course>label select{min-height:44px}.semester-file[data-state=waiting] .semester-file-name{color:var(--text-muted)}.semester-file-done{color:var(--success-fg,var(--text));font-weight:var(--fw-semibold)}.semester-file-problem{color:var(--danger-fg)}.semester-rejected summary{cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm)}.semester-rejected ul{margin:var(--passal-space-2) 0 0;padding-left:var(--passal-space-5);font-size:var(--fs-sm)}.semester-progress:empty{display:none}.tour-lecture-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere;margin:0}.tour-key-strip{display:none}@media (hover:hover) and (pointer:fine) and (min-width:431px){.tour-key-strip{color:var(--text-muted);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 8px;display:flex}}.tour-key{align-items:center;gap:4px;display:inline-flex}.tour-grades{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tour-practice-done{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tour-practice-done p{font-weight:var(--fw-semibold);margin:0}.review-tour-next{justify-content:flex-end;margin-bottom:8px;display:flex}.review-tour-next .btn{min-height:44px}.review-tour-next[data-ready=false]{visibility:hidden}.tour-exam-field{gap:12px}.tour-exam-row{border:0;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;margin:0;padding:0;display:flex}.tour-exam-row legend{float:left;width:100%;font-weight:var(--fw-semibold);margin:0 0 8px;padding:0}.tour-exam-date{margin:0}.settings-rows{margin:0;padding:0;list-style:none;display:grid}.settings-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.settings-row:first-child{border-top:0}.settings-row-label{font-weight:var(--fw-semibold)}.settings-row-value{color:var(--text-muted);font-size:var(--fs-md);text-align:right}.settings-row-link{min-height:48px;color:var(--text);font-weight:var(--fw-semibold);flex:1;justify-content:space-between;align-items:center;text-decoration:none;display:flex}.settings-row-link:after{content:"›";color:var(--text-muted);font-size:var(--fs-lg)}.settings-legal-links{font-size:var(--fs-md);margin:0}.source-legal-footer{margin-top:16px}.source-legal-footer p{font-size:var(--fs-sm);margin:0}.tour-screen .quote,.cite-page{overflow-wrap:anywhere}.workspace-plan-card .tour-exam-field{margin:12px 0 16px}.tour-card-back:focus:not(:focus-visible),.tour-title:focus:not(:focus-visible),.tour-card-back[tabindex="-1"]:focus-visible,.tour-title[tabindex="-1"]:focus-visible{outline:none}.anki-migration-panel{overflow-wrap:anywhere;min-width:0}.anki-migration-panel fieldset{min-width:0}
