:where(.select-chevron){width:16px;height:16px;color:inherit;vertical-align:middle;transform:rotate(var(--ui-chevron-rotation,0deg));flex-shrink:0;transition:transform .18s,color .18s;display:inline-block}.select-chevron--open{--ui-chevron-rotation:180deg}@media (prefers-reduced-motion:reduce){.select-chevron{transition:none}}@media (width<=520px){.course-select-trigger{height:40px}.course-select-control.is-compact{min-width:100px}.course-select-control.is-compact .course-select-trigger{height:32px}}@media (width<=390px){.course-select-trigger{font-size:.71rem}.course-select-control.is-compact{min-width:94px}}@media (height<=720px) and (width<=700px){.course-select-trigger{height:36px}}.ui-school-select.ant-select{width:100%;min-width:0;height:42px;font:inherit;border-radius:11px;font-size:.82rem}.ui-school-select .select-chevron{width:14px;height:14px}.ui-school-select-dropdown.is-closed{visibility:hidden;pointer-events:none}.school-required-page{background:var(--paper);min-height:100svh;color:var(--ink);place-items:center;padding:24px 16px;display:grid}.school-required-card{border:1px solid var(--modal-border);background:var(--modal-surface);width:min(100%,460px);box-shadow:0 24px 70px var(--modal-shadow);border-radius:24px;padding:clamp(24px,5vw,36px)}.school-required-card h1{color:var(--ink);margin:0 0 16px;font-size:24px;line-height:1.4}.school-required-description{color:var(--ink-soft);margin:0 0 24px;font-size:14px;line-height:1.7}.school-required-field{color:var(--ink-soft);gap:8px;font-size:14px;display:grid}.school-required-field .ui-school-select.ant-select{font-size:14px}.school-required-error{color:var(--agent-danger,#c0392b);margin:16px 0 0;font-size:14px;line-height:1.6}.school-required-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.school-required-actions a{color:var(--ink-soft);font-size:14px;text-decoration:none}.school-required-actions .ui-button{font-size:14px}.school-required-actions a:hover{color:var(--sage-dark);text-decoration:underline}.todo-form{gap:18px;margin-top:18px;display:grid}.todo-form label,.todo-field{color:var(--ink-soft);gap:8px;min-width:0;font-size:.85rem;display:grid}.todo-form .ui-input{width:100%;min-width:0}.todo-time-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.todo-source-label,.todo-hint{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.8rem;line-height:1.7}.todo-source-label{border-bottom:1px solid var(--line-soft);padding-bottom:12px}.todo-hint{margin-top:8px}.todo-error{color:var(--danger,#b53e38);font-size:.85rem}.todo-ai-status{color:var(--sage-dark);justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:.85rem;display:flex}.notice-row-actions{align-items:center;gap:1px;display:flex;position:absolute;top:14px;right:10px}.notice-row-actions .notice-star-btn{position:static;transform:none}.public-notice-item:has(.notice-row-actions) .notice-card-main{padding-right:102px}.notice-todo-button.ui-button{flex-basis:36px;width:36px;height:36px;min-height:36px}.todos-page{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.todos-primary-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.todos-content{flex:1;min-height:0;padding:22px 28px;overflow:auto}.todos-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.todos-list-toolbar .todo-hint{white-space:nowrap;margin:0}.todos-list-toolbar .course-select-control{flex-shrink:0;width:140px}.todos-view-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.todos-view-switch .ui-icon-button{flex-basis:32px;width:32px;height:32px;min-height:32px;padding:0}.todos-view-switch .ui-icon-button>svg{fill:none;width:18px;height:18px}.todos-view-switch .ui-icon-button:disabled{cursor:default;opacity:.5}.todos-list{gap:12px;margin:14px 0;padding:0;list-style:none;display:grid}.todos-list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-card{border:1px solid var(--line-soft);background:var(--solid-surface);border-radius:16px;align-items:flex-start;gap:14px;min-width:0;padding:18px;display:flex}.todo-card.is-complete .todo-title{color:var(--muted);text-decoration:line-through}.todo-check{flex-shrink:0;margin-top:2px}.todo-card-actions{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.todo-card-actions .ui-icon-button{flex-basis:32px;width:32px;height:32px;min-height:32px}.todo-card-actions .todo-keyboard-move:not(:focus-visible){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.todo-move-up svg{transform:rotate(90deg)}.todo-move-down svg{transform:rotate(-90deg)}.todo-drag-handle{cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.todo-drag-handle:active{cursor:grabbing}.todo-card{position:relative}.todos-list.is-sorting .todo-card{will-change:transform}.todo-card.is-dragging{border:1px dashed var(--sage-dark);background:var(--surface);box-shadow:inset 0 0 0 1px var(--sage-dark)}.todo-card.is-dragging>*{visibility:hidden}.todo-drag-overlay{box-sizing:border-box;border-color:var(--sage-dark);cursor:grabbing;-webkit-user-select:none;user-select:none;height:100%;transform:scale(1.015);box-shadow:0 16px 42px #0000002e,0 3px 10px #00000014}.todo-drag-check{border:1px solid var(--line-soft);border-radius:5px;flex-shrink:0;width:18px;height:18px;margin-top:2px}.todo-drag-spacer{flex-shrink:0;width:32px}@media (prefers-reduced-motion:reduce){.todos-list .todo-card{transition:none!important}.todo-drag-overlay{transform:none}}.todo-card-main{flex:1;gap:8px;min-width:0;display:grid}.todo-title{color:var(--ink);text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;margin:0;padding:0;font-size:.95rem;line-height:1.55}.todo-title:hover{color:var(--sage-dark)}.todo-meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:.78rem;display:flex}.todo-overdue{color:var(--danger,#b53e38)}.todo-notes{color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.82rem}.todo-source-link{color:var(--sage-dark);overflow-wrap:anywhere;font-size:.78rem}.todos-empty{text-align:center;color:var(--muted);padding:72px 20px}.todos-empty p{line-height:1.8}.todo-calendar{margin-top:18px}.todo-calendar-toolbar{justify-content:center;align-items:center;gap:8px;margin-bottom:14px;display:flex}.todo-calendar-toolbar .ui-icon-button{flex-basis:32px;width:32px;height:32px;min-height:32px}.todo-calendar-month{min-width:112px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:600}.todo-calendar-toolbar .todo-calendar-current{min-height:30px;padding:0 10px;font-size:.75rem}.todo-calendar-scroll{border:1px solid var(--line-soft);background:var(--solid-surface);border-radius:14px;width:100%;max-width:100%;overflow-x:auto}.todo-calendar-grid{table-layout:fixed;border-spacing:0;width:100%;min-width:700px}.todo-calendar-grid th{height:34px;color:var(--muted);font-size:.72rem;font-weight:600}.todo-calendar-grid th,.todo-calendar-grid td{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.todo-calendar-grid tr>:last-child{border-right:0}.todo-calendar-grid tr:last-child td{border-bottom:0}.todo-calendar-grid td{vertical-align:top;height:110px;padding:8px}.todo-calendar-grid td.is-out{background:rgb(var(--accent-rgb) / .018)}.todo-calendar-grid td.has-items{background:rgb(var(--accent-rgb) / .035)}.todo-calendar-day{min-width:24px;height:24px;color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;margin-bottom:4px;font-size:.75rem;display:inline-flex}.todo-calendar-grid .is-out .todo-calendar-day{color:var(--muted-light)}.todo-calendar-day.is-today{background:rgb(var(--accent-rgb) / .16);color:var(--sage-dark);font-weight:700}.todo-calendar-entry{background:var(--sage-soft);border-radius:6px;align-items:flex-start;gap:4px;margin-top:4px;padding:5px;transition:background .15s;display:flex}.todo-calendar-entry:hover{background:rgb(var(--accent-rgb) / .14)}.todo-calendar-check{flex-shrink:0;padding:3px}.todo-calendar-item{min-width:0;color:var(--sage-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-direction:column;flex:1;gap:2px;padding:0;line-height:1.4;display:flex}.todo-calendar-time{font-variant-numeric:tabular-nums;font-size:.64rem}.todo-calendar-title{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.75rem;overflow:hidden}.todo-calendar-entry.is-complete .todo-calendar-title,.todo-calendar-undated-row.is-complete .todo-calendar-undated-item{color:var(--muted);text-decoration:line-through}.todo-calendar-more{color:var(--sage-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:3px;padding:5px 2px;font-size:.7rem}.todo-calendar-undated{border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .025);border-radius:13px;gap:8px;margin-top:16px;padding:14px;display:grid}.todo-calendar-undated h2{color:var(--ink-soft);margin:0 0 2px;font-size:.82rem;font-weight:600}.todo-calendar-undated-row{border-top:1px solid var(--line-soft);align-items:flex-start;gap:6px;padding-top:8px;display:flex}.todo-calendar-undated-item{min-width:0;color:var(--ink-soft);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;padding:3px 0;font-size:.82rem}.todo-calendar-undated-item:hover{color:var(--sage-dark)}.todo-calendar-scroll:focus-visible,.todo-calendar-item:focus-visible,.todo-calendar-more:focus-visible,.todo-calendar-undated-item:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .42);outline-offset:2px}@media (width<=640px){.todos-content{padding:16px 12px}.todo-card{gap:10px;padding:14px 12px}.todos-list.is-grid,.todo-time-fields{grid-template-columns:minmax(0,1fr)}.todo-ai-status{flex-wrap:wrap}}.todo-dialog{width:min(100%,560px)}.calendar-notice-actions{align-items:center;gap:2px;min-width:0;display:flex}.calendar-notice-actions>button:first-child{flex:1;min-width:0}.password-dialog-form{gap:16px;margin-top:20px;display:grid}.password-dialog-form label{color:var(--ink-soft);gap:8px;font-size:.85rem;display:grid}.password-dialog-error{color:var(--danger,#b53e38);margin:0;font-size:.85rem;line-height:1.6}.ui-disclosure>.ui-disclosure__summary{cursor:pointer;justify-content:flex-start;align-items:center;gap:6px;max-inline-size:100%;list-style:none;display:inline-flex}.ui-disclosure>.ui-disclosure__summary::-webkit-details-marker{display:none}.ui-disclosure>.ui-disclosure__summary::marker{content:""}.ui-disclosure__label{overflow-wrap:anywhere;min-width:0}.ui-disclosure[open]>.ui-disclosure__summary>.select-chevron{--ui-chevron-rotation:180deg}.ui-disclosure>.ui-disclosure__summary:focus-visible{outline:2px solid var(--accent,var(--sage));outline-offset:3px;border-radius:3px}@supports selector(::details-content) and (transition-behavior:allow-discrete){.ui-disclosure::details-content{opacity:0;transition:grid-template-rows .18s ease, opacity .18s ease, content-visibility .18s allow-discrete;grid-template-rows:0fr;display:grid}.ui-disclosure[open]::details-content{opacity:1;grid-template-rows:1fr}.ui-disclosure>.ui-disclosure__content{min-width:0;min-height:0;overflow:hidden}}@media (prefers-reduced-motion:reduce){.ui-disclosure::details-content{transition:none}}.ui-text-dropdown{height:28px;min-height:28px;color:var(--ink-soft);box-shadow:none;font:inherit;white-space:nowrap;cursor:pointer;appearance:none;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:2px 8px;transition:background-color .16s,color .16s;display:inline-flex}.ui-text-dropdown:not(:disabled):hover,.ui-text-dropdown:not(:disabled):active,.ui-text-dropdown:not(:disabled):focus-visible,.ui-text-dropdown[aria-expanded=true]{background:var(--neutral-hover);color:var(--sage-dark)}.ui-text-dropdown:disabled{color:var(--muted);cursor:default}.ui-text-dropdown:focus:not(:focus-visible){outline:none}.ui-text-dropdown:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.ui-text-dropdown-value{text-align:start;min-width:0}.ui-text-dropdown-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-text-dropdown .ui-text-dropdown-chevron{width:14px;height:14px}.ui-text-dropdown-popup .ant-dropdown-menu{border:1px solid var(--line-soft);box-shadow:0 12px 32px var(--modal-shadow);border-radius:12px;padding:6px}.ui-text-dropdown-popup .ant-dropdown-menu-item{border-radius:7px;padding:8px 12px}.ui-text-dropdown-popup .ant-dropdown-menu-item-selected{font-weight:600}@media (prefers-reduced-motion:reduce){.ui-text-dropdown{transition:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2f5f1;--paper-deep:#e9eee8;--paper-raised:#fafcf9db;--ink:#29332d;--ink-soft:#536059;--muted:#7c8881;--muted-light:#a4ada7;--sage:#647b6a;--sage-dark:#4f6556;--sage-soft:#dde6de;--accent-rgb:100 123 106;--line:#4b605240;--line-soft:#4b60521f;--shadow:0 24px 70px #2d3e3317;--page-glow-primary:#ffffffb8;--page-glow-secondary:#dde6de61;--page-grain:#5e6f641c;--surface-highlight:#ffffff9e;--deep-shadow:#2d3e3324;--modal-scrim:#29332d24;--modal-surface:#fafcf9;--modal-border:#4b605229;--modal-shadow:#2d3e332e;--neutral-hover:#29332d11;--control-off:#4b605229;--control-knob:#fff;--on-accent:#f8faf8;--solid-surface:#fafcf9;--marker:#d4a62c;--header-height:82px;--content-max:820px;--ease:cubic-bezier(.22, 1, .36, 1)}html[data-accent=amber]{--paper:#f7f3ee;--paper-deep:#eee7de;--paper-raised:#fdfaf6e6;--ink:#3a3128;--ink-soft:#6a5b4e;--muted:#9a846f;--muted-light:#bea995;--sage:#c78755;--sage-dark:#af6d40;--sage-soft:#f2e1d2;--accent-rgb:199 135 85;--line:#9c68433d;--line-soft:#9c68431c;--shadow:0 24px 70px #563a2213;--page-glow-primary:#ffffffbd;--page-glow-secondary:#f2e1d26b;--page-grain:#9271551a;--deep-shadow:#563a2221;--modal-scrim:#3a312824;--modal-surface:#fdfaf6;--modal-border:#9c684326;--modal-shadow:#563a222b;--neutral-hover:#3a31280f;--control-off:#9c684326;--solid-surface:#fdfaf6;--marker:#d39a27}html[data-accent=coast]{--paper:#f3f6f7;--paper-deep:#e7ecef;--paper-raised:#fafcfce0;--ink:#293438;--ink-soft:#58666b;--muted:#829095;--muted-light:#abb5b9;--sage:#708b96;--sage-dark:#556f79;--sage-soft:#dde8eb;--accent-rgb:112 139 150;--line:#4e68723d;--line-soft:#4e68721c;--shadow:0 24px 70px #30404613;--page-glow-primary:#ffffffba;--page-glow-secondary:#dde8eb61;--page-grain:#667b831a;--deep-shadow:#30404621;--modal-scrim:#29343824;--modal-surface:#fafcfc;--modal-border:#4e687226;--modal-shadow:#3040462b;--neutral-hover:#2934380f;--control-off:#4e687226;--solid-surface:#fafcfc;--marker:#d2a631}html[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0c1426;--paper-deep:#070d1b;--paper-raised:#141f39eb;--ink:#eef3ff;--ink-soft:#c7d2ec;--muted:#94a3c4;--muted-light:#6c7a9a;--sage:#7898f3;--sage-dark:#adc0ff;--sage-soft:#1e2c52;--accent-rgb:120 152 243;--line:#adc0ff38;--line-soft:#adc0ff1c;--shadow:0 24px 70px #0000005c;--page-glow-primary:#90a9ff0d;--page-glow-secondary:#4564d333;--page-grain:#beccff0f;--surface-highlight:#beccff13;--deep-shadow:#0000007a;--modal-scrim:#030712a8;--modal-surface:#121d35;--modal-border:#adc0ff30;--modal-shadow:#0000008f;--neutral-hover:#adc0ff17;--control-off:#adc0ff30;--control-knob:#eef3ff;--on-accent:#0c1734;--solid-surface:#151f3a;--marker:#f1c75a}*{box-sizing:border-box}.platform-avatar{--platform-avatar-size:30px;width:var(--platform-avatar-size);height:var(--platform-avatar-size);flex:0 0 var(--platform-avatar-size);color:var(--solid-surface,#fafcf9);background:var(--sage,#647b6a);border-radius:50%;place-items:center;display:grid;overflow:hidden}.platform-avatar--mini{--platform-avatar-size:30px}.platform-avatar--header{--platform-avatar-size:36px}.platform-avatar--profile{--platform-avatar-size:88px}.platform-avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.platform-avatar svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:56%;height:56%}.platform-avatar--profile svg{width:52%;height:52%}.platform-back-link,.sidebar-back{min-width:0;color:var(--ink,var(--text,#314047));cursor:pointer;font:inherit;letter-spacing:-.02em;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:14px;font-weight:760;line-height:1;text-decoration:none;display:inline-flex}.platform-back-link:hover,.platform-back-link:focus-visible,.sidebar-back:hover,.sidebar-back:focus-visible{color:var(--ink,var(--text,#314047));background:0 0;outline:0}.platform-back-link__mark,.sidebar-back-mark{width:32px;height:32px;color:var(--sage-dark,var(--accent,#647b6a));border-radius:10px;flex:0 0 32px;place-items:center;transition:color .16s,background .16s;display:grid}.platform-back-link:hover .platform-back-link__mark,.platform-back-link:focus-visible .platform-back-link__mark,.sidebar-back:hover .sidebar-back-mark,.sidebar-back:focus-visible .sidebar-back-mark{color:var(--sage-dark,var(--accent,#647b6a));background:rgb(var(--accent-rgb,100 123 106) / .065)}.platform-back-link__icon,.sidebar-back-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.platform-back-link__label,.sidebar-back>.sidebar-brand-text{white-space:nowrap;word-break:keep-all;flex:none;min-width:max-content}.course-search-shell{min-width:0;position:relative}.course-search-shell>svg{fill:none;width:16px;height:16px;stroke:var(--muted);stroke-width:1.7px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.course-search-input{border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .035);width:100%;height:42px;color:var(--ink);border-radius:11px;outline:0;padding:0 12px 0 34px;font-size:.82rem;transition:border-color .16s,background .16s,box-shadow .16s}.course-search-input::placeholder{color:var(--muted-light)}.course-search-input:focus{border-color:rgb(var(--accent-rgb) / .42);background:var(--solid-surface);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .055)}@media (width<=520px){.course-search-input{height:40px}}@media (height<=720px) and (width<=700px){.course-search-input{height:36px}}.ui-select-dropdown.ant-select-dropdown{border:1px solid var(--line-soft);background:var(--modal-surface);box-shadow:0 18px 48px rgb(var(--accent-rgb) / .12);border-radius:14px;padding:6px}.ui-select-dropdown .ant-select-item{border-radius:8px}.course-select-control{min-width:0;position:relative}.course-select-trigger{border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .025);width:100%;height:42px;color:var(--muted-light);cursor:pointer;text-align:left;border-radius:11px;align-items:center;padding:0 38px 0 11px;font-size:.78rem;transition:border-color .16s,background .16s,box-shadow .16s,color .16s;display:flex;position:relative}.course-toolbar>.course-select-control .course-select-trigger{background:rgb(var(--accent-rgb) / .035);color:var(--ink-soft);font-size:.8rem}.course-select-indicator{color:var(--muted);pointer-events:none;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.course-select-trigger:hover{border-color:rgb(var(--accent-rgb) / .28);color:var(--ink-soft)}.course-select-trigger:focus-visible,.course-select-control.is-open .course-select-trigger{border-color:rgb(var(--accent-rgb) / .42);background:var(--solid-surface);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .055);outline:0}.course-select-control.has-value .course-select-trigger{color:var(--ink-soft);padding-right:42px}.course-select-control.has-value .course-select-indicator{display:none}.course-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.course-select-clear{z-index:14;background:rgb(var(--accent-rgb) / .12);width:28px;height:28px;color:var(--muted);border:0;border-radius:50%;place-items:center;padding:0;transition:background .15s,color .15s;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.course-select-clear:hover{background:rgb(var(--accent-rgb) / .2);color:var(--ink)}.course-select-clear svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;width:14px;height:14px}.course-select-menu{z-index:40;border:1px solid var(--line-soft);background:var(--modal-surface);max-height:320px;box-shadow:0 18px 48px rgb(var(--accent-rgb) / .12);-webkit-backdrop-filter:blur(18px);scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .28) transparent;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.course-select-menu[hidden]{display:none}.course-select-option{width:100%;min-height:38px;color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;padding:8px 10px;font-size:.78rem;line-height:1.4;display:flex}.course-select-option:hover,.course-select-option:focus-visible{background:rgb(var(--accent-rgb) / .07);color:var(--ink);outline:0}.course-select-option.is-selected{background:var(--sage-soft);color:var(--sage-dark);font-weight:650}.course-select-empty{color:var(--muted-light);padding:10px;font-size:.75rem;display:block}.course-select-control.is-compact{min-width:112px}.course-select-control.is-compact .course-select-trigger{background:0 0;height:34px;padding-left:10px;font-size:.72rem}.course-select-control.is-compact .course-select-menu{min-width:132px;left:auto;right:0}@media (width<=520px){.course-select-trigger{height:40px}.course-select-control.is-compact{min-width:100px}.course-select-control.is-compact .course-select-trigger{height:32px}}@media (width<=390px){.course-select-trigger{font-size:.71rem}.course-select-control.is-compact{min-width:94px}}@media (height<=720px) and (width<=700px){.course-select-trigger{height:36px}}.ui-curriculum-select{width:100%;min-width:0}.ui-curriculum-select-dropdown{max-width:calc(100vw - 24px)}@media (width<=640px){.ui-curriculum-select-dropdown{max-width:calc(100% - 24px);width:calc(100% - 24px)!important;min-width:0!important;inset-inline:auto 12px!important}.ui-curriculum-select-dropdown .ant-select-item-option-content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.signed-amount{font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;text-align:right;grid-template-columns:1ch max-content;align-items:baseline;column-gap:.16em;display:inline-grid}.signed-amount__sign{text-align:center}.ui-button.ui-button--text,.ui-button.ui-button--text:is(:hover,:active,:focus-visible):not(:disabled){box-shadow:none;min-height:32px;color:var(--sage-dark);background:0 0;border:0;border-radius:0;padding-inline:0}.ui-button.ui-button--text:is(:hover,:focus-visible):not(:disabled){text-underline-offset:3px;text-decoration:underline}.ui-button{border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .035);min-height:42px;color:var(--ink-soft);cursor:pointer;font:inherit;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.82rem;line-height:1.25;text-decoration:none;transition:border-color .16s,background .16s,box-shadow .16s,color .16s;display:inline-flex}.ui-button:hover:not(:disabled){border-color:rgb(var(--accent-rgb) / .28);background:rgb(var(--accent-rgb) / .055);color:var(--ink)}.ui-button:active:not(:disabled){border-color:rgb(var(--accent-rgb) / .42);background:rgb(var(--accent-rgb) / .09)}.ui-button:focus-visible{border-color:rgb(var(--accent-rgb) / .42);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .055);outline:0}.ui-button:not(.ui-button--primary):focus-visible{background:var(--solid-surface);color:var(--ink)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{border-color:var(--sage);background:var(--sage);color:var(--on-accent)}.ui-button--primary:is(:hover,:active):not(:disabled){border-color:var(--sage-dark);background:var(--sage-dark);color:var(--on-accent)}.ui-button--ghost{background:0 0;border-color:#0000}.ui-button.ui-button--ghost:hover:not(:disabled){background:rgb(var(--accent-rgb) / .08);color:var(--sage-dark);border-color:#0000}.ui-button.ui-button--ghost:active:not(:disabled){background:rgb(var(--accent-rgb) / .12);color:var(--sage-dark);border-color:#0000}.ui-button.ui-icon-button{flex:0 0 42px;width:42px;height:42px;min-height:42px;padding:0}.ui-icon-button>svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:fill .16s,stroke .16s}.ui-button.ui-icon-button[aria-pressed=true]{color:var(--sage-dark);font-weight:600}.ui-icon-button[aria-pressed=true]>svg{fill:rgb(var(--accent-rgb) / .24);stroke-width:2.1px}@media (prefers-reduced-motion:reduce){.ui-icon-button>svg{transition:none}}.ui-input{box-sizing:border-box;border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .035);width:100%;min-width:0;min-height:42px;color:var(--ink);font:inherit;border-radius:11px;outline:0;padding:10px 12px;font-size:.82rem;line-height:1.5;transition:border-color .16s,background .16s,box-shadow .16s}.ui-input::placeholder{color:var(--muted-light)}.ui-input:focus{border-color:rgb(var(--accent-rgb) / .42);background:var(--solid-surface);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .055)}.ui-input:disabled{opacity:.55;cursor:not-allowed}textarea.ui-input{resize:vertical}.ui-input[type=file]::file-selector-button{border:1px solid var(--line-soft);color:var(--ink-soft);background:var(--solid-surface);cursor:pointer;border-radius:8px;margin-right:12px;padding:7px 12px}.ui-required{color:var(--sage-dark,var(--accent,#536b5c));margin-left:4px;font-weight:650}.ui-required-hint{color:var(--muted);margin:0;font-size:.76rem}.ui-checkbox{vertical-align:middle;min-width:0;color:var(--ink-soft,var(--text,#314047));font:inherit;cursor:pointer;align-items:flex-start;gap:10px;font-size:.83rem;line-height:1.65;display:inline-flex;position:relative}.ui-checkbox>input{width:18px;height:18px;font:inherit;opacity:0;cursor:inherit;margin:0;position:absolute;top:max(0px,.5lh - 9px);left:0}.ui-checkbox__mark{box-sizing:border-box;border:1px solid var(--line-soft,#cdd5d0);background:rgb(var(--accent-rgb,100 123 106) / .035);border-radius:5px;flex:0 0 18px;place-items:center;width:18px;height:18px;margin-top:max(0px,.5lh - 9px);transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.ui-checkbox:hover .ui-checkbox__mark{border-color:rgb(var(--accent-rgb,100 123 106) / .42)}.ui-checkbox>input:checked+.ui-checkbox__mark,.ui-checkbox>input:indeterminate+.ui-checkbox__mark{background:var(--sage,var(--accent,#647b6a));border-color:var(--sage,var(--accent,#647b6a))}.ui-checkbox>input:checked+.ui-checkbox__mark:after{content:"";border-left:1.7px solid var(--on-accent,#fff);border-bottom:1.7px solid var(--on-accent,#fff);width:8px;height:4px;transform:translateY(-1px)rotate(-45deg)}.ui-checkbox>input:indeterminate+.ui-checkbox__mark:after{content:"";background:var(--on-accent,#fff);border:0;width:8px;height:2px;transform:none}.ui-checkbox>input:focus-visible+.ui-checkbox__mark{box-shadow:0 0 0 3px rgb(var(--accent-rgb,100 123 106) / .12)}.ui-checkbox.is-disabled{cursor:not-allowed;opacity:.55}.ui-checkbox__label{min-width:0}.ui-notification.ui-notification{color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}.ui-notification.ui-notification.ui-notification{border:1px solid var(--modal-border);background:var(--modal-surface);max-width:min(600px,100vw - 32px);color:var(--ink);box-shadow:0 8px 28px var(--deep-shadow), inset 0 1px 0 var(--surface-highlight);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:normal;overflow-wrap:anywhere;text-align:start;border-radius:12px;padding:12px 16px}.ui-notification.ui-notification.ui-notification .ui-notification__icon{color:var(--sage);font-size:17px}.ui-notification .ui-notification__icon .anticon.anticon{color:inherit;font-size:inherit}.ui-notification.ui-notification.ui-notification .ant-message-notice-icon-error{color:#b85c54}.ui-notification.ui-notification.ui-notification .ant-message-notice-icon-warning{color:#a57a29}html[data-appearance=dark] .ui-notification.ui-notification.ui-notification .ant-message-notice-icon-error{color:#ed958c}html[data-appearance=dark] .ui-notification.ui-notification.ui-notification .ant-message-notice-icon-warning{color:#e1bd70}.ui-notification-content{white-space:normal;overflow-wrap:anywhere;text-align:start;align-items:center;gap:12px;max-width:min(560px,100vw - 88px);display:inline-flex}.ui-notification-content>span{min-width:0}.ui-notification-content .ui-button{min-height:28px;padding:0 8px}@media (width<=520px){.ui-button{min-height:40px;padding-inline:10px}.ui-input{min-height:40px}}@media (height<=720px) and (width<=700px){.ui-button{min-height:36px}}@media (prefers-reduced-motion:reduce){.ui-button,.ui-input,.ui-checkbox__mark{transition:none}}.ui-favorite{--favorite-yellow:#e8b92b;width:34px;height:34px;color:var(--muted,#87938c);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 34px;place-items:center;padding:0;line-height:1;transition:color .15s,background .15s,transform .15s;display:inline-grid}.ui-favorite svg{fill:#0000;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;width:20px;height:20px;transition:fill .15s}.ui-favorite:hover{color:var(--favorite-yellow);background:rgb(var(--accent-rgb) / .08)}.ui-favorite:active{transform:scale(.92)}.ui-favorite[aria-pressed=true]{color:var(--favorite-yellow)}.ui-favorite[aria-pressed=true] svg{fill:currentColor}.ui-favorite:focus-visible{outline:2px solid var(--favorite-yellow);outline-offset:2px}.ui-favorite:disabled{cursor:wait}.ui-favorite.is-changing svg{animation:.32s ui-favorite-pop}.ui-button.ui-icon-button--labeled,.ui-favorite.ui-favorite--labeled{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:8px;width:auto;height:42px;padding:0 13px;display:inline-flex}.ui-favorite--labeled{font:inherit;font-size:.82rem;line-height:1.25}.ui-icon-button--labeled>svg,.ui-favorite--labeled>svg{flex-shrink:0}@keyframes ui-favorite-pop{0%,to{transform:scale(1)}45%{transform:scale(1.25)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.ui-favorite,.ui-favorite svg{transition:none;animation:none!important}}.ui-segmented{border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .025);border-radius:11px;align-items:center;gap:3px;padding:3px;display:inline-flex}.ui-segmented button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0 11px;font-size:.72rem;transition:color .15s,background .15s;display:grid}.ui-segmented-label,.ui-segmented-measure{grid-area:1/1}.ui-segmented-measure{visibility:hidden;font-weight:650}.ui-segmented button:hover{color:var(--ink);background:rgb(var(--accent-rgb) / .055)}.ui-segmented button.is-active{background:rgb(var(--accent-rgb) / .105);color:var(--sage-dark);font-weight:650}html.modal-open:before{content:"";z-index:96;pointer-events:none;background:var(--modal-scrim);-webkit-backdrop-filter:blur(3px);will-change:opacity;animation:.18s both modal-scrim-in;position:fixed;inset:0}html.modal-closing:before{animation:.18s both modal-scrim-out}.modal-layer{z-index:100;-webkit-backdrop-filter:none;background:0 0;place-items:center;width:100vw;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden auto}.modal-layer[hidden]{display:none}body>.modal-layer~.modal-layer{background:var(--modal-scrim);-webkit-backdrop-filter:blur(3px)}.modal-layer.is-opening{animation:.18s ease-out both modal-layer-in}.modal-layer.is-opening .modal-card{animation:modal-card-in .24s var(--ease) both}.modal-layer.is-closing{pointer-events:none;animation:.18s ease-in both modal-layer-out}.modal-layer.is-closing .modal-card{animation:.18s ease-in both modal-card-out}.modal-card{border:1px solid var(--modal-border);background:var(--modal-surface);width:min(100%,480px);min-height:0;max-height:calc(100svh - 48px);box-shadow:0 28px 90px var(--modal-shadow);color:var(--ink);overscroll-behavior:contain;border-radius:24px;flex-direction:column;padding:30px;display:flex;position:relative;overflow:hidden}.modal-close{width:40px;height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 40px;place-items:center;margin-left:auto;padding:0;transition:color .16s,background .16s;display:grid}.modal-card[tabindex="-1"]:focus{outline:none}.modal-close:hover,.modal-close:focus-visible{background:var(--neutral-hover);color:var(--ink)}.modal-close:focus-visible{outline:0}.modal-close svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;width:20px;height:20px}.modal-header{flex:none;align-items:center;gap:8px;display:flex}.modal-header--with-navigation .modal-title{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-width:0;min-height:0;margin:20px -4px 0;padding:4px;overflow:auto}.modal-body>:first-child{margin-top:0}.modal-body>:last-child{margin-bottom:0}.modal-scroll{scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .24) transparent}@supports selector(::-webkit-scrollbar){.modal-scroll{scrollbar-width:auto;scrollbar-color:auto}}.modal-scroll::-webkit-scrollbar{width:6px;height:6px}.modal-scroll::-webkit-scrollbar-track{background:0 0}.modal-scroll::-webkit-scrollbar-corner{background:0 0}.modal-scroll::-webkit-scrollbar-thumb{background:rgb(var(--accent-rgb) / .24);border-radius:999px;min-height:32px}.modal-scroll::-webkit-scrollbar-thumb:hover{background:rgb(var(--accent-rgb) / .4)}.modal-scroll::-webkit-scrollbar-button{width:0;height:0;display:none}.modal-title{letter-spacing:-.018em;min-width:0;margin:0;font-family:inherit;font-size:1.35rem;font-weight:650;line-height:1.2}.modal-footer{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;display:flex}.modal-footer>:is(button,a){white-space:normal;min-width:0;max-width:100%}@keyframes modal-layer-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes modal-layer-out{0%{opacity:1}to{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-card-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@media (width<=520px){.modal-layer{padding:16px}.modal-card{border-radius:21px;max-height:calc(100svh - 32px);padding:26px 20px 22px}.modal-title{font-size:1.65rem}}@media (prefers-reduced-motion:reduce){html.modal-open:before,.modal-layer,.modal-card{animation:none!important}}@keyframes platform-loading-spin{to{transform:rotate(360deg)}}@keyframes platform-loading-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-state .loading-spinner{animation:none}}.scroll-fade.is-scrolled{-webkit-mask-image:linear-gradient(#0000 0,#000 50px);mask-image:linear-gradient(#0000 0,#000 50px);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}html{background:var(--paper);scroll-behavior:smooth;scrollbar-color:rgb(var(--accent-rgb) / .28) var(--paper);min-width:320px;min-height:100%}html::-webkit-scrollbar{background:var(--paper);width:12px}html::-webkit-scrollbar-track{background:var(--paper)}html::-webkit-scrollbar-thumb{border:3px solid var(--paper);background:rgb(var(--accent-rgb) / .28);background-clip:padding-box;border-radius:999px}body{min-width:320px;min-height:100svh;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 18% 16%, var(--page-glow-primary), transparent 26%), radial-gradient(circle at 78% 82%, var(--page-glow-secondary), transparent 28%), radial-gradient(var(--page-grain) .45px, transparent .45px);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:auto,auto,5px 5px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}svg{display:block}.topbar{width:min(1320px,100% - 40px);min-height:var(--header-height);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:0 auto;display:grid}.brand{color:var(--ink);letter-spacing:-.02em;justify-self:start;align-items:center;gap:10px;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{width:28px;height:28px;color:var(--sage-dark);place-items:center;display:grid}.primary-nav{justify-self:center;align-items:center;gap:6px;display:flex}.nav-button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 13px;font-size:14px;transition:color .18s,background .18s}.nav-button:hover{color:var(--ink);background:rgb(var(--accent-rgb) / .08)}.top-actions{justify-self:end;align-items:center;gap:5px;display:flex}.icon-button,.user-chip{cursor:pointer;border:0;border-radius:12px;min-width:40px;height:40px}.icon-button{color:inherit;background:0 0;justify-content:center;align-items:center;transition:color .18s,background .18s;display:inline-flex;position:relative}.icon-button:hover{color:var(--sage-dark);background:rgb(var(--accent-rgb) / .08)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.filled-ui-icon{fill:currentColor!important;stroke:none!important}.unified-stroke-icon{fill:none!important;stroke:currentColor!important;stroke-width:4.15px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.user-chip{color:inherit;box-shadow:none;background:0 0;align-items:center;gap:9px;padding:4px 9px 4px 5px;font-size:14px;text-decoration:none;transition:background .18s;display:inline-flex}.user-chip:hover{background:rgb(var(--accent-rgb) / .08)}.user-chip.is-active,.user-chip.is-active:hover{background:var(--sage-soft);color:var(--sage-dark);font-weight:650}.hero-shell{min-height:calc(100svh - var(--header-height));isolation:isolate;place-items:center;padding:56px 24px 66px;display:grid;position:relative}.hero{width:min(100%, var(--content-max));position:relative;transform:translateY(-1.5vh)}.hero-copy{z-index:2;position:relative}.eyebrow{color:var(--sage-dark);letter-spacing:.09em;align-items:center;margin:0 0 18px;font-size:1.5rem;font-weight:650;display:inline-flex}.typewriter{letter-spacing:-.048em;text-wrap:balance;max-width:760px;min-height:2.25em;margin:0;font-family:ui-serif,Songti SC,Noto Serif CJK SC,serif;font-size:clamp(2.1rem,3.15vw,2.8rem);font-weight:500;line-height:1.1}.js .typewriter:after{content:"";background:var(--sage);vertical-align:-.16em;width:1px;height:.82em;margin-left:.11em;animation:1.05s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.prompt-wrap{z-index:3;margin-top:32px;position:relative}.input-shell{border:1px solid var(--line);background:var(--paper-raised);min-height:160px;box-shadow:0 4px 20px rgb(var(--accent-rgb) / .045);-webkit-backdrop-filter:blur(18px);border-radius:24px 22px 26px 20px;grid-template-rows:56px 46px;grid-template-columns:minmax(0,1fr);align-content:space-between;align-items:stretch;row-gap:0;padding:10px 14px 14px 24px;transition:border-color .22s,box-shadow .26s;display:grid;position:relative;overflow:hidden}.input-shell:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(110deg, var(--surface-highlight), transparent 34%, rgb(var(--accent-rgb) / .025));position:absolute;inset:0}.input-shell:hover{border-color:rgb(var(--accent-rgb) / .35)}.input-shell:focus-within{border-color:rgb(var(--accent-rgb) / .52);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .06), 0 6px 24px rgb(var(--accent-rgb) / .07)}.text-field{min-width:0;height:56px;position:relative}.prompt-input{letter-spacing:.005em;white-space:nowrap;z-index:2;width:100%;min-width:0;height:100%;color:var(--ink);appearance:none;background:0 0;border:0;outline:0;padding:0 6px 0 4px;font-size:1.02rem;line-height:56px;position:absolute;inset:0}.prompt-input::selection{background:rgb(var(--accent-rgb) / .24);color:var(--ink);-webkit-text-fill-color:var(--ink)}.prompt-input::placeholder{color:var(--muted-light);-webkit-text-fill-color:var(--muted-light);opacity:1}.prompt-input:focus-visible{outline:0}.input-actions{z-index:4;justify-content:flex-end;align-self:end;align-items:center;gap:12px;min-width:0;display:flex;position:relative}.send-button{z-index:4;background:var(--sage);width:46px;height:46px;color:var(--on-accent);box-shadow:none;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:background .18s,opacity .18s;display:grid;position:relative}.send-button:hover:not(:disabled){background:var(--sage-dark)}.send-button:active:not(:disabled){transform:translateY(0)scale(.96)}.send-button:disabled{cursor:default;opacity:.38;box-shadow:none}.send-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.send-button.is-busy svg{animation:.9s ease-in-out infinite alternate send-breathe}@keyframes send-breathe{to{opacity:.55;transform:translateY(-3px)}}.response-status{min-height:48px;color:var(--ink-soft);align-items:flex-start;padding:12px 7px 0;font-size:.84rem;line-height:1.55;display:flex}.thinking,.chat-thinking{align-items:center;min-height:26px;display:inline-flex}.thinking-text,.chat-thinking-text{letter-spacing:-.01em;white-space:nowrap;color:#7d7d7d;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,#7d7d7d 0% 32%,#a4a4a4 45% 57%,#7d7d7d 70% 100%);background-position:100% 0;background-repeat:no-repeat;background-size:230% 100%;-webkit-background-clip:text;background-clip:text;font-size:.88rem;font-weight:500;animation:1.55s linear infinite thinking-text-sweep;display:inline-block}html[data-appearance=dark] .thinking-text,html[data-appearance=dark] .chat-thinking-text{background-image:linear-gradient(90deg,#929292 0% 32%,#b4b4b4 45% 57%,#929292 70% 100%)}@keyframes thinking-text-sweep{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.thinking-text,.chat-thinking-text{color:#7d7d7d;-webkit-text-fill-color:currentColor;background:0 0;animation:none}}.notification-list,.settings-list{margin-top:24px}.notification-item{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:17px 0;display:grid;position:relative}.notification-copy h3{margin:0 0 5px;font-size:.9rem;font-weight:650}.notification-copy p{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.55}.notification-time{color:var(--muted-light);white-space:nowrap;padding-top:2px;font-size:.7rem}.setting-row.setting-row-theme{border-bottom:0;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:14px}.theme-accent-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:1px solid var(--line-soft);min-width:0;min-height:40px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.78rem;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.theme-option:hover{border-color:var(--line);background:rgb(var(--accent-rgb) / .055);color:var(--ink)}.theme-option[aria-checked=true]{border-color:rgb(var(--accent-rgb) / .38);background:var(--sage-soft);color:var(--sage-dark);font-weight:650}.theme-section{gap:8px;display:grid}.theme-option--palette{justify-content:flex-start}.theme-swatch{background:var(--swatch);border:1px solid #252a271f;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 2px #ffffff47}.theme-swatch--forest{--swatch:#647b6a}.theme-swatch--amber{--swatch:#c78755}.theme-swatch--coast{--swatch:#708b96}.theme-swatch--night{--swatch:#5677db}.setting-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 0;display:grid}.setting-copy h3{margin:0 0 5px;font-size:.9rem;font-weight:650}.setting-copy p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.no-script{z-index:60;border:1px solid var(--line);background:var(--solid-surface);max-width:320px;color:var(--ink);box-shadow:var(--shadow);border-radius:14px;padding:12px 16px;font-size:.85rem;position:fixed;bottom:16px;right:16px}:where(button,a):focus-visible{outline:2px solid var(--sage);outline-offset:3px}.js body.is-ready .eyebrow,.js body.is-ready .typewriter,.js body.is-ready .prompt-wrap{animation:reveal-up .7s var(--ease) both}.js body.is-ready .typewriter{animation-delay:70ms}.js body.is-ready .prompt-wrap{animation-delay:.15s}@keyframes reveal-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.topbar{grid-template-columns:1fr auto}.primary-nav{display:none}}@media (width<=900px){.hero-shell{place-items:start center;padding:56px 18px 52px}.hero{transform:none}.typewriter{max-width:650px;min-height:2.35em;font-size:clamp(1.95rem,5.6vw,2.5rem)}.input-shell{grid-template-rows:54px 44px;min-height:148px;padding:9px 12px 12px 18px}.text-field{height:54px}.prompt-input{line-height:54px}.eyebrow{font-size:1.2rem}}@media (width<=760px){:root{--header-height:68px}.topbar{width:min(100% - 24px,1260px);min-height:var(--header-height);gap:8px}.top-actions{gap:1px}.user-chip{padding-right:6px}.user-chip>span:last-child{display:none}}@media (width<=520px){.hero-shell{padding-inline:16px;padding-top:48px}.eyebrow{margin-bottom:14px;font-size:1.15rem}.typewriter{min-height:2.55em;font-size:clamp(1.75rem,7.7vw,2.15rem);line-height:1.13}.prompt-wrap{margin-top:22px}.input-shell{border-radius:20px 19px 22px 18px;grid-template-rows:52px 44px;min-height:144px;padding:8px 10px 10px 16px}.text-field{height:52px}.prompt-input{padding-inline:3px;font-size:.93rem;line-height:52px}.send-button{width:44px;height:44px}.response-status{padding-inline:3px;font-size:.79rem}.notification-item{grid-template-columns:minmax(0,1fr) auto;gap:12px}.notification-time{padding-top:0}.setting-row{gap:14px}.theme-option{min-height:39px;padding-inline:7px;font-size:.74rem}.theme-accent-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=430px){.brand-mark{display:none}}@media (height<=650px) and (width>=901px){.hero-shell{place-items:start center;padding-top:70px}.typewriter{min-height:1.3em}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--sidebar-width:232px}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100svh;display:grid}.sidebar{z-index:30;-webkit-backdrop-filter:none;background:0 0;border-right:0;flex-direction:column;height:100svh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.sidebar .brand{border-radius:12px;justify-self:auto;width:fit-content;min-height:40px;padding:4px 8px}.sidebar-account-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:14px;padding:8px 2px 16px;display:grid}.sidebar-account-row .user-chip{border-radius:12px;justify-content:flex-start;width:100%;min-width:0;min-height:42px;padding:0 11px;overflow:hidden}.sidebar-account-row .user-chip.is-active,.sidebar-account-row .user-chip.is-active:hover{background:var(--sage-soft);color:var(--sage-dark);font-weight:650}.sidebar-account-row .nickname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-actions{align-items:center;gap:1px;display:inline-flex}.sidebar-actions .icon-button{border-radius:10px;width:36px;min-width:36px;height:36px}.sidebar-actions .icon-button svg{width:19px;height:19px}.sidebar-nav{gap:4px;margin-top:16px;display:grid}.side-nav-item{width:100%;min-height:42px;color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 11px;font-size:.88rem;transition:color .16s,background .16s;display:grid}.side-nav-item:hover{color:var(--ink);background:rgb(var(--accent-rgb) / .075)}.side-nav-item.is-active{color:var(--sage-dark);background:var(--sage-soft);font-weight:650}.side-nav-item svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.side-nav-badge{background:rgb(var(--accent-rgb) / .1);min-width:20px;height:20px;color:var(--sage-dark);border-radius:999px;place-items:center;padding:0 6px;font-size:.68rem;font-weight:700;display:grid}.app-main{min-width:0;min-height:100svh}.app-view[hidden]{display:none!important}#home-view .hero-shell{min-height:100svh}.sidebar-stage{flex:auto;min-height:0;position:relative;overflow:visible}.sidebar-layer{will-change:opacity, transform;flex-direction:column;min-width:0;display:flex;position:absolute;inset:0}.sidebar-layer:not(.is-active){pointer-events:none}.notice-sidebar-content{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:16px}.notice-sidebar-group{gap:4px;display:grid}.sidebar-section-label{color:var(--muted);letter-spacing:.08em;margin:20px 11px 8px;font-size:.7rem;font-weight:650}.sidebar-section-label--separated{border-top:1px solid var(--line-soft);margin-top:12px;margin-left:2px;margin-right:2px;padding:18px 9px 0}.notice-mode-list+.notice-filter-group>.sidebar-section-label--separated{margin-top:0;padding-top:18px}.notice-sidebar-filter{grid-template-columns:minmax(0,1fr) auto}.notice-sidebar-filter .notice-filter-count{justify-self:end}.sidebar-layer{opacity:0;transition:opacity .22s ease, transform .3s var(--ease)}.sidebar-layer-home{transform:translate(-12px)}.sidebar-layer-notice,.sidebar-layer-profile{transform:translate(12px)}.sidebar-layer.is-active{opacity:1;transform:translate(0)}.sidebar-layer-home .side-nav-item,.sidebar-layer-notice .side-nav-item,.sidebar-layer-profile .side-nav-item,.sidebar-layer .sidebar-account-row,.sidebar-layer .brand{transition-property:color,background,opacity,transform}.profile-sidebar-content{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:16px}.profile-sidebar-nav{gap:4px;margin-top:0;display:grid}.profile-sidebar-nav .side-nav-item svg{flex:none}.public-notice-view{min-height:100svh;padding:22px}.notice-workspace{border:1px solid var(--line);background:var(--paper-raised);min-width:0;height:calc(100svh - 44px);box-shadow:0 14px 42px rgb(var(--accent-rgb) / .075);-webkit-backdrop-filter:blur(18px);border-radius:22px;grid-template-columns:minmax(330px,390px) minmax(360px,1fr);display:grid;overflow:hidden}.notice-source-panel,.notice-list-panel,.notice-detail-panel{min-width:0;min-height:0}.notice-source-panel{border-right:1px solid var(--line-soft);padding:24px 14px;overflow:auto}.notice-panel-eyebrow{color:var(--muted);letter-spacing:.08em;margin:0 10px 16px;font-size:.72rem;font-weight:650}.notice-filter-group{gap:3px;display:grid}.notice-filter-button{width:100%;min-height:39px;color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;font-size:.82rem;transition:color .15s,background .15s;display:grid}.notice-filter-button:hover{color:var(--ink);background:rgb(var(--accent-rgb) / .06)}.notice-filter-button.is-active{color:var(--sage-dark);background:var(--sage-soft);font-weight:650}.notice-filter-count{color:var(--muted-light);font-variant-numeric:tabular-nums;font-size:.7rem}.notice-list-panel{border-right:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .018);flex-direction:column;display:flex}.notice-list-header{border-bottom:0;flex:none;padding:22px 20px 15px}.notice-read-all{min-height:34px;color:var(--sage-dark);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;padding:0 10px;font-size:.72rem}.notice-read-all:hover{background:rgb(var(--accent-rgb) / .07)}.notice-search-shell{margin-top:0;position:relative}.notice-search-shell svg{fill:none;width:16px;height:16px;stroke:var(--muted);stroke-width:1.7px;stroke-linecap:round;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.notice-search-input{border:1px solid var(--line-soft);background:rgb(var(--accent-rgb) / .035);width:100%;height:38px;color:var(--ink);border-radius:11px;outline:0;padding:0 12px 0 34px;font-size:.8rem;transition:border-color .16s,background .16s,box-shadow .16s}.notice-search-input::placeholder{color:var(--muted-light)}.notice-search-input:focus{border-color:rgb(var(--accent-rgb) / .42);background:var(--solid-surface);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .055)}.notice-mobile-filters{scrollbar-width:none;gap:7px;margin-top:12px;display:none;overflow-x:auto}.notice-mobile-filters::-webkit-scrollbar{display:none}.notice-mobile-filters .notice-filter-button{border:1px solid var(--line-soft);grid-template-columns:auto;width:auto;min-width:max-content;min-height:32px;padding:0 10px}.notice-mobile-filters .notice-filter-count{display:none}.public-notice-list{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.public-notice-item{border:0;border-bottom:1px solid var(--line-soft);width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;padding:17px 20px 16px 28px;transition:background .15s;display:block;position:relative}.public-notice-item:hover{background:rgb(var(--accent-rgb) / .055)}.public-notice-item.is-selected{background:rgb(var(--accent-rgb) / .09)}.public-notice-item[hidden]{display:none}.public-notice-title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.86rem;font-weight:620;line-height:1.55;display:-webkit-box;overflow:hidden}.public-notice-meta{color:var(--muted);align-items:center;gap:7px;margin-top:8px;font-size:.7rem;display:flex}.public-notice-source{color:var(--sage-dark);font-weight:600}.notice-empty{color:var(--muted);text-align:center;padding:56px 24px;font-size:.82rem;display:none}.notice-empty.is-visible{display:block}.notice-detail-panel{background:var(--solid-surface);overflow:auto}.notice-detail-wrap{width:min(760px,100% - 64px);margin:0 auto;padding:42px 0 64px}.notice-detail-title{letter-spacing:-.045em;margin:0 0 15px;font-family:inherit;font-size:clamp(1.7rem,2.25vw,2.45rem);font-weight:520;line-height:1.25}.notice-detail-meta{border-bottom:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:24px;font-size:.74rem;display:flex}.notice-detail-source{background:var(--sage-soft);color:var(--sage-dark);border-radius:7px;padding:4px 8px;font-weight:650}.notice-detail-body{color:var(--ink-soft);padding-top:28px;font-size:.9rem;line-height:1.95}.notice-detail-body p{margin:0 0 18px}.notice-detail-actions{flex-wrap:wrap;gap:9px;margin-top:26px;display:flex}.notice-detail-primary,.notice-detail-secondary{cursor:pointer;border-radius:11px;min-height:40px;padding:0 14px;font-size:.78rem;font-weight:620}.notice-detail-primary{background:var(--sage);color:var(--on-accent);border:0}.notice-detail-primary:hover{background:var(--sage-dark)}.notice-detail-secondary{border:1px solid var(--line);color:var(--ink-soft);background:0 0}.notice-detail-secondary:hover{background:rgb(var(--accent-rgb) / .055)}@media (width<=1180px){:root{--sidebar-width:212px}.notice-workspace{grid-template-columns:minmax(300px,340px) minmax(320px,1fr)}.notice-detail-wrap{width:calc(100% - 42px)}}@media (width<=930px){:root{--sidebar-width:100%}.app-shell{display:block}.sidebar{border-bottom:0;border-right:0;width:100%;height:auto;padding:10px 14px 9px;position:sticky}.sidebar>.brand{display:none}.sidebar-stage{min-height:86px;overflow:visible}.sidebar-layer{inset:0}.sidebar-layer-notice .notice-sidebar-content{display:none}.sidebar-layer-notice .platform-back-link{min-height:40px}.sidebar-account-row{border-bottom:0;margin:0;padding:0 0 8px}.sidebar-nav{scrollbar-width:none;gap:4px;margin-top:0;display:flex;overflow-x:auto}.sidebar-nav::-webkit-scrollbar{display:none}.side-nav-item{grid-template-columns:18px auto auto;width:auto;min-width:max-content;min-height:36px;padding:0 10px}.side-nav-item svg{width:17px;height:17px}#home-view .hero-shell{min-height:calc(100svh - 98px)}.public-notice-view{min-height:calc(100svh - var(--compact-subpage-header,55px));padding:12px}.notice-workspace{height:calc(100svh - var(--compact-subpage-header,55px) - 24px);border-radius:17px;grid-template-columns:minmax(300px,360px) minmax(320px,1fr)}.notice-source-panel{display:none}.notice-mobile-filters{display:flex}}@media (width<=700px){.notice-workspace{height:auto;min-height:calc(100svh - var(--compact-subpage-header,55px) - 24px);display:block}.notice-list-panel{min-height:calc(100svh - var(--compact-subpage-header,55px) - 24px);border-right:0}.notice-detail-panel{display:none}.public-notice-view{overflow:visible}}@media (width>=931px){.public-notice-view{min-height:100svh;padding:0;overflow:hidden}.notice-workspace{height:100svh;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0}.notice-list-panel{border-right:1px solid var(--line-soft);background:0 0}.notice-detail-panel{background:0 0}}.profile-view{background:0 0;min-height:100svh}.profile-frame{background:0 0;border:0;width:100%;height:100svh;display:block}@media (width<=930px){.profile-view{min-height:calc(100svh - 98px)}.profile-frame{height:calc(100svh - 98px)}}.side-nav-badge,.notice-read-all{display:none!important}.public-notice-item{padding-left:20px}.public-notice-item:before,.notification-item:after{display:none!important}.chat-thread{display:none}.hero-shell.is-chatting{place-items:stretch center;height:100svh;min-height:100svh;padding:0 24px;overflow:hidden}.hero-shell.is-chatting:before{opacity:.35}.hero-shell.is-chatting .hero{flex-direction:column;width:min(100%,900px);height:100%;min-height:0;padding-top:76px;display:flex;transform:none}.hero-shell.is-chatting .hero-copy{opacity:0;pointer-events:none;height:0;transition:opacity .18s ease, transform .24s var(--ease);margin:0;overflow:hidden;transform:translateY(-12px)}.hero-shell.is-chatting .botanical-sketch{opacity:0;pointer-events:none;transition:opacity .18s}.hero-shell.is-chatting .chat-thread{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .28) transparent;flex-direction:column;flex:auto;gap:28px;min-height:0;padding:12px 12px 28px 6px;display:flex;overflow-y:auto}.hero-shell.is-chatting .chat-thread::-webkit-scrollbar{width:7px}.hero-shell.is-chatting .chat-thread::-webkit-scrollbar-track{background:0 0}.hero-shell.is-chatting .chat-thread::-webkit-scrollbar-thumb{background:rgb(var(--accent-rgb) / .28);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.chat-turn{width:100%;animation:chat-turn-in .26s var(--ease) both;display:flex}.chat-turn-user{justify-content:flex-end}.chat-turn-assistant{justify-content:flex-start}.chat-message{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;font-size:.98rem;line-height:1.72}.chat-message-user{border:1px solid rgb(var(--accent-rgb) / .1);background:rgb(var(--accent-rgb) / .1);max-width:min(78%,680px);color:var(--ink);border-radius:20px 20px 6px;padding:11px 16px}.chat-message-assistant{max-width:760px;color:var(--ink);padding:2px 4px}@keyframes chat-turn-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-shell.is-chatting .prompt-wrap{background:linear-gradient(to top, var(--paper) 72%, transparent);flex:none;margin:0;padding:12px 0 24px}.hero-shell.is-chatting .input-shell{min-height:62px;box-shadow:0 6px 28px rgb(var(--accent-rgb) / .075);border-radius:28px;grid-template-rows:54px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:4px 7px 4px 16px}.hero-shell.is-chatting .text-field{height:54px}.hero-shell.is-chatting .prompt-input{line-height:54px}.hero-shell.is-chatting .input-actions{grid-area:1/2;align-self:center}.hero-shell.is-chatting .send-button{width:42px;height:42px}.hero-shell.is-chatting .response-status{display:none}@media (width<=930px){.hero-shell.is-chatting{height:calc(100svh - 98px);min-height:calc(100svh - 98px);padding-inline:18px}.hero-shell.is-chatting .hero{padding-top:62px}.hero-shell.is-chatting .chat-thread{padding-top:8px}}@media (width<=520px){.hero-shell.is-chatting{padding-inline:12px}.hero-shell.is-chatting .chat-thread{gap:22px;padding:8px 8px 18px 2px}.chat-message-user{max-width:88%}.hero-shell.is-chatting .prompt-wrap{padding-bottom:14px}.hero-shell.is-chatting .input-shell{grid-template-rows:50px;min-height:58px;padding:4px 6px 4px 13px}.hero-shell.is-chatting .text-field{height:50px}.hero-shell.is-chatting .prompt-input{line-height:50px}.hero-shell.is-chatting .send-button{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.loading-state .loading-spinner{animation:none}}@view-transition{navigation:auto}.app-main{view-transition-name:platform-main}.app-shell>.sidebar{view-transition-name:platform-sidebar}::view-transition{pointer-events:none}html[data-navigation=cross] .app-main,html[data-navigation=cross] .app-shell>.sidebar{view-transition-name:none}html:not(.theme-switching):not(.theme-transitioning)::view-transition-group(*){animation:none}html:not(.theme-switching):not(.theme-transitioning)::view-transition-old(root){animation:none}html:not(.theme-switching):not(.theme-transitioning)::view-transition-old(platform-sidebar){animation:none}html:not(.theme-switching):not(.theme-transitioning)::view-transition-new(platform-sidebar){animation:none}html:not(.theme-switching):not(.theme-transitioning)::view-transition-new(root){animation:.16s ease-out both platform-content-in}html:not(.theme-switching):not(.theme-transitioning)::view-transition-old(platform-main){animation:60ms ease-in both platform-content-out}html:not(.theme-switching):not(.theme-transitioning)::view-transition-new(platform-main){animation:.1s ease-out 60ms both platform-content-in}html:not(.theme-switching):not(.theme-transitioning)::view-transition-old(platform-sidebar){display:none}html[data-navigation=cross][data-navigation-pending]::view-transition-new(root){animation-play-state:paused}html[data-navigation-enter] .app-main,html[data-navigation-enter] .app-layout>.app-content{animation:.16s ease-out both platform-content-in}::view-transition-image-pair(*){isolation:isolate}::view-transition-old(*){mix-blend-mode:normal}::view-transition-new(*){mix-blend-mode:normal}html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}html.theme-switching *{view-transition-name:none!important}html.theme-switching::view-transition-group(*){animation:none}html.theme-switching::view-transition-old(*){animation:none}html.theme-switching::view-transition-new(root){animation:.24s cubic-bezier(.4,0,.2,1) both platform-content-in}@keyframes platform-content-in{0%{opacity:0}to{opacity:1}}@keyframes platform-content-out{0%{opacity:1}to{opacity:0}}html[data-motion=reduced]::view-transition-group(*){animation:none!important}html[data-motion=reduced]::view-transition-old(*){animation:none!important}html[data-motion=reduced]::view-transition-new(*){animation:none!important}html[data-motion=reduced][data-navigation-enter] .app-main,html[data-motion=reduced][data-navigation-enter] .app-layout>.app-content{animation:none!important}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}html[data-navigation-enter] .app-main,html[data-navigation-enter] .app-layout>.app-content{animation:none!important}}.platform-nav-link{text-decoration:none}.course-pagination{justify-content:center;align-items:center;gap:5px;display:flex}.course-page-button{min-width:32px;height:32px;color:var(--muted);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;padding:0 8px;font-size:.72rem;display:grid}.course-page-button--arrow{padding:0}.course-page-button--arrow>svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.course-page-button:hover:not(:disabled){background:rgb(var(--accent-rgb) / .06);color:var(--ink)}.course-page-button.is-active{border-color:rgb(var(--accent-rgb) / .28);background:var(--sage-soft);color:var(--sage-dark);font-weight:680}.course-page-button:disabled{opacity:.34;cursor:default}.course-page-ellipsis{min-width:24px;color:var(--muted-light);text-align:center;font-size:.72rem}.platform-nav-entry{min-width:0}.platform-nav-entry .sidebar-section-label{margin-top:14px}.platform-modal-card{width:min(100%,540px)}.sidebar-actions .platform-settings-trigger>svg{width:22px;height:22px}.notification-badge{flex:none;width:24px;height:24px;display:inline-flex;position:relative}.notification-badge>.notification-badge__icon,.icon-button .notification-badge>.notification-badge__icon{width:100%;height:100%;fill:none!important;stroke:currentColor!important;stroke-width:4.15px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.notification-badge__count{box-sizing:border-box;border:2px solid var(--solid-surface,var(--paper,#fff));background:var(--sage-dark);min-width:20px;height:20px;color:var(--paper,#fff);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;pointer-events:none;border-radius:999px;place-items:center;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;inset-block-start:0;inset-inline-start:100%;transform:translate(-50%,-50%)}.personal-notification-toolbar,.personal-notification-error{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:.85rem;display:flex}.personal-notification-error{color:var(--error,#b45a53)}.personal-notification-toolbar>.ui-button{border-inline-width:0;margin-inline-start:auto;padding-inline:0}.platform-modal-card .ui-button--ghost:focus-visible{box-shadow:none;color:var(--sage-dark);text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.personal-notification-toolbar+.notification-list{margin-top:8px}.notification-item .notification-copy{overflow-wrap:anywhere;min-width:0}.notification-item .notification-copy h3 a{color:inherit;text-decoration:none}.notification-item .notification-copy h3 a:hover{text-underline-offset:3px;text-decoration:underline}.notification-item.is-unread .notification-copy h3{color:var(--sage-dark)}.personal-notification-meta{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.personal-notification-status{align-items:center;gap:6px;display:inline-flex}.personal-notification-dot{background:var(--sage);width:7px;height:7px;box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .1);border-radius:50%;flex:none}.platform-modal-card .notification-item:not(.is-unread) .notification-copy{opacity:.68}.personal-notification-meta .ui-button{min-height:28px;padding:4px 8px;font-size:.75rem}.personal-notification-read-btn{opacity:0;transition:opacity .14s}.platform-modal-card .notification-item:hover .personal-notification-read-btn,.platform-modal-card .notification-item:focus-within .personal-notification-read-btn{opacity:1}@media (hover:none){.personal-notification-read-btn{opacity:1}}.personal-notification-count{color:var(--muted);margin-top:8px;font-size:.75rem;display:inline-block}.personal-notification-more{justify-content:center;margin-top:16px;display:flex}@media (width<=600px){.platform-modal-card .notification-item{grid-template-columns:minmax(0,1fr);gap:12px}.personal-notification-meta{flex-flow:wrap;align-items:center;gap:12px}.personal-notification-meta .personal-notification-status{margin-right:auto}}.platform-modal-empty{border:1px dashed var(--line);background:rgb(var(--accent-rgb) / .025);text-align:center;border-radius:16px;margin-top:24px;padding:26px 22px}.platform-modal-empty strong{color:var(--ink);font-size:.92rem;font-weight:650;display:block}html[data-motion=reduced] .modal-layer.is-opening,html[data-motion=reduced] .modal-layer.is-opening .modal-card,html[data-motion=reduced] .modal-layer.is-closing,html[data-motion=reduced] .modal-layer.is-closing .modal-card{animation:none}@media (height<=720px) and (width>=721px){.platform-nav-entry .side-nav-item{min-height:38px}.platform-nav-entry .sidebar-section-label{margin-top:8px}}@media (width<=930px){.platform-nav-entry{flex:none}.platform-nav-entry .sidebar-section-label{display:none}}.app-shell.app-shell--contained{grid-template-rows:minmax(0,1fr);height:100svh;min-height:0;overflow:hidden}.app-shell--contained>.app-main{height:100%;min-height:0;overflow:hidden}@media (width<=930px){.app-shell.app-shell--contained{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.app-shell--contained>.sidebar{height:auto;min-height:0}}.platform-navigation-progress{z-index:140;pointer-events:none;opacity:0;height:2px;animation:1ms .18s forwards platform-progress-reveal;position:fixed;inset:0 0 auto;overflow:hidden}.platform-navigation-progress:after{content:"";background:var(--sage);width:35%;height:100%;animation:1.2s ease-in-out infinite platform-progress-move;display:block}@keyframes platform-progress-reveal{0%{opacity:0}to{opacity:1}}@keyframes platform-progress-move{0%{transform:translate(-100%)}to{transform:translate(390%)}}@media (prefers-reduced-motion:reduce){.platform-navigation-progress:after{width:100%;animation:none}}html[data-motion=reduced] .platform-navigation-progress:after{width:100%;animation:none}.chat-workspace-tools{z-index:8;align-items:center;gap:6px;display:inline-flex;position:absolute;top:28px;right:20px}.chat-workspace-tool{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:8px;padding:0 13px;font-size:.78rem;font-weight:560;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.chat-workspace-tool:hover{color:var(--ink);background:rgb(var(--accent-rgb) / .055)}.chat-workspace-tool-primary,.chat-workspace-tool-primary:hover{color:var(--sage-dark)}.chat-workspace-tool svg{fill:none;stroke:currentColor;stroke-width:4.15px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.chat-message-stack{flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.chat-turn-user .chat-message-stack{align-items:flex-end}.chat-turn-assistant .chat-message-stack{align-items:flex-start}.chat-message-actions{pointer-events:none;align-items:center;gap:2px;min-height:30px;margin-top:6px;display:flex}.chat-turn:hover .chat-message-actions,.chat-turn:focus-within .chat-message-actions,.chat-message-actions.has-versions{pointer-events:auto}.chat-turn-user .chat-message-actions{justify-content:flex-end}.chat-turn-assistant .chat-message-actions{justify-content:flex-start}.chat-message-action{width:30px;height:30px;color:var(--muted);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;transition:color .14s,background .14s,opacity .14s;display:grid}.chat-turn:hover .chat-message-action,.chat-turn:focus-within .chat-message-action{opacity:1;visibility:visible;pointer-events:auto}.chat-message-action:hover{color:var(--ink);background:rgb(var(--accent-rgb) / .065)}.chat-message-action svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.chat-message-action.is-copied{color:var(--sage-dark)}.chat-version-nav{color:var(--ink-soft);font-variant-numeric:tabular-nums;pointer-events:auto;align-items:center;gap:1px;margin-left:4px;display:inline-flex}.chat-version-button{width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:color .14s,background .14s,opacity .14s;display:grid}.chat-version-button:hover:not(:disabled){color:var(--ink);background:rgb(var(--accent-rgb) / .06)}.chat-version-button:disabled{opacity:.36;cursor:default}.chat-version-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.chat-version-counter{text-align:center;min-width:38px;color:var(--ink-soft);letter-spacing:0;font-size:.82rem;font-weight:560;line-height:28px}.chat-edit-form{border:1px solid rgb(var(--accent-rgb) / .18);background:rgb(var(--accent-rgb) / .075);border-radius:18px 18px 6px;gap:8px;width:min(78vw,680px);padding:11px 12px;display:grid}.chat-edit-input{resize:vertical;width:100%;min-height:72px;max-height:220px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:2px 4px;line-height:1.65}.chat-edit-actions{justify-content:flex-end;gap:7px;display:flex}.chat-edit-button{min-height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 11px;font-size:.76rem;font-weight:620}.chat-edit-button:hover{background:rgb(var(--accent-rgb) / .06)}.chat-edit-button.is-primary{background:var(--sage);color:var(--paper-raised)}.hero-shell.is-chatting .prompt-wrap{background:0 0!important}.hero-shell.is-chatting .input-shell{border-color:rgb(var(--accent-rgb) / .22);box-shadow:inset 0 1px 0 var(--surface-highlight), 0 5px 18px rgb(var(--accent-rgb) / .055);-webkit-backdrop-filter:blur(14px);background:var(--paper-raised)!important}.hero-shell.is-chatting .input-shell:before{background:linear-gradient(110deg, var(--surface-highlight), transparent 36%, rgb(var(--accent-rgb) / .025))!important}.hero-shell.is-chatting .input-shell:hover{border-color:rgb(var(--accent-rgb) / .34);box-shadow:inset 0 1px 0 var(--surface-highlight), 0 6px 20px rgb(var(--accent-rgb) / .07);background:var(--paper-raised)!important}.hero-shell.is-chatting .input-shell:focus-within{border-color:rgb(var(--accent-rgb) / .46);box-shadow:inset 0 1px 0 var(--surface-highlight), 0 0 0 3px rgb(var(--accent-rgb) / .055), 0 7px 24px rgb(var(--accent-rgb) / .075);background:var(--paper-raised)!important}body.is-guest #demo-account-setting-row{display:none}.history-list{scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .25) transparent;gap:7px;max-height:min(52vh,480px);margin-top:22px;display:grid;overflow:auto}.history-list::-webkit-scrollbar{width:7px}.history-list::-webkit-scrollbar-track{background:0 0}.history-list::-webkit-scrollbar-thumb{background:rgb(var(--accent-rgb) / .25);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.history-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 13px;transition:background .15s;display:grid}.history-item:hover{background:rgb(var(--accent-rgb) / .07)}.history-item-copy{gap:4px;min-width:0;display:grid}.history-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:620;overflow:hidden}.history-item-preview,.history-item-time,.history-empty{color:var(--muted);font-size:.75rem}.history-item-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-item-time{white-space:nowrap}.history-empty{text-align:center;padding:24px 12px;line-height:1.6}@media (width<=930px){.chat-workspace-tool span{display:none}.chat-workspace-tool{justify-content:center;width:42px;min-height:42px;padding:0}.chat-workspace-tool svg{width:20px;height:20px}:root{--compact-app-header:111px;--compact-subpage-header:55px}.sidebar{isolation:isolate;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.08);box-shadow:0 1px 0 var(--line-soft), 0 10px 24px rgb(var(--accent-rgb) / .035);padding:8px 14px 7px}.app-main{min-height:0}.sidebar:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--paper) 58%, transparent), transparent);height:14px;position:absolute;bottom:-14px;left:0;right:0}.sidebar-stage{min-height:96px;overflow:visible}.sidebar[data-sidebar-mode=notifications] .sidebar-stage{min-height:40px}.sidebar-layer-home{grid-template:"brand account"40px"nav nav"40px/auto minmax(0,1fr);align-items:center;gap:4px 12px;display:grid}.sidebar-layer-home>.brand{grid-area:brand;align-self:center;min-width:0;margin:0}.sidebar-layer-home>.sidebar-account-row{grid-area:account;grid-template-columns:minmax(0,auto) auto;place-self:center end;gap:4px;width:auto;min-width:0;margin:0;padding:0;display:grid}.sidebar-layer-home>.sidebar-nav{scrollbar-width:none;grid-area:nav;align-items:center;gap:4px;width:100%;min-width:0;margin:0;display:flex;overflow:auto hidden}.sidebar-layer-home>.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-layer-home .side-nav-item{flex:none;gap:7px;min-width:max-content;min-height:36px;padding-inline:9px;font-size:.82rem}#home-view .hero-shell,#home-view.hero-shell{min-height:calc(100svh - var(--compact-app-header))}.hero-shell{place-items:start center;padding:76px 18px 38px}.hero{width:min(100%,760px);transform:none}.hero-copy{max-width:100%}.eyebrow{margin-bottom:14px;font-size:clamp(1rem,2.35vw,1.15rem)}.typewriter{text-wrap:pretty;max-width:100%;min-height:2.15em;font-size:clamp(1.72rem,4.7vw,2.2rem);line-height:1.12}.prompt-wrap{margin-top:clamp(22px,4vh,30px)}.input-shell{grid-template-rows:50px 42px;min-height:132px;padding:8px 11px 10px 16px}.text-field{height:50px}.prompt-input{line-height:50px}.send-button{width:42px;height:42px}.chat-workspace-tools{top:16px;right:14px}.hero-shell.is-chatting{height:calc(100svh - var(--compact-app-header));min-height:calc(100svh - var(--compact-app-header));padding-inline:18px}.hero-shell.is-chatting .hero{width:min(100%,820px)}.hero-shell.is-chatting .chat-thread{padding-top:72px}}@media (width<=700px){:root{--compact-app-header:109px}.sidebar{padding-inline:12px}.sidebar-stage{min-height:94px}.sidebar-layer-home{column-gap:8px}.sidebar-layer-home .brand{padding-inline:5px}.sidebar-layer-home .sidebar-actions .icon-button{width:34px;min-width:34px;height:34px}.sidebar-layer-home .side-nav-item{min-height:34px;padding-inline:8px;font-size:.78rem}.hero-shell{padding:68px 14px 30px}.hero{width:min(100%,650px)}.eyebrow{margin-bottom:12px;font-size:.98rem}.typewriter{min-height:2.1em;font-size:clamp(1.55rem,7vw,1.95rem);line-height:1.13}.prompt-wrap{margin-top:22px}.input-shell{border-radius:20px;grid-template-rows:48px 40px;min-height:122px;padding:7px 9px 8px 14px}.text-field{height:48px}.prompt-input{line-height:48px}.send-button{width:40px;height:40px}.chat-workspace-tools{top:14px;right:12px}.hero-shell.is-chatting{height:calc(100svh - var(--compact-app-header));min-height:calc(100svh - var(--compact-app-header));padding-inline:12px}.hero-shell.is-chatting .chat-thread{padding:64px 8px 18px 0}}@media (width<=760px){.sidebar-layer-home .sidebar-account-row .nickname{display:none}.sidebar-layer-home .user-chip{justify-content:center;gap:0;width:42px;min-width:42px;padding:0}}@media (width<=430px){.sidebar-layer-home .side-nav-item{gap:6px;padding-inline:7px}.hero-shell{padding-inline:12px}}.resource-upload-modal{width:min(100%,760px)}.resource-upload-modal .modal-body{color:var(--ink)}.resource-upload-modal .resource-form{margin-top:18px}.resource-upload-modal p{font-size:.84rem;line-height:1.7}.resource-upload-modal .modal-footer{gap:10px}.resource-upload-modal .resource-steps{margin:0 0 14px}.resource-upload-modal .resource-search{margin:0}.resource-upload-modal h3{color:var(--muted);margin:0;font-size:.82rem;font-weight:500}.resource-course-group{min-width:0}.resource-course-group--selected>h3{align-items:center;gap:3px;min-height:44px;display:flex}.resource-course-group>.resource-actions{margin-top:10px}.resource-course-group .resource-course-row{padding-inline:0}.resource-course-group .resource-selected-course{border-bottom:0;flex-wrap:nowrap;gap:8px;padding-block:2px}.resource-selected-course__title{white-space:nowrap;flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.resource-selected-course__code{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem}.resource-selected-course__title strong{text-overflow:ellipsis;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.resource-selected-course .resource-selected-course__actions{flex-wrap:nowrap;flex-shrink:0;gap:4px;margin-left:auto}.resource-selected-course__actions .ui-button{min-height:40px;padding-inline:10px}.resource-term{min-width:0;color:var(--ink-soft);border:0;margin:0;padding:0;font-size:.83rem}.resource-term legend{margin-bottom:8px;padding:0}.resource-term>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.resource-form .course-select-trigger{color:var(--ink-soft);background:rgb(var(--accent-rgb) / .035);font-size:.82rem}.resource-upload-progress progress{width:100%;accent-color:var(--sage)}.resource-toolbar>.resource-search{flex:300px;min-width:0;margin:0}.resource-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.resource-detail-primary-actions>.resource-actions,.resource-detail-reports{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}@media (width<=600px){.resource-detail-primary-actions>.resource-actions{gap:2px}}.resource-muted,.resource-meta{color:var(--muted)}.resource-search{z-index:15;width:100%;margin:14px 0;position:relative}.resource-suggestions{padding:6px}.resource-suggestions>button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:5px;padding:11px;display:flex}.resource-search .has-value .course-search-input{padding-right:42px}.resource-search .course-search-input::-webkit-search-cancel-button{-webkit-appearance:none}.resource-search-clear.ui-button{border:0;min-height:0}.resource-suggestions>button:is(:hover,[aria-selected=true]){background:var(--sage-soft)}.resource-suggestions>button>span{color:var(--muted);font-size:.74rem}.resource-course-row,.resource-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:18px 8px;display:flex}.resource-course-row small{color:var(--muted);margin-top:6px;display:block}.resource-row-main>span,.resource-course-row>.resource-muted{color:var(--muted);font-size:.78rem}.resource-term input{width:100%;height:42px;color:var(--ink);border:1px solid var(--line-soft);font:inherit;background:0 0;border-radius:11px;padding:0 11px;font-size:.8rem}.resource-form{gap:18px;min-width:0;display:grid}.resource-form label:not(.ui-checkbox),.resource-field{color:var(--ink-soft);gap:8px;min-width:0;font-size:.83rem;display:grid}.resource-field-heading>.resource-muted{min-width:0;font-size:.75rem;line-height:1.5}.resource-steps{grid-template-columns:repeat(4,1fr);gap:8px;margin:28px 0;padding:0;list-style:none;display:grid}.resource-steps button{border:0;border-bottom:2px solid var(--line-soft);width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:10px;padding:12px 0;font-size:.85rem;display:flex}.resource-steps button span{background:var(--paper-deep);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.resource-steps button.is-active{border-color:var(--sage);color:var(--ink);font-weight:600}.resource-steps button.is-active span{color:var(--on-accent);background:var(--sage)}.resource-confirm{background:var(--sage-soft);overflow-wrap:anywhere;border-radius:11px;padding:18px}.resource-review-detail .resource-form{margin-top:24px}@media (width<=700px){.resource-toolbar>.resource-search{flex-basis:100%}.resource-course-row,.resource-row{flex-wrap:wrap;gap:12px}}@media (width<=520px){.resource-selected-course__title{gap:6px}.resource-selected-course__actions .ui-button{white-space:nowrap;padding-inline:6px}.resource-toolbar .resource-actions{gap:6px}.resource-steps{gap:5px}.resource-steps button{flex-direction:column;gap:8px;font-size:.73rem}.resource-course-row>.resource-muted{flex-basis:25%}}.resource-suggestions>span{min-height:68px;color:var(--muted);align-items:center;padding:16px 18px;font-size:.85rem;line-height:1.6;display:flex}.resource-steps button.is-active:hover:not(:disabled),.resource-steps button.is-active:focus-visible{border-bottom-color:var(--sage);box-shadow:none}.resource-upload-progress{gap:16px;padding-block:12px;display:grid}.resource-upload-progress p{margin:0}.resource-upload-progress progress{appearance:none;background:var(--paper-deep);height:7px;color:var(--sage);border:0;border-radius:999px;display:block;overflow:hidden}.resource-upload-progress progress::-webkit-progress-bar{background:var(--paper-deep);border-radius:999px}.resource-upload-progress progress::-webkit-progress-value{background:var(--sage);border-radius:999px;transition:width .18s}.resource-upload-progress progress::-moz-progress-bar{background:var(--sage);border-radius:999px}.resource-upload-progress>button{justify-self:end}.resource-attachments{gap:4px;display:grid}.resource-attachments>div{align-items:center;gap:10px;min-width:0;display:flex}.resource-attachments>div>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.resource-attachments small{color:var(--muted);white-space:nowrap}.resource-course-compact .resource-selected-course__title{color:var(--ink);text-decoration:none}.resource-course-compact .resource-selected-course__title:hover strong{color:var(--sage-dark)}.resource-course-list .resource-course-compact>.resource-muted{white-space:nowrap;flex:none}.resource-attachment-row>.resource-muted{flex-shrink:0}.resource-upload-inline{min-width:0;color:var(--ink)}.resource-upload-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.resource-upload-heading>.ui-button{flex-shrink:0}.resource-upload-inline .resource-steps{margin:0 0 16px}.resource-upload-inline .resource-form{margin-top:16px}.resource-upload-inline .resource-search{margin:0}.resource-upload-inline p{margin:0;font-size:.84rem;line-height:1.65}.resource-upload-inline h3{color:var(--muted);margin:0;font-size:.82rem;font-weight:500}.resource-upload-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}@media (width<=600px){.resource-upload-inline .resource-steps{gap:6px}.resource-upload-inline .resource-steps button{padding-block:8px}}.resource-feedback-form{gap:16px;min-width:0;display:grid}.resource-feedback-form label{color:var(--ink-soft);gap:8px;font-size:.83rem;display:grid}.resource-feedback-form p{margin:0;line-height:1.65}.resource-feedback-form [role=alert]{color:var(--danger,#a33)}.resource-feedback-form .course-select-trigger{font-size:.84rem}.resource-preview{gap:12px;min-width:0;display:grid}.resource-preview-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.resource-preview-picker{flex:180px;min-width:0}.resource-preview-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:.85rem;display:block;overflow:hidden}.resource-preview-toolbar>.ui-button{flex-shrink:0;margin-inline-start:auto}@media (width<=600px){.resource-preview-toolbar{gap:8px}.resource-preview-picker{flex-basis:140px}.resource-preview-toolbar>.ui-button{padding-inline:8px}}.resource-preview-viewport{box-sizing:border-box;border:1px solid var(--line-soft);background:var(--solid-surface);border-radius:10px;width:100%;min-width:0;height:clamp(420px,72dvh,960px);overflow:auto}.resource-preview-document{border:0;width:100%;height:100%;display:block}.resource-preview-viewport--flow{height:auto;min-height:0;max-height:min(80dvh,960px)}.resource-preview-status{place-items:center;height:100%;min-height:140px;display:grid}.resource-preview-unavailable{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.84rem;display:flex}@media (width<=600px){.resource-preview-viewport:not(.resource-preview-viewport--flow){height:clamp(360px,70dvh,760px)}}.resource-preview-image{object-fit:contain;max-width:100%;height:auto;margin:0 auto;display:block}.resource-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);margin:0;padding:16px;font-size:.85rem;line-height:1.7}.resource-votes{font-variant-numeric:tabular-nums;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:2px;display:flex}.resource-votes[data-voted=true] .ui-icon-button[aria-pressed=false]{color:var(--muted)}.resource-title-link{color:var(--ink);font-size:.94rem;font-weight:600;text-decoration:none}.resource-title-link:hover,.resource-title-link:focus-visible{color:var(--sage-dark);text-decoration:underline}.resource-title-link:focus-visible{outline:2px solid var(--sage-dark);outline-offset:3px;border-radius:3px}.agent-resource-card{gap:16px;min-width:0;display:grid}.agent-resource-card .agent-results-link:hover{background:color-mix(in srgb, var(--sage-pale,#dce7df) 65%, transparent)}.agent-resource-card .agent-results-link:focus-visible{outline:2px solid var(--sage-dark,#536b5c);outline-offset:3px}.agent-resource-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.agent-resource-list>li{border-bottom:1px solid var(--line-soft);gap:12px;min-width:0;padding-block:0 16px;display:grid}.agent-resource-list>li:last-child{border-bottom:0;padding-bottom:0}.agent-card.agent-resource-card>p,.agent-card .agent-resource-list>li>p{margin:0;line-height:1.65}.agent-resource-card>.agent-card-heading,.agent-resource-card .agent-results-link{margin:0}.agent-resource-title{overflow-wrap:anywhere;gap:8px;font-weight:600;display:flex}.agent-resource-title>span{color:var(--muted);font-variant-numeric:tabular-nums}.agent-resource-meta{color:var(--ink-soft);flex-wrap:wrap;gap:6px 12px;font-size:.82rem;display:flex}.agent-resource-description{white-space:pre-wrap;overflow-wrap:anywhere;max-height:8em;overflow:auto}.agent-resource-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 10px;display:flex}.agent-resource-metrics{flex-wrap:wrap;gap:16px 36px;margin:0;display:flex}.agent-resource-metrics dt{color:var(--ink-soft);font-size:.82rem}.agent-resource-metrics dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.5rem}.agent-resource-preview-dialog{width:min(1000px,100vw - 32px)}.agent-resource-card [role=alert]{color:var(--danger,#a33)}.agent-resource-card p,.agent-resource-card a{overflow-wrap:anywhere}@media (width<=600px){.agent-resource-actions{gap:6px}.agent-resource-card .agent-card-heading{flex-wrap:wrap}}.agent-card.agent-selection-card{gap:16px;min-width:0;display:grid}.agent-selection-card>.agent-card-heading{align-items:center;margin:0}.agent-card.agent-selection-card>p{margin:0;line-height:1.65}.agent-selection-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.agent-selection-field{align-content:start;gap:8px;min-width:0;display:grid}.agent-selection-field>label,.agent-selection-field>span{color:var(--ink-soft);font-size:.85rem}.agent-selection-wide{grid-column:1/-1}.agent-selection-school-row{flex-wrap:wrap;gap:10px;display:flex}.agent-selection-school.ant-select{--ant-select-height:42px;--ant-select-border-radius:11px;flex:1;min-width:200px}.agent-selection-field .ui-input{box-sizing:border-box;width:100%;min-width:0}.agent-selection-field textarea{resize:vertical;line-height:1.65}.agent-selection-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.agent-selection-card .agent-selection-hint,.agent-selection-error{color:var(--ink-soft);margin:12px 0 0;font-size:.82rem;line-height:1.65}.agent-selection-error{color:var(--danger,#a33)}.agent-selection-form .ui-curriculum-select{min-height:42px;font:inherit;font-size:.85rem}.agent-selection-form .ui-curriculum-select.ant-select{--ant-select-height:42px;--ant-select-border-radius:11px;--ant-select-font-size:.85rem;--ant-select-padding-horizontal:12px}@media (width<=480px){.agent-selection-form{grid-template-columns:minmax(0,1fr)}}.agent-timetable-export-stage{--agent-timetable-border:var(--line-soft,#d8ddd7);--agent-timetable-gridline:var(--line-soft,#e1e5df);--agent-timetable-surface:var(--solid-surface,#fff);--agent-timetable-cell:var(--paper-raised,#fcfcfa);--agent-timetable-label:var(--ink-soft,#53645a);--agent-timetable-muted:var(--muted,#98a19a);color:var(--ink,#25332a);background:0 0;border:0;border-radius:0;margin-top:12px;padding:0}.agent-timetable-scroll{border-radius:9px;overflow-x:auto}.agent-timetable-export-stage.is-exporting .agent-timetable-scroll{overflow:visible}.agent-timetable-grid{border:1px solid var(--agent-timetable-border);background:var(--agent-timetable-surface);border-radius:9px;grid-template-rows:28px repeat(13,32px);grid-template-columns:46px repeat(7,minmax(88px,1fr));min-width:690px;display:grid;position:relative;overflow:hidden}.agent-timetable-corner,.agent-timetable-day,.agent-timetable-period,.agent-timetable-cell{border-right:1px solid var(--agent-timetable-gridline);border-bottom:1px solid var(--agent-timetable-gridline);background:var(--agent-timetable-cell)}.agent-timetable-day.is-last-column,.agent-timetable-cell.is-last-column{border-right:0}.agent-timetable-period.is-last-row,.agent-timetable-cell.is-last-row{border-bottom:0}.agent-timetable-corner{grid-area:1/1}.agent-timetable-day{z-index:1;color:var(--agent-timetable-label);grid-row:1;place-items:center;font-size:11px;font-weight:650;display:grid}.agent-timetable-period{z-index:1;color:var(--agent-timetable-label);flex-direction:column;grid-column:1;justify-content:center;align-items:center;font-size:10px;display:flex}.agent-timetable-period small{color:var(--agent-timetable-muted);font-size:7px}.agent-timetable-course{z-index:2;box-sizing:border-box;color:#315c58;background:#dcefed;border-left:4px solid;border-radius:0 4px 4px 0;flex-direction:column;min-width:0;margin:2px;padding:4px 5px 3px 7px;font-size:9px;line-height:1.25;display:flex;position:relative;overflow:hidden}.agent-timetable-course b,.agent-timetable-course span,.agent-timetable-course small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-timetable-course b{font-size:10px}.agent-timetable-course span,.agent-timetable-course small{opacity:.78}.agent-timetable-course.is-color-1{color:#5b4c98;background:#e8e1fa}.agent-timetable-course.is-color-2{color:#8b5b22;background:#f8e5c6}.agent-timetable-course.is-color-3{color:#316a92;background:#dcebf7}.agent-timetable-course.is-color-4{color:#9a4562;background:#f8dfe7}.agent-timetable-course.is-color-5{color:#3d7145;background:#dff0df}.agent-timetable-course.is-color-6{color:#805c8f;background:#eedff2}.agent-timetable-course.is-color-7{color:#7b6941;background:#f0ead6}html[data-appearance=dark] .agent-timetable-course,:root[data-theme=dark] .agent-timetable-course{color:#b4e5df;background:#1d3b43}html[data-appearance=dark] .agent-timetable-course.is-color-1,:root[data-theme=dark] .agent-timetable-course.is-color-1{color:#c8beff;background:#302c58}html[data-appearance=dark] .agent-timetable-course.is-color-2,:root[data-theme=dark] .agent-timetable-course.is-color-2{color:#f4ca8b;background:#483522}html[data-appearance=dark] .agent-timetable-course.is-color-3,:root[data-theme=dark] .agent-timetable-course.is-color-3{color:#a9d7f7;background:#203b54}html[data-appearance=dark] .agent-timetable-course.is-color-4,:root[data-theme=dark] .agent-timetable-course.is-color-4{color:#f5afc5;background:#4b2a3a}html[data-appearance=dark] .agent-timetable-course.is-color-5,:root[data-theme=dark] .agent-timetable-course.is-color-5{color:#ade1b4;background:#25432d}html[data-appearance=dark] .agent-timetable-course.is-color-6,:root[data-theme=dark] .agent-timetable-course.is-color-6{color:#dfbce9;background:#412e4a}html[data-appearance=dark] .agent-timetable-course.is-color-7,:root[data-theme=dark] .agent-timetable-course.is-color-7{color:#e8d6a7;background:#443a26}.agent-unscheduled-courses{color:#758078;font-size:9px;margin:7px 2px 0!important;line-height:1.4!important}.agent-timetable-export-stage.is-compact{margin-top:0}.is-compact .agent-timetable-grid{grid-template-rows:26px repeat(13,24px);grid-template-columns:28px repeat(7,minmax(0,1fr));min-width:0}.is-compact .agent-timetable-course{border-left-width:3px;padding:3px}.is-compact .agent-timetable-period small{display:none}.agent-timetable-warning{z-index:3;color:#fff;background:var(--agent-warning,#8a6541);width:15px;height:15px;box-shadow:0 0 0 2px var(--agent-timetable-surface,#fff);border-radius:999px;place-items:center;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;top:3px;right:3px}.agent-timetable-course.is-conflict{box-shadow:0 0 0 1px color-mix(in srgb, var(--agent-warning,#8a6541) 28%, transparent)}.agent-timetable-course.is-conflict b{padding-right:16px}.agent-scroll-latest{z-index:4;border:1px solid var(--line);background:var(--solid-surface);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;padding:9px 16px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.agent-chat{--page:var(--paper,#f8faf7);--surface:var(--solid-surface,var(--paper-raised,#fff));--sage-pale:var(--sage-soft,#dce7df);--agent-card:color-mix(in srgb, var(--surface) 94%, var(--sage-pale));--agent-border:color-mix(in srgb, var(--sage-dark,#536b5c) 20%, transparent);--agent-surface-highlight:var(--surface-highlight,color-mix(in srgb, var(--ink,#25332a) 7%, transparent));--agent-success:#33704b;--agent-success-soft:#4697631f;--agent-warning:#8a6541;--agent-warning-soft:#b3804421;--agent-danger:#9b4f49;--agent-danger-soft:#ba49491f;--agent-timetable-border:#d8ddd7;--agent-timetable-gridline:#e1e5df;--agent-timetable-surface:#fff;--agent-timetable-cell:#fcfcfa;--agent-timetable-label:#53645a;--agent-timetable-muted:#98a19a;width:100%;min-height:0;color:var(--ink,#25332a);flex-direction:column;flex:auto;display:flex}html[data-appearance=dark] .agent-chat,:root[data-theme=dark] .agent-chat{--agent-success:#7fdba4;--agent-success-soft:#55c27c29;--agent-warning:#f0bf72;--agent-warning-soft:#e0a45b2b;--agent-danger:#ff9a9f;--agent-danger-soft:#ef6a712b;--agent-timetable-border:color-mix(in srgb, var(--sage-dark,#adc0ff) 25%, transparent);--agent-timetable-gridline:color-mix(in srgb, var(--sage-dark,#adc0ff) 15%, transparent);--agent-timetable-surface:color-mix(in srgb, var(--surface) 94%, #000);--agent-timetable-cell:color-mix(in srgb, var(--surface) 88%, var(--page));--agent-timetable-label:var(--ink-soft,#c7d2ec);--agent-timetable-muted:var(--muted,#94a3c4)}.agent-chat--page{position:relative}.agent-chat--page:not(.is-chatting) .agent-message-list{display:none}.agent-chat--page .agent-composer-wrap{width:100%}.agent-composer-disclaimer{color:color-mix(in srgb, var(--muted,#758078) 86%, transparent);text-align:center;margin:9px 0 0;font-size:12px;line-height:1.5}.agent-chat--panel{background:var(--page,#f8faf7);height:100%;min-height:480px}.agent-chat--panel .agent-message-list{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:24px;min-height:0;padding:20px 18px 12px;display:flex;overflow-y:auto}.agent-panel-welcome{min-height:0;color:var(--ink,#25332a);flex-direction:column;flex:auto;justify-content:center;gap:18px;padding:32px 28px;display:flex}.agent-panel-welcome-icon{background:color-mix(in srgb, var(--sage-pale,#dce7df) 72%, transparent);width:44px;height:44px;color:var(--sage-dark,#536b5c);border-radius:15px;place-items:center;display:grid}.agent-panel-welcome-icon svg{fill:none;stroke:currentColor;width:25px;height:25px}.agent-panel-welcome h2{letter-spacing:-.02em;margin:0 0 8px;font-size:20px;font-weight:650}.agent-panel-welcome p{max-width:430px;color:var(--muted,#758078);margin:0;font-size:14px;line-height:1.7}.agent-panel-suggestions{gap:8px;display:grid}.agent-panel-suggestions button{border:1px solid var(--agent-border);background:color-mix(in srgb, var(--surface,#fff) 88%, transparent);min-height:42px;color:var(--ink,#25332a);cursor:pointer;font:inherit;text-align:left;border-radius:13px;padding:9px 13px;font-size:13px;transition:border-color .16s,background .16s}.agent-panel-suggestions button:hover:not(:disabled){border-color:color-mix(in srgb, var(--sage-dark,#536b5c) 38%, transparent);background:var(--surface,#fff)}.agent-chat--panel .agent-composer-wrap{z-index:2;border-top:1px solid var(--agent-border);background:linear-gradient(to top, var(--page,#f8faf7) 78%, color-mix(in srgb, var(--page,#f8faf7) 92%, transparent));flex:none;width:auto;margin:auto 0 0;padding:12px 16px 18px;position:relative;inset:auto}.agent-chat--panel .agent-composer-shell{border:1px solid var(--agent-border);background:var(--surface,#fff);min-height:58px;box-shadow:inset 0 1px 0 var(--agent-surface-highlight), 0 7px 24px #0a12221f;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:4px 7px 4px 17px;transition:border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.agent-chat--panel .agent-composer-shell:hover{border-color:color-mix(in srgb, var(--sage-dark,#536b5c) 36%, transparent)}.agent-chat--panel .agent-composer-shell:focus-within{border-color:color-mix(in srgb, var(--sage-dark,#536b5c) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--sage-dark,#536b5c) 8%, transparent), 0 8px 26px #3043371a}.agent-chat--panel .agent-composer{margin:0}.agent-chat--panel .agent-composer-field{height:54px;position:relative}.agent-chat--panel .agent-composer-input{box-sizing:border-box;width:100%;height:100%;color:var(--ink,#25332a);font:inherit;appearance:none;background:0 0;border:0;outline:0;padding:14px 6px 12px 0;font-size:15px;position:absolute;inset:0}.agent-chat--panel .agent-composer-input::placeholder{color:color-mix(in srgb, var(--muted,#758078) 72%, transparent);opacity:1}.agent-chat--panel .input-actions{z-index:1;justify-content:flex-end;align-items:center;display:flex;position:relative}.agent-chat--panel .send-button{background:var(--sage,#6f8978);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;transition:background .16s,opacity .16s,transform .16s;display:grid}.agent-chat--panel .send-button:hover:not(:disabled){background:var(--sage-dark,#536b5c);transform:translateY(-1px)}.agent-chat--panel .send-button:disabled{cursor:default;opacity:.34}.agent-chat--panel .send-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.agent-composer-field{min-width:0;position:relative}.agent-composer-input{resize:none;white-space:pre-wrap;scrollbar-width:none;min-height:54px;max-height:140px;padding-block:16px;line-height:1.5!important}.agent-composer-input::-webkit-scrollbar{display:none}.agent-chat .agent-composer .agent-composer-shell{border-radius:30px;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto;align-content:normal;align-items:center;gap:0 8px;min-height:62px;padding:6px 12px}.agent-chat .agent-composer .agent-composer-field{min-width:0;height:auto}.agent-chat .agent-composer .agent-composer-input{box-sizing:border-box;overflow-wrap:anywhere;white-space:pre-wrap;scrollbar-width:thin;scrollbar-gutter:stable both-edges;scrollbar-color:var(--line) transparent;width:100%;min-height:0;max-height:none;padding:10px 4px;font-size:1.125rem;display:block;position:relative;inset:auto;overflow-x:hidden;line-height:1.5!important}.agent-chat .agent-composer .agent-composer-input:placeholder-shown{white-space:nowrap;text-overflow:ellipsis}.agent-chat .agent-composer .agent-composer-input::-webkit-scrollbar{width:5px;display:block}@media (width<=640px){.agent-chat .agent-composer .agent-composer-input{font-size:1rem}}.agent-chat .agent-composer .input-actions{grid-area:1/2;align-self:center}.agent-chat .agent-composer .agent-composer-shell[data-multiline=true]{border-radius:24px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);padding-top:10px}.agent-chat .agent-composer .agent-composer-shell[data-multiline=true] .input-actions{grid-area:2/1;justify-self:end;margin-top:6px}.agent-chat--panel .chat-workspace-tools{align-self:flex-end;padding:8px 10px 0;position:relative;inset:auto}.agent-message-list:not(.modal-scroll){scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .28) transparent}.agent-conversation-navigator{--surface:var(--solid-surface,var(--paper-raised,#fff));--sage-pale:var(--sage-soft,#dce7df);--agent-border:color-mix(in srgb, var(--sage-dark,#536b5c) 20%, transparent);z-index:7;width:46px;max-height:calc(100dvh - 96px);color:var(--ink,#25332a);display:none;position:fixed;top:50dvh;left:24px;transform:translateY(-50%)}.agent-conversation-navigator:not(.is-positioned){visibility:hidden;pointer-events:none}.agent-conversation-navigator:before{content:"";inset-block:0;width:12px;position:absolute;right:44px}.agent-conversation-rail{box-sizing:border-box;background:color-mix(in srgb, var(--surface,#fff) 60%, transparent);scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;-webkit-backdrop-filter:blur(9px);border-radius:16px;flex-direction:column;align-items:center;gap:1px;width:46px;max-height:min(56dvh,420px);padding:9px 6px;transition:background .16s,box-shadow .16s;display:flex;overflow-y:auto;box-shadow:0 3px 14px #3043370a}.agent-conversation-rail::-webkit-scrollbar{display:none}.agent-conversation-navigator:hover .agent-conversation-rail,.agent-conversation-navigator:focus-within .agent-conversation-rail,.agent-conversation-navigator.is-open .agent-conversation-rail{background:color-mix(in srgb, var(--surface,#fff) 88%, transparent);box-shadow:0 7px 24px #30433717}.agent-conversation-marker{cursor:pointer;background:0 0;border:0;outline:0;flex:none;place-items:center;width:32px;height:15px;padding:0;display:grid}.agent-conversation-marker>span{background:color-mix(in srgb, var(--sage-dark,#536b5c) 47%, transparent);border-radius:99px;width:15px;height:3px;transition:width .17s,background .17s,transform .17s}.agent-conversation-marker:hover>span,.agent-conversation-marker:focus-visible>span{background:color-mix(in srgb, var(--sage-dark,#536b5c) 76%, transparent);width:22px}.agent-conversation-marker.is-active>span{background:var(--sage-dark,#536b5c);width:27px;height:3.5px}.agent-conversation-marker:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--sage-dark,#536b5c) 25%, transparent);border-radius:7px}.agent-conversation-jump-panel{box-sizing:border-box;border:1px solid var(--agent-border);background:color-mix(in srgb, var(--surface,#fff) 96%, var(--sage-pale,#dce7df));opacity:0;visibility:hidden;pointer-events:none;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--sage-dark,#536b5c) 26%, transparent) transparent;scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:pan-y;border-radius:20px;width:min(370px,31vw);max-height:min(56dvh,420px);padding:8px;transition:opacity .15s,transform .19s cubic-bezier(.2,.75,.25,1),visibility .15s;position:absolute;top:50%;right:54px;overflow:hidden auto;transform:translate(10px,-50%);box-shadow:0 18px 54px #27372c2e}.agent-conversation-navigator.is-open .agent-conversation-jump-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%)}.agent-conversation-jump-panel ol{grid-template-columns:minmax(0,1fr);gap:2px;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:grid}.agent-conversation-jump-panel li{min-width:0}.agent-conversation-jump-panel button{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--ink,#25332a);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;padding:9px 12px;font-size:14px;line-height:1.45;transition:background .14s,color .14s;display:block;overflow:hidden}.agent-conversation-jump-panel button span{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;display:block;overflow:hidden}.agent-conversation-jump-panel button:hover,.agent-conversation-jump-panel button:focus-visible{background:color-mix(in srgb, var(--sage-pale,#dce7df) 58%, transparent);outline:0}.agent-conversation-jump-panel button.is-active{background:color-mix(in srgb, var(--sage-pale,#dce7df) 82%, transparent);color:var(--sage-dark,#536b5c);font-weight:620}@media (width>=1440px) and (height>=560px){.agent-conversation-navigator--page{display:flex}}.agent-turn{width:100%;animation:.24s cubic-bezier(.2,.75,.25,1) both agent-turn-in;display:flex}.agent-turn.chat-turn-user{justify-content:flex-end}.agent-turn.chat-turn-assistant{justify-content:flex-start}.agent-message-stack{flex-direction:column;width:100%;min-width:0;max-width:min(760px,100%);display:flex}.chat-turn-user .agent-message-stack{align-items:flex-end}.chat-turn-assistant .agent-message-stack{align-items:flex-start}.agent-generation-duration{min-height:18px;color:var(--muted,#758078);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:0 3px 6px;font-size:13px;line-height:1.4;display:inline-flex}.agent-generation-duration.is-active:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite agent-duration-pulse}@keyframes agent-duration-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:.9;transform:scale(1)}}.agent-message{min-width:0;max-width:100%;color:var(--ink,#25332a);overflow-wrap:anywhere;white-space:pre-wrap;font-size:15px;line-height:1.72}.agent-message.chat-message-user{border:1px solid color-mix(in srgb, var(--sage-dark,#536b5c) 10%, transparent);background:color-mix(in srgb, var(--sage-pale,#dce7df) 62%, transparent);border-radius:18px 18px 6px;max-width:min(86%,680px);padding:10px 14px}.agent-message.chat-message-assistant{padding:2px 3px}.agent-chat .chat-message-actions{pointer-events:none;align-items:center;gap:1px;width:100%;min-height:28px;margin-top:5px;display:flex}.agent-chat .chat-turn:hover .chat-message-actions,.agent-chat .chat-turn:focus-within .chat-message-actions,.agent-chat .chat-message-actions.has-versions{pointer-events:auto}.agent-chat .chat-message-action{width:28px;height:28px;color:var(--muted,#758078);cursor:pointer;opacity:0;visibility:visible;pointer-events:none;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:color .14s,background .14s,opacity .14s;display:grid}.agent-chat .chat-turn:hover .chat-message-action,.agent-chat .chat-turn:focus-within .chat-message-action{opacity:.65;pointer-events:auto}.agent-chat .chat-turn:hover .chat-message-action:hover,.agent-chat .chat-turn:focus-within .chat-message-action:focus-visible{background:color-mix(in srgb, var(--sage-pale,#dce7df) 55%, transparent);opacity:1}.agent-chat .chat-message-action svg{fill:none;stroke:currentColor;width:16px;height:16px}.agent-chat .chat-turn .chat-message-action:disabled{cursor:default;opacity:.32}.agent-answer-recovery{border:1px solid color-mix(in srgb, var(--agent-warning,#a86d32) 28%, var(--agent-border));background:color-mix(in srgb, var(--agent-warning,#a86d32) 7%, var(--agent-card,#fff));border-radius:16px;justify-items:start;gap:12px;width:min(520px,100%);margin-top:8px;padding:16px 18px;display:grid}.agent-answer-recovery p{color:var(--ink,#25332a);margin:0;font-size:14px;line-height:1.65}.agent-answer-regenerate{border:1px solid var(--sage-dark,#536b5c);color:#fff;background:var(--sage-dark,#536b5c);min-height:38px;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 15px;font-weight:650;display:inline-flex}.agent-answer-regenerate svg{fill:none;stroke:currentColor;width:17px;height:17px}.agent-answer-regenerate:disabled{cursor:not-allowed;opacity:.48}.agent-chat .chat-version-nav{color:var(--muted,#758078);font-variant-numeric:tabular-nums;align-items:center;gap:1px;margin-left:4px;display:inline-flex}.agent-chat .chat-answer-version-nav{margin-left:auto}.agent-chat .chat-version-button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.agent-chat .chat-version-button:hover:not(:disabled){color:var(--ink,#25332a);background:color-mix(in srgb, var(--sage-pale,#dce7df) 55%, transparent)}.agent-chat .chat-version-button:disabled{cursor:default;opacity:.3}.agent-chat .chat-version-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.agent-chat .chat-version-counter{min-width:36px;color:var(--ink-soft,#536158);text-align:center;font-size:12px;font-weight:590;line-height:28px}.agent-chat .chat-edit-form{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--sage-dark,#536b5c) 18%, transparent);background:color-mix(in srgb, var(--sage-pale,#dce7df) 72%, var(--surface,#fff));border-radius:18px 18px 6px;gap:9px;width:min(86%,680px);padding:11px 12px;display:grid;box-shadow:0 8px 24px #30433712}.agent-chat .chat-edit-input{box-sizing:border-box;resize:vertical;width:100%;min-height:76px;max-height:220px;color:var(--ink,#25332a);font:inherit;background:0 0;border:0;outline:0;padding:2px 4px;font-size:15px;line-height:1.65}.agent-chat .chat-edit-actions{justify-content:flex-end;gap:7px;display:flex}.agent-chat .chat-edit-button{min-height:32px;color:var(--ink-soft,#536158);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:12px;font-weight:630}.agent-chat .chat-edit-button:hover:not(:disabled){background:color-mix(in srgb, var(--sage-pale,#dce7df) 55%, transparent)}.agent-chat .chat-edit-button.is-primary{background:var(--sage-dark,#536b5c);color:var(--surface,#fff)}.agent-chat .chat-edit-button.is-primary:hover:not(:disabled){background:color-mix(in srgb, var(--sage-dark,#536b5c) 88%, #000)}.agent-chat .chat-edit-button:disabled{cursor:default;opacity:.42}.agent-chat .chat-thinking{align-items:center;min-height:26px;display:inline-flex}.agent-chat .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes agent-turn-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.agent-markdown{white-space:normal;min-width:0}.agent-markdown>:first-child{margin-top:0}.agent-markdown>:last-child{margin-bottom:0}.agent-markdown h1,.agent-markdown h2,.agent-markdown h3,.agent-markdown h4{color:inherit;margin:1.2em 0 .55em;font-weight:650;line-height:1.35}.agent-markdown h1{font-size:1.35em}.agent-markdown h2{font-size:1.2em}.agent-markdown h3{font-size:1.08em}.agent-markdown h4{font-size:1em}.agent-markdown p,.agent-markdown ul,.agent-markdown ol,.agent-markdown blockquote,.agent-markdown pre,.agent-markdown table{margin:.65em 0}.agent-markdown ul,.agent-markdown ol{padding-left:1.5em}.agent-markdown li+li{margin-top:.25em}.agent-markdown blockquote{border-left:3px solid var(--agent-border);color:var(--muted,#758078);padding-left:1em}.agent-markdown code{background:color-mix(in srgb, var(--sage-pale,#dce7df) 58%, transparent);border-radius:6px;padding:.14em .4em;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.agent-markdown pre{border:1px solid var(--agent-border);background:color-mix(in srgb, var(--ink,#25332a) 5%, var(--surface,#fff));white-space:pre;border-radius:12px;max-width:100%;padding:13px 15px;line-height:1.55;overflow-x:auto}.agent-markdown pre code{background:0 0;padding:0;font-size:.86em}.agent-markdown a{color:var(--sage-dark,#536b5c);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:from-font}.agent-markdown table{border-collapse:collapse;white-space:nowrap;max-width:100%;display:block;overflow-x:auto}.agent-markdown th,.agent-markdown td{border:1px solid var(--agent-border);text-align:left;padding:7px 10px}.agent-curriculum-results>.ui-disclosure{margin-block:.75em}.agent-curriculum-results .agent-curriculum-note{white-space:pre-wrap;overflow-wrap:anywhere}.agent-markdown hr{border:0;border-top:1px solid var(--agent-border);margin:1em 0}.agent-markdown input[type=checkbox]{accent-color:var(--sage-dark,#536b5c);margin-right:.45em}.agent-card,.agent-conversation-form-anchor{box-sizing:border-box;width:min(720px,100%);min-width:0}.agent-card{border:1px solid var(--agent-border);background:var(--agent-card);border-radius:18px;margin-top:10px;padding:16px;box-shadow:0 8px 24px #3043370d}.chat-turn-user .agent-card{margin-left:auto}.agent-card:not(.agent-resource-card):not(.agent-selection-card):not(.agent-proposal-card) p,.agent-card.agent-resource-card>p{margin:8px 0 0;line-height:1.65}.agent-card-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.agent-card-heading>span,.agent-card-kicker,.agent-source-line,.agent-section-id{color:var(--muted,#758078);font-size:12px}.agent-result-list{gap:8px;display:grid}.agent-notice-list{border:1px solid color-mix(in srgb, var(--agent-border) 72%, transparent);background:color-mix(in srgb, var(--surface,#fff) 78%, transparent);border-radius:13px;display:grid;overflow:hidden}.agent-notice-result{border-top:1px solid color-mix(in srgb, var(--agent-border) 55%, transparent);min-width:0;padding:11px 12px}.agent-notice-result:first-child{border-top:0}.agent-notice-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.agent-notice-title{min-width:0;color:var(--ink,#25332a);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;font-weight:650;line-height:1.45;text-decoration:none;display:block;overflow:hidden}.agent-notice-origin{min-height:28px;color:var(--sage-dark,#536b5c);white-space:nowrap;border-radius:7px;flex:none;align-items:center;padding:0 7px;font-size:12px;font-weight:620;line-height:1;text-decoration:none;display:inline-flex}.agent-notice-origin:hover,.agent-notice-origin:focus-visible{background:color-mix(in srgb, var(--sage-pale,#dce7df) 55%, transparent);text-underline-offset:3px;outline:0;text-decoration:underline}a.agent-notice-title:hover,a.agent-notice-title:focus-visible{color:var(--sage-dark,#536b5c);text-underline-offset:3px;text-decoration:underline}.agent-notice-meta{color:var(--muted,#758078);flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:12px;display:flex}.agent-notice-result p{color:var(--muted,#758078);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.agent-course-result{border-top:1px solid color-mix(in srgb, var(--agent-border) 65%, transparent);gap:7px;padding:12px 0;display:grid}.agent-course-result:first-child{border-top:0}.agent-course-result>div:first-child{justify-content:space-between;gap:12px;display:flex}.agent-course-meta{color:var(--muted,#758078);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.agent-empty-card{color:var(--muted,#758078)}.agent-course-groups{gap:10px;display:grid}.agent-course-group{border:1px solid color-mix(in srgb, var(--agent-border) 72%, transparent);background:color-mix(in srgb, var(--surface,#fff) 78%, transparent);border-radius:13px;overflow:hidden}.agent-course-group-heading{background:color-mix(in srgb, var(--sage-pale,#dce7df) 34%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.agent-course-group-heading>div:first-child,.agent-detail-heading>div:first-child{align-items:baseline;gap:8px;min-width:0;display:flex}.agent-course-code{color:var(--muted,#758078);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:500}.agent-course-group-meta{color:var(--muted,#758078);flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:12px;display:flex}.agent-section-list{display:grid}.agent-section-row{border-top:1px solid color-mix(in srgb, var(--agent-border) 55%, transparent);grid-template-columns:minmax(100px,126px) minmax(90px,1fr) auto;align-items:center;gap:10px;min-height:43px;padding:7px 11px;display:grid}.agent-section-row:first-child{border-top:0}.agent-section-id-badge{color:var(--sage-dark,#536b5c);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:650;overflow:hidden}.agent-section-teacher{flex-direction:column;min-width:0;font-size:13px;display:flex}.agent-section-teacher small{color:var(--muted,#758078);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-section-signals{color:var(--muted,#758078);white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;font-size:11px;display:flex}.agent-capacity{background:color-mix(in srgb, var(--sage-pale,#dce7df) 52%, transparent);border-radius:999px;padding:3px 7px}.agent-capacity.is-open{color:var(--agent-success);background:var(--agent-success-soft)}.agent-capacity.is-full{color:var(--agent-warning);background:var(--agent-warning-soft)}.agent-capacity.is-over{color:var(--agent-danger);background:var(--agent-danger-soft)}.agent-results-toggle{width:100%;color:var(--sage-dark,#536b5c);background:color-mix(in srgb, var(--sage-pale,#dce7df) 42%, transparent);cursor:pointer;font:inherit;border:0;border-radius:10px;margin-top:10px;padding:8px 10px;font-size:12px}.agent-results-toggle:disabled{cursor:wait;opacity:.68}.agent-results-link{box-sizing:border-box;text-align:center;text-decoration:none;display:block}.agent-results-error{color:var(--agent-danger);text-align:center;font-size:12px}.agent-detail-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:13px;display:flex}.agent-detail-heading strong{font-size:18px}.agent-detail-facts{border:1px solid color-mix(in srgb, var(--agent-border) 65%, transparent);background:color-mix(in srgb, var(--agent-border) 60%, transparent);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.agent-detail-facts>div{background:var(--agent-card);min-width:0;padding:9px 10px}.agent-detail-facts dt{color:var(--muted,#758078);margin-bottom:3px;font-size:11px}.agent-detail-facts dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:600;overflow:hidden}.agent-detail-facts dd.is-warning{color:var(--agent-danger)}.agent-detail-section{margin-top:14px}.agent-detail-section h4{margin:0 0 7px;font-size:13px}.agent-schedule-list{border:1px solid color-mix(in srgb, var(--agent-border) 65%, transparent);border-radius:11px;display:grid;overflow:hidden}.agent-schedule-row{border-top:1px solid color-mix(in srgb, var(--agent-border) 52%, transparent);grid-template-columns:54px 86px 96px minmax(0,1fr);gap:8px;padding:8px 10px;font-size:12px;display:grid}.agent-schedule-row:first-child{border-top:0}.agent-schedule-row span{color:var(--muted,#758078)}.agent-detail-notes p{grid-template-columns:68px minmax(0,1fr);gap:8px;margin:5px 0 0;font-size:12px;line-height:1.55;display:grid}.agent-detail-notes p span{color:var(--muted,#758078)}.agent-option-tabs{gap:6px;padding-bottom:3px;display:flex;overflow-x:auto}.agent-option-tabs button{border:1px solid var(--agent-border);min-height:32px;color:var(--muted,#758078);cursor:pointer;font:inherit;background:0 0;border-radius:999px;flex:none;padding:0 11px;font-size:12px}.agent-option-tabs button.is-active{border-color:var(--sage-dark,#536b5c);color:#fff;background:var(--sage-dark,#536b5c)}.agent-arrangement-summary{color:var(--muted,#758078);flex-wrap:wrap;gap:7px 16px;margin-top:12px;font-size:12px;display:flex}.agent-arrangement-summary b{color:var(--ink,#25332a)}.agent-timetable-unavailable{border:1px dashed var(--agent-border);color:var(--muted,#758078);border-radius:12px;gap:4px;margin-top:12px;padding:12px;font-size:12px;display:grid}.agent-timetable-unavailable strong{color:var(--ink,#25332a)}.agent-arrangement-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px;display:flex}.agent-arrangement-actions .agent-action-button{justify-content:center;align-items:center;min-height:34px;padding-inline:12px;font-size:12px;text-decoration:none;display:inline-flex}.agent-export-error{color:var(--agent-danger);font-size:11px}.agent-thinking-status{padding:2px 0}.agent-thinking-status .chat-thinking-text{color:var(--muted,#758078);-webkit-text-fill-color:currentColor;background:0 0;-webkit-background-clip:border-box;background-clip:border-box;animation:none;position:relative}.agent-thinking-status .chat-thinking-text:after{content:attr(data-label);background-image:linear-gradient(100deg, transparent 24%, color-mix(in srgb, var(--sage-dark,#536b5c) 76%, white) 48%, var(--sage-dark,#536b5c) 53%, transparent 76%);-webkit-text-fill-color:transparent;pointer-events:none;background-position:110% 0;background-repeat:no-repeat;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.9s cubic-bezier(.45,0,.55,1) infinite agent-thinking-glint;position:absolute;inset:0}@keyframes agent-thinking-glint{0%{background-position:110% 0}to{background-position:-110% 0}}.agent-chip-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.agent-chip{background:var(--sage-pale,#dce7df);border-radius:999px;padding:6px 10px;font-size:13px}.agent-proposal-card{container-type:inline-size}.agent-proposal-card>.agent-card-heading{align-items:center;margin-bottom:16px}.agent-proposal-badge{background:var(--agent-warning-soft);color:var(--agent-warning);border-radius:8px;padding:4px 9px;font-size:12px}.agent-proposal-metrics{color:var(--muted,#758078);flex-wrap:wrap;gap:8px 16px;font-size:13px;display:flex}.agent-proposal-card .agent-proposal-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;display:grid}.agent-proposal-metrics>div{gap:6px;min-width:0;display:grid}.agent-proposal-metrics dt{color:var(--ink-soft);font-size:12px}.agent-proposal-metrics dd{color:var(--ink);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;font-size:20px;display:flex}.agent-proposal-metrics small{color:var(--ink-soft);font-size:12px;font-weight:400}.agent-proposal-metrics .agent-proposal-before{color:var(--muted);font-size:14px}.agent-proposal-changes+.agent-proposal-changes{margin-top:20px}.agent-proposal-changes h4{align-items:baseline;gap:8px;margin:0;font-size:14px;display:flex}.agent-proposal-changes h4 span{color:var(--muted);font-size:12px;font-weight:400}.agent-proposal-changes.is-remove h4{color:var(--agent-danger)}.agent-proposal-course-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0;padding:0;list-style:none;display:grid}.agent-proposal-course-list>li{border-bottom:1px solid var(--line-soft);min-width:0;padding:12px 0}.agent-proposal-course-heading{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.agent-proposal-course-heading strong{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:550;line-height:1.5}.agent-proposal-course-heading>span{overflow-wrap:anywhere;min-width:0;color:var(--muted);font-size:12px}.agent-proposal-course-teacher{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.5;display:block}.agent-proposal-changes>.ui-button{margin-top:8px}.agent-card.agent-proposal-card .agent-proposal-status{margin:16px 0 0;font-size:13px;font-weight:500;line-height:1.65}.agent-card.agent-proposal-card .agent-proposal-status.is-warning{background:var(--agent-warning-soft);border-radius:10px;padding:10px 12px}.agent-card.agent-proposal-card .agent-proposal-result .agent-proposal-status{margin:0}@container (width<=480px){.agent-proposal-course-list{grid-template-columns:minmax(0,1fr)}.agent-proposal-card .agent-proposal-metrics{gap:8px}.agent-proposal-metrics dd{font-size:18px}}.agent-proposal-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.agent-action-button,.agent-retry-button{border:1px solid var(--agent-border);min-height:38px;color:var(--sage-dark,#536b5c);cursor:pointer;background:0 0;border-radius:999px;padding:0 15px}.agent-action-button.is-primary{border-color:var(--sage-dark,#536b5c);color:#fff;background:var(--sage-dark,#536b5c)}.agent-action-button:disabled{cursor:not-allowed;opacity:.48}.agent-avatar-upload-card{gap:10px;display:grid}.agent-avatar-upload-card p{color:var(--muted,#758078);margin:0;font-size:13px}.agent-avatar-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.agent-avatar-upload-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.agent-avatar-upload-status{color:var(--agent-success);font-size:13px;font-weight:600}.agent-avatar-upload-error{color:var(--agent-danger)!important}.agent-proposal-status{font-weight:600}.agent-proposal-status.is-success{color:var(--agent-success)}.agent-proposal-status.is-warning,.agent-warning-card{color:var(--agent-warning)}.agent-proposal-result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin-top:14px;display:flex}.agent-proposal-result .agent-proposal-status{margin:0}.agent-proposal-undo{min-height:34px;padding-inline:13px}.agent-tool-status{color:var(--muted,#758078);margin:10px auto;font-size:13px}.agent-retry-button{align-self:center;margin:8px}.agent-history-row{border-radius:13px;align-items:center;gap:6px;display:flex}.agent-history-row .history-item{flex:1}.agent-history-row.is-pinned{background:rgb(var(--accent-rgb) / .055)}.agent-history-actions{flex-shrink:0;align-items:center;gap:2px;padding-right:7px;display:inline-flex}.agent-history-summarizing{align-items:center;gap:8px;display:inline-flex}.agent-history-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite agent-history-spin}@keyframes agent-history-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.agent-history-spinner{animation:none}}.agent-history-rename label{gap:10px;display:grid}.agent-history-rename [role=alert]{color:var(--agent-danger,#b45f59)}.agent-history-action:disabled{opacity:.4;cursor:not-allowed}.agent-history-action{width:34px;height:34px;color:var(--muted,#758078);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}.agent-history-action:hover,.agent-history-action:focus-visible{background:rgb(var(--accent-rgb,79 107 237) / .09)}.agent-history-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.agent-history-pin[aria-pressed=true]{color:var(--sage-dark,#536b5c)}.agent-history-pin svg{stroke-width:1.75px;transition:fill .15s;overflow:visible}.agent-history-pin[aria-pressed=true] svg{fill:currentColor}.agent-history-layer{--agent-history-ink:var(--ink,var(--text,#2a2d33));--agent-history-muted:var(--muted,var(--text-sub,#6b6e76));--agent-history-line:var(--modal-border,var(--border,#ddd8cb));--agent-history-surface:var(--modal-surface,var(--panel-bg,#fff));z-index:1400;place-items:center;width:100vw;height:100dvh;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden auto}:root[data-theme=light] .agent-history-layer,:root[data-theme=dark] .agent-history-layer{-webkit-backdrop-filter:blur(3px);background:#050a167a}.agent-history-layer.is-closing{pointer-events:none;opacity:0}.agent-history-layer .agent-history-modal{border:1px solid var(--agent-history-line);width:min(100%,540px);max-height:calc(100dvh - 48px);color:var(--agent-history-ink);background:var(--agent-history-surface);border-radius:20px;padding:28px;position:relative;overflow:hidden;box-shadow:0 24px 72px #00000052}.agent-history-layer .modal-title{color:var(--agent-history-ink);margin:0;font-size:1.25rem;line-height:1.25}.agent-history-layer .modal-close{color:var(--agent-history-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.agent-history-layer .modal-close:hover,.agent-history-layer .modal-close:focus-visible{color:var(--agent-history-ink);background:rgb(var(--accent-rgb,79 107 237) / 9%)}.agent-history-layer .modal-close svg{fill:none;stroke:currentColor;width:20px;height:20px}.agent-history-layer .history-list{max-height:min(52dvh,480px)}.agent-history-layer .history-item{color:var(--agent-history-ink)}.agent-history-layer .history-item-preview,.agent-history-layer .agent-history-action{color:var(--agent-history-muted)}.agent-history-layer .agent-history-pin[aria-pressed=true]{color:var(--sage-dark,var(--accent-strong,#536b5c))}.agent-history-layer .agent-history-delete,.agent-history-layer .agent-history-delete:hover,.agent-history-layer .agent-history-delete:focus-visible{color:var(--agent-danger,#b45f59)}.agent-history-layer .platform-modal-empty{border:1px dashed var(--agent-history-line);color:var(--agent-history-ink);background:rgb(var(--accent-rgb,79 107 237) / 3%);text-align:center;border-radius:16px;margin-top:22px;padding:26px 22px}@media (width<=640px){.agent-history-layer{padding:12px}.agent-history-layer .agent-history-modal{border-radius:16px;width:100%;max-height:calc(100dvh - 24px);padding:22px 18px}}@media (width<=720px){.agent-chat--panel{min-height:100%}.agent-chat--panel .agent-message-list{padding-inline:12px}.agent-message-stack,.agent-message,.agent-markdown,.agent-card{min-width:0;max-width:100%}.agent-message{font-size:14px;line-height:1.65}.agent-message.chat-message-user,.agent-chat .chat-edit-form{max-width:92%}.agent-card{box-sizing:border-box;border-radius:16px;width:100%;padding:20px}.agent-card-heading{flex-wrap:wrap;align-items:flex-start;gap:4px 10px}.agent-notice-title{white-space:normal;text-overflow:clip}.agent-notice-result p{-webkit-line-clamp:3}.agent-notice-origin{min-height:32px;padding-inline:8px}.agent-course-group-heading{flex-direction:column;align-items:flex-start;gap:4px}.agent-course-group-meta{justify-content:flex-start}.agent-section-row{grid-template-columns:102px minmax(0,1fr);gap:5px 9px}.agent-section-signals{grid-column:1/-1;justify-content:flex-start}.agent-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-schedule-row{grid-template-columns:48px 1fr 1fr}.agent-schedule-row span:last-child{grid-column:2/-1}}@media (width<=440px){.agent-message.chat-message-user,.agent-chat .chat-edit-form{max-width:96%}.agent-message.chat-message-user{border-radius:16px 16px 5px;padding:9px 12px}.agent-card{border-radius:14px;margin-top:8px}.agent-notice-result{padding:10px}.agent-notice-heading{gap:6px}.agent-notice-origin{padding-inline:6px}.agent-section-row{grid-template-columns:1fr;gap:4px}.agent-section-signals{flex-wrap:wrap;grid-column:1}.agent-detail-facts{grid-template-columns:1fr}.agent-schedule-row{grid-template-columns:44px minmax(0,1fr);gap:5px 8px}.agent-schedule-row span:last-child{grid-column:2}.agent-detail-notes p{grid-template-columns:1fr;gap:2px}.agent-proposal-actions,.agent-arrangement-actions{flex-direction:column;align-items:stretch}.agent-proposal-actions .agent-action-button,.agent-arrangement-actions .agent-action-button{box-sizing:border-box;width:100%}}@media (prefers-reduced-motion:reduce){.agent-message-list{scroll-behavior:auto}.agent-chat .chat-message-action{transition:none}.agent-generation-duration.is-active:before{animation:none}.agent-thinking-status .chat-thinking-text:after{content:none;animation:none}}.agent-toolbar-host{pointer-events:none;position:absolute;inset:0}.agent-toolbar-host .chat-workspace-tools{pointer-events:auto}.agent-chat-view,.agent-chat-view .hero,.agent-chat-view .agent-chat,.agent-chat-view .agent-message-list{min-width:0}.agent-chat-view .hero{transform:none;container:agent-hero/inline-size}.agent-chat-view:not(.is-chatting){--agent-empty-height:100svh;--agent-toolbar-clearance:92px;min-height:var(--agent-empty-height);padding-block:0}.agent-chat-view:not(.is-chatting) .hero{height:var(--agent-empty-height);min-height:var(--agent-empty-height);grid-template-rows:minmax(min-content,1fr) auto minmax(40px,1fr);display:grid}.agent-chat-view:not(.is-chatting) .hero-copy{padding-top:var(--agent-toolbar-clearance);align-self:end;margin-bottom:clamp(40px,6svh,60px)}.agent-chat-view:not(.is-chatting) .agent-chat{align-self:start}.agent-chat-view:not(.is-chatting) .prompt-wrap{margin-top:0}.agent-chat-view:not(.is-chatting) .agent-composer-disclaimer{inset-inline:0;position:absolute;top:100%}.agent-chat-view .hero-copy{grid-template:"greeting artwork"1fr"title artwork"1fr/minmax(0,1fr) clamp(80px,22cqi,180px);gap:18px 24px;display:grid}.agent-chat-view .eyebrow{grid-area:greeting;align-self:end;margin:0}.hero-title{grid-area:title;align-self:start;min-width:0;container-type:inline-size}.agent-chat-view .typewriter{white-space:nowrap;text-wrap:nowrap;max-width:100%;min-height:1.2em;font-size:clamp(1rem,7.8cqi,2.8rem);line-height:1.2}.hero-artwork{aspect-ratio:1;pointer-events:none;grid-area:artwork;align-self:center;width:100%;display:grid}.botanical-sketch{width:100%;height:100%;color:var(--sage);opacity:.2;grid-area:1/1;display:none}html:not([data-accent]) .botanical-sketch[data-illustration=wildflower],html[data-accent=forest] .botanical-sketch[data-illustration=wildflower],html[data-accent=amber] .botanical-sketch[data-illustration=sun],html[data-accent=coast] .botanical-sketch[data-illustration=palm],html[data-accent=night] .botanical-sketch[data-illustration=night]{display:block}@container agent-hero (width<=600px){.agent-chat-view .hero-copy{grid-template:"greeting""title"/minmax(0,1fr);gap:12px}.hero-artwork{display:none}}@media (width<=930px){.agent-chat-view:not(.is-chatting){--agent-empty-height:calc(100svh - var(--compact-app-header,111px));--agent-toolbar-clearance:72px}.agent-chat-view.is-chatting{height:calc(100dvh - var(--compact-app-header,111px));min-height:calc(100dvh - var(--compact-app-header,111px))}.agent-chat-view.is-chatting .hero{height:100%;min-height:0}.agent-chat-view.is-chatting .prompt-wrap{padding-bottom:max(12px, env(safe-area-inset-bottom))}.agent-toolbar-host .chat-workspace-tools{max-width:calc(100% - 24px)}}@media (width<=520px){.agent-chat-view.is-chatting .agent-message-list{scrollbar-gutter:auto;padding-right:2px}.agent-toolbar-host .chat-workspace-tools{gap:2px}}@media (height<=620px){.agent-chat-view:not(.is-chatting){--agent-toolbar-clearance:64px}.agent-chat-view:not(.is-chatting) .hero-copy{grid-template:"greeting""title"/minmax(0,1fr);gap:12px;margin-bottom:24px}.agent-chat-view:not(.is-chatting) .hero-artwork{display:none}}@media (width<=930px) and (height<=620px){.agent-chat-view.is-chatting .chat-thread{gap:18px;padding-top:52px}.agent-chat-view.is-chatting .prompt-wrap{padding-top:8px}}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.loading-state{color:var(--sage-dark);place-items:center;gap:10px;display:grid}.loading-state-fullscreen{z-index:140;background:var(--paper);position:fixed;inset:0}.loading-state-inline{min-height:160px;padding:24px}.loading-spinner{border:2px solid rgb(var(--accent-rgb) / .16);border-top-color:var(--sage);border-radius:50%;width:34px;height:34px;animation:.76s linear infinite platform-loading-spin}.loading-state-inline .loading-spinner{animation:.76s linear infinite platform-loading-spin,1ms .14s both platform-loading-reveal}html[data-motion=reduced] .loading-spinner{animation:none}@media (prefers-reduced-motion:reduce){.loading-state .loading-spinner{animation:none}}.profile-page{overscroll-behavior:contain;height:100%;min-height:0;padding:clamp(24px,4vw,48px) clamp(18px,4vw,56px) 40px;overflow:auto}.profile-page-card{width:min(100%,900px);margin:0 auto}.profile-modal{width:min(100%,920px)}.profile-page.profile-page--embedded{height:auto;padding:0;overflow:visible}.profile-settings{border:1px solid var(--line-soft);background:var(--paper-raised);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;min-width:0;margin:0;display:grid}.profile-identity-row{border-bottom:1px solid var(--line-soft);grid-area:1/1/auto/-1;padding:24px 168px 24px 28px}.profile-identity{align-items:center;gap:18px;min-width:0;display:flex}.profile-identity-copy{min-width:0}.profile-identity-copy h1{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:1.3rem;font-weight:650;line-height:1.4}.profile-identity-copy p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:.78rem;line-height:1.5}.profile-identity-copy p span{color:var(--ink-soft);margin-inline-start:5px}.profile-edit-actions{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end;align-self:start;gap:8px;margin:24px 28px 0 0;display:flex}.profile-settings.is-editing .profile-identity{align-items:flex-start}.profile-identity-row .profile-avatar-controls{justify-items:start;margin-top:14px}.profile-fields{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;padding:24px 28px;display:grid}.profile-field-group{border:0;min-width:0;margin:0;padding:0}.profile-field-group legend{color:var(--ink);margin-bottom:16px;padding:0;font-size:.88rem;font-weight:650}.profile-field-stack{gap:16px;display:grid}.profile-field{gap:8px;min-width:0;display:grid}.profile-field>span{color:var(--ink-soft);font-size:.8rem;line-height:1.5}.profile-field-heading{justify-content:space-between;gap:12px;display:flex}.profile-field-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.profile-field-value{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.6}.profile-field-value.is-empty{color:var(--muted)}.profile-field-display{gap:4px;min-width:0;display:grid}.profile-visibility-status{color:var(--muted);font-size:.72rem;line-height:1.5}.profile-settings:not(.is-editing) .profile-field-group .profile-field{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:12px}.profile-signature{grid-column:1/-1}.profile-school-select{width:100%;min-width:0}.profile-school-select.ant-select{height:42px;font:inherit;border-radius:11px;font-size:.82rem}.profile-signature textarea{min-height:64px}.profile-form-error{grid-column:1/-1}.profile-error{color:var(--agent-danger,#c0392b);overflow-wrap:anywhere;margin:0;font-size:.8rem;line-height:1.6}.profile-load-state{justify-items:start;gap:16px;padding:28px;display:grid}.profile-page-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.profile-page-actions>:last-child{margin-inline-start:auto}.profile-social-summary{margin-top:12px}.profile-social-counts{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:22px;display:flex}.profile-social-counts button{color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;border:0;align-items:baseline;gap:6px;padding:3px 0;font-size:.82rem;display:inline-flex}.profile-social-counts strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem}.profile-social-counts button:hover,.profile-contributor-button:hover{color:var(--sage-dark);text-decoration:underline}.profile-muted,.profile-empty{color:var(--muted);font-size:.85rem;line-height:1.7}.profile-empty{margin:12px 0 0}.profile-text-button,.profile-contributor-button{color:inherit;cursor:pointer;font:inherit;text-align:start;background:0 0;border:0;border-radius:4px;padding:0}.profile-contributor-button{color:var(--sage-dark);text-underline-offset:3px;text-decoration:underline}.profile-field-heading{color:var(--ink-soft);align-items:center;font-size:.8rem;line-height:1.5}.profile-field-heading>label{white-space:nowrap;flex-shrink:0}.profile-visibility-select.ui-text-dropdown{flex:none;font-size:.8rem}.profile-uploads{border:1px solid var(--line-soft);background:var(--paper-raised);border-radius:18px;margin-top:28px;padding:24px 28px}.profile-uploads h3{margin:0;font-size:1rem;font-weight:650}.profile-section-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-inline-start:10px;font-size:.8rem;font-weight:400}.profile-resource-list,.profile-user-list{margin:12px 0 0;padding:0;list-style:none}.profile-resource-list li{border-bottom:1px solid var(--line-soft);padding:16px 0}.profile-resource-list li:last-child{border-bottom:0;padding-bottom:0}.profile-resource-title{color:var(--ink);overflow-wrap:anywhere;font-size:.94rem;font-weight:600;line-height:1.6;text-decoration:none}.profile-resource-title:hover{color:var(--sage-dark);text-decoration:underline}.profile-resource-meta{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.78rem;line-height:1.6;display:flex}.profile-resource-meta time{white-space:nowrap;margin-inline-start:auto}.profile-section-error{justify-items:start;gap:12px;margin-top:16px;display:grid}.profile-public-identity{align-items:center;gap:20px;display:flex}.profile-public-heading{flex:1;min-width:0}.profile-public-heading h3{color:var(--ink);overflow-wrap:anywhere;margin:0 0 12px;font-size:1.3rem}.profile-follow-button{flex-shrink:0}.profile-public-fields{gap:16px;margin:24px 0 0;font-size:.88rem;line-height:1.6;display:grid}.profile-public-fields:empty{display:none}.profile-public-fields>div{grid-template-columns:5em minmax(0,1fr);gap:12px;display:grid}.profile-public-fields dt{color:var(--muted)}.profile-public-fields dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.profile-user-list li+li:before{content:"";background:var(--line-soft);height:1px;margin:4px 16px;display:block}.profile-user-row{width:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:14px;padding:16px;transition:background-color .16s;display:flex}.profile-user-row:hover,.profile-user-row:focus-visible{background:var(--neutral-hover)}.profile-user-row>span:not(.platform-avatar){min-width:0}.profile-user-row strong{overflow-wrap:anywhere;font-size:.95rem;font-weight:600;display:block}.profile-user-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.78rem;display:block}.profile-user-row .platform-avatar{--platform-avatar-size:44px}.profile-user-arrow{width:22px;height:22px;color:var(--muted);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 22px;margin-inline-start:auto}.profile-save-confirmation .modal-footer{flex-wrap:wrap}@media (prefers-reduced-motion:reduce){.profile-user-row{transition:none}}.profile-social-modal .course-pagination,.profile-uploads .course-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:20px;display:flex}.profile-social-modal .course-page-button,.profile-uploads .course-page-button{border:1px solid var(--line-soft);background:var(--paper-raised);width:32px;height:32px;color:var(--ink);cursor:pointer;font:inherit;border-radius:8px;place-items:center;padding:0;font-size:.8rem;display:grid}.profile-social-modal .course-page-button>svg,.profile-uploads .course-page-button>svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px;height:16px}.profile-social-modal .course-page-button.is-active,.profile-uploads .course-page-button.is-active{background:var(--sage);color:var(--on-accent);border-color:var(--sage)}.profile-social-modal .course-page-button:disabled,.profile-uploads .course-page-button:disabled{opacity:.4;cursor:default}.profile-avatar-editor{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding-bottom:20px;display:flex}.profile-avatar-controls{gap:8px;min-width:0;display:grid}.profile-avatar-controls p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.6}.profile-avatar-file-input{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.profile-avatar-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=680px){.profile-page{padding:20px 16px max(24px, env(safe-area-inset-bottom))}.profile-identity-row{padding:20px 88px 20px 20px}.profile-identity{gap:12px}.profile-identity-row .platform-avatar{--platform-avatar-size:64px}.profile-fields{grid-template-columns:minmax(0,1fr);gap:24px;padding:20px}.profile-field .ui-input{font-size:16px}.profile-edit-actions{margin:20px 20px 0 0}.profile-settings.is-editing{flex-direction:column;display:flex}.profile-settings.is-editing .profile-identity-row{padding:20px}.profile-settings.is-editing .profile-identity{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:4px 12px;display:grid}.profile-settings.is-editing .profile-avatar-preview{grid-area:1/1/3}.profile-settings.is-editing .profile-identity-copy{display:contents}.profile-settings.is-editing .profile-identity-copy>h1{grid-area:1/2;align-self:end;font-size:1.15rem}.profile-settings.is-editing .profile-identity-copy>p{grid-area:2/2;align-self:start;margin:0}.profile-settings.is-editing .profile-social-summary{grid-area:3/1/auto/-1;margin-top:12px}.profile-settings.is-editing .profile-avatar-controls{flex-wrap:wrap;grid-area:4/1/auto/-1;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.profile-settings.is-editing .profile-avatar-controls p{flex:130px;font-size:.72rem}.profile-settings.is-editing .profile-edit-actions{border-top:1px solid var(--line-soft);align-self:stretch;gap:12px;margin:0;padding:16px 20px 20px}.profile-settings.is-editing .profile-edit-actions>.ui-button{flex:1}.profile-uploads{padding:20px}.profile-public-identity{flex-wrap:wrap;gap:12px}.profile-public-identity .platform-avatar{--platform-avatar-size:64px}.profile-public-heading{min-width:130px}.profile-public-heading h3{font-size:1.1rem}.profile-resource-meta time{margin-inline-start:0}}.onboarding-view{width:100%;height:var(--onboarding-viewport-height,100dvh);min-height:0;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.onboarding-header{grid-template-columns:1fr auto;align-items:center;gap:20px;width:min(100%,1120px);margin:0 auto;padding:28px 36px 14px;display:grid}.onboarding-brand{align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.onboarding-brand svg{fill:none;width:28px;height:28px;color:var(--sage-dark)}.onboarding-skip{text-align:center;grid-template-columns:1fr;width:auto;min-height:42px;font-size:14px}.onboarding-skip:disabled{pointer-events:none;opacity:.5}.onboarding-chat{width:min(100%, var(--content-max));margin:0 auto;overflow:hidden}.onboarding-chat .agent-message-list{overscroll-behavior:contain;overflow-anchor:none;width:100%;min-height:0;padding:28px 28px max(48px, env(safe-area-inset-bottom));flex-direction:column;flex:auto;gap:22px;scroll-padding:20px;display:flex;overflow-y:auto}.onboarding-chat .chat-turn{flex:none;width:100%}.onboarding-chat .agent-message-stack{max-width:100%}.onboarding-chat .chat-message{overflow-wrap:anywhere;white-space:pre-wrap}.onboarding-chat .chat-message:has(.agent-markdown){white-space:normal}.onboarding-chat .agent-card{max-width:100%}.onboarding-controls{width:100%;margin-top:16px}.onboarding-nickname{max-width:420px;margin-inline-start:auto}.onboarding-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.onboarding-help{color:var(--ink-soft);margin:8px 0;font-size:13px;line-height:1.7}.onboarding-error{color:var(--agent-danger);overflow-wrap:anywhere;margin:12px 0;font-size:13px;line-height:1.6}.onboarding-avatar .profile-avatar-editor{background:0 0;border:0;padding:0}.onboarding-avatar .profile-avatar-controls{min-width:0}.onboarding-avatar-receipt{margin-top:10px}.onboarding-examples{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:12px 0 16px;display:flex}.onboarding-examples .ui-button{white-space:normal;text-align:left;max-width:100%}.onboarding-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:16px 0 0;display:grid}.onboarding-feature{color:var(--ink);flex-direction:column;gap:9px;margin:0;text-decoration:none;display:flex}.onboarding-feature svg{fill:none;stroke:currentColor;width:23px;height:23px;color:var(--sage-dark)}.onboarding-feature strong{font-size:14px}.onboarding-feature span{color:var(--ink-soft);font-size:12px;line-height:1.7}.onboarding-feature:hover{border-color:var(--sage)}.onboarding-closed{padding:48px 28px}.onboarding-closed h2{font-size:22px}.onboarding-closed p{color:var(--ink-soft);line-height:1.7}.onboarding-view [aria-disabled=true]{opacity:.5;cursor:default}@media (width<=600px){.onboarding-header{padding:max(12px, env(safe-area-inset-top)) 18px 10px;gap:16px 8px}.onboarding-brand{font-size:16px}.onboarding-chat .agent-message-list{padding:22px 18px max(40px, env(safe-area-inset-bottom));gap:18px}.onboarding-features{grid-template-columns:1fr}.onboarding-feature{grid-template-columns:24px 1fr;gap:6px 10px;display:grid}.onboarding-feature span{grid-column:2}.onboarding-avatar .profile-avatar-editor{align-items:flex-start;gap:14px}.onboarding-nickname input{font-size:16px}}@media (prefers-reduced-motion:reduce){.onboarding-view *,.onboarding-view :before,.onboarding-view :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
