/* Shared learning surfaces, tuned for the existing Gamal identity. */
:root{--learn-accent:#0c5263;--learn-tint:#e9f3f2;--learn-orange:#e9a758;--learn-border:var(--line);color-scheme:light}
.learn-stack{display:grid;gap:16px;align-content:start}.learn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin-block:20px}.learn-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:24px;align-items:start}.learn-card{display:block;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px;box-shadow:0 3px 14px #0c2d4a04}.learn-stack>.learn-card,.learn-grid>.learn-card{margin:0}.learn-card h2{font-size:22px;margin-bottom:16px}.learn-card h3{font-size:18px;margin:10px 0}.learn-card p{line-height:1.9;margin:10px 0;color:var(--ink-2);overflow-wrap:anywhere}.learn-card small,.learn-muted{color:var(--muted)}.learn-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.learn-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;background:var(--brand-soft);border-radius:20px;font-size:12px;font-weight:600;color:var(--ink-2);width:fit-content}.learn-badge.is-good{background:#e9f5ee;color:#24603f}.learn-kicker{font-size:12px;font-weight:700;letter-spacing:.5px;display:block;color:var(--learn-accent);margin-bottom:10px}.learn-hero{display:flex;gap:24px;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#eaf4f3,#faf4e9);border:1px solid #dce6e5;border-radius:24px;padding:32px;margin-bottom:26px}.learn-hero h2{font-size:28px;line-height:1.6;margin:0 0 8px}.learn-hero p{max-width:630px;color:#52636a;line-height:1.9}.learn-hero>svg{width:72px;height:72px;color:#0c5263;stroke-width:1.1}.learn-avatar{height:70px;width:70px;display:grid;place-items:center;border-radius:22px;background:#0c2d4a;color:#fff;font-size:30px;flex-shrink:0}.learn-score{font-size:38px;color:#0c2d4a}.learn-score small{display:block;font-size:12px}.learn-heading{font-size:23px;margin:28px 0 16px}.learn-form{display:grid;gap:18px}.learn-form-card{max-width:780px}.learn-field{display:grid;gap:7px;min-width:0}.learn-field>label,.learn-form>label{font-weight:600;font-size:14px;display:grid;gap:8px}.learn-field>label span{color:#a6372d}.learn-field small{font-size:12px;font-weight:400;line-height:1.7}.learn-form input:not([type=checkbox]):not([type=radio]),.learn-form select,.learn-form textarea,.learn-filter input,.learn-filter select,.learn-inline-form input,.learn-inline-form select,.learn-inline-form textarea,.learn-top-search input{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card);color:var(--ink);width:100%;outline-offset:3px;max-width:100%}.learn-field ul{list-style:none;margin:0;padding:0}.learn-field .errorlist,.learn-form>.errorlist{list-style:none;padding:10px 14px;color:#a1322d;background:#fdf0ee;border-radius:8px;font-size:13px}.learn-field>div label{display:flex;gap:8px;align-items:center;font-weight:400;padding:5px}.learn-field input[type=checkbox],.learn-field input[type=radio]{accent-color:#0c5263;width:18px;height:18px}.learn-field--check{display:flex;align-items:center;gap:12px}.learn-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:16px}.learn-actions form{display:inline-flex;gap:8px}.learn-filter,.learn-inline-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-block:16px}.learn-filter input{flex:1;min-width:200px}.learn-filter select{width:auto;max-width:250px}.learn-inline-form>input{flex:1;min-width:180px}.learn-inline-form label{display:flex;align-items:center;gap:10px}.learn-inline-form label input{width:90px}.learn-tabs{display:flex;gap:8px;margin-block:0 24px;flex-wrap:wrap}.learn-tabs a{padding:8px 16px;border:1px solid var(--line);border-radius:30px;color:var(--ink-2);font-size:13px}.learn-tabs .is-active{background:#0c2d4a;color:#fff;border-color:#0c2d4a}.learn-link{color:var(--learn-accent);font-weight:600;display:inline-block;margin-top:12px}.learn-empty{padding:54px 24px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted);grid-column:1/-1}.learn-empty h3{font-size:20px;color:var(--ink);margin:15px 0 8px}.learn-empty svg{width:38px;height:38px;color:var(--learn-accent);margin:auto}.learn-file-icon{width:58px;height:66px;border-radius:12px;background:var(--learn-tint);color:var(--learn-accent);display:grid;place-items:center;margin-bottom:16px;padding:10px;font-size:10px;font-weight:700}.learn-file-icon svg{width:24px;height:24px}.learn-date{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-block:14px;font-size:13px}.learn-date-tile{background:var(--learn-tint);color:var(--learn-accent);border-radius:14px;text-align:center;padding:14px 22px;min-width:84px}.learn-date-tile b{display:block;font-size:32px;line-height:1.2}.learn-schedule{display:flex;gap:24px;align-items:center}.learn-alert{padding:12px 16px;background:#fff4df;border-radius:10px;color:#795217}.learn-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}.learn-details dt{font-size:12px;color:var(--muted)}.learn-details dd{margin:5px 0;font-size:16px}.learn-table-wrap{overflow-x:auto}.learn-table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}.learn-table th,.learn-table td{text-align:start;padding:14px;border-bottom:1px solid var(--line)}.learn-table th{font-size:12px;font-weight:500;color:var(--muted)}.learn-notification{display:flex;justify-content:space-between;gap:20px}.learn-notification.is-unread{border-inline-start:4px solid var(--learn-accent)}.learn-counter{margin-inline-start:auto;background:#e9a758;color:#0c2d4a;padding:0 6px;border-radius:6px;font-size:11px}.learn-top-search{display:flex;max-width:260px;gap:4px;align-items:center}.learn-top-search input{min-height:36px;font-size:12px}.learn-notify-btn{position:relative}.learn-notify-btn b{position:absolute;top:-3px;right:-3px;font-size:9px;border-radius:5px;background:#e9a758;padding:0 4px;color:#0c2d4a}.learn-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:28px 0}.learn-question-image{max-height:220px;max-width:100%;object-fit:contain;margin:16px 0}.learn-options{display:grid;gap:10px;margin:18px 0}.learn-option{padding:16px;border:1px solid var(--line);display:flex;gap:12px;border-radius:10px;align-items:center}.learn-option:has(input:checked){border-color:#0c5263;background:var(--learn-tint)}.learn-option.is-good{background:#e9f5ee;border-color:#8ebda4;color:#24603f}.learn-option input{accent-color:#0c5263}.learn-metric{display:flex;gap:12px;align-items:baseline;padding-block:12px}.learn-metric strong{font-size:34px;color:var(--ink)}progress{appearance:none;width:100%;height:8px;border:none;border-radius:5px;overflow:hidden;background:var(--brand-soft)}progress::-webkit-progress-bar{background:var(--brand-soft)}progress::-webkit-progress-value{background:#0c5263;border-radius:5px}progress::-moz-progress-bar{background:#0c5263}.learn-hard-question{border-bottom:1px solid var(--line);padding-block:15px}.learn-hard-question h3{font-size:14px}.learn-stats .learn-card{display:grid;gap:10px}.learn-stats strong{font-size:34px}.learn-chart{display:flex;gap:12px;height:200px;align-items:end;overflow:auto;margin:30px 0 40px;padding-top:22px;direction:ltr}.learn-chart-col{height:100%;flex:1;min-width:30px;max-width:80px;position:relative;display:flex;align-items:center;justify-content:end;flex-direction:column}.learn-chart-bar{min-height:2px;background:linear-gradient(#237080,#0c2d4a);width:75%;border-radius:7px 7px 0 0}.learn-chart-col b{font-size:11px}.learn-chart-col small{position:absolute;bottom:-24px}.learn-rank{display:flex;align-items:center;gap:18px;padding:17px 10px;border-bottom:1px solid var(--line)}.learn-rank>span{color:var(--muted);font-size:18px}.learn-rank strong{margin-inline-start:auto;font-size:13px;color:var(--learn-accent)}.learn-rank.is-me{background:var(--learn-tint);border-radius:10px}.learn-dialog{border:1px solid var(--line);border-radius:24px;padding:32px;max-width:520px;width:calc(100% - 40px);background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.learn-dialog::backdrop{background:#0c2d4a88;backdrop-filter:blur(3px)}.learn-dialog h2{margin:15px 0}.learn-dialog p{margin:15px 0;line-height:1.9}.learn-dashboard-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.learn-notices{margin-bottom:20px}.sidebar__nav{overflow:auto}.sidebar__footer form{width:100%}.sidebar__footer button.nav-link{background:none;border:none;width:100%;font:inherit;text-align:start;cursor:pointer}.sidebar{max-height:100dvh}.dash-main{min-width:0}.topbar__title h1{line-height:1.6}.topbar__actions{flex-shrink:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e9a758;outline-offset:3px}.learn-logout{background:none;border:0;cursor:pointer;color:inherit;font:inherit}.au .learn-form{margin-top:25px}.au .learn-field{font-size:14px}.au .learn-form .btn{padding:13px}.learn-register-courses{display:grid;gap:8px}
html[data-theme=dark]{color-scheme:dark;--bg:#101a24;--card:#182632;--ink:#edf3f6;--ink-2:#bdccd4;--muted:#91a7b3;--line:#334754;--brand-soft:#263c4b;--learn-tint:#203f49;--learn-accent:#88cbd0;--brand:#cce7e8}html[data-theme=dark] body,html[data-theme=dark] .dash-main,html[data-theme=dark] .topbar,html[data-theme=dark] .sidebar{background:var(--bg);color:var(--ink)}html[data-theme=dark] .sidebar{border-color:var(--line)}html[data-theme=dark] .learn-card,html[data-theme=dark] .card{background:var(--card);color:var(--ink)}html[data-theme=dark] .learn-hero{background:linear-gradient(120deg,#18313a,#2b302d);border-color:var(--line)}html[data-theme=dark] .learn-hero p,html[data-theme=dark] .learn-score{color:var(--ink-2)}html[data-theme=dark] .learn-kicker{color:#88cbd0}html[data-theme=dark] .btn{color:var(--ink);border-color:var(--line)}html[data-theme=dark] .btn--primary{background:#a9d3d6;color:#102b36;border-color:#a9d3d6}html[data-theme=dark] .learn-badge.is-good{background:#1d4234;color:#a1dcb8}html[data-theme=dark] .learn-alert{background:#443a25;color:#f4d69c}html[data-theme=dark] .nav-link{color:var(--ink-2)}html[data-theme=dark] .nav-link.is-active{background:#254454;color:#fff}html[data-theme=dark] .learn-field .errorlist{background:#452b2c;color:#f6bab5}
@media(max-width:1100px){.learn-top-search{display:none}.learn-split{grid-template-columns:1fr 1fr}.learn-row{flex-wrap:wrap}}
@media(max-width:760px){.learn-split{grid-template-columns:1fr}.learn-card{padding:20px;border-radius:14px}.learn-hero{padding:24px;gap:15px;flex-wrap:wrap}.learn-hero h2{font-size:23px}.learn-hero>svg{display:none}.learn-schedule{gap:14px}.learn-grid{gap:14px}.learn-hero .learn-score{font-size:30px}.learn-filter select{max-width:none;width:100%}.learn-filter input{min-width:0}.learn-notification{flex-direction:column}.learn-inline-form label{flex-wrap:wrap}.learn-inline-form>input{min-width:0}.topbar{gap:8px}.topbar__title h1{font-size:18px}.topbar__title p{font-size:11px}.topbar__actions{gap:6px}.topbar__actions .avatar{display:none}.learn-details{grid-template-columns:1fr 1fr}.learn-options label{font-size:14px}}
@media print{.sidebar,.topbar,.learn-actions,button{display:none!important}.dash-main{margin:0!important}.dash-content{padding:0!important}.learn-card{break-inside:avoid;box-shadow:none}.learn-chart{overflow:visible}.learn-split{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Theme variables must override the original page-level palette as well as :root. */
html[data-theme=dark] body.g{--bg:#101a24;--card:#182632;--ink:#edf3f6;--ink-2:#bdccd4;--muted:#91a7b3;--line:#334754;--brand-soft:#263c4b;--learn-tint:#203f49;--learn-accent:#88cbd0;--brand:#cce7e8;--navy:#bddee5;--navy-2:#a2c5d2;--burg:#dec2cb;--orange-soft:#3d2b37;--purple-soft:#243d50;--yellow-soft:#263f4e}
html[data-theme=dark] .g :is(.stat,.qa,.tq,.toolbar input,.toolbar select,.pfield input,.pfield select,.pfield textarea,.pfield--check,.icon-btn,.ls-top,.ls-card,.cd-box,.cd-plan,.cd-code,.cd-file,.cd-lec,.course-card,.ls-unit,.ls-tab,.cd-tab,.ls-icon-btn){background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .g :is(.list__body strong,.pl__title,.pfield>label,.ls-h2,.ls-h3,.cd-title,.card__head h2,.sidebar__brand){color:var(--ink)}
html[data-theme=dark] .g :is(.learn-badge,.pill,.chip-tag){background:var(--brand-soft);color:var(--ink-2)}
html[data-theme=dark] .g .btn--primary{background:#a9d3d6;color:#102b36;border-color:#a9d3d6}
html[data-theme=dark] .g .btn--navy{background:#25485b;color:#fff;border-color:#376179}
html[data-theme=dark] .g .learn-option.is-good{background:#1d4234;color:#b8e4c8}
html[data-theme=dark] .g .tq__choice{background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .g .tq__choice.is-right{background:#1d4234;color:#b8e4c8}
html[data-theme=dark] .g .tq__choice.is-wrong{background:#482d32;color:#efb8c0}
.learn-field>label{display:block}
@media(max-width:760px){.ls-top__icons{gap:6px}.ls-top__icons .ls-code-btn,.ls-top__icons a[aria-label="مكالماتي"],.ls-top__icons .ls-avatar{display:none}.ls-top__inner{gap:10px}.ls-top .g-logo{font-size:16px}.ls-top .g-camel{height:28px}.ls-top .ls-icon-btn{height:30px;width:30px}}
html[data-theme=dark] .g .btn{background:var(--card)}
html[data-theme=dark] .g .btn--primary{background:#a9d3d6;color:#102b36}
html[data-theme=dark] .g .btn--navy{background:#25485b;color:#fff}
html[data-theme=dark] body.g{--cream:var(--bg);--purple:#b4d4df;--orange:#e3b6c3;--yellow:#b5ccdc}
html[data-theme=dark] .g :is(.ct-filter,.ct-card,.ct-filter__head,.cd-unit,.cd-teacher,.cd-includes,.ls-answer,.ls-question,.ls-file,.sf,.ls-react){background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .g :is(.ct-hero p,.ct-check,.ct-range small,.cd-description,.cd-desc,.ls-text,.sf p,.sf ul){color:var(--ink-2)}
html[data-theme=dark] .g :is(.ct-search input,.ct-card__body,.ct-group summary,.ct-filter__head b){color:var(--ink)}
html[data-theme=dark] .g :is(.ct-card__level,.ct-card__state,.ct-check em,.ct-range output,.cd-unit__num){background:#294a5b;color:#eaf3f5}
html[data-theme=dark] .g .ct-search{border-color:var(--line)}
html[data-theme=dark] .g .ct-group{border-color:var(--line)}
