/* Assistant toolbox only: one continuous card grid with task filters. */
#assistantView .assistant-page:has(#assistantHubPanel:not([hidden])){margin:0 auto;padding-bottom:24px}
#assistantHubPanel{--hub-width:1440px;container-name:assistant-toolbox;container-type:inline-size;padding:20px clamp(12px,2.2vw,32px) 24px}
#assistantHubPanel .assistant-hub-hero{max-width:var(--hub-width);margin:0 auto 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;text-align:left}
#assistantHubPanel .assistant-hub-intro{min-width:0}
#assistantHubPanel .assistant-hub-kicker{font-size:9px;letter-spacing:.12em;margin-bottom:9px}
#assistantHubPanel .assistant-hub-hero h2{font-size:clamp(23px,2.2vw,30px);line-height:1.35;letter-spacing:-.035em}
#assistantHubPanel .assistant-hub-hero p{font-size:12px;line-height:1.7;margin:8px 0 0;color:var(--muted)}
#assistantHubPanel .assistant-hub-search{display:flex;align-items:center;gap:10px;flex:0 1 340px;min-width:240px;padding:13px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--muted);box-shadow:0 3px 12px color-mix(in srgb,var(--primary) 3%,transparent);transition:border-color .16s,box-shadow .16s}
#assistantHubPanel .assistant-hub-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}
#assistantHubPanel .assistant-hub-search .ui-icon{width:18px;height:18px;flex:none}
#assistantHubPanel .assistant-hub-search input{width:100%;min-width:0;border:0;outline:0;box-shadow:none;font:inherit;font-size:12px;background:transparent;color:var(--text)}
#assistantHubPanel .assistant-hub-search input::placeholder{color:var(--muted)}
#assistantHubPanel .assistant-hub-toolbar{max-width:var(--hub-width);margin:0 auto 18px;padding-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border)}
#assistantHubPanel .assistant-hub-categories{min-width:0;display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;padding:4px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}
#assistantHubPanel .assistant-hub-categories::-webkit-scrollbar{display:none}
#assistantHubPanel .assistant-hub-categories button{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;white-space:nowrap;transition:background .16s,color .16s,border-color .16s}
#assistantHubPanel .assistant-hub-categories button span{font-size:10px;font-variant-numeric:tabular-nums;opacity:.8}
#assistantHubPanel .assistant-hub-categories button[aria-pressed="true"]{border-color:var(--border);background:var(--surface);color:var(--primary);font-weight:700;box-shadow:0 2px 5px color-mix(in srgb,var(--primary) 6%,transparent)}
#assistantHubPanel .assistant-hub-categories button:hover{color:var(--primary);background:var(--surface-3)}
#assistantHubPanel .assistant-hub-categories button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
#assistantHubPanel .assistant-hub-results{flex:none;margin:0;font-size:10px;color:var(--muted);white-space:nowrap}
#assistantHubPanel .assistant-hub-groups{max-width:var(--hub-width);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,236px),1fr));gap:16px;align-items:stretch}
#assistantHubPanel .assistant-tool-group,#assistantHubPanel .assistant-tool-grid{display:contents}
#assistantHubPanel .assistant-group-heading{display:none}
#assistantHubPanel .assistant-tool-card{position:relative;min-width:0;width:100%;height:220px;min-height:0;display:flex;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid color-mix(in srgb,var(--tool-accent) 22%,var(--border));border-radius:18px;background:linear-gradient(150deg,var(--surface) 45%,color-mix(in srgb,var(--tool-soft) 58%,var(--surface)));color:var(--text);box-shadow:0 4px 18px color-mix(in srgb,var(--primary) 4%,transparent);transition:transform .18s,border-color .18s,box-shadow .18s}
#assistantHubPanel .assistant-tool-card.lesson-design{--tool-accent:#447b61;--tool-soft:#eaf5ee}
#assistantHubPanel .assistant-tool-card.worksheet{--tool-accent:#527fad;--tool-soft:#eaf1fc}
#assistantHubPanel .assistant-tool-card.textbook{--tool-accent:#aa7937;--tool-soft:#fbf2e2}
#assistantHubPanel .assistant-tool-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tool-accent) 50%,var(--border));box-shadow:0 12px 28px color-mix(in srgb,var(--tool-accent) 11%,transparent)}
#assistantHubPanel .assistant-tool-card:focus-visible{outline:3px solid color-mix(in srgb,var(--tool-accent) 38%,transparent);outline-offset:3px}
#assistantHubPanel .assistant-tool-card::after{width:110px;height:110px;right:-42px;bottom:-59px;background:color-mix(in srgb,var(--tool-accent) 8%,transparent)}
#assistantHubPanel .assistant-tool-card-category{position:absolute;right:18px;top:22px;padding:4px 7px;border-radius:6px;font-size:9px;line-height:1.4;color:var(--tool-accent);background:color-mix(in srgb,var(--tool-soft) 56%,var(--surface));white-space:nowrap}
#assistantHubPanel .assistant-tool-card-icon{width:42px;height:42px;flex:none;border-radius:12px;margin:0 0 14px;background:color-mix(in srgb,var(--tool-accent) 12%,var(--surface));color:var(--tool-accent)}
#assistantHubPanel .assistant-tool-card-icon .ui-icon{width:21px;height:21px}
#assistantHubPanel .assistant-tool-card-copy{width:100%;min-width:0}
#assistantHubPanel .assistant-tool-card-copy strong{font-size:16px;line-height:1.4;letter-spacing:-.02em}
#assistantHubPanel .assistant-tool-card-copy span{font-size:11px;line-height:1.7;margin-top:7px;overflow-wrap:anywhere}
#assistantHubPanel .assistant-tool-card-meta{width:100%;justify-content:space-between;margin-top:auto;padding-top:12px;font-size:10px;font-weight:650;line-height:1.4}
#assistantHubPanel .assistant-tool-card-meta::after{display:grid;place-items:center;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--tool-accent) 12%,transparent);border-radius:50%;font-size:15px;background:color-mix(in srgb,var(--surface) 65%,transparent);transition:transform .18s}
#assistantHubPanel .assistant-tool-card:hover .assistant-tool-card-meta::after{transform:translateX(2px)}
#assistantHubPanel .assistant-tool-card[hidden],#assistantHubPanel .assistant-tool-group[hidden]{display:none!important}
#assistantHubPanel .assistant-hub-note{max-width:var(--hub-width);margin:20px auto 0;padding:0;color:var(--muted);font-size:10px;text-align:left;line-height:1.7}
#assistantHubPanel .assistant-hub-empty{max-width:var(--hub-width);margin:0 auto;padding:46px 20px;border:1px dashed var(--border);border-radius:18px;text-align:center;color:var(--text);background:var(--surface)}
#assistantHubPanel .assistant-hub-empty p{color:var(--muted);font-size:12px;line-height:1.8;margin:10px 0 18px}
@container assistant-toolbox (max-width:850px){#assistantHubPanel .assistant-hub-toolbar{flex-wrap:wrap}#assistantHubPanel .assistant-hub-results{white-space:normal}#assistantHubPanel .assistant-hub-search{flex-basis:270px;min-width:210px}}
@media(max-width:980px){#assistantHubPanel .assistant-hub-hero{gap:18px}#assistantHubPanel .assistant-hub-toolbar{flex-wrap:wrap}}
@media(max-width:620px){
 #assistantHubPanel{padding:14px 6px 22px}
 #assistantHubPanel .assistant-hub-hero{display:block;padding:0;margin-bottom:16px}
 #assistantHubPanel .assistant-hub-kicker{font-size:8px;margin-bottom:7px}
 #assistantHubPanel .assistant-hub-hero h2{font-size:23px}
 #assistantHubPanel .assistant-hub-hero p{font-size:11px;margin-top:7px}
 #assistantHubPanel .assistant-hub-search{min-width:0;max-width:none;margin-top:16px;padding:12px;border-radius:12px}
 #assistantHubPanel .assistant-hub-search input{font-size:16px}
 #assistantHubPanel .assistant-hub-toolbar{display:block;margin-bottom:14px;padding-bottom:13px}
 #assistantHubPanel .assistant-hub-categories{gap:2px;padding:3px;border-radius:11px}
 #assistantHubPanel .assistant-hub-categories button{font-size:11px;padding:8px 9px;min-height:38px;gap:5px}
 #assistantHubPanel .assistant-hub-results{margin-top:10px;font-size:10px}
 #assistantHubPanel .assistant-hub-groups{grid-template-columns:1fr;gap:12px}
 #assistantHubPanel .assistant-tool-card{height:154px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:1fr auto;gap:0 14px;padding:17px;border-radius:16px}
 #assistantHubPanel .assistant-tool-card-icon{width:42px;height:42px;grid-column:1;grid-row:1/3;align-self:start;margin:0}
 #assistantHubPanel .assistant-tool-card-category{top:17px;right:17px;font-size:8px;padding:3px 6px}
 #assistantHubPanel .assistant-tool-card-copy{grid-column:2;grid-row:1}
 #assistantHubPanel .assistant-tool-card-copy strong{font-size:15px;padding-right:62px}
 #assistantHubPanel .assistant-tool-card-copy span{font-size:11px;line-height:1.7;margin-top:8px}
 #assistantHubPanel .assistant-tool-card-meta{grid-column:2;grid-row:2;padding-top:9px}
 #assistantHubPanel .assistant-hub-note{margin-top:16px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){#assistantHubPanel .assistant-tool-card,#assistantHubPanel .assistant-tool-card-meta::after,#assistantHubPanel .assistant-hub-categories button{transition:none}#assistantHubPanel .assistant-tool-card:hover{transform:none}}

/* The reader uses the browser viewport instead of a nested tool canvas. */
body.textbook-reading{overflow:hidden}
body.textbook-reading #assistantTextbookFrame{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1000;background:var(--bg)}
@media print{body.textbook-reading #assistantTextbookFrame{position:static}}
body.textbook-reading #assistantTextbookPanel{transform:none!important;will-change:auto!important;animation:none!important}
body.textbook-reading .assistant-main,body.textbook-reading .assistant-mode-stage{isolation:auto!important}
