/* Shared interaction and presentation layer for Learning Hub and parent tools. */
.learning-shell :where(a,button,summary,select,input){transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
.learning-shell :where(a,button,summary,select,input):focus-visible{outline:3px solid #8146de;outline-offset:4px}
.learning-shell :where(button,summary,select){cursor:pointer}
.learning-shell :where(button:disabled){cursor:not-allowed;opacity:.55}
.learning-shell :where(button:not(:disabled),a,summary):active{filter:brightness(.9)}
.learning-shell .level-switch{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:900px;gap:8px}
.learning-shell .level-switch a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 8px;text-align:center;font-weight:600;white-space:nowrap}
.learning-shell .level-switch a[aria-current=page]{font-weight:600}
.learning-shell .topic-rail,.learning-shell .section-rail{position:static;top:auto;align-self:start}
.learning-shell .topic-rail nav a,.learning-shell .section-rail nav button{font-weight:500}
.learning-shell .topic-rail nav a.active,.learning-shell .section-rail nav button.active{font-weight:500}
.learning-shell .reading-column details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:48px;padding:13px 16px;border:1px solid #e4d9f1;border-radius:10px;background:#faf7fe;color:#7541bc;font-size:16px;font-weight:600;line-height:1.5}
.learning-shell .reading-column details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary::-webkit-details-marker{display:none}
.learning-shell .reading-column details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary::marker{content:''}
.learning-shell details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary::after{content:'';display:block;flex:0 0 8px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .16s ease;margin:0 4px 4px 8px}
.learning-shell details[open]:not(.p2-sh-solid-card):not(.t6-shape-card)>summary::after{transform:rotate(225deg);margin-top:5px}
.learning-shell .school-location-picker summary::after{display:none!important}
.learning-shell details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
.learning-shell details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary::-webkit-details-marker{display:none}
.learning-shell .reading-column details[open]:not(.p2-sh-solid-card):not(.t6-shape-card)>summary{background:#f0e7fc;border-color:#d2b8ed;margin-bottom:14px}
.learning-shell .reading-column a.primary,.learning-shell .lesson-footer button.primary,.learning-shell .guide-controls .guide-next{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 20px;border:1px solid #8146de;border-radius:10px;background:#8146de;color:#fff!important;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none}
.learning-shell .lesson-footer button.secondary,.learning-shell .guide-controls .guide-prev,.learning-shell .guide-controls .guide-restart{min-height:46px;padding:11px 20px;border:1px solid #d5c4e9;border-radius:10px;background:white;color:#6832ac;font-weight:600}
.learning-shell .reading-column a.primary{margin-top:12px}
.learning-shell form[aria-busy=true] button[type=submit],.learning-shell button[aria-busy=true]{cursor:wait}
.learning-shell+.footer-v5{border-top:1px solid #e4d9ee;background:#fff;margin-top:48px}
.learning-shell .filter-panel select,.learning-shell .results-heading select,.learning-shell .subject-value select,.learning-shell select.subject-level,.learning-shell .mobile-topics select,.learning-shell .compact-ideas select{appearance:none;min-height:48px;padding:11px 44px 11px 14px;border:1px solid #dcd3e5;border-radius:10px;background-color:white;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b5d7c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:#292531;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;box-shadow:0 1px 2px #29253104}
.learning-shell .save-button{display:inline-flex;align-items:center;justify-content:center;min-width:84px;min-height:44px;padding:9px 12px;white-space:nowrap;word-break:normal;overflow-wrap:normal;border:1px solid #dccbea;border-radius:10px;background:#fff;color:#7139bd;font-weight:600}
.learning-shell .save-button.is-saved{background:#ede3fb;border-color:#c6a5e9;color:#6531a6}
.learning-shell .dsa-card-footer{display:grid;grid-template-columns:1fr;gap:8px;padding-top:20px;border-top:1px solid #d7e6dc}
.learning-shell .dsa-card-footer span{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dfeae3;border-radius:10px;background:#ffffffb3;font-size:15px;line-height:1.4}
.learning-shell .dsa-card-footer span::before{content:'✓';display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#e1eee5;color:#39694f;font-size:13px;font-weight:700}
@media(hover:hover){
 .learning-shell .topic-rail nav a:hover{text-decoration:none}
 .learning-shell a:hover,.learning-shell summary:hover{filter:brightness(.94)}
 .learning-shell a:not([class]):hover{text-decoration:underline;text-underline-offset:4px}
 .learning-shell .p2-sh-solid-card:hover,.learning-shell .t6-shape-card:hover{border-color:#b994dd;box-shadow:0 4px 14px #7139bd0c}
 .learning-shell :where(button:not(:disabled)):hover{filter:brightness(.96)}
 .learning-shell .level-switch a:hover,.learning-shell .topic-rail nav a:hover,.learning-shell .section-rail nav button:hover{background:#eee3fc;color:#7139bd;border-color:#c6a5e9}
 .learning-shell .topic-card:hover{background:#fcf9ff;border-color:#ad82dc;box-shadow:0 6px 18px #7139bd0c}
 .learning-shell details:not(.p2-sh-solid-card):not(.t6-shape-card)>summary:hover{background:#f0e7fc;color:#6832ac}
 .learning-shell .reading-column a.primary:hover,.learning-shell .lesson-footer button.primary:hover,.learning-shell .guide-controls .guide-next:hover{background:#6c30c2;border-color:#6c30c2}
 .learning-shell .lesson-footer button.secondary:hover,.learning-shell .guide-controls .guide-prev:hover,.learning-shell .guide-controls .guide-restart:hover,.learning-shell .save-button:hover{background:#f2eafa;border-color:#b994dd;color:#592693}
 .learning-shell :where(select):hover{border-color:#b994dd}
}
@supports(appearance:base-select){
 .learning-shell .filter-panel select,.learning-shell .results-heading select,.learning-shell .subject-value select,.learning-shell select.subject-level,.learning-shell .mobile-topics select,.learning-shell .compact-ideas select{appearance:base-select}
 .learning-shell select::picker(select){appearance:base-select;padding:6px;border:1px solid #d8c7ed;border-radius:12px;background:white;box-shadow:0 12px 32px #35244820;font-family:inherit}
 .learning-shell select::picker-icon{display:none}
 .learning-shell select option{padding:10px 12px;border-radius:7px;min-height:42px;line-height:1.5;color:#392c48}
 .learning-shell select option:checked{background:#f0e7fc;color:#7139bd;font-weight:600}
 .learning-shell select option:hover{background:#f6f0fc}
}
@media(max-width:600px){.learning-shell .level-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.learning-shell .level-switch a{font-size:14px;padding-inline:6px}.learning-shell .dsa-card-footer span{font-size:15px}.learning-shell .reading-column a.primary{max-width:100%;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.learning-shell :where(a,button,summary,select,input){transition:none}}

/* Reserve space for the button plus cell padding in the fixed-layout results table. */
@media(min-width:601px){.learning-shell .schools-table th:last-child,.learning-shell .schools-table td:last-child{width:116px}}
