/* New learning tools follow the original pastel/outlined visual language. */
.lh-tabs,.lh-actions { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.lh-tabs button,.lh-button { font-weight:700; font-size:.9em; font-family:inherit; cursor:pointer; border:2px solid var(--border-color); border-radius:10px; padding:9px 13px; background:white; color:var(--text-main); }
.lh-tabs button[aria-selected=true],.lh-button.primary { background:var(--accent-yellow); box-shadow:3px 3px 0 var(--border-color); }
.lh-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; margin:16px 0; }
.lh-card { border:2px solid var(--border-color); border-radius:14px; padding:16px; background:white; overflow-wrap:anywhere; }
.lh-card h3,.lh-card h4 { margin-bottom:10px; }
.lh-muted { color:var(--text-muted); font-size:.88em; line-height:1.65; }
.lh-fields { display:flex; gap:12px; flex-wrap:wrap; align-items:end; margin:12px 0; }
.lh-fields label { flex:1 1 180px; display:grid; gap:6px; font-size:.9em; }
.lh-fields input,.lh-fields select,.lh-fields textarea,.lh-textarea { font:inherit; width:100%; padding:10px; border:2px solid var(--border-color); border-radius:10px; background:white; min-width:0; }
.lh-textarea { min-height:130px; line-height:1.7; }
.lh-card blockquote { border-left:4px solid var(--accent-purple); padding:10px; margin:8px 0; white-space:pre-wrap; }
.lh-card pre,.lh-preserve { white-space:pre-wrap; font:inherit; line-height:1.8; }
.lh-model-card { display:flex;flex-direction:column;gap:10px;border:2.5px solid var(--border-color);box-shadow:3px 3px 0 var(--border-color); }
.lh-model-card .lh-button { align-self:flex-start;margin-top:auto; }
.lh-model-card p { line-height:1.7; }
.lh-model-action { margin:16px 0;padding:14px;border:2px dashed var(--border-color);border-radius:12px;background:#fff8e6; }
.lh-model-action p { margin-top:10px; }
.lh-model-detail { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px; }
.lh-model-detail section { min-width:0;overflow-wrap:anywhere; }
.lh-model-detail h3 { margin-bottom:12px; }
.lh-model-image { display:block;width:100%;height:auto;margin-top:16px;border:2px solid var(--border-color);border-radius:12px; }
.lh-model-dialog { background:var(--bg-card);border:3px solid var(--border-color);border-radius:20px;box-shadow:6px 6px 0 var(--border-color); }
.lh-model-dialog .fb-dialog-head { background:var(--accent-yellow);border-bottom:2px solid var(--border-color); }
.lh-model-dialog .fb-close { background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-main); }
@media(max-width:750px) { .lh-model-detail { grid-template-columns:1fr; } }
.lh-banner { padding:12px; border:2px solid var(--border-color); border-radius:12px; background:var(--accent-yellow); margin:12px 0; }
.lh-status { min-height:1.5em; font-size:.88em; overflow-wrap:anywhere; }
.lh-badge { display:inline-block; font-size:.78em; background:var(--accent-sky); padding:4px 8px; border-radius:8px; margin:3px; }
.lh-writing-tools { margin:16px 0; }
.lh-writing-tools summary { cursor:pointer; font-weight:800; margin-bottom:10px; }
.lh-checks label { display:block; margin:8px 0; }
.lh-workspace { --lh-font:18px; }
.lh-workspace .module-textarea,.lh-prompt-column { font-size:var(--lh-font); line-height:1.8; }
.lh-font-controls { display:flex;justify-content:flex-end;gap:6px;margin:14px 0; }
.lh-font-controls button { min-width:42px;min-height:40px;padding:6px 10px;font:inherit;font-weight:800;color:var(--text-main);background:var(--accent-yellow);border:2px solid var(--border-color);border-radius:10px;box-shadow:2px 2px 0 var(--border-color);cursor:pointer; }
.lh-font-controls button:hover:not(:disabled) { background:#fde68a; }
.lh-font-controls button:disabled,.ft-ic:disabled { opacity:.45;cursor:not-allowed; }
.lh-split { display:grid; grid-template-columns:minmax(0,var(--lh-column,50%)) minmax(0,1fr); gap:20px; align-items:start; }
.lh-split-resizable { grid-template-columns:minmax(0,calc(var(--lh-column,50%) - 8px)) 16px minmax(0,1fr);gap:0; }
.lh-split-resizable .lh-prompt-column { padding-right:12px; }
.lh-split-resizable .lh-answer-column { padding-left:12px; }
.lh-split>div { min-width:0; }
.lh-split .module-textarea { min-height:max(500px,70vh) !important;height:74vh; }
.lh-split .chart-img { width:100%;max-width:none;height:auto; }
.lh-image-dialog img { display:block; max-width:100%; height:auto; }
@media(max-width:1000px) { .lh-split { display:block; } .lh-splitter { display:none; } .lh-split-resizable .lh-prompt-column,.lh-split-resizable .lh-answer-column { padding:0; } }
aside .nav-group { overflow-y:auto; min-height:0; }
aside .nav-cluster-btn[hidden],aside .nav-cluster-body[hidden] { display:none!important; }
/* Accordion navigation uses the site's original yellow, dark outlines and shadows. */
aside .nav-group { gap:9px;padding:2px 5px 7px 1px; }
aside .nav-cluster-btn { background:var(--accent-yellow);color:var(--text-main);border:2.5px solid var(--border-color);border-radius:14px;box-shadow:3px 3px 0 var(--border-color);margin:0;padding:11px 12px;min-height:44px; }
aside .nav-cluster-btn:hover { background:#fde68a;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--border-color); }
aside .nav-cluster-btn.active-cluster { background:var(--accent-yellow);color:var(--text-main); }
aside .nav-cluster-body { gap:8px;padding:3px 0 8px 9px;margin:1px 0 3px 12px;border-left:2px dashed var(--border-color); }
#appContainer aside .nav-group .nav-btn { gap:8px;border:2px solid var(--border-color) !important;border-radius:11px !important;background:var(--bg-card) !important;box-shadow:2px 2px 0 var(--border-color);padding:9px 12px !important;margin:0;min-height:40px;font-size:.88em; }
#appContainer aside .nav-group .nav-btn:hover { transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border-color);background:#fff4ce !important; }
#appContainer aside .nav-group .nav-btn.active-sub { color:var(--text-main) !important;background:var(--accent-yellow) !important;box-shadow:3px 3px 0 var(--border-color); }
.nav-btn.lh-notification-button { flex:0 0 auto;width:auto;align-self:flex-start;white-space:nowrap;background:var(--accent-yellow) !important;border:2px solid var(--border-color) !important;border-radius:11px !important;box-shadow:2px 2px 0 var(--border-color);padding:9px 12px !important;margin:0;font-size:.82em; }
.nav-btn.lh-notification-button.active-sub { background:var(--accent-yellow) !important;color:var(--text-main) !important; }
.nav-btn.lh-notification-button:hover { transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--border-color);background:#fde68a !important; }
@media(max-width:900px) { .nav-btn.lh-notification-button { align-self:flex-end; } }
@media(pointer:coarse) { aside .nav-group .nav-btn,.nav-btn.lh-notification-button { min-height:44px; } }
.lh-question-picker { position:relative;margin:16px 0;font-family:inherit; }
.lh-question-picker>label { display:block;font-weight:700;margin-bottom:6px; }
.lh-question-choices { max-height:300px;overflow:auto;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-card);margin-top:6px; }
.lh-question-option { width:100%;display:grid;gap:6px;text-align:left;padding:12px;border:0;border-bottom:1px solid #d5d5dc;background:white;font:inherit;color:var(--text-main);cursor:pointer; }
.lh-question-option:hover,.lh-question-option:focus { background:#fff4d6; }
.lh-question-option span { font-size:.85em;line-height:1.6; }
.ft-body { grid-template-columns:minmax(0,calc(var(--ft-column,50%) - 8px)) 16px minmax(0,1fr); }
.ft-left { border-right:0; }
.ft-left img { display:block;width:100%;max-width:none;height:auto; }
.lh-splitter,.ft-splitter { --divider-ink:var(--border-color);--divider-handle:#fff4ce;position:relative;align-self:stretch;min-height:240px;cursor:col-resize;touch-action:none;background:transparent; }
.lh-splitter::before,.ft-splitter::before { content:'';position:absolute;top:0;bottom:0;left:7px;width:2px;background:var(--divider-ink);opacity:.35; }
.lh-splitter::after,.ft-splitter::after { content:'⋮';position:absolute;top:min(50%,180px);left:0;width:16px;transform:translateY(-50%);padding:8px 0;text-align:center;line-height:1;color:var(--text-main);background:var(--divider-handle);border:2px solid var(--divider-ink);border-radius:8px; }
.lh-splitter:hover,.lh-splitter:focus-visible,.ft-splitter:hover,.ft-splitter:focus-visible { background:#fcd34d44; }
.lh-splitter:hover::after,.lh-splitter:focus-visible::after,.ft-splitter:hover::after,.ft-splitter:focus-visible::after { background:var(--accent-yellow); }
.ft-resizing,.ft-resizing *,.lh-resizing,.lh-resizing * { user-select:none !important;cursor:col-resize !important; }
.ft-resizing .ft-body { transition:none !important; }
.ft-room.dark .ft-splitter { --divider-ink:#9ca3af;--divider-handle:#fcd34d; }
@media(max-width:800px) { .ft-body { grid-template-columns:1fr !important; } }
@media(max-width:800px) { .ft-splitter { display:none; } }

.writing-question-empty{padding:28px 18px;text-align:center;line-height:1.8;background:#fffaf0;border:2px dashed #c8bea6;border-radius:14px}
.writing-question-empty>span{font-size:1.8rem}.writing-question-empty h4{margin:10px 0;font:inherit;font-weight:900}.writing-question-empty p{color:var(--text-muted);font-size:.9rem;margin:8px 0 18px}
.lh-assigned-entry{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 20px}
.lh-assigned-summary{padding:12px 0;font-size:.9rem;color:var(--text-muted)}
.lh-assigned-list{display:grid;gap:18px}.lh-assigned-card p{overflow-wrap:anywhere;line-height:1.8}.lh-assigned-focus{background:#fff5cd;padding:10px 14px;border-radius:10px}

.ai-panel:has(.writing-question-empty){border:0;padding:0;background:transparent}
