: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 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}.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-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-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}.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{gap:22px;padding:22px;display:grid;position:sticky;top:20px}.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{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{color:#66746d;font-size:.82rem;font-weight:760}.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{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}.reveal-next-button:hover{background:#dd5f0d;border-color:#dd5f0d}.reveal-next-button:disabled{color:#6f6252;cursor:default;background:#f7f2e8;border-color:#d8d0c3}.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}.lesson-section{overflow:hidden}.lesson-section.is-hidden{background:#fffdf8c7}.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}.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}.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}.copy-button{color:#f8f5ec;background:#243c33;border-color:#37594b;gap:7px;min-height:32px;padding:0 10px}pre{color:#f5f0e6;margin:0;padding:18px;font-size:.95rem;line-height:1.55;overflow-x:auto}.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}@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{grid-template-columns:1fr}.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{position:static}.section-top{flex-direction:column}}
