/* Øvingsrom: a calm, playful room for learning. All illustrations are original CSS. */
:root{--ink:#292a37;--muted:#636372;--blue:#5545ac;--paper:#faf8f3;--line:#e4e0d8;--green:#266853}
.sidebar{background:#302c48;width:232px;padding:34px 22px}.workspace{margin-left:232px}.brand{font-size:26px;letter-spacing:-.055em;gap:7px}.brandmark{width:28px;color:#f4c8a7}.brandmark svg{width:27px}.brand-dot{color:#e9bd9c}.side-motto{color:#f0e9df}.side-caption,.side-note,.nav-source{color:#cec8df}.nav-current{background:#ffffff15}.topbar{background:var(--paper)}.preview-badge{background:#eee9f7;border:0;color:#584879}.eyebrow{color:#6b5c84}.primary,.quick-start{background:var(--blue);border-radius:12px}.primary:hover,.quick-start:hover{background:#433588}.secondary{border-radius:12px}.tag.topic-tag{background:#eee8fb;color:#55428b}.course-code{color:#685883}.course-card:hover{border-color:#aaa0c9;box-shadow:0 7px 0 #ded8eb65}.course-card{border-radius:20px;transition:transform .18s,box-shadow .18s,border-color .18s}.course-card:hover{transform:translateY(-2px)}.course-icon.law{background:#f1e6f7;color:#6b4281}.course-icon.business{background:#e0eee4;color:#28624b}.course-icon.economics{background:#fae3c7;color:#7c5627}.course-area{color:#636372}.topic-group h3>span{color:#55428b;background:#eee8fb}.course-meta{color:#626273}.choice input:checked+span{background:#efeafa;border-color:var(--blue);color:#4b3c98}.topic:hover .topic-title{color:var(--blue)}.room-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:center;padding:16px 0 32px}.room-hero h1{font-size:clamp(2.5rem,4.3vw,4.1rem);line-height:1.18}.room-hero h1 em{font-style:normal;color:#6e58a1}.room-hero p{max-width:43ch;font-size:17px;color:var(--muted);margin:20px 0}.hero-note{display:inline-block;padding:8px 13px;border-radius:20px;background:#eee7f4;font-size:13px;color:#5c477c}.room-art{height:265px;position:relative;max-width:310px;width:100%;justify-self:center}.room-door{position:absolute;left:60px;top:30px;width:155px;height:214px;border:2px solid #635776;border-radius:80px 80px 0 0;background:#e3d9f3;box-shadow:inset 15px 0 0 #c9b9e1;transform:rotate(-5deg);z-index:1}.room-door>span{display:block;font:italic 39px/1.1 'Libre Baskerville',serif;color:#574775;padding:69px 0 0 39px}.room-door>i{position:absolute;width:10px;height:10px;background:#655376;border-radius:50%;right:14px;top:134px}.room-floor{position:absolute;bottom:0;left:15px;width:245px;height:48px;border-radius:50%;background:#eee7dd;transform:rotate(-5deg)}.room-spark{position:absolute;right:0;top:0;font-size:68px;line-height:1;color:#af6647;transform:rotate(10deg)}.room-sticker{position:absolute;bottom:23px;right:2px;z-index:2;background:#f8dba1;border:1px solid #bc9757;border-radius:50%;width:87px;height:70px;display:grid;place-items:center;font:italic 27px Georgia,serif;transform:rotate(12deg)}.learning-path{display:flex;align-items:center;gap:14px;margin:16px 0 30px;color:#696776;font-size:13px;flex-wrap:wrap}.learning-path>span{display:flex;align-items:center;gap:7px}.learning-path b{display:inline-grid;place-items:center;font-size:11px;width:23px;height:23px;border:1px solid #d7d0df;border-radius:50%;font-weight:500}.learning-path .is-current{color:#493c79;font-weight:700}.learning-path .is-current b{background:#59478e;color:white;border-color:#59478e}.programme-grid,.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.programme-card,.mode-card{display:flex;flex-direction:column;text-align:left;padding:25px;border:1px solid #00000012;border-radius:22px;transition:transform .18s,box-shadow .18s;min-width:0}.programme-card:hover,.mode-card:hover{transform:translateY(-4px);box-shadow:0 8px 0 #302c4810}.peach{background:#f8e3d6}.mint{background:#e5efe7}.lilac{background:#ece6f7}.yellow{background:#f6eed4}.programme-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.programme-symbol{width:43px;height:43px;display:grid;place-items:center;background:#ffffff90;border-radius:13px;font-size:30px}.available-dot{font-size:12px;color:#4e4b54}.available-dot:before{content:'';display:inline-block;width:6px;height:6px;background:#54745b;border-radius:50%;margin-right:6px}.programme-name{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.3;max-width:25ch}.programme-description{font-size:14px;color:#615b62;margin:10px 0 20px;max-width:35ch}.programme-action{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;font-weight:600;margin-top:auto;padding-top:15px;border-top:1px solid #00000014;width:100%;color:#443657}.programme-action svg{width:20px;height:20px}.independent-note{font-size:12px;color:var(--muted);margin-top:26px}.coming-soon{display:flex;align-items:center;gap:18px;padding:24px;margin:22px 0;border:1px dashed #c9c1d5;border-radius:18px;color:var(--muted)}.coming-soon>span{font-size:32px;color:#9981ae}.coming-soon strong{font-weight:500;color:var(--ink)}.coming-soon p{font-size:14px;margin-top:4px}.mode-grid{margin:28px 0}.mode-card{padding:28px;min-height:340px}.mode-symbol{font-size:34px;width:62px;height:62px;border-radius:20px;background:#ffffff99;display:grid;place-items:center;margin-bottom:24px;color:#5b4776}.mode-label{font-size:11px;font-weight:700;letter-spacing:.07em;color:#675672}.mode-title{display:block;font-size:clamp(21px,2.2vw,28px);letter-spacing:-.04em;font-weight:600;margin:9px 0}.mode-copy{font-size:15px;line-height:1.7;color:#595362}.mode-count{font-size:12px;margin:18px 0 24px;color:#645d6e}.course-basis{background:#ffffff80}.law-flow{border:0;background:#eee8f6;padding:15px 18px;border-radius:13px;color:#5b4e70}.law-check:has(input:checked){background:#edf4ed;border-color:#a6c3ab}.law-check:hover{border-color:#9b8eb8}.law-criteria{gap:9px}.law-check{border-radius:12px;align-items:start}.law-check input{margin-top:2px}.solution-toggle{width:auto;max-width:100%;text-align:left}.solution-heading{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.solution-laws{display:grid;gap:14px;margin-top:16px}.solution-laws>div{background:#f5f0fa;border-radius:12px;padding:16px}.solution-laws a{font-weight:600}.solution-laws p{font-size:14px;line-height:1.7;margin-top:8px}.complete-check{margin-top:23px;background:#f7f6f1}.law-review:focus,#practiceSolution:focus{outline:2px solid #b3a2cb;outline-offset:4px}.law-case,.law-writing,.law-review{border-radius:20px}.law-disclaimer{max-width:80ch}.footer-brand{font-size:20px;letter-spacing:-.04em}.feedback{border-radius:16px}.result-next{background:#eee8f5}.answer.selected{border-color:#7964ad;background:#f2eef9}
@media(max-width:1100px){.sidebar{width:210px;padding:30px 17px}.workspace{margin-left:210px}.brand{font-size:24px;gap:5px}.room-hero{grid-template-columns:1.7fr 1fr}.room-art{transform:scale(.85);transform-origin:center}.programme-card,.mode-card{padding:22px}}
@media(max-width:800px){.room-hero{grid-template-columns:1fr}.room-art{display:none}.room-hero h1{font-size:2.75rem}.programme-grid,.mode-grid{grid-template-columns:1fr}.mode-card{min-height:0}.programme-top{margin-bottom:13px}}
@media(max-width:700px){.sidebar{width:100%;padding:17px 20px}.workspace{margin-left:0}.brand{font-size:27px}.nav-source{font-size:0;width:0;padding:0;overflow:hidden}.side-body{gap:0}.nav-current{font-size:13px}.room-hero{padding:9px 0 21px}.room-hero h1{font-size:2.55rem}.room-hero p{font-size:16px}.hero-note{font-size:12px}.learning-path{gap:9px;font-size:11px;margin:12px 0 24px}.learning-path>span{gap:5px}.learning-path b{width:20px;height:20px}.learning-path .path-arrow{font-size:11px}.programme-grid{gap:14px}.programme-name{font-size:22px}.section-title{align-items:start}.section-title>span{max-width:95px;text-align:right}.mode-card{padding:24px}.course-link{display:none}.law-flow{font-size:12px;gap:12px}.law-answer-actions .primary,.solution-toggle{width:100%}.law-heading .tag{max-width:none}.topbar>span:first-child{min-width:0}.preview-badge{font-size:10px}.brandmark{width:24px}.brandmark svg{width:24px}.coming-soon{padding:18px}.programme-description{max-width:none}}
@media(max-width:700px){.nav-source{display:none}.nav-current{display:flex}.section-title>span{max-width:115px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.programme-card:hover,.mode-card:hover,.course-card:hover{transform:none}}

/* Shared cards and visible independence. */
:root{--ink:#242735;--muted:#606674;--blue:#46528c;--paper:#fafbfc;--line:#e1e4e9}
.sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line)}
.brand,.brand:hover{color:#282e42}.brandmark,.brand-dot{color:#56638e}
.side-caption,.side-note,.nav-source{color:#626a7c}.nav-source:hover{color:var(--ink)}
.nav-current{background:#eff1f7;color:#394467;border:0}.nav-arrow{color:#637091}
.side-motto{color:#515b70;font-size:16px}.side-body{margin-top:58px}
.topbar{background:#fff}.preview-badge{background:#f0f2f6;color:#5d6574}
.eyebrow{color:#69738b;letter-spacing:.08em}.primary,.quick-start{background:var(--blue);border-radius:9px}
.primary:hover,.quick-start:hover{background:#36416f}.secondary{border-radius:9px}
.room-hero{display:block;padding:20px 0 30px;max-width:820px}
.room-hero h1{font-size:clamp(2.3rem,3.5vw,3.4rem);line-height:1.22;letter-spacing:-.045em}
.room-hero p{max-width:62ch;font-size:16px;margin:18px 0;color:var(--muted)}
.room-hero .independence{font-size:13px;line-height:1.7;max-width:74ch;padding-left:13px;border-left:2px solid #cdd3e1;margin-top:24px;color:#5d6575}
.programme-grid{gap:14px}.programme-card,.mode-card,.course-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:none}
.programme-card:hover,.mode-card:hover,.course-card:hover{transform:none;box-shadow:0 3px 12px #26355908;border-color:#909bb7;background:#fdfdff}
.programme-card{padding:23px;min-height:166px}.programme-top{margin-bottom:12px}.programme-name{font-size:20px;font-weight:500;line-height:1.35;max-width:none}
.available-dot{color:#667084}.available-dot:before{background:#697695;width:5px;height:5px}
.programme-action{color:#485779;border-color:#e9ecf1;font-size:13px;margin-top:22px;padding-top:13px}
.mode-card .programme-action{margin-top:auto}.mode-symbol,.course-icon.law,.course-icon.business,.course-icon.economics{background:#f0f2f7;color:#526080;border-radius:10px}
.mode-label,.mode-count,.mode-copy{color:#636c7e}.mode-card{padding:26px}.mode-title{color:var(--ink)}
.learning-path .is-current{color:#465579}.learning-path .is-current b{background:#4c5b82;border-color:#4c5b82}.learning-path{color:#6a7280}
.course-code{color:#5a6580}.coming-soon{background:transparent;border-color:#d7dce5;border-radius:12px}
.coming-soon>span{color:#7b8496}.course-basis{background:#fff}.home-note{padding-top:24px}.note-mark{color:#77819a}
.home-note p{max-width:75ch}.independent-note{font-size:12px;margin-top:18px}
.tag.topic-tag,.topic-group h3>span{background:#edf0f6;color:#485a87}.choice input:checked+span{background:#eef1f7;border-color:var(--blue);color:#3d4a79}
.law-flow,.result-next{background:#eef1f6;color:#56637c;border-radius:9px}
.law-case,.law-writing,.law-review,.feedback{border-radius:12px}.solution-laws>div{background:#f4f5f8;border-radius:9px}
.law-check:hover{border-color:#97a2b9}.law-review:focus,#practiceSolution:focus{outline-color:#a5b0c8}
.answer.selected{background:#f1f3f9;border-color:#7989b1}.complete-check{background:#f7f8fa}
footer{flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:18px}
footer>.footer-independence{display:block!important;font-size:11px;line-height:1.6;max-width:52ch}
/* Shared navy identity: all programmes use the same semantic palette. */
:root{--paper:#edf1f6;--ink:#172c49;--muted:#58677d;--blue:#223f67;--line:#d3dce7}
body{background:var(--paper)}
.sidebar{background:#132740;color:#edf3fc;border:0}
.brand,.brand:hover{color:#f3f7fd}.brandmark,.brand-dot{color:#91b9ef}
.side-caption,.side-note,.nav-source{color:#b9cbe3}.side-motto{color:#e1ebf9}
.nav-current{background:#ffffff12;color:#f3f7fd;border:1px solid #ffffff20}.nav-arrow{color:#91b9ef}.nav-source:hover{color:white}
.topbar{background:var(--paper);border-bottom:1px solid var(--line)}
.eyebrow{color:#375578}.primary,.quick-start{background:#223f67}.primary:hover,.quick-start:hover{background:#172e50}
.room-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(180px,1fr);max-width:none;gap:12px;padding:36px 36px 30px;background:#1b3557;color:#f5f8ff;border:1px solid #28466d;border-radius:20px;overflow:hidden}
.room-hero h1{font-size:clamp(2.15rem,3.25vw,3.5rem);line-height:1.17;margin:16px 0;letter-spacing:-.045em}.room-hero h1 em{color:#bfd5f4;font-style:normal}
.room-hero p{font-size:16px;line-height:1.7;margin:18px 0 24px;color:#c5d6ec}
.hero-copy{position:relative;z-index:1}.hero-start{display:inline-flex;align-items:center;gap:20px;padding:12px 18px;background:#223f67;color:#ffffff;border-radius:9px;text-decoration:none;font-size:14px;font-weight:600}.hero-start:hover{background:#172e50}.hero-start svg{width:18px;height:18px}
.study-art{align-self:center;min-width:0;padding:14px 0 14px 10px}.study-sheet{border:1px solid #ffffff35;border-radius:14px;background:#ffffff0b;padding:24px;transform:rotate(2deg);box-shadow:0 18px 35px #08172b30;color:#e8f1ff}.sheet-label{font-size:10px;letter-spacing:.13em;color:#b6cce9}.study-sheet>div{display:flex;align-items:center;gap:13px;border-bottom:1px solid #ffffff20;padding:19px 0;font-size:13px}.study-sheet b{font-size:11px;color:#b8d4f9}.sheet-footer{display:block;margin-top:19px;font-size:11px;color:#b6cce9}
.independence-banner{font-size:12px;line-height:1.7;color:#58677d;margin:17px 4px 25px;padding-left:12px;border-left:2px solid #a6b9d1}
.programme-card,.mode-card,.course-card{background:#ffffff;border-color:#d2dce9;border-radius:16px;box-shadow:0 3px 0 #182f5010}
.programme-card:hover,.mode-card:hover,.course-card:hover{background:#f8faff;border-color:#6686b0;transform:translateY(-2px);box-shadow:0 6px 18px #182f5010}
.programme-card{padding:24px;min-height:235px}.programme-symbol{background:#e6edf7;color:#26466f;border-radius:12px;width:39px;height:39px;font-size:24px}.programme-name{font-size:21px;font-weight:600}.programme-description{color:#58677d;margin:11px 0 20px;font-size:13px;max-width:none}
.available-dot{color:#435e80}.available-dot:before{background:#557aa7}.programme-action{color:#294e7c;border-color:#dce5ef;margin-top:auto}
.learning-path .is-current{color:#294e7c}.learning-path .is-current b{background:#294e7c;border-color:#294e7c}.learning-path{color:#62728a}
.course-code,.course-link{color:#294e7c}.course-icon.law,.course-icon.business,.course-icon.economics,.mode-symbol{background:#e6edf7;color:#294e7c}
.mode-copy,.mode-count,.mode-label{color:#596b82}.home-intro h1{color:var(--ink)}.home-note{border:0;background:#e0e7f1;padding:20px;border-radius:13px;margin-top:24px}.note-mark{color:#506c92}
.study-label{display:inline-block;background:#dfe8f4;color:#36567d;border:1px solid #bfcfe2;border-radius:7px;padding:6px 10px;font-size:12px;margin-top:12px}
.semester-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:28px 0}
.semester-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:16px;border:1px solid #cbd7e6;border-radius:16px;padding:24px;background:#f8faff;color:var(--ink);font:inherit;min-width:0}
.semester-top{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;width:100%;font-size:12px;color:#596b82}.semester-status{font-size:11px;border-radius:20px;padding:3px 8px;background:#d6e3f4;color:#36567d}
.semester-card strong{font-size:25px;font-weight:500;letter-spacing:-.04em}.semester-description{font-size:13px;line-height:1.6;color:#566b86}.semester-action{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:13px;border-top:1px solid #c7d6e9;font-size:13px;color:#36567d}.semester-action svg{width:18px;height:18px}
.semester-ready{background:#e0eafa;border-color:#a9c0df;cursor:pointer}.semester-ready:hover{background:#d3e2f6;border-color:#5b7daa;box-shadow:0 4px 14px #223f6710}
.semester-soon:disabled{opacity:1;cursor:not-allowed;background:#e9edf3;color:#69778a;border-style:dashed}.semester-soon .semester-status{background:#e0e5ed;color:#626f81}.semester-soon .semester-action{color:#647286}
.course-basis{background:#e7edf5;border-color:#cfdbe9}.coming-soon{background:#e7edf5;border-color:#bfcee1}
.choice input:checked+span{background:#e4ecf8;color:#294e7c}.tag.topic-tag,.topic-group h3>span{background:#e4ecf8;color:#294e7c}.law-flow,.result-next{background:#e4ecf8;color:#36567d}
:focus-visible{outline:3px solid #597fb6;outline-offset:4px}.hero-start:focus-visible{outline-color:#aacaef}
@media(max-width:1050px){.room-hero{padding:28px;grid-template-columns:minmax(0,1.8fr) minmax(150px,1fr)}.art-door{left:10%;width:120px}.room-hero h1{font-size:2.6rem}.art-note{left:0;font-size:11px;padding:12px}.art-star{right:-5px}}
@media(max-width:700px){.sidebar{background:#132740;border-bottom:0}.nav-current{color:#edf3fc}.room-hero{grid-template-columns:1fr;padding:26px 22px}.room-hero h1{font-size:2.25rem}.study-art{display:none}.programme-card{min-height:215px;padding:21px}.programme-grid{grid-template-columns:1fr}.semester-grid{grid-template-columns:1fr}.semester-card{padding:21px}.learning-path{gap:8px;font-size:11px}.learning-path .path-arrow{display:none}.learning-path>span{margin-right:4px}.independence-banner{font-size:11px}.section-title h2{font-size:21px}.room-hero p{font-size:15px}.programme-name{font-size:21px}}
@media(max-width:700px){.sidebar{border-right:0;border-bottom:1px solid var(--line)}.side-body{margin-top:0}.room-hero{padding-top:5px}.room-hero h1{font-size:2.15rem}.room-hero .independence{font-size:12px}.programme-card{min-height:150px;padding:20px}.programme-name{font-size:20px}.programme-action{margin-top:17px}.mode-card{padding:23px}footer>.footer-independence{order:3;flex-basis:100%;max-width:none}footer{gap:10px}.nav-current{background:none}}

.room-hero .eyebrow{color:#b9cee9}.hero-start{background:#eff5ff;color:#173455}.hero-start:hover{background:#d6e6fc}.room-hero h1{color:#fff}.source-nav{color:#b9cbe3}
@media(max-width:700px){.room-hero{padding:26px 22px}.side-body{margin-top:0}}
