:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: rgb(2.0392156863%, 17.2549019608%, 39.6862745098%);--bs-secondary-text-emphasis: rgb(16.9411764706%, 18.3529411765%, 19.6078431373%);--bs-success-text-emphasis: rgb(3.9215686275%, 21.1764705882%, 13.1764705882%);--bs-info-text-emphasis: rgb(2.0392156863%, 31.6862745098%, 37.6470588235%);--bs-warning-text-emphasis: rgb(40%, 30.2745098039%, 1.0980392157%);--bs-danger-text-emphasis: rgb(34.5098039216%, 8.3137254902%, 10.8235294118%);--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: rgb(81.0196078431%, 88.6274509804%, 99.8431372549%);--bs-secondary-bg-subtle: rgb(88.4705882353%, 89.1764705882%, 89.8039215686%);--bs-success-bg-subtle: rgb(81.9607843137%, 90.5882352941%, 86.5882352941%);--bs-info-bg-subtle: rgb(81.0196078431%, 95.8431372549%, 98.8235294118%);--bs-warning-bg-subtle: rgb(100%, 95.137254902%, 80.5490196078%);--bs-danger-bg-subtle: rgb(97.2549019608%, 84.1568627451%, 85.4117647059%);--bs-light-bg-subtle: rgb(98.6274509804%, 98.8235294118%, 99.0196078431%);--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: rgb(62.0392156863%, 77.2549019608%, 99.6862745098%);--bs-secondary-border-subtle: rgb(76.9411764706%, 78.3529411765%, 79.6078431373%);--bs-success-border-subtle: rgb(63.9215686275%, 81.1764705882%, 73.1764705882%);--bs-info-border-subtle: rgb(62.0392156863%, 91.6862745098%, 97.6470588235%);--bs-warning-border-subtle: rgb(100%, 90.2745098039%, 61.0980392157%);--bs-danger-border-subtle: rgb(94.5098039216%, 68.3137254902%, 70.8235294118%);--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: rgb(4.0784313725%, 34.5098039216%, 79.3725490196%);--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: rgb(100%, 95.137254902%, 80.5490196078%);--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: rgb(16.6666666667%, 18.6274509804%, 20.5882352941%);--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: rgb(43.0588235294%, 65.8823529412%, 99.5294117647%);--bs-secondary-text-emphasis: rgb(65.4117647059%, 67.5294117647%, 69.4117647059%);--bs-success-text-emphasis: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%);--bs-info-text-emphasis: rgb(43.0588235294%, 87.5294117647%, 96.4705882353%);--bs-warning-text-emphasis: rgb(100%, 85.4117647059%, 41.6470588235%);--bs-danger-text-emphasis: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%);--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: rgb(1.0196078431%, 8.6274509804%, 19.8431372549%);--bs-secondary-bg-subtle: rgb(8.4705882353%, 9.1764705882%, 9.8039215686%);--bs-success-bg-subtle: rgb(1.9607843137%, 10.5882352941%, 6.5882352941%);--bs-info-bg-subtle: rgb(1.0196078431%, 15.8431372549%, 18.8235294118%);--bs-warning-bg-subtle: rgb(20%, 15.137254902%, .5490196078%);--bs-danger-bg-subtle: rgb(17.2549019608%, 4.1568627451%, 5.4117647059%);--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: rgb(3.0588235294%, 25.8823529412%, 59.5294117647%);--bs-secondary-border-subtle: rgb(25.4117647059%, 27.5294117647%, 29.4117647059%);--bs-success-border-subtle: rgb(5.8823529412%, 31.7647058824%, 19.7647058824%);--bs-info-border-subtle: rgb(3.0588235294%, 47.5294117647%, 56.4705882353%);--bs-warning-border-subtle: rgb(60%, 45.4117647059%, 1.6470588235%);--bs-danger-border-subtle: rgb(51.7647058824%, 12.4705882353%, 16.2352941176%);--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: rgb(43.0588235294%, 65.8823529412%, 99.5294117647%);--bs-link-hover-color: rgb(54.4470588235%, 72.7058823529%, 99.6235294118%);--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: rgb(90.3529411765%, 52%, 71.0588235294%);--bs-highlight-color: #dee2e6;--bs-highlight-bg: rgb(40%, 30.2745098039%, 1.0980392157%);--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%);--bs-form-valid-border-color: rgb(45.8823529412%, 71.7647058824%, 59.7647058824%);--bs-form-invalid-color: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%);--bs-form-invalid-border-color: rgb(91.7647058824%, 52.4705882353%, 56.2352941176%)}.bootstrap-cards .card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.bootstrap-cards .card>hr{margin-right:0;margin-left:0}.bootstrap-cards .card>.list-group{border-top:inherit;border-bottom:inherit}.bootstrap-cards .card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.bootstrap-cards .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.bootstrap-cards .card>.card-header+.list-group,.bootstrap-cards .card>.list-group+.card-footer{border-top:0}.bootstrap-cards .card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.bootstrap-cards .card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.bootstrap-cards .card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.bootstrap-cards .card-text:last-child{margin-bottom:0}.bootstrap-cards .card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.bootstrap-cards .card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.bootstrap-cards .card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.bootstrap-cards .card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.bootstrap-cards .card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.bootstrap-cards .card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.bootstrap-cards .card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.bootstrap-cards .card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.bootstrap-cards .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.bootstrap-cards .card-img,.bootstrap-cards .card-img-top,.bootstrap-cards .card-img-bottom{width:100%}.bootstrap-cards .card-img,.bootstrap-cards .card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.bootstrap-cards .card-img,.bootstrap-cards .card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.bootstrap-cards .card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.bootstrap-cards .card-group{display:flex;flex-flow:row wrap}.bootstrap-cards .card-group>.card{flex:1 0 0;margin-bottom:0}.bootstrap-cards .card-group>.card+.card{margin-left:0;border-left:0}.bootstrap-cards .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.bootstrap-cards .card-group>.card:not(:last-child)>.card-img-top,.bootstrap-cards .card-group>.card:not(:last-child)>.card-header{border-top-right-radius:0}.bootstrap-cards .card-group>.card:not(:last-child)>.card-img-bottom,.bootstrap-cards .card-group>.card:not(:last-child)>.card-footer{border-bottom-right-radius:0}.bootstrap-cards .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.bootstrap-cards .card-group>.card:not(:first-child)>.card-img-top,.bootstrap-cards .card-group>.card:not(:first-child)>.card-header{border-top-left-radius:0}.bootstrap-cards .card-group>.card:not(:first-child)>.card-img-bottom,.bootstrap-cards .card-group>.card:not(:first-child)>.card-footer{border-bottom-left-radius:0}}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}:root{--bg: #f7f7f4;--surface: #ffffff;--text: #1d2125;--muted: #5b636b;--border: #dcdfe2;--accent: #1e6b3a;--accent-text: #ffffff;--danger: #a3261b;--success: #1d7a3a;--accent-soft: #e4f3e8;--sun: #f4c64e;--radius: 10px;font-family:Noto Sans,system-ui,sans-serif;line-height:1.55;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #15181b;--surface: #1e2226;--text: #e8eaec;--muted: #a3abb3;--border: #343a40;--accent: #7fd39b;--accent-text: #0d1f14;--danger: #f08a80;--success: #7fd29a;--accent-soft: #17301f;--sun: #d9ad3c}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.text-ar,:lang(ar){font-family:Noto Sans Arabic,Noto Sans,system-ui,sans-serif}.container{max-width:960px;margin-inline:auto;padding-inline:16px}main.container{padding-block:24px 48px}main.container.wide{max-width:max(960px,60vw)}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.site-header{position:sticky;top:0;z-index:10;background:var(--surface);border-block-end:1px solid var(--border)}.skip-link{position:absolute;inset-inline-start:16px;top:-100px;z-index:11;padding:8px 16px;background:var(--accent);color:var(--accent-text);border-radius:6px;font-weight:600}.skip-link:focus{top:8px}.header-inner{max-width:none;padding-inline:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:block;padding-block:6px;flex-shrink:0}.brand img{display:block;width:84px;height:64px;background:#fff;border-radius:8px}.menu-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font:inherit;font-size:1.1rem;font-weight:600;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.menu-toggle svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.site-nav{display:none;font-size:1.2rem;font-weight:600}.site-nav.open{display:grid;gap:16px;position:absolute;top:100%;inset-inline:0;max-height:calc(100vh - 80px);overflow-y:auto;padding:16px 24px 24px;background:var(--surface);border-block-end:1px solid var(--border)}.nav-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}.nav-links a{display:block;padding-block:8px}.nav-actions{display:flex;flex-wrap:wrap;gap:12px}.site-nav a,.admin-nav a{text-decoration:none}.site-nav .button{font:inherit;cursor:pointer}.site-nav a.active,.admin-nav a.active{font-weight:700;text-decoration:underline;text-underline-offset:4px}@media(min-width:640px){.brand img{width:115px;height:88px}}@media(min-width:1024px){.menu-toggle{display:none}.site-nav,.site-nav.open{display:flex;align-items:center;gap:24px;position:static;padding:0;border:0;font-size:1.1rem}.nav-links{display:flex;flex-wrap:wrap;gap:4px 24px}.nav-links a{padding-block:4px}.nav-actions{flex-wrap:nowrap}}@media(min-width:1280px){.site-nav,.site-nav.open{gap:32px;font-size:1.4rem}.nav-links{gap:4px 32px}}[tabindex="-1"]:focus{outline:none}.landing>section{scroll-margin-top:120px}h1{margin-block:8px;font-size:1.75rem}.lead{font-size:1.1rem;color:var(--muted)}.muted{color:var(--muted)}.error{color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-block-end:16px}.card h2,.card h3{margin-block-start:0}.grid{list-style:none;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid .card{margin:0}.badge{display:inline-block;font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}:root{--svenska-bg: #e7eff9;--svenska-edge: #2c66a8;--sva-bg: #e2f2f3;--sva-edge: #176c75;--matematik-bg: #fcf0db;--matematik-edge: #8f5400;--engelska-bg: #f9e7eb;--engelska-edge: #a8344f;--digitalkompetens-bg: #ecebfb;--digitalkompetens-edge: #4a42b0;--koranen-bg: #e4f3e8;--koranen-edge: #1e6b3a;--islamiska-bg: #f7f1dc;--islamiska-edge: #765b00;--arabiska-bg: #f4e9f8;--arabiska-edge: #7b2f9a;--somaliska-bg: #edf0f4;--somaliska-edge: #44546a}@media(prefers-color-scheme:dark){:root{--svenska-bg: #1b2738;--svenska-edge: #82b3ea;--sva-bg: #17302f;--sva-edge: #6fc8ca;--matematik-bg: #322818;--matematik-edge: #e9b363;--engelska-bg: #352029;--engelska-edge: #ee93a8;--digitalkompetens-bg: #23213d;--digitalkompetens-edge: #aca6f2;--koranen-bg: #17301f;--koranen-edge: #7fd39b;--islamiska-bg: #2f2a16;--islamiska-edge: #e3c75f;--arabiska-bg: #2e1d36;--arabiska-edge: #d6a0f0;--somaliska-bg: #23282f;--somaliska-edge: #aebacb}}.subject-svenska{--subject-bg: var(--svenska-bg);--subject-edge: var(--svenska-edge)}.subject-sva{--subject-bg: var(--sva-bg);--subject-edge: var(--sva-edge)}.subject-matematik{--subject-bg: var(--matematik-bg);--subject-edge: var(--matematik-edge)}.subject-engelska{--subject-bg: var(--engelska-bg);--subject-edge: var(--engelska-edge)}.subject-digitalkompetens{--subject-bg: var(--digitalkompetens-bg);--subject-edge: var(--digitalkompetens-edge)}.subject-koranen{--subject-bg: var(--koranen-bg);--subject-edge: var(--koranen-edge)}.subject-islamiska{--subject-bg: var(--islamiska-bg);--subject-edge: var(--islamiska-edge)}.subject-arabiska{--subject-bg: var(--arabiska-bg);--subject-edge: var(--arabiska-edge)}.subject-somaliska{--subject-bg: var(--somaliska-bg);--subject-edge: var(--somaliska-edge)}.card.bs-card{--bs-card-bg: var(--subject-bg, var(--surface));--bs-card-color: var(--text);--bs-card-border-color: color-mix(in srgb, var(--subject-edge, var(--border)) 35%, transparent);--bs-card-border-radius: var(--radius);--bs-card-inner-border-radius: calc(var(--radius) - 1px);--bs-card-cap-bg: var(--subject-edge, var(--accent));--bs-card-cap-color: var(--subject-bg, var(--accent-text));--bs-card-cap-padding-y: 6px;--bs-card-cap-padding-x: 16px;--bs-card-spacer-y: 16px;--bs-card-spacer-x: 16px;--bs-card-title-color: var(--text);--bs-card-title-spacer-y: 8px;padding:0;margin:0;background:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color)}.bs-card .card-header{font-size:.85rem;font-weight:600}.bs-card .card-footer{background:transparent;border-top:0;padding-block-start:0}.bs-card .card-title{font-size:1.15rem}.bs-card .card-text:last-child{margin-block-end:0}.subject-card-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--subject-edge);margin-block-end:8px}.subject-card-icon .subject-icon{width:40px;height:40px}.prefs{display:grid;gap:16px}.field{display:grid;gap:4px}.field label{font-weight:600}select{font:inherit;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);max-width:360px}.button{display:inline-block;padding:10px 18px;border-radius:6px;background:var(--accent);color:var(--accent-text);font-weight:600;text-decoration:none}.button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.units{padding-inline-start:0;list-style:none}.lessons{padding-inline-start:20px}.maqra-unit summary{cursor:pointer;list-style-position:outside}.maqra-unit summary h3{display:inline}.maqra-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-block:12px;position:sticky;top:0;z-index:1;padding-block:8px;background:var(--surface);border-block-end:1px solid var(--border)}.maqra-toolbar .checkbox{display:inline-flex;align-items:center;gap:6px;margin:0}.maqra-verses{list-style:none;padding:0;margin:0}.quran-verse{direction:ltr;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:center;padding:14px 10px;border-block-end:1px solid var(--border);border-radius:6px;scroll-margin-block:80px}.quran-verse.current{background:var(--koranen-bg)}.quran-translations p{margin:0 0 6px;font-size:.95rem}.quran-translations p[lang=so]{color:var(--muted)}.quran-ref{font-size:.8rem;font-weight:600;color:var(--koranen-edge)}.quran-arabic-cell{display:flex;align-items:center;gap:10px}.quran-arabic{flex:1;margin:0;font-family:Amiri Quran,Noto Sans Arabic,serif;font-size:1.75rem;line-height:2.3;text-align:right}.ayah-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;padding-inline:.2em;border:1.5px solid var(--koranen-edge);border-radius:999px;font-family:Noto Sans Arabic,sans-serif;font-size:.55em;line-height:1;vertical-align:middle;color:var(--koranen-edge)}.verse-play{flex:none;min-width:2.5rem}.surah-heading{text-align:center;margin-block:20px 4px;padding-block:8px;border-block:2px solid var(--koranen-edge);background:var(--koranen-bg);border-radius:6px}.surah-name{margin:0;font-weight:600}.surah-name [lang=ar]{font-family:Amiri Quran,Noto Sans Arabic,serif;font-size:1.4rem}.bismillah{text-align:center;font-size:1.5rem}.bismillah.current{background:var(--surface);border-radius:6px;outline:2px solid var(--koranen-edge)}.repeat-field{display:inline-flex;align-items:center;gap:6px}.repeat-field select{width:auto}.repeat-count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--koranen-edge)}.maqra-status-read{--step: #a8861a}.maqra-status-learnt{--step: #2c66a8}.maqra-status-finished{--step: #1d7a3a}@media(prefers-color-scheme:dark){.maqra-status-read{--step: #e3c75f}.maqra-status-learnt{--step: #82b3ea}.maqra-status-finished{--step: #7fd29a}}.badge.maqra-status{margin-inline-start:8px;vertical-align:middle;border:1.5px solid var(--step);color:var(--text);background:var(--surface)}.badge.maqra-status:before{content:"";display:inline-block;width:.6em;height:.6em;margin-inline-end:.35em;border-radius:999px;background:var(--step)}.maqra-steps{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-block:12px}.maqra-steps legend{padding-inline:4px;font-weight:600}.maqra-step-options{display:flex;flex-wrap:wrap;gap:8px}.maqra-step{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid var(--border);border-radius:999px;cursor:pointer}.maqra-step:has(input:checked){border-color:var(--koranen-edge);background:var(--koranen-bg);font-weight:600}.maqra-step input:focus-visible{outline:2px solid var(--koranen-edge);outline-offset:2px}.maqra-step-help{margin:8px 0 0;font-size:.85rem}.maqra-progress-hint{margin-block:8px}.juz-progress{margin-block:10px}.juz-progress-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--border)}.juz-progress-bar span{background:var(--step)}.juz-progress-text{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.maqra-credits{font-size:.85rem;margin-block-start:12px}@media(max-width:700px){.quran-verse{grid-template-columns:minmax(0,1fr);gap:8px}.quran-arabic-cell{order:-1}.quran-arabic{font-size:1.5rem}}.vocab strong{font-size:1.2rem;display:block}.example{margin-block-end:0;font-size:.95rem;color:var(--muted)}.dialogue{display:grid;grid-template-columns:fit-content(10rem) 1fr;column-gap:20px;row-gap:14px}.dialogue>div{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.dialogue dt{font-weight:700;overflow-wrap:anywhere}@media(max-width:480px){.dialogue{grid-template-columns:1fr}.dialogue>div{grid-template-columns:1fr;row-gap:2px}}.dialogue dd{margin:0}.auth{max-width:440px}.form{display:grid;gap:16px}input:not([type=checkbox]):not([type=radio]){font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);width:100%}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input,.option input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}button{font:inherit;cursor:pointer}.button{border:0}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.link-button{background:none;border:0;padding:0;color:var(--accent)}.notice{border-inline-start:4px solid var(--accent)}.exercises{padding-inline-start:0;list-style:none}.exercise fieldset{border:0;margin:0;padding:0;min-width:0}.exercise legend{font-weight:600;margin-block-end:8px;padding:0}.exercise.is-correct{border-color:var(--success)}.exercise.is-wrong{border-color:var(--danger)}.option{display:flex;align-items:center;gap:10px;padding:8px 4px;min-height:44px}.exercise input.blank{display:inline-block;width:9em;margin-inline:4px}.matching{display:grid;gap:10px}.match-row{display:grid;grid-template-columns:minmax(6rem,1fr) minmax(8rem,2fr);align-items:center;gap:12px}.feedback{margin-block-start:12px;padding-block-start:12px;border-block-start:1px solid var(--border)}.is-correct .feedback strong{color:var(--success)}.is-wrong .feedback strong{color:var(--danger)}.feedback ul{margin-block:4px 0}.score{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:1.15rem}.badge-done{border-color:var(--success);color:var(--success);margin-inline-start:8px}textarea{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);width:100%;resize:vertical}textarea.json{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem;margin-block:12px}.small{font-size:.85rem}.button.small{padding:6px 12px;font-size:.9rem}.danger,.link-button.danger{color:var(--danger)}.button.secondary.danger{border-color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-nav{display:flex;flex-wrap:wrap;gap:16px;padding-block-end:12px;margin-block-end:16px;border-block-end:1px solid var(--border)}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-block-end:16px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.table th,.table td{text-align:start;padding:10px 12px;border-block-end:1px solid var(--border);vertical-align:top}.pager{display:flex;align-items:center;gap:12px;margin-block-start:12px}.status-draft{border-color:var(--border)}.status-in_review{border-color:var(--accent);color:var(--accent)}.status-changes_requested{border-color:#b7791f;color:#b7791f}.status-approved,.status-published{border-color:var(--success);color:var(--success)}.status-archived{color:var(--muted)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.actions p{margin:0}.reviews{padding-inline-start:20px}.reviews li{margin-block-end:12px}.review-comment{white-space:pre-wrap;margin-block:4px 0}.review-form fieldset{border:0;padding:0;margin:0}.review-form legend{font-weight:600}.tabs{display:flex;gap:4px;margin-block-end:16px;border-block-end:1px solid var(--border)}.tabs button{background:none;border:0;padding:10px 14px;color:var(--muted);border-block-end:3px solid transparent}.tabs button[aria-selected=true]{color:var(--text);font-weight:600;border-block-end-color:var(--accent)}.lesson-form .card h2{font-size:1.15rem}.lesson-form .field{margin-block-end:12px}.two-col,.three-col{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:640px){.two-col{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:6rem 1fr 1fr}}.list-editor{display:grid;gap:12px}.editor-item{border:1px dashed var(--border);border-radius:8px;padding:12px}.editor-item-head,.course-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-block-end:8px}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.link-button:disabled{opacity:.4;cursor:default}.options-editor{border:0;padding:0;margin:0 0 12px}.options-editor legend{font-weight:600;margin-block-end:6px}.option-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-block-end:8px}.save-bar{position:sticky;bottom:0;z-index:1;box-shadow:0 -4px 12px #00000014}.save-bar ul{margin-block:4px 12px}.preview-frame{border:2px dashed var(--border);border-radius:var(--radius);padding:16px}.inline-form{display:flex;gap:8px;max-width:480px}#root{display:flex;flex-direction:column;min-height:100vh}#root>main{flex:1;width:100%;box-sizing:border-box}.site-footer{background:var(--surface);border-block-start:1px solid var(--border)}.footer-grid{display:grid;gap:24px 32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));padding-block:32px 24px}.site-footer h2{font-size:1.05rem;margin:0 0 12px}.site-footer h3{font-size:.95rem;margin:16px 0 8px}.site-footer p{margin:0}.site-footer select{width:100%}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:6px}.site-footer .copyright{margin-inline:auto;padding-block:16px;border-block-start:1px solid var(--border)}ul.social{list-style:none;margin:0;padding:0;display:grid;gap:8px}.social a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text)}.social a:hover span,.social a:focus-visible span{text-decoration:underline}.social svg{fill:currentColor;flex-shrink:0}.landing{display:grid;gap:64px}.landing h2{font-size:1.6rem;margin-block:0 8px}.landing h3{font-size:1.15rem;margin-block:0 8px}.landing .card{margin:0}.other-app{max-width:65ch;border-inline-start:4px solid var(--accent, currentColor)}.other-app .button{margin-top:.5rem}.section-intro{max-width:60ch;margin-block:0 24px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button.large{padding:14px 24px;font-size:1.1rem}.subject-grid,.steps,.benefits{list-style:none;margin:0;padding:0;display:grid;gap:16px}.subject-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.profile-initial,.step-number{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-weight:700}.profile-initial{background:var(--accent-soft);color:var(--accent)}.selected-tag{color:var(--success);font-weight:600;font-size:.9rem}.steps .card,.benefits .card{display:grid;gap:8px;align-content:start}.steps p,.benefits p{margin:0}.step-number{background:var(--accent);color:var(--accent-text);font-size:1.1rem}.benefit-icon{width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}.benefits{grid-template-columns:repeat(2,1fr)}}.with-audio{display:flex;align-items:center;gap:8px}.audio-button{display:inline-grid;place-items:center;flex-shrink:0;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--accent);background:var(--surface);color:var(--accent);cursor:pointer}.audio-button.playing{background:var(--accent);color:var(--accent-text)}.audio-button:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed}.audio-button svg{fill:currentColor}.audio-button .wave{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.slow-audio{margin-block:0 16px}.audio-field{display:grid;gap:6px;margin-block-start:8px}.audio-field-label{font-weight:600}.audio-field .row-actions{flex-wrap:wrap;align-items:center}.audio-field label.button{cursor:pointer}.audio-field label.button:has(+input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.button.disabled{opacity:.5;cursor:progress}.worked-examples{display:grid;gap:12px;padding-inline-start:0;list-style:none}.worked-examples>li{padding:12px 16px;border-inline-start:4px solid var(--accent);background:var(--accent-soft);border-radius:8px}.worked-examples p{margin-block:0 6px}.worked-examples .answer{margin-block:6px 0}.worked-steps{margin-block:0}.number-answer label{display:block;margin-block-end:8px}.number-input{display:inline-flex;align-items:center;gap:8px}.number-input input{width:9em}.catalogue-filters{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-block-end:24px}.subject-chips{display:flex;flex-wrap:wrap;gap:8px}.catalogue-filters .field{margin:0}.profile-card{display:flex;flex-direction:column;gap:4px}.profile-card.selected{border-color:var(--accent)}.profile-card h2{margin:8px 0 0}.profile-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-form{margin-block-start:24px}.learner-switch{display:inline-flex;align-items:center;gap:8px;font-weight:600}.learner-switch select{width:auto}.field.narrow{max-width:12rem}.reading p{font-size:1.1rem;line-height:1.7;max-width:65ch;white-space:pre-line}.lesson.stage-1-2{font-size:1.2rem}.lesson.stage-1-2 .option,.lesson.stage-1-2 .number-input input{min-height:56px}.curriculum-picker{display:grid;gap:10px;margin-block-start:12px}.curriculum-picker .checkbox{align-items:flex-start}.curriculum-picker .checkbox input{flex-shrink:0}.curriculum-area{margin:8px 0 0;font-weight:600}.curriculum summary{cursor:pointer;font-weight:600}.curriculum ul{margin-block-end:0}.diagrams{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:flex-start}.diagram{margin:12px 0;max-width:300px;width:100%}.diagram svg{display:block;width:100%;height:auto;overflow:visible}.diagram .shape,.diagram .thin{fill:none;stroke:var(--text);stroke-width:2;stroke-linejoin:round}.diagram .thin{stroke-width:1.5}.diagram .shape.area{fill:var(--accent-soft)}.diagram .shape.perimeter{stroke:var(--accent);stroke-width:5}.diagram .aux{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:6 5}.diagram .measure{stroke:var(--accent);stroke-width:2.5}.diagram .dot{fill:var(--text)}.diagram .point{fill:var(--accent)}.diagram text{fill:var(--text);font-size:15px;font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.diagram figcaption{color:var(--muted);font-size:.9rem;margin-top:4px}.diagram-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 16px;align-items:end}.diagram .now{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 4}.diagram .event{fill:var(--accent)}.diagram .span{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}.diagram .arrow{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.diagram .venn-left,.diagram .venn-right{fill:var(--accent);fill-opacity:.12}.diagram .branch{fill:var(--surface);stroke:var(--accent)}.diagram text.title{font-size:16px;font-weight:700}.diagram .small text{font-size:13px}.diagram.shape-sequence,.diagram.shape-venn,.diagram.shape-mind_map,.diagram.shape-timeline,.diagram.shape-scale{max-width:380px}.diagram .filled{fill:var(--accent);fill-opacity:.45}.diagram .grid{stroke:var(--border);stroke-width:1}.diagram .sticks{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round}.diagram.shape-bar_chart,.diagram.shape-parts,.diagram.shape-pattern,.diagram.shape-area_model{max-width:360px}.diagram.shape-hundred_grid{max-width:200px}.admin-course-list{display:grid;gap:16px;margin-block-end:16px}.video{margin:16px 0;max-width:640px}.video-frame{aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;background:#111}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-play{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;border:0;background:#1d2125;color:#fff;font:inherit;font-weight:600;text-align:center;cursor:pointer}.video-play svg{width:68px;height:48px}.video-play svg rect{fill:#c4302b}.video-play svg path{fill:#fff}.video-play:hover svg rect,.video-play:focus-visible svg rect{fill:#e0352f}.video figcaption{margin-block-start:6px;font-size:.9rem}.video-card .video{margin:0}.video-card h3{margin-block:0 8px}.video-empty{border-style:dashed;background:transparent}.video-empty p{margin-block:0 4px}.portal{--portal-sky-top: #8fcbf0;--portal-sky: #dcf0fb;--portal-hill: #a8d98f;--portal-hill-far: #c7e7b4;--portal-sun: rgba(255, 233, 150, .95);display:grid;gap:20px;padding:16px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 12% 8%,var(--portal-sun) 0,transparent 22%),radial-gradient(ellipse 60% 28% at 18% 100%,var(--portal-hill) 0 70%,transparent 71%),radial-gradient(ellipse 70% 24% at 85% 100%,var(--portal-hill-far) 0 70%,transparent 71%),linear-gradient(180deg,var(--portal-sky-top),var(--portal-sky) 70%)}@media(prefers-color-scheme:dark){.portal{--portal-sky-top: #10233a;--portal-sky: #2a4361;--portal-hill: #24452e;--portal-hill-far: #1d3726;--portal-sun: rgba(250, 226, 150, .35)}}.portal.has-photo{background:var(--hero-photo) center / cover no-repeat,var(--portal-sky)}.portal-subjects{display:grid;gap:12px}.portal-groups{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.portal-group{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:8px 14px 8px 10px;border:2px solid transparent;border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 2px 8px #0000002e;font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer}.portal-group .subject-icon{width:36px;height:36px}.portal-group .chevron{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.portal-group:hover,.portal-group[aria-expanded=true]{border-color:var(--accent)}.portal-group[aria-expanded=true] .chevron{transform:rotate(180deg)}.portal-tiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.portal-tiles[hidden]{display:none}.portal-tile{display:grid;justify-items:center;align-content:center;gap:4px;width:88px;min-height:88px;padding:8px 4px;border-radius:14px;border:2px solid transparent;background:var(--surface);color:var(--text);box-shadow:0 2px 8px #0000002e;font-size:.8rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none}.portal-tile .subject-icon{width:40px;height:40px}.portal-tile:hover,.portal-tile:focus-visible{border-color:var(--subject-edge)}@media(prefers-reduced-motion:no-preference){.portal-tile{transition:transform .15s,border-color .15s}.portal-tile:hover{transform:translateY(-2px)}}.portal-brand{justify-self:center;max-width:640px;padding:16px 24px 24px;border-radius:16px;background:color-mix(in srgb,var(--surface) 90%,transparent);text-align:center}.portal-brand img{width:112px;height:auto;padding:6px;border-radius:20px;background:#fff}.portal-brand h1{font-size:clamp(2rem,8vw,3.2rem);line-height:1.1;margin:4px 0;color:var(--accent)}.portal-tagline{font-size:1.05rem;font-weight:700;margin:0 0 12px}.portal-lead{margin:0 0 20px}.portal-brand .actions{justify-content:center}
