.course-icon{object-fit:contain;vertical-align:middle;width:28px;height:30px;image-rendering:pixelated;flex:none;display:inline-block}.learning-world .sidebar li a{align-items:center;gap:9px;display:flex}.sidebar li a .course-icon{width:25px;height:27px}.learning-world .sidebar li.part{align-items:center;gap:8px;display:flex}.sidebar li.part .course-icon{width:28px;height:30px}.chapter>header>.course-icon{width:48px;height:51px}.quiz>header h3{align-items:center;gap:10px;display:flex}.quiz>header h3 .course-icon{width:36px;height:38px}.quiz>header .quiz-score{align-items:center;gap:8px;display:flex}.quiz-score .course-icon{order:1}.quiz-explain>.course-icon{float:right;width:36px;height:38px;margin:0 0 8px 12px}.quiz-explain:after{content:"";clear:both;display:block}.course-atlas{text-align:left;max-width:1180px;margin:0 auto 48px}.course-atlas h2{letter-spacing:-.035em;margin:10px 0 32px;font-size:clamp(1.7rem,3vw,2.4rem)}.course-atlas h3{align-items:center;gap:10px;margin:26px 0 16px;font-size:1rem;display:flex}.course-atlas ol{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.course-atlas li a{box-sizing:border-box;text-align:center;color:#51465f;background:#faf7ef;border:1px solid #d3c4e0;border-radius:12px;flex-direction:column;align-items:center;height:100%;padding:18px 12px;text-decoration:none;transition:transform .2s;display:flex;box-shadow:0 3px #dcd0e7}.course-atlas li a>.course-icon{width:56px;height:60px;margin-bottom:12px}.course-atlas .atlas-status{color:#756381;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.62rem}.course-atlas strong{font-size:.74rem;line-height:1.5}.course-atlas li a.is-complete{background:#eef5e9;border-color:#afc5a7}.course-atlas li a[aria-current]{outline-offset:2px;outline:2px solid #9675b6}.course-atlas li a:focus-visible{outline-offset:3px;outline:3px solid #87649f}@media (hover:hover){.course-atlas li a:hover{transform:translateY(-3px)}}@media (width<=500px){.course-atlas ol{grid-template-columns:repeat(2,minmax(0,1fr))}}.learning-world .sidebar li a:before{content:none}.learning-world .sidebar li.is-done a:after{content:"✓";color:#527455;margin-left:auto}@media (width<=500px){.chapter>header>.course-icon{width:32px;height:34px}}.learning-world .sidebar li.is-done a:before{content:none}.level-icon{object-fit:contain;width:32px;height:37px;image-rendering:pixelated;vertical-align:middle;flex-shrink:0;display:inline-block}.player-icon .level-icon{width:48px;height:56px}.toast .level-icon{width:40px;height:47px;margin-right:10px}.adventure-map{grid-column:1/-1;min-width:0}.adventure-map-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.adventure-map-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1.15}.adventure-map-heading .kicker{margin-bottom:10px}.adventure-map-heading>p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.7}.world-islands{isolation:isolate;background:radial-gradient(at 15% 35%,#e9ddf47d,#0000 55%),radial-gradient(at 60% 65%,#d8eadd85,#0000 50%),#fffaf2;border:1px solid #ded5e4;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:28px 22px 30px;list-style:none;display:grid;position:relative}.world-islands:before{content:"";z-index:-1;border-top:3px dashed #c5b4d0;position:absolute;top:50px;left:12%;right:12%}.world-island{--island-bg:#f0e8f7;--island-border:#d3c0e3;--island-shadow:#e4d7ed;min-width:0}.world-island--mint{--island-bg:#eaf2e9;--island-border:#bdd0bb;--island-shadow:#d7e4d2}.world-island--peach{--island-bg:#faf0e4;--island-border:#dec6aa;--island-shadow:#eedfca}.world-route-marker{border:2px solid var(--island-border);background:var(--island-bg);width:44px;height:44px;box-shadow:0 3px 0 var(--island-shadow);border-radius:12px;place-items:center;margin:0 auto 22px;font-size:.9rem;font-weight:700;display:grid}.world-island article{background:var(--island-bg);border:1px solid var(--island-border);box-shadow:0 5px 0 var(--island-shadow);border-radius:16px;overflow:hidden}.world-island-art{background:radial-gradient(#fffc 0,#fff0 65%);place-items:center;height:210px;display:grid}.world-island-art img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;max-height:210px;image-rendering:pixelated;transition:transform .25s ease-out}.world-island-copy{padding:6px 20px 24px}.world-island-number{letter-spacing:.04em;text-transform:uppercase;color:#70617c;margin:0 0 10px;font-size:.64rem;font-weight:650}.world-island h3{letter-spacing:-.025em;margin:0 0 12px;font-size:1.35rem;line-height:1.2}.world-island-description{color:#72667b;min-height:66px;margin:0 0 16px;font-size:.84rem;line-height:1.65}.world-island-status{color:#64546e;margin:0 0 18px;font-size:.68rem;font-weight:650}.world-island-status span{margin-right:4px}.world-itinerary{border-top:1px solid var(--island-border);border-bottom:1px solid var(--island-border);font-size:.78rem}.world-itinerary summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:13px 0;font-weight:600;list-style:none;display:flex}.world-itinerary summary::-webkit-details-marker{display:none}.world-itinerary[open] summary span{transform:rotate(45deg)}.world-itinerary ol{margin:0;padding:0 0 16px 20px}.world-itinerary li{padding:5px 0 5px 4px;line-height:1.5}.world-itinerary-soon{border-top:1px dashed var(--island-border);color:#80715f;padding-top:12px;font-size:.78rem;line-height:1.7}.world-island-action{color:#554267;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;font-size:.78rem;font-weight:650;text-decoration:none;display:flex}.world-island-action:focus-visible,.world-itinerary summary:focus-visible{outline-offset:5px;border-radius:3px;outline:3px solid #8971a6}.map-horizon{text-align:center;color:var(--muted);margin:24px 0 0;font-size:.8rem}.map-horizon span{color:#a18bb3;margin-right:8px}@media (width<=760px){.adventure-map-heading{display:block}.adventure-map-heading>p{margin-top:14px}.world-islands{grid-template-columns:1fr;gap:30px;padding:24px 18px}.world-islands:before{border-top:0;border-left:3px dashed #c5b4d0;inset:28px auto 40px 39px}.world-route-marker{margin:0 0 16px}.world-island article{margin-left:12px}.world-island-description{min-height:0}.world-island-art{height:190px}.world-island-art img{max-height:190px}}.achievement-icon{object-fit:contain;width:72px;height:78px;image-rendering:pixelated;flex-shrink:0;display:block}.badge-grid .badge-tile{opacity:1}.badge-grid .badge-tile .badge-icon{filter:none}.badge-state{font:500 .62rem var(--mono);color:#786b84;background:#ebe6f0;border:1px solid #d8cde3;border-radius:4px;padding:2px 6px}.is-earned .badge-state{color:#466750;background:#e5efe2;border-color:#b8d1bc}.badge-icons{align-items:center;gap:1px;min-width:0}.badge-icons .achievement-icon,.badge-chip .achievement-icon{width:28px;height:31px}.badge-row .badge-chip{filter:none;opacity:1;align-items:center;gap:5px;display:inline-flex}@media (prefers-reduced-motion:reduce){.badge-tile.is-earned .badge-icon{animation:none}}.badge-strip{flex-wrap:wrap}.badge-strip>.small{white-space:nowrap;margin-left:auto}.badge-celebration{box-sizing:border-box;color:#fff8ec;text-align:center;background:radial-gradient(at 50% 42%,#63557fe8,#292338f5 72%);border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:32px 20px;position:fixed;inset:0;overflow:auto}.badge-celebration::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#292338b8}.badge-celebration[open]{place-items:center;animation:.25s ease-out both celebration-in;display:grid}.celebration-content{width:min(100%,580px)}.celebration-close{color:#fff8ec;cursor:pointer;background:#fff1;border:1px solid #fff5;border-radius:14px;width:44px;height:44px;font-size:28px;position:absolute;top:20px;right:24px}.celebration-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#d7c9e9;margin:20px 0 0;font-size:12px}.celebration-stage{perspective:900px;place-items:center;width:min(320px,75vw);height:min(320px,75vw);margin:12px auto;display:grid;position:relative}.celebration-halo{background:radial-gradient(circle,#ead0a84d,#c9b5ec1a 60%,#0000 72%);border-radius:50%;position:absolute;inset:10%;box-shadow:0 0 80px #d7b6ff18}.celebration-medal{filter:drop-shadow(0 20px 14px #17132366);animation:1.3s cubic-bezier(.23,1,.32,1) both medal-arrive;position:relative}.badge-celebration .achievement-icon{width:clamp(180px,48vw,260px);height:auto;display:block}.celebration-spark{opacity:0;width:8px;height:8px;transform:rotate(var(--angle)) translateY(-130px);animation:spark-burst 1.8s calc(.1s + var(--i) * 35ms) ease-out both;background:#f2d5a7;position:absolute;top:calc(50% - 4px);left:calc(50% - 4px)}.celebration-spark:nth-of-type(3n){background:#b9decf}.celebration-spark:nth-of-type(3n+1){background:#cebaf1}.celebration-label{color:#bfe7d5;text-transform:uppercase;letter-spacing:.16em;margin:0 0 8px;font-size:13px;font-weight:750}.learning-world .badge-celebration h2{color:#fff8ec;margin:0;font-size:clamp(30px,6vw,46px);line-height:1.1}#celebration-description{color:#e0d6eb;max-width:430px;margin:16px auto 26px;line-height:1.6}.celebration-continue{color:#413352;font:inherit;cursor:pointer;background:#e3d5f5;border:1px solid #f1e3ff;border-radius:14px;align-items:center;gap:22px;padding:15px 24px;font-weight:750;transition:transform .18s;display:inline-flex;box-shadow:0 4px #a58dbb}.celebration-continue:active{transform:translateY(3px)}.celebration-count{color:#c4b6d2;margin:20px 0 0;font-size:12px}.badge-celebration button:focus-visible{outline-offset:5px;outline:3px solid #bfe7d5}@keyframes celebration-in{0%{opacity:0}to{opacity:1}}@keyframes medal-arrive{0%{opacity:0;transform:translateY(25px)rotateY(-320deg)rotate(-12deg)scale(.9)}55%{opacity:1;transform:translateY(-12px)rotateY(20deg)rotate(6deg)scale(1.04)}78%{transform:translateY(3px)rotateY(-10deg)rotate(-3deg)scale(1)}to{opacity:1;transform:translateY(0)rotateY(0)rotate(0)scale(1)}}@keyframes spark-burst{0%{opacity:0;transform:rotate(var(--angle)) translateY(-75px) scale(.7)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-155px) scale(.8)}}@media (height<=650px){.celebration-stage{width:200px;height:200px}.badge-celebration .achievement-icon{width:175px}.celebration-eyebrow{margin-top:32px}}@media (prefers-reduced-motion:reduce){.badge-celebration,.badge-celebration *{transition:none!important;animation:none!important}}.adm,.adm-login{--bg:#faf7ef;--fg:#49415d;--muted:#6b6279;--line:#e2d9ea;--soft:#f3edf8;--card:#fffcf7;--edge:#d3c5e1;--shadow:#e3d9ed;--lav:#d8c5eb;--lav-soft:#efe6f8;--lav-edge:#ad96c7;--lav-ink:#4f3b69;--mint:#dcead7;--mint-edge:#b0c4a8;--mint-ink:#3d5836;--pink:#fae4e9;--pink-edge:#e0a9b8;--pink-ink:#a13f61;--peach:#fbf0e8;--peach-edge:#e3b995;--peach-ink:#8a5a2b;--code-bg:#ede7f5;--code-fg:#4f4269;--head:"Bricolage Grotesque", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--fg);font:16px/1.6 var(--body);background-color:var(--bg);background-image:linear-gradient(#ded5ca38 1px,#0000 1px),linear-gradient(90deg,#ded5ca38 1px,#0000 1px);background-size:32px 32px}body:has(.adm,.adm-login){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#faf7ef}.adm h1,.adm h2,.adm h3,.adm-login h1{color:var(--fg)}.adm :focus-visible,.adm-login :focus-visible{outline-offset:2px;outline:3px solid #8973a7}.adm{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.adm-loading{color:#6b6279;background:#faf7ef;place-items:center;min-height:100vh;display:grid}.adm a{color:inherit;text-decoration:none}.adm .muted{color:var(--muted)}.adm .small{font-size:.8rem}.adm .nowrap{white-space:nowrap}.adm .grow{flex:1;gap:.1rem;min-width:0;display:grid}.adm .clip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.adm .pad{margin:0;padding:1rem 1.25rem}.adm .tnum{font-variant-numeric:tabular-nums}.adm .error,.adm-login .error{color:var(--pink-ink);margin:0;font-weight:600}.adm-side{border-right:1px solid var(--edge);height:100vh;box-shadow:5px 0 0 var(--shadow);z-index:2;background:#fbf8f2;flex-direction:column;gap:1.5rem;padding:1.25rem .9rem;display:flex;position:sticky;top:0}.adm-brand{color:var(--fg);align-items:center;gap:.7rem;padding:0 .5rem;display:flex}.adm-brand img{width:40px;height:40px}.adm-brand span{font:700 1.15rem/1.1 var(--head);letter-spacing:-.03em;display:grid}.adm-brand small{font:500 .68rem var(--mono);color:#776386;letter-spacing:.06em;margin-top:.2rem}.adm-side nav{gap:4px;display:grid}.adm-side nav a{color:var(--muted);border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.9rem;font-weight:600;display:flex}.adm-side nav a:hover{background:var(--lav-soft);color:var(--fg)}.adm-side nav a.is-active{background:var(--lav);border-color:var(--lav-edge);color:var(--lav-ink);box-shadow:0 3px 0 var(--lav-edge)}.count{font:600 .7rem var(--mono);background:var(--lav-soft);border:1px solid var(--edge);color:var(--lav-ink);border-radius:999px;padding:.1rem .45rem}.is-active .count{background:var(--card)}.count.is-alert{background:var(--pink);border-color:var(--pink-edge);color:var(--pink-ink)}.adm-side-foot{border-top:1px dashed var(--edge);gap:2px;margin-top:auto;padding-top:.8rem;display:grid}.side-btn{text-align:left;color:var(--muted);font:600 .84rem var(--body);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.5rem .75rem;display:block}.side-btn:hover{background:var(--lav-soft);color:var(--fg)}.live-dot{vertical-align:middle;background:#6fa865;border-radius:50%;flex:none;width:9px;height:9px;animation:1.8s ease-out infinite live-pulse;display:inline-block;box-shadow:0 0 #6fa86599}.live-dot.is-off{box-shadow:none;background:#c4bccd;animation:none}@keyframes live-pulse{0%{box-shadow:0 0 #6fa86599}70%,to{box-shadow:0 0 0 7px #6fa86500}}.adm-main{align-content:start;gap:1.4rem;min-width:0;padding:1.75rem clamp(16px,3vw,40px) 3rem;display:grid}.adm-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.adm-top h1{letter-spacing:-.04em;font-size:1.9rem;font-weight:700}.adm-top-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.adm .card{background:var(--card);border:1px solid var(--edge);box-shadow:5px 5px 0 var(--shadow);border-radius:10px;min-width:0}.card-head{border-bottom:1px dashed var(--edge);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.card-head h2{letter-spacing:-.02em;font-size:1.1rem;font-weight:600}.btn{font:600 .84rem var(--body);border:1px solid var(--edge);background:var(--card);color:var(--fg);box-shadow:0 3px 0 var(--shadow);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.55rem .95rem;transition:transform 80ms,background .15s}.btn:hover{background:var(--lav-soft);transform:translateY(-1px)}.btn:active{box-shadow:0 1px 0 var(--shadow);transform:translateY(2px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn.primary{background:var(--lav);border-color:var(--lav-edge);color:var(--lav-ink);box-shadow:0 4px 0 var(--lav-edge)}.btn.primary:hover{background:#cdb5e5}.btn.primary:active{box-shadow:0 2px 0 var(--lav-edge)}.btn.danger{background:var(--pink);border-color:var(--pink-edge);color:var(--pink-ink);box-shadow:0 4px 0 var(--pink-edge)}.btn.danger:hover{background:#f6d5dd}.btn.danger:active{box-shadow:0 2px 0 var(--pink-edge)}.btn.ghost{box-shadow:none;background:0 0}.btn.ghost:hover{background:var(--lav-soft)}.btn.block{width:100%;padding:.8rem;font-size:.92rem}.adm .link{color:var(--lav-ink);font:600 .85rem var(--body);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.avatar{background:var(--lav);border:1px solid var(--lav-edge);color:var(--lav-ink);font-family:var(--head);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.bar{background:#ece4f3;border:1px solid #ddd0e8;border-radius:99px;min-width:60px;height:8px;display:block;overflow:hidden}.bar>span{background:linear-gradient(90deg,#c7b2e0,#a9c6a0);border-radius:99px;height:100%;display:block}.pill-status{font:600 .7rem var(--body);white-space:nowrap;vertical-align:middle;border:1px solid #0000;border-radius:5px;padding:.18rem .55rem;display:inline-block}.pill-status.is-progress{background:var(--lav-soft);color:#5e4a78;border-color:var(--edge)}.pill-status.is-warn{background:var(--peach);color:var(--peach-ink);border-color:var(--peach-edge)}.pill-status.is-ok{background:var(--mint);color:var(--mint-ink);border-color:var(--mint-edge)}.pill-status.is-done{background:var(--lav);color:var(--lav-ink);border-color:var(--lav-edge)}.tag{font:600 .66rem var(--mono);text-transform:uppercase;letter-spacing:.05em;background:var(--peach);border:1px solid var(--peach-edge);color:var(--peach-ink);border-radius:4px;padding:.15rem .5rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font:600 .78rem var(--body);border:1px solid var(--edge);background:var(--card);color:var(--fg);box-shadow:0 2px 0 var(--shadow);cursor:pointer;border-radius:6px;padding:.35rem .7rem}.chip:hover{background:var(--lav-soft)}.chip span{color:var(--muted);margin-left:.2rem}.chip.is-active{background:var(--lav);color:var(--lav-ink);border-color:var(--lav-edge);box-shadow:0 2px 0 var(--lav-edge)}.chip.is-active span{color:inherit}.empty{text-align:center;color:var(--muted);justify-items:center;gap:.6rem;padding:2.5rem 1.5rem;display:grid}.empty img{width:72px;height:72px}.empty p{max-width:34ch;margin:0}.alert{background:var(--pink);color:var(--pink-ink);border:1px solid var(--pink-edge);border-radius:8px;margin:0 0 1rem;padding:.7rem .9rem;font-weight:600}.hint{background:var(--lav-soft);border:1px dashed var(--edge);border-radius:8px;margin:.5rem 0 0;padding:.8rem 1rem;font-size:.9rem}.hint a{text-decoration:underline}.group-label{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#6e5a7e;margin:1rem 0 .4rem}.group-label:first-child{margin-top:0}.flag{color:var(--pink-ink)}.confirm-box{border:1px solid var(--pink-edge);color:#7f3c52;background:#fdf1f4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem .8rem;margin:0 1.25rem 1.25rem;padding:.9rem 1rem;font-size:.9rem;display:flex;box-shadow:3px 3px #f3d6de}.confirm-box>:first-child{flex:220px;margin:0}.confirm-box .btn:not(.danger){background:var(--card)}.row-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:.8rem;padding:.75rem 1.25rem;display:flex}.row-item:last-child{border-bottom:0}.row-item:hover{background:#f7f2fb}.row-item.flat{border:0;padding:0}.row-item.flat:hover{background:0 0}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.kpi{text-align:left;background:var(--card);border:1px solid var(--edge);box-shadow:4px 4px 0 var(--shadow);cursor:pointer;color:var(--fg);font:inherit;border-radius:10px;gap:.4rem;padding:1rem 1.1rem;transition:transform 80ms;display:grid}.kpi:hover{box-shadow:5px 5px 0 var(--shadow);transform:translate(-1px,-1px)}.kpi span{color:var(--muted);font-size:.8rem;font-weight:600}.kpi strong{font:700 2rem/1 var(--head);letter-spacing:-.04em}.kpi.is-alert{border-color:var(--peach-edge);background:var(--peach);box-shadow:4px 4px #f0dcc9}.kpi.is-alert strong{color:var(--peach-ink)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.4rem;display:grid}.funnel{padding:1rem 1.25rem 1.25rem}.funnel-row{grid-template-columns:1.6rem minmax(0,1fr) minmax(80px,1.2fr) 3rem;align-items:center;gap:.8rem;padding:.35rem 0;font-size:.9rem;display:grid}.funnel-row .tnum:last-child{text-align:right}.live-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:1.4rem;display:grid}.live-feed{overflow:hidden}.live-item{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.7rem 1.25rem;font-size:.9rem;display:flex}.live-item:last-child{border-bottom:0}.live-icon{background:var(--lav-soft);border:1px solid var(--edge);width:2rem;height:2rem;box-shadow:0 2px 0 var(--shadow);border-radius:7px;flex:none;place-items:center;font-size:1rem;line-height:1;display:grid}.live-time{color:var(--muted);font:500 .72rem var(--mono);white-space:nowrap;flex:none}.live-item.is-new{animation:.6s ease-out live-in,2.4s ease-out live-flash}@keyframes live-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes live-flash{0%{background:var(--mint)}to{background:0 0}}.online-list .row-item{cursor:default}.presence{width:8px;height:8px;box-shadow:0 0 0 3px var(--mint);background:#6fa865;border-radius:50%;flex:none}.master-detail{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:1.4rem;display:grid}.master{flex-direction:column;max-height:calc(100vh - 3rem);display:flex;position:sticky;top:1.5rem;overflow:hidden}.master-tools{border-bottom:1px dashed var(--edge);gap:.7rem;padding:1rem;display:grid}.master-tools input,.adm-login input{font:inherit;color:var(--fg);background:#fffdf9;border:1px solid #dbd0e4;border-radius:6px;padding:.65rem .8rem;font-size:.9rem;box-shadow:inset 0 2px #efe9f2}.master-tools input::placeholder,.adm-login input::placeholder{color:#8a7d96}.master-tools input:focus,.adm-login input:focus{outline-offset:-1px;outline:2px solid #8973a7}.master-list{overflow-y:auto}.learner-item{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--fg);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.learner-item:hover{background:#f7f2fb}.learner-item.is-active{background:var(--lav-soft);box-shadow:inset 4px 0 0 var(--lav-edge)}.learner-item strong{font-size:.92rem}.learner-meta{justify-items:end;gap:.25rem;display:grid}.back{margin:1rem 1.25rem 0;display:none}.detail-head{flex-wrap:wrap;align-items:center;gap:1rem;padding:1.25rem;display:flex}.detail-head h2{letter-spacing:-.03em;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1.45rem;font-weight:700;display:flex}.detail-head p{margin:.2rem 0 0;font-size:.9rem}.detail-head a{color:inherit;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.facts{border-top:1px dashed var(--edge);border-bottom:1px dashed var(--edge);background:#fbf7fd;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.facts>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:.35rem;min-width:0;padding:.9rem 1.25rem;display:grid}.facts>div:last-child{border-right:0}.facts span{color:var(--muted);font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.facts strong{font:600 1.05rem var(--head)}.tabs{border-bottom:1px solid var(--edge);gap:.25rem;padding:0 1rem;display:flex;overflow-x:auto}.tabs button{color:var(--muted);font:600 .86rem var(--body);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.85rem .6rem}.tabs button:hover{color:var(--fg)}.tabs button[aria-selected=true]{color:var(--lav-ink);border-bottom-color:var(--lav-edge)}.tab-body{padding:1.25rem}.checklist{gap:2px;display:grid}.check{color:var(--muted);border-radius:7px;align-items:center;gap:.75rem;padding:.5rem .6rem;font-size:.92rem;display:flex}.check.is-done{color:var(--fg)}.dot{border:1.5px solid var(--edge);background:var(--card);width:1.6rem;height:1.6rem;font:600 .72rem var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.is-done .dot{background:var(--mint);border-color:var(--mint-edge);color:var(--mint-ink)}.answers{gap:.75rem;display:grid}.answer{background:var(--card);border:1px solid var(--edge);box-shadow:3px 3px 0 var(--shadow);border-radius:8px;gap:.25rem;padding:.9rem 1rem;display:grid}.answer strong a{color:inherit;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.table-scroll{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:.86rem}.tbl th{text-align:left;font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#6e5a7e;border-bottom:1px solid var(--edge);background:var(--lav-soft);white-space:nowrap;padding:.65rem 1rem}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.65rem 1rem}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr{cursor:default}.tbl tbody tr:nth-child(2n){background:#fbf8fd}.tbl tbody tr:hover{background:#f3ecf9}.tab-body .table-scroll{border:1px solid var(--edge);border-radius:8px}.convo{gap:.7rem;display:grid}.msg{overflow-wrap:anywhere;border-radius:10px;max-width:85%;padding:.7rem .9rem;font-size:.9rem;line-height:1.55}.msg p{margin:0 0 .4rem}.msg p:last-child{margin:0}.msg ul{margin:0 0 .4rem;padding-left:1.1rem}.msg .code{margin:.4rem 0}.msg-meta{color:var(--muted);margin-bottom:.3rem;font-size:.75rem;display:block}.msg.is-user{background:var(--lav);color:var(--lav-ink);border:1px solid var(--lav-edge);white-space:pre-wrap;border-bottom-right-radius:3px;justify-self:end}.msg.is-user .msg-meta{color:#5e4a78}.msg.is-assistant{background:var(--card);border:1px solid var(--edge);box-shadow:3px 3px 0 var(--shadow);border-bottom-left-radius:3px;justify-self:start}.pending-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.pending{gap:1rem;padding:1.25rem;display:grid}.pending dl{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0;font-size:.9rem;display:grid}.pending dt{color:var(--muted)}.pending dd{overflow-wrap:anywhere;min-width:0;margin:0}.pending dd a{text-underline-offset:2px;color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.pending .actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.feed{gap:1rem;max-width:900px;display:grid}.feed-item{gap:.6rem;padding:1rem 1.25rem;display:grid}.feed-item header{cursor:pointer}.question{white-space:pre-wrap;margin:0;font-size:.98rem;font-weight:500}.feed-item summary{cursor:pointer;color:var(--lav-ink);font-size:.85rem;font-weight:600}.answer-body{background:var(--soft);border:1px solid var(--line);border-radius:8px;margin-top:.6rem;padding:.8rem 1rem;font-size:.9rem}.answer-body p{margin:0 0 .5rem}.adm-login{place-items:center;min-height:100vh;padding:16px;display:grid}.adm-login .card{background:var(--card);border:1px solid var(--edge);width:min(380px,100%);box-shadow:6px 6px 0 var(--shadow);border-radius:12px;gap:.9rem;padding:2rem;display:grid}.adm-login img{width:64px;height:64px}.adm-login h1{letter-spacing:-.04em;font-size:1.7rem;font-weight:700}.adm-login p{margin:-.6rem 0 .4rem}.adm-login .muted{color:#776386;font:500 .72rem var(--mono);letter-spacing:.06em}.adm-login label{color:#695774;gap:.35rem;font-size:.82rem;font-weight:600;display:grid}.missed-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:1rem;padding:.8rem 1.25rem;display:flex}.missed-row:last-child{border-bottom:0}.missed-rate{text-align:center;background:var(--pink);border:1px solid var(--pink-edge);min-width:3.4rem;color:var(--pink-ink);font:700 .82rem var(--mono);border-radius:5px;flex:none;padding:.2rem .4rem}.badge-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.badge-chip{border:1px dashed var(--edge);color:var(--muted);opacity:.65;filter:grayscale();border-radius:6px;padding:.25rem .55rem;font-size:.78rem}.badge-chip.is-earned{opacity:1;filter:none;color:var(--lav-ink);background:var(--lav-soft);box-shadow:0 2px 0 var(--shadow);border-style:solid}.quiz-review{gap:.5rem;display:grid}.qr{border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:.7rem;padding:.55rem .7rem;font-size:.9rem;display:flex}.qr .grow{gap:.2rem}.qr-mark{border-radius:50%;flex:none;place-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;font-weight:700;display:grid}.qr.is-right .qr-mark{background:var(--mint);color:var(--mint-ink);border:1px solid var(--mint-edge)}.qr.is-wrong{color:#7f3c52;background:#fdf1f4;border-color:#f0cfd8}.qr.is-wrong .qr-mark{background:var(--pink);color:var(--pink-ink);border:1px solid var(--pink-edge)}.qr.is-todo{color:var(--muted)}.detail{container-type:inline-size}@container (width<=640px){.detail-head{flex-direction:column;align-items:flex-start}.detail-head .btn{width:100%}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div:nth-child(2n){border-right:0}.confirm-box .btn{flex:auto}}@media (width<=1180px){.master-detail{grid-template-columns:1fr}.master{max-height:none;position:static}.master-detail.has-selection .master{display:none}.back{display:inline-block}}@media (width<=1000px){.live-grid{grid-template-columns:1fr}}@media (width<=900px){.adm{grid-template-columns:1fr}.adm-side{z-index:5;border-right:0;border-bottom:1px solid var(--edge);height:auto;box-shadow:0 4px 0 var(--shadow);flex-direction:row;align-items:center;gap:.75rem;padding:.6rem .75rem;position:sticky;top:0;overflow-x:auto}.adm-brand small,.adm-side-foot{display:none}.adm-side nav{display:flex}.adm-side nav a{white-space:nowrap;padding:.5rem .7rem}}@media (prefers-reduced-motion:reduce){.live-dot,.live-item.is-new{animation:none}.btn,.kpi{transition:none}}.detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.detail-actions .confirm-box{flex-basis:100%}@container (width<=640px){.detail-actions{justify-content:stretch;width:100%}.detail-actions>.btn{flex:1}}.preview-link{font:600 .9rem var(--mono,monospace);overflow-wrap:anywhere;text-decoration:underline;display:block}:root{--bg:#fff;--fg:#0a0a0a;--muted:#5c5c5c;--line:#e4e4e4;--soft:#f5f5f5;--code-bg:#0a0a0a;--code-fg:#f5f5f5;--head:"Bricolage Grotesque", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--fg);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--head);letter-spacing:-.02em;margin:0;line-height:1.1}a{color:inherit}code{font-family:var(--mono);background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:.1em .35em;font-size:.88em}.muted{color:var(--muted)}.small{font-size:.85rem}.kicker{font:500 .78rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 1rem}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.brand{font:700 1.1rem var(--head);letter-spacing:-.02em;text-decoration:none}.brand span{color:var(--muted);margin:0 .1em}.os-toggle{border:1px solid var(--fg);border-radius:999px;padding:3px;display:inline-flex}.os-toggle button{color:var(--fg);font:500 .88rem var(--body);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem 1rem}.os-toggle button[aria-selected=true]{background:var(--fg);color:var(--bg)}.hero{grid-template-columns:1.2fr 1fr;align-items:start;gap:clamp(32px,6vw,80px);max-width:1160px;margin:0 auto;padding:clamp(40px,8vw,110px) clamp(16px,4vw,48px);display:grid}.hero h1{letter-spacing:-.04em;font-size:clamp(2.6rem,6.5vw,5rem);font-weight:800}.lead{color:var(--muted);max-width:34em;margin:1.5rem 0 2rem;font-size:1.15rem}.toc-preview{counter-reset:c;border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.toc-preview li{counter-increment:c;border-bottom:1px solid var(--line);padding:.55rem 0;font-weight:500}.toc-preview li:before{content:counter(c, decimal-leading-zero);font:.8rem var(--mono);color:var(--muted);margin-right:1rem}.signup{border:1.5px solid var(--fg);border-radius:16px;gap:.9rem;padding:clamp(20px,3vw,32px);display:grid;position:sticky;top:100px}.signup h2{font-size:1.6rem}.signup p{margin:0}.signup .row{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.signup label{gap:.35rem;font-size:.9rem;font-weight:500;display:grid}.signup input{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;min-width:0;padding:.7rem .85rem}.signup input:focus{outline:2px solid var(--fg);outline-offset:1px;border-color:var(--fg)}.error{color:#d11;font-weight:500}.primary{font:600 1rem var(--body);background:var(--fg);color:var(--bg);cursor:pointer;border:0;border-radius:10px;padding:.9rem;transition:transform .1s}.primary:hover{transform:translateY(-1px)}.primary:disabled{opacity:.6;cursor:wait}.layout{grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,5vw,72px);max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,48px);display:grid}.sidebar{align-self:start;max-height:calc(100vh - 80px);padding:2.5rem 0;position:sticky;top:80px;overflow:auto}.sidebar .kicker{text-transform:none;letter-spacing:0;color:var(--fg);font-size:.85rem}.progress{background:var(--line);border-radius:4px;height:4px;overflow:hidden}.progress div{background:var(--fg);height:100%;transition:width .3s}.sidebar ol{counter-reset:c;margin:1.2rem 0 0;padding:0;list-style:none}.sidebar li{counter-increment:c}.sidebar li a{color:var(--muted);padding:.4rem 0;font-size:.93rem;text-decoration:none;display:block}.sidebar li a:hover{color:var(--fg)}.sidebar li a:before{content:counter(c, decimal-leading-zero);font:.75rem var(--mono);margin-right:.7rem}.sidebar li.is-done a{color:var(--fg)}.sidebar li.is-done a:before{content:"✓"}.content{min-width:0;padding:2.5rem 0 4rem}.chapter{border-bottom:1px solid var(--line);padding:2rem 0 3.5rem}.chapter>header{align-items:flex-start;gap:1.2rem;margin-bottom:2rem;display:flex}.chapter>header p{margin:.6rem 0 0}.num{font:800 3rem/.9 var(--head);letter-spacing:-.04em;-webkit-text-stroke:1.5px var(--fg);color:#0000;min-width:2.6ch}.chapter h2{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800}.pill{font:500 .75rem var(--mono);border:1px solid var(--line);color:var(--fg);border-radius:999px;margin-right:.3rem;padding:.1rem .55rem;display:inline-block}.steps{grid-template-columns:minmax(0,1fr);gap:2.2rem;margin:0;padding:0;list-style:none;display:grid}.step{padding-left:2.6rem;position:relative}.step:before{content:"";background:var(--line);width:1px;position:absolute;top:2.2rem;bottom:-1.6rem;left:.8rem}.step:last-child:before{display:none}.step h3{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.step-num{background:var(--fg);width:1.65rem;height:1.65rem;color:var(--bg);font:600 .8rem var(--mono);border-radius:50%;place-items:center;display:grid;position:absolute;left:0}.step p{margin:0 0 .7rem}.step ul{margin:0 0 .7rem;padding-left:1.2rem}.code{margin:.9rem 0;position:relative}.code pre{background:var(--code-bg);color:var(--code-fg);border-radius:10px;margin:0;padding:1rem 5.5rem 1rem 1.1rem;overflow-x:auto}.code pre code{color:inherit;background:0 0;border:0;padding:0;font-size:.88rem;line-height:1.7}.code button{font:500 .75rem var(--mono);color:var(--code-fg);cursor:pointer;background:0 0;border:1px solid #555;border-radius:6px;padding:.3rem .6rem;position:absolute;top:.6rem;right:.6rem}.code button:hover{border-color:var(--code-fg)}.link-btn{border:1.5px solid var(--fg);border-radius:999px;margin:.4rem 0 .6rem;padding:.45rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.link-btn:hover{background:var(--fg);color:var(--bg)}.shot{margin:1rem 0}.shot img{border:1px solid var(--line);background:#fff;border-radius:10px;max-width:100%;height:auto;display:block}.shot figcaption{color:var(--muted);margin-top:.4rem;font-size:.78rem}.tip{border-left:3px solid var(--fg);background:var(--soft);border-radius:0 8px 8px 0;margin-top:.9rem;padding:.75rem 1rem;font-size:.93rem}.tip strong:first-child{font:700 .75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem;display:block}.done-btn{font:600 .95rem var(--body);color:var(--fg);border:1.5px solid var(--fg);cursor:pointer;background:0 0;border-radius:10px;margin-top:2.2rem;padding:.7rem 1.2rem}.done-btn.is-done,.done-btn:hover{background:var(--fg);color:var(--bg)}.faq{border-bottom:1px solid var(--line);padding:.9rem 0}.faq summary{cursor:pointer;font-weight:600}.faq p,.faq ul{margin:.6rem 0 0}.footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:2rem clamp(16px,4vw,48px);font-size:.82rem}@media (width<=900px){.hero,.layout{grid-template-columns:minmax(0,1fr)}.brand{white-space:nowrap;font-size:1rem}.os-toggle button{padding:.35rem .7rem}.signup{position:static}.sidebar{max-height:none;padding-bottom:0;position:static}.signup .row{grid-template-columns:1fr}.num{font-size:2.2rem}.step{padding-left:2.3rem}}.sidebar li.part{font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg);counter-increment:none;margin:1.2rem 0 .3rem}.sidebar li.part:first-child{margin-top:0}.part-title{font:600 .8rem var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--fg);color:var(--bg);border-radius:6px;margin:3rem 0 0;padding:.5rem .9rem;display:inline-block}.part-title:first-child{margin-top:0}.soon{font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px dashed var(--fg);vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.15rem .6rem;display:inline-block}.soon-card{border:1.5px dashed var(--fg);border-radius:16px;margin-top:3rem;padding:2rem}.soon-card .soon{margin:0 0 1rem}.soon-card h2{margin-bottom:.6rem}.exercise{margin-top:2rem;position:static}.exercise h3{font-size:1.25rem}.checkpoint{margin-top:2rem;position:static}.checkpoint h3{font-size:1.25rem}.lock-card{border:1.5px solid var(--fg);border-radius:16px;margin-top:3rem;padding:2rem}.lock-card .soon{margin:0 0 1rem}.lock-card h2{margin-bottom:.6rem}.lock-card .done-btn{margin-top:1rem}.sidebar li.is-locked a{opacity:.45}.sidebar li.is-locked a:after{content:" 🔒";font-size:.75em}.sidebar li.is-current a{color:var(--fg);font-weight:600}.chapter-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.2rem;display:flex}.chapter-actions .done-btn{margin:0}.ask-btn{color:var(--muted);font:500 .92rem var(--body);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.ask-btn:hover{color:var(--fg)}.assistant-fab{z-index:20;font:600 .95rem var(--body);background:var(--fg);color:var(--bg);cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.3rem;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0000002e}.assistant-fab:before{content:"?";background:var(--bg);width:1.3rem;height:1.3rem;color:var(--fg);font:800 .8rem var(--head);border-radius:50%;place-items:center;margin-right:.5rem;display:inline-grid}.assistant{z-index:20;background:var(--bg);border:1.5px solid var(--fg);border-radius:16px;flex-direction:column;width:min(420px,100vw - 32px);height:min(640px,100vh - 100px);display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden;box-shadow:0 16px 48px #00000038}.assistant header{background:var(--fg);color:var(--bg);justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem 1rem;display:flex}.assistant header div{min-width:0;display:grid}.assistant header strong{font:700 1rem var(--head)}.assistant header .muted{color:inherit;opacity:.7;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.assistant .close{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.assistant-list{flex:1;align-content:start;gap:.7rem;padding:1rem;display:grid;overflow-y:auto}.bubble{overflow-wrap:anywhere;border-radius:12px;max-width:90%;padding:.65rem .85rem;font-size:.92rem;line-height:1.55}.bubble p{margin:0 0 .5rem}.bubble p:last-child,.bubble ul:last-child{margin-bottom:0}.bubble ul{margin:0 0 .5rem;padding-left:1.1rem}.bubble .code{margin:.5rem 0}.bubble .code pre{padding:.7rem 4.5rem .7rem .8rem;font-size:.8rem}.user-bubble{background:var(--fg);color:var(--bg);white-space:pre-wrap;border-bottom-right-radius:4px;justify-self:end}.assistant-bubble{background:var(--soft);border:1px solid var(--line);border-bottom-left-radius:4px;justify-self:start}.typing{gap:4px;padding:.8rem .9rem;display:flex}.typing span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.suggestions{flex-wrap:wrap;gap:.4rem;padding:0 1rem .6rem;display:flex}.suggestions button{font:500 .8rem var(--body);color:var(--fg);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .7rem}.suggestions button:hover{border-color:var(--fg)}.assistant .error{margin:0 1rem .5rem}.assistant form{border-top:1px solid var(--line);gap:.5rem;padding:.7rem;display:flex}.assistant textarea{resize:none;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;flex:1;padding:.55rem .7rem;font-size:.92rem}.assistant textarea:focus{outline:2px solid var(--fg);outline-offset:0}.assistant form .primary{padding:0 1rem;font-size:.9rem}.assistant form .primary:disabled{cursor:not-allowed;opacity:.4}@media (width<=600px){.assistant{border-radius:16px 16px 0 0;width:100vw;height:85vh;bottom:0;right:0}}:root{--os-icon:brightness(0);--os-icon-selected:brightness(0) invert(1)}.ink{object-fit:contain;background:#fff;border-radius:12px}.brand .brand-name{color:var(--fg);white-space:nowrap;margin:0}.brand-name>span{margin:0 .35em}.brand{align-items:center;gap:.5rem;display:inline-flex}.brand-logo{border-radius:9px;flex:0 0 40px;width:40px;height:40px;padding:3px}.os-toggle button{align-items:center;gap:.4rem;display:inline-flex}.os-toggle img{object-fit:contain;width:20px;height:20px;filter:var(--os-icon);flex:0 0 20px}.os-toggle button[aria-selected=true] img{filter:var(--os-icon-selected)}.hero-art{width:100%;max-width:320px;height:auto;margin-top:1.5rem;padding:12px;display:block}.tracks{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.track{border:1px solid var(--line);border-radius:16px;padding:1.2rem}.track img{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;margin-bottom:1.2rem;padding:16px;display:block}.track .kicker{margin-bottom:.4rem}.track h3{font-size:1.35rem;font-weight:800}.track p{margin:.3rem 0 0}.track.is-soon{border-style:dashed;border-color:var(--fg)}.mentor{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 120px;align-items:center;gap:clamp(20px,4vw,48px);padding-top:clamp(32px,5vw,64px);display:grid}.mentor img{width:100%;height:auto;padding:12px;display:block}.mentor h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}.mentor-mascot{align-self:end}.part-banner{border-bottom:1.5px solid var(--fg);grid-template-columns:minmax(0,1fr) minmax(120px,260px);align-items:end;gap:1rem;margin-top:3rem;display:grid}.part-banner:first-child{margin-top:0}.part-banner .part-title{place-self:end start;margin:0 0 1rem}.part-banner img{width:100%;height:auto;max-height:150px;margin-bottom:1rem;padding:12px;display:block}.soon-card img{width:100%;max-width:260px;height:auto;margin-bottom:1rem;padding:12px;display:block}.assistant-fab{align-items:center;gap:.5rem;padding:.45rem 1.2rem .45rem .45rem;display:inline-flex}.assistant-fab:before{content:none}.assistant-fab img,.assistant-avatar{object-fit:contain;background:#fff;border-radius:12px;flex:0 0 42px;width:42px;height:42px;padding:3px}.assistant header{justify-content:flex-start}.assistant header div{flex:1}.hello-mascot{width:80px;height:80px;margin-bottom:.4rem;display:block}@media (width<=900px){.mentor{grid-template-columns:1fr}.mentor-mascot{width:110px!important}.hero-art{max-width:280px}}.hero .signup{position:static}@media (width<=600px){.topbar{flex-wrap:wrap;gap:.75rem}.brand{font-size:.95rem}.os-toggle{margin-left:auto}.tracks{grid-template-columns:minmax(0,1fr)}.track img{max-height:180px}.part-banner{grid-template-columns:minmax(0,1fr) 100px;gap:.5rem}.part-banner .part-title{font-size:.7rem}.part-banner img{padding:6px}}.video{margin:1rem 0}.video-frame{aspect-ratio:16/9;border:1px solid var(--line);background:#000;border-radius:12px;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video figcaption{color:var(--muted);margin-top:.4rem;font-size:.78rem}.pixel-art{object-fit:contain;image-rendering:pixelated;filter:none;background:0 0}.brand-logo.pixel-art{flex-basis:48px;width:48px;height:48px;padding:0}.hero-art.pixel-art{max-width:280px;padding:0}.track{--art-surface:#f0edf7}.track:nth-child(2){--art-surface:#edf5ef}.track:nth-child(3){--art-surface:#fbf0e8}.track>.pixel-art{aspect-ratio:auto;background:var(--art-surface);border-radius:10px;height:210px;padding:12px}.mentor>.pixel-art{max-height:290px;padding:0}.mentor>.mentor-mascot{max-height:120px}.part-banner>.pixel-art{height:150px;padding:0}.soon-card>.pixel-art{height:210px;padding:0}.assistant-fab img,.assistant-avatar{image-rendering:pixelated;background:#f0edf7;border-radius:8px;padding:0}.hello-mascot.pixel-art{width:96px;height:96px}.admin-logo.pixel-art{width:64px;height:64px}@media (width<=600px){.track>.pixel-art{height:190px;max-height:none}.part-banner>.pixel-art{height:100px}}.learning-world{--bg:#faf7ef;--fg:#49415d;--muted:#726980;--line:#ddd5e6;--soft:#f0eaf7;--code-bg:#ede7f5;--code-fg:#4f4269;--head:"Bricolage Grotesque", system-ui, sans-serif;--accent:#71608f;--edge:#b9abcd;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--fg);font:16px/1.65 var(--body);background-color:var(--bg);background-image:linear-gradient(#ded5ca38 1px,#0000 1px),linear-gradient(90deg,#ded5ca38 1px,#0000 1px);background-size:32px 32px;min-height:100vh}.learning-world h1,.learning-world h2,.learning-world h3{color:var(--fg)}.learning-world :focus-visible{outline-offset:4px;outline:3px solid #8973a7}.learning-world .kicker{color:#776386;font:500 .72rem/1.6 var(--mono);letter-spacing:.07em}.learning-world .topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf7eff2;border-bottom:1px solid #ddd5ca;gap:20px;padding:12px max(24px,50vw - 590px)}.learning-world .brand{gap:10px;font-size:1.1rem}.learning-world .brand-logo{flex-basis:52px;width:52px;height:52px}.learning-world .brand-name>span{color:#b0a0bd}.header-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.learning-world .os-toggle{background:#f1ebf6;border:1px solid #d4cadd;border-radius:9px;padding:4px}.learning-world .os-toggle button{color:#65566f;border-radius:5px;padding:7px 12px;font-size:.8rem}.learning-world .os-toggle button[aria-selected=true]{color:#493c62;background:#d7c9e9;box-shadow:0 2px #b8a6ce}.learning-world .os-toggle img,.learning-world .os-toggle button[aria-selected=true] img{filter:brightness(0)saturate()invert(27%)sepia(15%)saturate(1100%)hue-rotate(219deg)brightness(92%);flex-basis:16px;width:16px;height:16px}.header-login{border-bottom:1px dotted #9a86af;font-size:.82rem;font-weight:600;text-decoration:none}.logout-btn{color:#6b557f;font:600 .8rem var(--body);cursor:pointer;background:#f9f4fd;border:1px solid #d3c7df;border-radius:7px;padding:9px 13px}.logout-btn:disabled{opacity:.6;cursor:wait}.learning-world .hero{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:56px 60px;max-width:1180px;padding:64px 28px 80px}.hero-copy{padding-top:10px}.learning-world .world-badge{background:#f0e9f7;border:1px solid #d2c6df;border-radius:5px;padding:5px 10px;font-size:.62rem;display:inline-block}.learning-world .hero h1{letter-spacing:-.05em;font-size:clamp(3.1rem,5.3vw,4.7rem);font-weight:700;line-height:1.04}.learning-world .hero h1 em{color:#8971a6;font-style:normal}.learning-world .lead{max-width:440px;margin:24px 0;font-size:1rem;line-height:1.8}.hero-scene{align-items:center;gap:4px;min-height:230px;display:flex}.learning-world .hero-art.pixel-art{flex-shrink:0;width:55%;max-width:270px;margin:0}.scene-caption{border-left:2px dashed #c7b7d7;gap:8px;padding-left:16px;display:grid}.scene-caption span{font:500 .62rem var(--mono);color:#8b779b}.scene-caption strong{font:600 1rem var(--head)}.scene-caption small{max-width:150px;color:var(--muted);font-size:.76rem;line-height:1.6}.learning-world .signup{background:#fffcf7;border:1px solid #cbbbd9;border-radius:12px;gap:16px;padding:28px;box-shadow:5px 5px #e3d9ed}.learning-world .entry-card{border-top:5px solid #c6b2de;scroll-margin-top:120px;position:static}.entry-heading{align-items:center;gap:12px;display:flex}.entry-heading img{width:64px;height:64px}.learning-world .entry-heading .kicker{margin:0;font-size:.63rem}.entry-tabs{background:#f0e9f6;border:1px solid #e1d6eb;border-radius:7px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.entry-tabs button{color:#796889;font:600 .78rem var(--body);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:10px 4px}.entry-tabs button[aria-pressed=true]{color:#58466c;background:#fffcf7;box-shadow:0 2px #d1c2df}.learning-world .signup h2{font-size:1.7rem;font-weight:600}.learning-world .signup p{font-size:.84rem;line-height:1.7}.learning-world .signup p.small{font-size:.68rem}.learning-world .signup label{color:#695774;font-size:.78rem}.learning-world .signup input{background:#fffdf9;border:1px solid #dbd0e4;border-radius:6px;padding:12px;box-shadow:inset 0 2px #efe9f2}.learning-world .signup input::placeholder{color:#9a8da5}.learning-world .primary{color:#503c6a;background:#d8c5eb;border:1px solid #ad96c7;border-radius:6px;padding:13px 18px;font-size:.88rem;box-shadow:0 4px #ae95c5}.learning-world .primary:hover{background:#cdb5e5;transform:translateY(-1px)}.learning-world .primary:active{transform:translateY(2px);box-shadow:0 2px #ae95c5}.journey-heading{grid-column:1/-1;justify-content:space-between;align-items:end;gap:20px;margin-bottom:-30px;padding-top:20px;display:flex}.journey-heading h2{letter-spacing:-.04em;font-size:2rem;font-weight:600}.journey-heading .kicker{margin-bottom:8px}.journey-heading>p{color:var(--muted);max-width:210px;margin:0;font-size:.8rem}.learning-world .tracks{gap:24px}.learning-world .track{--art-surface:#ece4f5;background:#f4eef9;border:1px solid #cfc0df;border-radius:10px;padding:20px;box-shadow:0 5px #dfd1ea}.learning-world .track:nth-child(2){--art-surface:#e1ede3;background:#eff5ee;border-color:#bdcfbd;box-shadow:0 5px #d0e0cc}.learning-world .track:nth-child(3){--art-surface:#f4e5d7;background:#fcf2e8;border-color:#dcc4ad;box-shadow:0 5px #ead6c3}.learning-world .track>.pixel-art{background:0 0;height:190px;margin-bottom:15px;padding:0}.learning-world .track h3{font-size:1.3rem;font-weight:600}.learning-world .track p.small{font-size:.76rem}.learning-world .soon{color:#8b6c4f;background:#f5e5d4;border:1px solid #d9bea5;border-radius:4px;font-size:.6rem}.learning-world .mentor{background:#eef2e7;border:1px solid #cfdbc6;border-radius:12px;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr) 90px;gap:28px;padding:30px;box-shadow:0 5px #dce5d3}.learning-world .mentor h2{font-size:1.7rem;font-weight:600;line-height:1.2}.learning-world .mentor p{font-size:.85rem}.learning-world .mentor>.pixel-art{max-height:240px}.learning-world .mentor-mascot{align-self:center}.learning-world .layout{grid-template-columns:245px minmax(0,1fr);gap:36px;max-width:1260px;padding:36px 28px 60px}.learning-world .sidebar{background:#eee7f5;border:1px solid #d1c1e1;border-radius:10px;max-height:calc(100vh - 130px);padding:24px 20px;top:106px;box-shadow:4px 4px #e1d6ec}.sidebar-companion{width:64px;height:64px;margin:0 auto 16px;display:block}.learning-world .sidebar .kicker{font-size:.8rem}.learning-world .sidebar li a{border-radius:4px;padding:6px;font-size:.8rem}.learning-world .sidebar li.is-current a{color:#57406e;background:#dac8ed}.learning-world .sidebar li.is-done a{color:#527455}.learning-world .sidebar li.part{color:#80678e;font-size:.61rem}.learning-world .progress{background:#e0d4e8;border:1px solid #c5b6d1;border-radius:3px;height:9px}.learning-world .progress div{background:#a4c3a3;border-right:2px solid #819f81}.learning-world .content{padding:0}.learning-world .part-banner{background:#eee6f6;border:1px solid #d6c6e4;border-radius:10px;grid-template-columns:1fr 125px;align-items:center;margin:36px 0 24px;padding:16px 24px}.learning-world .part-banner:first-child{margin-top:0}.learning-world .part-banner .part-title{color:#6a527e;background:0 0;align-self:center;margin:0;padding:0;line-height:1.8}.learning-world .part-banner>.pixel-art{height:105px;margin:0}.learning-world .chapter{background:#fffcf7;border:1px solid #e0d6d0;border-radius:10px;margin-bottom:24px;padding:30px;scroll-margin-top:108px;box-shadow:0 3px #eee6dd}.learning-world .chapter h2{font-size:clamp(1.6rem,3vw,2rem);font-weight:600}.learning-world .num{color:#9c84b5;-webkit-text-stroke:0;font:500 1.7rem/1 var(--mono);background:#eee4f6;border-radius:5px;min-width:2ch;padding:10px}.learning-world .pill{color:#7e678d;background:#f3ecf9;border-color:#d8c7e4;border-radius:4px}.learning-world .step-num{color:#5e4872;background:#d8c7e8;border:1px solid #bfa8d2;border-radius:4px}.learning-world .step:before{background:#dfd0eb}.learning-world .step h3{font-weight:600}.learning-world .step p,.learning-world .step ul{font-size:.92rem}.learning-world .tip{color:#54674d;background:#edf3e8;border-color:#a6bfa0}.learning-world .code pre{border:1px solid #d4c5e2;border-radius:7px}.learning-world .code button{color:#7d678f;border-color:#c3b0d4}.learning-world .link-btn,.learning-world .done-btn{color:#6a507e;background:#f2eaf8;border:1px solid #c9b6da;border-radius:6px;font-size:.84rem;box-shadow:0 3px #dfd1e9}.learning-world .link-btn:hover,.learning-world .done-btn.is-done,.learning-world .done-btn:hover{color:#516749;background:#dcead7;border-color:#b0c4a8;box-shadow:0 3px #c4d8bc}.learning-world .assistant-fab{color:#503c6a;background:#d8c5eb;border:1px solid #ad96c7;border-radius:9px;box-shadow:0 4px #ad96c7}.learning-world .assistant{background:#fffcf7;border-color:#b69fca;border-radius:12px;box-shadow:6px 6px #b7a0ca55}.learning-world .assistant header{color:#57416d;background:#e4d6f0;border-bottom:1px solid #c6b0d9}.learning-world .assistant-fab img,.learning-world .assistant-avatar{background:0 0}.learning-world .assistant-bubble{background:#f1eaf8;border-color:#e1d3ed}.learning-world .user-bubble{color:#506449;background:#deead8}.learning-world .assistant textarea{background:#fffdf9;border-color:#d3c2e0}.learning-world .footer{background:#eee8f1;border-top:1px solid #d7cbdf;padding:32px 24px}.learning-world .footer-signature{font:600 1.1rem var(--head);color:#8b719e}.learning-world .footer>p:last-child{font-size:.68rem}.learning-world .error{color:#a13f61}.session-error{background:#fae4e9;border-radius:8px;max-width:1124px;margin:24px auto;padding:16px}.session-loading{text-align:center;min-height:65vh;padding:100px 24px}@media (width<=950px){.learning-world .hero{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:36px;padding-top:40px}.learning-world .hero h1{font-size:3.4rem}.learning-world .layout{grid-template-columns:1fr}.learning-world .sidebar{max-height:none;position:static}.learning-world .sidebar ol{columns:2}.learning-world .sidebar li{break-inside:avoid}.learning-world .mentor{grid-template-columns:180px 1fr}.learning-world .mentor-mascot{display:none}}@media (width<=700px){.learning-world .topbar{flex-wrap:wrap;gap:10px;padding:10px 16px}.learning-world .brand{font-size:.95rem}.learning-world .brand-logo{flex-basis:40px;width:40px;height:40px}.header-actions{justify-content:space-between;gap:10px;width:100%}.learning-world .os-toggle{margin:0}.learning-world .hero{grid-template-columns:1fr;gap:36px;padding:32px 20px 48px}.learning-world .hero h1{font-size:clamp(2.8rem,12vw,4rem)}.learning-world .hero .world-badge{font-size:.52rem}.hero-scene{min-height:0}.scene-caption{padding-left:12px}.scene-caption strong{font-size:.9rem}.learning-world .signup{padding:22px}.journey-heading{margin-bottom:-10px;display:block}.journey-heading>p{max-width:none;margin-top:10px}.journey-heading h2{font-size:1.7rem}.learning-world .tracks{grid-template-columns:1fr}.learning-world .mentor{grid-template-columns:1fr;padding:24px}.learning-world .mentor>.pixel-art{max-height:210px}.learning-world .mentor h2{font-size:1.6rem}.learning-world .layout{gap:24px;padding:24px 16px}.learning-world .sidebar ol{columns:1}.learning-world .chapter{padding:22px 16px}.learning-world .chapter>header{gap:12px}.learning-world .num{padding:8px;font-size:1.1rem}.learning-world .part-banner{grid-template-columns:1fr 80px;padding:16px}.learning-world .part-banner>.pixel-art{height:80px}.learning-world .assistant-fab{bottom:14px;right:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.learning-world *,.learning-world :before{transition:none!important;animation:none!important}}.learning-world .map-toggle{display:none}@media (width<=950px){.learning-world .map-toggle{text-align:left;color:#6a507e;width:100%;font:600 .8rem var(--body);cursor:pointer;background:#e3d6ee;border:1px solid #cbb5dd;border-radius:5px;padding:10px;display:block}.learning-world .sidebar ol:not(.is-open){display:none}.learning-world .sidebar-companion{float:right;margin:0 0 8px 16px}.learning-world .sidebar .progress{max-width:240px}}.home-levels{text-align:center;grid-column:1/-1;min-width:0;padding:20px 0}.home-levels h2{letter-spacing:-.04em;margin:0 0 32px;font-size:clamp(1.8rem,3.5vw,2.5rem)}.home-levels ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.home-levels li{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.home-levels .level-icon{width:96px;height:112px;margin-bottom:10px}.home-levels li>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.home-levels strong{max-width:140px;font-size:.78rem;line-height:1.5}@keyframes world-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}@keyframes companion-float{0%,to{transform:translateY(0)rotate(2deg)}50%{transform:translateY(-6px)rotate(-2deg)}}@media (prefers-reduced-motion:no-preference){.learning-world .hero-art.pixel-art{animation:6s ease-in-out infinite world-float}.world-island-art img{animation:5.8s ease-in-out infinite world-float}.world-island:nth-child(2) .world-island-art img{animation-duration:6.4s;animation-delay:-2s}.world-island:nth-child(3) .world-island-art img{animation-duration:7s;animation-delay:-4s}.home-levels .level-icon{animation:world-float 5s ease-in-out var(--float-delay,0s) infinite}.learning-world .mentor-mascot,.entry-heading .pixel-art{animation:5.5s ease-in-out -1s infinite companion-float}}@media (width<=760px){.home-levels ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}}@media (width<=380px){.home-levels ol{grid-template-columns:repeat(2,minmax(0,1fr))}}.quiz{background:#fffcf7;border:1px solid #d8cbe4;border-radius:12px;margin-top:2rem;padding:20px;box-shadow:4px 4px #ebe2f2}.quiz>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.quiz>header h3{font-size:1.15rem;font-weight:600}.quiz-q{border-top:1px dashed #e0d5ea;padding:14px 0}.quiz-q:first-of-type{border-top:0}.quiz-question{margin:0 0 10px;font-weight:600}.quiz-choices{gap:8px;display:grid}.quiz-choice{text-align:left;width:100%;font:500 .9rem/1.5 var(--body);color:var(--fg);cursor:pointer;background:#f7f2fb;border:1px solid #ddd0e8;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:transform 80ms,background .15s;display:flex;box-shadow:0 2px #e6dcef}.quiz-choice:hover:not(:disabled){background:#efe5f8;transform:translateY(-1px)}.quiz-choice:disabled{cursor:default}.quiz-letter{color:#5e4872;width:24px;height:24px;font:700 .72rem var(--mono);background:#e6daf1;border-radius:5px;flex:none;place-items:center;display:grid}.quiz-choice.is-right{background:#e3f0de;border-color:#a9c6a0;box-shadow:0 2px #c3d9bb}.quiz-choice.is-right .quiz-letter{color:#fff;background:#9cc392}.quiz-choice.is-wrong{background:#fbe7ec;border-color:#e0a9b8;box-shadow:0 2px #efcdd6}.quiz-choice.is-wrong .quiz-letter{color:#fff;background:#d98aa0}.quiz-choice.is-dim{opacity:.55}.quiz-explain{border-radius:8px;margin-top:10px;padding:10px 12px;font-size:.88rem}.quiz-explain.is-right{color:#4c6545;background:#edf5ea}.quiz-explain.is-wrong{color:#7f3c52;background:#fcf0f3}.quiz-explain .ask-btn{margin-top:6px;display:block}.player-card{background:#fffcf7;border:1px solid #d6c8e2;border-radius:10px;margin:14px 0 6px;padding:12px;box-shadow:3px 3px #e7ddef}.player-level{align-items:center;gap:10px;display:flex}.player-icon{font-size:1.7rem;line-height:1}.player-level div{line-height:1.25;display:grid}.player-level strong{font:600 .95rem var(--head)}.xp-bar{background:#ece4f3;border:1px solid #ddd0e8;border-radius:99px;height:8px;margin:10px 0 4px;overflow:hidden}.xp-bar>div{background:linear-gradient(90deg,#c7b2e0,#a9c6a0);border-radius:99px;height:100%;transition:width .5s}.player-card>p{margin:0;font-size:.72rem}.badge-strip{color:#6a507e;cursor:pointer;width:100%;font:600 .78rem var(--body);background:#f3edf8;border:1px solid #e0d4ea;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.badge-strip:hover{background:#ebe1f5}.badge-icons{gap:2px;font-size:1.05rem;display:flex}.badges-dialog{width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--fg);background:#fffcf7;border:1px solid #c9b6da;border-radius:14px;padding:24px;box-shadow:8px 8px #b7a0ca55}.badges-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#49415d66}.badges-dialog>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.badges-dialog h2{font-size:1.5rem;font-weight:600}.badges-dialog .kicker{margin:0 0 4px}.badges-dialog .close{color:#6a507e;cursor:pointer;background:0 0;border:0;font-size:1.8rem;line-height:1}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.badge-tile{text-align:center;opacity:.7;background:#f4f0f7;border:1px dashed #d8cde3;border-radius:10px;justify-items:center;gap:4px;padding:14px 10px;display:grid}.badge-tile .badge-icon{filter:grayscale();font-size:2rem}.badge-tile strong{font-size:.85rem}.badge-tile .small{font-size:.7rem;line-height:1.4}.badge-tile.is-earned{opacity:1;background:#f1eaf8;border:1px solid #c9b6da;box-shadow:0 3px #dccdea}.badge-tile.is-earned .badge-icon{filter:none;animation:.4s ease-out pop}.toasts{z-index:1000;pointer-events:none;gap:8px;display:grid;position:fixed;top:96px;left:50%;transform:translate(-50%)}.toast{color:#503c6a;font:600 .95rem var(--body);background:#fffcf7;border:1px solid #ad96c7;border-radius:10px;padding:12px 18px;animation:.35s ease-out toast-in;box-shadow:0 4px #ad96c7}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.15)}}.code .hljs{color:var(--code-fg)}.hljs-comment,.hljs-quote,.hljs-meta{color:#8c8398;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-name,.hljs-section{color:#7b4fa6;font-weight:600}.hljs-tag{color:#9a7bb8}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:#b5563b}.hljs-string,.hljs-regexp,.hljs-addition{color:#3f7d4e}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet{color:#b0671f}.hljs-built_in,.hljs-title,.hljs-type{color:#2f6f9f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-deletion{color:#a13f61}.code-note{color:#7d678f;margin:6px 0 0;font-size:.74rem}.session-notice{z-index:1000;color:#3f5a38;max-width:calc(100vw - 32px);font:600 .95rem var(--body);background:#e3f0de;border:1px solid #a9c6a0;border-radius:10px;margin:0;padding:12px 18px;animation:.35s ease-out toast-in;position:fixed;top:96px;left:50%;transform:translate(-50%);box-shadow:0 4px #a9c6a0}.security-check{background:#fffcf7;border:1px solid #d8cbe4;border-left:5px solid #8973a7;border-radius:12px;gap:10px;margin-top:2rem;padding:20px;display:grid;box-shadow:4px 4px #ebe2f2}.security-check h3{font-size:1.15rem;font-weight:600}.security-check p{margin:0}.security-check .primary{justify-self:start}.sec-result{background:#f3edf8;border-radius:8px;padding:10px 12px}.sec-result.is-ok{color:#3f5a38;background:#e3f0de;border:1px solid #a9c6a0}.sec-result.is-warn{color:#7f3c52;background:#fbe7ec;border:1px solid #e0a9b8}.sec-result ul{margin:6px 0;padding-left:1.2rem}.sec-result a{color:inherit;font-weight:600}.sec-confirm{cursor:pointer;align-items:flex-start;gap:8px;font-size:.88rem;font-weight:600;display:flex}.theme-switch{z-index:30;background:#fffcf7;border:1px solid #cbbbd9;border-radius:10px;gap:2px;padding:3px;display:flex;position:fixed;bottom:16px;left:16px;box-shadow:3px 3px #e3d9ed}.theme-switch button{cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:7px;place-items:center;width:34px;height:30px;font-size:15px;line-height:1;display:grid}.theme-switch button:hover{opacity:1;background:#f0eaf7}.theme-switch button[aria-checked=true]{opacity:1;background:#d8c5eb;box-shadow:0 2px #ad96c7}.theme-switch button:focus-visible{outline-offset:1px;outline:2px solid #8973a7}.adm~.theme-switch{left:264px}@media (width<=900px){.adm~.theme-switch{left:16px}}@media (width<=700px){.theme-switch{bottom:14px;left:14px}}:root[data-theme=dark] .adm,:root[data-theme=dark] .adm-login{--bg:#2a2821;--fg:#d6cfe8;--muted:#b6aec3;--line:#352d3d;--soft:#241f29;--card:#2e2c27;--edge:#453952;--shadow:#332a3c;--lav:#402f51;--lav-soft:#211929;--lav-edge:#6d5985;--lav-ink:#d5c3ed;--mint:#323f2d;--mint-edge:#61735a;--mint-ink:#dbf4d5;--pink:#2b171c;--pink-edge:#6f3d4b;--pink-ink:#e28aa8;--peach:#2c221b;--peach-edge:#835d3c;--peach-ink:#f9cea4;--code-bg:#1f1a27;--code-fg:#cec2e5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:linear-gradient(#4d453b38 1px,#0000 1px),linear-gradient(90deg,#4d453b38 1px,#0000 1px)}:root[data-theme=dark] body:has(.adm,.adm-login){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#2a2821}:root[data-theme=dark] .adm :focus-visible,:root[data-theme=dark] .adm-login :focus-visible{outline:3px solid #917dac}:root[data-theme=dark] .adm-loading{color:#b6aec3;background:#2a2821}:root[data-theme=dark] .adm-side{background:#2b2823}:root[data-theme=dark] .adm-brand small{color:#b3a1c0}:root[data-theme=dark] .live-dot{background:#87ba7e;box-shadow:0 0 #87ba7e99}:root[data-theme=dark] .live-dot.is-off{background:#554e5d}:root[data-theme=dark] .btn.primary:hover{background:#4c3762}:root[data-theme=dark] .btn.danger:hover{background:#280b12}:root[data-theme=dark] .bar{background:#1f1825;border:1px solid #3c3046}:root[data-theme=dark] .bar>span{background:linear-gradient(90deg,#4f3c65,#617b59)}:root[data-theme=dark] .pill-status.is-progress{color:#c4b2dc}:root[data-theme=dark] .group-label{color:#bcaacb}:root[data-theme=dark] .confirm-box{color:#e9adc0;background:#2d2225;box-shadow:3px 3px #3f242c}:root[data-theme=dark] .row-item:hover{background:#28232b}:root[data-theme=dark] .kpi.is-alert{box-shadow:4px 4px #4c3a29}:root[data-theme=dark] .presence{background:#87ba7e}:root[data-theme=dark] .master-tools input,:root[data-theme=dark] .adm-login input{background:#2e2c29;border:1px solid #3e3446;box-shadow:inset 0 2px #211c24}:root[data-theme=dark] .master-tools input::placeholder,:root[data-theme=dark] .adm-login input::placeholder{color:#998ea4}:root[data-theme=dark] .master-tools input:focus,:root[data-theme=dark] .adm-login input:focus{outline:2px solid #917dac}:root[data-theme=dark] .learner-item:hover{background:#28232b}:root[data-theme=dark] .facts{background:#2b272d}:root[data-theme=dark] .tbl th{color:#bcaacb}:root[data-theme=dark] .tbl tbody tr:nth-child(2n){background:#2b282d}:root[data-theme=dark] .tbl tbody tr:hover{background:#241e2a}:root[data-theme=dark] .msg.is-user .msg-meta{color:#c4b2dc}:root[data-theme=dark] .adm-login .muted{color:#b3a1c0}:root[data-theme=dark] .adm-login label{color:#c5b5cf}:root[data-theme=dark] .qr.is-wrong{color:#e9adc0;background:#2d2225;border-color:#462830}:root[data-theme=dark] .badge-celebration{color:#2f291e;background:radial-gradient(at 50% 42%,#b6aad0e8,#eee9fcf5 72%)}:root[data-theme=dark] .badge-celebration::backdrop{background:#eee9fcb8}:root[data-theme=dark] .celebration-close{color:#2f291e;background:#2e2e2e11;border:1px solid #2e2e2e55}:root[data-theme=dark] .celebration-eyebrow{color:#3d304d}:root[data-theme=dark] .celebration-halo{background:radial-gradient(circle,#6e57334d,#412f611a 60%,#0000 72%);box-shadow:0 0 80px #3a1c5e18}:root[data-theme=dark] .celebration-medal{filter:drop-shadow(0 20px 14px #efebf966)}:root[data-theme=dark] .celebration-spark{background:#6e542b}:root[data-theme=dark] .celebration-spark:nth-of-type(3n){background:#3d5f51}:root[data-theme=dark] .celebration-spark:nth-of-type(3n+1){background:#3c2a5b}:root[data-theme=dark] .celebration-label{color:#335747}:root[data-theme=dark] .learning-world .badge-celebration h2{color:#2f291e}:root[data-theme=dark] #celebration-description{color:#362d3f}:root[data-theme=dark] .celebration-continue{color:#e8dcf7;background:#2f233f;border:1px solid #23162f;box-shadow:0 4px #7c668f}:root[data-theme=dark] .celebration-count{color:#564a63}:root[data-theme=dark] .badge-celebration button:focus-visible{outline:3px solid #335747}:root[data-theme=dark] .badge-state{color:#aea2b9;background:#1e1922;border:1px solid #40364a}:root[data-theme=dark] .is-earned .badge-state{color:#c4e2cd;background:#192216;border-color:#4b614e}:root[data-theme=dark] .footer-brand{color:#2f2619}:root[data-theme=dark] .footer-brand-sub{color:#553e6f}:root[data-theme=dark] .footer-intro>p{color:#332939}:root[data-theme=dark] .footer-note{color:#655674}:root[data-theme=dark] .learning-world .course-atlas h3{color:#271d2f}:root[data-theme=dark] .course-atlas li a{color:#463952}:root[data-theme=dark] .course-atlas li a[aria-current]{color:#2f2619;background:#2e2e2e0b}:root[data-theme=dark] .course-atlas li a.is-complete{color:#3d573f}:root[data-theme=dark] .course-atlas li a:focus-visible,:root[data-theme=dark] .footer-brand:focus-visible{outline:2px solid #3d215a}:root[data-theme=dark] .footer-soon{color:#715337;border:1px solid #bda9c1}@media (hover:hover){:root[data-theme=dark] .course-atlas li a:hover{color:#2f2619;background:#2e2e2e0b}}:root[data-theme=dark] .learning-world .sidebar li.is-done a:after{color:#b5d4b8}:root[data-theme=dark] .course-atlas .footer-more{color:#462e5b}:root[data-theme=dark] .course-atlas .footer-more:hover{color:#2f2619}:root[data-theme=dark] .course-atlas .footer-more:focus-visible{outline:2px solid #3d215a}:root[data-theme=dark] .footer-tools{border-top:1px solid #d5c3e5;border-bottom:1px solid #d5c3e5}:root[data-theme=dark] .footer-tools>span{color:#574766}:root[data-theme=dark] .footer-tools a{color:#3b3044}:root[data-theme=dark] .footer-tools a:hover{color:#2f2619}:root[data-theme=dark] .footer-tools a:focus-visible{outline:2px solid #3d215a}:root[data-theme=dark] .quiz{background:#2e2c27;border:1px solid #41354c;box-shadow:4px 4px #1e1624}:root[data-theme=dark] .quiz-q{border-top:1px dashed #382e41}:root[data-theme=dark] .quiz-choice{background:#28232b;border:1px solid #3c3046;box-shadow:0 2px #1a1122}:root[data-theme=dark] .quiz-choice:hover:not(:disabled){background:#211829}:root[data-theme=dark] .quiz-letter{color:#ccb9de;background:#31263b}:root[data-theme=dark] .quiz-choice.is-right{background:#172313;border-color:#617b59;box-shadow:0 2px #495d42}:root[data-theme=dark] .quiz-choice.is-right .quiz-letter{color:#2e2e2e;background:#66895d}:root[data-theme=dark] .quiz-choice.is-wrong{background:#2c1a1e;border-color:#6f3d4b;box-shadow:0 2px #482a32}:root[data-theme=dark] .quiz-choice.is-wrong .quiz-letter{color:#2e2e2e;background:#8f485c}:root[data-theme=dark] .quiz-explain.is-right{color:#cce3c6;background:#1f261d}:root[data-theme=dark] .quiz-explain.is-wrong{color:#e9adc0;background:#2c2124}:root[data-theme=dark] .player-card{background:#2e2c27;border:1px solid #44374f;box-shadow:3px 3px #1b1222}:root[data-theme=dark] .xp-bar{background:#1f1825;border:1px solid #3c3046}:root[data-theme=dark] .xp-bar>div{background:linear-gradient(90deg,#4f3c65,#617b59)}:root[data-theme=dark] .badge-strip{color:#c3abd5;background:#241f29;border:1px solid #392e42}:root[data-theme=dark] .badge-strip:hover{background:#1e1527}:root[data-theme=dark] .badges-dialog{background:#2e2c27;border:1px solid #534262;box-shadow:8px 8px #69557a55}:root[data-theme=dark] .badges-dialog::backdrop{background:#d6cfe866}:root[data-theme=dark] .badges-dialog .close{color:#c3abd5}:root[data-theme=dark] .badge-tile{background:#252228;border:1px dashed #40364a}:root[data-theme=dark] .badge-tile.is-earned{background:#231c29;border:1px solid #534262;box-shadow:0 3px #3c2f49}:root[data-theme=dark] .toast{color:#d4c2eb;background:#2e2c27;border:1px solid #6d5985;box-shadow:0 4px #6d5985}:root[data-theme=dark] .hljs-comment,:root[data-theme=dark] .hljs-quote,:root[data-theme=dark] .hljs-meta{color:#938b9e}:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-selector-tag,:root[data-theme=dark] .hljs-name,:root[data-theme=dark] .hljs-section{color:#aa83d1}:root[data-theme=dark] .hljs-tag{color:#876ba2}:root[data-theme=dark] .hljs-attr,:root[data-theme=dark] .hljs-attribute,:root[data-theme=dark] .hljs-variable,:root[data-theme=dark] .hljs-template-variable{color:#e48e76}:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-regexp,:root[data-theme=dark] .hljs-addition{color:#aee6bc}:root[data-theme=dark] .hljs-number,:root[data-theme=dark] .hljs-literal,:root[data-theme=dark] .hljs-symbol,:root[data-theme=dark] .hljs-bullet{color:#ffbf80}:root[data-theme=dark] .hljs-built_in,:root[data-theme=dark] .hljs-title,:root[data-theme=dark] .hljs-type{color:#8ec7f2}:root[data-theme=dark] .hljs-deletion{color:#e28aa8}:root[data-theme=dark] .code-note{color:#ab97bb}:root[data-theme=dark] .session-notice{color:#d9f1d3;background:#172313;border:1px solid #617b59;box-shadow:0 4px #617b59}:root[data-theme=dark] .security-check{background:#2e2c27;border:1px solid #41354c;border-left:5px solid #917dac;box-shadow:4px 4px #1e1624}:root[data-theme=dark] .sec-result{background:#241f29}:root[data-theme=dark] .sec-result.is-ok{color:#d9f1d3;background:#172313;border:1px solid #617b59}:root[data-theme=dark] .sec-result.is-warn{color:#e9adc0;background:#2c1a1e;border:1px solid #6f3d4b}:root[data-theme=dark] .track{--art-surface:#221f28}:root[data-theme=dark] .track:nth-child(2){--art-surface:#1f2621}:root[data-theme=dark] .track:nth-child(3){--art-surface:#2c221b}:root[data-theme=dark] .assistant-fab img,:root[data-theme=dark] .assistant-avatar{background:#221f28}:root[data-theme=dark]{--bg:#2e2e2e;--fg:#f2f2f2;--muted:#cdcdcd;--line:#323232;--soft:#262626;--code-bg:#f2f2f2;--code-fg:#262626;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .error{color:#ff5d5d}:root[data-theme=dark] .code button{border:1px solid #d4d4d4}:root[data-theme=dark] .shot img{background:#2e2e2e}:root[data-theme=dark] .assistant-fab{box-shadow:0 8px 24px #f2f2f22e}:root[data-theme=dark] .assistant{box-shadow:0 16px 48px #f2f2f238}:root[data-theme=dark] .ink,:root[data-theme=dark] .assistant-fab img,:root[data-theme=dark] .assistant-avatar{background:#2e2e2e}:root[data-theme=dark] .video-frame{background:#f2f2f2}:root[data-theme=dark] .theme-switch{background:#2e2c27;border:1px solid #50425d;box-shadow:3px 3px #332a3c}:root[data-theme=dark] .theme-switch button:hover{background:#221c28}:root[data-theme=dark] .theme-switch button[aria-checked=true]{background:#402f51;box-shadow:0 2px #6d5985}:root[data-theme=dark] .theme-switch button:focus-visible{outline:2px solid #917dac}:root[data-theme=dark] .world-islands{background:radial-gradient(at 15% 35%,#1c12267d,#0000 55%),radial-gradient(at 60% 65%,#2d3e3285,#0000 50%),#2f2a23;border:1px solid #3c3441}:root[data-theme=dark] .world-islands:before{border-top:3px dashed #5b4c65}:root[data-theme=dark] .world-island{--island-bg:#221b28;--island-border:#483757;--island-shadow:#362a3e}:root[data-theme=dark] .world-island--mint{--island-bg:#1d241c;--island-border:#4d5e4b;--island-shadow:#394434}:root[data-theme=dark] .world-island--peach{--island-bg:#2b2217;--island-border:#6e583f;--island-shadow:#4b3e2b}:root[data-theme=dark] .world-island-art{background:radial-gradient(#2e2e2ecc 0,#2e2e2e00 65%)}:root[data-theme=dark] .world-island-number{color:#b9abc4}:root[data-theme=dark] .world-island-description{color:#b7acbf}:root[data-theme=dark] .world-island-status{color:#cabbd3}:root[data-theme=dark] .world-itinerary-soon{color:#c5b8a8}:root[data-theme=dark] .world-island-action{color:#d6c4e6}:root[data-theme=dark] .world-island-action:focus-visible,:root[data-theme=dark] .world-itinerary summary:focus-visible{outline:3px solid #947fae}:root[data-theme=dark] .map-horizon span{color:#826e92}@media (width<=760px){:root[data-theme=dark] .world-islands:before{border-left:3px dashed #5b4c65}}:root[data-theme=dark] .learning-world{--bg:#2a2821;--fg:#d6cfe8;--muted:#aea6bb;--line:#393241;--soft:#221c28;--code-bg:#1f1a27;--code-fg:#cec2e5;--accent:#a798c2;--edge:#5d506f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:linear-gradient(#4d453b38 1px,#0000 1px),linear-gradient(90deg,#4d453b38 1px,#0000 1px)}:root[data-theme=dark] .learning-world :focus-visible{outline:3px solid #917dac}:root[data-theme=dark] .learning-world .kicker{color:#b3a1c0}:root[data-theme=dark] .learning-world .topbar{background:#2a2821f2;border-bottom:1px solid #4d463c}:root[data-theme=dark] .learning-world .brand-name>span{color:#70627c}:root[data-theme=dark] .learning-world .os-toggle{background:#231d27;border:1px solid #453c4d}:root[data-theme=dark] .learning-world .os-toggle button{color:#c7bad0}:root[data-theme=dark] .learning-world .os-toggle button[aria-selected=true]{color:#d6caec;background:#3d304d;box-shadow:0 2px #605074}:root[data-theme=dark] .header-login{border-bottom:1px dotted #857398}:root[data-theme=dark] .logout-btn{color:#beaad0;background:#29252d;border:1px solid #453b50}:root[data-theme=dark] .learning-world .world-badge{background:#221c28;border:1px solid #453b51}:root[data-theme=dark] .learning-world .hero h1 em{color:#947fae}:root[data-theme=dark] .scene-caption{border-left:2px dashed #534561}:root[data-theme=dark] .scene-caption span{color:#9b89aa}:root[data-theme=dark] .learning-world .signup{background:#2e2c27;border:1px solid #50425d;box-shadow:5px 5px #332a3c}:root[data-theme=dark] .learning-world .entry-card{border-top:5px solid #503e66}:root[data-theme=dark] .entry-tabs{background:#221c27;border:1px solid #362d3f}:root[data-theme=dark] .entry-tabs button{color:#ad9dbb}:root[data-theme=dark] .entry-tabs button[aria-pressed=true]{color:#cfbfe1;background:#2e2c27;box-shadow:0 2px #493b55}:root[data-theme=dark] .learning-world .signup label{color:#c5b5cf}:root[data-theme=dark] .learning-world .signup input{background:#2e2c29;border:1px solid #3e3446;box-shadow:inset 0 2px #211c24}:root[data-theme=dark] .learning-world .signup input::placeholder{color:#887c92}:root[data-theme=dark] .learning-world .primary{color:#d4c2eb;background:#402f51;border:1px solid #6d5985;box-shadow:0 4px #715b86}:root[data-theme=dark] .learning-world .primary:hover{background:#4c3762}:root[data-theme=dark] .learning-world .primary:active{box-shadow:0 2px #715b86}:root[data-theme=dark] .learning-world .track{--art-surface:#1f1727;background:#25202a;border:1px solid #493b57;box-shadow:0 5px #3b2e45}:root[data-theme=dark] .learning-world .track:nth-child(2){--art-surface:#152017;background:#212620;border-color:#4c5c4c;box-shadow:0 5px #3d4b39}:root[data-theme=dark] .learning-world .track:nth-child(3){--art-surface:#27190c;background:#2d231a;border-color:#6b5541;box-shadow:0 5px #534130}:root[data-theme=dark] .learning-world .soon{color:#d4b89e;background:#403223;border:1px solid #735b45}:root[data-theme=dark] .learning-world .mentor{background:#20241a;border:1px solid #47523f;box-shadow:0 5px #3b4333}:root[data-theme=dark] .learning-world .sidebar{background:#201a27;border:1px solid #483956;box-shadow:4px 4px #352c3f}:root[data-theme=dark] .learning-world .sidebar li.is-current a{color:#d2bee7;background:#3c2c4d}:root[data-theme=dark] .learning-world .sidebar li.is-done a{color:#b5d4b8}:root[data-theme=dark] .learning-world .sidebar li.part{color:#af98bb}:root[data-theme=dark] .learning-world .progress{background:#3b3042;border:1px solid #584b63}:root[data-theme=dark] .learning-world .progress div{background:#5c785b;border-right:2px solid #849f84}:root[data-theme=dark] .learning-world .part-banner{background:#201928;border:1px solid #443651}:root[data-theme=dark] .learning-world .part-banner .part-title{color:#c1abd3}:root[data-theme=dark] .learning-world .chapter{background:#2e2c27;border:1px solid #473e38;box-shadow:0 3px #211a12}:root[data-theme=dark] .learning-world .num{color:#836d99;background:#201728}:root[data-theme=dark] .learning-world .pill{color:#ae99bc;background:#241e2a;border-color:#453550}:root[data-theme=dark] .learning-world .step-num{color:#ccb9de;background:#41314f;border:1px solid #604b71}:root[data-theme=dark] .learning-world .step:before{background:#3b2d46}:root[data-theme=dark] .learning-world .tip{color:#c9dbc3;background:#1f251b;border-color:#657c60}:root[data-theme=dark] .learning-world .code pre{border:1px solid #453852}:root[data-theme=dark] .learning-world .code button{color:#ab97bb;border-color:#5a4869}:root[data-theme=dark] .learning-world .link-btn,:root[data-theme=dark] .learning-world .done-btn{color:#c3abd5;background:#241c29;border:1px solid #534262;box-shadow:0 3px #3c2f45}:root[data-theme=dark] .learning-world .link-btn:hover,:root[data-theme=dark] .learning-world .done-btn.is-done,:root[data-theme=dark] .learning-world .done-btn:hover{color:#cbdfc4;background:#323f2d;border-color:#61735a;box-shadow:0 3px #4a5c43}:root[data-theme=dark] .learning-world .assistant-fab{color:#d4c2eb;background:#402f51;border:1px solid #6d5985;box-shadow:0 4px #6d5985}:root[data-theme=dark] .learning-world .assistant{background:#2e2c27;border-color:#69557b;box-shadow:6px 6px #69557a55}:root[data-theme=dark] .learning-world .assistant header{color:#d2bee6;background:#34273f;border-bottom:1px solid #574368}:root[data-theme=dark] .learning-world .assistant-bubble{background:#231c29;border-color:#372b42}:root[data-theme=dark] .learning-world .user-bubble{color:#cddfc7;background:#333e2d}:root[data-theme=dark] .learning-world .assistant textarea{background:#2e2c29;border-color:#493a55}:root[data-theme=dark] .learning-world .footer{color:#655674;background:#f1e6ff;border-top:1px solid #d5c3e5}:root[data-theme=dark] .learning-world .footer-signature{color:#523f62;border-top:1px solid #d5c3e5}:root[data-theme=dark] .learning-world .error{color:#e28aa8}:root[data-theme=dark] .session-error{background:#2b171c}@media (width<=950px){:root[data-theme=dark] .learning-world .map-toggle{color:#c3abd5;background:#352a3f;border:1px solid #533f63}}:root[data-theme=dark] .learning-world .brand-name .brand-commit{color:#947fae}:root[data-theme=dark] .learning-world .os-toggle img,:root[data-theme=dark] .learning-world .os-toggle button[aria-selected=true] img{filter:brightness(0)invert(.88)}:root[data-theme=dark] .pixel-art{filter:brightness(.92)}:root[data-theme=dark] .shot img{filter:brightness(.9);background:#fff}
