:root{color:#17201d;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background-color:#0000;background-image:linear-gradient(#f6f3edeb,#f6f3ed),url(https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=2200&q=80);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh}.hero{color:#fbfaf6;background-blend-mode:normal, luminosity;background-color:#0f172a;background-image:linear-gradient(105deg,#0f172af2,#18272dc2),url(https://images.unsplash.com/photo-1517077304055-6e89abbf09b0?auto=format&fit=crop&w=2200&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:42vh;padding:28px clamp(18px,4vw,64px) 64px}.brand-row{letter-spacing:0;align-items:center;gap:12px;font-weight:750;display:flex}.brand-logo{background:#ffffffe8;border:1px solid #ffffff5c;border-radius:8px;width:min(236px,58vw);height:auto;padding:7px 10px;display:block;box-shadow:0 10px 34px #00000024}.mode-pill,.status-dot{color:#fbfaf6;background:#ffffff1c;border:1px solid #ffffff57;border-radius:999px;padding:5px 10px;font-size:.78rem}.hero-copy{max-width:840px;margin-top:44px}.eyebrow,.section-kicker{color:#f97316;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.76rem;font-weight:800}.hero h1{letter-spacing:0;max-width:900px;margin:0;font-size:clamp(2.3rem,5vw,5.6rem);line-height:.98}.hero.has-lesson h1{max-width:820px;font-size:clamp(2rem,4.2vw,4.6rem);line-height:1.02}.hero p:last-child{color:#fbfaf6db;max-width:720px;margin:22px 0 0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.content-band{padding:28px clamp(16px,4vw,64px) 64px}.lesson-grid{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:20px;max-width:1180px;margin:-68px auto 0;display:grid}.session-chooser,.join-panel,.recent-sessions,.course-hub-strip,.course-dashboard,.login-panel{gap:18px;max-width:1180px;margin:18px auto 0;display:grid}.chooser-intro,.session-card,.join-panel,.recent-sessions,.course-hub-strip,.course-dashboard,.login-panel{background:#fffdf8f0;border:1px solid #212d281c;border-radius:8px;box-shadow:0 18px 70px #1a262021}.join-panel{background:linear-gradient(135deg,#fffdf8f5,#f3fff7f0),radial-gradient(circle at 92% 0,#f9731629,#0000 30%);grid-template-columns:minmax(0,1fr) minmax(280px,390px);align-items:center;margin-top:-68px;padding:24px}.join-panel.is-focused{max-width:940px}.join-panel-copy h2{max-width:620px;margin:0 0 10px;font-size:clamp(1.65rem,3.2vw,2.8rem);line-height:1.05}.join-panel-copy p:last-child{color:#66746d;max-width:680px;margin:0;line-height:1.55}.join-card{background:#fffdf8;border:1px solid #e3ddd2;border-radius:8px;gap:14px;padding:18px;display:grid}.qr-mark{color:#16a34a;background:linear-gradient(135deg,#16a34a1f,#f9731624),#fffaf0;border:1px solid #7c3aed33;border-radius:8px;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex}.join-field{color:#66746d;gap:8px;font-size:.84rem;font-weight:750;display:grid}.join-field input{color:#17201d;background:#fffdf8;border:1px solid #d6d0c5;border-radius:8px;min-width:0;padding:12px}.join-field input:focus{border-color:#16a34a;outline:3px solid #16a34a29}.join-button{color:#fffdf8;background:#f97316;border:1px solid #f97316;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:820;text-decoration:none;display:inline-flex}.join-button:hover{background:#dd5f0d;border-color:#dd5f0d}.secondary-button{color:#fbfaf6;background:#ffffff1a;border:1px solid #ffffff7a;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:820;text-decoration:none;display:inline-flex}.secondary-button:hover{background:#ffffff2e;border-color:#ffffffc7}.join-message{color:#8f2f25;margin:0;line-height:1.45}.recent-sessions{padding:18px}.recent-heading{color:#235a43;align-items:center;gap:8px;font-weight:820;display:flex}.recent-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.recent-list a{min-height:92px;color:inherit;background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;gap:5px;padding:14px;text-decoration:none;display:grid}.recent-list a:hover{background:#f2fbf5;border-color:#16a34a}.recent-list strong{line-height:1.2}.recent-list span{color:#66746d;font-size:.9rem;line-height:1.35}.course-hub-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:20px 22px}.course-hub-strip h2{margin:0;font-size:clamp(1.35rem,2.6vw,2rem)}.course-link-row{flex-wrap:wrap;gap:10px;display:flex}.course-link-row a,.current-session-banner{color:#174432;background:#f2fbf5;border:1px solid #16a34a47;border-radius:8px;text-decoration:none}.course-link-row a{padding:11px 14px;font-weight:850}.course-dashboard{margin-top:-68px;padding:24px}.course-dashboard-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.course-dashboard-header h2{margin:0 0 8px;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.course-dashboard-header p:last-child{color:#66746d;max-width:720px;margin:0;line-height:1.55}.course-join{justify-content:center;align-items:center;min-width:150px;padding:0 16px;text-decoration:none;display:inline-flex}.current-session-banner{gap:6px;padding:18px;display:grid}.current-session-banner span{color:#f97316;text-transform:uppercase;font-size:.78rem;font-weight:850}.current-session-banner strong{color:#17201d;font-size:clamp(1.3rem,2.8vw,2.1rem);line-height:1.1}.current-session-banner small{color:#66746d}.course-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:18px;display:grid}.course-dashboard-panel{background:#fffdf8;border:1px solid #e3ddd2;border-radius:8px;gap:12px;padding:18px;display:grid}.course-dashboard-panel h3{margin:0}.course-session-list,.resource-placeholder-list{gap:10px;display:grid}.course-session-list a{color:inherit;border:1px solid #ded6ca;border-radius:8px;gap:5px;padding:14px;text-decoration:none;display:grid}.course-session-list a:hover{background:#f2fbf5;border-color:#16a34a}.course-session-list span,.course-session-list em,.resource-placeholder-list span{color:#66746d;font-size:.9rem;line-height:1.35}.course-session-list em{color:#7c3aed;font-style:normal;font-weight:760}.resource-placeholder-list span{background:#fbf7ef;border:1px dashed #d4c9b9;border-radius:8px;padding:12px}.login-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:-68px;padding:24px}.login-panel h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.05}.login-panel p:last-child{color:#66746d;max-width:720px;margin:0;line-height:1.55}.login-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.login-panel .secondary-button{color:#17201d;background:#fffaf0;border-color:#d6d0c5}.login-panel .secondary-button:hover{background:#fff4d8;border-color:#a99055}.admin-dashboard{gap:18px;max-width:1180px;margin:-68px auto 0;display:grid}.admin-dashboard-header,.kls-import-panel,.kls-package-list{background:#fffdf8f5;border:1px solid #212d281c;border-radius:8px;box-shadow:0 18px 70px #1a262021}.admin-dashboard-header{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:end;gap:20px;padding:24px;display:grid}.admin-dashboard-header h2{max-width:760px;margin:0 0 10px;font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.05}.admin-dashboard-header p:last-child,.kls-import-panel p{color:#66746d;max-width:760px;margin:0;line-height:1.55}.admin-dashboard-grid{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:18px;display:grid}.kls-import-panel,.kls-package-list{align-content:start;gap:16px;padding:20px;display:grid}.kls-import-panel h3,.package-list-heading h3{margin:0 0 8px;font-size:1.35rem}.file-drop{color:#235a43;text-align:center;cursor:pointer;background:linear-gradient(135deg,#16a34a1a,#f973161a),#fffaf0;border:1px dashed #cabcaa;border-radius:8px;place-items:center;gap:10px;min-height:160px;font-weight:820;display:grid;position:relative}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-result{color:#174432;background:#f2fbf5;border:1px solid #16a34a40;border-radius:8px;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:12px;display:grid}.import-result div{gap:4px;display:grid}.import-result span{color:#66746d;font-size:.9rem}.import-result a{color:#235a43;font-weight:800}.package-list-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.kls-dashboard-toolbar{background:#fbf7ef;border:1px solid #e3ddd2;border-radius:8px;grid-template-columns:minmax(180px,260px) auto;align-items:end;gap:12px;padding:12px;display:grid}.dashboard-counts{color:#66746d;justify-self:end;align-items:baseline;gap:7px;display:flex}.dashboard-counts strong{color:#235a43;font-size:1.5rem}.package-list-stack{gap:12px;display:grid}.package-card{background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;gap:14px;padding:14px;display:grid}.package-card-main{grid-template-columns:minmax(0,1fr) 96px;align-items:start;gap:14px;display:grid}.package-badges{flex-wrap:wrap;gap:6px;display:flex}.package-code{align-items:center;gap:6px;font-size:.8rem;font-weight:850;display:inline-flex;color:#7c3aed!important;margin-top:10px!important}.package-card h4{margin:10px 0 7px;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.12}.package-card p{color:#66746d;margin:0;line-height:1.45}.package-series{color:#766a5d;margin-top:7px;font-size:.78rem;line-height:1.3;display:block}.package-card img{background:#fff;border:1px solid #e3ddd2;border-radius:8px;width:96px;height:96px}.package-actions{flex-wrap:wrap;gap:8px;display:flex}.package-actions a,.package-actions button{color:#26312d;background:#fffaf0;border:1px solid #ded6ca;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 10px;font-weight:760;text-decoration:none;display:inline-flex}.package-actions a:hover,.package-actions button:hover{color:#174432;background:#f2fbf5;border-color:#16a34a}.version-history-panel{color:#26312d;background:#fbf7ef;border:1px solid #e3ddd2;border-radius:8px;gap:6px;padding:10px;display:grid}.version-history-panel.is-error{color:#8f2f25;background:#fff1ef;border-color:#e4aaa3}.version-history-row{background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:7px 9px;display:grid}.version-history-row strong,.version-history-row span{display:block}.version-history-row span{color:#66746d;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.2;overflow:hidden}.version-history-row strong{color:#17201d;font-size:.86rem;line-height:1.2}.version-history-row>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.version-history-row a{color:#174432;font-size:.82rem;font-weight:780;text-decoration:none}.empty-package-list{color:#766a5d;background:#fbf7ef;border:1px dashed #d4c9b9;border-radius:8px;padding:18px}.session-chooser:first-child{margin-top:-68px}.chooser-intro{padding:24px}.chooser-intro h2{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2.3rem)}.chooser-intro p:last-child{color:#66746d;max-width:760px;margin:0;line-height:1.55}.session-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.session-card{min-height:260px;color:inherit;gap:14px;padding:24px;text-decoration:none;display:grid}.session-card:hover{border-color:#235a4361;transform:translateY(-1px)}.session-card h3{margin:0;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.08}.session-card p{color:#66746d;margin:0;line-height:1.55}.session-progress{color:#235a43;border-top:1px solid #e3ddd2;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;font-weight:780;display:flex}.session-panel,.lesson-section{background:#fffdf8f0;border:1px solid #212d281c;border-radius:8px;box-shadow:0 18px 70px #1a262021}.session-panel{overscroll-behavior:contain;gap:22px;max-height:calc(100dvh - 40px);padding:22px;display:grid;position:sticky;top:20px;overflow-y:auto}.session-panel h2{margin:0 0 4px;font-size:1.4rem}.session-panel p{color:#66746d;margin:0}.meter{border-top:1px solid #e3ddd2;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding-top:18px;display:grid}.meter span{color:#235a43;font-size:2.4rem;font-weight:820}.session-links,.share-tools{border-top:1px solid #e3ddd2;gap:8px;padding-top:18px;display:grid}.presenter-rail,.student-navigator,.instructor-questions,.student-answered-questions,.reveal-preferences{border-top:1px solid #e3ddd2;gap:10px;padding-top:18px;display:grid}.rail-summary{gap:4px;display:grid}.session-links>span,.share-tools>span,.rail-summary>span,.reveal-preferences>span{color:#66746d;font-size:.82rem;font-weight:760}.student-nav-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toggle-row{color:#26312d;align-items:center;gap:8px;font-size:.9rem;font-weight:760;display:flex}.toggle-row input{accent-color:#16a34a;width:16px;height:16px}.compact-field{color:#66746d;gap:6px;font-size:.8rem;font-weight:760;display:grid}.compact-field select{color:#17201d;background:#fffdf8;border:1px solid #d6d0c5;border-radius:8px;width:100%;padding:9px 10px}.rail-summary strong{color:#17201d;line-height:1.25}.rail-summary small{color:#66746d;line-height:1.3}.session-links a,.share-tools button,.reveal-next-button,.go-next-button,.reveal-all-button,.student-nav-actions button,.current-live-button{color:#26312d;background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;padding:9px 10px;line-height:1.25;text-decoration:none;display:block}.share-tools button{justify-content:flex-start;align-items:center;gap:8px;width:100%;display:inline-flex}.reveal-next-button{color:#fffdf8;background:#f97316;border-color:#f97316;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:820;display:inline-flex}.go-next-button{color:#174432;background:#f2fbf5;border-color:#16a34a57;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:820;display:inline-flex}.reveal-all-button{color:#8f3f08;background:#fff4d8;border-color:#f9731657;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:820;display:inline-flex}.student-nav-actions button,.current-live-button{justify-content:center;align-items:center;gap:7px;min-height:38px;font-weight:780;display:inline-flex}.current-live-button{color:#fffdf8;background:#235a43;border-color:#235a43}.reveal-next-button:hover{background:#dd5f0d;border-color:#dd5f0d}.go-next-button:hover{background:#e8f8ee;border-color:#16a34a9e}.reveal-all-button:hover{background:#ffe8bd;border-color:#f973169e}.student-nav-actions button:hover{color:#174432;background:#eef7f1;border-color:#235a43}.current-live-button:hover{color:#fffdf8;background:#174432;border-color:#174432}.reveal-next-button:disabled,.go-next-button:disabled,.reveal-all-button:disabled,.student-nav-actions button:disabled,.current-live-button:disabled{color:#6f6252;cursor:default;background:#f7f2e8;border-color:#d8d0c3}.student-section-index,.question-inbox-list{gap:6px;max-height:260px;padding-right:2px;display:grid;overflow:auto}.student-section-index button{color:#26312d;text-align:left;background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:7px 8px;display:grid}.student-section-index button:hover,.student-section-index button.is-active{background:#f2fbf5;border-color:#16a34a7a}.student-section-index span{color:#f97316;font-size:.72rem;font-weight:850}.student-section-index strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.2;overflow:hidden}.question-inbox-list article{background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;gap:8px;padding:9px;display:grid}.question-inbox-list article.is-answered{background:#f2fbf5;border-color:#16a34a57}.question-inbox-list span{color:#7c3aed;font-size:.76rem;font-weight:820}.question-inbox-list p{color:#26312d;margin:0;font-size:.88rem;line-height:1.35}.question-card-actions{gap:6px;display:flex}.question-card-actions button,.answer-form button{color:#3f247d;background:#f3edff;border:1px solid #7c3aed47;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 9px;font-size:.82rem;font-weight:820;display:inline-flex}.question-card-actions button:hover,.answer-form button:hover{background:#eadcff;border-color:#7c3aed85}.answer-form{gap:8px;display:grid}.answer-form textarea{color:#17201d;resize:vertical;background:#fffaf0;border:1px solid #d6d0c5;border-radius:8px;width:100%;min-width:0;padding:9px}.question-inbox-list small{color:#66746d;font-size:.78rem}.rail-section-list{gap:6px;max-height:360px;padding-right:2px;display:grid;overflow:auto}.rail-section-list>div{grid-template-columns:minmax(0,1fr) 32px;gap:6px;display:grid}.rail-section-list button{color:#26312d;background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;min-width:0}.rail-section-list>div>button:first-child{text-align:left;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;display:grid}.rail-section-list>div>button:first-child span{color:#f97316;font-size:.72rem;font-weight:850}.rail-section-list>div>button:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.2;overflow:hidden}.rail-section-list .mini-toggle{justify-content:center;align-items:center;padding:0;display:inline-flex}.rail-section-list>div.is-live button{background:#f2fbf5;border-color:#16a34a6b}.session-links a:hover,.session-links a.is-current,.share-tools button:hover,.rail-section-list button:hover{color:#174432;background:#eef7f1;border-color:#235a43}.section-stack{gap:16px;display:grid}.hidden-section-gap{justify-content:center;padding:2px 0;display:flex}.hidden-section-gap span{color:#766a5d;background:#fffdf8b8;border:1px dashed #d7cdbc;border-radius:999px;padding:5px 11px;font-size:.78rem;font-weight:760}.lesson-section{position:relative;overflow:hidden}.lesson-section.is-hidden{background:#fffdf8c7}.lesson-section.just-revealed{transform-origin:26px 20px;animation:.9s cubic-bezier(.18,.9,.22,1) both reveal-panel-grow}.lesson-section.just-revealed.motion-simple{animation-duration:.42s}.lesson-section.just-revealed.motion-reduced{animation:none}.lesson-section.just-revealed:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg,#16a34a29,#f9731614),#fffdf8db;border-radius:8px;animation:1.15s cubic-bezier(.18,.9,.22,1) both reveal-panel-wash;position:absolute;inset:0}.lesson-section.just-revealed.motion-simple:before{animation-duration:.42s}.lesson-section.just-revealed.motion-reduced:before{display:none}.lesson-section.just-revealed .section-top,.lesson-section.just-revealed .block-stack{z-index:1;animation:.82s cubic-bezier(.18,.9,.22,1) .13s both reveal-content-drop;position:relative}.lesson-section.just-revealed.motion-simple .section-top,.lesson-section.just-revealed.motion-simple .block-stack{animation-duration:.3s;animation-delay:40ms}.lesson-section.just-revealed.motion-reduced .section-top,.lesson-section.just-revealed.motion-reduced .block-stack{animation:none}.section-top{justify-content:space-between;gap:16px;padding:22px;display:flex}.section-top h2{margin:0 0 7px;font-size:clamp(1.25rem,2vw,1.75rem)}.section-top p:last-child{color:#66746d;margin:0;line-height:1.45}.section-actions{flex-shrink:0;align-items:flex-start;gap:10px;display:flex}.question-count{color:#4c2ca3;background:#f3edff;border:1px solid #7c3aed47;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:28px;padding:0 9px;font-size:.78rem;font-weight:850;display:inline-flex}.question-count.waiting{color:#8f2f25;background:#fff1ef;border-color:#e4aaa3}.status-dot{color:#235a43;background:#f7f2e8;border-color:#d8d0c3}.is-hidden .status-dot{color:#6f6252}.icon-button,.copy-button,.download-button{color:#17201d;cursor:pointer;background:#fffaf0;border:1px solid #d6d0c5;border-radius:8px;justify-content:center;align-items:center;min-height:38px;text-decoration:none;display:inline-flex}.icon-button{width:38px}.icon-button:hover,.copy-button:hover,.download-button:hover{background:#fff4d8;border-color:#a99055}.download-button{color:#f8f5ec;background:#235a43;border-color:#235a43;gap:8px;font-weight:760}.download-button:hover{color:#fffdf8;background:#174432;border-color:#174432}.block-stack{gap:14px;padding:0 22px 22px;display:grid}.question-composer{gap:10px;padding:0 22px 22px;display:grid}.section-answers{background:#fbf8ff;border:1px solid #7c3aed2e;border-radius:8px;gap:10px;margin:0 22px 18px;padding:14px;display:grid}.section-answers h3{color:#3f247d;margin:0;font-size:1rem}.section-answers article{border-top:1px solid #7c3aed24;gap:6px;padding-top:10px;display:grid}.section-answers p{color:#26312d;margin:0;line-height:1.45}.question-toggle,.question-form button{color:#174432;background:#f2fbf5;border:1px solid #d6d0c5;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:780;display:inline-flex}.question-toggle{justify-self:start;padding:0 12px}.question-toggle:hover,.question-form button:hover{background:#e8f8ee;border-color:#16a34a94}.question-form{background:#fffdf8;border:1px solid #ded6ca;border-radius:8px;gap:9px;padding:12px;display:grid}.question-form input,.question-form textarea{color:#17201d;background:#fffaf0;border:1px solid #d6d0c5;border-radius:8px;width:100%;min-width:0;padding:10px 11px}.question-form textarea{resize:vertical}.question-form p{color:#66746d;margin:0;font-size:.88rem}.markdown-block{color:#26312d;line-height:1.65}.markdown-block h2,.markdown-block h3{margin:0 0 10px}.markdown-block p{margin:0 0 12px}.code-block{background:#121816;border:1px solid #27332f;border-radius:8px;overflow:hidden}.code-toolbar{color:#c7d7cd;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px 9px 14px;display:flex}.live-code-block{border-color:#f9731670;box-shadow:0 0 0 1px #f9731614}.live-terminal-block{border-color:#7c3aed70}.live-terminal-block .live-code-toolbar{background:linear-gradient(90deg,#0f172ae6,#7c3aed33)}.live-terminal-block .line-content{color:#d7e5dd}.live-code-toolbar{background:linear-gradient(90deg,#235a435c,#f9731624)}.live-code-toolbar>div{gap:2px;display:grid}.live-code-toolbar small{color:#9fb4aa;font-size:.78rem}.code-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.copy-button{color:#f8f5ec;background:#243c33;border-color:#37594b;gap:7px;min-height:32px;padding:0 10px}.code-history{background:#18211e;border-top:1px solid #ffffff1a;gap:8px;padding:12px 14px 14px;display:grid}.code-history article{color:#e8f8ee;background:#101714;border:1px solid #ffffff17;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px;display:flex}.code-history article div{gap:2px;min-width:0;display:grid}.code-history small,.code-history p{color:#9fb4aa;margin:0}pre{color:#f5f0e6;margin:0;padding:18px;font-size:.95rem;line-height:1.55;overflow-x:auto}.numbered-code{padding:0}.numbered-code code{min-width:100%;padding:14px 0;display:table}.code-line{display:table-row}.line-number,.line-content{display:table-cell}.line-number{color:#74877e;text-align:right;-webkit-user-select:none;user-select:none;background:#ffffff06;border-right:1px solid #ffffff14;min-width:46px;padding:0 12px 0 14px}.line-content{white-space:pre;padding:0 18px 0 14px}.markdown-block pre{background:#121816;border:1px solid #27332f;border-radius:8px;margin:14px 0 18px;box-shadow:inset 0 1px #ffffff0a}.markdown-block pre code{color:#f5f0e6;background:0 0}.markdown-block code{color:#15221d;background:#e8f8ee;border-radius:5px;padding:2px 5px}.binary-game{color:#14211c;background:#f7fbf5;border:1px solid #bfd8ca;border-radius:8px;gap:18px;padding:22px;display:grid}.binary-game-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.binary-game-header h3{margin:0 0 6px;font-size:1.45rem}.binary-game-header p{color:#52645c;margin:0}.binary-mode-tabs{background:#fff;border:1px solid #c8d8ce;border-radius:8px;gap:6px;padding:4px;display:inline-flex}.binary-mode-tabs button,.binary-controls button,.binary-guess-form button{color:#1b2a24;background:#fff;border:1px solid #b8cabe;border-radius:7px;min-height:38px;padding:0 12px;font-weight:800}.binary-mode-tabs button.active,.binary-controls button:not(.secondary),.binary-guess-form button:not(.secondary){color:#f9fff9;background:#245d45;border-color:#245d45}.binary-panel{background:#fff;border:1px solid #d7e4da;border-radius:8px;gap:14px;padding:18px;display:grid}.binary-readout{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;display:grid}.binary-readout strong{color:#f9fff9;background:#14211c;border-radius:8px;place-items:center;min-width:132px;min-height:86px;padding:12px;font-size:2.5rem;line-height:1;display:grid}.binary-readout span,.binary-stats span{color:#5b6d64;font-weight:800}.binary-controls,.binary-guess-form,.binary-stats{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.binary-controls button:disabled,.binary-guess-form button:disabled{opacity:.55;cursor:not-allowed}.binary-controls .secondary,.binary-guess-form .secondary{color:#245d45;background:#edf7f0}.binary-guess-form label{color:#52645c;gap:5px;min-width:180px;font-weight:800;display:grid}.binary-guess-form input{color:#14211c;min-height:40px;font:inherit;background:#fff;border:1px solid #b8cabe;border-radius:7px;padding:0 10px}.binary-status{color:#14211c;background:#eef7f1;border-radius:7px;margin:0;padding:12px 14px;font-weight:800}.dom-easter-egg{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.binary-badge{background:#f9fff9;border:2px solid #245d45;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid;box-shadow:inset 0 0 0 4px #e8f8ee}.binary-badge h3{color:#14211c;margin:0 0 4px;font-size:1.8rem}.binary-badge p{color:#52645c;margin:0 0 6px}.binary-badge strong{color:#245d45}.binary-badge button{color:#f9fff9;background:#245d45;border:1px solid #245d45;border-radius:7px;min-height:38px;padding:0 12px;font-weight:900}.binary-explain{color:#e8f8ee;background:#14211c;border-radius:8px;gap:4px;padding:14px;display:grid}.binary-explain span{color:#c9d9cf}.logic-playground{color:#14211c;background:#fbfaf5;border:1px solid #d2dccf;border-radius:8px;gap:18px;padding:22px;display:grid}.logic-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.logic-header h3{margin:0 0 6px;font-size:1.45rem}.logic-header p{color:#52645c;margin:0}.logic-operator-tabs{background:#fff;border:1px solid #c8d8ce;border-radius:8px;gap:6px;padding:4px;display:inline-flex}.logic-operator-tabs button{color:#1b2a24;background:#fff;border:1px solid #b8cabe;border-radius:7px;min-width:58px;min-height:38px;padding:0 12px;font-weight:900}.logic-operator-tabs button.active{color:#f9fff9;background:#245d45;border-color:#245d45}.logic-workbench{background:#fff;border:1px solid #d7e4da;border-radius:8px;grid-template-columns:160px minmax(320px,1fr) 190px;align-items:center;gap:18px;padding:18px;display:grid}.logic-switches{gap:12px;display:grid}.logic-switch{color:#1b2a24;background:#f7faf8;border:1px solid #b8cabe;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:52px;padding:10px 12px;font-weight:900;display:grid}.logic-switch span{color:#f9fff9;background:#63756c;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.logic-switch strong{text-align:left}.logic-switch.active span{background:#0f9f5c}.logic-switch.active{background:#effaf3;border-color:#0f9f5c}.logic-switch:disabled{opacity:.55;cursor:not-allowed}.logic-circuit{background:#111816;border-radius:8px;min-height:190px;position:relative;overflow:hidden}.wire{background:#607069;border-radius:99px;height:6px;position:absolute}.wire.active{background:#24d372;box-shadow:0 0 18px #24d3728c}.input-wire{width:calc(42% - 24px);left:24px}.input-wire.top{top:68px}.input-wire.bottom{top:118px}.single-input .input-wire.top{top:94px}.output-wire{width:calc(42% - 64px);top:94px;left:58%}.gate-shape{color:#4ea1ff;background:#111816;border:5px solid #4ea1ff;place-items:center;width:130px;height:92px;font-size:1.28rem;font-weight:1000;display:grid;position:absolute;top:50%;left:42%;transform:translate(-50%,-50%)}.gate-and,.gate-not{border-radius:0 48px 48px 0}.gate-or,.gate-xor{border-radius:55% 95% 95% 55%}.gate-xor:before{content:"";border-left:4px solid #4ea1ff;border-radius:55%;width:12px;height:96px;position:absolute;left:-16px}.gate-not:after{content:"";background:#111816;border:4px solid #4ea1ff;border-radius:50%;width:14px;height:14px;position:absolute;right:-18px}.output-light{background:#1e2925;border:4px solid #607069;border-radius:50%;width:40px;height:40px;position:absolute;top:77px;right:24px}.output-light.active{background:#24d372;border-color:#24d372;box-shadow:0 0 24px #24d372c7}.logic-result{gap:6px;min-width:0;display:grid}.logic-result span{color:#52645c;font-weight:900}.logic-result strong{color:#f9fff9;background:#14211c;border-radius:8px;place-items:center;min-height:54px;font-size:1.6rem;display:inline-grid}.logic-result p{color:#52645c;margin:0}.truth-table-wrap{overflow-x:auto}.truth-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden}.truth-table th,.truth-table td{text-align:left;border-bottom:1px solid #e0e8e2;padding:11px 14px}.truth-table th{color:#f9fff9;background:#14211c}.truth-table .current-row td{color:#14211c;background:#e8f8ee;font-weight:900}.osi-model{color:#14211c;background:linear-gradient(135deg,#fbfaf5,#f2fbf5);border:1px solid #d4dfd8;border-radius:8px;gap:18px;padding:22px;display:grid}.osi-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.osi-header h3{margin:0 0 6px;font-size:1.45rem}.osi-header p{color:#52645c;margin:0}.osi-workbench{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.osi-stack{gap:7px;display:grid}.osi-stack button{color:#1b2a24;text-align:left;background:#fff;border:1px solid #bfd3c7;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:grid}.osi-stack button span{color:#fffdf8;background:#63756c;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.osi-stack button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.osi-stack button.active{background:#e8f8ee;border-color:#16a34a}.osi-stack button.active span{background:#16a34a}.osi-detail{background:#fff;border:1px solid #d7e4da;border-radius:8px;align-content:start;gap:12px;min-height:100%;padding:18px;display:grid}.osi-detail>span{color:#f97316;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.osi-detail h4{margin:0;font-size:clamp(1.5rem,3vw,2.35rem);line-height:1}.osi-detail p{color:#52645c;margin:0;line-height:1.55}.osi-detail dl{gap:10px;margin:0;display:grid}.osi-detail dl div{border-top:1px solid #e0e8e2;padding-top:10px}.osi-detail dt{color:#235a43;font-weight:900}.osi-detail dd{color:#52645c;margin:3px 0 0}.osi-quiz{gap:9px;display:grid}.osi-quiz-heading{background:#fff;border:1px solid #d7e4da;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.osi-quiz-heading strong{color:#235a43}.osi-quiz-heading button{color:#245d45;background:#edf7f0;border:1px solid #bfd3c7;border-radius:8px;min-height:34px;padding:0 12px;font-weight:850}.osi-match-row{background:#fff;border:1px solid #d7e4da;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:grid}.osi-match-row span{color:#26312d;line-height:1.35}.osi-match-row select{color:#14211c;background:#fffdf8;border:1px solid #bfd3c7;border-radius:8px;width:100%;min-width:0;min-height:38px;padding:0 10px}.osi-match-row.correct{background:#e8f8ee;border-color:#16a34a94}.osi-match-row.incorrect{background:#fff4d8;border-color:#f9731694}@media (width<=720px){.binary-game-header,.binary-readout,.logic-header,.osi-header,.osi-workbench,.osi-match-row{grid-template-columns:1fr}.binary-mode-tabs{width:100%}.binary-mode-tabs button,.logic-operator-tabs button{flex:1 1 0}.logic-operator-tabs{width:100%;display:flex}.logic-workbench,.binary-badge{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.binary-badge,.binary-badge *{visibility:visible}.binary-badge{box-shadow:none;position:fixed;top:32px;left:32px;right:32px}.binary-badge button{display:none}}@keyframes reveal-panel-grow{0%{opacity:.35;clip-path:inset(0 calc(100% - 46px) calc(100% - 34px) 0 round 8px);transform:translateY(18px)scale(.985)}45%{opacity:1;clip-path:inset(0 0 42% round 8px)}to{opacity:1;clip-path:inset(0 round 8px);transform:translateY(0)scale(1)}}@keyframes reveal-panel-wash{0%{opacity:.9;transform:translate(-18%)}55%{opacity:.46}to{opacity:0;transform:translate(10%)}}@keyframes reveal-content-drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.waiting-row,.state-line{color:#766a5d;background:#fbf7ef;border:1px dashed #d4c9b9;border-radius:8px;align-items:center;gap:10px;margin:0 22px 22px;padding:14px;display:flex}.state-line{max-width:1180px;margin:0 auto 18px}.state-line.danger{color:#8f2f25;background:#fff1ef;border-color:#e4aaa3}.access-panel{background:#fffdf8f5;border:1px solid #212d281c;border-radius:8px;gap:18px;max-width:680px;margin:-38px auto 24px;padding:24px;display:grid;box-shadow:0 18px 70px #1a262021}.access-panel h2{margin:0 0 8px;font-size:clamp(1.45rem,2vw,2rem)}.access-panel p{color:#66746d;margin:0;line-height:1.55}.access-panel .token-field{max-width:420px}.access-error{border-top:1px solid #eadfd1;padding-top:14px;color:#8f2f25!important}.spin{animation:.8s linear infinite spin}.token-field{color:#66746d;gap:8px;font-size:.82rem;font-weight:700;display:grid}.token-field input{color:#17201d;background:#fffdf8;border:1px solid #d6d0c5;border-radius:8px;min-width:0;padding:10px 11px}.reusable-sandbox{background:#fffdf8e6;border:1px solid #16a34a2e;border-radius:18px;padding:22px;box-shadow:0 18px 46px #0f172a1f}.reusable-sandbox-heading,.reusable-sandbox-layout,.reusable-preview-title,.interaction-heading{gap:16px;display:flex}.reusable-sandbox-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px}.reusable-sandbox-heading h3{margin:2px 0 6px;font-size:1.55rem}.reusable-sandbox-heading p{color:#607069;margin:0}.reusable-kind-badge{color:#6b35d9;background:#7c3aed1a;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:800}.reusable-sandbox-layout{align-items:stretch}.reusable-list{flex-direction:column;gap:10px;width:min(260px,34%);display:flex}.reusable-list button{color:#1f2a25;text-align:left;cursor:pointer;background:#fffaf0;border:1px solid #0f172a1f;border-radius:14px;padding:14px}.reusable-list button.active{background:#ecfdf3;border-color:#16a34a73;box-shadow:inset 4px 0 #16a34a}.reusable-list strong,.reusable-list span,.reusable-preview-title strong,.reusable-preview-title span{display:block}.reusable-list span,.reusable-preview-title span{color:#607069;margin-top:4px;font-size:.9rem}.reusable-preview{flex:1;gap:14px;min-width:0;display:grid}.reusable-preview-title{justify-content:space-between;align-items:baseline}.brainstorm-board,.guess-poll{background:linear-gradient(135deg,#fffdf7 0%,#f0fff5 100%);border:1px solid #16a34a2e;border-radius:18px;padding:18px}.interaction-heading{flex-direction:column;margin-bottom:14px}.interaction-heading span{color:#f97316;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.interaction-heading strong{color:#18231e;font-size:1.2rem}.brainstorm-composer,.poll-composer{grid-template-columns:minmax(120px,180px) 1fr auto;align-items:stretch;gap:10px;display:grid}.brainstorm-composer textarea,.brainstorm-composer input,.poll-composer input{color:#1f2a25;width:100%;font:inherit;background:#fff;border:1px solid #0f172a24;border-radius:12px;padding:12px}.brainstorm-composer button,.poll-composer button,.answer-reveal{color:#fff;cursor:pointer;background:#16a34a;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:850;display:inline-flex}.interaction-status{color:#6b35d9;margin:10px 0 0;font-weight:750}.sticky-note-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:16px;display:grid}.sticky-note{background:#fff3bf;border:1px solid #f973163d;border-radius:14px;flex-direction:column;justify-content:space-between;gap:12px;min-height:132px;padding:14px;display:flex;box-shadow:0 12px 22px #0f172a1a}.sticky-note:nth-child(3n+2){background:#dcfce7}.sticky-note:nth-child(3n+3){background:#ede9fe}.sticky-note p{color:#17211c;margin:0;font-weight:750}.sticky-note small{color:#5b6a63;font-weight:800}.sticky-reactions{gap:8px;display:flex}.sticky-reactions button{color:#1f2a25;cursor:pointer;background:#ffffffb8;border:1px solid #0f172a1f;border-radius:999px;align-items:center;gap:4px;padding:6px 9px;display:inline-flex}.empty-interaction{color:#607069;border:1px dashed #16a34a59;border-radius:14px;grid-column:1/-1;padding:18px}.poll-results{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.poll-results div{background:#fff;border:1px solid #16a34a2e;border-radius:14px;min-width:96px;padding:10px 12px}.poll-results span{color:#165f37;font-size:1.25rem;font-weight:900;display:block}.poll-results small{color:#607069;font-weight:800}.answer-reveal{background:#f97316;margin-top:14px}.correct-answer{color:#fff;background:#1f1538;border-radius:14px;margin-top:12px;padding:14px}.correct-answer strong{color:#ffb86b}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){.hero{min-height:36vh;padding-bottom:48px}.hero-copy{margin-top:34px}.lesson-grid{grid-template-columns:1fr;margin-top:-48px}.session-chooser{margin-top:18px}.join-panel{grid-template-columns:1fr;margin-top:-48px}.recent-list,.course-hub-strip,.course-dashboard-header,.course-dashboard-grid,.login-panel,.admin-dashboard-header,.admin-dashboard-grid,.kls-dashboard-toolbar{grid-template-columns:1fr}.dashboard-counts{justify-self:start}.course-hub-strip,.course-dashboard-header{display:grid}.course-dashboard,.login-panel,.admin-dashboard{margin-top:-48px}.login-actions{justify-content:flex-start}.session-card-grid{grid-template-columns:1fr}.session-panel{max-height:none;position:static;overflow:visible}.section-top{flex-direction:column}}
