.course-community-page{padding:30px 0 48px}.community-notice{color:#1f665d;background:#eaf6f3;border:1px solid #7fb3a9;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:44px;margin-bottom:14px;padding:4px 6px 4px 13px;font-size:13px;display:grid}.community-action-error{color:#9d302f;background:#fff7f7;border:1px solid #f0b4ae;border-radius:7px;margin:10px 0 0;padding:8px 11px;font-size:13px;font-weight:600}.community-toolbar{grid-template-columns:minmax(280px,.78fr) minmax(380px,1.22fr);gap:24px;margin-bottom:52px;display:grid}.community-toolbar>button{place-self:end start}.community-share-button,.community-search-field{background:var(--surface);border:2px solid #426e94;border-radius:8px;min-width:0;min-height:98px;box-shadow:0 7px 18px #1f426017}.community-share-button{color:#174e73;text-align:left;background:linear-gradient(135deg,#fafdff 0%,#e5f2fc 100%);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.community-share-button:hover{border-color:#20597f;transform:translateY(-2px);box-shadow:0 12px 24px #1f426026}.community-action-icon{color:#fff;background:#2f6f9d;border:1px solid #719abb;border-radius:7px;place-items:center;width:48px;height:48px;display:grid}.community-action-copy{min-width:0}.community-action-copy strong,.community-action-copy small{display:block}.community-action-copy strong{font-size:18px}.community-action-copy small{color:#57758d;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:11px;overflow:hidden}.community-search-field{color:#346589;cursor:text;grid-template-columns:minmax(0,1fr);align-items:center;gap:14px;padding:15px 17px 15px 22px;display:grid}.community-search-field>span{min-width:0}.community-search-field small{color:#315d7f;margin-bottom:4px;font-size:11px;font-weight:750;display:block}.community-search-field input{height:34px;box-shadow:none;color:var(--text);background:0 0;border:0;border-radius:0;padding:0;font-size:16px}.community-search-field input:focus{box-shadow:none;border:0}.community-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(100%,1020px);display:grid}.community-favorite-list{flex-direction:column;gap:24px;width:min(100%,1020px);margin:0;padding:0;list-style:none;display:flex}.community-course-card{background:var(--surface);border:2px solid #426e94;border-radius:9px;grid-template-rows:minmax(0,1fr) auto;min-width:0;transition:transform .16s,box-shadow .16s;display:grid;overflow:hidden;box-shadow:0 8px 20px #1f42601a}.community-course-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #1f426029}.community-card-cover{color:#245f8e;background:linear-gradient(135deg,#ffffff73,#0000 62%),#dbeeff;border-bottom:2px solid;justify-content:space-between;align-items:flex-start;padding:22px;display:flex;position:relative;overflow:hidden}.community-accent-blue{border-color:#426e94}.community-accent-teal{border-color:#357d76}.community-accent-teal .community-card-cover{color:#24756c;background:linear-gradient(135deg,#ffffff7a,#0000 62%),#dff2ed}.community-accent-amber{border-color:#a77535}.community-accent-amber .community-card-cover{color:#936326;background:linear-gradient(135deg,#ffffff7a,#0000 62%),#fff0d6}.community-card-symbol{z-index:1;background:#ffffffb8;border:2px solid;border-radius:9px;place-items:center;width:58px;height:58px;display:grid;position:relative}.community-category-pill{z-index:1;background:#ffffffc2;border:1px solid;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:750;position:relative}.community-card-watermark{opacity:.11;position:absolute;bottom:-62px;right:68px;transform:rotate(-8deg)}.community-card-content{min-width:0;padding:18px 20px 16px}.community-card-author{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:17px;display:flex}.community-author-avatar{color:#255675;background:#e9f2f8;border:1px solid #789ab7;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.community-card-author small,.community-card-author strong{display:block}.community-card-author small{color:var(--muted);font-size:9px}.community-card-author strong{margin-top:2px;font-size:11px}.community-level-pill{color:#47687f;background:#f3f8fb;border:1px solid #a2b9ca;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:700}.community-card-content h2{overflow-wrap:anywhere;color:#183c59;margin-bottom:8px;font-size:20px}.community-card-content>p{min-height:42px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:14px;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.community-tags,.community-dialog-tags{flex-wrap:wrap;gap:6px;display:flex}.community-tags span,.community-dialog-tags span{color:#496a82;background:#f3f8fb;border:1px solid #b5c8d7;border-radius:4px;padding:4px 7px;font-size:9px}.community-card-footer{border-top:1px solid var(--line);background:#f8fbfd;flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:10px 14px 10px 20px;display:flex}.community-card-footer>div{gap:13px;min-width:0;display:flex}.community-card-footer>div>span{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.community-open-button{color:#255978;white-space:nowrap;background:#edf5fa;border:1px solid #7394ae;border-radius:5px;align-items:center;gap:6px;min-height:34px;padding:0 9px;font-size:11px;font-weight:750;display:inline-flex}.community-open-button:hover{background:#dfeefa;border-color:#326b91}.community-empty-state{width:min(100%,1020px);min-height:300px;color:var(--muted);background:#f8fbfda8;border:2px dashed #93adbf;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.community-empty-state strong{color:var(--text);font-size:16px}.community-empty-state span{margin-bottom:8px;font-size:11px}.community-dialog{background:var(--surface);border:2px solid #416d91;border-radius:9px;grid-template-rows:auto minmax(0,1fr) auto;width:min(560px,100vw - 28px);max-height:calc(100dvh - 32px);display:grid;overflow:hidden;box-shadow:0 22px 70px #0f232e47}.community-dialog>header,.community-dialog>footer{justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;display:flex}.community-dialog>header{border-bottom:1px solid var(--line);background:#edf6fc}.community-dialog>footer{border-top:1px solid var(--line);background:#f8fbfd}.community-dialog>footer>div{gap:8px;display:flex}.community-dialog>footer>span{color:var(--muted);font-size:11px}.community-dialog-heading{align-items:center;gap:11px;min-width:0;display:flex}.community-dialog-heading>span{color:#2c6288;background:#fff;border:1px solid #82a4bf;border-radius:7px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.community-dialog-heading h2,.community-dialog-heading p{margin:0}.community-dialog-heading h2{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.community-dialog-heading p,.community-dialog-heading small{color:var(--muted);margin-bottom:3px;font-size:10px;display:block}.community-dialog-body{min-height:0;padding:20px;overflow:auto}.community-share-dialog .community-dialog-body{gap:15px;display:grid}.community-share-dialog label{color:#244d6b;gap:7px;margin:0;font-size:12px;font-weight:700;display:grid}.community-preview-tip{color:#496b82;background:#eef6fb;border:1px solid #a8c2d5;border-radius:6px;align-items:flex-start;gap:8px;padding:10px 11px;font-size:10px;line-height:1.55;display:flex}.community-preview-tip svg{color:#2c6c93;flex:none}.community-course-description{color:var(--muted);margin-bottom:18px;font-size:13px;line-height:1.75}.community-course-facts{border:1px solid #a5bccc;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;display:grid;overflow:hidden}.community-course-facts>span{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 7px;min-width:0;padding:12px;display:grid}.community-course-facts>span+span{border-left:1px solid #b8c9d5}.community-course-facts svg{color:#2d668e;grid-row:span 2}.community-course-facts small{color:var(--muted);font-size:8px}.community-course-facts strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=900px){.community-toolbar{grid-template-columns:1fr;gap:14px;margin-bottom:32px}.community-share-button,.community-search-field{min-height:84px}}@media (width<=720px){.course-community-page{padding-top:18px}.community-course-grid{grid-template-columns:1fr}.community-course-card{min-height:370px}.community-card-footer{padding-left:14px}.community-card-footer>div{gap:8px}.community-course-facts{grid-template-columns:1fr}.community-course-facts>span+span{border-top:1px solid #b8c9d5;border-left:0}.community-dialog>footer{flex-direction:column;align-items:stretch}.community-dialog>footer>div{justify-content:flex-end}}@media (width<=420px){.community-share-button{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding-inline:12px}.community-action-icon{width:42px;height:42px}.community-action-copy strong{font-size:16px}.community-search-field{padding-inline:14px}.community-card-footer>div>span:last-child{display:none}}.community-tabs{flex-wrap:wrap;gap:8px;display:flex}.community-tab{border:1px solid var(--border-color,#dfe3ea);color:inherit;cursor:pointer;font:inherit;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.community-tab.active{border-color:var(--accent-color,#2f6fed);background:color-mix(in srgb, var(--accent-color,#2f6fed) 12%, transparent);font-weight:600}.community-panel{flex-direction:column;gap:16px;display:flex}.community-field,.community-release-form label{flex-direction:column;gap:6px;font-size:.9rem;display:flex}.community-field-row{flex-wrap:wrap;gap:12px;display:flex}.community-release-form{border:1px solid var(--border-color,#dfe3ea);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.community-release-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.community-release-item{border:1px solid var(--border-color,#dfe3ea);width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border-radius:10px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.community-release-item.active{border-color:var(--accent-color,#2f6fed);background:color-mix(in srgb, var(--accent-color,#2f6fed) 8%, transparent)}.community-release-detail{flex-direction:column;gap:12px;display:flex}.community-muted{color:var(--muted-color,#6b7280);font-size:.85rem}.community-validation ul,.community-share-links,.community-collaborators,.community-invitations ul,.community-report-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.community-validation li.check-failed{color:#b42318}.community-validation li.check-warning{color:#b54708}.community-validation li.check-passed{color:#067647}.community-validation-warnings{opacity:.85;font-size:.8rem;gap:2px!important;margin-top:4px!important;padding-left:16px!important;list-style:outside!important}.community-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.community-quality-signals{color:var(--muted-color,#6b7280);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.community-quality-signals li{background:color-mix(in srgb, var(--accent-color,#2f6fed) 8%, transparent);border-radius:999px;padding:2px 8px}.community-release-packet{border:1px solid var(--line);background:#fbfdff;border-radius:8px;max-height:460px;padding:12px 16px;overflow-y:auto}.community-trial-locked{border:1px dashed var(--line);color:#3c556b;background:#fbfdff;border-radius:8px;margin:0;padding:12px 16px}.community-structure{margin:0;padding:0;list-style:none}.community-collaborators li,.community-invitations li,.community-share-links li,.community-report-list li{border:1px solid var(--border-color,#dfe3ea);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.community-report-list li{flex-direction:column;align-items:flex-start}.community-report-list input,.community-report-list select{max-width:560px}.community-report-overdue{color:#8a5a1a;font-weight:700}.community-report-list header{align-items:center;gap:8px;display:flex}.community-report-status{background:color-mix(in srgb, var(--accent-color,#2f6fed) 10%, transparent);border-radius:999px;padding:2px 8px;font-size:.78rem}.community-checkbox{align-items:flex-start;gap:8px;flex-direction:row!important}.community-checkbox input{margin-top:2px}.community-offers,.community-orders,.community-entitlements,.community-forks,.community-proposals,.community-refunds,.community-refund-queue,.community-creator-sales,.community-reconciliation,.community-reconciliation-result,.community-reconciliation-history,.community-rating-form,.community-rating-list-section{flex-direction:column;gap:10px;display:flex}.community-offers-heading,.community-proposals-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.community-offer-list,.community-order-list,.community-entitlement-list,.community-fork-list,.community-proposal-list,.community-refund-list,.community-sales-list,.community-rating-list,.community-review-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.community-offer-list li,.community-order-list li,.community-entitlement-list li,.community-fork-list li,.community-proposal-list li,.community-refund-list li,.community-sales-list li,.community-rating-list li,.community-review-list li{border:1px solid var(--border-color,#dfe3ea);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.community-order-list li,.community-fork-list li,.community-proposal-list li,.community-refund-list li,.community-rating-list li,.community-review-list li{flex-direction:column;align-items:flex-start}.community-order-list header,.community-fork-list header,.community-proposal-list header{align-items:center;gap:8px;display:flex}.community-course-sample{border-left:3px solid var(--accent-color,#2f6fed);background:color-mix(in srgb, var(--accent-color,#2f6fed) 6%, transparent);white-space:pre-wrap;border-radius:0 10px 10px 0;margin:0;padding:10px 14px}.community-fork-detail dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 10px;display:grid}.community-fork-detail dt{font-weight:600}.community-fork-detail dd{word-break:break-all;margin:0}.community-purchase-terms{flex-direction:column;gap:6px;margin:0;display:flex}.community-purchase-terms dt{font-weight:600}.community-purchase-terms dd{color:var(--muted);margin:0;line-height:1.6}.community-purchase-terms ul{margin:0;padding-left:18px}.community-card-upstream{color:#8a5a1a;margin:0;font-size:.85rem;font-weight:600}.community-rating-score{letter-spacing:1px;color:#8a5a1a;font-weight:600}.community-panel .empty-state{text-align:left;align-items:flex-start;min-height:0;padding:14px 0}.community-reconciliation-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.community-reconciliation-controls input[type=date]{min-width:190px}.community-finding-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.community-finding-list li{border-left:3px solid var(--border-color,#dfe3ea);background:var(--surface-muted,#f8fbfd);border-radius:0 8px 8px 0;padding:8px 12px 8px 14px}.community-embed-snippet code{border:1px solid var(--border-color,#dfe3ea);background:var(--surface-muted,#f8fbfd);white-space:pre-wrap;word-break:break-all;border-radius:8px;padding:10px 12px;font-size:.8rem;display:block}.community-embeds{flex-direction:column;gap:10px;display:flex}.embed-page{background:var(--surface,#fff);max-width:640px;min-height:100vh;margin:0 auto;padding:20px}.embed-release h1{margin:0 0 6px;font-size:1.25rem}.embed-release h2{margin:18px 0 8px;font-size:1rem}.embed-terms{flex-wrap:wrap;gap:4px 16px;margin:12px 0;display:flex}.embed-terms dt{font-weight:600}.embed-terms dd{color:var(--muted);margin:0 12px 0 0}body:has(.course-community-page){--community-bg:#f5f4fb;--community-ink:#1b1b2d;--community-muted:#818097;--community-line:#e8e6f2;--community-line-strong:#d9d5e9;--community-accent:#5b51e8;--community-accent-strong:#493fd2;--community-accent-soft:#efedff;--community-field:#f8f7fc;--community-shadow:0 1px 2px #1b1b2e08, 0 18px 42px -28px #1b1b2e47;background:var(--community-bg)}.app-main-community{background:var(--community-bg)}.app-main-community .page-header{border-bottom:1px solid var(--community-line-strong);min-height:82px}.app-main-community .page-header h1{color:var(--community-ink);letter-spacing:-.035em;font-size:24px;font-weight:750}.course-community-page{color:var(--community-ink);gap:18px;padding:24px 0 54px;display:grid}.community-notice{background:var(--community-accent-soft);color:#4b438f;min-height:46px;box-shadow:none;border:1px solid #c8c3f3;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0;padding:6px 8px 6px 15px}.community-notice .icon-button:hover{color:var(--community-accent-strong);background:#5b51e81a}.community-action-error{background:#fff8f7;border-color:#f2d2cf;border-radius:10px}.community-tabs{border:1px solid var(--community-line);width:100%;box-shadow:var(--community-shadow);scrollbar-width:thin;background:#fff;border-radius:16px;flex-wrap:nowrap;gap:4px;padding:6px;display:flex;overflow-x:auto}.community-tab{min-height:42px;color:var(--community-muted);background:0 0;border:0;border-radius:11px;flex:none;gap:7px;padding:0 15px;font-size:13px;font-weight:600;transition:background .16s,color .16s,transform .16s}.community-tab:hover{color:var(--community-ink);background:#f6f5fb}.community-tab.active{color:var(--community-ink);background:#e5e1f8;border:0;font-weight:750}.community-tab svg{color:currentColor;stroke-width:1.8px}.community-panel{gap:18px;min-width:0;animation:.18s ease-out community-panel-in}@keyframes community-panel-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.community-toolbar{border:1px solid var(--community-line);box-shadow:var(--community-shadow);background:#fff;border-radius:16px;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(118px,1fr)) auto;align-items:end;gap:12px;margin:0;padding:18px;display:grid}.community-tab-panels,.community-tab-view{min-width:0}.community-tab-view[hidden]{display:none}.community-search-field{border:1px solid var(--community-line-strong);background:var(--community-field);min-height:62px;box-shadow:none;color:var(--community-muted);border-radius:12px;padding:10px 14px}.community-search-field small,.community-field,.community-release-form label{color:var(--community-muted);font-size:11px;font-weight:650}.community-search-field small{color:var(--community-muted);margin-bottom:2px}.community-search-field input{height:28px;color:var(--community-ink);font-size:14px}.community-search-field input::placeholder{color:#aaa8ba}.community-search-field:focus-within{border-color:#b9b4f5;box-shadow:0 0 0 4px #5b51e814}.community-field{gap:6px}.community-field select,.community-field input,.community-release-form input,.community-release-form select,.community-release-form textarea,.community-dialog input,.community-dialog select,.community-dialog textarea,.community-report-list input,.community-report-list select,.community-reconciliation-controls input[type=date]{border:1px solid var(--community-line-strong);background:var(--community-field);min-height:40px;color:var(--community-ink);box-shadow:none;border-radius:10px}.community-toolbar>.secondary-button{border-color:var(--community-accent);background:var(--community-accent);color:#fff;border-radius:10px;min-height:40px;padding-inline:17px}.community-toolbar>.secondary-button:hover{border-color:var(--community-accent-strong);background:var(--community-accent-strong)}.course-community-page input:focus-visible,.course-community-page select:focus-visible,.course-community-page textarea:focus-visible,.course-community-page button:focus-visible{outline-offset:2px;outline:3px solid #5b51e833}.community-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:stretch;gap:16px;width:100%}.community-favorite-list{gap:16px;width:100%}.community-course-card{border:1px solid var(--community-line);min-height:0;box-shadow:var(--community-shadow);background:#fff;border-radius:16px;transition:border-color .16s,box-shadow .16s,transform .16s}.community-accent-blue,.community-accent-teal,.community-accent-amber{border-color:var(--community-line)}.community-card-content{flex-direction:column;padding:22px 22px 18px;display:flex}.community-card-author{gap:7px;margin-bottom:18px}.community-level-pill,.community-category-pill,.community-tags span,.community-dialog-tags span,.community-quality-signals li,.community-report-status{color:#6d6b82;background:#f2f1f8;border:0;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:650}.community-level-pill{background:var(--community-accent-soft);color:var(--community-accent-strong)}.community-card-content h2{color:var(--community-ink);letter-spacing:-.025em;margin-bottom:9px;font-size:19px;font-weight:750;line-height:1.35}.community-card-content>p{min-height:44px;color:var(--community-muted);margin-bottom:15px;font-size:13px;line-height:1.7}.community-card-upstream{color:#8b6b2f!important}.community-quality-signals{color:var(--community-muted);gap:6px;margin-top:auto}.community-quality-signals li{background:#f8f7fc;font-weight:550}.community-card-footer{border-top:1px solid var(--community-line);background:#fbfbfe;gap:10px;padding:12px 14px 14px 22px}.community-card-footer>div>span{color:var(--community-muted);font-size:11px}.community-card-actions{gap:7px}.community-card-actions .secondary-button,.community-panel>.secondary-button,.community-release-detail .secondary-button,.community-release-detail .primary-button,.community-dialog .secondary-button,.community-dialog .primary-button{border-color:var(--community-line-strong);color:#55536d;background:#fff;border-radius:9px;min-height:34px;padding:0 11px;font-size:12px;font-weight:650}.community-card-actions .secondary-button:hover,.community-panel>.secondary-button:hover,.community-release-detail .secondary-button:hover,.community-dialog .secondary-button:hover{color:var(--community-accent-strong);background:#f6f4fd;border-color:#bdb8dc}.community-card-actions .community-card-primary-action,.community-release-detail .primary-button,.community-dialog .primary-button{border-color:var(--community-accent);background:var(--community-accent);color:#fff}.community-card-actions .community-card-primary-action:hover,.community-release-detail .primary-button:hover,.community-dialog .primary-button:hover{border-color:var(--community-accent-strong);background:var(--community-accent-strong);color:#fff}.community-card-actions .icon-button{border:1px solid var(--community-line-strong);color:var(--community-muted);background:#fff;border-radius:9px}.community-card-actions .icon-button:hover{background:var(--community-accent-soft);color:var(--community-accent-strong);border-color:#c8c3ec}.community-panel>.secondary-button{align-self:center;min-width:120px}.community-release-form,.community-release-detail,.community-validation,.community-collaboration,.community-invitations,.community-offers,.community-orders,.community-entitlements,.community-forks,.community-proposals,.community-refunds,.community-refund-queue,.community-creator-sales,.community-reconciliation,.community-reconciliation-result,.community-reconciliation-history,.community-rating-form,.community-rating-list-section{border:1px solid var(--community-line);box-shadow:var(--community-shadow);background:#fff;border-radius:16px;padding:18px}.community-release-form{gap:14px}.community-release-item,.community-collaborators li,.community-invitations li,.community-share-links li,.community-report-list li,.community-offer-list li,.community-order-list li,.community-entitlement-list li,.community-fork-list li,.community-proposal-list li,.community-refund-list li,.community-sales-list li,.community-rating-list li,.community-review-list li{border:1px solid var(--community-line);background:#fbfbfe;border-radius:12px;padding:13px 14px}.community-release-item:hover{background:#f7f5ff;border-color:#c8c3ec}.community-release-item.active{background:var(--community-accent-soft);border-color:#b9b4f5}.community-muted{color:var(--community-muted)}.community-release-packet,.community-trial-locked,.community-course-sample,.community-embed-snippet code,.community-finding-list li{border-color:var(--community-line);background:var(--community-field)}.community-course-sample{border-left-color:var(--community-accent)}.community-empty-state,.community-panel .empty-state{border-color:var(--community-line-strong);color:var(--community-muted);background:#ffffffa3;border-radius:16px}.community-dialog{border:1px solid var(--community-line-strong);background:#fff;border-radius:18px;box-shadow:0 28px 80px #1b1b2e38}.community-dialog>header{border-bottom-color:var(--community-line);background:#faf9fe}.community-dialog>footer{border-top-color:var(--community-line);background:#fbfbfe}.community-dialog-heading>span{background:var(--community-accent-soft);color:var(--community-accent);border:0;border-radius:12px}.community-dialog-heading h2,.community-dialog>header h2{color:var(--community-ink)}.community-preview-tip{color:#65617e;background:#f5f3ff;border-color:#d7d3f4;border-radius:10px}.community-preview-tip svg,.community-course-facts svg{color:var(--community-accent)}.community-course-facts{border-color:var(--community-line);background:#faf9fe;border-radius:12px}.community-course-facts>span+span{border-color:var(--community-line)}@media (prefers-reduced-motion:reduce){.community-panel,.community-course-card,.community-tab{transition:none;animation:none}}@media (width<=1120px){.community-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.community-search-field{grid-column:span 2}.community-toolbar>.secondary-button{justify-self:stretch}}@media (width<=760px){.app-main-community .page-header{min-height:70px}.course-community-page{gap:14px;padding-top:18px}.community-tabs{margin-inline:calc(var(--page-gutter) * -1);width:calc(100% + 2 * var(--page-gutter));padding-inline:var(--page-gutter);box-shadow:none;border-left:0;border-right:0;border-radius:0}.community-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.community-search-field,.community-toolbar>.secondary-button{grid-column:1/-1}.community-course-card{min-height:0}.community-card-content{padding:19px 18px 16px}.community-card-footer{padding:12px 14px}.community-card-actions .secondary-button{flex:auto}}.community-trial-dialog{border-radius:20px;grid-template-rows:auto minmax(0,1fr);width:min(980px,100vw - 48px);height:min(820px,100dvh - 48px);max-height:none}.community-trial-dialog>.community-trial-header{background:#fff;min-height:82px;padding:18px 24px}.community-trial-header .community-dialog-heading h2{letter-spacing:-.025em;max-width:min(720px,100vw - 180px);font-size:21px;font-weight:750}.community-trial-header .community-dialog-heading small{color:var(--community-accent-strong);margin-bottom:5px;font-size:11px;font-weight:700}.community-trial-header>.icon-button{border:1px solid var(--community-line);width:38px;height:38px;color:var(--community-muted);background:#f8f7fc;border-radius:50%;flex-basis:38px}.community-trial-header>.icon-button:hover{background:var(--community-accent-soft);color:var(--community-accent-strong);border-color:#c9c4ec}.community-trial-body{scrollbar-color:#c7c3d8 transparent;scrollbar-width:thin;background:#f7f6fb;padding:20px 22px 24px}.community-trial-summary,.community-trial-section{border:1px solid var(--community-line);background:#fff}.community-trial-summary{border-radius:16px;padding:18px 20px}.community-trial-summary .community-course-description{color:#5f5e73;margin:0 0 14px;font-size:14px;line-height:1.7}.community-trial-summary .community-course-facts{background:#f8f7fc;border:0;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.community-trial-summary .community-course-facts>span{align-content:center;min-height:70px;padding:12px 14px}.community-trial-summary .community-course-facts small{color:#9693a8;font-size:10px;font-weight:650}.community-trial-summary .community-course-facts strong{color:var(--community-ink);font-size:12px}.community-trial-summary .community-course-facts>span+span{border-left:1px solid var(--community-line)}.community-trial-terms{margin:13px 2px 0;font-size:12px;line-height:1.65}.community-trial-summary .community-card-upstream{margin-top:10px}.community-trial-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);align-items:start;gap:14px;margin-top:14px;display:grid}.community-trial-primary,.community-trial-secondary{align-content:start;gap:14px;min-width:0;display:grid}.community-trial-section{border-radius:14px;min-width:0;padding:18px}.community-trial-section h3{color:var(--community-ink);letter-spacing:-.015em;margin:0 0 12px;font-size:15px;font-weight:750}.community-trial-section>p,.community-trial-section>ul,.community-trial-section>blockquote{margin-top:0;margin-bottom:0}.community-trial-section>p,.community-trial-section li{color:#626075;font-size:13px;line-height:1.7}.community-trial-section ul{padding-left:19px}.community-trial-sample{border-color:#d9d5f5}.community-trial-sample .community-course-sample{color:#3d385f;background:#f2f0ff;border:0;border-radius:11px;margin:0;padding:16px 17px;font-size:14px;line-height:1.8}.community-trial-sample>.community-muted{margin-top:11px;font-size:11px}.community-trial-structure .community-structure{max-height:260px;padding:0;overflow-y:auto}.community-trial-structure .community-structure li{border-bottom:1px solid #f0eef6;padding-block:6px}.community-trial-structure .community-structure li:last-child{border-bottom:0}.community-trial-dialog .community-trial-locked{color:#77748b;background:#f8f7fc;border:1px dashed #d1cdea;border-radius:10px;padding:13px 14px}.community-trial-risk{background:#fffdf8;border-color:#eee2c8}.community-trial-warning{background:#fffaf9;border-color:#efd8d4}@media (width<=820px){.community-trial-dialog{border-radius:15px;width:calc(100vw - 24px);height:calc(100dvh - 24px)}.community-trial-dialog>.community-trial-header{min-height:70px;padding:14px 16px}.community-trial-header .community-dialog-heading h2{max-width:calc(100vw - 120px);font-size:18px}.community-trial-body{padding:14px}.community-trial-layout{grid-template-columns:1fr}.community-trial-summary .community-course-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.community-trial-summary .community-course-facts>span:nth-child(3){border-left:0}.community-trial-summary .community-course-facts>span:nth-child(n+3){border-top:1px solid var(--community-line)}}@media (width<=480px){.community-trial-summary,.community-trial-section{border-radius:12px;padding:15px}.community-trial-summary .community-course-facts{grid-template-columns:1fr}.community-trial-summary .community-course-facts>span+span{border-top:1px solid var(--community-line);border-left:0}.community-toolbar{grid-template-columns:1fr}.community-search-field,.community-toolbar>.secondary-button{grid-column:1}.community-field{min-width:0}.community-card-actions .secondary-button{flex:calc(50% - 7px)}.community-dialog{border-radius:14px}}.course-community-page{padding-top:26px;display:block}.community-notice{margin-bottom:18px}.community-tabs{z-index:1;width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:flex-end;gap:6px;margin:0 0 -1px;padding:0;position:relative;overflow-x:auto}.community-tab{border:1px solid var(--community-line);min-height:46px;color:var(--community-muted);background:#fbfbfe;border-bottom:0;border-radius:14px 14px 0 0;padding:0 18px}.community-tab:hover{border-color:var(--community-line);color:var(--community-ink);background:#f1effb}.community-tab.active{border:1px solid var(--community-line);color:var(--community-ink);background:#e5e1f8;border-bottom:0}.community-panel{border:1px solid var(--community-line);min-height:320px;box-shadow:var(--community-shadow);background:#fff;border-radius:0 12px 12px;gap:18px;padding:20px;overflow:hidden}.community-toolbar{box-shadow:none;background:#fbfbfe;border-radius:12px;padding:16px}.community-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.community-course-card{border-radius:14px;box-shadow:0 1px 2px #1b1b2e08}.community-course-card:hover{border-color:#d2cee5;transform:translateY(-1px);box-shadow:0 12px 28px -22px #1b1b2e59}.community-card-content{padding:20px 20px 16px}.community-card-footer{background:#fbfbfe;padding:12px 14px 14px 20px}.community-release-form,.community-release-detail,.community-validation,.community-collaboration,.community-invitations,.community-offers,.community-orders,.community-entitlements,.community-forks,.community-proposals,.community-refunds,.community-refund-queue,.community-creator-sales,.community-reconciliation,.community-reconciliation-result,.community-reconciliation-history,.community-rating-form,.community-rating-list-section{box-shadow:none;border-radius:12px}@media (width<=960px){.community-course-grid{grid-template-columns:1fr}}@media (width<=760px){.course-community-page{padding-top:18px}.community-tabs{border:0;width:100%;margin-inline:0;padding-inline:0}.community-tab{border-radius:12px 12px 0 0;min-height:42px;padding-inline:14px}.community-panel{border-radius:0 10px 10px;min-height:260px;padding:14px}}.home-page{--home-bg:#e8f0f6;--home-surface:#fbfdff;--home-navy:#173f63;--home-text:#132d43;--home-muted:#536d82;--home-faint:#7d94a8;--home-teal:#1f7b72;--home-teal-dark:#175f59;--home-cobalt:#315fa8;--home-accent-on-dark:#6ec9bb;--home-line:#315d8524;--home-line-soft:#315d8514;--home-shadow:0 2px 12px #00000014;background:var(--home-bg);color:var(--home-text);flex:1}.home-container{width:min(var(--page-max), 100%);margin:0 auto}.home-page [data-entrance]{transition:opacity .5s,transform .5s}.home-page [data-entrance].ee-out{opacity:0;transform:translateY(12px)}.home-page :focus-visible{outline:2px solid var(--home-cobalt);outline-offset:2px}.home-page ::-webkit-scrollbar{width:8px;height:8px}.home-page ::-webkit-scrollbar-thumb{background:#315d8547;border-radius:999px}.home-hero{min-height:640px;padding:96px var(--page-gutter) 88px;background-color:var(--home-bg);border-bottom:1px solid var(--home-line-soft);background-position:50%;background-repeat:no-repeat;background-size:cover;align-content:center;display:grid}.home-hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}.home-hero-copy{text-align:left}.home-eyebrow{color:var(--home-teal);letter-spacing:.08em;margin:0 0 16px;font-size:15px;font-weight:600}.home-hero h1{color:var(--home-navy);letter-spacing:-.01em;margin:0 0 22px;font-size:clamp(36px,4.2vw,72px);font-weight:700;line-height:1.16}.home-hero-lead{max-width:620px;color:var(--home-muted);margin:0 0 36px;font-size:18px;line-height:1.65}.home-hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:12px;display:flex}.home-hero .home-btn{border-radius:8px;height:48px;padding:0 28px;font-size:16px}.home-hero-visual{margin:0}.home-hero-visual img{border:1px solid var(--home-line);background:#fff;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 14px 36px #1b406024}.home-btn{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.home-btn-primary{background:var(--home-teal);border:1px solid var(--home-teal-dark);color:#fff}.home-btn-primary:hover{background:var(--home-teal-dark)}.home-btn-secondary{border:1px solid var(--home-line);color:var(--home-navy);background:#fff}.home-btn-secondary:hover{border-color:var(--home-teal);color:var(--home-teal)}.home-showcase{padding:72px var(--page-gutter);background:var(--home-surface)}.home-showcase .home-section-head h2{font-size:clamp(28px,3.1vw,42px)}.home-showcase .home-section-head p{justify-content:center;align-items:center;gap:16px;max-width:none;margin:16px auto 0;display:flex}.home-showcase .home-section-head p:before,.home-showcase .home-section-head p:after{content:"";border-top:1px dashed #315d8552;flex:0 76px;min-width:0}.home-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.home-showcase-card{aspect-ratio:1.5;border:1px solid var(--home-line);background:#10263c;border-radius:12px;align-items:flex-end;transition:box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.home-showcase-card:hover{border-color:#315d8547;box-shadow:0 14px 34px #173f632e}.home-showcase-shot{object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.home-showcase-card:hover .home-showcase-shot{transform:scale(1.03)}.home-showcase-veil{background:linear-gradient(#08162400 38%,#0816242e 50%,#0816247a 64%,#081624a3 80%,#081624b8 100%);position:absolute;inset:0}.home-showcase-copy{z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:100%;padding:10px 32px 20px;position:relative}.home-showcase-copy h3{color:#fff;letter-spacing:-.01em;text-shadow:0 2px 10px #040e18b3;margin:0 0 5px;font-size:20px;font-weight:600}.home-showcase-copy p{color:#ffffffe6;text-shadow:0 1px 8px #040e18d9;max-width:460px;margin:0 0 12px;font-size:14px;line-height:1.55}.home-showcase .home-btn{height:34px;padding:0 18px}.home-why{padding:72px var(--page-gutter);background:var(--home-bg);scroll-margin-top:calc(var(--shell-nav) + 8px)}.home-why .home-section-head h2{font-size:clamp(30px,3.4vw,46px)}.home-why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.home-why-viewport{overflow:hidden}.home-why-track{align-items:stretch;transition:transform .45s;display:flex}.home-why-slide{flex:0 0 100%;min-width:0}.home-why-controls{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.home-why-arrow{border:1px solid var(--home-line);background:var(--home-surface);width:34px;height:34px;color:var(--home-navy);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.home-why-arrow:hover{color:var(--home-teal);border-color:var(--home-teal)}.home-why-dots{gap:4px;display:flex}.home-why-dot{cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:34px;padding:0;display:grid}.home-why-dot:before{content:"";background:var(--home-faint);border-radius:999px;width:8px;height:8px}.home-why-dot.is-active:before{background:var(--home-teal);width:22px}.home-why-card{border:1px solid var(--home-line);background:var(--home-surface);border-radius:12px;padding:40px;position:relative;overflow:hidden}.home-why-card-dark{background:var(--home-navy);border-color:#0000}.home-why-card h3{color:var(--home-navy);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600;line-height:1.3;position:relative}.home-why-card-dark h3{color:#fff}.home-why-mark{width:152px;height:104px;color:var(--home-teal);opacity:.16;pointer-events:none;position:absolute;top:-16px;right:-8px}.home-why-card-dark .home-why-mark{color:var(--home-accent-on-dark);opacity:.3}.home-why-points{margin-top:26px}.home-why-point{border-top:1px solid var(--home-line);padding:20px 0}.home-why-card-dark .home-why-point{border-top-color:#ffffff29}.home-why-point:last-child{padding-bottom:0}.home-why-lead{color:var(--home-text);margin:0;font-size:15px;line-height:1.7}.home-why-card-dark .home-why-lead{color:#ffffffe6}.home-why-accent{color:var(--home-cobalt);margin:0 2px;font-size:1.6em;font-style:normal;font-weight:700;line-height:0}.home-why-card-dark .home-why-accent{color:var(--home-accent-on-dark)}.home-why-body{color:var(--home-muted);margin:6px 0 0;font-size:14px;line-height:1.65}.home-why-card-dark .home-why-body{color:#ffffffa8}.home-section-head{text-align:center;margin-bottom:40px}.home-section-head h2{color:var(--home-navy);letter-spacing:-.01em;margin:0;font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.3}.home-section-head p{max-width:620px;color:var(--home-muted);margin:12px auto 0;font-size:16px;line-height:1.5}.home-community{padding:72px var(--page-gutter);background:var(--home-surface)}.home-community-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:64px;display:grid}.home-community-copy{order:2}.home-community-board{border:1px solid var(--home-line);background:var(--home-bg);border-radius:14px;order:1;margin:0;padding:18px;box-shadow:0 14px 34px #1b40601a}.home-community-board-head{color:var(--home-faint);letter-spacing:.1em;justify-content:space-between;align-items:baseline;gap:12px;padding:2px 4px 14px;font-size:11.5px;font-weight:600;display:flex}.home-community-board-head span:first-child{color:var(--home-navy)}.home-community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.home-community-card{border:1px solid var(--home-line);border-left:3px solid var(--home-card-accent);background:#fff;border-radius:10px;flex-direction:column;padding:14px 15px;display:flex}.home-community-card-cobalt{--home-card-accent:var(--home-cobalt)}.home-community-card-teal{--home-card-accent:var(--home-teal)}.home-community-tag{background:var(--home-bg);color:var(--home-card-accent);border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:11px;font-weight:600}.home-community-card h3{color:var(--home-navy);letter-spacing:-.01em;margin:10px 0 5px;font-size:15px;font-weight:600;line-height:1.35}.home-community-card p{-webkit-line-clamp:2;color:var(--home-muted);-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.home-community-meta{border-top:1px solid var(--home-line-soft);color:var(--home-faint);gap:12px;margin-top:auto;padding-top:9px;font-size:11.5px;display:flex}.home-community-copy h2{color:var(--home-navy);letter-spacing:-.01em;margin:0;font-size:clamp(28px,3.1vw,40px);font-weight:600;line-height:1.24}.home-community-lead{max-width:560px;color:var(--home-muted);margin:18px 0 0;font-size:16px;line-height:1.72}.home-community-points{margin:26px 0 28px;padding:0;list-style:none}.home-community-point{border-top:1px solid var(--home-line);grid-template-columns:32px minmax(0,1fr);gap:10px;padding:14px 0;display:grid}.home-community-point:last-child{padding-bottom:0}.home-community-index{color:var(--home-teal);letter-spacing:.06em;padding-top:3px;font-size:12px;font-weight:700}.home-community-point h3{color:var(--home-navy);margin:0 0 4px;font-size:15px;font-weight:600}.home-community-point p{color:var(--home-muted);margin:0;font-size:13.5px;line-height:1.65}.home-footer{padding:56px var(--page-gutter) 24px;background:var(--home-navy);color:#fff}.home-footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;display:grid}.home-footer-brand img{object-fit:contain;background:#fff;border-radius:8px;width:32px;height:32px;padding:4px}.home-footer-brand strong{margin:10px 0 6px;font-size:16px;font-weight:600;display:block}.home-footer-brand p{color:#ffffffad;max-width:320px;margin:0;font-size:13px;line-height:1.65}.home-footer-column strong{color:#fff;margin-bottom:12px;font-size:13px;font-weight:600;display:block}.home-footer-column button,.home-footer-column a{color:#ffffffb8;text-align:left;background:0 0;margin-bottom:8px;padding:0;font-size:13px;display:block}.home-footer-column button:hover,.home-footer-column a:hover{color:var(--home-accent-on-dark);text-decoration:underline}.home-footer-bottom{color:#ffffff80;border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:24px;font-size:12px;display:flex}.home-footer-bottom button,.home-footer-bottom a{color:#ffffff80;background:0 0;padding:0;font-size:12px}.home-footer-bottom button:hover,.home-footer-bottom a:hover{color:var(--home-accent-on-dark);text-decoration:underline}@media (width<=1160px){.home-showcase-grid{grid-template-columns:minmax(0,1fr)}.home-showcase-card{aspect-ratio:2.2}.home-showcase-copy{padding:24px 28px 22px}.home-showcase-copy h3{font-size:18px}.home-showcase-copy p{margin-bottom:16px;font-size:13px}.home-showcase .home-btn{height:34px;padding:0 16px;font-size:13px}}@media (width<=1024px){.home-why-grid{grid-template-columns:minmax(0,1fr)}.home-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.home-hero-inner{grid-template-columns:minmax(0,1fr);gap:40px}.home-hero-visual{max-width:720px}.home-community-inner{grid-template-columns:minmax(0,1fr);gap:40px}.home-community-copy,.home-community-board{order:0}.home-community-board{max-width:720px}}@media (width<=768px){.home-hero{min-height:0;padding:88px var(--page-gutter) 64px}.home-showcase,.home-why,.home-community{padding:56px var(--page-gutter)}.home-showcase-card{aspect-ratio:1.7}.home-showcase-grid,.home-footer-grid{grid-template-columns:1fr}.home-why-card{padding:28px 24px}.home-why-mark{width:120px;height:90px}.home-footer{padding:48px var(--page-gutter) 20px}.home-footer-bottom{flex-direction:column;align-items:flex-start}}@media (width<=560px){.home-showcase-card{aspect-ratio:1.2}.home-community-grid{grid-template-columns:minmax(0,1fr)}.home-community-board{padding:14px}}@media (prefers-reduced-motion:reduce){.home-why-track{transition:none}.home-page [data-entrance]{opacity:1!important;transition:none!important;transform:none!important}}body.demo-tour-active .system-guide-pet,body.demo-tour-active .system-guide-panel:not(.demo-tour-panel){display:none!important}.system-guide-panel.demo-tour-panel{z-index:1200;border-color:#1f7b72;flex-direction:column;width:min(392px,100vw - 32px);max-height:min(560px,100vh - 40px);display:flex}.system-guide-panel.demo-tour-panel:after{display:none}.system-guide-panel.demo-tour-panel--docked{border-radius:10px 10px 0 0;width:auto;max-width:none;max-height:min(38vh,320px);position:fixed;inset:auto 0 0}.system-guide-panel.demo-tour-panel--letter{max-height:min(46vh,372px)}.demo-tour-panel--docked .demo-tour-head{align-items:center;padding:10px 44px 9px 14px}.demo-tour-panel--docked .demo-tour-mascot{width:40px;height:40px;margin:-2px 0 0 -2px}.demo-tour-panel--docked .demo-tour-body{padding:12px 16px 4px;overflow-y:auto}.demo-tour-panel--docked .demo-tour-paragraphs{align-items:flex-start;gap:20px;display:flex}.demo-tour-panel--docked .demo-tour-paragraphs p{flex:1 1 0;min-width:0;margin-bottom:6px}.demo-tour-letter-backdrop{top:var(--shell-nav,0);z-index:80;background:#102a3a47;justify-content:center;align-items:flex-start;padding:24px 20px calc(min(46vh,372px) + 24px);display:flex;position:fixed;bottom:0;left:0;right:0;overflow:auto}.demo-tour-letter{max-height:none;box-shadow:var(--shadow,0 6px 18px #1b40602e);background:#fff;border-radius:10px;padding:28px 34px}.demo-tour-letter footer{opacity:.75}.demo-tour-head{border-bottom:1px solid var(--line,#dde6ee);background:linear-gradient(#f1fbf8 0%,#fff 100%);border-radius:6px 6px 0 0;align-items:flex-start;gap:10px;padding:14px 44px 12px 14px;display:flex}.demo-tour-panel .demo-tour-mascot{width:64px;height:64px;margin:-6px 0 0 -4px;animation:none}.demo-tour-title{flex:1;min-width:0}.demo-tour-module{color:#1f7b72;letter-spacing:.08em;margin:0 0 2px;font-size:11px;font-weight:700}.demo-tour-title h2{color:#143f57;margin:0;font-size:16px;line-height:1.45}.demo-tour-close{z-index:2;color:#54728a;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:9px;right:9px}.demo-tour-close:hover,.demo-tour-close:focus-visible{color:#164e70;background:#e7f3ef}.demo-tour-body{flex:1;min-height:0;padding:14px 16px 6px;overflow-y:auto}.demo-tour-body p{color:var(--text,#263645);margin:0 0 10px;font-size:13.5px;line-height:1.8}.demo-tour-note{color:var(--muted,#6b7c8c);margin:0 0 10px;font-size:12px}.demo-tour-note--warn{color:#7a5a15;background:#fffaf0;border:1px solid #e6d2a2;border-radius:6px;padding:8px 10px}.demo-tour-return{color:#1f7b72;cursor:pointer;background:0 0;border:0;margin:0 0 10px;padding:0;font-size:12.5px;text-decoration:underline}.demo-tour-foot{border-top:1px solid var(--line,#dde6ee);gap:8px;padding:10px 14px 12px;display:grid}.demo-tour-progress{align-items:center;gap:8px;display:flex}.demo-tour-progress-track{background:#e4edf2;border-radius:999px;flex:1;height:5px;overflow:hidden}.demo-tour-progress-track i{background:#1f7b72;border-radius:999px;height:100%;transition:width .2s;display:block}.demo-tour-progress-text{color:var(--muted,#6b7c8c);font-variant-numeric:tabular-nums;font-size:11.5px}.demo-tour-actions{align-items:center;gap:8px;display:flex}.demo-tour-actions-spacer{flex:1}.demo-tour-button--stop{color:#7d5a6b;background:0 0;border-style:dashed}.demo-tour-button--stop:hover,.demo-tour-button--stop:focus-visible{color:#9c2f5c;border-style:solid;border-color:#b2547a}.demo-tour-button{color:#31536b;cursor:pointer;background:#f7fbfd;border:1px solid #b7cede;border-radius:6px;align-items:center;gap:3px;min-height:34px;padding:0 12px;font-size:13px;display:inline-flex}.demo-tour-button:hover:not(:disabled),.demo-tour-button:focus-visible{color:#17675f;border-color:#1f7b72}.demo-tour-button:disabled{cursor:default;opacity:.45}.demo-tour-button--primary{color:#fff;background:#1f7b72;border-color:#1f7b72}.demo-tour-button--primary:hover:not(:disabled),.demo-tour-button--primary:focus-visible{color:#fff;background:#17675f}.system-guide-spotlight-layer.demo-tour-spotlight-layer{z-index:1190}.system-guide-spotlight.demo-tour-spotlight{border-color:#1f7b72;box-shadow:0 0 0 7px #1f7b7229,0 0 0 9999px #102a3a2e}.demo-tour-callout{max-width:min(320px,100vw - 24px);box-shadow:var(--shadow,0 6px 18px #1b40602e);color:#185c55;pointer-events:none;background:#f3fffc;border:1px solid #5b9b94;border-radius:6px;padding:7px 11px;font-size:12.5px;font-weight:650;position:fixed}@media (width<=767px){.system-guide-panel.demo-tour-panel{max-height:calc(100vh - 24px)}.demo-tour-panel .demo-tour-mascot{display:none}.demo-tour-panel--docked .demo-tour-paragraphs{flex-direction:column;gap:0}}.system-guide-pet{z-index:1050;place-items:center;width:224px;height:232px;display:grid;position:fixed;bottom:8px;right:10px}.system-guide-pet.is-moving{transition:left .36s,top .36s,width .36s,height .36s}.system-guide-pet.is-moving .guide-mascot{transition:width .36s,height .36s}.system-guide-pet-trigger{width:100%;height:100%;box-shadow:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.system-guide-pet.is-dragging .system-guide-pet-trigger,.system-guide-pet-trigger:active{cursor:grabbing}.system-guide-pet.is-dragging .guide-mascot{animation-play-state:paused}.system-guide-pet.is-dragging .guide-mascot--pet{--mascot-pet-asset-size:160px}.system-guide-pet-trigger:hover .guide-mascot,.system-guide-pet-trigger:focus-visible .guide-mascot{filter:drop-shadow(0 8px 9px #1b40603d)}.system-guide-pet-trigger:focus-visible{outline-offset:3px;outline:3px solid #1f7b72}.system-guide-pet-minimize{color:#315c7d;cursor:pointer;background:#f8fcff;border:1px solid #7ea3c0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute;top:17px;right:3px;box-shadow:0 3px 10px #1b40602e}.system-guide-pet-minimize:hover,.system-guide-pet-minimize:focus-visible{color:#17675f;border-color:#1f7b72}.system-guide-pet.is-minimized{width:128px;height:72px}.guide-mascot{object-fit:contain;-webkit-user-drag:none;transform-origin:50% 80%;flex:none;display:block}@keyframes system-guide-mascot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes system-guide-mascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}@keyframes system-guide-mascot-success{0%{transform:scale(.92)}58%{transform:scale(1.08)rotate(-2deg)}to{transform:scale(1)}}@keyframes system-guide-mascot-question{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}.guide-mascot--idle{animation:3.8s ease-in-out infinite system-guide-mascot-float}.guide-mascot--thinking,.guide-mascot--guiding{animation:1.8s ease-in-out infinite system-guide-mascot-breathe}.guide-mascot--success{animation:.68s ease-out system-guide-mascot-success}.guide-mascot--eating{animation:none}.guide-mascot--clarify{animation:1.8s ease-in-out infinite system-guide-mascot-question}.guide-mascot--pet{--mascot-pet-asset-size:220px;width:var(--mascot-pet-asset-size);height:var(--mascot-pet-asset-size)}.guide-mascot--thinking.guide-mascot--pet{--mascot-pet-asset-size:184px}.guide-mascot--guiding.guide-mascot--pet,.guide-mascot--success.guide-mascot--pet{--mascot-pet-asset-size:210px}.guide-mascot--error.guide-mascot--pet{--mascot-pet-asset-size:164px}.guide-mascot--eating.guide-mascot--pet{--mascot-pet-asset-size:160px}.guide-mascot--compact{width:128px;height:72px}.guide-mascot--sleeping.guide-mascot--compact{object-fit:cover;object-position:center 55%}.system-guide-panel{z-index:1040;background:var(--surface);isolation:isolate;border:2px solid #5b86a9;border-radius:8px;flex-direction:column;width:min(400px,100vw - 32px);max-height:min(460px,100vh - 278px);display:flex;position:fixed;bottom:236px;right:48px;overflow:visible;box-shadow:0 18px 44px #1b406040}.system-guide-panel:after{z-index:0;content:"";background:var(--surface);border-bottom:2px solid #5b86a9;border-right:2px solid #5b86a9;width:22px;height:22px;position:absolute;bottom:-13px;right:28px;transform:rotate(45deg)}.system-guide-panel>*{z-index:1;position:relative}.system-guide-panel-body{flex-direction:column;flex:auto;min-height:0;max-height:none;display:flex;overflow:auto}.system-guide-panel-toolbar{background:#f8fbfd;border-bottom:1px solid #dbe6ee;border-radius:6px 6px 0 0;flex:none;justify-content:flex-end;align-items:center;min-height:48px;padding:6px 8px;display:flex}.system-guide-close{color:#54728a;cursor:pointer;background:#f4f9fd;border:1px solid #cbdce8;border-radius:10px;place-items:center;width:36px;height:36px;padding:0;display:grid;box-shadow:0 2px 8px #274c691f}.system-guide-close:hover,.system-guide-close:focus-visible{color:#164e70;background:#eaf5ff;border-color:#8eb3ce}.system-guide-form{border-top:1px solid var(--line);order:3;align-items:center;gap:6px;padding:12px 48px 12px 14px;display:flex}.system-guide-form input{flex:1;min-width:0;height:38px}.system-guide-form .icon-button{border:1px solid var(--line);flex:0 0 34px}.system-guide-error{color:var(--coral);align-items:center;gap:10px;margin:0;padding:18px 48px 12px 16px;font-size:12px;line-height:1.65;display:flex}.system-guide-error p{flex:1;margin:0}.system-guide-retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:5px;flex:none;padding:4px 8px}.system-guide-retry:disabled{cursor:wait;opacity:.55}.system-guide-pending{color:var(--muted);margin:0;padding:14px 48px 0 16px;font-size:12px;line-height:1.6}.system-guide-message-stream{overscroll-behavior:contain;flex-direction:column;order:1;gap:8px;max-height:min(320px,38vh);padding:16px 14px 8px;display:flex;overflow-y:auto}.system-guide-message{max-width:92%;color:var(--text);white-space:pre-wrap;border-radius:12px;padding:9px 12px;font-size:14px;line-height:1.7}.system-guide-message p{margin:0}.system-guide-message--user{color:#315c7d;background:#e7f2f8;align-self:flex-end}.system-guide-message--assistant{background:#f5f8fb;align-self:flex-start}.system-guide-message[data-message-status=failed]{border:1px solid color-mix(in srgb, var(--coral) 45%, transparent)}.system-guide-answer{order:1;max-height:min(280px,38vh);padding:20px 48px 18px 16px;overflow:auto}.system-guide-answer>p{color:var(--text);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.8}.system-guide-spotlight-layer{z-index:110;pointer-events:none;position:fixed;inset:0}.system-guide-spotlight{border:3px solid #1f7b72;border-radius:8px;transition:left .14s,top .14s,width .14s,height .14s;position:fixed;box-shadow:0 0 0 6px #1f7b722b}.system-guide-marker--highlight{border-color:#1f7b72}.system-guide-marker--annotate{color:#6b4e16;background:#fffaf0;border-color:#8b6b2a}.system-guide-skip,.system-guide-end{color:#55758a;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.system-guide-skip{margin-top:10px}.system-guide-end{order:2;align-self:flex-end;margin:8px 16px 0}.system-guide-end:disabled,.system-guide-task-end:disabled{cursor:wait;opacity:.55}.system-guide-tasks{gap:6px;margin:8px 16px 4px;display:grid}.system-guide-task{background:#fffdf8;border:1px solid #e7e1d5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:grid}.system-guide-task-status{color:#8a5c00;white-space:nowrap}.system-guide-task-status--blocked{color:#9b3e35}.system-guide-task-summary{overflow-wrap:anywhere;min-width:0}.system-guide-task-end{color:#725b31;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.system-guide-operation{color:#334155;background:#fff9e8;border:1px solid #d6a84b;border-radius:10px;gap:8px;margin:10px 16px 4px;padding:12px;display:grid}.system-guide-operation p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.system-guide-operation-state{color:#6b4b08;background:#f5d88e;border-radius:999px;width:fit-content;padding:2px 7px;font-size:11px;font-weight:700}.system-guide-operation-actions{justify-content:flex-end;gap:8px;display:flex}.system-guide-operation-actions button{min-height:34px}.system-guide-annotation{max-width:min(300px,100vw - 24px);box-shadow:var(--shadow);color:#185c55;pointer-events:auto;background:#f3fffc;border:1px solid #5b9b94;border-radius:6px;align-items:flex-start;gap:6px;padding:8px 10px;font-size:12px;font-weight:650;display:flex;position:fixed}.system-guide-annotation-close{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-2px -3px -2px 0;padding:0;display:grid}.system-guide-annotation-close:hover,.system-guide-annotation-close:focus-visible{background:#185c551f}@media (width<=767px){.system-guide-pet{right:6px;bottom:calc(8px + env(safe-area-inset-bottom));width:184px;height:192px}.guide-mascot--pet{--mascot-pet-asset-size:180px}.guide-mascot--thinking.guide-mascot--pet{--mascot-pet-asset-size:151px}.guide-mascot--guiding.guide-mascot--pet,.guide-mascot--success.guide-mascot--pet{--mascot-pet-asset-size:172px}.guide-mascot--error.guide-mascot--pet{--mascot-pet-asset-size:134px}.guide-mascot--eating.guide-mascot--pet,.system-guide-pet.is-dragging .guide-mascot--pet{--mascot-pet-asset-size:132px}.system-guide-pet-minimize{top:8px;right:-2px}.system-guide-panel{right:12px;bottom:calc(202px + env(safe-area-inset-bottom));width:min(400px,100vw - 24px);max-height:calc(100vh - 290px - env(safe-area-inset-bottom))}.system-guide-panel:after{right:30px}.system-guide-panel-body{max-height:none}}@media (prefers-reduced-motion:reduce){.system-guide-pet.is-moving,.system-guide-pet.is-moving .guide-mascot{transition:none}}:root{color:#132d43;font-synthesis:none;--bg:#e8f0f6;--surface:#fbfdff;--surface-muted:#dce9f3;--text:#132d43;--muted:#536d82;--line:#9eb8cf;--line-strong:#315d85;--navy:#173f63;--blue-panel:#dcecff;--blue-soft:#eef7ff;--teal:#1f7b72;--teal-dark:#175f59;--cobalt:#315fa8;--amber:#bd7c28;--coral:#c75f53;--violet:#746b8c;--shadow:0 10px 28px #1b406021;--shell-nav:72px;--page-gutter:clamp(20px, 4vw, 48px);--page-max:1440px;--nav-max:1920px;background:#e8f0f6;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}textarea{resize:vertical}.app-loading,.classroom-loading{place-items:center;display:grid}.app-loading{min-height:100dvh}.app-shell>.app-loading,.classroom-loading{min-height:calc(100dvh - var(--shell-nav));flex:1}.state-message{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.state-message.error,.form-error{color:var(--coral)}.empty-state{text-align:center;min-height:240px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.empty-state h2{color:var(--text);margin-bottom:8px;font-size:18px}.empty-state p{max-width:480px;line-height:1.7}.render-fallback{min-height:260px;color:var(--coral);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.render-fallback h2{color:var(--text);margin:12px 0 6px;font-size:19px}.render-fallback p{max-width:460px;color:var(--muted);margin:0 0 18px;line-height:1.65}.render-fallback>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.primary-button,.secondary-button{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 15px;font-weight:650;display:inline-flex}.primary-button{background:var(--teal);color:#fff;border:1px solid #155f58}.primary-button:hover{background:var(--teal-dark)}.secondary-button{background:var(--surface);color:var(--navy);border:1px solid var(--line)}.secondary-button:hover{border-color:var(--line-strong)}.reply-retry-button{border:1px solid var(--line-strong);background:var(--surface-soft);width:fit-content;color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;font-size:12px;display:inline-flex}.reply-retry-button:disabled{cursor:default;opacity:.55}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:6px;flex:0 0 34px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--surface-muted);color:var(--text)}.eyebrow{color:var(--teal);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:750}.status-pill{color:var(--teal-dark);background:#edf8f6;border:1px solid #b9d4d0;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}form label,.course-form label{color:var(--navy);gap:7px;margin-bottom:17px;font-size:13px;font-weight:650;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--surface);border-radius:6px;outline:none;width:100%}input,select{height:42px;padding:0 12px}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--teal);flex:none;padding:0}textarea{padding:11px 12px;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #315fa81a}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-main{min-width:0;width:min(100%, calc(var(--page-max) + 2 * var(--page-gutter)));padding:0 var(--page-gutter) 50px;background:var(--bg);flex:1;margin:0 auto;overflow-x:hidden}.topnav{z-index:35;height:var(--shell-nav);background:0 0;border-bottom:1px solid #0000;flex:none;transition:background-color .2s,box-shadow .2s,border-color .2s;position:sticky;top:0}.topnav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border-bottom-color:#315d8524;box-shadow:0 1px 4px #00000014}.topnav-inner{width:min(100%, calc(var(--nav-max) + 2 * var(--page-gutter)));height:100%;padding:0 var(--page-gutter);align-items:center;gap:20px;margin:0 auto;display:flex}.topnav-brand{color:var(--text);white-space:nowrap;background:0 0;align-items:center;gap:10px;padding:0;font-size:16px;font-weight:600;display:inline-flex}.topnav-brand img{object-fit:contain;border-radius:6px;width:32px;height:32px}.topnav-links{align-items:center;gap:22px;margin:0 auto;display:flex}.topnav-link{height:var(--shell-nav);color:var(--muted);white-space:nowrap;background:0 0;align-items:center;padding:0;font-size:14px;font-weight:500;transition:color .2s;display:inline-flex;position:relative}.topnav-link:after{content:"";background:var(--teal);width:0;height:2px;margin:0 auto;transition:width .2s;position:absolute;bottom:0;left:0;right:0}.topnav-link:hover,.topnav-link.active{color:var(--navy)}.topnav-link:hover:after,.topnav-link.active:after{width:100%}.topnav-actions{align-items:center;gap:12px;display:flex}.topnav-prescription,.topnav-guidance{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#7c4dff 0%,#c2479a 100%);border-radius:999px;align-items:center;gap:6px;height:38px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.topnav-prescription{color:#fff;background:linear-gradient(135deg,#168f83 0%,#3277c7 100%)}.topnav-prescription:hover{background:linear-gradient(135deg,#10776e 0%,#2865ae 100%)}.topnav-guidance:hover{background:linear-gradient(135deg,#6b3ce8 0%,#ad3b87 100%)}.topnav-signin{color:var(--navy);white-space:nowrap;background:0 0;padding:6px 4px;font-size:14px;font-weight:500}.topnav-signin:hover{color:var(--teal)}.topnav-account{position:relative}.topnav-avatar{border:1px solid var(--line);background:var(--surface);height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:2px;padding:0 6px 0 2px;display:inline-flex}.topnav-avatar>span{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.topnav-account-menu{border:1px solid var(--line);background:var(--surface);min-width:168px;box-shadow:var(--shadow);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.topnav-account-name{border-bottom:1px solid var(--line);padding:8px 10px 10px}.topnav-account-name strong,.topnav-account-name span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topnav-account-name strong{font-size:13px}.topnav-account-name span{color:var(--muted);margin-top:2px;font-size:11px}.topnav-account-menu button{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:6px;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:13px;display:flex}.topnav-account-menu button:hover{background:var(--blue-soft)}.topnav-menu-toggle{color:var(--navy);background:0 0;padding:6px;display:none}.topnav-drawer{display:none}.login-modal-overlay{z-index:1100;background:#1023346b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-modal{border:1px solid var(--line);background:var(--surface);width:min(380px,100%);box-shadow:var(--shadow);border-radius:10px;padding:26px 24px 18px;position:relative}.login-modal-close{color:var(--muted);background:0 0;border-radius:6px;padding:6px;position:absolute;top:10px;right:10px}.login-modal-close:hover{background:var(--blue-soft);color:var(--text)}.login-modal h2{margin:0 36px 6px 0;font-size:20px}.login-modal-lead{color:var(--muted);margin:0 0 18px;font-size:13px}.login-modal form label{color:var(--muted);margin-bottom:12px;font-size:13px;display:block}.login-modal form input{border:1px solid var(--line);width:100%;height:40px;color:var(--text);background:#fff;border-radius:6px;margin-top:6px;padding:0 12px}.login-modal form input:focus-visible{border-color:var(--cobalt)}.login-modal-password{display:block;position:relative}.login-modal-password input{padding-right:42px}.login-modal-password .icon-button{padding:5px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-modal-error{color:var(--coral);margin:0 0 10px;font-size:13px;line-height:1.5}.login-modal-submit{width:100%;min-height:42px}.login-modal-demo{border:1px solid var(--line-strong);background:var(--blue-soft);width:100%;height:38px;color:var(--navy);border-radius:999px;margin-top:12px;font-size:13px;font-weight:600}.login-modal-demo:hover{border-color:var(--teal);color:var(--teal)}.login-modal-switch{width:100%;color:var(--muted);background:0 0;margin-top:10px;padding:4px;font-size:12px;text-decoration:underline}.login-modal-switch:hover{color:var(--navy)}.page-header{border-bottom:2px solid var(--line-strong);justify-content:space-between;align-items:center;gap:20px;min-height:78px;display:flex}.page-header h1{margin:0;font-size:22px}.header-actions{gap:10px;min-width:0;display:flex}.learning-report-subpage-header{border-bottom:1px solid var(--line);min-height:48px;color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.learning-report-parent-link{color:var(--navy);align-items:center;gap:6px;font-weight:700;display:inline-flex}.learning-report-parent-link:hover,.learning-report-parent-link:focus-visible{color:var(--teal-dark);text-underline-offset:3px;text-decoration:underline}.learning-report-parent-link span:first-child{font-size:19px;line-height:1}.learning-report-breadcrumb-separator{color:var(--line-strong)}.learning-report-subpage-header h1{color:var(--text);margin:0;font-size:18px;font-weight:760}.learning-letters-page{min-height:0}.learning-letters-filters{flex-wrap:wrap;gap:6px;display:flex}.learning-letters-filters button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:7px;padding:7px 12px}.learning-letters-filters button.active{border-color:var(--navy);background:var(--navy);color:#fff}.learning-letters-layout{border:1px solid var(--line);background:var(--surface);min-height:620px;box-shadow:var(--shadow);border-radius:12px;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);display:grid;overflow:hidden}.learning-letters-list{background:var(--surface-muted);flex-direction:column;gap:1px;display:flex;overflow:auto}.learning-letter-list-item{background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border:0;border-left:3px solid #0000;gap:6px;padding:17px 18px;display:grid}.learning-letter-list-item:hover,.learning-letter-list-item.active{background:var(--blue-soft);border-left-color:var(--teal)}.learning-letter-list-item strong{font-size:15px;line-height:1.45}.learning-letter-list-item>span:not(.learning-letter-status),.learning-letter-list-item p,.learning-letter-list-item time{color:var(--muted);font-size:12px}.learning-letter-list-item p{margin:0;line-height:1.5}.learning-letter-list-item time{justify-self:end}.learning-letter-status{border-radius:999px;width:fit-content;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-pending{color:#8a5a00;background:#fff1c8}.status-confirmed{color:#12664e;background:#d8f2e8}.status-ignored,.status-expired{color:#5d6d78;background:#e6edf2}.learning-letter-detail{min-width:0;padding:28px 34px;overflow:auto}.learning-letter-detail-empty{min-height:560px;color:var(--muted);align-content:center;place-items:center;gap:12px;display:grid}.learning-letter-detail-content{max-width:760px;margin:0 auto}.learning-letter-detail-content>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.learning-letter-detail-content h2{color:var(--navy);margin:9px 0 5px;font-size:25px}.learning-letter-detail-content header p{color:var(--muted);margin:0;font-size:13px}.learning-letter-detail-content section{border-bottom:1px solid #dce7ee;padding:22px 0}.learning-letter-detail-content h3{color:var(--navy);margin:0 0 10px;font-size:15px}.learning-letter-detail-content section p{margin:7px 0 0;line-height:1.75}.learning-letter-evidence{gap:8px;display:grid}.learning-letter-evidence>div{background:var(--blue-soft);border-radius:8px;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.learning-letter-evidence span,.learning-letter-evidence time{color:var(--muted)}.learning-letter-evidence time{font-size:11px}.learning-letter-current-rules{gap:8px;display:grid}.learning-letter-current-rules>div{background:#f5f9fb;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.learning-letter-current-rules span,.learning-letter-previous{color:var(--muted);font-size:13px}.learning-letter-rule{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;margin-top:10px;padding:13px;display:grid}.learning-letter-rule.disabled{opacity:.58}.learning-letter-rule label{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.learning-letter-rule input[type=text],.learning-letter-rule>input:not([type]){width:100%}.learning-letter-rule>input,.learning-letter-rule>textarea{border:1px solid var(--line);font:inherit;color:var(--text);border-radius:6px;padding:8px 10px}.learning-letter-rule>textarea{resize:vertical;min-height:58px}.learning-letter-rule>span{color:var(--muted);font-size:13px}.learning-letter-effect{background:#f5f9fb;border-radius:8px;padding-inline:14px!important}.learning-letter-detail-content ul{color:var(--muted);margin:0;padding-left:20px;line-height:1.7}.learning-letter-action-error{color:var(--coral);font-size:13px}.learning-letter-detail-content footer{justify-content:flex-end;gap:10px;padding-top:20px;display:flex}@media (width<=760px){.learning-letters-layout{grid-template-columns:1fr;min-height:0}.learning-letters-list{max-height:320px}.learning-letter-detail{padding:22px 18px}.learning-letter-evidence>div{grid-template-columns:1fr;gap:3px}}.learning-report-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;display:flex}.learning-report-scope-picker{color:#4c3925;align-items:center;gap:9px;margin-left:auto;font-size:12px;font-weight:700;display:flex}.learning-report-scope-picker select{color:#263e4d;min-width:190px;height:34px;font:inherit;background:#fff8e0e6;border:1px solid #a88858;border-radius:2px;padding:0 28px 0 10px}.learning-report-scope-picker select:disabled{cursor:wait;opacity:.68}.learning-report-map{background-color:#ead39a;background-position:50%;background-size:cover;border:1px solid #a88858;min-height:760px;padding:clamp(28px,3.2vw,48px);position:relative;overflow:hidden;box-shadow:0 14px 34px #4931173d}.learning-report-scope-status{z-index:3;color:#4c3925;background:#fff8e0e0;border:1px solid #4d3c225c;padding:5px 9px;font-size:11px;font-weight:700;position:absolute;top:12px;right:14px}.learning-report-analysis-drop{z-index:100;color:#4c3925;text-align:center;pointer-events:none;background:#fff4c9;border:3px dashed #735326;width:min(380px,100vw - 32px);padding:15px 22px;font-size:16px;font-weight:760;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #2b1f0e6b}.learning-report-analysis-drop:before{content:"↳";margin-right:8px;font-size:18px;display:inline-block}.learning-report-analysis-drop.is-over{background:#f4d77f;border-style:solid;box-shadow:0 0 0 5px #73532642,0 12px 30px #2b1f0e6b}.learning-report-map.is-analysis-mode{width:min(100%,1440px,160dvh - 154px);height:min(900px, calc(100dvh - var(--shell-nav) - 96px));min-height:680px;margin-inline:auto;padding:24px}.learning-report-analysis-layout{grid-template-columns:minmax(0,1.58fr) minmax(360px,.95fr);gap:0;height:100%;min-height:0;display:grid}.learning-report-analysis-focus{border-right:1px solid #70522b4d;flex-direction:column;align-items:center;min-width:0;min-height:0;padding:22px;display:flex}.learning-report-analysis-focus-header{color:#4c3925;align-items:center;width:100%;margin-bottom:16px;font-size:13px;font-weight:760;display:flex}.learning-report-analysis-focus-header .icon-button{color:#4c3925;margin-left:auto;font-size:22px}.learning-report-analysis-focus .learning-report-note{flex:none;width:min(100%,390px);min-height:0;transform:none}.learning-report-analysis-conversation{background:#fffcf0e6;border-left:0;height:100%;min-height:0}.learning-report-analysis-conversation .conversation-header{border-bottom-color:#70522b42;padding:0 18px}.learning-report-analysis-conversation .message-scroll{padding:24px 20px 28px}.learning-report-analysis-conversation .composer-wrap{border-top-color:#70522b42}.learning-report-analysis-conversation .composer{grid-template-columns:minmax(0,1fr) 42px}.learning-report-analysis-conversation .composer textarea{grid-column:1;height:34px;overflow-y:auto}.learning-report-analysis-conversation .composer .send-button{grid-column:2;justify-self:end}.learning-report-note{touch-action:none;cursor:grab}.learning-report-note:active{cursor:grabbing}.learning-report-map:before{z-index:0;content:"";pointer-events:none;background:#fff5d357;position:absolute;inset:0}.learning-report-region-grid{z-index:1;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr) minmax(300px,1fr);align-items:start;gap:clamp(16px,2vw,28px);display:grid;position:relative}.learning-report-region>header{color:#3f2b18;border-bottom:2px solid #4f361b94;justify-content:space-between;align-items:baseline;gap:10px;margin:0 4px 10px;padding-bottom:8px;display:flex}.learning-report-region>header span{font-family:Georgia,Noto Serif SC,serif;font-size:18px;font-weight:700}.learning-report-region>header small{color:#775a34;font-size:11px}.learning-report-note-grid{gap:14px;display:grid}.learning-report-note-grid.four-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-report-note-grid.two-notes{grid-template-columns:1fr}.learning-report-note{cursor:pointer;perspective:1200px;touch-action:none;cursor:grab;outline:none;min-width:0;position:relative}.learning-report-note.is-dragging{z-index:101;cursor:grabbing;pointer-events:none;filter:drop-shadow(0 16px 12px #2b1f0e6b);margin:0;position:fixed;transform:rotate(-1.5deg)}.learning-report-note.is-drag-placeholder{visibility:hidden;pointer-events:none}.learning-report-note-wide{aspect-ratio:1.55}.learning-report-note-tall{aspect-ratio:.82}.learning-report-note-chart{aspect-ratio:1.4}.learning-report-note:focus-visible{outline-offset:4px;outline:3px solid #215f72}.learning-report-note-inner{transform-style:preserve-3d;transition:transform .62s cubic-bezier(.2,.75,.25,1);position:absolute;inset:0}.learning-report-note.is-flipped .learning-report-note-inner{transform:rotateY(180deg)}.learning-report-note-face{backface-visibility:hidden;filter:drop-shadow(0 8px 5px #34231340);position:absolute;inset:0;overflow:hidden}.learning-report-note-back{transform:rotateY(180deg)}.learning-report-note-skin{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.learning-report-note-skin.back-skin{filter:brightness(1.08)saturate(.72)contrast(.94);transform:scaleX(-1)}.learning-report-note-content{color:#172c3a;flex-direction:column;min-width:0;min-height:0;display:flex;position:absolute;inset:14% 13% 13% 18%;overflow:hidden}.learning-report-note-tall .learning-report-note-content{inset:11% 13% 11% 18%}.learning-report-note-header{color:#285269;justify-content:space-between;align-items:center;gap:8px;display:flex}.learning-report-note-header svg{flex:none}.learning-report-note-title{color:#172f40;margin-top:3px;font-family:Georgia,Noto Serif SC,serif;font-size:clamp(16px,1.35vw,21px);line-height:1.2}.learning-report-note-value{flex:1;align-content:center;min-width:0;min-height:0;padding:4px 0;display:grid}.learning-report-note-empty{color:#637985;flex:1;align-items:center;font-size:12px;display:grid}.note-progress{background:#5a7c8a2e;border:1px solid #31546533;height:7px;margin-top:10px;overflow:hidden}.note-progress i{background:#2f7683;height:100%;display:block}.chart-value{justify-items:stretch}.chart-caption{color:#5d7481;text-align:center;margin-top:5px;font-size:10px}.ratio-chart svg,.growth-sparkline{width:100%;height:auto;overflow:visible}.chart-axis{fill:none;stroke:#274b5a8c;stroke-width:1px}.chart-gridline{fill:none;stroke:#4e6f7a2e;stroke-dasharray:2 3;stroke-width:1px}.ratio-chart text{fill:#607985;text-anchor:middle;font-size:7px}.ratio-chart .chart-value-label{fill:#244c60;font-size:9px;font-weight:800}.ratio-bar-complete{fill:#2f7683}.ratio-bar-total{fill:#708a9161}.ratio-chart-main{place-items:center;width:min(100%,74px);margin:0 auto;display:grid;position:relative}.ratio-chart-main svg{display:block}.ratio-chart-main strong{color:#163e56;font-size:16px;font-weight:800;position:absolute}.ratio-track,.ratio-arc{fill:none;stroke-width:10px}.ratio-track{stroke:#5a7c8a2e}.ratio-arc{stroke:#2f7683;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.ratio-chart-legend{color:#526e7b;justify-content:center;gap:12px;margin-top:2px;font-size:10px;display:flex}.ratio-chart-legend span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.ratio-chart-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.ratio-complete-dot{background:#2f7683}.ratio-remaining-dot{background:#708a916b}.growth-point{fill:#2b7180;stroke:#eef3e9;stroke-width:1px}.mastery-chart{align-content:center;justify-items:stretch;display:grid;position:relative}.mastery-chart-main{place-items:center;width:min(100%,142px);margin:0 auto;display:grid;position:relative}.mastery-chart-main svg{width:100%;height:auto;display:block}.mastery-track,.mastery-arc{fill:none;stroke-width:9px}.mastery-track{stroke:#5a7c8a2e}.mastery-arc{stroke:#2f7683;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.mastery-chart-score{color:#163e56;font-size:20px;font-weight:800;position:absolute}.mastery-chart .chart-caption{margin-top:3px}.chart-subcaption{color:#71838b;text-align:center;margin-top:2px;font-size:9px}.mastery-evidence-bar{background:#c7755557;border:1px solid #6c4a3b2e;height:10px;margin:8px 10px 0;overflow:hidden}.mastery-evidence-bar i{background:#2f7683;height:100%;display:block}.mastery-evidence-legend{color:#526e7b;justify-content:space-between;margin:3px 10px 0;font-size:9px;display:flex}.mastery-stat-grid{color:#526e7b;text-align:center;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:8px;font-size:9px;display:grid}.mastery-stat-grid span{gap:1px;display:grid}.mastery-stat-grid b{color:#244c60;font-size:13px}.review-value,.retention-value{align-content:center}.review-mini-bars{border-bottom:1px solid #274b5a80;align-items:flex-end;gap:10px;height:28px;margin-top:2px;padding:0 10px;display:flex}.review-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:24px;display:flex}.review-bar-wrap b{color:#5d7481;font-size:9px;font-weight:700}.review-bar-wrap i{background:#bb7d37;border:1px solid #8b5b29;width:17px;min-height:1px;display:block}.review-bar-wrap:nth-child(2) i{opacity:.75}.review-bar-wrap:nth-child(3) i{opacity:.52}.retention-stack{background:#5a7c8a2e;border:1px solid #31546533;width:100%;height:18px;margin-top:8px;display:flex;overflow:hidden}.retention-stack i{min-width:0;display:block}.retention-stack i.risk-low{background:#88a19b}.retention-stack i.risk-medium{background:#d2a05a}.retention-stack i.risk-high{background:#c77555}.retention-stack i.risk-overdue{background:#a74443}.retention-legend{color:#607985;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:7px;font-size:9px;display:grid}.retention-legend span{white-space:nowrap;justify-content:center;align-items:center;gap:3px;display:inline-flex}.retention-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.retention-legend i.risk-low{background:#88a19b}.retention-legend i.risk-medium{background:#d2a05a}.retention-legend i.risk-high{background:#c77555}.retention-legend i.risk-overdue{background:#a74443}.review-bars{width:100%;height:auto;overflow:visible}.review-bars text{fill:#607985;text-anchor:middle;font-size:7px}.review-bars .review-axis-label{text-anchor:end;font-size:6px}.review-bars .review-axis-title{font-size:6px}.review-bars .review-bar-value{fill:#244c60;font-size:9px;font-weight:800}.review-bars .review-bar-label{font-size:7px}.review-bar{fill:#bb7d37;stroke:#8b5b29;stroke-width:1px}.retention-bars{width:100%;height:auto;overflow:visible}.retention-bars text{fill:#607985;text-anchor:middle;font-size:7px}.retention-bars .retention-axis-label{text-anchor:end;font-size:6px}.retention-bars .retention-axis-title{font-size:6px}.retention-bars .retention-bar-value{fill:#244c60;font-size:9px;font-weight:800}.retention-bars .retention-bar-label{font-size:7px}.retention-bar{stroke-width:1px}.retention-bar.risk-low{fill:#88a19b;stroke:#5e7e79}.retention-bar.risk-medium{fill:#d2a05a;stroke:#9b7134}.retention-bar.risk-high{fill:#c77555;stroke:#984b36}.retention-bar.risk-overdue{fill:#a74443;stroke:#7f3232}.growth-sparkline{width:100%;height:100%;min-height:0;margin:0;display:block;overflow:visible}.learning-report-note-chart .chart-value{align-content:stretch;padding-bottom:0}.learning-report-note-chart .learning-report-note-title{font-size:clamp(16px,1.1vw,18px)}.learning-report-note-chart .learning-report-note-header svg{width:16px;height:16px}.growth-sparkline .chart-axis{stroke:#477386;stroke-width:1.5px}.growth-sparkline .chart-gridline{stroke:#3a697a7a;stroke-dasharray:4 3}.growth-sparkline polyline{fill:none;stroke:#116b80;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5px}.growth-sparkline text{fill:#315f70;font-size:8px}.growth-sparkline .growth-y-label{text-anchor:end;font-size:8px}.growth-sparkline .growth-axis-label{text-anchor:middle;font-size:8px}.learning-report-note-source{scrollbar-color:#3856656b transparent;scrollbar-width:thin;flex-direction:column;flex:1;min-width:0;min-height:0;padding-top:6px;display:flex;overflow-y:auto}.source-state{color:#2f6375;align-self:flex-start;font-size:10px;font-weight:800}.learning-report-note-source dl{color:#5f7480;gap:3px;margin:0;font-size:10px;display:grid}.learning-report-note-source dl div{justify-content:space-between;gap:8px;display:flex}.learning-report-note-source dt{color:#78909b}.learning-report-note-source dd{color:#385665;text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.source-limit{color:#6f7e83;margin:auto 0 0;font-size:9px;line-height:1.35}.learning-report-source-empty{color:#657985;flex:1;align-items:center;font-size:11px;display:grid}@media (width<=1100px){.learning-report-region-grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr)}.journey-region{grid-column:1/-1}.learning-report-note-grid.four-notes{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=780px){.learning-report-toolbar{flex-direction:column;align-items:stretch;gap:8px}.learning-report-scope-picker{flex-direction:column;align-items:stretch;gap:4px;margin-left:0}.learning-report-scope-picker select{width:100%}.learning-report-map.is-analysis-mode{width:100%;height:auto;min-height:0;margin-inline:0}.learning-report-analysis-layout{grid-template-columns:1fr;gap:0;height:auto;min-height:0}.learning-report-analysis-focus{border-bottom:1px solid #70522b4d;border-right:0;min-height:460px;padding:16px}.learning-report-analysis-focus .learning-report-note{width:min(100%,330px);transform:none}.learning-report-analysis-conversation{height:500px;min-height:0}.learning-report-map{background-position:50%;min-height:0;padding:22px 14px 28px}.learning-report-region-grid{grid-template-columns:1fr;gap:26px}.journey-region{grid-column:auto}.learning-report-note-grid.four-notes,.learning-report-note-grid.two-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-report-note{height:auto}.learning-report-note-wide{aspect-ratio:1.7}.learning-report-note-chart{aspect-ratio:1.55}.learning-report-note-title{font-size:17px}}@media (width<=480px){.learning-report-note-grid.four-notes,.learning-report-note-grid.two-notes{grid-template-columns:1fr}.learning-report-note-wide{aspect-ratio:1.7}.learning-report-note-chart{aspect-ratio:1.55}}.toolbar,.library-toolbar,.profile-toolbar{justify-content:space-between;align-items:center;gap:18px;min-height:60px;display:flex}.search-field{background:var(--surface);border:1px solid var(--line);width:min(100%,360px);height:40px;color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:0 11px;display:flex}.search-field input{height:auto;box-shadow:none;background:0 0;border:0;padding:0}:root{--ws-bg:#f5f4fb;--ws-ink:#1b1b2d;--ws-muted:#8a8aa4;--ws-line:#eceaf7;--ws-line-strong:#dedbee;--ws-accent:#5b51e8;--ws-accent-strong:#4a40d6;--ws-accent-soft:#f1f0ff;--ws-field:#f7f6fd;--ws-card-shadow:0 1px 2px #1b1b2e08, 0 16px 36px -24px #1b1b2e3d}body:has(.app-main-courses){background:var(--ws-bg)}.app-main-courses{background:var(--ws-bg)}.app-main-courses .page-header{border-bottom:0;min-height:0;padding:30px 0 20px}.app-main-courses .page-header h1{color:var(--ws-ink);letter-spacing:-.03em;font-size:27px;font-weight:700}.app-main-courses .primary-button{border:1px solid var(--ws-accent);background:var(--ws-accent);border-radius:999px;min-height:40px;padding:0 18px;font-size:13px;font-weight:650}.app-main-courses .primary-button:hover{border-color:var(--ws-accent-strong);background:var(--ws-accent-strong)}.app-main-courses .manage-button{border:1px solid var(--teal);min-height:40px;color:var(--teal-dark);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:0 18px;font-size:13px;font-weight:650;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.app-main-courses .manage-button:hover{background:#eef6f5}.app-main-courses .manage-button[aria-pressed=true]{border-color:var(--teal);background:var(--teal);color:#fff}.app-main-courses .manage-button[aria-pressed=true]:hover{border-color:var(--teal-dark);background:var(--teal-dark)}.app-main-courses .toolbar{border-bottom:1px solid var(--ws-line);min-height:0;padding-bottom:24px}.app-main-courses .search-field{border:1px solid var(--ws-line-strong);height:44px;color:var(--ws-muted);background:#fff;border-radius:12px}.app-main-courses .search-field:focus-within{border-color:#c7c2f3;box-shadow:0 0 0 3px #5b51e81a}.app-main-courses .search-field input::placeholder{color:#b3b1c6}.course-total{color:var(--ws-muted);font-size:13px;font-weight:600}.course-manage-actions{align-items:center;gap:12px;display:flex}.app-main-courses .course-manage-actions .course-total{display:inline}.course-manage-actions .danger-button{border-radius:999px;min-height:38px;padding:0 16px;font-size:13px}.course-dashboard{gap:40px;padding:28px 0 44px;display:grid}.course-group{min-width:0}.course-group-heading{justify-content:space-between;align-items:center;gap:16px;min-height:0;margin-bottom:18px;display:flex}.course-group-heading>div{align-items:center;gap:10px;display:flex}.course-group-heading h2{color:var(--ws-ink);letter-spacing:-.025em;margin:0;font-size:19px;font-weight:750}.course-group-heading>div>span{color:var(--ws-muted);background:#f1effb;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex}.course-group-heading p{color:var(--ws-muted);margin:0;font-size:13px}.course-card-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--ws-line-strong);min-width:0;box-shadow:var(--ws-card-shadow);background:#fff;border-radius:14px;grid-template-rows:auto minmax(0,1fr) 54px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative}.course-card:hover{border-color:#cbc5f0;transform:translateY(-2px);box-shadow:0 1px 2px #1b1b2e0a,0 26px 50px -28px #1b1b2e57}.course-card:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;opacity:0;pointer-events:none;background:linear-gradient(120deg,#ffb877,#ff8fb8 32%,#8b7cf6 66%,#59c2ff);padding:1px;transition:opacity .2s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.course-card:hover:after,.course-card:focus-visible:after{opacity:1}button.course-card{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.course-card.is-selected,.course-card.is-selected:hover{border-color:var(--teal);box-shadow:0 0 0 3px #1f7b7224, var(--ws-card-shadow)}.course-card.is-selected:after{opacity:0}.course-card-check{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #175f5957}.course-card-cover{aspect-ratio:16/9;background:var(--ws-field);border-radius:13px 13px 0 0;position:relative;overflow:hidden}.course-card-cover img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.course-card-cover-blank{color:#a5a1cf;background:linear-gradient(135deg,#f0effc,#e3e0f8);place-items:center;width:100%;height:100%;display:grid}.course-card-subject{text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#55547a;background:#ffffffe0;border-radius:999px;max-width:calc(100% - 24px);padding:4px 11px;font-size:12px;font-weight:650;position:absolute;bottom:12px;left:12px;overflow:hidden}.course-card-body{min-width:0;padding:16px 18px 4px}.course-card-body h3{overflow-wrap:anywhere;color:var(--ws-ink);letter-spacing:-.01em;margin:0 0 7px;font-size:16px;font-weight:700;line-height:1.4}.course-card-body p{color:var(--ws-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.course-card footer{color:var(--ws-muted);border-top:1px solid #f4f3fa;justify-content:space-between;align-items:center;padding:0 14px 0 18px;display:flex}.course-card footer>span:first-child{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.course-open-icon{background:var(--ws-accent-soft);width:30px;height:30px;color:var(--ws-accent);border-radius:50%;place-items:center;transition:background .18s,color .18s;display:grid}.course-card:hover .course-open-icon{background:var(--ws-accent);color:#fff}.prescription-course-group .course-group-heading>div>span{color:#24776f;background:#e3f5f2}.prescription-course-card:after{background:linear-gradient(120deg,#63d4bd,#46a8d8 48%,#6f79dc)}.prescription-course-card .course-card-cover-blank{color:#348b86;background:linear-gradient(135deg,#e1f7f1,#dbe9fb)}.prescription-course-title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.prescription-course-title-row h3{min-width:0}.prescription-course-status{color:#3e65a1;white-space:nowrap;background:#edf4ff;border-radius:999px;flex:none;margin-top:1px;padding:3px 8px;font-size:11px;font-weight:700}.prescription-course-status.status-active{color:#24735f;background:#e3f5ed}@media (prefers-reduced-motion:reduce){.course-card,.course-card:after,.course-open-icon{transition:none}.course-card:hover{transform:none}}.course-group-ended .course-group-heading h2{color:var(--ws-muted)}.course-group-ended .course-group-heading>div>span{background:#f1f1f6}.ended-course-empty{border:1px dashed var(--ws-line-strong);min-height:104px;color:var(--ws-muted);background:#ffffff8c;border-radius:14px;justify-content:center;align-items:center;gap:9px;font-size:13px;display:flex}.course-dialog{border:1px solid var(--ws-line-strong);background:#fff;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(480px,100vw - 32px);max-height:calc(100dvh - 40px);display:grid;overflow:hidden;box-shadow:0 24px 70px -24px #1b1b2e75}.course-dialog>header,.course-dialog>footer{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.course-dialog>header{border-bottom:1px solid var(--ws-line)}.course-dialog>header h2{color:var(--ws-ink);margin:0;font-size:17px;font-weight:700}.course-dialog>footer{border-top:1px solid var(--ws-line);background:var(--ws-field);justify-content:flex-end}.course-dialog-body{min-height:0;padding:20px;overflow:auto}.course-dialog-body p{color:#55547a;margin:0;font-size:13px;line-height:1.7}.course-dialog-body strong{color:#9d302f}.course-action-error{color:#9d302f;background:#fff8f7;border:1px solid #f2d2cf;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px}@media (width<=767px){.app-main-courses .page-header{padding:22px 0 16px}.app-main-courses .page-header h1{font-size:23px}.app-main-courses .toolbar{padding:0 0 18px}.course-total{display:none}.course-dashboard{gap:32px;padding:22px 0 36px}.course-card-grid{grid-template-columns:1fr}}.creation-shell{background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;width:min(900px,100%);margin:18px auto 0;overflow:hidden;box-shadow:0 5px 16px #1937440f}.stepper{border-bottom:1px solid var(--line-strong);background:#dfe7e5;grid-template-columns:repeat(3,1fr);width:100%;margin:0;padding:18px 32px;display:grid}.stepper div{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex;position:relative}.stepper div:after{content:"";background:#9eaeae;flex:1;height:1px}.stepper div:last-child:after{display:none}.stepper span{border:1px solid var(--line-strong);border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.stepper .active{color:var(--teal-dark);font-weight:650}.stepper .active span{border-color:var(--teal);background:var(--teal);color:#fff}.flow-panel{background:var(--surface);border:0;border-radius:0;width:100%;min-height:500px;margin:0;padding:34px 42px}.course-form>h2,.upload-step>h2{margin-bottom:7px;font-size:20px}.course-form>p,.upload-step>p{color:var(--muted);margin-bottom:25px}.course-name-entry{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:26px;display:grid}.course-name-entry label{margin:0}.ai-prefill-button{color:#174f76;white-space:nowrap;background:#dcecff;border:2px solid #356990;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:700;display:inline-flex}.ai-prefill-button:hover{background:#c9e2f8}.prefill-success{color:#237066;margin:10px 0 0;font-size:12px;font-weight:650}.optional-course-fields{background:#eef7ff;border:2px solid #9bb7cf;border-radius:6px;margin-top:18px}.optional-course-fields summary{color:#294f70;cursor:pointer;padding:13px 15px;font-size:13px;font-weight:700}.optional-course-fields[open] summary{border-bottom:1px solid #a9bfd3}.optional-course-fields label{margin:14px 15px}.flow-actions{border-top:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:25px;padding-top:18px;display:flex}.file-drop{height:180px;color:var(--teal-dark);cursor:pointer;background:#f4f9f8;border:1px dashed #8fb4b0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.file-drop span{color:var(--muted);font-size:12px}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.ai-outline-generator{background:#eef7ff;border:1px solid #9bb7cf;border-radius:7px;gap:12px;padding:18px;display:grid}.ai-outline-generator>div:first-child{color:#294f70;gap:5px;display:grid}.ai-outline-generator>div:first-child span{color:var(--muted);font-size:12px}.ai-outline-generator textarea{resize:vertical;min-height:78px}.ai-outline-generator .ai-prefill-button{justify-self:start}.outline-upload-divider{color:var(--muted);align-items:center;gap:12px;margin:22px 0;font-size:12px;display:flex}.outline-upload-divider:before,.outline-upload-divider:after{content:"";background:var(--line);flex:1;height:1px}.ai-outline-review>p{color:var(--muted);margin:4px 0 12px;font-size:13px}.ai-outline-review>.secondary-button{margin-top:12px}.file-list{gap:5px;margin-top:15px;display:grid}.file-list>div{border:1px solid var(--line);border-radius:5px;grid-template-columns:1fr auto 34px;align-items:center;gap:8px;min-height:42px;padding:3px 5px 3px 12px;display:grid}.file-list small{color:var(--muted)}.processing-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.processing-state p{max-width:500px;color:var(--muted);line-height:1.7}.outline-processing-card{text-align:left;background:#eef7ff;border:2px solid #96b7d8;border-radius:7px;grid-template-columns:42px minmax(0,1fr);gap:12px 14px;width:min(100%,680px);margin:18px 0;padding:18px;display:grid}.outline-processing-mark{color:#225a91;background:#dcecff;border:1px solid #87a9cf;border-radius:6px;grid-row:span 2;place-items:center;width:40px;height:40px;display:grid}.outline-processing-mark.failed{color:#9d3d34;background:#fff0ed;border-color:#d79b94}.outline-processing-copy strong,.outline-processing-copy span{display:block}.outline-processing-copy strong{font-size:14px}.outline-processing-copy span{color:var(--muted);margin-top:5px;font-size:12px}.outline-progress-track{background:#fff;border:1px solid #aec7df;border-radius:4px;height:7px;overflow:hidden}.outline-progress-track span{background:#377db6;height:100%;transition:width .3s;display:block}.outline-file-grid{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;display:grid}.outline-file-grid>div{background:#ffffffc7;border:1px solid #b9cee3;border-radius:5px;min-width:0;padding:8px 10px}.outline-file-grid span,.outline-file-grid small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.outline-file-grid span{font-size:11px}.outline-file-grid small{color:#466681;margin-top:4px;font-size:10px}.outline-file-grid p{color:var(--coral);margin:5px 0 0;font-size:10px}.outline-processing-card>.secondary-button,.outline-processing-actions{grid-column:1/-1;justify-self:start}.outline-processing-actions{flex-wrap:wrap;gap:8px;display:flex}.success-mark{width:58px;height:58px;color:var(--teal);background:#def1ed;border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.creation-status-list{text-align:left;gap:5px;width:min(100%,520px);margin:0 0 14px;display:grid}.creation-status-list span{border:1px solid var(--line);border-radius:5px;justify-content:space-between;padding:8px 10px;font-size:12px;display:flex}.creation-status-list small{color:var(--muted)}.outline-review{border:1px solid #c9d8d6;border-left:3px solid var(--teal);background:var(--surface);text-align:left;border-radius:6px;width:min(100%,680px);margin:2px 0 18px;overflow:hidden}.outline-review>header{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;display:grid}.outline-review-icon,.tree-empty-icon{width:34px;height:34px;color:var(--teal-dark);background:#edf6f4;border:1px solid #b7d0cc;border-radius:6px;place-items:center;display:grid}.outline-review header strong,.outline-review header span{display:block}.outline-review header div>span{color:var(--muted);margin-top:3px;font-size:11px}.validation-badge{color:#25695e;background:#edf7f4;border:1px solid #b9d4cd;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:700}.validation-badge.invalid{color:#a33f35;background:#fff2f0;border-color:#e2b8b2}.outline-review-preview{background:#fbfcfc;max-height:250px;padding:10px 15px;overflow:auto}.outline-review-preview>div{min-height:28px;color:var(--text);align-items:center;gap:8px;font-size:12px;display:flex}.outline-review-preview>div>span{background:#799b97;border-radius:50%;flex:0 0 5px;width:5px;height:5px}.outline-review-preview>div>div{align-items:baseline;gap:8px;min-width:0;display:flex}.outline-review-preview>div small{color:var(--muted);font-size:10px}.outline-review-changes{border-bottom:1px solid var(--line);background:#f1f6fb;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 15px;font-size:11px;display:flex}.outline-review-changes>span{color:var(--muted)}.outline-review-warning{color:#86531f;background:#fff8ed;border-bottom:1px solid #e4c5a8;margin:0;padding:9px 15px;font-size:11px}.outline-review-preview>small{color:var(--muted);padding:6px 0 2px;display:block}.outline-review>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:12px 15px;display:flex}.outline-review>footer p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.outline-review>footer .primary-button{flex:none}.outline-review-preview>div>.icon-button{opacity:0;width:26px;height:26px;margin-left:auto}.outline-review-preview>div>.outline-source-button{opacity:1;color:#315f8c}.outline-low-confidence{color:#a15d19!important}.outline-review-preview>div:hover>.icon-button,.outline-review-preview>div:focus-within>.icon-button{opacity:1}.outline-candidate-editor{border-top:1px solid var(--line);background:#f5f8fb;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr) 110px;gap:10px;padding:12px 15px;display:grid}.outline-candidate-editor>header,.outline-candidate-add,.outline-candidate-editor-actions{grid-column:1/-1}.outline-candidate-editor>header,.outline-candidate-editor-actions,.outline-candidate-add{align-items:center;gap:8px;display:flex}.outline-candidate-editor>header{justify-content:space-between}.outline-candidate-editor label{color:var(--muted);gap:5px;font-size:11px;display:grid}.outline-candidate-editor input,.outline-candidate-editor select{width:100%}.outline-candidate-add input{flex:1}.outline-source-modal{z-index:80;background:#12222f80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.outline-source-modal>div{background:var(--surface);border:2px solid #416a91;border-radius:6px;width:min(920px,94vw);max-height:90vh;overflow:auto}.outline-source-modal header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:sticky;top:0}.outline-source-modal img{width:100%;height:auto;display:block}.outline-source-modal p{text-align:center;padding:36px}.modal-backdrop{z-index:50;background:#14283359;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.upload-dialog{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,620px);max-height:min(760px,100dvh - 40px);display:grid;overflow:hidden;box-shadow:0 18px 60px #0f232e38}.upload-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.upload-dialog h2{margin-bottom:5px;font-size:19px}.upload-dialog header p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.upload-dialog .file-drop{margin:20px 20px 10px}.file-drop.compact{height:150px}.dialog-file-list,.upload-progress-list{min-height:0;padding:0 20px 16px;overflow:auto}.dialog-file-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:9px 3px;font-size:12px;display:flex}.dialog-file-list select{min-width:108px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:inherit;border-radius:4px;padding:6px 28px 6px 9px}.dialog-file-list small{color:var(--muted)}.upload-progress-list{padding-top:12px}.upload-progress-item{border-bottom:1px solid var(--line)}.upload-progress-main{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;display:grid}.upload-state{width:28px;height:28px;color:var(--teal);background:#e7f2f0;border-radius:50%;place-items:center;display:grid}.upload-state.needs_review{color:var(--amber);background:#fff2df}.upload-state.failed{color:var(--coral);background:#fdebe8}.upload-progress-list strong,.upload-progress-list small{display:block}.upload-progress-list strong{font-size:12px}.upload-progress-list small{color:var(--muted);margin-top:4px;font-size:10px}.upload-progress-main p{color:var(--coral);margin:4px 0 0;font-size:10px}.upload-progress-main p.upload-warning{color:#9a6412}.upload-progress-main p.upload-quality-outcome{color:#815d1c;font-weight:650}.upload-stage-progress{background:#dfe7eb;border-radius:3px;height:5px;margin-top:8px;position:relative;overflow:visible}.upload-stage-progress>span{border-radius:inherit;background:var(--teal);height:100%;transition:width .18s;display:block}.upload-stage-progress>small{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:8px;position:absolute;top:-14px;right:0}.video-review-loading,.video-review-error,.video-review-resolved{margin:0 0 13px 40px;font-size:10px}.video-review-loading{color:var(--muted);align-items:center;gap:7px;display:flex}.video-review-error{color:var(--coral)}.video-review-resolved{color:var(--teal-dark)}.video-review-detail{border-top:1px solid var(--line);margin:0 0 14px 40px;padding:11px 0 2px}.video-review-detail>header{border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.video-review-detail>header strong,.video-review-detail>header span{display:block}.video-review-detail>header span{color:var(--muted);font-size:9px}.video-review-detail h4{margin:10px 0 5px;font-size:12px}.video-review-detail>p{color:var(--muted);margin:7px 0;font-size:10px;line-height:1.55}.video-review-detail>.secondary-button,.video-review-detail>.primary-button{margin-top:10px}.video-knowledge-binding{border:1px solid var(--line);background:#f8fbfc;border-radius:8px;gap:7px;margin-top:13px;padding:10px;display:grid}.video-knowledge-binding>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.video-knowledge-binding>header strong{font-size:10px}.video-knowledge-binding>header span,.video-knowledge-binding>p{color:var(--muted);margin:0;font-size:9px}.video-knowledge-binding-option{background:var(--surface);cursor:pointer;border:1px solid #dfe7eb;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.video-knowledge-binding-option input{accent-color:var(--teal);margin:0}.video-knowledge-binding-option>span{gap:2px;min-width:0;display:grid}.video-knowledge-binding-option strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.video-knowledge-binding-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.video-knowledge-binding-option em{color:var(--cobalt);white-space:nowrap;font-size:9px;font-style:normal}.subtitle-cue-list{border-top:1px solid var(--line);max-height:170px;margin-top:9px;overflow-y:auto}.subtitle-cue-list>div{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);gap:8px;padding:7px 0;font-size:10px;line-height:1.5;display:grid}.subtitle-cue-list time{color:var(--cobalt);font-variant-numeric:tabular-nums}.done-icon{color:var(--teal)}.upload-dialog>.form-error{margin:0 20px 12px}.upload-dialog>footer{border-top:1px solid var(--line);background:#fafcfb;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}.question-bank-workbench-backdrop{z-index:80;top:var(--shell-nav);--qb-bg:#f5f4fb;--qb-ink:#1b1b2d;--qb-muted:#85849d;--qb-line:#eceaf7;--qb-line-strong:#dedbee;--qb-accent:#5b51e8;--qb-accent-strong:#4a40d6;--qb-accent-soft:#f1f0ff;--qb-field:#f7f6fd;--qb-shadow:0 1px 2px #1b1b2e08, 0 18px 44px -25px #1b1b2e4d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f1f313d;place-items:center;padding:12px clamp(16px,2.2vw,32px) 24px;display:grid;position:fixed;bottom:0;left:0;right:0}.question-bank-workbench{border:1px solid var(--qb-line-strong);background:var(--qb-bg);border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,1720px);height:100%;display:grid;overflow:hidden;box-shadow:0 28px 80px -24px #14142980}.question-bank-workbench.is-loading{color:var(--teal-dark);text-align:center;place-content:center;justify-items:center;gap:10px}.question-bank-workbench.is-loading h2,.question-bank-workbench.is-loading p{margin:0}.question-bank-workbench.is-loading p{color:var(--muted)}.qb-workbench-header{border-bottom:1px solid var(--qb-line);background:#fffffff5;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:68px;padding:10px 16px;display:grid}.qb-back-button{color:#62617a;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;width:fit-content;min-height:38px;padding:0 13px;font-weight:650;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.qb-back-button:hover{border-color:var(--qb-line);background:var(--qb-field);color:var(--qb-ink)}.qb-title-block{justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.qb-title-icon{background:var(--qb-accent-soft);width:36px;height:36px;color:var(--qb-accent);border-radius:11px;flex:none;place-items:center;display:grid}.qb-title-block>div{gap:1px;min-width:0;display:grid}.qb-title-block>div>span{color:var(--qb-muted);letter-spacing:.08em;font-size:10px;font-weight:700}.qb-title-block input{width:min(42vw,440px);min-width:0;color:var(--qb-ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 5px;font-size:16px;font-weight:720}.qb-title-block input:focus{background:var(--qb-field);border-color:#c7c2f3;outline:2px solid #5b51e81a}.qb-header-actions{align-items:center;gap:8px;display:flex}.qb-header-actions .primary-button,.qb-header-actions .secondary-button{border-radius:10px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:12px;display:inline-flex}.qb-header-actions .secondary-button{border-color:var(--qb-line-strong);color:#5f5e77;background:#fff}.qb-header-actions .secondary-button:hover:not(:disabled){background:var(--qb-accent-soft);color:var(--qb-accent-strong);border-color:#c7c2f3}.qb-header-actions .primary-button{border-color:var(--qb-accent);background:var(--qb-accent)}.qb-header-actions .primary-button:hover:not(:disabled){border-color:var(--qb-accent-strong);background:var(--qb-accent-strong)}.qb-header-actions .icon-button{width:38px;height:38px;color:var(--qb-muted);border-radius:10px}.qb-header-actions .icon-button:hover{background:var(--qb-field);color:var(--qb-ink)}.qb-workbench-body{grid-template-columns:178px minmax(280px,330px) minmax(480px,1fr);min-height:0;display:grid;overflow:hidden}.qb-workbench-nav{border-right:1px solid var(--qb-line);background:#fff;flex-direction:column;gap:6px;min-height:0;padding:18px 12px;display:flex}.qb-workbench-nav>button{color:#69687f;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:2px 8px;padding:10px;transition:background .15s,border-color .15s,color .15s;display:grid}.qb-workbench-nav>button>span{background:var(--qb-field);color:#7f7d96;border-radius:10px;grid-row:1/3;place-items:center;width:30px;height:30px;display:grid}.qb-workbench-nav>button strong{font-size:12px}.qb-workbench-nav>button small{color:#9a98ac;font-size:9px}.qb-workbench-nav>button:hover:not(.active){color:var(--qb-ink);background:#faf9fe}.qb-workbench-nav>button.active{background:var(--qb-accent-soft);color:var(--qb-accent-strong);border-color:#dedafc}.qb-workbench-nav>button.active>span{color:var(--qb-accent);background:#fff;box-shadow:0 4px 12px #5b51e81a}.qb-workbench-nav>button.warning:not(.active)>span{color:#a46710;background:#fff0d9}.qb-processing-overview{background:var(--qb-bg);grid-column:2/4;min-width:0;padding:clamp(20px,2.5vw,34px);overflow:auto}.qb-processing-hero{border:1px solid var(--qb-line);min-height:244px;box-shadow:var(--qb-shadow);background:radial-gradient(circle at 92% 14%,#5b51e817,#0000 34%),#fff;border-radius:16px;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:34px;padding:30px 36px;display:grid;overflow:hidden}.qb-processing-copy .eyebrow,.qb-question-list .eyebrow,.qb-question-editor .eyebrow,.qb-fragment-editor .eyebrow{color:var(--qb-accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:760}.qb-processing-copy .eyebrow{align-items:center;gap:6px;display:flex}.qb-processing-copy h2{max-width:640px;color:var(--qb-ink);letter-spacing:-.025em;margin:0;font-size:clamp(28px,3vw,38px);line-height:1.15}.qb-processing-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:540px;margin-top:24px;display:grid}.qb-processing-highlights>div{background:var(--qb-field);border:0;border-radius:12px;min-width:0;padding:13px 15px;animation:.52s cubic-bezier(.2,.8,.2,1) both qb-stat-rise}.qb-processing-highlights>div:nth-child(2){animation-delay:70ms}.qb-processing-highlights>div:nth-child(3){animation-delay:.14s}.qb-processing-highlights strong,.qb-processing-highlights span{display:block}.qb-processing-highlights strong{color:var(--qb-ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(20px,2vw,25px);line-height:1;overflow:hidden}.qb-processing-highlights span{color:var(--qb-muted);margin-top:8px;font-size:10px;font-weight:680}.qb-processing-ring{background:var(--qb-ring);border-radius:50%;justify-self:center;place-items:center;width:190px;height:190px;padding:14px;animation:.56s cubic-bezier(.18,.88,.28,1.18) both qb-ring-arrive;display:grid;position:relative;box-shadow:0 16px 36px -20px #453db27a}.qb-processing-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:14px}.qb-processing-ring:after{content:"";pointer-events:none;border:1px solid #5b51e81a;border-radius:50%;position:absolute;inset:7px}.qb-processing-ring>div{z-index:1;justify-items:center;display:grid}.qb-processing-ring strong{color:var(--qb-ink);font-size:32px;line-height:1}.qb-processing-ring span{color:var(--qb-muted);margin-top:7px;font-size:11px;font-weight:680}.qb-stat-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.qb-stat-cards>button{border:1px solid var(--qb-line);min-height:88px;color:var(--qb-ink);text-align:left;box-shadow:var(--qb-shadow);background:#fff;border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;transition:transform .16s,border-color .16s,box-shadow .16s;animation:.52s cubic-bezier(.2,.8,.2,1) both qb-stat-rise;display:grid}.qb-stat-cards>button:nth-child(2){animation-delay:70ms}.qb-stat-cards>button:nth-child(3){animation-delay:.14s}.qb-stat-cards>button:hover{border-color:#d6d2f8;transform:translateY(-2px);box-shadow:0 14px 28px -18px #28236059}.qb-stat-cards>button>span{border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.qb-stat-cards .direct>span{background:var(--qb-accent-soft);color:var(--qb-accent)}.qb-stat-cards .assisted>span{color:#238473;background:#e9f6f3}.qb-stat-cards .unresolved>span{color:#b36f14;background:#fff4e5}.qb-stat-cards strong,.qb-stat-cards small{display:block}.qb-stat-cards strong{font-size:17px}.qb-stat-cards small{color:var(--qb-muted);margin-top:4px;font-size:10px}.qb-stat-cards b{color:var(--qb-muted);font-size:12px}.qb-processing-footnotes{border:1px solid var(--qb-line);background:var(--qb-line);box-shadow:var(--qb-shadow);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-top:12px;display:grid;overflow:hidden}.qb-processing-footnotes>div{background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px;padding:13px 16px;display:grid}.qb-processing-footnotes strong{color:var(--qb-ink);grid-row:1/3;font-size:21px}.qb-processing-footnotes span{color:#5f5e77;font-size:11px;font-weight:680}.qb-processing-footnotes small{color:var(--qb-muted);font-size:9px}.qb-scope-panel{border:1px solid var(--qb-line);box-shadow:var(--qb-shadow);background:#fff;border-radius:16px;margin-top:12px;overflow:hidden}.qb-scope-header{border-bottom:1px solid var(--qb-line);justify-content:space-between;align-items:flex-start;gap:22px;padding:20px 22px 16px;display:flex}.qb-scope-header .eyebrow{color:var(--qb-accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:760}.qb-scope-header h2{color:var(--qb-ink);margin:0;font-size:20px}.qb-scope-header p:not(.eyebrow){max-width:650px;color:var(--qb-muted);margin:7px 0 0;font-size:11px;line-height:1.55}.qb-scope-count{color:var(--qb-muted);flex:none;justify-items:end;display:grid}.qb-scope-count strong{color:var(--qb-accent);font-size:25px;line-height:1}.qb-scope-count span{margin-top:5px;font-size:10px;font-weight:680}.qb-scope-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.qb-scope-recommendations,.qb-scope-tree-panel{min-width:0;padding:20px 22px}.qb-scope-tree-panel{border-left:1px solid var(--qb-line)}.qb-scope-subheading{color:#4d4b69;align-items:center;gap:7px;min-height:23px;display:flex}.qb-scope-subheading strong{font-size:12px}.qb-scope-subheading span{color:#84918f;margin-left:auto;font-size:10px}.qb-recommendation-list{gap:8px;margin-top:12px;display:grid}.qb-recommendation{border:1px solid var(--qb-line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 13px;transition:border-color .15s,background .15s,transform .15s;display:grid}.qb-recommendation:hover:not(.disabled){border-color:#c7c2f3;transform:translateY(-1px)}.qb-recommendation.selected{background:var(--qb-accent-soft);border-color:#c7c2f3}.qb-recommendation.disabled{cursor:not-allowed;opacity:.55}.qb-recommendation input,.qb-tree-option input{width:16px;height:16px;accent-color:var(--qb-accent);margin:2px 0 0}.qb-recommendation-copy{gap:3px;min-width:0;display:grid}.qb-recommendation-copy strong{color:var(--qb-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.qb-recommendation-copy small{color:var(--qb-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.qb-recommendation-copy>span{color:#686780;font-size:10px;line-height:1.45}.qb-recommendation>b{color:var(--qb-accent-strong);font-variant-numeric:tabular-nums;font-size:11px}.qb-scope-empty,.qb-scope-tree-state{border:1px dashed var(--qb-line-strong);background:var(--qb-field);color:#69687f;border-radius:12px;align-items:center;gap:8px;min-height:96px;margin-top:12px;padding:13px;font-size:11px;line-height:1.5;display:flex}.qb-scope-empty svg{color:var(--qb-accent);flex:none}.qb-scope-tree-state.is-error{color:#9b5f4e}.qb-scope-tree-state .icon-button{margin-left:auto}.qb-scope-search{border:1px solid var(--qb-line-strong);background:var(--qb-field);color:var(--qb-muted);border-radius:10px;align-items:center;gap:7px;margin-top:12px;padding:9px 11px;display:flex}.qb-scope-search:focus-within{border-color:#c7c2f3;outline:2px solid #5b51e81a}.qb-scope-search input{width:100%;min-width:0;color:var(--qb-ink);font:inherit;background:0 0;border:0;outline:0;font-size:11px}.qb-scope-tree{border:1px solid var(--qb-line);background:#fff;border-radius:10px;max-height:250px;margin-top:8px;overflow:auto}.qb-tree-option{min-height:37px;padding:7px 10px 7px calc(10px + var(--qb-depth,0) * 15px);border-bottom:1px solid var(--qb-line);color:#55546f;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.qb-tree-option:last-child{border-bottom:0}.qb-tree-option:hover:not(.disabled){background:#faf9fe}.qb-tree-option.selected{background:var(--qb-accent-soft);color:var(--qb-accent-strong);font-weight:700}.qb-tree-option.disabled{cursor:not-allowed;color:#a2afad}.qb-tree-option span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.qb-tree-option em{color:var(--qb-accent);white-space:nowrap;font-size:9px;font-style:normal}.qb-scope-tree-empty{color:#7c8988;text-align:center;margin:0;padding:20px 12px;font-size:10px}.qb-scope-footer{border-top:1px solid var(--qb-line);background:#fdfdff;align-items:center;gap:14px;padding:14px 22px;display:flex}.qb-scope-footer .secondary-button{flex:none;font-size:10px}.qb-scope-footer>span{color:#71817f;font-size:10px;line-height:1.45}@keyframes qb-ring-arrive{0%{opacity:0;transform:scale(.76)}to{opacity:1;transform:scale(1)}}@keyframes qb-stat-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.qb-question-list{border-right:1px solid var(--qb-line);background:#fbfafe;grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.qb-question-list>header,.qb-question-editor>header,.qb-fragment-editor>header{border-bottom:1px solid var(--qb-line);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:74px;padding:16px 18px;display:flex}.qb-question-list h2,.qb-question-editor h2,.qb-fragment-editor h2{color:var(--qb-ink);margin:0;font-size:17px}.qb-search{border:1px solid var(--qb-line-strong);color:var(--qb-muted);background:#fff;border-radius:10px;align-items:center;gap:8px;margin:12px 13px 7px;padding:9px 10px;display:flex}.qb-search:focus-within{border-color:#c7c2f3;box-shadow:0 0 0 3px #5b51e817}.qb-search input{min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.qb-filter-row{gap:5px;padding:2px 13px 10px;display:flex}.qb-filter-row button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:5px 8px;font-size:9px}.qb-filter-row button.active{background:var(--qb-accent-soft);color:var(--qb-accent-strong);border-color:#dedafc}.qb-question-scroll{border-top:1px solid var(--qb-line);min-height:0;overflow:auto}.qb-question-scroll>button{border:0;border-bottom:1px solid var(--qb-line);text-align:left;background:0 0;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;width:100%;padding:12px 13px;display:grid}.qb-question-scroll>button.selected{background:var(--qb-accent-soft);box-shadow:inset 3px 0 var(--qb-accent)}.qb-question-scroll>button>span{border-radius:9px;place-items:center;width:27px;height:27px;font-size:10px;font-weight:750;display:grid}.qb-question-scroll .ready{color:#238473;background:#e9f6f3}.qb-question-scroll .needs-review{color:#a2640b;background:#ffecd0}.qb-question-scroll strong{color:var(--qb-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.qb-question-scroll small{color:#7b898b;margin-top:5px;font-size:9px;display:block}.qb-question-scroll small em{color:#966015;background:#fff4df;border:1px solid #d5a85e;border-radius:2px;margin-left:7px;padding:2px 5px;font-size:9px;font-style:normal;font-weight:760;display:inline-block}.qb-question-editor,.qb-fragment-editor{background:#fff;min-width:0;min-height:0;overflow:auto}.qb-question-editor>header>div:last-child{gap:5px;display:flex}.qb-mobile-list-back{display:none}.icon-button.danger{color:var(--coral)}.qb-issue-banner,.qb-fragment-reason{color:#9a6314;background:#fff8eb;border:1px solid #f0d4a9;border-radius:10px;align-items:flex-start;gap:9px;margin:16px 22px 0;padding:11px 13px;display:flex}.qb-issue-banner strong,.qb-issue-banner span,.qb-fragment-reason strong,.qb-fragment-reason span{display:block}.qb-issue-banner strong,.qb-fragment-reason strong{font-size:10px}.qb-issue-banner span,.qb-fragment-reason span{margin-top:3px;font-size:9px;line-height:1.5}.qb-editor-form{grid-template-columns:1fr 1fr;gap:15px;padding:21px 22px;display:grid}.qb-editor-form .wide{grid-column:1/-1}.qb-editor-form label>span,.qb-field-heading>span{color:#56696c;margin-bottom:6px;font-size:10px;font-weight:680;display:block}.qb-editor-form textarea,.qb-editor-form input,.qb-editor-form select,.qb-option-row input{border:1px solid var(--qb-line-strong);background:var(--qb-field);width:100%;color:var(--qb-ink);font:inherit;resize:vertical;border-radius:10px;padding:11px 12px;font-size:14px;line-height:1.62}.qb-editor-form textarea:focus,.qb-editor-form input:focus,.qb-editor-form select:focus,.qb-option-row input:focus{background:#fff;border-color:#c7c2f3;outline:2px solid #5b51e81a}.qb-field-heading{justify-content:space-between;align-items:center;display:flex}.qb-field-heading button{color:var(--qb-accent);background:0 0;border:0;align-items:center;gap:4px;font-size:9px;display:flex}.qb-option-editor{gap:7px;display:grid}.qb-option-row{grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:7px;display:grid}.qb-answer-radio{color:#637476;background:#fff;border:1px solid #cad8d5;border-radius:50%;width:33px;height:33px;font-weight:760}.qb-answer-radio.selected{border-color:var(--qb-accent);background:var(--qb-accent);color:#fff;box-shadow:0 0 0 3px var(--qb-accent-soft)}.qb-question-editor>footer{border-top:1px solid #e2e9e7;justify-content:space-between;align-items:center;gap:14px;margin:0 22px;padding:15px 0;display:flex}.qb-question-editor>footer span,.qb-question-editor>footer small{display:block}.qb-question-editor>footer span{color:#56706d;font-size:10px;font-weight:680}.qb-question-editor>footer small{color:var(--muted);margin-top:3px;font-size:9px}.qb-question-editor>footer small.modified{color:#966015;font-weight:720}.qb-source-excerpt{border:1px solid var(--qb-line);background:var(--qb-field);border-radius:12px;margin:0 22px 22px}.qb-source-excerpt summary{color:#647678;cursor:pointer;padding:9px 11px;font-size:10px}.qb-source-excerpt pre,.qb-fragment-editor pre{color:#3f5054;white-space:pre-wrap;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.7;overflow:auto}.qb-list-intro{color:var(--muted);margin:0;padding:12px 14px;font-size:10px;line-height:1.55}.qb-fragment-list{grid-template-rows:auto auto minmax(0,1fr)}.qb-fragment-status{color:#327266;background:#e1efeb;border-radius:999px;padding:6px 9px;font-size:9px}.qb-fragment-status.pending{color:#9c6515;background:#fff0d9}.qb-fragment-editor>pre{border:1px solid var(--qb-line);background:var(--qb-field);border-radius:12px;min-height:260px;margin:20px 22px 12px;font-size:11px}.qb-fragment-editor>footer{justify-content:flex-end;gap:8px;padding:5px 22px 10px;display:flex}.qb-fragment-editor>footer button{align-items:center;gap:6px;display:flex}.qb-fragment-note{color:var(--muted);text-align:right;margin:0 22px;font-size:9px}.qb-empty-copy{color:var(--muted);place-items:center;padding:30px;font-size:11px;display:grid}.qb-workbench-error{color:#a54736;background:#fff0ed;border-top:1px solid #f0c9c0;align-items:center;gap:8px;padding:9px 18px;font-size:10px;display:flex}@media (prefers-reduced-motion:reduce){.qb-processing-ring,.qb-processing-highlights>div,.qb-stat-cards>button{animation:none}.qb-stat-cards>button{transition:none}}@media (width<=1080px){.qb-workbench-body{grid-template-columns:76px minmax(250px,310px) minmax(420px,1fr)}.qb-workbench-nav{padding-inline:8px}.qb-workbench-nav>button{text-align:center;grid-template-columns:1fr;justify-items:center;padding:9px 4px}.qb-workbench-nav>button>span{grid-row:auto}.qb-workbench-nav>button small{display:none}.qb-processing-hero{grid-template-columns:minmax(0,1fr) 200px}.qb-processing-ring{width:176px;height:176px}.qb-processing-highlights{grid-template-columns:repeat(3,minmax(92px,1fr))}}@media (width<=780px){.question-bank-workbench-backdrop{padding:8px 0 0}.question-bank-workbench{border-radius:14px 14px 0 0}.qb-workbench-header{grid-template-columns:auto minmax(0,1fr) auto;padding:8px}.qb-back-button{padding:8px;font-size:0}.qb-title-block{justify-content:flex-start;gap:7px}.qb-title-icon{width:32px;height:32px}.qb-title-block>div>span{display:none}.qb-title-block input{text-align:left;width:100%;padding-inline:2px;font-size:14px}.qb-header-actions .secondary-button{padding-inline:9px;font-size:0}.qb-header-actions .primary-button{padding-inline:9px;font-size:10px}.qb-workbench-body{grid-template-columns:64px minmax(0,1fr)}.qb-processing-overview{grid-column:2;padding:14px}.qb-processing-hero{grid-template-columns:1fr;padding:22px}.qb-processing-ring{width:156px;height:156px}.qb-processing-copy h2{font-size:23px}.qb-processing-highlights{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.qb-processing-highlights>div{padding:10px}.qb-stat-cards{grid-template-columns:1fr}.qb-processing-footnotes{grid-template-columns:repeat(2,minmax(0,1fr))}.qb-scope-columns{grid-template-columns:1fr}.qb-scope-tree-panel{border-top:1px solid #e0e8e5;border-left:0}.qb-scope-header{padding:18px 16px 15px}.qb-scope-recommendations,.qb-scope-tree-panel{padding:16px}.qb-scope-footer{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.qb-question-list{grid-column:2}.qb-question-editor,.qb-fragment-editor,.qb-workbench-body.detail-open .qb-question-list{display:none}.qb-workbench-body.detail-open .qb-question-editor,.qb-workbench-body.detail-open .qb-fragment-editor{grid-column:2;display:block}.qb-mobile-list-back{color:#356b63;background:#edf4f1;border:0;border-radius:8px;align-items:center;gap:3px;padding:7px 8px;font-size:10px;font-weight:680;display:inline-flex}.qb-workbench-body.detail-open .qb-question-editor>header,.qb-workbench-body.detail-open .qb-fragment-editor>header{flex-wrap:wrap}.qb-workbench-body.detail-open .qb-mobile-list-back{flex-basis:100%}}.course-workspace{height:calc(100dvh - var(--shell-nav));background:var(--bg);grid-template-rows:minmax(0,1fr);grid-template-columns:330px minmax(0,1fr);display:grid;overflow:hidden}.knowledge-panel{border-right:1px solid var(--line);background:#f9fbfa;flex-direction:column;min-width:0;min-height:0;display:flex}.knowledge-panel>header{border-bottom:1px solid var(--line);padding:19px 18px 16px}.brand-mini{color:#173f70;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.brand-mini:hover{color:#0b67a6}.knowledge-panel h1{margin:18px 0 4px;font-size:20px}.knowledge-panel p{color:var(--muted);margin:0;font-size:12px}.tree-scroll{overscroll-behavior:contain;scrollbar-color:#7598b3 #e8f0f5;scrollbar-width:thin;flex:1;min-height:0;padding:10px 8px 24px;overflow:hidden auto}.tree-empty-status{min-height:210px;color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.tree-empty-status>span:last-child{max-width:210px;color:var(--muted);font-size:11px;line-height:1.55}.tree-empty-status .async-state{min-height:150px}.tree-row{border-radius:5px;align-items:center;height:38px;display:flex}.tree-row:hover{background:var(--surface-muted)}.tree-row.selected{color:var(--cobalt);background:#e7edf8}.tree-toggle{width:24px;height:30px;color:var(--muted);background:0 0;flex:0 0 24px;place-items:center;display:grid}.tree-label{text-align:left;background:0 0;flex:1;align-items:center;gap:8px;min-width:0;height:34px;padding:0 5px;display:flex}.tree-label span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.knowledge-detail{min-width:0;overflow:auto}.lesson-plan-renderer{width:min(100%,760px);margin:0 auto;padding:32px 34px 40px}.lesson-plan-renderer>header{border-bottom:1px solid var(--line);padding-bottom:22px}.lesson-plan-renderer>header small{color:var(--teal-dark);font-size:11px;font-weight:700}.lesson-plan-renderer>header h2{margin:7px 0 9px;font-size:24px}.lesson-plan-renderer>header p{color:var(--muted);margin:0;line-height:1.65}.lesson-plan-renderer ol{gap:0;margin:0;padding:18px 0 0;list-style:none;display:grid}.lesson-plan-renderer li{grid-template-columns:32px minmax(0,1fr);gap:12px;min-height:74px;padding:10px 0;display:grid}.lesson-plan-renderer li>span{width:28px;height:28px;color:var(--teal-dark);background:#edf6f4;border:1px solid #a9c5c0;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.lesson-plan-renderer li strong{margin:3px 0 5px;font-size:14px;display:block}.lesson-plan-renderer li p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.plan-result-card{background:var(--surface);height:100%;padding:clamp(22px,4vw,48px);overflow:auto}.plan-result-card>header{border-bottom:1px solid var(--line);padding-bottom:20px}.plan-result-card>header small{color:var(--teal-dark);font-size:11px;font-weight:700}.plan-result-card>header h2{margin:7px 0 8px;font-size:24px}.plan-result-card>header p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.plan-result-status{color:var(--teal-dark);background:#edf6f4;border-radius:999px;margin-top:11px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.plan-result-card ol{gap:10px;margin:0;padding:18px 0 0;list-style:none;display:grid}.plan-result-card li{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.plan-result-card li>div{min-width:0}.plan-result-card li strong{font-size:14px;display:block}.plan-result-card li p{color:#40535e;margin:5px 0;font-size:13px;line-height:1.55}.plan-result-card li small{color:var(--muted);font-size:11px;line-height:1.6;display:block}.inline-action-button{color:#285d7b;background:#edf6fd;border:1px solid #6c94b2;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-width:88px;min-height:32px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.inline-action-button:disabled{cursor:not-allowed;border-color:var(--line);color:var(--muted);background:#f1f3f3}@media (width<=560px){.plan-result-card li{flex-direction:column;align-items:stretch}.inline-action-button{width:100%}}.outline-setup-state{min-height:calc(100dvh - var(--shell-nav) - 76px);flex-direction:column;justify-content:center;align-items:center;padding:34px;display:flex}.outline-setup-progress{flex-direction:column;align-items:flex-start;width:min(100%,680px);display:flex}.outline-setup-progress .outline-processing-card{margin-top:0}.outline-setup-heading{text-align:left;width:min(100%,680px);margin-bottom:18px}.outline-setup-heading h2{margin:5px 0 8px;font-size:22px}.outline-setup-heading>p:last-child{color:var(--muted);margin:0;line-height:1.6}.workspace-topbar{border-bottom:1px solid var(--line);background:#ffffffb3;justify-content:space-between;align-items:center;min-height:76px;padding:0 28px;display:flex}.workspace-topbar span{color:var(--muted);font-size:12px}.workspace-topbar h2{margin:4px 0 0;font-size:19px}.node-content{padding:28px}.node-intro{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:15px;padding-bottom:26px;display:grid}.node-intro h2{margin-bottom:8px;font-size:23px}.node-intro p:last-child{color:var(--muted);margin:0;line-height:1.6}.node-type{width:46px;height:46px;color:var(--teal);background:#edf6f4;border:1px solid #b6ccc9;border-radius:7px;place-items:center;display:grid}.section-block{padding:28px 0}.section-heading h3{margin-bottom:5px;font-size:17px}.section-heading p{color:var(--muted);font-size:13px}.classroom-session-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-list{border-top:1px solid var(--line)}.session-list>button{border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:14px;width:100%;min-height:66px;padding:10px 8px;display:grid}.session-list>button:hover{background:#ffffffb3}.session-list strong{margin-bottom:6px;display:block}.session-list div span{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.node-stats{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:repeat(3,1fr);display:grid}.node-stats div{border-right:1px solid var(--line);padding:18px}.node-stats div:last-child{border:0}.node-stats strong,.node-stats span{display:block}.node-stats strong{font-size:21px}.node-stats span{color:var(--muted);margin-top:4px;font-size:12px}.outline-edit-panel{padding-top:12px}.outline-edit-heading{align-items:flex-start}.outline-edit-heading h3{align-items:center;gap:8px;display:inline-flex}.outline-edit-heading>div:first-child{min-width:0}.outline-edit-heading>div:first-child p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.55}.outline-edit-toggle{white-space:nowrap}.outline-edit-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.outline-edit-summary div{border:1px solid var(--line);background:#f7fbfd;border-radius:6px;padding:12px 14px}.outline-edit-summary span{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:650;display:block}.outline-edit-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.outline-edit-form{gap:14px;margin-top:16px;display:grid}.outline-span-2{grid-column:1/-1}.outline-edit-form label{gap:6px;display:grid}.outline-edit-form span{color:var(--muted);font-size:12px;font-weight:650}.outline-edit-form input,.outline-edit-form textarea,.outline-edit-form select{width:100%}.outline-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.outline-edit-create{align-items:end}.outline-edit-actions{flex-wrap:wrap;gap:10px;display:flex}.outline-edit-actions .secondary-button,.outline-edit-actions .primary-button{min-width:114px}.danger-button{color:#9d302f;min-height:42px;font:inherit;cursor:pointer;background:#fff7f7;border:1px solid #b94a48;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.danger-button:disabled{cursor:not-allowed;opacity:.55}.quick-learning-layout{min-height:calc(100dvh - var(--shell-nav) - 126px);grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:stretch;gap:24px;display:grid}.quick-topic-form{border:1px solid var(--line-strong);background:var(--surface);border-radius:5px;flex-direction:column;gap:15px;padding:22px;display:flex}.quick-topic-icon{width:40px;height:40px;color:var(--teal);background:#e7f2f0;border-radius:7px;place-items:center;display:grid}.quick-topic-form h2,.quick-topic-history h2{margin:0;font-size:18px}.quick-topic-form p,.quick-topic-history p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.quick-topic-form label{gap:7px;font-size:12px;display:grid}.quick-topic-form .primary-button{place-self:flex-end end;margin-top:auto}.quick-topic-history{border:1px solid var(--line-strong);background:#f8faf973;border-radius:5px;min-height:100%;overflow:auto}.quick-topic-history>header{background:var(--surface);border-bottom:1px solid var(--line-strong);padding:21px 20px}.quick-topic-history>button{border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:66px;padding:11px 20px;display:flex}.quick-topic-history>button:hover{background:#ffffffb3}.quick-topic-history strong,.quick-topic-history small{display:block}.quick-topic-history small{color:var(--muted);margin-top:6px}.quick-topic-history small svg{vertical-align:-2px;margin-right:5px}.course-picker{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.course-picker>div{position:relative}.course-picker select{appearance:none;min-width:200px;padding-right:34px}.course-picker svg{pointer-events:none;position:absolute;top:13px;right:10px}.library-toolbar .search-field{margin-left:auto}.library-kind-tabs{border:1px solid var(--line);background:var(--surface-muted);align-items:center;gap:2px;padding:3px;display:flex}.library-kind-tabs button{min-height:32px;color:var(--muted);background:0 0;border:0;padding:0 11px;font-size:12px}.library-kind-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1a344d24}.library-layout{height:calc(100dvh - var(--shell-nav) - 184px);border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(350px,.9fr) minmax(360px,1.1fr);min-height:500px;display:grid;overflow:hidden}.resource-list{border-right:1px solid var(--line);overflow:auto}.resource-list>button{border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:68px;padding:10px 13px;display:grid}.resource-list>button.selected{box-shadow:inset 3px 0 var(--cobalt);background:#edf3fa}.resource-list strong,.resource-list span{display:block}.resource-list div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;overflow:hidden}.resource-list small{color:var(--teal)}.resource-kind{width:36px;height:36px;color:var(--teal);background:#e8f3f1;border-radius:6px;place-items:center;display:grid}.resource-kind.video{color:var(--cobalt);background:#eaf0f8}.resource-detail{padding:25px;overflow:auto}.resource-detail>header{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding-bottom:22px;display:flex}.resource-detail h2{margin:0;font-size:20px}.detail-section{padding:20px 0 5px}.detail-section h3{font-size:13px}.detail-section p{color:var(--muted);line-height:1.65}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-list span{background:var(--surface-muted);border-radius:4px;padding:5px 8px;font-size:11px}.metadata-list{border-top:1px solid var(--line);margin:22px 0}.metadata-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:11px 0;font-size:12px;display:flex}.metadata-list dt{color:var(--muted)}.portrait-dashboard{gap:18px;display:grid}.situation-profile-grid{grid-template-columns:minmax(250px,.85fr) minmax(420px,1.5fr) minmax(240px,.8fr);align-items:stretch;gap:16px;display:grid}.learning-situation-layout{height:max(620px, calc(100vh - var(--shell-nav) - 216px));border:1px solid var(--line-strong);background:var(--surface);grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr);min-height:0;display:grid;overflow:hidden}.learning-situation-stage{border-top-color:var(--cobalt)}.learning-situation-stage-header>div{color:#315f87;align-items:center;gap:7px;min-width:0;display:flex}.learning-situation-stage-header>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.learning-situation-stage-header .profile-tabs{background:0 0;border:0;margin:0}.learning-situation-stage-content{min-height:0;padding:16px;overflow:auto}.learning-situation-profile-stack{grid-template-columns:minmax(0,1fr)}.learning-situation-profile-stack .situation-planning-column{min-height:360px}.learning-situation-profile-stack .situation-statistics-column{min-height:470px}.learning-situation-profile-stack .situation-preference-column{min-height:220px}.learning-situation-conversation{border-left:1px solid var(--line-strong);grid-template-rows:54px minmax(0,1fr) auto;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.learning-situation-conversation .message-scroll{scrollbar-gutter:stable;overflow-y:scroll}.learning-situation-conversation .composer-wrap{min-height:64px}.learning-situation-conversation-history{align-items:center;gap:4px;min-width:0;display:flex}.learning-situation-history-trigger{border:1px solid var(--line);background:var(--surface);min-width:0;max-width:166px;min-height:30px;color:var(--muted);text-align:left;border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-size:12px;display:flex}.learning-situation-history-trigger:hover{border-color:var(--line-strong);color:var(--text)}.learning-situation-history-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.learning-situation-history-trigger:focus-visible,.learning-situation-history-row-main:focus-visible{outline-offset:1px;outline:3px solid #8bc9bf}.learning-situation-conversation-loading{color:var(--muted);text-align:center;margin:10px 0;font-size:12px}.learning-situation-history-drawer{z-index:5;grid-template-columns:minmax(0,1fr) minmax(280px,360px);display:grid;position:absolute;inset:0;overflow:hidden}.learning-situation-history-backdrop{background:#132d4347;grid-area:1/1/auto/-1;min-height:100%}.learning-situation-history-panel{z-index:1;border-left:1px solid var(--line);background:var(--surface);grid-area:1/2;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:12px;min-width:0;padding:16px;display:grid;box-shadow:-12px 0 28px #1b40602e}.learning-situation-history-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.learning-situation-history-panel>header .eyebrow{margin:0 0 2px;font-size:10px}.learning-situation-history-panel>header h2{color:var(--navy);margin:0;font-size:18px}.learning-situation-history-search{border:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--surface);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 3px 0 10px;display:grid}.learning-situation-history-search:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 2px #d7eee9}.learning-situation-history-search input,.learning-situation-history-rename input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.learning-situation-history-search input::placeholder{color:var(--muted)}.learning-situation-history-search .icon-button{flex-basis:30px;width:30px;height:30px}.learning-situation-history-tabs{background:var(--surface-muted);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;display:grid}.learning-situation-history-tabs button{min-width:0;min-height:30px;color:var(--muted);white-space:nowrap;background:0 0;border-radius:4px;padding:0 5px;font-size:12px;font-weight:650}.learning-situation-history-tabs button.active{background:var(--surface);color:var(--navy);box-shadow:0 1px 2px #1b40602e}.learning-situation-history-list{align-content:start;gap:7px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.learning-situation-history-empty{border:1px dashed var(--line);min-height:180px;color:var(--muted);text-align:center;border-radius:7px;place-content:center;justify-items:center;gap:7px;padding:18px;display:grid}.learning-situation-history-empty strong{color:var(--text);font-size:13px}.learning-situation-history-empty span{font-size:12px;line-height:1.5}.learning-situation-history-row{border:1px solid #0000;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:4px;display:grid}.learning-situation-history-row:hover,.learning-situation-history-row:focus-within{border-color:var(--line);background:var(--blue-soft)}.learning-situation-history-row.selected{background:#edf8f6;border-color:#72a99e}.learning-situation-history-row-main{text-align:left;background:0 0;gap:3px;min-width:0;padding:7px 8px;display:grid}.learning-situation-history-row-main strong,.learning-situation-history-row-main span,.learning-situation-history-row-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learning-situation-history-row-main strong{color:var(--text);font-size:13px}.learning-situation-history-row-main span{color:var(--muted);font-size:11px}.learning-situation-history-row-main small{color:var(--muted);font-size:10px}.learning-situation-history-row-actions{align-items:center;gap:1px;display:flex}.learning-situation-history-row-actions .icon-button,.learning-situation-history-rename .icon-button{flex-basis:28px;width:28px;height:28px}.learning-situation-history-row-actions .icon-button.danger:hover{color:var(--coral);background:#fff1ef}.learning-situation-history-rename{border:1px solid var(--line-strong);background:var(--surface);border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding-left:8px;display:grid}.learning-situation-history-load-more{justify-self:center;min-height:32px;padding:0 11px;font-size:12px}.learning-situation-history-new{width:100%}.classroom-history-trigger{min-height:32px;padding:0 10px;font-size:12px}.classroom-history-drawer{z-index:80;grid-template-columns:minmax(0,1fr) minmax(300px,390px);display:grid;position:fixed;inset:0}.classroom-history-backdrop{cursor:default;background:#132d434d;border:0;border-radius:0;grid-area:1/1/auto/-1;width:100%;height:100%;min-height:100%}.classroom-history-panel{z-index:1;border-left:1px solid var(--line);background:var(--surface);flex-direction:column;grid-area:1/2;gap:12px;min-width:0;padding:16px;display:flex;box-shadow:-12px 0 28px #1b406033}.classroom-history-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.classroom-history-panel>header .eyebrow{margin:0 0 2px;font-size:10px}.classroom-history-panel>header h2{color:var(--navy);margin:0;font-size:18px}.classroom-history-search{border:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--surface);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 3px 0 10px;display:grid}.classroom-history-search:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 2px #d7eee9}.classroom-history-search input,.classroom-history-rename input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.classroom-history-search input::placeholder{color:var(--muted)}.classroom-history-search .icon-button{flex-basis:30px;width:30px;height:30px}.classroom-history-scope,.classroom-history-tabs{background:var(--surface-muted);border-radius:6px;gap:4px;padding:3px;display:grid}.classroom-history-scope{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-history-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-history-scope button,.classroom-history-tabs button{min-width:0;min-height:30px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:4px;padding:0 5px;font-size:12px;font-weight:650;overflow:hidden}.classroom-history-scope button.active,.classroom-history-tabs button.active{background:var(--surface);color:var(--navy);box-shadow:0 1px 2px #1b40602e}.classroom-history-error{color:#9f2f2f;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.4;display:flex}.classroom-history-list{flex:1;align-content:start;gap:7px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.classroom-history-empty{border:1px dashed var(--line);min-height:180px;color:var(--muted);text-align:center;border-radius:7px;place-content:center;justify-items:center;gap:7px;padding:18px;display:grid}.classroom-history-empty strong{color:var(--text);font-size:13px}.classroom-history-empty span{font-size:12px;line-height:1.5}.classroom-history-row{border:1px solid #0000;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding:4px;display:grid}.classroom-history-row:hover,.classroom-history-row:focus-within{border-color:var(--line);background:var(--blue-soft)}.classroom-history-row.selected{background:#edf8f6;border-color:#72a99e}.classroom-history-row-main{text-align:left;background:0 0;gap:3px;min-width:0;padding:7px 8px;display:grid}.classroom-history-row-main.disabled{opacity:.72}.classroom-history-row-main strong,.classroom-history-row-main span,.classroom-history-row-main small,.classroom-history-row-main em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.classroom-history-row-main strong{color:var(--text);font-size:13px}.classroom-history-row-main span,.classroom-history-row-main small,.classroom-history-row-main em{color:var(--muted);font-size:10px;font-style:normal}.classroom-history-row-main span{font-size:11px}.classroom-history-row-main em{align-items:center;gap:4px;display:inline-flex}.classroom-history-row-actions{align-items:center;gap:1px;display:flex}.classroom-history-row-actions .icon-button,.classroom-history-rename .icon-button{flex-basis:28px;width:28px;height:28px}.classroom-history-row-actions .icon-button.danger:hover{color:var(--coral);background:#fff1ef}.classroom-history-rename{border:1px solid var(--line-strong);background:var(--surface);border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding-left:8px;display:grid}.classroom-history-load-more{justify-self:center;min-height:32px;padding:0 11px;font-size:12px}.composer-error{color:#9f2f2f;margin:0 0 7px;font-size:11px;line-height:1.4}.learning-situation-stage .mastery-visual-overview{grid-template-columns:160px minmax(260px,1fr)}.learning-situation-stage .mastery-landscape{border-right:0}.situation-planning-column,.situation-statistics-column,.situation-preference-column{background:var(--surface);border:2px solid #315f87;border-radius:7px;min-width:0;min-height:470px;padding-bottom:66px;position:relative}.situation-planning-column>header,.situation-statistics-column>header{border-bottom:2px solid var(--line);color:#275f84;align-items:center;gap:9px;min-height:56px;padding:0 18px;display:flex}.situation-planning-column h2,.situation-statistics-column h2{margin:0;font-size:16px}.situation-fact,.active-learning-plan{border-bottom:1px solid var(--line);margin:0 18px;padding:18px 0}.situation-fact>strong,.active-learning-plan>span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.active-learning-plan>strong{margin-top:12px;font-size:14px;display:block}.active-learning-plan p{color:var(--muted);margin:7px 0;font-size:11px;line-height:1.6}.active-learning-plan time{color:#315f87;font-size:10px}.situation-column-action,.situation-detail-link{position:absolute;bottom:16px;right:18px}.learning-status-statistics{grid-template-columns:190px minmax(170px,1fr);gap:18px;padding:26px 24px 76px;display:grid}.learning-status-pie{border-radius:50%;place-items:center;width:176px;height:176px;animation:.65s ease-out both learning-status-pie-enter;display:grid;box-shadow:inset 0 0 0 2px #315f872e}.learning-status-pie>div{background:var(--surface);border-radius:50%;align-content:center;place-items:center;width:104px;height:104px;display:grid}.learning-status-pie strong{font-size:28px}.learning-status-pie span{color:var(--muted);margin-top:4px;font-size:10px}@keyframes learning-status-pie-enter{0%{opacity:0;transform:rotate(-18deg)scale(.92)}}.learning-status-legend{align-content:center;gap:10px;display:grid}.learning-status-legend>div{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px;display:grid}.learning-status-legend i{border-radius:50%;width:9px;height:9px}.learning-status-facts{border:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0 0;display:grid}.learning-status-facts>div{padding:13px}.learning-status-facts>div+div{border-left:1px solid var(--line)}.learning-status-facts dt{color:var(--muted);font-size:10px}.learning-status-facts dd{margin:6px 0 0;font-size:13px;font-weight:700}.scope-learning-summary{background:#eef6fb;border:1px solid #91aec3;grid-column:1/-1;padding:14px}.scope-learning-summary>strong{font-size:12px}.scope-learning-summary>p{color:var(--muted);margin:5px 0 10px;font-size:10px;line-height:1.5}.scope-learning-summary>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;font-size:10px;display:flex}.scope-learning-summary small{color:var(--muted)}.situation-detail-link{color:var(--cobalt);background:0 0;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.situation-preference-column.preference-strip{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 24px;padding:22px 24px;display:grid}.situation-preference-column .preference-title{border:0;min-width:0;margin:0;padding:0}.situation-preference-column .preference-groups{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.situation-preference-column .preference-edit-button{white-space:nowrap;grid-area:1/2;justify-self:end;position:static}.plan-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.portrait-overview-band{background:#dcecff;border:2px solid #315f87;border-radius:7px;grid-template-columns:minmax(190px,.7fr) 190px minmax(360px,1.4fr);align-items:center;gap:24px;min-height:190px;padding:24px;display:grid;box-shadow:0 8px 20px #1d4b711a}.portrait-overview-copy{align-items:center;gap:13px;display:flex}.portrait-overview-icon{color:#1f678c;background:#f8fcff;border:2px solid #2d688d;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.portrait-overview-copy h2,.learning-plan-context h2,.learning-focus-map h2,.portrait-mastery-preview h2,.preference-strip h2{margin:0;font-size:16px}.portrait-overview-copy p,.preference-title p{color:var(--muted);margin:5px 0 0;font-size:11px}.portrait-rings{justify-content:center;gap:14px;display:flex}.portrait-ring{align-content:start;place-items:center;width:80px;height:92px;display:grid;position:relative}.portrait-ring svg{width:72px;height:72px;overflow:visible;transform:rotate(-90deg)}.portrait-ring circle{fill:none;stroke:#b6ccdc;stroke-width:4px}.portrait-ring circle:last-child{stroke:#1f7286;stroke-linecap:round;animation:.8s ease-out both portrait-ring-enter}.portrait-ring strong{font-size:15px;position:absolute;top:25px}.portrait-ring span{color:var(--muted);margin-top:3px;font-size:10px}@keyframes portrait-ring-enter{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.dimension-signal-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 15px;display:grid}.dimension-signal-map>div{grid-template-rows:auto auto;grid-template-columns:7px minmax(0,1fr);column-gap:9px;min-width:0;padding:8px 0;display:grid}.dimension-signal-map>div>span{background:#b9cad7;border-radius:4px;grid-row:1/3;width:7px;height:36px;position:relative;overflow:hidden}.dimension-signal-map>div>span:after{height:calc(var(--signal) * 100%);border-radius:inherit;content:"";background:#277486;animation:.65s ease-out both portrait-signal-enter;position:absolute;bottom:0;left:0;right:0}@keyframes portrait-signal-enter{0%{transform:translateY(100%)}}.dimension-signal-map strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dimension-signal-map small{color:var(--muted);margin-top:4px;font-size:9px}.dimension-signal-map .signal-unknown>span:after{background:#7d92a1;min-height:2px}.learning-plan-context,.learning-focus-map,.portrait-mastery-preview{border:2px solid var(--line-strong);background:var(--surface);border-radius:7px}.learning-plan-context>header,.learning-focus-map>header,.portrait-mastery-preview>header{border-bottom:2px solid var(--line);color:#275f84;align-items:center;gap:9px;min-height:52px;padding:0 18px;display:flex}.plan-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.plan-context-grid article{min-height:112px;padding:18px}.plan-context-grid article+article{border-left:2px solid var(--line)}.plan-context-grid article>span{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.portrait-tag-cloud{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.portrait-tag-cloud span{color:#244d6c;background:#e8f4fc;border:1px solid #6e94b3;border-radius:5px;padding:7px 10px;font-size:11px;line-height:1.35}.portrait-empty-value{color:#718494;margin:13px 0 0;font-size:11px}.portrait-insight-grid{grid-template-columns:minmax(430px,1.35fr) minmax(290px,.85fr);gap:18px;display:grid}.learning-focus-map,.portrait-mastery-preview{min-height:230px}.focus-orbit{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:22px;min-height:174px;padding:24px 20px;display:grid;position:relative;overflow:hidden}.focus-orbit:before{content:"";background:#9bb8cc;height:2px;position:absolute;top:50%;left:15%;right:15%}.focus-cluster{z-index:1;text-align:center;min-width:0;animation:.5s ease-out both focus-cluster-enter;position:relative}.focus-cluster:nth-child(2){animation-delay:.1s}.focus-cluster:nth-child(3){animation-delay:.18s}@keyframes focus-cluster-enter{0%{opacity:0;transform:translateY(8px)}}.focus-cluster>strong{color:#275978;background:#e7f3fb;border:2px solid #5682a5;border-radius:50%;place-items:center;width:70px;height:70px;font-size:11px;display:inline-grid}.focus-cluster.current>strong{color:#185e58;background:#dcefeb;border-color:#1d746d;width:84px;height:84px}.focus-cluster.weak>strong{color:#9d4e43;background:#f8e9e6;border-color:#b77367}.focus-cluster>div{min-height:42px;margin-top:9px}.focus-cluster span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;line-height:1.55;display:block;overflow:hidden}.portrait-mastery-preview>header button{color:var(--cobalt);background:0 0;align-items:center;gap:3px;margin-left:auto;font-size:11px;font-weight:700;display:flex}.portrait-mastery-strip{align-content:center;min-height:174px;padding:24px;display:grid}.mastery-segments{background:#dce5eb;border:2px solid #7f9db5;border-radius:5px;gap:3px;height:20px;display:flex;overflow:hidden}.mastery-segments span{min-width:7px;animation:.65s ease-out both mastery-segment-enter}@keyframes mastery-segment-enter{0%{transform:scaleX(0)}}.mastery-segments .weak,.mastery-segment-legend .weak i{background:#c96b5d}.mastery-landscape-bar .stable,.mastery-landscape-legend .stable i{background:#26766f}.mastery-landscape-bar .unlearned,.mastery-landscape-legend .unlearned i{background:#9aaab6}.mastery-landscape-bar .unassessed,.mastery-landscape-legend .unassessed i{background:#5d8eae}.mastery-segments .developing,.mastery-segment-legend .developing i{background:#d59a3c}.mastery-segments .proficient,.mastery-segment-legend .proficient i{background:#3d8ba0}.mastery-segments .strong,.mastery-segment-legend .strong i{background:#26766f}.mastery-segments .unknown,.mastery-segment-legend .unknown i{background:#899aa7}.mastery-segment-legend{flex-wrap:wrap;gap:9px 13px;margin-top:18px;display:flex}.mastery-segment-legend span{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.mastery-segment-legend i{border-radius:50%;width:7px;height:7px}.preference-strip{background:#d8eaf8;border:2px solid #315f87;border-radius:7px;grid-template-columns:210px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:112px;padding:18px 20px;display:grid}.preference-title{align-items:center;gap:12px;display:flex}.preference-title>span{color:#fff;background:#275f84;border-radius:6px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.preference-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;min-width:0;display:grid}.preference-groups>div{border-left:2px solid #8aabc5;min-width:0;padding-left:13px}.preference-groups strong,.preference-groups span{display:block}.preference-groups strong{color:#2d5878;font-size:10px}.preference-groups span{text-overflow:ellipsis;white-space:nowrap;color:var(--text);margin-top:5px;font-size:11px;overflow:hidden}.preference-edit-button{color:#fff;background:#2e6794;border:2px solid #214e75;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:750;display:inline-flex}.preference-dialog{background:var(--surface);width:min(520px,100vw - 28px);box-shadow:var(--shadow);border-radius:7px;gap:14px;padding:20px;display:grid}.preference-dialog>header,.preference-dialog>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.preference-dialog h2{margin:0;font-size:18px}.preference-dialog header p{color:var(--muted);margin:5px 0 0;font-size:11px}.preference-dialog label{gap:6px;font-size:12px;display:grid}.preference-dialog footer{justify-content:flex-end;padding-top:6px}.profile-candidates{border-top:1px solid var(--line);margin-top:22px}.profile-candidates>header{padding:20px 0 12px}.profile-candidates h2{margin:0;font-size:17px}.profile-candidates header p{color:var(--muted);margin:5px 0 0;font-size:12px}.profile-candidates article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 4px;display:flex}.profile-candidates article strong{font-size:13px}.profile-candidates article p{color:var(--muted);margin:5px 0 0;font-size:11px}.profile-candidates article>div:last-child{flex:none;gap:8px;display:flex}.profile-tabs{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(3,auto);gap:3px;margin-bottom:18px;padding:3px;display:inline-grid}.profile-toolbar{justify-content:flex-start}.profile-toolbar .profile-tabs{margin-bottom:0}.profile-tabs button{min-height:34px;color:var(--muted);background:0 0;padding:0 13px;font-size:11px}.profile-tabs button.active{background:var(--surface-muted);color:var(--teal-dark);font-weight:700}.mastery-view,.learning-path-view{gap:16px;min-width:0;display:grid}.mastery-visual-overview{background:#dcecff;border:2px solid #315f87;border-radius:7px;grid-template-columns:190px minmax(310px,1fr) 300px;align-items:stretch;min-height:226px;display:grid;overflow:hidden}.mastery-gauge{border-right:2px solid #8aabc5;align-content:center;place-items:center;display:grid;position:relative}.mastery-gauge svg{width:142px;height:142px;transform:rotate(-90deg)}.mastery-gauge circle{fill:none;stroke:#b3c9d9;stroke-width:8px}.mastery-gauge circle:last-child{stroke:#217b79;stroke-linecap:round;animation:.85s ease-out both portrait-ring-enter}.mastery-gauge>div{text-align:center;display:grid;position:absolute;top:78px}.mastery-gauge>div strong{font-size:36px;line-height:1}.mastery-gauge>div span,.mastery-gauge small{color:var(--muted);font-size:9px}.mastery-gauge small{background:#ffffff80;border:1px solid #638eaa;border-radius:4px;margin-top:5px;padding:4px 8px}.mastery-landscape{border-right:2px solid #8aabc5;align-content:center;padding:26px;display:grid}.mastery-landscape>header{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.mastery-landscape>header strong{font-size:14px}.mastery-landscape>header span{color:var(--muted);font-size:10px}.mastery-landscape-bar{background:#f6fbff;border:2px solid #6f93ae;border-radius:6px;gap:3px;height:30px;padding:3px;display:flex;overflow:hidden}.mastery-landscape-bar>span{transform-origin:0;border-radius:2px;min-width:8px;animation:.65s ease-out both mastery-segment-enter}.mastery-landscape-bar .weak,.mastery-landscape-legend .weak i{background:#c96b5d}.mastery-landscape-bar .developing,.mastery-landscape-legend .developing i{background:#d59a3c}.mastery-landscape-bar .proficient,.mastery-landscape-legend .proficient i{background:#3d8ba0}.mastery-landscape-bar .strong,.mastery-landscape-legend .strong i{background:#26766f}.mastery-landscape-bar .unknown,.mastery-landscape-legend .unknown i{background:#899aa7}.mastery-landscape-legend{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:17px;display:grid}.mastery-landscape-legend>div{grid-template-columns:7px minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.mastery-landscape-legend i{border-radius:50%;grid-row:1/3;width:7px;height:7px}.mastery-landscape-legend span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.mastery-landscape-legend strong{font-size:15px}.review-priorities,.diagnosis-report,.path-proposals{border:2px solid var(--line-strong);background:var(--surface);border-radius:7px;padding:18px}.review-priorities>header,.diagnosis-report>header,.path-proposals>header{border-bottom:1px solid var(--line);padding-bottom:13px}.review-priorities h2,.diagnosis-report h2,.path-proposals h2{align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.path-proposals header p{color:var(--muted);margin:4px 0 0;font-size:10px}.review-priority-list{padding-top:8px;display:grid}.review-priority-card{background:0 0;border-bottom:1px solid #a9bfd0;grid-template-columns:36px minmax(220px,.9fr) minmax(260px,1.3fr) minmax(160px,.7fr);align-items:center;gap:16px;min-width:0;padding:13px 6px;display:grid;position:relative}.review-priority-card:last-child{border-bottom:0}.review-rank{color:#315f87;border:2px solid #7394ae;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.review-priority-card>header{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.review-risk-icon{color:#315f87;background:#d9eaf5;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.review-priority-card header strong,.review-priority-card header span{display:block}.review-priority-card header strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.review-priority-card header span,.review-priority-card header small,.review-priority-card footer{color:var(--muted);font-size:9px}.review-priority-card header span{margin-top:3px}.review-priority-card header small{color:var(--text);font-size:15px;font-weight:750}.forgetting-curve-wrap{grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.forgetting-curve-wrap>span{color:var(--muted);white-space:nowrap;font-size:9px}.forgetting-curve{width:100%;height:48px;display:block;overflow:visible}.forgetting-curve path,.forgetting-curve circle{vector-effect:non-scaling-stroke}.forgetting-curve .curve-grid,.forgetting-curve.empty path{fill:none;stroke:#a9bdcb;stroke-width:1px}.forgetting-curve .curve-area{fill:#2e7b8b1f}.forgetting-curve .curve-line{fill:none;stroke:#2e7b8b;stroke-linecap:round;stroke-width:2px}.forgetting-curve circle{fill:#f7fbff;stroke:#2e7b8b;stroke-width:2px}.review-priority-card footer{text-align:right;display:block}.review-priority-card footer span{display:block}.review-priority-card footer span+span{margin-top:4px}.review-priority-card.risk-high,.review-priority-card.risk-overdue{background:linear-gradient(90deg,#fff1eeb3,#0000 55%)}.review-priority-card.risk-high .review-risk-icon,.review-priority-card.risk-overdue .review-risk-icon{color:#a34e43;background:#f4dcd7}.diagnosis-report header{justify-content:space-between;align-items:center;display:flex}.diagnosis-report header span{color:var(--muted);font-size:9px}.diagnosis-narrative{color:#2d617b;background:#eaf4fb;border-left:4px solid #2d738b;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:11px;margin:16px 0;padding:15px;display:grid}.diagnosis-narrative p{color:#40535e;margin:0;line-height:1.7}.diagnosis-report li{color:#40535e;margin-bottom:7px;font-size:12px;line-height:1.55}.diagnosis-details{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:15px 0;display:grid}.diagnosis-details>section{border:1px solid var(--line);background:var(--surface-muted);padding:12px}.diagnosis-details h3,.diagnosis-recommendations h3{margin:0 0 9px;font-size:11px}.diagnosis-details article{border-top:1px solid var(--line);padding:8px 0}.diagnosis-details article strong,.diagnosis-details article span{display:block}.diagnosis-details article strong{font-size:11px}.diagnosis-details article span{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.45}.diagnosis-recommendations{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.muted-copy{color:var(--muted)!important}.course-learning-map{background:#edf6ff;border:2px solid #315f87;border-radius:7px;min-width:0;max-width:100%;overflow:visible}.course-learning-map>header{background:#dcecff;border-bottom:2px solid #8aabc5;border-radius:5px 5px 0 0;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:24px;min-height:104px;padding:18px 20px;display:grid}.learning-map-heading{align-items:center;gap:12px;min-width:0;display:flex}.learning-map-heading>span{color:#315f87;background:#f4f9ff;border:2px solid #6e96b5;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.learning-map-heading small,.learning-map-heading h2{display:block}.learning-map-heading small{color:#476a82;margin-bottom:3px;font-size:9px;font-weight:700}.learning-map-heading h2{color:#1f4058;letter-spacing:0;margin:0;font-size:16px;line-height:1.35}.learning-map-progress{justify-items:end;min-width:0;display:grid}.learning-map-progress strong{color:#245d83;font-size:24px}.learning-map-progress span{color:#526d80;font-size:9px}.learning-map-breadcrumb{scrollbar-width:thin;border-bottom:1px solid #b5ccdc;align-items:center;gap:0;min-height:44px;padding:0 18px;display:flex;overflow-x:auto}.learning-map-breadcrumb button{color:#476a82;background:0 0;border:0;flex:none;padding:7px 10px;font-size:10px}.learning-map-breadcrumb button:not(:last-child):after{color:#88a3b6;content:"/";margin-left:12px}.learning-map-breadcrumb button:last-child{color:#1f536e;font-weight:750}.course-learning-map.breadcrumb-in-header .learning-map-breadcrumb{border-bottom:0;min-height:0;margin-top:5px;padding:0}.course-learning-map.breadcrumb-in-header .learning-map-breadcrumb button{padding:3px 8px}.course-learning-map.breadcrumb-in-header .learning-map-breadcrumb button:first-child{padding-left:0}.learning-map-route-shell{background:#f4f9fd;min-width:0;max-width:100%;position:relative;overflow:hidden}.learning-map-route-toolbar{color:#5d7483;border-bottom:1px solid #c0d3e0;justify-content:space-between;align-items:center;height:44px;padding:0 14px 0 20px;font-size:9px;display:flex}.learning-map-route-toolbar>div{gap:5px;display:flex}.learning-map-route-toolbar .icon-button{color:#315f87;background:#f8fcff;border:1px solid #8eacc0}.learning-map-viewport{overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;touch-action:pan-x;scrollbar-color:#6791ad #d9e7f0;scrollbar-width:thin;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.learning-map-viewport:focus-visible{outline-offset:-3px;outline:3px solid #2b659240}.learning-map-route{background-color:#f4f9fd;min-width:100%;position:relative}.path-map-route-frame{min-width:0;margin-inline:auto}.path-map-route{transform-origin:0 0;background:#2f74c9;min-width:0;margin-inline:0;overflow:hidden}.path-map-route:after{z-index:0;pointer-events:none;content:"";background:linear-gradient(#0a317112,#0000 30%,#04235f1a);position:absolute;inset:0}.path-map-tile{z-index:0;pointer-events:none;background:#2f74c9 url(/assets/learning-path-bg-DJ64Cf_u.png) 50%/100% 100% no-repeat;position:absolute;top:0}.path-map-route .learning-map-connectors{z-index:1}.path-map-route .learning-map-connectors>path{stroke:#ffffffe0;stroke-dasharray:11 10;stroke-width:5px;filter:drop-shadow(0 2px 2px #0c356c47)}.path-map-route .learning-map-connectors>path.learned{stroke:#ffd36a;stroke-dasharray:none;stroke-width:7px}.path-map-route .learning-map-connectors marker path{fill:#fff}.path-map-route .learning-map-connectors marker.learned-marker path{fill:#ffd36a}.path-map-node{z-index:3;width:250px;height:96px}.path-map-node .learning-map-node-main{color:#123e70;grid-template-columns:78px minmax(0,1fr) 18px;gap:11px;width:250px;height:96px}.path-map-node .learning-map-node-main>i{color:#2362a0;background:#ffffffeb;border:5px solid #fff;width:78px;height:78px;box-shadow:0 0 0 6px #1648913b,0 8px 20px #0a2f6847}.path-map-node .learning-map-node-main>i>.path-map-node-symbol{place-items:center;font-size:22px;display:grid;position:static}.path-map-node .learning-map-node-main>i>.path-map-node-layers{color:#fff;background:#2f74c9;border-color:#fff}.path-map-node-copy{background:#f7fcffed;border:1px solid #ffffff9e;border-radius:7px;gap:4px;min-width:0;padding:8px 10px;display:grid;box-shadow:0 5px 14px #0a32682e}.path-map-node-copy small{color:#2e79a9;letter-spacing:.04em;font-size:9px;font-weight:800}.path-map-node-copy strong{color:#173f68;font-size:12px;line-height:1.35}.path-map-node.completed .learning-map-node-main>i{color:#986b19;background:#ffe9a6;border-color:#ffe28c}.path-map-node.completed .path-map-node-copy small{color:#9a6c18}.path-map-node.current .learning-map-node-main>i{color:#08786d;background:#d6fff6;border-color:#a9f3e5;box-shadow:0 0 0 7px #aafff073,0 0 0 13px #adfff233,0 8px 22px #05555b4d}.path-map-node.locked{filter:saturate(.45)}.path-map-node.locked .learning-map-node-main{cursor:not-allowed}.path-map-node.locked .learning-map-node-main>i{color:#55708c;background:#cbdcefeb}.path-map-start-badge,.path-map-finish-badge{z-index:4;color:#fff;background:#103f7cc2;border:1px solid #ffffffb8;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;font-weight:750;display:inline-flex;position:absolute;box-shadow:0 3px 10px #0c2d623d}.path-map-start-badge{top:26px;left:18px}.path-map-finish-badge{bottom:18px;right:18px}.learning-map-connectors{pointer-events:none;position:absolute;inset:0;overflow:visible}.learning-map-connectors>path{fill:none;stroke:#88a9bd;stroke-dasharray:7 8;stroke-linecap:round;stroke-width:4px}.learning-map-connectors>path.learned{stroke:#25857d;stroke-dasharray:none;stroke-width:6px}.learning-map-connectors marker path{fill:#789bb1}.learning-map-connectors marker.learned-marker path{fill:#25857d}.learning-map-node{z-index:3;scroll-snap-align:center;width:198px;height:68px;animation:.42s ease-out both learning-map-node-enter;position:absolute}.learning-map-node-main{color:#355569;text-align:left;background:0 0;border:0;grid-template-columns:68px minmax(0,1fr) 18px;align-items:center;gap:10px;width:198px;height:68px;padding:0;display:grid}.learning-map-node-main[aria-disabled=true]{cursor:default;opacity:1}.learning-map-node-main>i{color:#55778d;background:#fbfdff;border:4px solid #7e9fb5;border-radius:50%;place-items:center;width:68px;height:68px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;box-shadow:0 0 0 7px #ffffffd1,0 7px 18px #2d4f6429}.learning-map-node-main>i>span{font-size:17px;font-style:normal;font-weight:800}.learning-map-node-main>i>svg{box-sizing:content-box;background:#f4f9fd;border:2px solid #7e9fb5;border-radius:50%;padding:3px;position:absolute;bottom:-2px;right:-3px}.learning-map-node-main>strong{text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.learning-map-node-main .drill-icon{color:#54758a}.learning-map-node-main:not([aria-disabled=true]):hover>i,.learning-map-node-main:not([aria-disabled=true]):focus-visible>i{transform:translateY(-3px)scale(1.04);box-shadow:0 0 0 9px #315f8724,0 10px 22px #2d4f6433}.learning-map-node.learned .learning-map-node-main>i{color:#176a64;background:#d8f1eb;border-color:#26766f;box-shadow:0 0 0 8px #37898029,0 8px 20px #236b6530}.learning-map-node.learned .learning-map-node-main>i>svg{background:#e7f7f3;border-color:#26766f}.learning-map-node.current .learning-map-node-main>i{color:#17658f;background:#dceeff;border-color:#176f9e;animation:2.4s ease-in-out infinite learning-map-current-pulse;box-shadow:0 0 0 8px #257eb12e,0 0 0 14px #257eb114,0 8px 20px #205f8433}.learning-node-tooltip{z-index:15;opacity:0;pointer-events:none;background:#f9fcff;border:2px solid #315f87;border-radius:6px;width:250px;padding:13px;transition:opacity .15s,transform .15s;position:absolute;top:78px;left:34px;transform:translate(-34px,-5px);box-shadow:0 12px 28px #223f5233}.learning-map-node:hover .learning-node-tooltip,.learning-map-node:focus-within .learning-node-tooltip{opacity:1;transform:translate(-34px)}.learning-node-tooltip>header,.learning-node-tooltip>small,.learning-node-tooltip dl>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.learning-node-tooltip>header{border-bottom:1px solid #b7cbd9;padding-bottom:9px}.learning-node-tooltip>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.learning-node-tooltip>header span{color:#226d68;font-size:9px;font-weight:750}.learning-node-tooltip dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:11px 0;display:grid}.learning-node-tooltip dt,.learning-node-tooltip dd{margin:0;font-size:9px}.learning-node-tooltip dt{color:var(--muted)}.learning-node-tooltip dd{color:#294c61;font-weight:750}.learning-node-tooltip>small{color:var(--muted);justify-content:flex-start;font-size:8px}.course-learning-map>footer{color:#5d7483;background:#edf6ff;border-top:1px solid #b5ccdc;border-radius:0 0 5px 5px;align-items:center;gap:18px;min-height:42px;padding:0 18px;font-size:9px;display:flex}.course-learning-map>footer span{align-items:center;gap:6px;display:flex}.course-learning-map>footer i{background:#f7fbfe;border:2px solid #8ca8bb;border-radius:50%;width:9px;height:9px;display:inline-block}.course-learning-map>footer i.learned{background:#79b7ad;border-color:#26766f}.course-learning-map>footer i.current{background:#72b8df;border-color:#176f9e}.course-learning-map>footer small{margin-left:auto}.learning-map-empty{color:var(--muted);text-align:center;margin:0;padding:32px 20px}.learning-challenge-page{gap:0;min-width:0;max-width:100%;padding:12px clamp(16px,3vw,38px) 34px;display:grid}.challenge-header-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.learning-challenge-page .learning-path-view{min-width:0}.app-main:has(.learning-path-page){min-height:calc(100dvh - var(--shell-nav));width:100%;margin:0;padding:0;overflow:hidden}.app-main:has(.learning-path-page) .page-header{z-index:20;background:var(--bg);min-height:78px;padding:0 34px;position:relative}.learning-path-page{width:100%;height:calc(100dvh - var(--shell-nav) - 78px);min-height:0;padding:0;overflow:hidden}.learning-path-page .learning-path-view,.learning-path-page .course-learning-map{width:100%;height:100%;min-height:0}.learning-path-page .learning-path-view{position:relative}.learning-path-page .course-learning-map{border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.learning-path-page .course-learning-map.breadcrumb-in-header{grid-template-rows:minmax(0,1fr) auto}.learning-path-page .learning-map-heading{min-width:0;overflow:visible}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-route-shell>header{z-index:6;min-height:0;padding-block:14px;padding-inline:max(18px, calc((100% - var(--route-frame-width,100%)) / 2));pointer-events:none;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;inset:0 0 auto}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-route-shell>header>*{pointer-events:auto;min-width:0}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-breadcrumb{overscroll-behavior-inline:contain;scrollbar-width:none;background:#fff;border:1px solid #ffffffc7;border-radius:999px;flex-wrap:nowrap;width:auto;max-width:min(56vw,560px);min-height:36px;margin:0;padding:4px 14px;overflow:auto hidden;box-shadow:0 6px 18px #09285842}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-breadcrumb::-webkit-scrollbar{display:none}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-breadcrumb button{padding:4px 8px;font-size:15px;line-height:1.35}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-progress{flex:none;justify-items:end;width:auto}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-progress span{background:#fff;border:1px solid #ffffffc7;border-radius:999px;padding:7px 14px;box-shadow:0 6px 18px #09285842}.learning-path-page .course-learning-map.breadcrumb-in-header .path-map-start-badge{top:calc(84px / var(--map-scale,1));left:calc(22px / var(--map-scale,1))}.learning-path-page .learning-map-progress span{color:#315f87;font-size:14px;font-weight:750}.learning-path-page .learning-map-route-shell,.learning-path-page .learning-map-viewport{height:100%;min-height:0}.learning-path-page .course-learning-map>footer{min-height:42px}.learning-path-launch-error{z-index:18;color:#9c332b;background:#fff4f2;border:1px solid #dca09b;border-radius:7px;max-width:min(420px,100% - 44px);margin:0;padding:10px 13px;font-size:13px;position:absolute;top:96px;right:22px;box-shadow:0 8px 24px #5b2a2629}.learning-path-session-backdrop{z-index:90}.learning-path-session-dialog{background:#f8fbff;border:2px solid #315f87;border-radius:8px;width:min(100%,460px);overflow:hidden;box-shadow:0 22px 70px #12314c4d}.learning-path-session-dialog>header{background:#dcecff;border-bottom:1px solid #b5ccdc;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:12px;padding:18px 20px;display:grid}.learning-path-session-dialog>header>span{color:#315f87;background:#f4f9ff;border:2px solid #6e96b5;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.learning-path-session-dialog header small{color:#52748d;font-size:11px;font-weight:750}.learning-path-session-dialog h2{color:#1f4058;margin:3px 0 0;font-size:18px}.learning-path-session-dialog>p:not(.form-error){color:#36566d;margin:0;padding:26px 24px 12px;font-size:15px;line-height:1.7}.learning-path-session-dialog>.form-error{margin:4px 24px 0}.learning-path-session-dialog>footer{justify-content:flex-end;gap:10px;padding:20px 24px 24px;display:flex}@media (width<=850px){.app-main:has(.learning-path-page) .page-header{min-height:98px;padding:0 16px}.learning-path-page{height:calc(100dvh - var(--shell-nav) - 98px)}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-route-shell>header{padding-inline:max(12px, calc((100% - var(--route-frame-width,100%)) / 2));padding-block:10px}}@media (width<=560px){.app-main:has(.learning-path-page) .page-header{min-height:136px}.learning-path-page{height:calc(100dvh - var(--shell-nav) - 136px)}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-route-shell>header{padding-inline:max(12px, calc((100% - var(--route-frame-width,100%)) / 2));flex-direction:column;align-items:flex-start;gap:6px;padding-block:10px}.learning-path-page .course-learning-map.breadcrumb-in-header .learning-map-breadcrumb{max-width:100%;min-height:32px}}.challenge-switcher{align-items:center;gap:6px;min-width:0;display:flex}.challenge-switcher-card{color:#52645d;background:#fff;border:1px solid #d9e1dc;border-radius:7px;align-items:center;gap:7px;min-width:0;min-height:40px;padding:4px 10px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.challenge-switcher-card:hover{border-color:#89aa94;transform:translateY(-1px);box-shadow:0 4px 12px #24483014}.challenge-switcher-card.active{color:#214f37;background:#f2f8f2;border-color:#6a9a75}.challenge-switcher-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.challenge-switcher-icon{color:#fff;background:#778d80;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:25px;line-height:1;display:grid}.challenge-switcher-icon.tree-icon{background:#3e794e}.challenge-switcher-icon img{object-fit:contain;border-radius:50%;width:100%;height:100%;display:block}.challenge-header-actions .course-picker{gap:6px}.challenge-header-actions .course-picker select{min-width:160px}.wisdom-tree-game{background:#fff;border:1px solid #ccd8cf;border-radius:8px;grid-template-columns:minmax(0,2fr) minmax(320px,.92fr);min-width:0;min-height:960px;display:grid;overflow:hidden;box-shadow:0 12px 32px #2a453017}.tree-garden-panel{background:#e9f3e6;border-right:1px solid #c7d4ca;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.tree-progress{z-index:8;color:#a33f70;background:#fff4fae6;border:1px solid #d25c9380;border-radius:8px;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:8px;width:min(42%,320px);min-width:240px;padding:8px 10px;font-size:12px;display:grid;position:absolute;top:16px;left:16px;box-shadow:0 4px 12px #9936631f}.tree-progress strong{color:#a33f70;font-size:12px}.affinity-segments{background:#fff;border:1px solid #dc8eb2;border-radius:6px;grid-template-columns:repeat(12,1fr);gap:2px;height:12px;padding:2px;display:grid}.affinity-segments i{background:#f3d9e5;border-radius:2px;display:block}.affinity-segments i.filled{background:#eb6fa8}.garden-scene{aspect-ratio:3/4;isolation:isolate;background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:960px;position:relative;overflow:hidden}.garden-scene:after{content:"";z-index:5;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 45px #2c502b1f}.tree-stage{z-index:2;transform-origin:bottom;justify-content:center;align-items:flex-end;width:min(88%,1040px);height:98%;animation:.65s cubic-bezier(.2,.8,.2,1) wisdom-tree-grow;display:flex;position:absolute;bottom:-2%;left:47%;transform:translate(-50%)}.tree-stage-image{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 7px #333e2233);transform-origin:bottom;width:100%;height:100%;transition:transform .18s,filter .18s;position:relative}.tree-stage-hitbox{z-index:2;cursor:pointer;clip-path:var(--tree-hit-area);background:0 0;border:0;outline:0;padding:0;position:absolute;inset:0}.tree-stage-0,.tree-stage-1{--tree-hit-area:polygon(42% 8%, 62% 8%, 65% 22%, 83% 26%, 80% 39%, 87% 50%, 69% 59%, 63% 100%, 37% 100%, 39% 65%, 16% 61%, 19% 47%, 14% 36%, 38% 29%)}.tree-stage-2{--tree-hit-area:polygon(43% 5%, 64% 4%, 65% 19%, 83% 23%, 81% 39%, 88% 48%, 68% 59%, 63% 100%, 36% 100%, 39% 65%, 15% 61%, 18% 45%, 13% 33%, 38% 28%)}.tree-stage-3,.tree-stage-4,.tree-stage-fruiting{--tree-hit-area:polygon(41% 3%, 66% 3%, 70% 14%, 85% 20%, 84% 36%, 91% 46%, 88% 62%, 68% 68%, 63% 100%, 35% 100%, 37% 69%, 12% 65%, 11% 48%, 16% 27%, 35% 20%)}.tree-stage-fruiting .tree-stage-image{width:90%;height:94%}.tree-stage-hitbox:hover+.tree-stage-image{filter:drop-shadow(0 13px 9px #333e223d);transform:scale(1.025)}.tree-stage-hitbox:focus-visible+.tree-stage-image{filter:drop-shadow(0 0 3px #f8ffe2f2)drop-shadow(0 13px 9px #333e223d)}.tree-stage-image.tree-stage-image-shaking{animation:.76s ease-in-out wisdom-tree-shake}@keyframes wisdom-tree-grow{0%{transform:translate(-50%)scale(1)}45%{transform:translate(-50%)scale(1.08)}to{transform:translate(-50%)scale(1)}}@keyframes wisdom-tree-shake{0%,to{transform:translate(0)rotate(0)scale(1)}16%{transform:translate(-5px)rotate(-1.3deg)scale(1.018)}32%{transform:translate(6px)rotate(1.5deg)scale(1.025)}48%{transform:translate(-4px)rotate(-1deg)scale(1.022)}64%{transform:translate(4px)rotate(.8deg)scale(1.018)}80%{transform:translate(-2px)rotate(-.4deg)scale(1.01)}}.fallen-apple{aspect-ratio:1;z-index:10;cursor:grab;filter:drop-shadow(0 7px 5px #3f261647);background:0 0;border:0;place-items:center;width:clamp(26px,3vw,42px);padding:0;animation:.72s cubic-bezier(.22,.72,.28,1.18) both apple-drop;display:grid;position:absolute}.fallen-apple:active{cursor:grabbing}.fallen-apple img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}@keyframes apple-drop{0%{opacity:0;transform:translate(-20px,-42vh)rotate(-20deg)scale(.72)}72%{opacity:1;transform:translateY(8px)rotate(12deg)scale(1.03)}86%{transform:translateY(-7px)rotate(-5deg)scale(.98)}to{opacity:1;transform:translate(0,0)rotate(0)scale(1)}}.tree-leaf-fall{aspect-ratio:1;z-index:4;pointer-events:none;width:min(58vw,760px);position:absolute;top:5%;left:52%;transform:translate(-50%)}.tree-leaf-layer{object-fit:contain;opacity:0;filter:drop-shadow(0 4px 3px #2f4f2533);width:62%;height:62%;animation:1.65s cubic-bezier(.2,.7,.35,1) forwards tree-leaves-drift;display:block;position:absolute;inset:3% auto auto 6%}.tree-leaf-layer-back{filter:blur(.3px)drop-shadow(0 3px 2px #2f4f2529);width:52%;height:52%;animation-name:tree-leaves-drift-back;animation-duration:1.85s;animation-delay:70ms;inset:9% 4% auto auto}@keyframes tree-leaves-drift{0%{opacity:0;transform:translate(-5%,-22%)rotate(-5deg)scale(.72)}12%{opacity:.92}68%{opacity:.78}to{opacity:0;transform:translate(24%,86%)rotate(13deg)scale(.9)}}@keyframes tree-leaves-drift-back{0%{opacity:0;transform:translate(12%,-18%)rotate(8deg)scale(.68)}16%{opacity:.6}72%{opacity:.48}to{opacity:0;transform:translate(-28%,102%)rotate(-16deg)scale(.86)}}.active-feed{z-index:6;object-fit:contain;filter:drop-shadow(0 8px 6px #1b301f33);width:clamp(88px,18%,160px);animation:.38s ease-in-out infinite alternate tree-feed;position:absolute;top:44%;left:51%}@keyframes tree-feed{0%{transform:translateY(-7px)rotate(-3deg)}to{transform:translateY(7px)rotate(3deg)}}.tree-reminder{z-index:7;place-items:center;width:190px;height:150px;animation:2.2s ease-in-out infinite reminder-bob;display:grid;position:absolute;top:15%;left:10%}.tree-reminder-bubble{z-index:0;object-fit:contain;transform-origin:50%;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.tree-reminder-tool{z-index:1;object-fit:contain;filter:drop-shadow(0 5px 4px #2e46322e);width:68px;height:68px;position:relative;transform:translateY(-8px)}.tree-reminder-tool-fertilizer{transform:translateY(-14px)}@keyframes reminder-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.toolbox{aspect-ratio:1.42;z-index:8;grid-template-rows:1fr;width:min(34%,250px);padding:18px 22px;display:grid;position:absolute;top:14px;right:14px}.toolbox-frame{z-index:-1;object-fit:fill;filter:drop-shadow(0 5px 7px #4a392c26);width:100%;height:100%;position:absolute;inset:0}.tool-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;display:grid}.tool-item{color:#594b41;cursor:grab;background:0 0;border:0;place-items:center;gap:0;min-width:0;padding:0 2px;display:grid;position:relative}.tool-item:active{cursor:grabbing}.tool-item img{object-fit:contain;filter:drop-shadow(0 4px 3px #3a2c222e);width:94%;height:94%;transition:transform .15s}.tool-item:hover img{transform:translateY(-3px)rotate(-4deg)}.tool-item b{color:#fff;background:#397449;border:2px solid #fff;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:11px;display:grid;position:absolute;bottom:2px;right:2px}.tool-item.disabled{opacity:.42;cursor:not-allowed}.tree-chat-panel{contain:size;background:#f7f9f6;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.chat-heading{color:#31553d;background:#fff;border-bottom:1px solid #dce3de;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:10px 15px;display:grid}.chat-heading>div:nth-child(2){min-width:0;display:grid}.chat-heading strong{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Songti SC,serif;font-size:15px;overflow:hidden}.tree-avatar{color:#fff;background:#4e855c;border-radius:50%;place-items:center;width:38px;height:38px;font-size:27px;display:grid;overflow:hidden}.tree-avatar img{object-fit:contain;width:100%;height:100%}.chat-mode-toggle{color:#39704a;white-space:nowrap;cursor:pointer;background:#f2f8f2;border:1px solid #a9c6ae;border-radius:6px;min-height:30px;padding:5px 9px;font-size:11px}.chat-mode-toggle:hover{background:#e7f3e8;border-color:#6e9f7b}.tree-chat-messages{overscroll-behavior:contain;flex-direction:column;gap:8px;min-height:0;padding:14px;display:flex;overflow-y:auto}.tree-message{align-items:flex-end;gap:7px;display:flex;position:relative}.tree-message-avatar{background:#4e855c;border:1px solid #a9c6ae;border-radius:50%;flex:0 0 26px;width:26px;height:26px;overflow:hidden}.tree-message-avatar img{object-fit:contain;width:100%;height:100%}.tree-message-bubble{color:#46554b;background:#fff;border-radius:6px 6px 6px 1px;max-width:88%;padding:9px 11px;font-size:12px;line-height:1.55;position:relative;box-shadow:0 2px 8px #36493b12}.tree-message.tree .tree-message-bubble:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:7px solid #fff;position:absolute;bottom:7px;left:-6px}.tree-message.learner{justify-content:flex-end}.tree-message.learner .tree-message-bubble{color:#fff;background:#51815e;border-radius:6px 6px 1px;max-width:88%}.wisdom-tree-typing{align-items:center;gap:3px;display:inline-flex}.wisdom-tree-typing i{background:#78a383;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite wisdom-tree-typing}.wisdom-tree-typing i:nth-child(2){animation-delay:.12s}.wisdom-tree-typing i:nth-child(3){animation-delay:.24s}@keyframes wisdom-tree-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.quiz-card{background:#fff;border:1px solid #d7dfd9;border-radius:7px;margin:0 12px 12px;padding:13px;box-shadow:0 5px 14px #2f46340f}.quiz-card-top{color:#4b7958;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.wisdom-chat-composer-wrap{padding:0 12px 12px}.wisdom-chat-error{color:#a14b4b;margin:0 0 7px;font-size:11px}.wisdom-chat-composer{background:#fff;border:1px solid #ccd9ce;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:8px;display:grid;box-shadow:0 4px 12px #2f46340f}.wisdom-chat-composer textarea{resize:none;color:#35443a;width:100%;min-height:42px;font:inherit;background:0 0;border:0;outline:0;padding:5px 4px;font-size:12px;line-height:1.5}.wisdom-chat-composer button{color:#fff;cursor:pointer;background:#5a9169;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.wisdom-chat-composer button:disabled{opacity:.45;cursor:not-allowed}.quiz-card-top small{color:#8b958f;font-weight:500}.quiz-card h3{color:#283c30;margin:9px 0 11px;font-size:14px;line-height:1.5}.quiz-options{gap:6px;display:grid}.quiz-options button{color:#4d5d52;text-align:left;background:#fbfcfb;border:1px solid #dbe2dc;border-radius:6px;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 8px;font-size:11px;display:grid}.quiz-options button span{color:#577060;background:#fff;border:1px solid #b9c7bc;border-radius:50%;place-items:center;width:23px;height:23px;font-weight:700;display:grid}.quiz-options button.selected{color:#285039;background:#eef7ef;border-color:#6e9e78}.quiz-options button.selected span{color:#fff;background:#4d805b;border-color:#4d805b}.quiz-card textarea{resize:vertical;color:#35443a;width:100%;min-height:94px;font:inherit;background:#fbfcfb;border:1px solid #d4ddd6;border-radius:6px;padding:9px;font-size:12px;line-height:1.55}.quiz-card textarea:focus{border-color:#6f9d79;outline:2px solid #4b84592e}.quiz-feedback{color:#7a5626;background:#fff8eb;border-left:3px solid #d5a14c;margin:9px 0 0;padding:7px 9px;font-size:11px;line-height:1.5}.quiz-feedback.success{color:#2d6940;background:#edf8f0;border-color:#4d9a63}.quiz-actions{justify-content:flex-end;margin-top:10px;display:flex}.quiz-actions button{border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:6px 11px;font-size:11px;display:inline-flex}@media (width<=1120px){.challenge-switcher-card{padding-inline:8px}.challenge-header-actions .course-picker>span{display:none}.challenge-header-actions .course-picker select{min-width:140px}.wisdom-tree-game{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);min-height:900px}.garden-scene{min-height:900px}.tree-stage{width:92%}.toolbox{width:42%}}@media (width<=850px){.learning-challenge-page{padding-inline:10px}.page-header:has(.challenge-header-actions){flex-wrap:wrap}.page-header:has(.challenge-header-actions) .header-actions{flex:100%}.challenge-header-actions{justify-content:space-between;width:100%}.challenge-header-actions .course-picker select{min-width:150px}.wisdom-tree-game{grid-template-columns:minmax(0,1fr);min-height:0}.tree-garden-panel{border-bottom:1px solid #c7d4ca;border-right:0}.garden-scene{min-height:900px}.tree-chat-panel{contain:none;height:820px;min-height:0}}@media (width<=560px){.challenge-switcher-card{min-width:0;min-height:38px;padding-inline:6px}.challenge-switcher-icon{flex-basis:27px;width:27px;height:27px}.challenge-switcher-card strong{font-size:12px}.challenge-header-actions{flex-direction:column;align-items:stretch}.challenge-header-actions .course-picker,.challenge-header-actions .course-picker>div,.challenge-header-actions .course-picker select{width:100%}.tree-progress{grid-template-columns:auto minmax(52px,1fr) auto;gap:5px;width:42%;min-width:0;padding:6px 7px;font-size:10px;top:12px;left:10px}.tree-progress strong{font-size:10px}.garden-scene{min-height:680px}.tree-stage{width:100%;left:50%}.toolbox{width:54%}.tree-reminder{width:150px;height:118px;top:25%;left:2%}.tree-reminder-tool{width:54px;height:54px}}.learning-map-node.path-map-node{z-index:3;width:250px;height:96px}@font-face{font-family:ChenYuLuoYan;src:url(/assets/ChenYuluoyan-Thin-Monospaced-7fT6FzCI.ttf)format("truetype");font-display:swap}@font-face{font-family:LakeusNightWriting;src:url(/assets/851LakeusNightWriting-Regular-Ce5DZKDm.woff)format("woff");font-display:swap}.app-main:has(.wisdom-tree-page){min-height:calc(100dvh - var(--shell-nav));background:#c5e4cf url(/assets/garden-background-horizontal-aGm2FI0r.png) 50%/cover fixed;width:100%;margin:0;padding:0;overflow:hidden}.app-main:has(.wisdom-tree-page) .page-header{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#eef8ef70;border-bottom-color:#2f5b3e47;min-height:78px;padding:0 34px;position:relative}.wisdom-tree-page{min-height:calc(100dvh - var(--shell-nav) - 78px);padding:0;overflow:hidden}.wisdom-tree-page .wisdom-tree-game{min-height:calc(100dvh - var(--shell-nav) - 78px);box-shadow:none;background:0 0;border:0;border-radius:0;display:block;overflow:visible}.wisdom-tree-page .garden-scene{width:100%;height:calc(100dvh - var(--shell-nav) - 78px);aspect-ratio:auto;background-image:url(/assets/garden-background-horizontal-aGm2FI0r.png);background-position:50%;background-size:cover;min-height:620px;overflow:hidden}.wisdom-tree-page .garden-scene:after{box-shadow:inset 0 0 80px #2c502b24}.wisdom-tree-page .tree-progress{top:18px;left:24px}.wisdom-tree-page .tree-stage{width:min(70%,920px);height:95%;bottom:-4%;left:52%}.tree-dialogue-bubble{z-index:9;box-sizing:border-box;filter:drop-shadow(0 8px 5px #294b311f);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;justify-content:center;align-items:center;width:clamp(340px,40vw,540px);min-height:220px;max-height:220px;padding:57px 76px 101px 72px;animation:.32s ease-out tree-bubble-in;display:flex;position:absolute;top:5%;left:5%;overflow:hidden}@keyframes tree-bubble-in{0%{opacity:.35;transform:translateY(8px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.tree-dialogue-content{color:#143f50;white-space:nowrap;width:100%;min-width:0;max-width:390px;min-height:0;font-family:LakeusNightWriting,KaiTi,cursive;font-size:clamp(12px,.86vw,15px);line-height:1.4;overflow:hidden}.tree-dialogue-content p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.tree-dialogue-content .markdown-content{width:100%;min-width:0;color:inherit;font:inherit;line-height:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-dialogue-content .markdown-content>:not(:first-child),.tree-dialogue-content li:not(:first-child){display:none}.tree-dialogue-content .markdown-content>:first-child,.tree-dialogue-content li:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-dialogue-content .markdown-content h1,.tree-dialogue-content .markdown-content h2,.tree-dialogue-content .markdown-content h3,.tree-dialogue-content .markdown-content h4{color:inherit;font:inherit;font-weight:700}.tree-dialogue-content ul,.tree-dialogue-content ol{text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0;overflow:hidden}.wisdom-tree-page .toolbox{width:min(23%,250px);top:18px;right:24px}.wisdom-tree-page .tree-reminder{width:150px;height:118px;top:34%;left:auto;right:16%}.tree-mailbox{z-index:14;cursor:pointer;filter:drop-shadow(0 0 1px #0d120ce6)drop-shadow(0 12px 7px #3545263b);transform-origin:50% 92%;background:0 0;border:0;width:clamp(92px,9vw,172px);height:clamp(168px,30vh,270px);padding:0;position:absolute;bottom:clamp(8px,1.5vh,24px);right:clamp(12px,3.5vw,64px)}.tree-mailbox img{object-fit:contain;transform-origin:50%;width:100%;height:100%;transition:transform .18s;display:block}.tree-mailbox:hover{filter:drop-shadow(0 0 1.2px #080c08f5)drop-shadow(0 14px 9px #35452647)}.tree-mailbox:hover img{transform:scale(1.04)}.tree-mailbox.bouncing{animation:.56s cubic-bezier(.2,.85,.35,1.25) mailbox-bounce}@keyframes mailbox-bounce{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-18px)rotate(-5deg)}42%{transform:translateY(3px)rotate(4deg)}62%{transform:translateY(-9px)rotate(-2deg)}80%{transform:translateY(1px)rotate(1deg)}}.tree-letter{z-index:25;box-sizing:border-box;filter:drop-shadow(0 18px 24px #274a324d);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;grid-template-rows:minmax(0,1fr) auto;width:min(820px,100% - 32px);height:min(820px,100% - 32px);padding:2.5% 4.2% 12%;animation:.3s cubic-bezier(.18,.9,.25,1.1) letter-open;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}@keyframes letter-open{0%{opacity:0;transform:translate(-50%,-50%)scale(.035)}72%{opacity:1;transform:translate(-50%,-50%)scale(1.035)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.tree-letter-close{z-index:2;color:#2c6841;cursor:pointer;background:#fff9;border:1px solid #2c68414d;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:8%;right:8%}.tree-letter-close:hover{background:#ddf5deeb}.tree-letter-messages{overscroll-behavior:contain;color:#3f5b4b;scrollbar-width:thin;min-height:0;padding:0 8px 12px;font-family:ChenYuLuoYan,KaiTi,cursive;font-size:clamp(18px,1.55vw,25px);line-height:1.55;overflow-y:auto}.tree-letter-messages article{margin-bottom:13px}.tree-letter-messages article span{color:#4f8060;font-size:.8em}.tree-letter-messages article p,.tree-letter-empty{white-space:pre-wrap;margin:2px 0 0}.tree-letter-message .markdown-content{min-width:0;color:inherit;font:inherit;line-height:inherit;overflow-wrap:anywhere;word-break:break-word}.tree-letter-message .markdown-content>:first-child{margin-top:2px}.tree-letter-message .markdown-content>:last-child{margin-bottom:0}.tree-letter-message .markdown-content p,.tree-letter-message .markdown-content ul,.tree-letter-message .markdown-content ol,.tree-letter-message .markdown-content blockquote,.tree-letter-message .markdown-content pre,.tree-letter-message .markdown-content .markdown-table-wrap{margin-top:2px;margin-bottom:0}.tree-letter-message .markdown-content h1,.tree-letter-message .markdown-content h2,.tree-letter-message .markdown-content h3,.tree-letter-message .markdown-content h4{color:inherit;font-family:inherit;font-size:1em;font-weight:600}.tree-letter-message-tree{color:#143f50;font-family:LakeusNightWriting,KaiTi,cursive;font-size:clamp(13px,1vw,16px);line-height:1.48}.tree-letter-messages .tree-letter-message-tree span{color:#286579}.tree-letter-message-learner{color:#8a4d62;text-align:right}.tree-letter-messages .tree-letter-message-learner span,.tree-letter-messages .tree-letter-message-learner p{text-align:right;display:block}.tree-letter-messages .tree-letter-message-learner span{color:#a35c75}.tree-letter-empty{color:#4267509e}.tree-letter-composer{gap:8px;min-width:0;display:grid}.tree-letter-mode-switch{justify-content:flex-end;gap:7px;display:flex}.tree-letter-mode-switch button{color:#4a7455;cursor:pointer;background:#ffffffa3;border:1px solid #487e5359;border-radius:999px;min-height:28px;padding:3px 10px;font-family:ChenYuLuoYan,KaiTi,cursive;font-size:15px}.tree-letter-mode-switch button.active,.tree-letter-mode-switch button:hover{color:#fff;background:#5c9c68;border-color:#438453}.tree-letter-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;min-width:0;display:grid;overflow:visible}.tree-letter-options button{color:#486a4e;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;cursor:pointer;background:#f9fff8bd;border:1px solid #4a7c4e59;border-radius:6px;justify-content:flex-start;align-items:flex-start;gap:4px;width:100%;min-width:0;min-height:34px;padding:5px 9px;font-family:ChenYuLuoYan,KaiTi,cursive;font-size:14px;line-height:1.35;display:flex}.tree-letter-options button.selected{color:#fff;background:#5c9c68;border-color:#438453}.tree-letter-options button span{font-weight:700}.tree-letter-input{background:#ffffffc7;border:1px solid #56895f6e;border-radius:15px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;min-height:55px;padding:7px 8px 7px 13px;display:grid;box-shadow:0 3px 10px #2f5a3914}.tree-letter-input textarea{resize:vertical;color:#3d5948;background:0 0;border:0;outline:0;width:100%;min-height:38px;max-height:100px;padding:2px 0;font-family:ChenYuLuoYan,KaiTi,cursive;font-size:19px;line-height:1.45}.tree-letter-input textarea:focus{box-shadow:none;border:0}.tree-letter-input textarea::placeholder{color:#4a69519e}.tree-letter-input button{color:#fff;cursor:pointer;background:#6ba77a;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.tree-letter-input button:hover:not(:disabled){background:#4f9161}.tree-letter-input button:disabled{opacity:.45;cursor:not-allowed}.tree-letter .wisdom-chat-error{margin:0;font-family:ChenYuLuoYan,KaiTi,cursive;font-size:15px}@media (width<=850px){.app-main:has(.wisdom-tree-page) .page-header{min-height:98px;padding:0 16px}.wisdom-tree-page,.wisdom-tree-page .wisdom-tree-game{min-height:calc(100dvh - var(--shell-nav) - 98px)}.wisdom-tree-page .garden-scene{height:calc(100dvh - var(--shell-nav) - 98px)}.tree-dialogue-bubble{width:min(52vw,440px);min-width:300px;min-height:190px;max-height:190px;padding:48px 62px 84px 60px}.tree-dialogue-content{font-size:clamp(12px,1.45vw,14px)}.wisdom-tree-page .tree-stage{width:76%;height:92%}.wisdom-tree-page .toolbox{width:min(25%,215px);right:16px}.tree-mailbox{width:120px;height:210px}}@media (width<=560px){.app-main:has(.wisdom-tree-page) .page-header{min-height:136px}.wisdom-tree-page,.wisdom-tree-page .wisdom-tree-game{min-height:calc(100dvh - var(--shell-nav) - 136px)}.wisdom-tree-page .garden-scene{height:calc(100dvh - var(--shell-nav) - 136px);background-position:56%;min-height:600px}.wisdom-tree-page .tree-progress{width:42%;top:10px;left:10px}.tree-dialogue-bubble{width:74vw;min-width:0;max-width:74vw;min-height:170px;max-height:170px;padding:43px 44px 76px 42px;top:3%;left:4%}.tree-dialogue-content{font-size:12px;line-height:1.4}.wisdom-tree-page .tree-stage{width:100%;height:86%;bottom:-2%;left:50%}.wisdom-tree-page .toolbox{width:155px;top:9px;right:9px}.tree-mailbox{width:92px;height:166px;bottom:6px;right:5px}.tree-letter{width:calc(100% - 16px);height:calc(100% - 16px);padding:10% 4.2% 11%}.tree-letter-messages{font-size:18px}.tree-letter-options{grid-template-columns:minmax(0,1fr)}.tree-letter-input textarea{font-size:17px}}.learning-map-node.path-map-node .learning-map-node-main{width:250px;height:96px}@keyframes learning-map-node-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes learning-map-current-pulse{0%,to{box-shadow:0 0 0 8px #257eb12e,0 0 0 14px #257eb114,0 8px 20px #205f8433}50%{box-shadow:0 0 0 10px #257eb133,0 0 0 18px #257eb10d,0 10px 24px #205f843b}}.path-proposals>summary{cursor:pointer;color:#294e65;font-size:12px;font-weight:750}.path-proposals[open]>summary{border-bottom:1px solid var(--line);padding-bottom:13px}.path-proposals>article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:18px;padding:14px 0;display:grid}.path-proposals article section+section{margin-top:10px}.path-proposals article strong{font-size:12px}.path-proposals article p{color:var(--muted);margin:4px 0;font-size:11px}.path-proposals article small{color:var(--amber)}.path-proposals footer{align-items:center;gap:7px;display:flex}.classroom-page{height:calc(100dvh - var(--shell-nav));background:var(--bg);grid-template-rows:56px auto minmax(0,1fr);display:grid;overflow:hidden}.classroom-pane-tabs{display:none}.classroom-topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 14px 0 10px;display:flex}.classroom-topbar>div{align-items:center;gap:9px;display:flex}.classroom-topbar small{color:var(--muted);font-size:10px;display:block}.classroom-topbar h1{text-overflow:ellipsis;white-space:nowrap;max-width:55vw;margin:2px 0 0;font-size:15px;overflow:hidden}.classroom-notices{gap:0;min-height:0;display:grid}.plan-execution-panel{border-bottom:1px solid var(--line);background:#eef7f7;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 15px;display:grid}.plan-execution-panel.proposed{background:#f6f2e7}.plan-execution-icon{width:34px;height:34px;color:var(--teal-dark);background:#d6eeee;border-radius:50%;place-items:center;display:grid}.plan-execution-panel.proposed .plan-execution-icon{color:#926a18;background:#f2e5bc}.plan-execution-copy{min-width:0}.plan-execution-copy span,.plan-execution-copy strong,.plan-execution-copy p{display:block}.plan-execution-copy span{color:var(--teal-dark);letter-spacing:.04em;font-size:10px;font-weight:800}.plan-execution-panel.proposed .plan-execution-copy span{color:#8a6617}.plan-execution-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.plan-execution-copy p{color:var(--muted);margin:2px 0 0;font-size:11px}.plan-execution-actions{align-items:center;gap:7px;display:flex}.plan-execution-actions button{align-items:center;gap:5px;min-height:31px;padding:0 10px;font-size:11px;display:inline-flex}.classroom-back-link{color:#244f70;white-space:nowrap;background:#e4f1fa;border:2px solid #527a9b;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-size:13px;font-weight:750;display:inline-flex}.classroom-back-link:hover{background:#d5e9f7;border-color:#245d83}.classroom-status{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.classroom-status-group{align-items:center;gap:8px;display:flex}.session-upload-activity{color:#245d83;background:#e8f3fa;border:1px solid #7ba5c2;border-radius:5px;align-items:center;gap:6px;min-height:30px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.session-upload-activity.review{color:#805e1d;background:#fff4df;border-color:#d7a54c}.session-upload-activity.failed{color:#984237;background:#fff0ed;border-color:#c9776d}.session-upload-activity.completed{color:#24675b;background:#e9f4f1;border-color:#74a99e}.online-dot{background:var(--teal);border-radius:50%;width:7px;height:7px}.connection-banner{color:#9c4037;background:#fff2ef;align-items:center;gap:7px;min-height:34px;padding:6px 14px;font-size:12px;display:flex}.connection-banner button{color:inherit;background:0 0;margin-left:auto}.classroom-split{grid-row:3;grid-template-columns:minmax(560px,1.62fr) minmax(360px,1fr);min-height:0;display:grid}.resource-stage{border-right:1px solid var(--line-strong);border-top:2px solid var(--teal);background:#eef2f1;grid-template-rows:54px minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.resource-stage.type-video{border-top-color:var(--cobalt)}.resource-stage.type-question_set,.resource-stage.type-practice{border-top-color:var(--amber)}.resource-stage.type-summary{border-top-color:var(--violet)}.stage-header{border-bottom:1px solid var(--line);background:#ffffffe6;justify-content:space-between;align-items:center;padding:0 13px;display:flex}.stage-header>div{align-items:center;gap:9px;min-width:0;display:flex}.stage-kind{width:32px;height:32px;color:var(--teal);background:#e4f0ee;border-radius:5px;flex:0 0 32px;place-items:center;display:grid}.stage-header small,.stage-header strong{display:block}.stage-header small{color:var(--muted);font-size:9px}.stage-header strong{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;margin-top:2px;font-size:12px;overflow:hidden}.stage-tools{gap:2px;display:flex}.stage-icon-image{object-fit:contain;flex:0 0 18px;width:18px;height:18px;display:block}.stage-body{min-height:0;overflow:hidden}.resource-history{z-index:8;background:var(--surface);border:1px solid var(--line);width:280px;max-height:420px;box-shadow:var(--shadow);border-radius:7px;padding:10px;position:absolute;top:48px;right:50px;overflow:auto}.resource-history-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.resource-history h3{margin:0;padding:5px 7px 9px;font-size:12px}.resource-history .resource-history-entry{text-align:left;background:0 0;border-radius:4px;align-items:center;gap:8px;width:100%;padding:9px 7px;font-size:12px;display:flex}.resource-history .resource-history-entry:hover{background:var(--surface-muted)}.ppt-renderer{grid-template-rows:minmax(0,1fr) 48px;height:100%;display:grid}.slide-canvas{background:#dfe5e4;place-items:center;min-height:0;padding:18px;display:grid;overflow:hidden}.slide-canvas img{object-fit:contain;max-width:100%;max-height:100%;display:block;box-shadow:0 8px 25px #182b3629}.slide-controls{background:var(--surface);border-top:1px solid var(--line);grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:12px;padding:0 12px;font-size:12px;display:grid}.ppt-guidance-button{color:#285d7b;background:#edf6fd;border:1px solid #6c94b2;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:max-content;min-width:104px;min-height:32px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.ppt-guidance-button:hover:not(:disabled){border-color:var(--cobalt);background:#e1effa}.slide-pagination{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:12px;display:flex}.ppt-guidance-navigation{grid-template-columns:minmax(90px,1fr) max-content;align-items:center;gap:10px;min-width:0;display:grid}.ppt-guidance-track-viewport{scrollbar-width:none;min-width:0;overflow-x:auto}.ppt-guidance-track-viewport::-webkit-scrollbar{display:none}.ppt-guidance-track{align-items:center;gap:3px;height:18px;display:grid}.ppt-guidance-segment{cursor:pointer;background:#ccd5dc;border:0;border-radius:2px;width:100%;height:6px;padding:0;transition:height .12s,background .12s,box-shadow .12s}.ppt-guidance-segment:hover,.ppt-guidance-segment.current{background:#6c94b2;height:12px}.ppt-guidance-segment.pending{background:#d7ad57}.ppt-guidance-segment.explained{background:var(--teal)}.ppt-guidance-segment.current{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--navy)}.ppt-guidance-state{color:var(--muted);justify-self:end;font-size:10px}.ppt-guidance-state.active{color:var(--teal-dark);font-weight:700}.video-learning-view{background:#142129;grid-template-columns:minmax(0,1fr) 250px;height:100%;transition:grid-template-columns .18s;display:grid}.video-learning-view.chapters-collapsed{grid-template-columns:minmax(0,1fr) 46px}.video-preparation-state{color:#edf4f5;text-align:center;background:#142129;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:100%;padding:28px;display:flex}.video-preparation-state>span{color:#9bc8c3;background:#1d3039;border:1px solid #51727d;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.video-preparation-state strong{font-size:15px}.video-preparation-state small{color:#aebfc5;max-width:360px;font-size:11px;line-height:1.6}.video-preparation-state.failed>span{color:#efada2;border-color:#9b665f}.video-preparation-state .secondary-button{color:#edf4f5;background:#1d3039;border-color:#7095a2;margin-top:5px}.video-player-area{grid-template-rows:minmax(0,1fr) auto auto;min-width:0;min-height:0;padding:16px;display:grid}.video-frame{place-items:center;min-height:0;display:grid}.video-frame video{background:#000;width:100%;max-height:100%}.video-now{color:#d9e4e7;justify-content:space-between;align-items:center;gap:12px;min-height:38px;font-size:11px;display:flex}.video-now span{color:#9bc8c3;align-items:center;gap:6px;display:flex}.video-now strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.current-subtitle{color:#f2f5f4;background:#22323a;align-items:flex-start;gap:8px;min-height:42px;margin:0;padding:9px 11px;font-size:12px;line-height:1.55;display:flex}.current-subtitle svg{color:#9bc8c3;flex:none}.current-subtitle.empty{color:#adbec3}.video-chapters{border-left:1px solid var(--line);background:#f8faf9;min-width:0;overflow:auto}.video-chapters.collapsed{overflow:hidden}.video-chapters>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:46px;padding:0 12px;font-size:12px;display:flex}.video-chapters.collapsed>header{justify-content:center;padding:0}.video-chapters-heading{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.video-chapters-heading span{color:var(--muted)}.video-chapters>button{border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr);gap:8px;width:100%;padding:10px 9px;display:grid}.video-chapters>button.active{box-shadow:inset 3px 0 var(--teal);background:#e7f2f0}.video-chapters time{color:var(--teal);font-size:10px}.video-chapters strong,.video-chapters small{display:block}.video-chapters strong{font-size:11px}.video-chapters small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.video-chapters-empty{min-height:180px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:24px;display:flex}.video-chapters-empty svg{color:var(--teal)}.video-chapters-empty strong{color:var(--ink);font-size:11px}.video-chapters-empty small{font-size:9px;line-height:1.5}.practice-renderer{background:var(--surface);grid-template-rows:minmax(0,1fr) 58px;height:100%;display:grid}.practice-empty-state{text-align:center;background:var(--surface);place-content:center;justify-items:center;height:100%;padding:28px;display:grid}.practice-empty-state>span{color:#285f80;background:#e7f1f8;border:1px solid #8aabc5;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.practice-empty-state h2{margin:14px 0 7px;font-size:16px}.practice-empty-state p{max-width:380px;color:var(--muted);margin:0 0 16px;font-size:11px;line-height:1.6}.question-scroll{min-height:0;padding:22px clamp(18px,4vw,55px);overflow:auto}.question-item{border-bottom:1px solid var(--line);max-width:760px;margin:0 auto 28px;padding-bottom:26px}.question-item header{align-items:center;gap:8px;display:flex}.question-item header span{width:25px;height:25px;color:var(--amber);background:#f6ebdc;border-radius:50%;place-items:center;font-weight:750;display:grid}.question-item header small{color:var(--muted)}.question-item h3{margin:13px 0 15px;font-size:15px;line-height:1.55}.option-list{gap:8px;display:grid}.option-list label{border:1px solid var(--line);cursor:pointer;border-radius:5px;align-items:center;gap:10px;padding:10px 11px;display:flex}.option-list label:has(input:checked){border-color:var(--cobalt);background:#eef3fb}.option-list input{width:16px;height:16px;box-shadow:none;flex:0 0 16px}.answer-result{color:var(--amber);margin-top:10px;font-size:12px}.answer-result.correct{color:var(--teal)}.practice-submit{border-top:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.practice-submit span{color:var(--muted);font-size:12px}.practice-submit .practice-submit-error{color:#b42318;text-align:right;flex:1;margin:0 16px}.svg-renderer,.game-renderer{height:100%;padding:15px}.svg-renderer iframe,.game-renderer iframe{background:#fff;border:0;width:100%;height:100%}.game-learning-view{background:var(--surface);grid-template-rows:52px minmax(0,1fr) auto;height:100%;display:grid}.game-learning-view>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 14px;display:flex}.game-learning-view>header>div{color:var(--amber);align-items:center;gap:9px;display:flex}.game-learning-view header strong,.game-learning-view header small{display:block}.game-learning-view header strong{color:var(--text);font-size:12px}.game-learning-view header small{color:var(--muted);margin-top:3px;font-size:9px}.game-frame-wrap{background:#edf1f0;min-height:0;padding:14px;position:relative}.game-frame-wrap iframe{background:#fff;border:0;width:100%;height:100%}.game-busy{color:var(--teal);background:#ffffffd1;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;inset:14px}.game-result{text-align:center;background:var(--surface);place-content:center;justify-items:center;height:100%;display:grid}.game-result>svg{color:var(--amber)}.game-result.passed>svg{color:var(--teal)}.game-result h2{margin:12px 0 4px;font-size:20px}.game-result>strong{color:var(--cobalt);font-size:26px}.game-result p{color:var(--muted);margin:6px 0 18px;font-size:12px}.game-learning-view>.form-error{border-top:1px solid #efc9c2;margin:0;padding:8px 14px}.document-renderer{background:var(--surface);height:100%;padding:clamp(24px,5vw,60px);overflow:auto}.document-renderer>h2{font-size:23px}.personalization-review-renderer{background:var(--surface);height:100%;padding:clamp(22px,4vw,48px);overflow:auto}.personalization-review-header{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;max-width:820px;margin:0 auto;padding-bottom:18px;display:flex}.personalization-review-icon{width:42px;height:42px;color:var(--teal-dark);background:#dcefeb;border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.personalization-review-header small{color:var(--teal-dark);letter-spacing:0;font-size:10px;font-weight:800}.personalization-review-header h2{overflow-wrap:anywhere;margin:3px 0 0;font-size:22px}.personalization-review-header p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.45}.personalization-review-result,.personalization-review-follow-up-heading,.personalization-review-section,.personalization-review-notice,.personalization-review-feedback,.personalization-review-error{max-width:820px;margin-left:auto;margin-right:auto}.personalization-review-result{border-bottom:1px solid var(--line);padding:24px 0 26px}.personalization-review-outcome{color:#40535e;align-items:center;gap:12px;display:flex}.personalization-review-outcome-icon{background:#edf1f3;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.personalization-review-outcome.understood{color:#176d5c}.personalization-review-outcome.understood .personalization-review-outcome-icon{background:#dff2eb}.personalization-review-outcome.needs_practice{color:#a74336}.personalization-review-outcome.needs_practice .personalization-review-outcome-icon{background:#fae8e4}.personalization-review-outcome.needs_review{color:#8b5b0b}.personalization-review-outcome.needs_review .personalization-review-outcome-icon{background:#fff2d7}.personalization-review-outcome strong{font-size:18px;display:block}.personalization-review-outcome p{color:#40535e;margin:0;padding-top:4px;font-size:14px;line-height:1.55}.personalization-review-metrics{background:var(--line);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:1px;margin:20px 0 0;padding:1px;display:grid;overflow:hidden}.personalization-review-metrics>div{background:#fff;min-width:0;padding:13px 15px}.personalization-review-metrics dt{color:var(--muted);font-size:11px;font-weight:700}.personalization-review-metrics dd{color:#223944;overflow-wrap:anywhere;margin:5px 0 0;font-size:20px;font-weight:800}.personalization-review-follow-up-heading{justify-content:space-between;align-items:center;gap:12px;padding:24px 0 8px;display:flex}.personalization-review-follow-up-heading h3{color:#263f4d;margin:0;font-size:14px}.review-status{color:var(--teal-dark);align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.review-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.review-status.pending{color:#8b5b0b}.personalization-review-section{border-top:1px solid var(--line);padding:18px 0}.personalization-review-section>header{color:var(--teal-dark);align-items:center;gap:8px;display:flex}.personalization-review-section h3{margin:0;font-size:15px}.personalization-review-section>p{color:#40535e;margin:11px 0 0;line-height:1.65}.personalization-review-operations,.personalization-review-resource-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.personalization-review-operations>div,.personalization-review-resource-list>li{background:#f5faf8;border-left:3px solid #9bc9c0;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 12px;display:flex}.personalization-review-operations span,.personalization-review-resource-list span{color:var(--muted);text-align:right;font-size:12px}.personalization-review-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.personalization-review-actions button{align-items:center;gap:6px;min-height:36px;display:inline-flex}.personalization-review-decision{align-items:center;gap:6px;margin:14px 0 0;font-size:12px;font-weight:800;display:flex;color:var(--teal-dark)!important}.personalization-review-notice{border-top:1px solid var(--line);color:#7a5718;align-items:flex-start;gap:8px;padding:12px 0;display:flex}.personalization-review-notice p{margin:0 0 4px;font-size:12px}.personalization-review-feedback,.personalization-review-error{margin-top:12px;font-size:12px}.personalization-review-feedback{color:var(--teal-dark)}.personalization-review-error{color:var(--coral)}@media (width<=720px){.personalization-review-renderer{padding:20px 18px}.personalization-review-header h2{font-size:20px}.personalization-review-outcome{align-items:flex-start}.personalization-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.personalization-review-metrics dd{font-size:18px}.personalization-review-operations>div,.personalization-review-resource-list>li{flex-direction:column;align-items:flex-start;gap:4px}.personalization-review-operations span,.personalization-review-resource-list span{text-align:left}.personalization-review-actions button{justify-content:center;width:100%}}.prose,.structured-content p{white-space:pre-wrap;color:#304654;line-height:1.75}.structured-content section{border-bottom:1px solid var(--line);padding:15px 0}.structured-content h3{font-size:14px}.notes-hub,.summary-renderer{background:var(--surface);height:100%;padding:clamp(22px,4vw,48px);overflow:auto}.notes-hub-header{border-bottom:2px solid #b9d4e4;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.notes-hub-header small,.summary-renderer small{color:var(--muted);font-size:10px}.notes-hub-header h2,.summary-renderer h2{align-items:center;gap:8px;margin:4px 0 0;font-size:21px;display:flex}.notes-tabs{background:#eaf4f9;border:1px solid #9dbfd3;border-radius:6px;grid-template-columns:repeat(2,minmax(110px,1fr));min-height:38px;padding:3px;display:grid}.notes-tabs button{color:#38586b;background:0 0;border:0;border-radius:4px;font-size:12px;font-weight:700}.notes-tabs button.active{color:#185f86;background:#fff;box-shadow:0 1px 4px #28506824}.notes-tabs span{background:#d3e8f3;border-radius:50%;place-items:center;min-width:19px;height:19px;margin-left:4px;font-size:10px;display:inline-grid}.notes-list{gap:14px;max-width:900px;margin:18px auto 0;display:grid}.note-card{background:#fff;border:1px solid #9dbfd3;border-left-width:4px;border-radius:6px;gap:10px;padding:16px;display:grid}.note-card.candidate{background:#fffdf8;border-left-color:#d39b32}.note-card.formal{border-left-color:#258975}.note-card>header,.note-card>footer{align-items:center;display:flex}.note-card>header{justify-content:space-between}.note-card>header span{color:#31586d;font-size:11px;font-weight:800}.note-card>header small{color:var(--muted);font-size:10px}.note-card>input,.note-card>textarea{color:#263f4d;background:#fbfdfe;border:1px solid #bfd3df;border-radius:5px;width:100%}.note-card>input{min-height:38px;padding:8px 10px;font-size:14px;font-weight:750}.note-card>textarea{resize:vertical;min-height:112px;padding:10px;line-height:1.65}.note-card>footer{justify-content:flex-end;gap:8px}@media (width<=720px){.notes-hub-header{flex-direction:column;align-items:stretch}}.summary-renderer{max-width:920px;margin:auto}.summary-renderer>header{border-bottom:1px solid var(--line);color:var(--teal);align-items:center;gap:11px;padding-bottom:20px;display:flex}.summary-lead{color:#304654;margin:22px 0;line-height:1.75}.summary-renderer section{border-top:1px solid var(--line);padding:17px 0}.summary-renderer section h3{align-items:center;gap:8px;margin:0 0 11px;font-size:14px;display:flex}.summary-renderer ul{color:#40535e;gap:8px;margin:0;padding-left:21px;line-height:1.6;display:grid}.conversation-panel{background:var(--surface);grid-template-rows:54px minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.conversation-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 12px;display:flex}.conversation-header>div{align-items:center;gap:8px;display:flex}.conversation-header strong,.conversation-header small{display:block}.reply-trace-details{color:var(--muted-text,#7c756d);margin-left:10px;font-size:11px}.reply-trace-details summary{cursor:pointer}.reply-trace-list{z-index:2;background:#fffdf9;border:1px solid #50412d29;border-radius:8px;min-width:240px;margin-top:6px;padding:8px;position:absolute;box-shadow:0 6px 18px #362b1f1f}.reply-trace-item{white-space:nowrap;grid-template-columns:1fr auto auto;gap:8px;padding:3px 0;display:grid}.message-execution-details{color:var(--muted);margin:4px 0 7px;font-size:10px}.message-execution-details summary{cursor:pointer;width:fit-content}.message-execution-list{min-width:0;max-width:100%;box-shadow:none;margin:5px 0 0;position:static}.message-execution-list .reply-trace-item{white-space:normal;grid-template-columns:minmax(0,1fr) auto auto auto}.conversation-header strong{font-size:12px}.conversation-header small{color:var(--muted);font-size:9px}.ai-presence{width:30px;height:30px;color:var(--teal);background:#e2f0ee;border-radius:50%;place-items:center;display:grid}.message-scroll{scroll-behavior:smooth;min-height:0;padding:16px 14px 26px;overflow-y:auto}.conversation-empty{text-align:center;min-height:60%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.conversation-empty h2{color:var(--text);margin:12px 0 6px;font-size:16px}.message{border-radius:6px;grid-template-columns:28px minmax(0,1fr);gap:8px;margin-bottom:17px;transition:background .16s,box-shadow .16s;display:grid}.message.history-focused{background:#e8f4fb;box-shadow:0 0 0 3px #315fa829}.message.user{grid-template-columns:minmax(0,1fr) 28px;margin-left:13%}.message-avatar{width:27px;height:27px;color:var(--teal);background:#e4f1ef;border-radius:50%;place-items:center;display:grid}.message.user .message-avatar{color:var(--navy);background:#e8edf4;grid-area:1/2}.message-body{min-width:0}.message.user .message-body{grid-area:1/1}.message-body>header{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.message.user .message-body>header{flex-direction:row-reverse}.message-body header strong{font-size:11px}.message-body time{color:var(--muted);font-size:9px}.message-content{overflow-wrap:anywhere;font-size:13px;line-height:1.7}.message.user .message-content{white-space:pre-wrap;background:#edf1f5;border-radius:7px 2px 7px 7px;padding:9px 11px}.message.provisional .message-content{color:var(--muted)}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content .markdown-table-wrap{margin:0 0 10px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--text);letter-spacing:0;margin:14px 0 7px;font-weight:750;line-height:1.35}.markdown-content h1{font-size:17px}.markdown-content h2{font-size:15px}.markdown-content h3,.markdown-content h4{font-size:14px}.markdown-content ul,.markdown-content ol{padding-left:21px}.markdown-content li+li{margin-top:3px}.markdown-content li>p{margin:0}.markdown-content blockquote{color:#3c5c70;background:#edf5fa;border-left:3px solid #6f9db7;padding:6px 10px}.markdown-content code{color:#1f5264;background:#eef3f5;border:1px solid #ccd9df;border-radius:3px;padding:1px 4px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.markdown-content pre{color:#e7f0f3;white-space:pre;background:#172832;border:1px solid #314c5b;border-radius:5px;max-width:100%;padding:10px 12px;overflow-x:auto}.markdown-content pre code{color:inherit;background:0 0;border:0;padding:0;font-size:11px}.markdown-content a{color:#1e6793;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.markdown-content hr{border:0;border-top:1px solid var(--line-strong);margin:12px 0}.markdown-table-wrap{max-width:100%;overflow-x:auto}.markdown-content table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}.markdown-content th,.markdown-content td{text-align:left;vertical-align:top;border:1px solid #b8cbd5;padding:6px 8px}.markdown-content th{color:#244d64;background:#e4eff5}.markdown-content input[type=checkbox]{accent-color:var(--teal);margin:0 5px 0 0}.source-count{color:var(--muted);margin-top:7px;font-size:10px}.typing{gap:4px;padding:8px 0;display:inline-flex}.typing i{background:var(--teal);border-radius:50%;width:5px;height:5px;animation:1s infinite alternate pulse}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-2px)}}.inline-actions{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:10px;display:grid}.inline-actions button{width:100%;min-height:34px;color:var(--teal-dark);background:#f4f9f8;border:1px solid #aac9c5;border-radius:5px;justify-content:flex-start;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:inline-flex}.inline-actions button:hover{border-color:var(--teal)}.inline-actions button.reusable{color:#285f80;background:#edf6fd;border-color:#6c94b2}.inline-actions button.done{color:#4e6f6b}.inline-actions button.failed{color:#a44e43;background:#fff1ee;border-color:#c88276}.inline-actions button.failed:disabled{opacity:1;cursor:not-allowed}.activity-row{border-left:2px solid var(--teal);background:var(--surface-muted);min-height:34px;color:var(--muted);margin:5px 0 10px 36px;padding:7px 9px;font-size:10px}.activity-row.status-failed{border-left-color:var(--coral);background:#fff1ee}.activity-row.status-completed{border-left-color:var(--teal)}.activity-row.status-queued,.activity-row.status-retry_wait{border-left-color:var(--amber);background:#fff4dd}.activity-row.status-processing{border-left-color:var(--cobalt);background:#e9f1fb}.activity-row.status-waiting_confirmation{border-left-color:var(--amber);background:#fff8e8}.activity-row.status-cancelled{background:#eef2f4;border-left-color:#81909d}.activity-row>.activity-summary{grid-template-columns:18px minmax(0,1fr) 26px;align-items:center;gap:6px;display:grid}.activity-row>.activity-summary>span strong{color:var(--text);margin-bottom:2px;font-size:10px;display:block}.activity-row>dl{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 0 24px;padding-top:7px;display:grid}.activity-row>dl div{min-width:0}.activity-row dt{color:var(--muted)}.activity-row dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.activity-detail-list{border-top:1px solid var(--line);gap:0;margin-top:7px;display:grid}.activity-detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr) auto minmax(0,auto);align-items:center;gap:8px;padding:7px 0;display:grid}.activity-detail-list strong,.activity-detail-list span,.activity-detail-list small{min-width:0;font-size:9px}.activity-detail-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-detail-list small{color:var(--muted)}.activity-controls{justify-content:flex-end;gap:5px;display:inline-flex}.activity-controls button{border:1px solid var(--line-strong);background:var(--surface);min-height:26px;color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:9px;display:inline-flex}.activity-controls button:hover:not(:disabled){border-color:var(--cobalt);color:var(--cobalt)}.activity-controls button:disabled{cursor:wait;opacity:.6}.activity-operation-error{color:var(--coral);grid-column:1/-1}.composer-wrap{background:var(--surface);border-top:1px solid var(--line);padding:9px 11px 8px;position:relative}.composer-image-drafts{flex-wrap:wrap;gap:8px;padding:0 0 8px;display:flex}.composer-image-draft{border:1px solid var(--line-strong);background:var(--surface-muted);border-radius:9px;width:64px;height:64px;position:relative;overflow:hidden}.composer-image-draft .attachment-image{object-fit:cover;width:100%;height:100%;display:block}.composer-image-draft .attachment-image-loading,.composer-image-draft .attachment-image-failed{width:100%;height:100%;color:var(--muted);text-align:center;place-items:center;padding:4px;font-size:10px;display:grid}.composer-image-remove{color:#fff;background:#181f2ac2;border-radius:50%;width:20px;height:20px;position:absolute;top:3px;right:3px}.composer-image-status{color:var(--muted);margin:0 0 7px;font-size:11px}.composer-image-status.error{color:var(--coral)}.composer{border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;grid-template-columns:34px minmax(0,1fr) 34px;align-items:end;gap:4px;min-height:44px;padding:4px;display:grid}.composer:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px #315fa814}.composer textarea{resize:none;min-height:34px;max-height:120px;box-shadow:none;border:0;padding:7px 4px}.send-button{background:var(--teal);color:#fff;border-radius:5px;place-items:center;width:34px;height:34px;display:grid}.composer.learning-situation-composer{grid-template-columns:minmax(0,1fr) 42px}.composer.learning-situation-composer textarea{grid-column:1;height:34px;overflow-y:auto}.composer.learning-situation-composer .send-button{grid-column:2;justify-self:end}.composer-menu{z-index:10;background:var(--surface);border:1px solid var(--line);width:270px;max-height:330px;box-shadow:var(--shadow);border-radius:7px;padding:8px;position:absolute;bottom:70px;left:10px;overflow:auto}.composer-menu header{justify-content:space-between;align-items:center;padding:3px 4px 7px;font-size:11px;display:flex}.composer-menu>button{text-align:left;background:0 0;border-radius:4px;align-items:center;gap:7px;width:100%;padding:9px 7px;font-size:11px;display:flex}.composer-menu>button:hover{background:var(--surface-muted)}.composer-menu p{color:var(--muted);padding:10px 6px;font-size:11px}.classroom-page{background:var(--ws-bg);grid-template-rows:64px auto minmax(0,1fr)}.classroom-page .classroom-topbar{background:0 0;border-bottom:0;padding:0 20px}.classroom-page .classroom-topbar small{color:var(--ws-muted);font-size:11px;font-weight:600}.classroom-page .classroom-topbar h1{color:var(--ws-ink);letter-spacing:-.015em;margin:3px 0 0;font-size:16px;font-weight:700}.classroom-page .classroom-back-link{border:1px solid var(--ws-line-strong);color:#55547a;background:#fff;border-radius:999px;min-height:36px;padding:0 14px;font-size:12px;font-weight:650}.classroom-page .classroom-back-link:hover{color:var(--ws-accent-strong);background:#fff;border-color:#c7c2f3}.classroom-page .classroom-status{color:var(--ws-muted);font-size:12px;font-weight:600}.classroom-page .session-upload-activity{border:1px solid var(--ws-line-strong);color:#55547a;background:#fff;border-radius:999px;min-height:32px;padding:0 12px;font-size:12px;font-weight:650}.classroom-page .session-upload-activity.review{color:#8a6617;background:#fff8e9;border-color:#edd9a8}.classroom-page .session-upload-activity.failed{color:#b0453a;background:#fdeeed;border-color:#f3d2cd}.classroom-page .session-upload-activity.completed{color:#1f7a63;background:#eef8f4;border-color:#cbe7dd}.classroom-page .connection-banner{color:#b0453a;background:#fdeeed;padding:9px 20px}.classroom-page .plan-execution-panel{border-bottom:1px solid var(--ws-line);background:var(--ws-accent-soft)}.classroom-page .plan-execution-panel.proposed{background:#fdf7ea}.classroom-page .plan-execution-icon{color:var(--ws-accent-strong);background:#e5e2f9}.classroom-page .plan-execution-panel.proposed .plan-execution-icon{color:#8a6617;background:#f7ead0}.classroom-page .plan-execution-copy span{color:var(--ws-accent-strong)}.classroom-page .plan-execution-panel.proposed .plan-execution-copy span{color:#8a6617}.classroom-page .plan-execution-copy strong{color:var(--ws-ink)}.classroom-page .plan-execution-copy p{color:var(--ws-muted)}.classroom-page .plan-execution-actions button{border-radius:999px}.classroom-page .icon-button:hover{background:var(--ws-field);color:var(--ws-ink)}.classroom-page .classroom-split{gap:8px;padding:8px 12px 12px}.classroom-page .resource-stage{border:1px solid var(--ws-line);border-top:2px solid var(--ws-accent);box-shadow:var(--ws-card-shadow);background:#fff;border-radius:12px;overflow:hidden}.classroom-page .resource-stage.type-video{border-top-color:#4a7fd4}.classroom-page .resource-stage.type-question_set,.classroom-page .resource-stage.type-practice{border-top-color:#d9a24a}.classroom-page .resource-stage.type-summary{border-top-color:#8a7fb8}.classroom-page .stage-header{border-bottom:1px solid var(--ws-line);background:#fff;padding:0 16px}.classroom-page .stage-kind{background:var(--ws-field);color:var(--ws-accent);border-radius:10px}.classroom-page .stage-header small{color:var(--ws-muted);font-size:10px;font-weight:600}.classroom-page .stage-header strong{color:var(--ws-ink);font-size:13px;font-weight:650}.classroom-page .resource-history{border-color:var(--ws-line);border-radius:12px;box-shadow:0 1px 2px #1b1b2e0a,0 24px 48px -28px #1b1b2e57}.classroom-page .resource-history .resource-history-entry{color:var(--ws-ink);border-radius:8px}.classroom-page .resource-history .resource-history-entry:hover{background:var(--ws-field)}.classroom-page .slide-canvas{background:#ecebf4}.classroom-page .slide-canvas img{border-radius:6px;box-shadow:0 1px 2px #1b1b2e0f,0 20px 44px -22px #1b1b2e52}.classroom-page .slide-controls{border-top:1px solid var(--ws-line);color:var(--ws-muted);background:#fff;padding:0 16px}.classroom-page .ppt-guidance-button{border:1px solid var(--ws-accent);background:var(--ws-accent);color:#fff;border-radius:999px;font-weight:650}.classroom-page .ppt-guidance-button:hover:not(:disabled){border-color:var(--ws-accent-strong);background:var(--ws-accent-strong)}.classroom-page .ppt-guidance-segment{background:#e4e2f0;border-radius:999px}.classroom-page .ppt-guidance-segment.explained{background:var(--ws-accent)}.classroom-page .ppt-guidance-segment.pending{background:#e8c98a}.classroom-page .ppt-guidance-segment:hover,.classroom-page .ppt-guidance-segment.current{background:#9a92ee}.classroom-page .ppt-guidance-segment.current{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--ws-accent)}.classroom-page .ppt-guidance-state.active{color:var(--ws-accent-strong)}.classroom-page .conversation-panel{border:1px solid var(--ws-line);box-shadow:var(--ws-card-shadow);background:#fff;border-radius:12px;overflow:hidden}.classroom-page .conversation-header{border-bottom:1px solid #f4f3fa;padding:0 18px}.classroom-page .conversation-header strong{color:var(--ws-ink);font-size:13px;font-weight:650}.classroom-page .conversation-header small{color:var(--ws-muted);font-size:10px}.classroom-page .ai-presence{background:var(--ws-field);color:#85849d;border-radius:10px}.classroom-page .message-scroll{padding:20px 18px 26px}.classroom-page .conversation-empty{color:#c2c0d4}.classroom-page .message.user .message-content{background:var(--ws-field);color:var(--ws-ink);border-radius:16px 16px 4px}.classroom-page .message-avatar{background:var(--ws-field);color:#85849d}.classroom-page .message.user .message-avatar{color:#55547a;background:#e8e6f6}.classroom-page .message.history-focused{background:var(--ws-accent-soft);box-shadow:0 0 0 3px #5b51e81f}.classroom-page .message-body header strong{color:var(--ws-ink)}.classroom-page .message-body time{color:#a9a7bd}.classroom-page .source-count{color:var(--ws-muted)}.classroom-page .typing i{background:var(--ws-accent)}.classroom-page .inline-actions button{border:1px solid var(--ws-line-strong);color:#55547a;background:#fff;border-radius:10px;font-weight:600}.classroom-page .inline-actions button:hover{background:var(--ws-field);color:var(--ws-accent-strong);border-color:#c7c2f3}.classroom-page .inline-actions button.reusable{border-color:var(--ws-line-strong);color:#55547a;background:#fff}.classroom-page .inline-actions button.done{color:var(--ws-muted)}.classroom-page .inline-actions button.failed{color:#b0453a;background:#fdeeed;border-color:#f3d2cd}.classroom-page .reply-trace-details{color:var(--ws-muted)}.classroom-page .reply-trace-list{border-color:var(--ws-line-strong);background:#fff;border-radius:12px;box-shadow:0 1px 2px #1b1b2e0a,0 24px 48px -28px #1b1b2e57}.classroom-page .message-execution-details{color:var(--ws-muted)}.classroom-page .activity-row{background:var(--ws-field);color:var(--ws-muted);border-radius:0 10px 10px 0}.classroom-page .activity-row.status-completed{background:#eef8f4;border-left-color:#2f9c7c}.classroom-page .activity-row.status-failed{border-left-color:var(--coral);background:#fdeeed}.classroom-page .activity-row.status-queued,.classroom-page .activity-row.status-retry_wait,.classroom-page .activity-row.status-waiting_confirmation{background:#fdf7ea;border-left-color:#d9a24a}.classroom-page .activity-row.status-processing{border-left-color:var(--ws-accent);background:var(--ws-accent-soft)}.classroom-page .activity-row.status-cancelled{background:#f4f3fa;border-left-color:#b4b2cc}.classroom-page .activity-row>.activity-summary>span strong,.classroom-page .activity-row dd{color:var(--ws-ink)}.classroom-page .activity-row>dl,.classroom-page .activity-detail-list,.classroom-page .activity-detail-list>div{border-color:var(--ws-line)}.classroom-page .activity-row dt,.classroom-page .activity-detail-list small{color:var(--ws-muted)}.classroom-page .activity-controls button{border-color:var(--ws-line-strong);color:#55547a;background:#fff;border-radius:999px}.classroom-page .activity-controls button:hover:not(:disabled){color:var(--ws-accent-strong);border-color:#c7c2f3}.classroom-page .practice-renderer,.classroom-page .practice-empty-state,.classroom-page .plan-result-card,.classroom-page .document-renderer,.classroom-page .personalization-review-renderer,.classroom-page .notes-hub,.classroom-page .summary-renderer{background:#fff}.classroom-page .question-item,.classroom-page .structured-content section,.classroom-page .lesson-plan-renderer>header,.classroom-page .plan-result-card>header,.classroom-page .personalization-review-header{border-bottom-color:var(--ws-line)}.classroom-page .notes-hub-header{border-bottom:1px solid var(--ws-line)}.classroom-page .question-item h3,.classroom-page .structured-content p,.classroom-page .lesson-plan-renderer>header h2,.classroom-page .plan-result-card>header h2,.classroom-page .personalization-review-header h2,.classroom-page .notes-hub-header h2,.classroom-page .summary-renderer h2,.classroom-page .practice-empty-state h2{color:var(--ws-ink)}.classroom-page .practice-empty-state p,.classroom-page .question-item header small,.classroom-page .lesson-plan-renderer>header p,.classroom-page .lesson-plan-renderer li p,.classroom-page .plan-result-card>header p,.classroom-page .structured-content p,.classroom-page .notes-hub-header small,.classroom-page .summary-renderer small{color:var(--ws-muted)}.classroom-page .lesson-plan-renderer>header small{color:var(--ws-accent-strong)}.classroom-page .lesson-plan-renderer li>span{border-color:var(--ws-line-strong);background:var(--ws-field);color:var(--ws-accent-strong)}.classroom-page .practice-empty-state>span{border-color:var(--ws-line-strong);background:var(--ws-field);color:var(--ws-accent)}.classroom-page .question-item header span{color:#b07d24;background:#fdf3e2}.classroom-page .option-list label{border-color:var(--ws-line-strong);color:var(--ws-ink);border-radius:12px;transition:border-color .16s,background .16s}.classroom-page .option-list label:hover{background:var(--ws-field);border-color:#c7c2f3}.classroom-page .option-list label:has(input:checked){border-color:var(--ws-accent);background:var(--ws-accent-soft)}.classroom-page .practice-submit{border-top-color:var(--ws-line);background:#fbfbfe}.classroom-page .practice-submit span{color:var(--ws-muted)}.classroom-page .practice-submit .primary-button{border-color:var(--ws-accent);background:var(--ws-accent);border-radius:999px}.classroom-page .practice-submit .primary-button:hover{border-color:var(--ws-accent-strong);background:var(--ws-accent-strong)}.classroom-page .personalization-review-icon{background:var(--ws-field);color:var(--ws-accent);border-radius:10px}@media (prefers-reduced-motion:reduce){.classroom-page .option-list label{transition:none}}.classroom-page .markdown-content blockquote{background:var(--ws-field);color:#55547a;border-left-color:#c7c2f3}.classroom-page .markdown-content code{border-color:var(--ws-line-strong);background:var(--ws-field);color:var(--ws-accent-strong)}.classroom-page .composer-wrap{background:#fff;border-top:0;padding:12px 16px 16px}.classroom-page .composer{border:1px solid var(--ws-line-strong);background:#fff;border-radius:14px;min-height:48px;padding:6px;transition:border-color .16s,box-shadow .16s}.classroom-page .composer:focus-within{border-color:#b9b4f5;box-shadow:0 0 0 4px #5b51e814}.classroom-page .composer textarea{color:var(--ws-ink)}.classroom-page .composer textarea::placeholder{color:#b3b1c6}.classroom-page .send-button{background:var(--ws-accent);border-radius:50%;transition:background .16s}.classroom-page .send-button:hover:not(:disabled){background:var(--ws-accent-strong)}.classroom-page .composer-menu{border-color:var(--ws-line);border-radius:12px;box-shadow:0 1px 2px #1b1b2e0a,0 24px 48px -28px #1b1b2e57}.classroom-page .composer-menu>button{color:var(--ws-ink);border-radius:8px}.classroom-page .composer-menu>button:hover{background:var(--ws-field)}.classroom-page .composer-menu p{color:var(--ws-muted)}@media (prefers-reduced-motion:reduce){.classroom-page .composer,.classroom-page .send-button{transition:none}}@media (width<=1099px){.classroom-page .classroom-split{gap:0;padding:8px 12px 12px}.classroom-page .classroom-pane-tabs{background:#fff;border-bottom:0;border-radius:999px;margin:0 12px;padding:4px}.classroom-page .classroom-pane-tabs button{min-height:32px;color:var(--ws-muted);border-radius:999px;font-weight:600}.classroom-page .classroom-pane-tabs button.active{background:var(--ws-accent-soft);color:var(--ws-accent-strong)}.learning-situation-layout{grid-template-columns:1fr;height:auto;overflow:visible}.learning-situation-stage{min-height:620px}.learning-situation-conversation{border-top:1px solid var(--line-strong);border-left:0;min-height:520px}.classroom-page{grid-template-rows:56px auto 42px minmax(0,1fr)}.classroom-pane-tabs{border-bottom:1px solid var(--line);background:var(--surface);grid-row:3;grid-template-columns:1fr 1fr;padding:5px;display:grid}.classroom-pane-tabs button{color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.classroom-pane-tabs button.active{background:var(--surface-muted);color:var(--teal-dark)}.plan-execution-panel{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 10px}.plan-execution-actions{grid-column:1/-1;justify-content:flex-end}.classroom-split{grid-row:4;grid-template-columns:1fr}.classroom-split.mobile-stage .conversation-panel,.classroom-split.mobile-conversation .resource-stage{display:none}.conversation-panel,.resource-stage{width:100%}.library-layout{grid-template-columns:1fr;height:auto}.resource-detail{display:none}.quick-learning-layout{grid-template-columns:1fr;min-height:0}.quick-topic-form,.quick-topic-history{min-height:520px}.portrait-overview-band{grid-template-columns:minmax(0,1fr) 190px}.dimension-signal-map{grid-column:1/-1}.portrait-insight-grid{grid-template-columns:1fr}.situation-profile-grid{grid-template-columns:minmax(260px,.9fr) minmax(400px,1.3fr)}.learning-situation-profile-stack{grid-template-columns:minmax(0,1fr)}.situation-preference-column{grid-column:1/-1;min-height:260px}.preference-strip{grid-template-columns:190px minmax(0,1fr)}.preference-edit-button{grid-column:1/-1;justify-self:end}.mastery-visual-overview{grid-template-columns:180px minmax(300px,1fr)}.mastery-landscape{border-right:0}.course-learning-map>header{grid-template-columns:minmax(0,1fr) 190px}}@media (width<=1240px){.topnav-links{display:none}.topnav-menu-toggle{display:inline-flex}.topnav-drawer{padding:8px var(--page-gutter) 14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid #315d8524;gap:2px;display:grid}.topnav-drawer .topnav-link{height:44px;padding:0 4px;font-size:15px}.topnav-drawer .topnav-link:after{display:none}}@media (width<=640px){.topnav-inner{gap:10px}.topnav-actions{gap:8px}.topnav-prescription,.topnav-guidance{justify-content:center;width:38px;padding:0}.topnav-prescription>span,.topnav-guidance>span{display:none}}@media (width<=420px){.topnav-brand>span{display:none}}@media (width<=767px){.situation-profile-grid,.learning-status-statistics,.learning-status-facts,.plan-date-fields{grid-template-columns:1fr}.situation-planning-column,.situation-statistics-column,.situation-preference-column{min-height:0}.learning-situation-layout{border-left:0;border-right:0}.learning-situation-stage{min-height:0}.learning-situation-stage-header{flex-direction:column;align-items:stretch;gap:4px;height:auto;min-height:54px;padding:7px 10px}.learning-situation-stage-header .profile-tabs{grid-template-columns:repeat(3,1fr);width:100%}.learning-situation-stage-content{padding:10px}.learning-situation-history-trigger{max-width:min(142px,42vw)}.learning-situation-history-drawer{grid-template-columns:minmax(0,1fr) minmax(260px,92%)}.learning-situation-history-panel{padding:14px}.classroom-history-drawer{grid-template-columns:minmax(0,1fr) minmax(260px,92%)}.classroom-history-panel{padding:14px}.classroom-topbar .classroom-history-trigger{min-width:32px;padding:0 8px}.classroom-topbar .classroom-history-trigger svg{margin:0}.learning-status-pie{margin:0 auto}.learning-status-facts>div+div{border-left:0;border-top:1px solid var(--line)}.topnav-inner{padding:0 var(--page-gutter)}.app-main{padding:0 var(--page-gutter) 40px}.slide-controls{grid-template-columns:max-content minmax(0,1fr);gap:7px;padding:0 8px}.ppt-guidance-button{min-width:96px}.ppt-guidance-state{display:none}.ppt-guidance-navigation{grid-template-columns:minmax(70px,1fr) max-content;gap:5px}.slide-pagination{gap:4px}.page-header{min-height:68px}.page-header h1{font-size:19px}.course-name-entry{grid-template-columns:1fr}.ai-prefill-button{width:100%}.course-meta span{display:none}.course-row{grid-template-columns:42px minmax(0,1fr) auto}.toolbar,.library-toolbar,.profile-toolbar{flex-direction:column;align-items:stretch;padding:14px 0}.search-field{width:100%}.course-picker{justify-content:space-between}.course-workspace{height:auto;min-height:calc(100dvh - var(--shell-nav));grid-template-rows:auto auto;grid-template-columns:1fr;overflow:visible}.knowledge-panel{max-height:48dvh}.knowledge-detail{overflow:visible}.workspace-topbar,.node-content{padding-left:16px;padding-right:16px}.node-intro{grid-template-columns:42px 1fr}.node-intro .primary-button{grid-column:1/-1}.node-stats{grid-template-columns:1fr}.node-stats div{border-right:0;border-bottom:1px solid var(--line)}.outline-edit-summary,.outline-edit-row{grid-template-columns:1fr}.flow-panel{padding:22px 16px}.outline-review>header{grid-template-columns:38px minmax(0,1fr)}.validation-badge{grid-column:2;width:max-content}.outline-review>footer{flex-direction:column;align-items:stretch}.outline-setup-state{min-height:420px;padding:24px 16px}.creation-shell{margin-top:18px}.stepper{padding:14px 16px}.stepper div{font-size:0}.classroom-topbar h1{max-width:55vw}.classroom-status{font-size:0}.classroom-status svg,.online-dot{display:block}.message.user{margin-left:4%}.video-learning-view{grid-template-columns:1fr}.video-chapters{display:none}.profile-tabs{grid-template-columns:repeat(3,1fr);width:100%}.profile-tabs button{padding:0 5px}.portrait-overview-band{grid-template-columns:1fr;gap:18px;padding:18px}.portrait-rings{justify-content:flex-start}.dimension-signal-map{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.plan-context-grid{grid-template-columns:1fr}.plan-context-grid article+article{border-top:2px solid var(--line);border-left:0}.focus-orbit{gap:7px;padding:22px 10px}.focus-cluster>strong{width:62px;height:62px}.focus-cluster.current>strong{width:70px;height:70px}.preference-strip{grid-template-columns:1fr;gap:16px}.learning-situation-profile-stack .situation-preference-column.preference-strip{grid-template-columns:minmax(0,1fr);min-height:300px}.preference-groups{grid-template-columns:1fr;gap:9px}.learning-situation-profile-stack .situation-preference-column .preference-groups{grid-template-columns:minmax(0,1fr)}.preference-edit-button{grid-column:auto;justify-self:stretch}.learning-situation-profile-stack .situation-preference-column .preference-edit-button{grid-area:auto/1;justify-self:stretch}.profile-candidates article{flex-direction:column;align-items:stretch}.mastery-visual-overview{grid-template-columns:1fr}.mastery-gauge{border-bottom:2px solid #8aabc5;border-right:0;min-height:210px}.mastery-landscape{border-bottom:2px solid #8aabc5;padding:22px 18px}.mastery-landscape-legend{grid-template-columns:repeat(3,minmax(0,1fr))}.review-priority-card{grid-template-columns:30px minmax(0,1fr);gap:12px}.review-priority-card>header{grid-column:2}.forgetting-curve-wrap,.review-priority-card>footer{grid-column:1/-1}.review-priority-card>footer{text-align:left}.course-learning-map>header{grid-template-columns:1fr;gap:14px;padding:16px}.learning-map-heading{align-items:flex-start}.course-learning-map:not(.breadcrumb-in-header) .learning-map-progress{justify-items:start;width:100%}.course-learning-map:not(.breadcrumb-in-header) .learning-map-breadcrumb{padding:0 8px}.learning-node-tooltip{width:230px}.course-learning-map>footer{flex-wrap:wrap;align-items:flex-start;padding:12px 14px}.course-learning-map>footer small{width:100%;margin-left:0}.path-proposals>article{grid-template-columns:1fr}.path-proposals footer{justify-content:flex-end}}.learning-overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:20px;padding:0 28px 32px;display:grid}.learning-overview-hero{background:linear-gradient(135deg,#f7fbff,#edf6f3);border:1px solid #d8e2ec;border-radius:20px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;padding:26px 28px;display:flex}.learning-overview-hero h2{margin:5px 0 8px;font-size:clamp(1.35rem,3vw,2rem)}.learning-overview-hero>div>p:last-child,.learning-overview-muted{color:#617184}.learning-progress{background:#fff;border-radius:16px;align-items:baseline;gap:6px;min-width:150px;padding:16px 20px;display:flex;box-shadow:0 8px 24px #1b3d5214}.learning-progress strong{color:#24685c;font-size:2rem}.learning-overview-panel{background:#fff;border:1px solid #dbe4ec;border-radius:18px;min-width:0;padding:22px}.learning-overview-panel>header,.learning-overview-panel>header>div{align-items:center;display:flex}.learning-overview-panel>header{justify-content:space-between;gap:16px;margin-bottom:18px}.learning-overview-panel>header>div{gap:8px}.learning-overview-panel h2{margin:0;font-size:1.08rem}.learning-next-move{border-color:#9bb9ba}.learning-move-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.learning-move-card p{color:#617184;margin:5px 0 0}.learning-item-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.learning-item-list li{border:1px solid #e1e8ef;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.learning-item-list li>div:nth-child(2),.learning-item-meta{gap:4px;display:grid}.learning-item-list li>div:nth-child(2) span,.learning-item-meta{color:#647488;font-size:.88rem}.learning-item-status{color:#7b8c9f}.learning-item-status.status-completed{color:#27806d}.learning-item-meta{justify-items:end}.learning-item-meta time{align-items:center;gap:4px;display:flex}.learning-evidence-card{background:#f3f8f6;border-radius:14px;gap:8px;padding:18px;display:grid}.learning-evidence-card p{overflow-wrap:anywhere;margin:0}.learning-evidence-card span,.learning-evidence-card time{color:#627568;font-size:.9rem}@media (width<=820px){.learning-overview-grid{grid-template-columns:1fr;padding:0 16px 24px}.learning-overview-hero{flex-direction:column;align-items:stretch;padding:20px}.learning-progress{width:fit-content}.learning-item-list li{grid-template-columns:auto minmax(0,1fr)}.learning-item-meta{grid-column:2;justify-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
