:root{--ink:#16191c;--muted:#60666b;--paper:#f8f8f6;--white:#fff;--czepa:#00aeda;--czepa-deep:#007fa2;--school:#fb6028;--mint:#9dd9d2;--lime:#b6d92b;--line:#22292f1f;--glass:#ffffffa8;--shadow:0 30px 90px #202a301c;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{min-height:100vh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:linear-gradient(#fbfbfa 0%,#f4f5f2 100%);margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline-offset:3px;outline:3px solid #00aeda6b}.auth-page,.message-page,.library-page,.lesson-page{isolation:isolate;min-height:100vh;position:relative;overflow:hidden}.ambient{z-index:-1;filter:blur(4px);opacity:.56;pointer-events:none;border-radius:999px;position:absolute}.ambient-blue{background:radial-gradient(circle,#00b9e43d,#0000 68%);width:42rem;height:42rem;top:-18rem;left:-10rem}.ambient-mint{background:radial-gradient(circle,#9dd9d24d,#0000 68%);width:48rem;height:48rem;bottom:-22rem;right:-16rem}.ambient-orange{background:radial-gradient(circle,#fb602821,#0000 68%);width:34rem;height:34rem;top:8%;right:-15rem}.auth-page{grid-template-rows:1fr auto;padding:clamp(1rem,3vw,2rem);display:grid}.auth-shell{background:var(--glass);width:min(1120px,100%);min-height:min(700px,100vh - 7rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px)saturate(120%);backdrop-filter:blur(28px)saturate(120%);border:1px solid #ffffffe0;border-radius:32px;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);margin:auto;display:grid;overflow:hidden}.auth-story,.login-panel{padding:clamp(2rem,5vw,4.75rem)}.auth-story{background:linear-gradient(140deg,#ffffffc7,#f8f8f673);flex-direction:column;justify-content:space-between;display:flex}.brand-lockup{align-items:center;gap:1rem;min-height:58px;display:flex}.brand-image{align-items:center;display:flex;overflow:hidden}.brand-image img{object-fit:contain;width:100%;height:100%;display:block}.brand-czepa{width:136px;height:74px}.brand-skolagpt{width:128px;height:70px}.brand-times{color:#a5a9ac;font-size:1.25rem;font-weight:300}.eyebrow{color:var(--czepa-deep);letter-spacing:.14em;text-transform:uppercase;margin-top:clamp(3rem,10vh,7rem);font-size:.72rem;font-weight:750}.auth-story h1,.library-content>h1,.message-card h1{letter-spacing:-.065em;margin:1.15rem 0 0;font-size:clamp(3.5rem,8vw,7rem);font-weight:640;line-height:.92}.auth-story h1 span{max-width:22ch;color:var(--muted);letter-spacing:-.025em;margin-top:1.35rem;font-size:clamp(1.1rem,2.5vw,1.45rem);font-weight:450;line-height:1.25;display:block}.auth-lead{color:#464c51;max-width:31rem;margin:2rem 0 0;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.65}.course-meta{flex-wrap:wrap;gap:.6rem;margin-top:3rem;display:flex}.course-meta span{border:1px solid var(--line);color:#555b60;background:#ffffff7a;border-radius:999px;padding:.6rem .85rem;font-size:.78rem}.login-panel{background:#ffffff85;border-left:1px solid #22292f14;flex-direction:column;justify-content:center;display:flex}.login-panel-heading{color:#555b60;align-items:center;gap:.65rem;font-size:.78rem;font-weight:650;display:flex}.status-dot{background:var(--lime);border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 5px #b6d92b1f}.login-panel h2{letter-spacing:-.05em;margin:2rem 0 .75rem;font-size:clamp(2rem,4vw,2.75rem);font-weight:620}.login-panel>p{color:var(--muted);margin:0;font-size:.96rem;line-height:1.55}.auth-alert{color:#88330f;background:#fb602814;border:1px solid #b942152e;border-radius:12px;margin-top:1.25rem;padding:.8rem .9rem;font-size:.83rem;line-height:1.45}.google-button,.primary-link{color:#fff;background:#191c1f;border:1px solid #191c1f;border-radius:14px;justify-content:center;align-items:center;gap:.8rem;width:100%;min-height:3.65rem;margin-top:2rem;font-size:.93rem;font-weight:650;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:flex;box-shadow:0 8px 22px #191c1f24}.google-button:not(:disabled):hover,.primary-link:hover{background:#2b3034;transform:translateY(-1px);box-shadow:0 12px 28px #191c1f2e}.google-button:disabled{cursor:not-allowed;opacity:.56}.google-mark{color:#4285f4;background:#fff;border-radius:6px;place-items:center;width:1.55rem;height:1.55rem;font-weight:800;display:grid}.login-panel .privacy-note{color:#747a7f;margin-top:1.1rem;font-size:.73rem;line-height:1.55}.auth-footer{color:#747a7f;justify-content:space-between;width:min(1120px,100%);margin:1rem auto 0;font-size:.72rem;display:flex}.auth-footer a{text-underline-offset:3px}.library-page{padding:clamp(1rem,3vw,2.5rem)}.library-ambient{top:-18rem;left:auto;right:-12rem}.library-mint{bottom:-20rem;left:-22rem;right:auto}.library-header{justify-content:space-between;align-items:center;width:min(1240px,100%);margin:0 auto;padding:.55rem 0;display:flex}.brand-home-link{border-radius:12px;text-decoration:none}.account-actions,.account-chip{align-items:center;display:flex}.account-actions{gap:.8rem}.account-chip{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff9e;border-radius:999px;gap:.65rem;max-width:250px;padding:.45rem .7rem .45rem .45rem}.account-avatar{width:2.1rem;height:2.1rem;color:var(--czepa-deep);background:#e2f6fa;border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:750;display:grid}.account-copy{min-width:0;display:grid}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy strong{font-size:.75rem}.account-copy small{color:#777d82;margin-top:.12rem;font-size:.63rem}.signout-button{color:#555b60;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.7rem .9rem;font-size:.75rem}.signout-button:hover{color:var(--ink);background:#191c1f0f}.library-content{width:min(1100px,100%);margin:clamp(4rem,10vh,8rem) auto 0;padding-bottom:clamp(4rem,10vw,8rem)}.library-content .eyebrow{margin-top:0}.library-content>h1{font-size:clamp(4rem,10vw,8rem)}.library-subtitle{color:var(--muted);margin:1.3rem 0 0;font-size:clamp(1.1rem,2vw,1.45rem)}.library-intro{color:#73797e;max-width:36rem;margin:1.4rem 0 0;font-size:.93rem;line-height:1.6}.catalog-link{max-width:26rem;margin-top:1.6rem}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:clamp(3.5rem,7vw,5.5rem);display:grid}.lesson-card{-webkit-backdrop-filter:blur(24px)saturate(115%);backdrop-filter:blur(24px)saturate(115%);background:#ffffff94;border:1px solid #ffffffe6;border-radius:24px;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 22px 60px #202a3014}.lesson-card:hover{border-color:#00aeda33;transform:translateY(-3px);box-shadow:0 28px 70px #202a301f}.lesson-card-link{min-height:100%;color:inherit;flex-direction:column;padding:.8rem;text-decoration:none;display:flex}.lesson-card-topline{color:#687075;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:.35rem .35rem .75rem;font-size:.68rem;font-weight:700;display:flex}.lesson-card-art{background:radial-gradient(circle at 86% 15%,#fb60286b,#0000 29%),radial-gradient(circle at 12% 85%,#9dd9d2c7,#0000 38%),linear-gradient(140deg,#dff6fa 0%,#f2f2e8 54%,#fce5dd 100%);border-radius:17px;justify-content:space-between;align-items:flex-end;min-height:190px;padding:1.2rem;display:flex;position:relative;overflow:hidden}.lesson-card-art:before{content:"";border:1px solid #ffffffb8;border-radius:50%;width:70%;height:130%;position:absolute;top:-42%;right:-23%;transform:rotate(28deg)}.lesson-card-art>span{color:#16191cc2;letter-spacing:-.08em;font-size:3.25rem;font-weight:620}.play-mark{z-index:1;width:2.9rem;height:2.9rem;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #fffc;border-radius:50%;place-items:center;font-size:.75rem;display:grid;box-shadow:0 10px 26px #16191c1f}.play-mark.is-pending{color:#71777c;letter-spacing:.12em}.lesson-card-copy{padding:1.2rem .45rem .8rem}.lesson-card-copy>p{color:var(--czepa-deep);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:750}.lesson-card-copy h2{letter-spacing:-.04em;margin:.55rem 0 0;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:620;line-height:1.12}.material-badges{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.material-badges span{border:1px solid var(--line);color:#687075;border-radius:999px;padding:.36rem .52rem;font-size:.63rem}.material-badges .pending-badge{color:#9b421f;background:#fb602812;border-color:#fb60282e}.lesson-open{border-top:1px solid var(--line);color:#4c5358;justify-content:space-between;align-items:center;margin-top:auto;padding:.8rem .45rem .35rem;font-size:.73rem;font-weight:650;display:flex}.lesson-open b{color:var(--school);font-size:1rem}.phase-card{background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid #ffffffe0;border-radius:24px;grid-template-columns:auto 1fr;gap:1.5rem;margin-top:clamp(3rem,7vw,5.5rem);padding:clamp(1.4rem,4vw,2.4rem);display:grid}.phase-icon{width:3.3rem;height:3.3rem;color:var(--czepa-deep);background:#dff5fa;border-radius:14px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.phase-label{color:var(--czepa-deep);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:750}.phase-card h2{letter-spacing:-.035em;margin:.65rem 0 0;font-size:clamp(1.35rem,3vw,2rem);font-weight:620}.phase-card p{max-width:47rem;color:var(--muted);margin:.8rem 0 0;font-size:.92rem;line-height:1.6}.library-preview{border:1px solid var(--line);background:var(--line);border-radius:20px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1.25rem;display:grid;overflow:hidden}.library-preview>div{background:#ffffff94;gap:.3rem;padding:1.5rem;display:grid}.library-preview strong{letter-spacing:-.04em;font-size:1.45rem;font-weight:620}.library-preview span{color:#71777c;font-size:.73rem}.lesson-page{padding:clamp(1rem,3vw,2.5rem)}.lesson-blue{top:-23rem;left:24%}.lesson-orange{top:30%;right:-20rem}.lesson-shell{width:min(1180px,100%);margin:clamp(3.5rem,8vh,6.5rem) auto 0;padding-bottom:clamp(4rem,10vw,8rem)}.back-link{color:#61686d;border-radius:8px;align-items:center;gap:.55rem;font-size:.76rem;font-weight:650;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.lesson-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:2.5rem;display:flex}.lesson-kicker,.section-label{color:var(--czepa-deep);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:760}.lesson-heading h1{letter-spacing:-.065em;max-width:850px;margin:.8rem 0 0;font-size:clamp(2.8rem,7vw,5.7rem);font-weight:625;line-height:.96}.duration-pill{border:1px solid var(--line);color:#60676c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff8c;border-radius:999px;flex:none;padding:.65rem .85rem;font-size:.7rem}.video-frame{aspect-ratio:16/9;background:#101214;border:1px solid #ffffffdb;border-radius:26px;width:100%;margin-top:clamp(2rem,5vw,3.5rem);position:relative;overflow:hidden;box-shadow:0 30px 80px #13191d2e}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-unavailable{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:radial-gradient(circle at 88% 18%,#fb602829,#0000 28%),linear-gradient(135deg,#dff6fac7,#fff9);border:1px solid #ffffffdb;border-radius:26px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.25rem,4vw,2rem);min-height:280px;margin-top:clamp(2rem,5vw,3.5rem);padding:clamp(1.5rem,5vw,3.5rem);display:grid;box-shadow:0 30px 80px #202a301a}.video-unavailable>span{color:#657075;letter-spacing:.16em;background:#ffffffa8;border:1px solid #ffffffdb;border-radius:50%;place-items:center;width:4.3rem;height:4.3rem;font-weight:800;display:grid}.video-unavailable h2{letter-spacing:-.05em;margin:.65rem 0 0;font-size:clamp(1.8rem,4vw,3rem);font-weight:620}.video-unavailable div>p:last-child{max-width:42rem;color:var(--muted);margin:.8rem 0 0;line-height:1.6}.lesson-body{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(2rem,6vw,5rem);margin-top:clamp(2.5rem,6vw,4.5rem);display:grid}.lesson-summary h2,.materials-panel h2{letter-spacing:-.045em;margin:.6rem 0 0;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:620}.lesson-description{color:#555d62;max-width:44rem;margin:1.35rem 0 0;font-size:1rem;line-height:1.72}.takeaway-list{gap:0;margin:1.7rem 0 0;padding:0;list-style:none;display:grid}.takeaway-list li{border-top:1px solid var(--line);color:#40474c;padding:1rem 0 1rem 2.2rem;font-size:.91rem;line-height:1.55;position:relative}.takeaway-list li:before{color:#25746c;content:"✓";background:#9dd9d273;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:1.08rem;left:.25rem}.materials-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff94;border:1px solid #ffffffe0;border-radius:24px;align-self:start;padding:clamp(1.25rem,3vw,1.7rem);box-shadow:0 24px 65px #202a3017}.materials-panel h2{font-size:1.55rem}.material-link{border:1px solid var(--line);color:inherit;background:#ffffff8c;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;margin-top:.85rem;padding:.9rem;text-decoration:none;transition:background .16s,border-color .16s;display:grid}.materials-panel h2+.material-link{margin-top:1.35rem}.material-link:hover{background:#ffffffe0;border-color:#00aeda40}.material-link>span:nth-child(2){gap:.18rem;min-width:0;display:grid}.material-link strong{font-size:.77rem;line-height:1.35}.material-link small{color:#737a7f;font-size:.65rem;line-height:1.35}.material-link>b{color:#91979b;font-size:.85rem}.material-icon{color:#b84419;background:#fb60281f;border-radius:10px;place-items:center;width:2.35rem;height:2.35rem;font-size:.58rem;font-weight:800;display:grid}.resource-icon{color:var(--czepa-deep);background:#00aeda1f}.empty-materials{border-top:1px solid var(--line);color:#737a7f;margin:1.35rem 0 0;padding:1rem 0 0;font-size:.78rem;line-height:1.55}.lesson-navigation{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(3rem,7vw,5rem);padding-top:1.5rem;display:grid}.lesson-navigation a{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff85;border:1px solid #ffffffe0;border-radius:18px;align-content:center;gap:.42rem;min-height:5.5rem;padding:1rem 1.15rem;text-decoration:none;transition:border-color .16s,background .16s;display:grid}.lesson-navigation a:hover{background:#ffffffc7;border-color:#00aeda38}.lesson-navigation a:last-child{text-align:right}.lesson-navigation small{color:var(--czepa-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:750}.lesson-navigation strong{font-size:.86rem;line-height:1.35}.lesson-not-found{border:1px solid var(--line);background:var(--glass);width:min(560px,100% - 2rem);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;margin:15vh auto;padding:clamp(2rem,6vw,4rem)}.lesson-not-found>span{color:var(--czepa-deep);letter-spacing:.12em;font-size:.75rem;font-weight:800}.lesson-not-found h1{letter-spacing:-.05em;margin:1rem 0 0;font-size:clamp(2rem,6vw,3.5rem)}.lesson-not-found p{color:var(--muted);margin:1rem 0 0;line-height:1.6}.lesson-not-found .primary-link{width:auto;margin:1.8rem auto 0}.message-page{place-items:center;padding:1rem;display:grid}.denied-ambient{opacity:.75;top:-10rem;right:-8rem}.message-card{background:var(--glass);width:min(600px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid #ffffffe6;border-radius:30px;padding:clamp(2rem,7vw,4rem)}.message-symbol{color:#b94215;background:#fb60281f;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;margin-top:3.5rem;font-size:1.3rem;font-weight:750;display:grid}.message-card .eyebrow{color:#a33a13;margin-top:1.8rem}.message-card h1{font-size:clamp(2.25rem,7vw,4.2rem);line-height:.98}.message-card>p{color:var(--muted);margin:1.3rem 0 0;line-height:1.65}.message-actions{grid-template-columns:1fr;gap:.75rem;margin-top:2rem;display:grid}.primary-link{margin-top:0}.secondary-link{border:1px solid var(--line);color:#51575c;background:#ffffff73;border-radius:14px;justify-content:center;align-items:center;min-height:3.3rem;font-size:.82rem;text-decoration:none;display:flex}.secondary-link:hover{background:#ffffffd1}@media (width<=820px){.auth-shell{grid-template-columns:1fr;min-height:auto}.auth-story{min-height:580px}.login-panel{border-top:1px solid #22292f14;border-left:0}.library-header{align-items:flex-start}.account-chip{display:none}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-body{grid-template-columns:1fr}.materials-panel{order:-1}}@media (width<=560px){.auth-page{padding:0}.auth-shell{border:0;border-radius:0}.auth-story,.login-panel{padding:1.5rem}.auth-story{min-height:540px}.brand-lockup{gap:.55rem}.brand-czepa{width:110px;height:60px}.brand-skolagpt{width:105px;height:56px}.auth-story h1{font-size:clamp(3.4rem,17vw,5rem)}.auth-footer{padding:1rem 1.25rem}.library-page{padding:.8rem 1rem 2rem}.library-header .brand-czepa{width:88px}.library-header .brand-skolagpt{width:86px}.library-content{margin-top:3.5rem}.lesson-grid,.phase-card,.library-preview{grid-template-columns:1fr}.message-card{border-radius:24px}.lesson-page{padding:.8rem 1rem 2rem}.lesson-page .library-header .brand-czepa{width:88px}.lesson-page .library-header .brand-skolagpt{width:86px}.lesson-shell{margin-top:3rem}.lesson-heading{flex-direction:column;align-items:flex-start;gap:1rem}.video-frame{border-radius:17px}.video-unavailable{border-radius:17px;grid-template-columns:1fr;min-height:250px}.materials-panel{border-radius:20px}.lesson-navigation{grid-template-columns:1fr}.lesson-navigation>span{display:none}.lesson-navigation a:last-child{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
