@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Tsukimi+Rounded:wght@700&display=swap";.google-sso-button{width:100%;padding:.875rem 1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);color:#1f2937;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 1px 2px #0000000d}.google-sso-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.google-sso-button:disabled{opacity:.6;cursor:not-allowed}.teach-header{position:sticky;top:0;z-index:10;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(241,228,215,.9);margin-left:calc(var(--page-padding, 0px) * -1);margin-right:calc(var(--page-padding, 0px) * -1)}.teach-header--transparent{position:absolute;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none}.teach-header--transparent .teach-logo{filter:brightness(0) invert(1)}.teach-header--transparent .teach-brand-logo{color:#fff}.teach-header--transparent .teach-brand-subtitle{color:#ffffffc7}.teach-header--transparent .teach-link{color:#ffffffe6}.teach-header--transparent .teach-link.primary{border:1px solid rgba(255,255,255,.85);padding:.45rem .9rem;border-radius:.75rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.teach-header--transparent .teach-link:hover,.teach-header--transparent .teach-link:focus-visible{color:#ffe0cc}.teach-header--transparent .teach-link.primary:hover,.teach-header--transparent .teach-link.primary:focus-visible{border-color:#fff;box-shadow:0 10px 20px -14px #fffc;transform:translateY(-1px);color:#fff}.teach-header-shell{width:100%;padding:.75rem var(--page-padding, 1.5rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.teach-brand{display:flex;align-items:center;gap:.75rem}.teach-logo{width:56px;height:56px;object-fit:contain;filter:brightness(0) saturate(100%)}.teach-brand-text{display:flex;flex-direction:column;gap:.2rem;align-items:center;text-align:center}.teach-brand-title{letter-spacing:-.02em}.teach-brand-logo{font-family:"Tsukimi Rounded",var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:#ff6b2c}.teach-brand-subtitle{color:#1f2937}.teach-nav{display:none;align-items:center;gap:1.5rem}.teach-link{color:#1f2937;text-decoration:none;font-weight:var(--font-medium);display:flex;align-items:center;gap:.5rem}.teach-link:hover,.teach-link:focus-visible{color:#f97316}.teach-profile{position:relative}.teach-profile summary{list-style:none}.teach-profile summary::-webkit-details-marker{display:none}.teach-profile-trigger{display:flex;align-items:center;gap:.75rem;border:1px solid #f3e4d5;background:#fff;padding:.4rem .7rem;border-radius:999px;cursor:pointer}.teach-profile-label{color:#6b7280}.teach-profile-avatar{width:2rem;height:2rem;border-radius:50%;background:#1f2937;color:#fff;display:grid;place-items:center;font-weight:var(--font-semibold);font-size:var(--text-sm)}.teach-profile-menu{position:absolute;right:0;top:calc(100% + .6rem);min-width:170px;background:#fff;border:1px solid #f1e4d7;border-radius:.75rem;box-shadow:0 12px 30px #1f29371f;padding:.4rem;display:flex;flex-direction:column;gap:.25rem}.teach-profile-link{padding:.55rem .75rem;border-radius:.5rem;text-decoration:none;color:#1f2937;font-weight:var(--font-medium)}.teach-profile-link:hover,.teach-profile-link:focus-visible{background:#fff7ed;color:#c2410c}@media(min-width:860px){.teach-nav{display:flex}}@media(max-width:600px){.teach-header-shell{padding:.6rem 1rem}.teach-nav{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.teach-header-shell{flex-wrap:wrap;align-items:flex-start}.teach-brand{width:100%;justify-content:center}.teach-logo{width:44px;height:44px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#ffb07a,#ff8a4c 45%,#f97316);padding:6rem 2rem 2rem}.login-container{width:100%;max-width:28rem;background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.login-header{text-align:center;margin-bottom:2.5rem}.login-subtitle{margin-top:.75rem;color:#6b7280}.login-form{display:flex;flex-direction:column;gap:1rem}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.divider-line{flex:1;height:1px;background:#e5e7eb}.divider-text{color:#9ca3af;font-weight:var(--font-medium)}.login-footer{text-align:center;display:flex;flex-direction:column;gap:1rem}.login-footer p{color:#6b7280}.create-account-button{width:100%;padding:.875rem 1.5rem;background:transparent;border:1px solid #ff6b2c;border-radius:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);color:#ff6b2c;box-shadow:0 1px 2px #ff6b2c1a}.create-account-button:hover{background:#ff6b2c;color:#fff;box-shadow:0 4px 12px #ff6b2c4d;transform:translateY(-2px)}@media(max-width:768px){.login-page{padding:5rem 1.5rem 1.5rem}.login-container{padding:2rem}.login-header{margin-bottom:2rem}}@media(max-width:480px){.login-page{padding:4.5rem 1rem 1rem}.login-container{padding:1.5rem;border-radius:.75rem}.login-header{margin-bottom:1.5rem}.login-divider{margin:1rem 0}}.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#ffb07a,#ff8a4c 45%,#f97316);padding:6rem 2rem 2rem}.signup-container{width:100%;max-width:28rem;background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.signup-header{text-align:center;margin-bottom:2rem}.signup-subtitle{margin-top:.75rem;color:#6b7280;display:flex;flex-direction:column;gap:.4rem;align-items:center}.signup-subtitle-brand{display:inline-flex;align-items:center;gap:.4rem}.signup-subtitle-logo{width:40px;height:40px;filter:brightness(0) saturate(100%)}.signup-form{display:flex;flex-direction:column;gap:1rem}.signup-terms{display:flex;align-items:flex-start;gap:.6rem;color:#6b7280}.signup-terms-input{position:absolute;opacity:0;width:1px;height:1px}.signup-terms-box{width:18px;height:18px;border-radius:4px;border:1.5px solid #f97316;margin-top:.2rem;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease;flex-shrink:0}.signup-terms-box:after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);opacity:0;transition:opacity .2s ease}.signup-terms-input:checked+.signup-terms-box{background:#f97316;border-color:#f97316}.signup-terms-input:checked+.signup-terms-box:after{opacity:1}.signup-terms-input:focus-visible+.signup-terms-box{box-shadow:0 0 0 3px #f9731640}.signup-terms-link{color:#f97316;text-decoration-color:#f9731680}.signup-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.signup-footer{text-align:center;display:flex;flex-direction:column;gap:1rem}.signup-footer p{color:#6b7280}.signin-button{width:100%;padding:.875rem 1.5rem;background:transparent;border:1px solid #ff6b2c;border-radius:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);color:#ff6b2c;box-shadow:0 1px 2px #ff6b2c1a}.signin-button:hover{background:#ff6b2c;color:#fff;box-shadow:0 4px 12px #ff6b2c4d;transform:translateY(-2px)}@media(max-width:768px){.signup-page{padding:5rem 1.5rem 1.5rem}.signup-container{padding:2rem}.signup-header{margin-bottom:2rem}}@media(max-width:480px){.signup-page{padding:4.5rem 1rem 1rem}.signup-container{padding:1.5rem;border-radius:.75rem}.signup-header{margin-bottom:1.5rem}.signup-divider{margin:1rem 0}}.onboarding-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:5.5rem 2.5rem 3rem;background:linear-gradient(140deg,#f6f1ea,#f8e6d4 40%,#fbd7b7)}.onboarding-card{width:min(640px,100%);display:grid;grid-template-columns:minmax(0,1fr);background:#fff;border-radius:1.5rem;box-shadow:0 30px 60px -40px #0f172ab3;overflow:hidden;animation:card-rise .6s ease both}.onboarding-brand{display:none}.onboarding-brand:after{display:none}.onboarding-brand-content{display:none}.onboarding-logo{width:56px;height:56px}.onboarding-brand-subtitle{color:#f8fafcc7}.onboarding-brand-highlights{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.onboarding-highlight{display:flex;align-items:center;gap:.75rem;color:#f8fafcd1}.onboarding-form-panel{padding:3.5rem;display:flex;flex-direction:column;gap:2rem}.onboarding-header{display:flex;flex-direction:column;gap:.5rem}.onboarding-kicker{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;padding:.35rem .7rem;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;color:#c2410c;font-weight:var(--font-semibold);letter-spacing:.01em;animation:soft-float 2.8s ease-in-out infinite}.onboarding-subtitle{color:#6b7280;display:flex;align-items:center;gap:.6rem}.onboarding-subtitle-icon{color:#1f2937;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.onboarding-banner{padding:.85rem 1rem;border-radius:.75rem;background:#fff4f2;color:#b42318;border:1px solid #f8c5ba}.onboarding-form{display:flex;flex-direction:column;gap:1.25rem}.onboarding-form>*{animation:field-rise .5s ease both}.onboarding-form>*:nth-child(1){animation-delay:.05s}.onboarding-form>*:nth-child(2){animation-delay:.1s}.onboarding-form>*:nth-child(3){animation-delay:.15s}.onboarding-form>*:nth-child(4){animation-delay:.2s}.onboarding-form>*:nth-child(5){animation-delay:.25s}.onboarding-form>*:nth-child(6){animation-delay:.3s}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}.onboarding-helper-row{margin-top:.5rem}.onboarding-helper-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:.9rem;border:1px dashed rgba(247,119,27,.4);background:#fff7ed}.onboarding-helper-title{font-weight:var(--font-medium);color:#7c2d12}.onboarding-helper-text{color:#9a3412}.onboarding-helper-action{border:none;border-radius:.75rem;padding:.6rem 1rem;background:#fff;color:#c2410c;border:1px solid rgba(247,119,27,.45);font-weight:var(--font-medium);cursor:pointer;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.onboarding-helper-action:hover,.onboarding-helper-action:focus-visible{transform:translateY(-1px);box-shadow:0 10px 18px -14px #f7771b99}.onboarding-secondary{border:1px solid #e5e7eb;border-radius:.85rem;padding:.9rem 1.2rem;background:#fff;color:#6b7280;font-weight:var(--font-semibold);cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.onboarding-secondary:hover,.onboarding-secondary:focus-visible{border-color:#fb923c;color:#c2410c;box-shadow:0 10px 20px -16px #f9731699}.onboarding-secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-input{border:1px solid #e2e8f0;border-radius:.75rem;padding:.85rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}.form-input:focus{outline:none;border-color:#f7771b;box-shadow:0 0 0 1px #f7771b59}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #ffffff inset;-webkit-text-fill-color:#1f2937;transition:background-color 9999s ease-in-out 0s}.form-input.is-invalid{border-color:#ef4444;box-shadow:none}.form-input.is-invalid:focus{box-shadow:none}.autocomplete-panel{margin-top:.5rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;max-height:220px;overflow-y:auto;box-shadow:0 10px 24px #0f172a14}.autocomplete-panel--floating{position:static}.autocomplete-portal{position:fixed;z-index:999;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;max-height:220px;overflow-y:auto;box-shadow:0 16px 32px #0f172a29}.autocomplete-item{display:block;width:100%;text-align:left;padding:.65rem .85rem;border:none;background:transparent;color:#1f2937;cursor:pointer}.autocomplete-loading{display:flex;align-items:center;gap:.5rem;color:#6b7280;cursor:default}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid #e5e7eb;border-top-color:#f97316;animation:spin .8s linear infinite}.autocomplete-item:hover,.autocomplete-item:focus-visible{background:#fff7ed}.form-error{color:#b91c1c}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper .form-input{width:100%;padding-right:2.75rem}.password-toggle{position:absolute;right:.75rem;background:transparent;border:none;cursor:pointer;color:#64748b}.checkbox-field{gap:.6rem}.checkbox-label{display:flex;align-items:flex-start;gap:.6rem}.checkbox-label input{margin-top:.15rem;accent-color:#f97316}.subject-input-wrapper{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:.75rem;padding:0;background:#fff}.subject-input-wrapper:focus-within{border-color:#f7771b;box-shadow:0 0 0 1px #f7771b59}.subject-input-wrapper .form-input{border:none;padding:.85rem 1rem;line-height:1.5;width:100%;box-shadow:none;color:#1f2937}.subject-input-wrapper .form-input:focus{box-shadow:none}.subject-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.subject-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:var(--font-medium);font-size:var(--text-sm)}.subject-tag-remove{border:none;background:none;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0}.onboarding-submit{border:none;border-radius:.85rem;padding:.95rem 1.5rem;cursor:pointer;background:linear-gradient(120deg,#fb923c,#f97316);color:#fff;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 14px 30px -18px #f97316cc}.onboarding-submit:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}.onboarding-submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 40px -20px #f97316e6}.onboarding-footer{display:flex;flex-direction:column;gap:.75rem;color:#6b7280}.onboarding-link{border:none;background:transparent;padding:0;cursor:pointer}.onboarding-helper{color:#94a3b8}.auth-modal-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.auth-modal-title{display:inline-flex;align-items:center;gap:.6rem}.auth-modal-form .auth-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.auth-modal-form .onboarding-secondary,.auth-modal-form .onboarding-submit{width:auto;padding:.6rem 1.1rem;font-size:var(--text-sm)}.college-request-success{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;padding:1.2rem .4rem}.college-request-icon{width:54px;height:54px;border-radius:999px;background:#16a34a;color:#fff;display:grid;place-items:center;box-shadow:0 12px 24px -16px #16a34acc}.college-request-text{color:#111827}.college-request-done{margin-top:.5rem}@media(max-width:1024px){.onboarding-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}@media(max-width:900px){.onboarding-card{grid-template-columns:1fr}.onboarding-brand{display:none}.onboarding-form-panel{padding:3rem 2.5rem}}@media(max-width:600px){.onboarding-page{padding:4.5rem 1.25rem 2rem}.onboarding-form-panel{padding:2.5rem 1.75rem}.onboarding-actions{flex-direction:column-reverse;align-items:stretch}.form-row{grid-template-columns:1fr}.onboarding-submit{width:100%}}@keyframes card-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes field-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-float{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.logout-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.logout-card{width:min(92vw,28rem);background:#fff;border-radius:1.25rem;padding:2.5rem 2.25rem;text-align:center;box-shadow:0 24px 40px -22px #0f172a59;display:grid;gap:.75rem}.logout-icon{width:52px;height:52px;border-radius:16px;margin:0 auto .5rem;background:#fff7ed;display:grid;place-items:center}.logout-subtitle{color:#6b7280}.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-callback-card{width:min(90vw,26rem);background:#fff;border-radius:1rem;padding:2.5rem 2rem;box-shadow:0 24px 35px -20px #0003;text-align:center}.auth-callback-text{margin-top:.75rem;color:#6b7280}.auth-callback-action{margin-top:1.5rem;border:none;border-radius:.75rem;padding:.75rem 1.5rem;background:#f97316;color:#fff;font-weight:var(--font-semibold);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 20px -12px #f97316b3}.auth-callback-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.auth-callback-actions .auth-callback-action{margin-top:0}.auth-callback-action--secondary{background:#fff;color:#c2410c;border:1px solid #fdba74;box-shadow:none}.auth-callback-action--secondary:hover,.auth-callback-action--secondary:focus-visible{box-shadow:0 10px 20px -14px #f9731659}.auth-callback-action:hover,.auth-callback-action:focus-visible{transform:translateY(-1px);box-shadow:0 16px 24px -16px #f97316cc}.tooltip{position:relative;display:inline-flex;align-items:center}.tooltip-bubble{position:absolute;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;background:#111827;color:#fff;font-size:.7rem;padding:.25rem .5rem;border-radius:.5rem;white-space:nowrap;z-index:10}.tooltip-bubble:after{content:"";position:absolute;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent}.tooltip-top .tooltip-bubble{bottom:calc(100% + 6px);left:50%;transform:translate(-50%,6px)}.tooltip-top .tooltip-bubble:after{top:100%;left:50%;transform:translate(-50%);border-top:6px solid #111827}.tooltip-bottom .tooltip-bubble{top:calc(100% + 6px);right:0;transform:translateY(-6px)}.tooltip-bottom .tooltip-bubble:after{bottom:100%;right:12px;transform:translate(0);border-bottom:6px solid #111827}.tooltip:focus-within .tooltip-bubble,.tooltip:hover .tooltip-bubble{opacity:1}.tooltip-top:focus-within .tooltip-bubble,.tooltip-top:hover .tooltip-bubble{transform:translate(-50%)}.tooltip-bottom:focus-within .tooltip-bubble,.tooltip-bottom:hover .tooltip-bubble{transform:translate(0)}.home-page{min-height:100vh;background:#fff;color:#1f2937;--page-padding: 1.5rem;padding:0 var(--page-padding) 1.5rem}.home-shell{width:100%;max-width:1160px;margin:0 auto}.home-main{display:flex;flex-direction:column;gap:2rem;align-items:stretch}.home-hero{display:grid;gap:2rem}.home-calendar-section{display:flex;flex-direction:column;gap:1.5rem}.home-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:1rem;padding:.9rem 1.2rem;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-weight:var(--font-medium)}.home-notice-dismiss{border:none;background:none;color:#c2410c;font-weight:var(--font-semibold);cursor:pointer}.home-notice-dismiss:hover,.home-notice-dismiss:focus-visible{text-decoration:underline}.hero-header{display:flex;flex-direction:column;gap:.75rem}.hero-title-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.subject-nav{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto}.subject-nav-button{border:1px solid #f3d2b9;background:#fffaf5;color:#c2410c;padding:.35rem;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.subject-nav-button:hover,.subject-nav-button:focus-visible{background:#fff1e6;transform:translateY(-1px)}.subject-nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.subject-count{color:#9ca3af}.hero-subtitle{color:#4b5563}.calendar-week-subtitle{display:inline-flex;align-items:center;gap:.5rem}.primary-cta{border:none;background:#f97316;color:#fff;padding:.95rem 1.5rem;border-radius:.75rem;font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;box-shadow:0 8px 20px #f9731640;width:100%;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.subject-grid{display:grid;gap:1rem}.subject-loading{grid-column:1 / -1;border:1px dashed #f3d2b9;border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:.75rem;justify-content:center;background:#fffaf5;color:#9a3412}.subject-banner{grid-column:1 / -1;border-radius:.85rem;padding:.85rem 1rem;background:#fff1e6;color:#9a3412;display:flex;align-items:center;justify-content:space-between;gap:1rem}.subject-retry{border:1px solid #f3d2b9;background:#fff;color:#c2410c;padding:.35rem;border-radius:.6rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.subject-retry:hover,.subject-retry:focus-visible{background:#fff7ed;transform:translateY(-1px)}.subject-spinner{width:22px;height:22px;border-radius:50%;border:3px solid #f3d2b9;border-top-color:#f97316;animation:spin .9s linear infinite}.subject-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid #f1e4d7;display:flex;flex-direction:column;gap:1rem;min-height:14rem;box-shadow:0 10px 25px #1f29370f;animation:rise-in .6s ease forwards;opacity:0;transform:translateY(16px);position:relative;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.subject-card-link{text-decoration:none;color:inherit}.subject-card-content{display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1}.subject-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1rem;border:1px solid transparent;transition:border-color .2s ease,background .2s ease}.subject-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:1rem 1rem 0 0;background:linear-gradient(135deg,#ffb07a,#ff8a4c 60%,#f97316)}.subject-card:hover{transform:translateY(-6px);box-shadow:0 16px 30px #1f29371f}.subject-card:hover .subject-card-overlay{border-color:#f9731659;background:#fff7eda6}.subject-card:nth-child(1){animation-delay:.05s}.subject-card:nth-child(2){animation-delay:.12s}.subject-card:nth-child(3){animation-delay:.19s}.subject-card:nth-child(4){animation-delay:.26s}.subject-icon{width:44px;height:44px;border-radius:.85rem;background:linear-gradient(135deg,#ffb07a,#ff8a4c 60%,#f97316);color:#fff;display:grid;place-items:center;transition:transform .3s ease,box-shadow .3s ease}.subject-title{display:inline-flex;transition:color .3s ease,transform .3s ease}.subject-card:hover .subject-title{color:#c2410c;transform:translateY(-2px);text-shadow:0 4px 12px rgba(249,115,22,.35)}.subject-card:hover .subject-icon{transform:scale(1.06);box-shadow:0 10px 18px #f973164d}.subject-details{display:flex;flex-direction:column;gap:.35rem}.subject-meta{color:#9ca3af}.subject-action{display:inline-flex;align-items:center;gap:.4rem;font-weight:var(--font-semibold);color:#ea580c;text-decoration:none;border-radius:999px;border:1px solid #f3d2b9;background:#fff;padding:.5rem .9rem;width:fit-content;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.subject-action:hover,.subject-action:focus-visible{background:#fff3e7;transform:translateY(-1px);box-shadow:0 8px 16px #ea580c2e}.add-subject-card{border:2px dotted #f3b38a;background:#fffaf5}.add-subject-card:before{display:none}.add-subject-card .primary-cta{width:fit-content}.add-icon{background:linear-gradient(135deg,#ffb07a,#ff8a4c 60%,#f97316);color:#fff}.add-subject-link{text-decoration:none}.capability-strip{display:grid;gap:1rem}.capability-card{background:#fff;border-radius:.85rem;padding:1.25rem;border:1px solid #f1e4d7;display:flex;flex-direction:column;gap:.75rem;animation:fade-up .6s ease forwards;opacity:0;transform:translateY(12px);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.capability-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #1f29371f}.capability-card:nth-child(1){animation-delay:.05s}.capability-card:nth-child(2){animation-delay:.12s}.capability-card:nth-child(3){animation-delay:.19s}.next-step-card{background:#1f2937;color:#fff;border-radius:1.25rem;padding:1.75rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 14px 40px #0f172a33;animation:fade-up .65s ease forwards;opacity:0;transform:translateY(12px);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.next-step-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px #0f172a40}.next-step-header{display:flex;flex-direction:column;gap:.5rem}.next-step-due{color:#fcd34d}.next-step-actions{display:flex;flex-wrap:wrap;gap:.75rem}.next-step-card .secondary-button{background:#111827;color:#fff;border-color:#374151}.next-step-card .secondary-button:hover,.next-step-card .secondary-button:focus-visible{background:#374151}.next-step-card .link{color:#fcd34d}.next-step-empty{border-top:1px solid rgba(255,255,255,.15);padding-top:.75rem;display:flex;flex-direction:column;gap:.35rem}.active-work{display:flex;flex-direction:column;gap:1rem}.home-calendar{display:flex;flex-direction:column}.calendar-card{background:#fff;border-radius:1.25rem;border:1px solid #f1e4d7;padding:1.5rem;box-shadow:0 12px 28px #1f293714;display:flex;flex-direction:column;gap:1.5rem}.calendar-header{display:flex;flex-direction:column;gap:1rem}.calendar-title{display:flex;flex-direction:column;gap:.5rem}.calendar-week-label{color:#6b7280}.calendar-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.calendar-today-pill{border-radius:999px;border:1px solid #f3d2b9;background:#fffaf5;color:#c2410c;padding:.2rem .6rem;font-weight:var(--font-semibold)}.calendar-control{border:1px solid #f3d2b9;background:#fffaf5;color:#c2410c;padding:.55rem .9rem;border-radius:999px;font-weight:var(--font-semibold);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.calendar-control-primary{background:#f97316;color:#fff;border-color:transparent}.calendar-control-primary:hover,.calendar-control-primary:focus-visible{background:#ea580c}.calendar-control:hover,.calendar-control:focus-visible{background:#fff1e6}.calendar-nav{display:inline-flex;align-items:center;gap:.4rem}.calendar-icon-button{border:1px solid #f3d2b9;background:#fff;color:#c2410c;padding:.4rem;border-radius:.75rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.calendar-icon-button:hover,.calendar-icon-button:focus-visible{background:#fff1e6}.calendar-body{display:flex;flex-direction:column;gap:1rem;overflow:hidden}.calendar-week{display:flex;flex-direction:column;gap:1.5rem;animation-duration:.28s;animation-timing-function:ease;animation-fill-mode:both}.calendar-week-next{animation-name:calendar-week-next}.calendar-week-prev{animation-name:calendar-week-prev}.calendar-grid{display:grid;gap:.75rem}.calendar-grid-desktop{display:none}.calendar-grid-mobile{display:grid;gap:1rem}.calendar-day{background:#fffaf5;border:1px solid #f3e5d7;border-radius:1rem;padding:.85rem;display:flex;flex-direction:column;gap:.75rem;min-height:12rem}.calendar-day.is-today{border-color:#f59e0b;box-shadow:0 10px 24px #f973162e}@keyframes calendar-week-next{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes calendar-week-prev{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.calendar-week{animation:none}}.calendar-day-header{display:flex;align-items:center;justify-content:space-between;color:#6b7280}.calendar-day-events{display:flex;flex-direction:column;gap:.6rem}.calendar-compact-event{border:none;background:#fff;border-radius:.75rem;padding:.45rem .6rem;display:grid;grid-template-columns:3.2rem 1fr;gap:.5rem;align-items:center;text-align:left;cursor:pointer;box-shadow:0 8px 16px #1f293714;transition:transform .2s ease,box-shadow .2s ease}.calendar-compact-event:hover,.calendar-compact-event:focus-visible{transform:translateY(-2px);box-shadow:0 12px 20px #1f29371f}.calendar-compact-time{color:#c2410c;font-weight:var(--font-semibold)}.calendar-compact-title{color:#1f2937;font-weight:var(--font-medium)}.calendar-more{color:#9ca3af;padding-left:.2rem;background:none;border:none;cursor:pointer;text-align:left;font:inherit}.calendar-day-empty{color:#9ca3af}.calendar-event{border:1px solid #f1e4d7;background:#fff;border-radius:.85rem;padding:.7rem .75rem;text-align:left;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.calendar-event:hover,.calendar-event:focus-visible{transform:translateY(-2px);box-shadow:0 10px 18px #1f29371f}.calendar-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.calendar-event-title{font-weight:var(--font-semibold);color:#1f2937}.calendar-event-meta{display:flex;flex-wrap:wrap;gap:.4rem;color:#6b7280}.calendar-event-time,.calendar-event-location{background:#fff7ed;padding:.2rem .45rem;border-radius:999px;border:1px solid #f5d6be}.calendar-subject-pill{background:#1f2937;color:#fff;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.calendar-status-pill{border-radius:999px;padding:.15rem .5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-semibold)}.calendar-status-upcoming{background:#e0f2fe;color:#0369a1}.calendar-status-ongoing{background:#fef3c7;color:#b45309}.calendar-status-done{background:#e5e7eb;color:#4b5563}.calendar-day-chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem}.calendar-day-chip{border:1px solid #f3d2b9;background:#fffaf5;border-radius:999px;padding:.35rem .75rem;display:inline-flex;flex-direction:column;align-items:center;gap:.2rem;color:#9a3412;cursor:pointer;min-width:3.5rem}.calendar-day-chip.is-selected{background:#f97316;color:#fff;border-color:transparent}.calendar-day-agenda{display:flex;flex-direction:column;gap:.75rem}.calendar-empty{border:1px dashed #f3d2b9;border-radius:1rem;background:#fffaf5;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;align-items:center;text-align:center}.calendar-empty-action{width:auto}.calendar-state{border:1px solid #f3d2b9;border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#fffaf5}.calendar-loading{display:flex;flex-direction:column;gap:1rem;animation:fade-in .2s ease}.calendar-loading-bar{height:.75rem;border-radius:999px;background:linear-gradient(90deg,#fef3c7,#fff7ed,#fef3c7);animation:shimmer 1.5s infinite;background-size:200% 100%}.calendar-loading-grid{display:grid;gap:.75rem}.calendar-loading-column{background:#fffaf5;border-radius:1rem;border:1px solid #f3e5d7;padding:.85rem;display:flex;flex-direction:column;gap:.6rem;animation:loading-pulse 1.3s ease-in-out infinite}.calendar-loading-chip{height:.6rem;border-radius:999px;background:#fde7d3}.calendar-loading-line{height:.6rem;border-radius:999px;background:#fbe7d7}.calendar-drawer-backdrop,.calendar-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:flex-end;background:#0f172a73;z-index:50}.calendar-drawer{width:min(360px,90vw);background:#fff;padding:1.5rem;border-radius:1.25rem 0 0 1.25rem;box-shadow:-16px 0 40px #0f172a33;display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}.calendar-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.calendar-drawer-body{display:flex;flex-direction:column;gap:1.25rem}.calendar-drawer-meta{display:flex;flex-direction:column;gap:.5rem}.calendar-drawer-actions{display:flex;flex-direction:column;gap:.6rem}.calendar-action-button{border:1px solid #f3d2b9;border-radius:999px;padding:.6rem 1rem;background:#fff7ed;color:#c2410c;font-weight:var(--font-semibold);text-decoration:none;text-align:center}.calendar-action-button:hover,.calendar-action-button:focus-visible{background:#fed7aa}.calendar-action-button.is-disabled{opacity:.6;cursor:not-allowed}.calendar-drawer-overlay,.calendar-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:transparent;cursor:pointer;z-index:0}.calendar-modal-backdrop{justify-content:center;align-items:center}.calendar-modal{width:min(520px,92vw);background:#fff;border-radius:1.25rem;padding:1.5rem;box-shadow:0 20px 45px #0f172a33;display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}.calendar-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.calendar-day-modal-list{display:flex;flex-direction:column;gap:.75rem;max-height:55vh;overflow-y:auto;padding-right:.25rem}.calendar-form{display:flex;flex-direction:column;gap:1rem}.calendar-field{display:flex;flex-direction:column;gap:.4rem;color:#4b5563}.calendar-field-row{display:grid;gap:.75rem}.calendar-input{border:1px solid #e5e7eb;border-radius:.75rem;padding:.6rem .75rem;font-size:.95rem}.calendar-input:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.calendar-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.calendar-form-error{color:#b91c1c}.active-work-header{display:flex;align-items:center;justify-content:space-between}.active-work-grid{display:grid;gap:1rem}.work-card{background:#fff;border-radius:.85rem;padding:1.25rem;border:1px solid #f1e4d7;display:flex;flex-direction:column;gap:1rem;justify-content:space-between;min-height:11rem;animation:fade-up .6s ease forwards;opacity:0;transform:translateY(12px);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.work-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #1f29371f}.work-card:nth-child(1){animation-delay:.05s}.work-card:nth-child(2){animation-delay:.12s}.work-card:nth-child(3){animation-delay:.19s}.empty-work{background:#fffaf5;border-style:dashed}.home-footer{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:2rem 0 1rem}.home-footer .link{color:#6b7280}@media(min-width:768px){.home-page{--page-padding: 4rem;padding:0 var(--page-padding) 3rem}.home-links{display:flex}.home-hero{grid-template-columns:1fr;align-items:start}.primary-cta{width:auto}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-strip,.active-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.next-step-header{flex-direction:row;justify-content:space-between;align-items:center}.calendar-header{flex-direction:row;align-items:center;justify-content:space-between}.calendar-title{flex-direction:row;align-items:center;gap:1.5rem}.calendar-grid-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-grid-mobile{display:none}.calendar-loading-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-field-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.home-page{--page-padding: 6rem;padding:0 var(--page-padding) 3.5rem}.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-120px 0}to{background-position:120px 0}}@keyframes loading-pulse{0%,to{background-color:#fffaf5}50%{background-color:#fff3e4}}@media(prefers-reduced-motion:reduce){.subject-card,.capability-card,.next-step-card,.work-card,.calendar-loading,.calendar-loading-column{animation:none;opacity:1;transform:none}}.add-subject-page{min-height:100vh;background:#fffdfb;color:#1f2937;--page-padding: 1.5rem;padding:0 var(--page-padding) 3.5rem;position:relative;overflow:hidden}.add-hero-step.is-complete{color:#15803d;font-weight:600}.add-hero-step.is-complete .add-hero-step-index{border-color:#22c55e;background:#dcfce7;color:#15803d}.add-hero-line.is-complete{background:#22c55e}.add-link-button{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.875rem;color:#f97316;border:none;background:none;padding:0;cursor:pointer}.add-main{position:relative;z-index:1;max-width:1160px;margin:2rem auto 0;display:grid;gap:1.5rem}.add-panel{padding:1.5rem;border-radius:1.75rem;background:#ffffffe6;border:1px solid #f1e4d7;box-shadow:0 24px 50px #1f293714;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.add-panel-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;text-align:center}.add-panel-header>div{margin:0 auto}.add-panel-subtitle{color:#6b7280}.add-panel-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;justify-content:center}.add-context-row{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.add-context-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #f1e4d7;background:#fffaf6;padding:.35rem .75rem;font-size:.8rem;color:#4b5563;font-weight:600}.add-step-panel{margin-top:.5rem;min-height:22rem;border-radius:1.25rem;border:none;background:transparent;padding:0}.add-step-stack{display:flex;flex-direction:column;gap:1rem}.add-card{border-radius:1.25rem;border:1px solid #f1e4d7;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.add-card-dashed{border-style:dashed;background:#fffc}.add-request-row{display:flex;flex-wrap:wrap;gap:.5rem;flex-direction:column}@media(min-width:768px){.add-request-row{flex-direction:row}}.add-card-title{font-weight:600;color:#1f2937}.add-input-row{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:.85rem;border:1px solid #f1e4d7;background:#fffaf6;color:#9ca3af}.add-input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:#1f2937}.add-input::placeholder{color:#9ca3af}.add-ghost-button{border:none;background:none;color:#f97316;font-size:.75rem;font-weight:600;cursor:pointer}.add-list{display:grid;gap:.5rem}.add-list-item{display:flex;align-items:center;justify-content:space-between;padding:.65rem .8rem;border-radius:.85rem;border:1px solid #f1e4d7;background:#fff;color:#1f2937;font-size:.875rem;cursor:pointer;transition:border-color .2s ease,background .2s ease}.add-list-item:hover,.add-list-item:focus-visible{border-color:#f97316}.add-list-item.is-active{border-color:#f97316;background:#fff7ed;color:#c2410c}.add-list-inline{display:flex;flex-wrap:wrap;gap:.6rem}.add-list-inline .add-list-item{justify-content:center;width:auto;padding:.5rem .9rem;border-radius:999px}.add-subject-pill-list{margin-top:.25rem}.add-subject-pill{justify-content:center}.add-pill-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.25rem}.add-pill-item{border-radius:999px;border:1px solid #f1e4d7;background:#fff;padding:.5rem .9rem;font-size:.85rem;color:#1f2937;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.add-pill-item:hover,.add-pill-item:focus-visible{border-color:#f97316}.add-pill-item.is-active{border-color:#f97316;background:#fff7ed;color:#c2410c;font-weight:600}.add-grid{display:grid;gap:.6rem}.add-pill-group{display:flex;flex-wrap:wrap;gap:.5rem}.add-pill{border-radius:999px;border:1px solid #f1e4d7;padding:.45rem .9rem;font-size:.75rem;font-weight:600;background:#fff;color:#6b7280;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.add-pill.is-active{border-color:#f97316;background:#fff7ed;color:#c2410c}.add-pill-button{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;border:1px solid #f1e4d7;background:#fff;padding:.45rem .9rem;font-size:.75rem;font-weight:600;color:#f97316;cursor:pointer;transition:border-color .2s ease}.add-pill-button:hover,.add-pill-button:focus-visible{border-color:#f97316}.add-empty{border-radius:1rem;border:1px dashed #f1e4d7;background:#fffaf6;padding:.9rem;display:grid;gap:.4rem;color:#6b7280}.add-empty-title{font-weight:600;color:#1f2937}.add-muted{color:#6b7280}.add-strong{font-weight:600;color:#1f2937}.add-success{border-radius:1rem;border:1px solid #f1e4d7;background:#fff7ed;color:#c2410c;padding:.8rem .9rem;font-size:.875rem}.add-footer{margin-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.add-secondary-button{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;border:1px solid #f1e4d7;background:#fff;padding:.55rem 1rem;font-size:.875rem;font-weight:600;color:#6b7280;cursor:pointer;transition:opacity .2s ease}.add-secondary-button:disabled{cursor:not-allowed;opacity:.6}.add-footer-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.add-primary-button{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;border:none;background:#f97316;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 12px 24px #f9731640;transition:background .2s ease,opacity .2s ease}.add-primary-button:hover,.add-primary-button:focus-visible{background:#ea580c}.add-primary-button:disabled{cursor:not-allowed;opacity:.6}.add-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1.5rem}.add-modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#11182759;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.add-modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:1.25rem;border:1px solid #f1e4d7;box-shadow:0 30px 60px #1f293733;padding:1.25rem;display:grid;gap:1rem}.add-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;text-align:center}.add-modal-header>div{width:100%}.add-modal-close{border:none;background:#fff7ed;color:#c2410c;width:2rem;height:2rem;border-radius:999px;cursor:pointer;font-size:1.1rem}.add-modal-body{display:grid;gap:.6rem}.add-modal-input,.add-modal-textarea{width:100%;border:1px solid #f1e4d7;border-radius:.85rem;padding:.6rem .75rem;font-size:.9rem;background:#fffaf6;outline:none}.add-modal-textarea{resize:vertical}.add-modal-context{display:flex;justify-content:space-between;align-items:center;border-radius:.75rem;border:1px solid #f1e4d7;background:#fffaf6;padding:.45rem .65rem}.add-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.add-progress-row{display:flex;align-items:center;gap:.75rem}.add-progress-row.is-centered{justify-content:center;text-align:center}.add-success-row{display:flex;align-items:flex-start;gap:.6rem}.add-success-row.is-stacked{flex-direction:column;align-items:center;text-align:center;gap:.75rem}.add-success-icon{width:2.6rem;height:2.6rem;border-radius:999px;display:grid;place-items:center;background:#22c55e;color:#fff;font-size:1.4rem;font-weight:700;flex-shrink:0}.add-spinner{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid #f1e4d7;border-top-color:#f97316;animation:spin 1s linear infinite}.add-success-text{color:#15803d;font-weight:600;font-size:.95rem}.add-modal-highlight{display:grid;gap:.25rem;padding:.65rem .8rem;border-radius:.85rem;border:1px solid #f1e4d7;background:#fffaf6}@keyframes spin{to{transform:rotate(360deg)}}.add-step-enter{animation:step-in .42s ease}.add-float{animation:float 6s ease-in-out infinite}@keyframes step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.add-hero-text{justify-items:center}.add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.add-success-text{font-size:1rem}}@media(min-width:1024px){.add-main{grid-template-columns:1fr;align-items:start}}@media(prefers-reduced-motion:reduce){.add-step-enter,.add-float,.add-float-slow,.add-spinner{animation:none}}.add-subject-lite{min-height:100vh;background:#fffdfb;color:#1f2937;--page-padding: 1.5rem;padding:0 var(--page-padding) 3.5rem;position:relative;overflow:hidden}.add-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.add-blob{position:absolute;border-radius:999px;filter:blur(60px)}.add-blob-center{top:-4rem;left:50%;width:20rem;height:20rem;transform:translate(-50%);background:#ffe8d5bf}.add-blob-corner{bottom:-3rem;right:-3rem;width:18rem;height:18rem;background:#fff1e6cc}.add-header{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.add-hero{display:grid;gap:1rem;padding:1.25rem 1.5rem;border-radius:1.5rem;background:#fff7ed;border:1px solid #f1e4d7}.add-hero-title-row{text-align:center;display:grid;gap:.35rem}.add-hero-text{display:grid;gap:.5rem;justify-items:center}.add-hero-title{color:#1f2937}.add-hero-steps-count{color:#9ca3af}.add-hero-subtitle{color:#6b7280}.add-hero-progress{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.5rem;margin-top:.25rem;overflow-x:auto;padding-bottom:.25rem}.add-hero-content{display:grid;gap:1rem;align-items:center}.add-hero-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:#6b7280;font-size:.875rem;min-width:8rem}.add-hero-step-body{display:inline-flex;align-items:center;gap:.5rem}.add-hero-step.is-active{color:#c2410c;font-weight:600}.add-hero-step-index{width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid #f1e4d7;display:grid;place-items:center;background:#fff;font-size:.85rem;font-weight:600;color:#6b7280}.add-hero-step.is-active .add-hero-step-index{border-color:#f97316;background:#fff7ed;color:#c2410c}.add-hero-line{flex:1 1 32px;height:1px;background:#f1e4d7;min-width:1.5rem;flex-shrink:0}.add-subject-lite-shell{position:relative;z-index:1;max-width:1160px;margin:2rem auto 0;display:flex;flex-direction:column;gap:2rem}.add-subject-lite-section{display:flex;flex-direction:column;gap:1rem}.add-subject-lite-step{border-top:1px solid #f3e5d7;border-bottom:1px solid #f3e5d7;padding:.75rem 0;color:#6b7280}.add-subject-lite-card{background:#fff;border-radius:1.25rem;padding:1.75rem;border:1px solid #f3e5d7;box-shadow:0 12px 28px #1f29370f;display:flex;flex-direction:column;gap:1.25rem}.add-subject-lite-card-header{display:flex;flex-direction:column;gap:.5rem}.add-subject-lite-field{display:flex;flex-direction:column;gap:.5rem;color:#4b5563}.add-subject-lite-autocomplete{border:1px solid #f1e4d7;border-radius:.85rem;background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 24px #1f293714}.add-subject-lite-suggestion{border:none;background:#fff;text-align:left;padding:.65rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.add-subject-lite-title-row{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.add-subject-lite-chip{background:#fef3c7;color:#92400e;border-radius:999px;padding:.1rem .45rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.add-subject-lite-meta{color:#6b7280}.add-subject-lite-loading{padding:.75rem .85rem;display:flex;align-items:center;gap:.5rem;color:#6b7280}.add-subject-lite-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #f3d2b9;border-top-color:#f97316;animation:add-subject-spin .9s linear infinite}.add-subject-lite-suggestion+.add-subject-lite-suggestion{border-top:1px solid #f3e5d7}.add-subject-lite-suggestion:hover,.add-subject-lite-suggestion:focus-visible{background:#fff7ed}.add-subject-lite-request{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:.9rem;border:1px dashed rgba(247,119,27,.4);background:#fff7ed}.add-subject-lite-request-title{font-weight:var(--font-medium);color:#7c2d12}.add-subject-lite-request-action{border:1px solid rgba(247,119,27,.45);background:#fff;color:#c2410c;border-radius:.75rem;padding:.6rem 1rem;font-weight:var(--font-medium);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.add-subject-lite-request-action:hover,.add-subject-lite-request-action:focus-visible{transform:translateY(-1px);box-shadow:0 10px 18px -14px #f7771b99}.add-subject-lite-input{border:1px solid #e5e7eb;border-radius:.85rem;padding:.75rem .85rem;background:#fff;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.add-subject-lite-input:focus{outline:none;border-color:#f7771b;box-shadow:0 0 0 1px #f7771b59}.add-subject-lite-divider{height:1px;background:#f3e5d7}.add-subject-lite-grid{display:grid;gap:.75rem}.add-subject-lite-info{border:1px solid #f3e5d7;border-radius:.85rem;padding:.75rem .85rem;background:#fffaf5;display:flex;flex-direction:column;gap:.35rem;color:#4b5563}.add-subject-lite-preview{display:flex;flex-direction:column;gap:1rem}.add-subject-lite-empty{border:1px dashed #f3e5d7;border-radius:.85rem;padding:1rem;color:#6b7280;background:#fffaf5}.add-subject-lite-loading-state{display:flex;align-items:center;gap:.6rem;color:#6b7280}.add-subject-lite-error{border-radius:.85rem;padding:.75rem .9rem;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.add-subject-lite-muted{color:#9ca3af}.add-subject-lite-unit{border:1px solid #f3e5d7;border-radius:.85rem;padding:.85rem;background:#fffaf5}.add-subject-lite-list{margin:.5rem 0 0;padding-left:1.2rem;color:#4b5563;display:grid;gap:.3rem}.add-subject-lite-actions{display:flex;flex-wrap:wrap;gap:.75rem}.add-subject-lite-footer{align-items:center;justify-content:flex-start}.add-subject-lite-footer .secondary-button{background:#fff7ed;border:1px solid #f3d2b9;color:#c2410c;border-radius:.75rem;text-decoration:none}.secondary-button.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.add-subject-lite-modal-actions .secondary-button{border-radius:.75rem}.add-subject-lite-success-panel{background:#fff;border-radius:1.25rem;padding:1.5rem;border:1px solid #e7f5e9;box-shadow:0 18px 32px #16a34a1f;display:grid;gap:1rem;justify-items:center;text-align:center;width:100%}.add-subject-lite-success-panel .primary-cta{gap:.5rem}.primary-cta:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.add-subject-lite-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:50}.add-subject-lite-modal{width:min(720px,92vw);background:#fff;border-radius:1.25rem;padding:1.5rem;border:1px solid #f3e5d7;box-shadow:0 24px 50px #1f293726;display:flex;flex-direction:column;gap:1.25rem}.add-subject-lite-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.add-subject-lite-modal-close{border:none;background:none;color:#6b7280;font-weight:var(--font-semibold);cursor:pointer}.add-subject-lite-modal-body{color:#6b7280}.add-subject-lite-modal-form{display:flex;flex-direction:column;gap:1rem}.add-subject-lite-modal-grid{display:grid;gap:.75rem}.add-subject-lite-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.add-subject-lite-modal-error{border-radius:.85rem;padding:.75rem .9rem;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.add-subject-lite-modal-success{display:grid;gap:.75rem;justify-items:center;text-align:center}.add-subject-lite-success-icon{width:3.375rem;height:3.375rem;border-radius:999px;background:#16a34a;color:#fff;display:grid;place-items:center;box-shadow:0 12px 24px -16px #16a34acc}.add-subject-lite-success-icon-large{width:4rem;height:4rem}@keyframes add-subject-spin{to{transform:rotate(360deg)}}@media(min-width:768px){.add-subject-lite-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.add-hero-text{justify-items:center}.add-subject-lite-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.add-float-slow{animation:float 10s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.add-float-slow{animation:none}}.lesson-planning-page{min-height:100vh;background:#fffdfb;color:#1f2937;--page-padding: 1.5rem;padding:0 var(--page-padding) 3rem;position:relative;overflow:hidden}.lesson-planning-page .teach-header-shell{padding-left:var(--page-padding);padding-right:var(--page-padding)}.lesson-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.lesson-blob{position:absolute;border-radius:999px;filter:blur(60px)}.lesson-blob-top{top:-4rem;left:50%;width:20rem;height:20rem;transform:translate(-50%);background:#ffe8d5bf}.lesson-blob-bottom{bottom:-3rem;right:-3rem;width:18rem;height:18rem;background:#fff1e6cc}.lesson-shell{width:100%;max-width:1160px;margin:0 auto}.lesson-main{position:relative;z-index:1;display:grid;gap:2rem;margin-top:2rem}.lesson-hero{display:grid;gap:1.5rem;padding:1.75rem;border-radius:1.75rem;border:1px solid #f1e4d7;background:#fff7ed;box-shadow:0 24px 50px #1f293714}.lesson-hero-content{display:grid;gap:.5rem;position:relative}.lesson-hero-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.lesson-hero-kicker{color:#9a5b39}.lesson-status-badge{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid #f1e4d7;background:#fff;color:#15803d;font-size:.75rem;font-weight:600;padding:.35rem .75rem}.lesson-status-stack{position:absolute;top:0;right:0;display:grid;justify-items:end;gap:.35rem}.lesson-status-link{border:1px solid #f3d2b9;background:#fff7ed;color:#c2410c;font-weight:600;font-size:.85rem;cursor:pointer;padding:.35rem .85rem;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.lesson-status-link:hover,.lesson-status-link:focus-visible{color:#9a3412;background:#fff1e6;transform:translateY(-1px);box-shadow:0 10px 18px #ea580c2e}.lesson-status-link:focus-visible{outline:2px solid #1f2937;outline-offset:3px;border-radius:999px}.lesson-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;place-items:center;padding:1.5rem;z-index:20}.lesson-dialog{width:100%;max-width:620px;background:#fff;border-radius:1.5rem;border:1px solid #f1e4d7;padding:1.75rem;max-height:min(78vh,720px);overflow:hidden;box-shadow:0 24px 60px #0f172a33;display:grid;gap:1rem;grid-template-rows:auto auto 1fr;animation:dialog-rise .25s ease}.lesson-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.lesson-dialog-subtitle{color:#6b7280}.lesson-dialog-close{border:none;background:none;color:#6b7280;border-radius:.5rem;padding:.2rem .6rem;cursor:pointer;font-weight:600;transition:color .2s ease}.lesson-dialog-close-text{padding:.2rem .6rem}.lesson-dialog-close:hover,.lesson-dialog-close:focus-visible{color:#111827}.lesson-dialog-close:focus-visible{outline:2px solid #1f2937;outline-offset:3px}.lesson-dialog-list{display:grid;gap:.85rem;min-height:0}.lesson-dialog-scroll{overflow-y:auto;padding-right:.4rem}.lesson-dialog-unit{display:grid;gap:.5rem}.lesson-dialog-topics{display:grid;gap:.3rem;margin:0;padding-left:1.75rem}.lesson-dialog-topic{font-size:.85rem;font-weight:600;color:#111827}.lesson-dialog-topic-muted{color:#9ca3af;padding-left:0}.lesson-dialog-state{display:flex;align-items:center;gap:.75rem;background:#fff7ed;border:1px dashed #f1e4d7;border-radius:.85rem;padding:.75rem .9rem}.lesson-dialog-state-error{justify-content:space-between;background:#fff1f2;border-color:#fecdd3}.lesson-dialog-retry{border:1px solid #fecdd3;background:#fff7f7;color:#be123c;font-weight:600;font-size:.85rem;cursor:pointer;padding:.35rem .8rem;border-radius:999px}.lesson-dialog-retry:hover,.lesson-dialog-retry:focus-visible{background:#ffe4e6}.lesson-dialog-retry:focus-visible{outline:2px solid #1f2937;outline-offset:3px}.lesson-dialog-chip{border-radius:999px;border:1px solid #f1e4d7;background:#fff7ed;padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:#9a3412}.lesson-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:1.5rem}.lesson-modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lesson-modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:1.25rem;border:1px solid #f1e4d7;box-shadow:0 30px 60px #1f293733;padding:1.25rem;display:grid;gap:1rem;animation:dialog-rise .25s ease}.lesson-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;text-align:center}.lesson-modal-header>div{width:100%}.lesson-modal-close{border:none;background:#fff7ed;color:#c2410c;width:2rem;height:2rem;border-radius:999px;cursor:pointer;font-size:1.1rem}.lesson-modal-body{display:grid;gap:.8rem}.lesson-modal-progress{display:flex;align-items:center;gap:.75rem}.lesson-spinner{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid #f1e4d7;border-top-color:#f97316;animation:spin 1s linear infinite}.lesson-modal-success{display:flex;align-items:center;gap:.75rem}.lesson-modal-success.is-centered{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.6rem}.lesson-modal-error{display:flex;align-items:center;gap:.75rem;color:#b91c1c}.lesson-error-icon{width:2.4rem;height:2.4rem;border-radius:999px;display:grid;place-items:center;background:#fecaca;color:#b91c1c;font-size:1.2rem;font-weight:700}.lesson-error-text{font-weight:600}.lesson-success-icon{width:2.4rem;height:2.4rem;border-radius:999px;display:grid;place-items:center;background:#22c55e;color:#fff;font-size:1.3rem;font-weight:700}.lesson-success-text{color:#15803d;font-weight:600}.lesson-modal-summary{display:grid;gap:.3rem;margin-top:.6rem;justify-items:center;text-align:center}.lesson-modal-highlight .body-sm{font-weight:600}.lesson-summary-item{display:inline-flex;align-items:center;gap:.45rem;color:#4b5563}.lesson-modal-highlight{display:grid;gap:.25rem;padding:.65rem .8rem;border-radius:.85rem;border:1px solid #f1e4d7;background:#fffaf6}.lesson-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.lesson-modal-actions.is-centered{justify-content:center}@keyframes dialog-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lesson-hero-title{color:#1f2937}.lesson-hero .lesson-hero-subtitle{color:#4b5563;max-width:36rem;font-size:.85rem;line-height:1.5}.lesson-layout{display:grid;gap:1.5rem;grid-template-columns:1fr}.lesson-form{display:grid;gap:1.5rem}.lesson-card{background:#fffffff2;border-radius:1.75rem;border:1px solid #f1e4d7;padding:1.5rem;box-shadow:0 24px 50px #1f293714}.lesson-card-soft{border-color:#f5ede4;box-shadow:0 12px 30px #1f29370f;background:#fffffffa}.lesson-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.lesson-card-header-center{justify-content:center;text-align:center}.lesson-card-header-center>div{display:grid;gap:.35rem;justify-items:center}.lesson-title-row{display:inline-flex;align-items:center;gap:.6rem}.lesson-title-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.75rem;background:#fff1e6;color:#c2410c}.lesson-card-hint{color:#9ca3af}.lesson-card-subtitle{color:#6b7280;margin-top:.35rem}.lesson-soft-button{display:inline-flex;align-items:center;gap:.45rem;border-radius:.85rem;border:1px solid #f3d2b9;background:#fff;color:#c2410c;font-weight:600;padding:.55rem 1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.lesson-soft-button:hover,.lesson-soft-button:focus-visible{background:#fff3e7;box-shadow:0 10px 20px #ea580c26;transform:translateY(-1px)}.lesson-soft-button:focus-visible{outline:2px solid #1f2937;outline-offset:2px}.lesson-link-button{border:none;background:none;color:#6b7280;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.lesson-link-button:hover,.lesson-link-button:focus-visible{color:#c2410c}.lesson-link-button:focus-visible{outline:2px solid #1f2937;outline-offset:3px;border-radius:999px}.lesson-primary-cta{border:none;border-radius:.95rem;background:#f97316;color:#fff;padding:.9rem 1.6rem;font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none;box-shadow:0 14px 30px #f9731647;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.lesson-primary-cta:hover,.lesson-primary-cta:focus-visible{background:#ea580c;transform:translateY(-1px);box-shadow:0 18px 34px #ea580c52}.lesson-primary-cta:focus-visible{outline:2px solid #1f2937;outline-offset:3px}.lesson-form-grid{display:grid;gap:1rem}.lesson-field{display:grid;gap:.5rem}.lesson-field-group{border:1px solid #f1e4d7;border-radius:1.25rem;padding:1rem;background:#fffaf5;display:grid;gap:.75rem}.lesson-field-group>.lesson-field-label{margin:0;color:#9a5b39}.lesson-field-group-grid{display:grid;gap:1rem}.lesson-field-label{color:#6b7280}.lesson-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.lesson-day-button{border-radius:999px;border:1px solid #f1e4d7;background:#fff;color:#6b7280;font-weight:600;font-size:.85rem;padding:.4rem 0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.lesson-day-button.is-active{background:#f97316;border-color:#f97316;color:#fff;box-shadow:0 10px 18px #f9731640}.lesson-day-button:hover,.lesson-day-button:focus-visible{background:#fff1e6;color:#c2410c;transform:translateY(-1px)}.lesson-day-button.is-active:hover,.lesson-day-button.is-active:focus-visible{background:#ea580c;color:#fff}.lesson-day-button:focus-visible{outline:2px solid #f97316;outline-offset:2px}.lesson-field-with-icon{position:relative}.lesson-date-picker{display:grid;gap:.5rem;position:relative}.lesson-date-picker.is-compact{gap:0}.lesson-date-picker.is-compact .lesson-field-label{display:none}.lesson-date-picker.is-compact .lesson-date-popover{top:calc(100% + .4rem)}.lesson-date-picker.is-compact .lesson-date-trigger{font-size:.9rem}.lesson-field-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#9ca3af}.lesson-input,.lesson-select,.lesson-textarea{width:100%;border-radius:1rem;border:1px solid #f1e4d7;background:#fff;padding:.65rem .9rem;font-size:.95rem;color:#1f2937;box-shadow:0 10px 18px #1f29370a;transition:border .2s ease,box-shadow .2s ease}.lesson-date-trigger{width:100%;border-radius:1rem;border:1px solid #f1e4d7;background:#fff;padding:.65rem .9rem;font-size:.95rem;color:#6b7280;box-shadow:0 10px 18px #1f29370a;transition:border .2s ease,box-shadow .2s ease;text-align:left;cursor:pointer}.lesson-date-trigger.has-value{color:#1f2937}.lesson-field-with-icon .lesson-input,.lesson-field-with-icon .lesson-date-trigger{padding-left:2.4rem}.lesson-input:focus-visible,.lesson-select:focus-visible,.lesson-textarea:focus-visible,.lesson-date-trigger:focus-visible{outline:none;border-color:#f3b38a;box-shadow:0 12px 20px #f9731626}.lesson-date-popover{position:absolute;top:calc(100% + .6rem);left:0;width:min(320px,90vw);background:#fff;border:1px solid #f1e4d7;border-radius:1.1rem;padding:1rem;box-shadow:0 24px 50px #1f293726;z-index:20}.lesson-date-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.lesson-date-title{font-weight:600;color:#1f2937}.lesson-date-nav{border:none;background:#fff7ed;color:#c2410c;border-radius:999px;width:2rem;height:2rem;font-size:1.2rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.lesson-date-nav:hover,.lesson-date-nav:focus-visible{transform:translateY(-1px);box-shadow:0 10px 18px #ea580c33}.lesson-date-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;font-size:.75rem;color:#9a3412;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.lesson-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.lesson-date-cell{border:none;background:transparent;color:#1f2937;border-radius:999px;height:2.2rem;width:2.2rem;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.lesson-date-cell:hover,.lesson-date-cell:focus-visible{background:#fff1e6;color:#9a3412;transform:translateY(-1px)}.lesson-date-cell.is-selected{background:#f97316;color:#fff;box-shadow:0 10px 18px #f9731640}.lesson-date-cell.is-today:not(.is-selected){border:1px solid #fdba74;color:#c2410c}.lesson-date-empty{height:2.2rem}.lesson-textarea{resize:vertical}.lesson-lower-grid{display:grid;gap:1.25rem;margin-top:1.5rem}.lesson-lower-grid .lesson-field-group{width:100%}.lesson-assessment-list{display:grid;gap:.75rem}.lesson-assessment-row{display:grid;gap:.6rem}.lesson-remove-button{border:1px solid #f1e4d7;background:#fffaf5;color:#c2410c;border-radius:.75rem;padding:.45rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.lesson-remove-button:hover,.lesson-remove-button:focus-visible{background:#fff1e6;box-shadow:0 10px 18px #ea580c2e;transform:translateY(-1px)}.lesson-remove-button:focus-visible{outline:2px solid #f97316;outline-offset:2px}.lesson-cta-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:flex-end}.lesson-validation{color:#b91c1c;font-weight:600}.lesson-limit-note{color:#6b7280;font-weight:600}.lesson-soft-button[disabled],.lesson-soft-button[aria-disabled=true]{opacity:.6;cursor:not-allowed;box-shadow:none}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media(min-width:768px){.lesson-planning-page{--page-padding: 4rem;padding:0 var(--page-padding) 3rem}}@media(min-width:900px){.lesson-form-grid,.lesson-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-assessment-row{grid-template-columns:1.2fr .9fr auto;align-items:center}}@media(min-width:900px){.lesson-field-group{grid-column:1 / -1}.lesson-field-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lesson-planning-page{--page-padding: 6rem;padding:0 var(--page-padding) 3.5rem}}@media(max-width:640px){.lesson-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-status-stack{position:static;justify-items:start}.lesson-primary-cta{width:100%}.lesson-card-header{align-items:flex-start}}.subject-page{min-height:100vh;background:#fffdfb;color:#1f2937;--page-padding: 1.5rem;padding:0 var(--page-padding) 3.5rem;position:relative;overflow:hidden}.subject-page .teach-header-shell{padding-left:var(--page-padding);padding-right:var(--page-padding)}.subject-state{margin-top:1.5rem;border-radius:1rem;padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem;border:1px solid #f3d2b9;background:#fffaf5}.subject-state-loading{justify-content:center}.subject-state-error{justify-content:space-between}.subject-empty-card{border:1px dashed #f3d2b9;border-radius:1rem;background:#fffaf5;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;align-items:center;text-align:center}.subject-empty-section{display:flex;flex-direction:column;gap:1rem}.subject-state-message{display:inline-flex;align-items:center;gap:.5rem}.subject-retry-icon{border:none;background:none;color:#c2410c;padding:.1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.subject-retry-icon:hover,.subject-retry-icon:focus-visible{color:#9a3412}.subject-retry-icon.is-spinning svg{animation:spin .8s linear infinite}.subject-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.subject-blob{position:absolute;border-radius:999px;filter:blur(60px)}.subject-blob-center{top:-4rem;left:50%;width:20rem;height:20rem;transform:translate(-50%);background:#ffe8d5bf}.subject-blob-corner{bottom:-3rem;right:-3rem;width:18rem;height:18rem;background:#fff1e6cc}.subject-shell{width:100%;max-width:1160px;margin:0 auto}.subject-main{display:flex;flex-direction:column;gap:2.5rem;position:relative;z-index:1}.subject-hero{display:grid;gap:2rem}.subject-hero-header{display:flex;flex-direction:column;gap:1rem}.subject-kicker{color:#9a5b39}.subject-title-row{display:flex;flex-direction:column;gap:1rem}.subject-title{margin-bottom:.35rem}.subject-meta{color:#6b7280}.subject-meta-block{display:flex;flex-direction:column;gap:.35rem;color:#4b5563}.subject-quick-links{display:flex;flex-wrap:wrap;gap:.75rem}.subject-quick-action{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:999px;border:1px solid #f4d7c0;background:#fff7ed;color:#c2410c;text-decoration:none;font-weight:var(--font-semibold);font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.subject-quick-action:hover,.subject-quick-action:focus-visible{background:#fed7aa;transform:translateY(-1px);box-shadow:0 8px 16px #ea580c2e}.subject-next-card{background:#111827;color:#fff;border-radius:1.5rem;padding:1.75rem;display:grid;gap:1rem;box-shadow:0 18px 40px #0f172a38;position:relative;overflow:hidden}.subject-next-card.subject-empty-card{justify-items:center;text-align:center}.subject-next-card:after{content:"";position:absolute;top:-60px;right:-40px;width:220px;height:220px;background:radial-gradient(circle,rgba(251,191,36,.35),transparent 70%);pointer-events:none}.subject-next-header{display:flex;flex-direction:column;gap:.5rem}.subject-next-time{color:#fcd34d}.subject-next-description{color:#e5e7eb}.subject-next-details{display:grid;gap:.75rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}.subject-next-details p{margin-top:.25rem}.subject-content-icons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.subject-content-item{display:inline-flex;align-items:center;gap:.35rem;color:#e5e7eb}.subject-content-item svg{color:#fcd34d}.subject-content-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;border-radius:999px;background:#fcd34d33;color:#fcd34d;font-size:.7rem;font-weight:600;padding:0 .35rem}.subject-next-actions{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.subject-secondary-link{color:#fcd34d}.primary-cta{border:none;background:#f97316;color:#fff;padding:.95rem 1.5rem;border-radius:.75rem;font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;box-shadow:0 8px 20px #f9731640;width:100%}.primary-cta:hover,.primary-cta:focus-visible{background:#ea580c}.subject-card-action{display:inline-flex;align-items:center;gap:.4rem;font-weight:var(--font-semibold);color:#c2410c;text-decoration:none;border-radius:999px;border:1px solid #f3d2b9;background:#fff7ed;padding:.45rem .9rem;width:fit-content;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.subject-card-action:hover,.subject-card-action:focus-visible{background:#fed7aa;transform:translateY(-1px);box-shadow:0 8px 16px #ea580c2e}.subject-show-more{align-self:flex-start;margin-top:.5rem}.subject-section{display:grid;gap:1.5rem}.subject-section-header{display:flex;flex-direction:column;gap:.75rem}.subject-section-subtitle{color:#6b7280}.subject-timeline-note{color:#9ca3af;margin-top:.05rem}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid #f4d7c0;background:#fff7ed;color:#c2410c;text-decoration:none;font-weight:var(--font-semibold);width:fit-content}.subject-card-grid{display:grid;gap:1rem}.subject-timeline-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.subject-timeline-card{min-height:13rem}.subject-timeline-card.is-current{border-color:#fdba74;background:#fff7ed;box-shadow:0 16px 30px #fb923c2e}.subject-timeline-card.is-current .subject-status{background:#fff7ed;border-color:#fdba74;color:#c2410c}.subject-timeline-card.is-upcoming{border-color:#fde68a;background:#fffbeb;box-shadow:0 16px 30px #f59e0b2e}.subject-timeline-card.is-upcoming .subject-status{background:#fffbeb;border-color:#fde68a;color:#b45309}.subject-timeline-bar{--timeline-gap: 1.35rem;--timeline-edge: 2.75rem;position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(130px,1fr);gap:2rem;padding:1.2rem var(--timeline-edge) 1rem;width:max-content}.subject-timeline-bar:before{content:"";position:absolute;top:calc(50% + 4px);left:var(--timeline-edge);right:var(--timeline-edge);height:2px;border-radius:999px;background:repeating-linear-gradient(90deg,#f973168c,#f973168c 8px,#f9731626 8px,#f9731626 16px)}.subject-timeline-step{position:relative;display:grid;align-items:center;justify-items:center;height:12rem;padding:0 .5rem;z-index:1;scroll-snap-align:start}.subject-timeline-dot{width:1rem;height:1rem;border-radius:50%;background:#fff;border:2px solid #f59e0b;box-shadow:0 8px 18px #f9731640;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.subject-timeline-card-mini{background:#fff;border-radius:.85rem;border:1px solid #f1e4d7;padding:.65rem .75rem;display:grid;gap:.35rem;min-width:120px;box-shadow:0 10px 22px #1f293714;position:absolute;left:50%;transform:translate(-50%);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;text-align:left;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.subject-timeline-loading .subject-timeline-card-mini{border-style:dashed;color:#6b7280}.subject-timeline-card-mini:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 14px 26px #1f293724}.subject-timeline-card-mini:focus-visible{outline:2px solid #111827;outline-offset:3px}.subject-timeline-label{color:#9a5b39}.subject-timeline-caption{color:#6b7280;max-width:9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.subject-timeline-step.is-top .subject-timeline-card-mini{bottom:calc(50% + var(--timeline-gap))}.subject-timeline-step.is-bottom .subject-timeline-card-mini{top:calc(50% + var(--timeline-gap))}.subject-timeline-step.is-top:after,.subject-timeline-step.is-bottom:after{content:"";position:absolute;left:50%;width:2px;background:#f9731666;transform:translate(-50%)}.subject-timeline-step.is-top:after{bottom:50%;height:var(--timeline-gap)}.subject-timeline-step.is-bottom:after{top:50%;height:var(--timeline-gap)}.subject-timeline-step.is-current .subject-timeline-dot{background:#f97316;border-color:#f97316}.subject-timeline-step.is-current .subject-timeline-label{color:#c2410c}.subject-timeline-step.is-current .subject-timeline-card-mini{border-color:#fdba74;background:#fff7ed}.subject-timeline-wrapper{position:relative;display:grid;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.subject-timeline-wrapper::-webkit-scrollbar{display:none}.subject-timeline-rail{position:relative;display:grid;align-items:center}.subject-timeline-arrow{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid #f1e4d7;background:#fff;color:#c2410c;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 24px #1f29371f;z-index:2}.subject-timeline-arrow:hover,.subject-timeline-arrow:focus-visible{background:#fff7ed}.subject-timeline-arrow-left{left:-.5rem}.subject-timeline-arrow-right{right:-.5rem}.subject-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:flex-end;background:#0f172a73;z-index:50}.subject-drawer{width:min(360px,92vw);background:#fff;padding:1.5rem;border-radius:1.25rem 0 0 1.25rem;box-shadow:-16px 0 40px #0f172a33;display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}.subject-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.subject-drawer-close{border:none;background:none;color:#6b7280;font-weight:600;border-radius:.5rem;padding:.2rem .6rem;cursor:pointer}.subject-drawer-body{display:flex;flex-direction:column;gap:1.25rem}.subject-drawer-meta{display:flex;flex-direction:column;gap:.6rem}.subject-drawer-item{display:inline-flex;align-items:center;gap:.5rem;color:#6b7280}.subject-drawer-actions{display:flex;flex-direction:column;gap:.6rem}.subject-drawer-button{border:1px solid #f3d2b9;border-radius:.95rem;padding:.7rem 1rem;background:#fff7ed;color:#c2410c;font-weight:var(--font-semibold);text-decoration:none;text-align:center}.subject-drawer-button:hover,.subject-drawer-button:focus-visible{background:#fed7aa}.subject-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border:none;cursor:pointer}.subject-info-card{background:#fff;border-radius:1rem;padding:1.25rem;border:1px solid #f1e4d7;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 10px 22px #1f29370f;transition:transform .25s ease,box-shadow .25s ease}.subject-info-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #1f29371f}.subject-info-top{display:flex;align-items:center;justify-content:space-between;color:#9ca3af}.subject-status{border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;padding:.25rem .65rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.subject-empty-state{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;padding:1.5rem;border-radius:1rem;border:1px dashed #f3d2b9;background:#fffaf5}.link:focus-visible,.subject-card-action:focus-visible,.secondary-button:focus-visible,.primary-cta:focus-visible{outline:2px solid #111827;outline-offset:3px}@media(min-width:768px){.subject-page{--page-padding: 4rem}.subject-title-row{flex-direction:row;align-items:flex-start;justify-content:space-between}.subject-next-header{flex-direction:row;align-items:center;justify-content:space-between}.subject-next-details{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-next-actions{flex-direction:row;align-items:center}.primary-cta{width:auto}.subject-section-header{flex-direction:row;align-items:center;justify-content:space-between}.subject-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.subject-page{--page-padding: 6rem}}@media(prefers-reduced-motion:reduce){.subject-info-card,.subject-pulse-card,.subject-next-card{animation:none}}.prepare-canvas{border:none;background:transparent;padding:0;padding-bottom:3rem;display:grid;gap:1.25rem;box-shadow:none}.prepare-canvas-head{display:grid;grid-template-columns:1fr;align-items:center;gap:1rem;border:1px solid #f1e4d7;border-left:none;border-right:none;border-top:none;border-radius:0;padding:1.1rem 1rem;position:sticky;top:0;z-index:5;background:#fff;box-shadow:0 10px 18px #1f293714;margin:0 -1rem}.prepare-canvas-head.is-collapsed{padding:.6rem 1rem;box-shadow:0 6px 12px #1f29370f}.prepare-canvas-left{grid-column:1;justify-self:center;display:grid;place-items:center}.prepare-time{margin:0;font-size:.85rem;font-weight:600;color:#6f5a4f;display:inline-flex;align-items:center;gap:.4rem}.prepare-time-label{cursor:default}.prepare-separator{width:1px;height:14px;background:#e3d6c8;margin:0 .2rem}.prepare-notes-link{border:none;background:transparent;display:inline-flex;align-items:center;gap:.35rem;color:#6f5a4f;font-size:.85rem;font-weight:600;cursor:pointer;padding:0;transition:color .2s ease}.prepare-notes-link:hover{color:#9a4f24}.prepare-notes-link:focus-visible{outline:2px solid #111827;outline-offset:3px}.prepare-canvas-title{text-align:center;display:grid;justify-items:center;gap:.35rem}.prepare-time-row{display:inline-flex;align-items:center;gap:.75rem}.prepare-canvas-controls{grid-column:3;justify-self:end;display:flex;align-items:center}.prepare-kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9a8c82;margin:0 0 .2rem}.prepare-title{font-size:1.1rem;font-weight:600;color:#c2410c;font-family:var(--font-display);margin:0;display:inline-flex;align-items:center;gap:.45rem}.prepare-canvas-head.is-collapsed .prepare-title{font-size:.95rem}.prepare-canvas-head.is-collapsed .prepare-time-row{display:none}.prepare-title svg{color:#e76f51}.prepare-subtitle{font-size:.9rem;color:#7c6f66;margin:0}.prepare-canvas-controls{display:inline-flex;align-items:center;justify-self:end;grid-column:3;gap:.6rem}.prepare-time-compact{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#9a8c82}.prepare-info-button{border:1px solid #f1e4d7;background:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;color:#9a4f24;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.prepare-info-button:hover,.prepare-info-button:focus-visible{background:#fff7ed;border-color:#f3d2b9}.prepare-checkbox{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:#6f5a4f;font-weight:600}.prepare-checkbox input{width:14px;height:14px;accent-color:#111827}.prepare-cards{display:grid;gap:1rem}.prepare-progress{display:grid;gap:.5rem;margin:.2rem 0 1rem}.prepare-progress-track{height:6px;border-radius:999px;background:#f3e3d4;overflow:hidden}.prepare-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#f8a864,#f97316);border-radius:999px;transition:width .4s ease}.prepare-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.prepare-progress-label{font-size:.85rem;font-weight:600;color:#6f5a4f}.prepare-progress-note{font-size:.85rem;color:#9a8c82}.prepare-outline{border-radius:1rem;border:1px solid #f1e4d7;background:#fff7ed;padding:.9rem 1rem;display:grid;gap:1rem}.prepare-intro-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.prepare-intro-close{border:none;background:#fff;border-radius:50%;width:30px;height:30px;padding:0;aspect-ratio:1 / 1;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;color:#9a4f24;cursor:pointer;font-weight:700;line-height:1;box-shadow:0 6px 12px #1f29371f}.prepare-intro-close:hover,.prepare-intro-close:focus-visible{background:#fde7d6;outline:none}.prepare-intro-title{margin:0;font-size:.95rem;font-weight:700;color:#9a4f24;display:inline-flex;align-items:center;gap:.35rem}.prepare-intro-text{margin:0;font-size:.86rem;color:#1f2937;line-height:1.4;text-align:left}.prepare-intro-note{margin:.85rem 0 0;font-size:.84rem;color:#9a4f24;text-align:center;font-weight:700}.prepare-intro-subnote{margin:0;font-size:.78rem;color:#b0a39a;text-align:center}.prepare-flow-row{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:center}.prepare-flow-node{position:relative;display:inline-flex;align-items:center;color:#6f5a4f;font-size:.78rem;font-weight:600;padding-right:2.4rem}.prepare-flow-node:after{content:"";position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:20px;height:2px;background:#f3b58b}.prepare-flow-node:before{content:"";position:absolute;right:.1rem;top:50%;transform:translateY(-50%);width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #f3b58b}.prepare-flow-node:last-child:before{content:none}.prepare-flow-node:last-child:after{content:none}.prepare-flow-label{white-space:nowrap}.prepare-card{border-radius:1.25rem;border:1px solid #f1e4d7;background:radial-gradient(circle at 12% 12%,#ffecd6e6,#fff0 55%),linear-gradient(180deg,#fff7f0,#fff 72%);box-shadow:0 10px 22px #1f29370f;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative}.prepare-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px #1f29371f}.prepare-card.is-active{border-color:#f3b58b;box-shadow:0 14px 30px #ea580c1f;background:#fff}.prepare-card.is-active .prepare-pill-count{background:#f97316;border-color:#f97316;color:#fff;box-shadow:0 6px 12px #f973164d}.prepare-card-entry{border-color:#f6c9a8;background:radial-gradient(circle at 85% 28%,#ff894a59,#fff0 55%),radial-gradient(circle at 18% 18%,#ffd8bfbf,#fff0 60%),linear-gradient(180deg,#fff3ea,#fff 72%)}.prepare-card-entry.is-active{background:#fff}.prepare-card-entry-collapsed{background:radial-gradient(circle at 78% 35%,#f9a8648c,#fff0 55%),linear-gradient(110deg,#1b1b1f,#5a3a1d 38%,#f2a35c)}.prepare-card-entry .prepare-card-head{padding-top:1.1rem}.prepare-card-head{display:flex;align-items:center;gap:1rem}.prepare-card-secondary:before{content:"";position:absolute;left:.6rem;top:.9rem;bottom:.9rem;width:3px;border-radius:999px;background:linear-gradient(180deg,#f3b58bcc,#fde3c866)}.prepare-card.is-active.prepare-card-secondary:before{content:none}.prepare-entry-start{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#0f766e;font-weight:700;background:#ecfdf3;border:1px solid #b7e4cf;border-radius:999px;padding:.2rem .45rem;margin-right:.5rem}.prepare-card-entry-collapsed .prepare-card-title,.prepare-card-entry-collapsed .prepare-card-summary,.prepare-card-entry-collapsed .prepare-entry-collapsed-goal,.prepare-card-entry-collapsed .prepare-entry-collapsed-note{color:#fff7ed}.prepare-card-entry-collapsed .prepare-entry-collapsed-note{color:#fff7edb8}.prepare-card-entry-collapsed .prepare-pill-time{background:#fff3;border-color:#ffffff59;color:#fff7ed}.prepare-card-entry-collapsed .prepare-entry-start{background:#0f766e33;border-color:#b7e4cf73;color:#ecfdf3}.prepare-card-play{width:36px;height:36px;border-radius:999px;border:1px solid #f1e4d7;background:#fff7ed;color:#f97316;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 8px 16px #ea580c29;flex-shrink:0;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.prepare-card-entry .prepare-card-play{width:44px;height:44px;font-size:1rem;box-shadow:0 10px 20px #f9731640,0 0 0 6px #f9731614}.prepare-card.is-active .prepare-card-play{background:#f97316;color:#fff;border-color:#f97316;box-shadow:0 8px 16px #f973164d}.prepare-card:hover .prepare-card-play{transform:scale(1.05);box-shadow:0 10px 20px #f9731647}.prepare-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;cursor:pointer}.prepare-card-head:focus-visible{outline:2px solid #111827;outline-offset:2px}.prepare-card-title-group{display:flex;align-items:center;gap:.75rem}.prepare-caret{font-size:1.45rem;color:#7c6f66;margin-top:0;width:30px;height:30px;border-radius:50%;background:#fff7ed;border:1px solid #f1e4d7;display:inline-flex;align-items:center;justify-content:center}.prepare-card-title-row{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.prepare-card-title-line{display:inline-flex;align-items:center;gap:.5rem}.prepare-card-title{font-size:1rem;font-weight:700;margin:0;color:#1f2937}.prepare-card-summary{margin:.35rem 0 0;color:#7c6f66;font-size:.88rem;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prepare-card-collapsed-text{margin:.35rem 0 0;color:#7c6f66;font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prepare-card-meta{display:flex;align-items:center;gap:.5rem}.prepare-card-actions{border-top:1px solid #f5eadd;padding:.5rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;color:#b1a397}.prepare-card-actions.is-inline{justify-content:flex-end;gap:.6rem}.prepare-entry-collapsed{margin-top:.6rem;display:grid;gap:.4rem}.prepare-entry-collapsed-goal{margin:0;font-size:.88rem;color:#7c6f66;font-weight:600}.prepare-entry-collapsed-note{margin:0;color:#9a8c82;font-size:.82rem}.prepare-examples-collapsed{margin-top:.35rem;display:grid;gap:.4rem}.prepare-examples-summary{margin:0;font-size:.9rem;font-weight:600;color:#6f5a4f}.prepare-examples-list{margin:0;padding:0;list-style:none;display:grid;gap:.25rem;color:#9a8c82;font-size:.82rem}.prepare-examples-list li:before{content:"- "}.prepare-card-examples-collapsed .prepare-card-actions,.prepare-card-checks-collapsed .prepare-card-actions{border-top:none;padding-top:.4rem;justify-content:flex-end}.prepare-checks{display:grid;gap:1rem}.prepare-checks-purpose{display:grid;gap:.2rem}.prepare-checks-purpose-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#b0a39a;margin:0}.prepare-checks-purpose-text{margin:0;font-size:.9rem;font-weight:500;color:#6f5a4f}.prepare-checks-section{border-top:1px solid #f1e4d7;padding-top:.9rem;display:grid;gap:.6rem}.prepare-checks-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a8c82}.prepare-checks-caption{margin:0;font-size:.82rem;color:#8b7d74;font-weight:600}.prepare-checks-question{margin:0;font-size:.95rem;color:#1f2937;font-weight:600;line-height:1.5}.prepare-checks-options{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.prepare-checks-option{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:#6f5a4f;font-weight:600}.prepare-checks-dot{width:12px;height:12px;border-radius:50%;border:2px solid #d6c8ba;background:#fff}.prepare-checks-run{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.prepare-checks-quote{margin:0;font-size:.95rem;color:#1f2937;font-weight:600;line-height:1.5}.prepare-card-actions p{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.prepare-card-body{padding:1rem 1.25rem 1.25rem;display:grid;gap:1rem}.prepare-card.is-active .prepare-card-body{padding-top:.3rem;padding-left:3rem}.prepare-section,.prepare-entry{display:grid;gap:1rem}.prepare-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.prepare-entry-title{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#1f2937}.prepare-entry-goal{margin:.15rem 0 0;font-size:.9rem;font-weight:500;font-style:italic;color:#8b7d74;display:inline-flex;align-items:center;gap:.4rem;padding-left:.6rem;border-left:2px solid #f3d2b9}.prepare-entry-goal-icon{display:inline-flex;align-items:center;color:#c49a7b}.prepare-core{display:grid;gap:1rem}.prepare-core-purpose-line{margin:0;font-size:.9rem;font-weight:500;font-style:italic;color:#8b7d74;display:inline-flex;align-items:center;gap:.4rem;padding-left:.6rem;border-left:2px solid #f3d2b9}.prepare-core-section{border-top:1px solid #f1e4d7;padding-top:.9rem;display:grid;gap:.6rem}.prepare-core-section-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a8c82}.prepare-core-caption{margin:0;font-size:.82rem;color:#8b7d74;font-weight:600}.prepare-core-quote{margin:0;font-size:.95rem;color:#1f2937;font-weight:600;line-height:1.5}.prepare-core-visual{margin:0;font-size:.85rem;color:#6f5a4f;background:#fff7ed;border:1px dashed #f3d2b9;border-radius:.75rem;padding:.55rem .7rem}.prepare-core-highlight{margin:0;font-size:.84rem;color:#7c6f66;display:inline-flex;align-items:center;gap:.4rem;font-style:italic}.prepare-core-highlight-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#b0a39a;font-style:normal}.prepare-core-list{margin:0;padding-left:1.1rem;color:#6f5a4f;font-size:.85rem;display:grid;gap:.3rem}.prepare-core-confusion{margin:0;font-size:.85rem;color:#7c6f66}.prepare-core-run{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.prepare-core-note{margin:0;font-size:.84rem;color:#9a8c82}.prepare-try{display:grid;gap:1rem}.prepare-try-purpose{display:grid;gap:.2rem}.prepare-try-purpose-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#b0a39a;margin:0}.prepare-try-purpose-text{margin:0;font-size:.9rem;font-weight:500;color:#6f5a4f}.prepare-try-section{border-top:1px solid #f1e4d7;padding-top:.9rem;display:grid;gap:.5rem}.prepare-try-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a8c82}.prepare-try-text{margin:0;font-size:.9rem;color:#1f2937;font-weight:600;line-height:1.5}.prepare-try-note{margin:0;font-size:.84rem;color:#9a8c82;font-style:italic}.prepare-try-caption{margin:0;font-size:.82rem;color:#8b7d74;font-weight:600}.prepare-try-list{margin:0;padding-left:1.1rem;color:#6f5a4f;font-size:.85rem;display:grid;gap:.3rem}.prepare-visual{display:grid;gap:1rem}.prepare-visual-section{border-top:1px solid #f1e4d7;padding-top:.9rem;display:grid;gap:.5rem}.prepare-visual-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a8c82}.prepare-visual-list,.prepare-visual-steps{margin:0;padding-left:1.1rem;color:#6f5a4f;font-size:.85rem;display:grid;gap:.3rem}.prepare-entry-meta{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.prepare-entry-section{border-top:1px solid #f1e4d7;margin-top:1.5rem;padding-top:1rem;display:grid;gap:.75rem}.prepare-entry-section-head{display:flex;align-items:center;gap:.6rem}.prepare-entry-section-title{margin:0;font-size:.85rem;font-weight:700;color:#1f2937;display:inline-flex;align-items:center;gap:.4rem}.prepare-entry-section-chip{display:inline-flex;align-items:center;gap:.45rem;padding:0;border-radius:0;border:none;background:transparent;color:#1f2937;font-size:1.02rem;font-weight:600}.prepare-entry-section-badge{width:24px;height:24px;border-radius:50%;background:#6b5b53;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700}.prepare-entry-section-label{letter-spacing:.01em}.prepare-entry-section-title span{color:#9a4f24;margin-right:.25rem}.prepare-entry-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9a8c82}.prepare-entry-label.is-time{color:#c2410c;font-size:.78rem;display:inline-flex;align-items:center;gap:.35rem;letter-spacing:.06em}.prepare-entry-label.is-time svg{color:#ff894a}.prepare-entry-block{display:grid;gap:.35rem}.prepare-entry-quote{margin:0;font-size:.94rem;line-height:1.5;color:#1f2937}.prepare-entry-thumbnail{border-radius:.9rem;border:1px dashed #f1e4d7;background:#fffaf6;padding:.75rem .9rem;font-size:.85rem;color:#6f5a4f}.prepare-entry-actions{display:flex;align-items:center}.prepare-entry-actions-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.prepare-entry-question{margin:0;font-size:.92rem;font-weight:600;color:#1f2937}.prepare-entry-options{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.prepare-entry-reminder{display:flex;align-items:center;justify-content:flex-start;gap:.6rem;font-size:.82rem;color:#9a8c82;font-style:italic}.prepare-entry-reminder-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#b0a39a;display:inline-flex;align-items:center;gap:.25rem;font-style:normal}.prepare-entry-option{border-radius:.8rem;border:1px solid #f1e4d7;background:#fff;padding:.6rem .8rem;font-size:.85rem;font-weight:600;color:#6f5a4f;text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.prepare-entry-option:hover{border-color:#f3b58b;box-shadow:0 8px 16px #1f293714}.prepare-entry-note{border-left:3px solid #f3d2b9;background:transparent;padding:.4rem 0 .4rem .8rem;display:grid;gap:.6rem}.prepare-entry-note-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.prepare-entry-note-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#b0a39a}.prepare-entry-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8rem;font-weight:600;color:#6f5a4f;position:relative}.prepare-entry-toggle input{position:absolute;opacity:0;width:1px;height:1px}.prepare-entry-toggle-ui{width:36px;height:20px;border-radius:999px;background:#e9ded4;position:relative;transition:background .2s ease;flex-shrink:0}.prepare-entry-toggle-ui:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #1f293733;transition:transform .2s ease}.prepare-entry-toggle input:checked+.prepare-entry-toggle-ui{background:#111827}.prepare-entry-toggle input:checked+.prepare-entry-toggle-ui:after{transform:translate(16px)}.prepare-entry-details{display:grid;gap:.35rem}.prepare-entry-details ul{margin:.4rem 0 0;padding-left:1.1rem;color:#6f5a4f;font-size:.82rem}.prepare-entry-transition{border-top:none;border-radius:.9rem;border:1px solid #f1e4d7;background:#fffaf6;padding:.9rem}.prepare-entry-tip{margin:0;font-size:.82rem;color:#9a8c82;font-weight:600}.prepare-row{display:flex;align-items:center;gap:.5rem}.prepare-row-between{display:flex;justify-content:space-between;align-items:center;gap:1rem}.prepare-stack{display:grid;gap:.6rem;margin-top:.6rem}.prepare-grid-two{display:grid;gap:1rem}.prepare-panel{border-radius:1rem;border:1px solid #f3d2b9;background:#fff7ed;padding:1rem;display:grid;gap:.75rem}.prepare-steps{border-radius:.9rem;border:1px solid #f1e4d7;background:#fff;padding:.8rem;display:grid;gap:.75rem}.prepare-field{display:grid;gap:.4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9a8c82}.prepare-field span{font-size:.72rem}.prepare-input,.prepare-textarea{width:100%;border-radius:.85rem;border:1px solid #f1e4d7;background:#fff;padding:.55rem .75rem;font-size:.88rem;color:#1f2937}.prepare-input-compact{max-width:220px;font-weight:600}.prepare-textarea{min-height:90px;resize:vertical}.prepare-pill-group{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.prepare-pill-option{border-radius:999px;border:1px solid #f1e4d7;background:#fff;padding:.35rem .9rem;font-size:.85rem;font-weight:600;color:#6f5a4f;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.prepare-pill-option input{display:none}.prepare-pill-option.is-active{background:#111827;border-color:#111827;color:#fff}.prepare-pill{border-radius:999px;border:1px solid #f1e4d7;background:#fff;padding:.35rem .9rem;font-size:.78rem;font-weight:600;color:#6f5a4f;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.prepare-pill:disabled{cursor:not-allowed;opacity:.4}.prepare-pill-muted{background:#fdf4ee;border-color:#f3d2b9;color:#9a8c82}.prepare-pill-time{font-size:.7rem;padding:.2rem .5rem}.prepare-pill-count{font-size:.72rem;width:32px;height:32px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(255,255,255,.8);box-shadow:0 6px 12px #1f29371f}.prepare-pill-arrow{font-size:.7rem;padding:.2rem .4rem}.prepare-pill-ghost{background:#fff;border-color:#d6c8ba;color:#1f2937;border-radius:12px;padding:.6rem 1.1rem;font-size:.85rem}.prepare-pill-ghost:hover,.prepare-pill-ghost:focus-visible{background:#fff7ed;border-color:#f3d2b9;color:#9a4f24;transform:translateY(-1px);transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.prepare-pill-outline{border-color:#f3d2b9;background:#fff7ed;color:#9a4f24}.prepare-pill-primary{background:#111827;border-color:#111827;color:#fff;border-radius:12px;padding:.6rem 1.1rem;font-size:.85rem}.prepare-pill-dashed{border-style:dashed;border-color:#f3d2b9;background:#fffaf6}.prepare-actions-row{display:flex;flex-wrap:wrap;gap:.6rem}.prepare-move{display:flex;gap:.3rem}.prepare-footer{border-radius:0;border:none;background:transparent;padding:.75rem 0 0;display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:center;box-shadow:none}.prepare-footer-meta{display:grid;gap:.2rem;justify-items:center;text-align:center}.prepare-footer-title{margin:0;font-size:1rem;font-weight:700;color:#1f2937;display:inline-flex;align-items:center;gap:.4rem}.prepare-footer-check{width:20px;height:20px;border-radius:50%;background:#ecfdf3;color:#16a34a;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.prepare-footer-subtitle{margin:0;font-size:.85rem;color:#9a8c82}.prepare-footer-metrics{display:flex;gap:1.5rem;flex-wrap:wrap}.prepare-metric-value{font-size:1.1rem;font-weight:700;margin:.2rem 0 0}.prepare-metric-label{font-size:.9rem;font-weight:600;color:#6f5a4f;margin:.2rem 0 0}.prepare-footer-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.prepare-footer-cta{border:1px solid #f3d2b9;background:#fff;color:#c2410c;padding:.95rem 1.5rem;border-radius:.75rem;font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;box-shadow:0 6px 14px #f9731626;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.prepare-footer-cta:hover,.prepare-footer-cta:focus-visible{background:#f97316;border-color:#f97316;color:#fff}.prepare-export{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid #f1e4d7;padding:.25rem .6rem;background:#fff;font-size:.8rem;color:#6f5a4f}.prepare-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:grid;place-items:center;padding:1.5rem;z-index:60}.prepare-modal-card{width:min(640px,92vw);background:#fff;border-radius:1.5rem;border:1px solid #f1e4d7;padding:1.25rem;box-shadow:0 20px 40px #1f29372e;display:grid;gap:1rem}.prepare-modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #f1e4d7;padding-bottom:.75rem}.prepare-modal-body{display:grid;gap:.85rem}.prepare-share-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:grid;place-items:center;padding:1.5rem;z-index:60}.prepare-share-modal-card{width:min(720px,92vw);max-height:85vh;overflow-y:auto;background:#fff;border-radius:1.5rem;border:1px solid #f1e4d7;padding:1.5rem;box-shadow:0 20px 40px #1f29372e}.prepare-board-preview{border-radius:1rem;border:1px solid #f1e4d7;background:#fff7ed;padding:.9rem}.prepare-board-title{font-weight:700;margin:0 0 .4rem;color:#1f2937}.prepare-board-list{margin:0;padding-left:1.1rem;color:#6f5a4f;display:grid;gap:.3rem}@media(min-width:768px){.prepare-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.prepare-canvas{padding:0}.prepare-card-head{flex-direction:column;align-items:flex-start}.prepare-card-meta{width:100%;justify-content:space-between}.prepare-canvas-head{grid-template-columns:1fr;text-align:left}.prepare-canvas-left{grid-column:1}.prepare-canvas-title{grid-column:1;text-align:left}.prepare-canvas-controls{grid-column:1;justify-self:start}.prepare-entry-options{grid-template-columns:1fr}}.class-plan-page{min-height:100vh;background:#fff;color:#1f2937;--page-padding: 1.5rem;padding:0 var(--page-padding) 3.5rem;position:relative;overflow:hidden}.class-plan-background{display:none}.class-plan-blob{position:absolute;border-radius:999px;filter:blur(60px)}.class-plan-blob-center{top:-4rem;left:50%;width:20rem;height:20rem;transform:translate(-50%);background:#ffe8d5bf}.class-plan-blob-corner{bottom:-3rem;right:-3rem;width:18rem;height:18rem;background:#fff1e6cc}.class-plan-shell{width:100%;max-width:1160px;margin:0 auto}.class-plan-main{display:flex;flex-direction:column;gap:2.5rem;position:relative;z-index:1}.class-plan-state{margin-top:1.5rem;border-radius:1rem;padding:1rem 1.2rem;display:flex;align-items:center;gap:1rem;border:1px solid #f3d2b9;background:#fffaf5}.class-plan-state-loading{justify-content:center}.class-plan-state-error{justify-content:space-between}.class-plan-state-message{display:inline-flex;align-items:center;gap:.5rem}.class-plan-retry-icon{border:none;background:none;color:#c2410c;padding:.1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.class-plan-retry-icon:hover,.class-plan-retry-icon:focus-visible{color:#9a3412}.class-plan-retry-icon.is-spinning svg{animation:spin 1s linear infinite}.class-plan-hero{display:grid;gap:1.75rem;background:#fff7ed;border-radius:1.75rem;padding:1.75rem;border:1px solid #f1e4d7;box-shadow:0 20px 40px #1f293714}.class-plan-hero-header{display:grid;gap:1rem}.class-plan-subtitle{color:#6b7280}.class-plan-department{color:#9ca3af}.class-plan-meta{display:grid;gap:.5rem}.class-plan-meta-item{display:flex;align-items:center;gap:.5rem;color:#4b5563}.class-plan-section{display:grid;gap:1.25rem}.class-plan-section-header{display:flex;flex-direction:column;gap:.75rem}.class-plan-section-subtitle{color:#6b7280}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid #f4d7c0;background:#fff7ed;color:#c2410c;text-decoration:none;font-weight:var(--font-semibold);width:fit-content;cursor:pointer}.secondary-button:hover,.secondary-button:focus-visible{background:#fed7aa}.class-plan-card{background:#fff;border-radius:1rem;padding:1.25rem;border:1px solid #f1e4d7;display:grid;gap:.75rem;box-shadow:0 10px 22px #1f29370f;transition:transform .25s ease,box-shadow .25s ease}.class-plan-snapshot{background:#fff;border-radius:1.5rem;border:1px solid #f1e4d7;padding:1.5rem;display:grid;gap:1.5rem;box-shadow:0 16px 34px #1f293714}.class-plan-snapshot-grid{display:grid;gap:1rem}.class-plan-prepare-panel{border-radius:1.25rem;border:none;background:transparent;padding:1.5rem;display:grid;gap:1rem;color:inherit}.class-plan-prepare-surface{background:#fff7ed;border-radius:1.25rem;border:1px solid #f3d2b9;padding:1.5rem;display:grid;gap:1rem}.class-plan-prepare-placeholder{color:#7c6f66}.class-plan-canvas{position:fixed;top:0;right:0;bottom:0;left:0;background:#fdfdfd;z-index:50;display:grid;grid-template-rows:auto 1fr;padding:.6rem;height:100vh}.class-plan-canvas-top{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(200px,240px);gap:0;align-items:stretch}.class-plan-canvas-top.is-left-collapsed{grid-template-columns:44px minmax(0,1fr) minmax(200px,240px)}.class-plan-canvas-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.95rem .9rem;background:#fff;border:1px solid #f3d2b9;border-left:1px solid #f3d2b9;border-radius:0 1rem 0 0;box-shadow:0 6px 16px #1e16100f;grid-column:2 / 4}.class-plan-sidebar-top{background:#fdfdfd;border:1px solid #f3d2b9;border-right:none;border-radius:1rem 0 0;padding:.95rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:100%}.class-plan-canvas-title-wrap{display:inline-flex;align-items:center;gap:.6rem}.class-plan-canvas-prep-time{display:inline-flex;align-items:center;gap:.4rem;color:#9a8c82;margin:0}.class-plan-canvas-prep-label{color:#6f5a4f;font-weight:600}.class-plan-canvas-prep-value{color:#9a8c82}.class-plan-canvas-title{margin:0;color:#1f2937;max-width:min(52vw,520px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.class-plan-canvas-header-center{grid-column:1;justify-self:start;display:inline-flex;align-items:center}.class-plan-canvas-header-actions{grid-column:2;justify-self:end;display:inline-flex;align-items:center;gap:.5rem}.class-plan-canvas-exit{grid-column:3;justify-self:end}.class-plan-canvas-exit{background:#fff7ed;border-color:#f3d2b9;color:#9a4f24;box-shadow:0 10px 20px #ea580c1f;cursor:pointer;padding:.35rem .7rem;font-size:.8rem;border-radius:.75rem;display:inline-flex;align-items:center;gap:.35rem}.class-plan-canvas-exit-icon{font-size:1.1rem;line-height:1}.class-plan-canvas-save,.class-plan-canvas-notes{background:#fff;border-color:#d6c8ba;color:#1f2937;box-shadow:none;padding:.28rem .75rem;font-size:.8rem;display:inline-flex;align-items:center;gap:.35rem}.class-plan-canvas-save:hover,.class-plan-canvas-save:focus-visible,.class-plan-canvas-notes:hover,.class-plan-canvas-notes:focus-visible{background:#fff7ed;border-color:#f3d2b9;color:#9a4f24}.class-plan-canvas-exit:hover,.class-plan-canvas-exit:focus-visible{background:#fed7aa}.class-plan-canvas-body{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(240px,280px);gap:0;padding-top:0;min-height:0;height:100%;overflow:visible}.class-plan-canvas-body.is-left-collapsed{grid-template-columns:44px minmax(0,1fr) minmax(200px,240px)}.class-plan-canvas-panel{background:#fdfdfd;border:1px solid #f3d2b9;border-radius:0;padding:1rem;display:grid;gap:1rem;align-content:start;min-height:0;max-height:100%;overflow-y:auto;position:relative}.class-plan-canvas-panel:not(.class-plan-left-panel){border-left:none;border-top:none}.class-plan-left-panel{padding:1rem;gap:1rem;overflow-x:visible;border-top:none;border-right:none;border-radius:0 0 0 1rem}.class-plan-canvas-main,.class-plan-canvas-panel:not(.class-plan-left-panel){margin-top:0}.class-plan-left-toggle{width:28px;height:28px;padding:0;border-radius:50%;min-width:0;display:inline-flex;align-items:center;justify-content:center}.class-plan-left-content{display:grid;gap:1rem}.class-plan-left-heading-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.class-plan-canvas-body.is-left-collapsed .class-plan-left-panel{background:transparent;border:none;border-radius:0;padding:.5rem 0;align-items:center;overflow:visible}.class-plan-canvas-body.is-left-collapsed .class-plan-left-content,.class-plan-canvas-body.is-left-collapsed .class-plan-left-title,.class-plan-canvas-top.is-left-collapsed .class-plan-left-title{display:none}.class-plan-canvas-top.is-left-collapsed .class-plan-left-toggle{margin:0 auto}.class-plan-left-section{display:grid;gap:.65rem}.class-plan-left-title{color:#1f2937;font-weight:600;font-family:var(--font-display);margin:0;font-size:1rem;display:inline-flex;align-items:center;gap:.4rem}.class-plan-left-title-icon{width:1.6rem;height:1.6rem;border-radius:999px;background:#ff894a;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.class-plan-left-title-icon svg{color:#fff}.class-plan-left-hint{color:#9a8c82;margin:0;font-size:.8rem}.class-plan-left-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.class-plan-topic-list{display:grid;gap:.35rem}.class-plan-drop-indicator{height:2px;background:#f97316;border-radius:999px;margin:.2rem 0 .35rem}.class-plan-topic-item{border:none;background:transparent;text-align:left;cursor:pointer;width:100%;font:inherit;padding:.35rem 0;min-height:32px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none}.class-plan-topic-item.is-compact{padding:.15rem 0}.class-plan-topic-item.is-muted .class-plan-topic-title{color:#1f2937;font-weight:500}.class-plan-topic-item.is-dragging{opacity:.6}.class-plan-topic-title{color:#1f2937;font-size:.82rem;font-weight:500;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-plan-topic-drag{width:20px;height:20px;border-radius:7px;background:#f3f4f6;position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;box-sizing:border-box}.class-plan-topic-drag:before{content:"";width:10px;height:14px;display:block;background:radial-gradient(circle,#9ca3af 1.2px,transparent 1.3px) 0 0 / 5px 5px,radial-gradient(circle,#9ca3af 1.2px,transparent 1.3px) 5px 0 / 5px 5px,radial-gradient(circle,#9ca3af 1.2px,transparent 1.3px) 0 5px / 5px 5px,radial-gradient(circle,#9ca3af 1.2px,transparent 1.3px) 5px 5px / 5px 5px,radial-gradient(circle,#9ca3af 1.2px,transparent 1.3px) 0 10px / 5px 5px,radial-gradient(circle,#9ca3af 1.2px,transparent 1.3px) 5px 10px / 5px 5px}.class-plan-topic-index{color:inherit;font-weight:400}.class-plan-topic-dots{flex:1;border-bottom:1px dotted #e3d6c8;height:1px;align-self:center}.class-plan-topic-time{color:#9a8c82;font-size:.78rem;margin:0;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;min-width:56px;justify-content:flex-end}.class-plan-topic-time svg{color:#c4a89c;flex:0 0 12px}.class-plan-topic-time-text{min-width:38px;text-align:right}.class-plan-topic-action{color:#9a4f24;font-size:.72rem;font-weight:600;text-transform:none;display:none}.class-plan-topic-item:hover .class-plan-topic-time{display:none}.class-plan-topic-item:hover .class-plan-topic-action{display:inline}.class-plan-add-topic{display:grid;gap:.5rem;padding-top:.1rem;padding-bottom:0;border-top:none;justify-items:center}.class-plan-add-topic-button{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .35rem;border-radius:.35rem;border:none;background:transparent;color:#9a4f24;font-weight:600;font-size:.8rem;width:fit-content;cursor:pointer;transition:transform .2s ease,color .2s ease;position:relative}.class-plan-add-icon{width:18px;height:18px;border-radius:999px;border:1px solid #f3d2b9;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;line-height:1;color:#9a4f24;background:#fff7ed}.class-plan-add-topic-button:hover,.class-plan-add-topic-button:focus-visible{color:#c2410c}.class-plan-add-topic-button:hover .class-plan-add-icon,.class-plan-add-topic-button:focus-visible .class-plan-add-icon{background:#fde7d6;border-color:#f5b98e;color:#c2410c}.class-plan-update-button{justify-content:center;padding:.5rem .9rem;font-size:.8rem;background:transparent;border-color:#f3d2b9;color:#9a4f24;box-shadow:none;margin:0 auto;border-radius:.75rem}.class-plan-update-button:hover,.class-plan-update-button:focus-visible{background:#fff7ed;border-color:#f3d2b9;color:#9a4f24}.class-plan-add-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a33;z-index:60}.class-plan-add-dialog{background:#fff;border:1px solid #f3d2b9;border-radius:.85rem;padding:.75rem;display:grid;gap:.5rem;box-shadow:0 10px 20px #1f29371f;width:min(420px,92vw);min-height:220px}.class-plan-add-dialog-header{display:flex;align-items:center;justify-content:space-between}.class-plan-add-dialog-close{border:none;background:transparent;cursor:pointer;color:#9a4f24;font-size:.85rem}.class-plan-add-input{width:100%;padding:0 .6rem;height:32px;line-height:32px;border-radius:.6rem;border:1px solid #f1e4d7;font-size:.85rem;color:#1f2937}.class-plan-add-input::placeholder{color:#9ca3af}.class-plan-left-menu-item,.class-plan-left-menu-button{display:flex;align-items:center;gap:.3rem;border:none;background:transparent;padding:.3rem 0;margin-left:-.35rem;color:#1f2937;font-weight:600;font-size:.9rem;cursor:pointer;text-align:left;font-family:var(--font-display)}.class-plan-left-menu-item.is-active,.class-plan-left-menu-button.is-active{color:#2f2a27}.class-plan-left-menu-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#ff894a;flex-shrink:0}.class-plan-left-menu-label{flex:1}.class-plan-left-menu-caret{margin-left:auto;display:inline-flex;align-items:center;color:#9a8c82}.class-plan-left-sublist{padding-left:.85rem}.class-plan-topic-list.class-plan-left-sublist,.class-plan-prereq-content.class-plan-left-sublist{margin-left:.2rem;border-left:1px solid #f1e4d7}.class-plan-left-menu-button+.class-plan-left-sublist{margin-top:-.55rem}.class-plan-left-row.class-plan-left-sublist{margin-bottom:-.35rem}.class-plan-left-divider{height:1px;background:#f1e4d7}.class-plan-left-subtitle{color:#8d7f76;font-weight:500;margin:0;display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}.class-plan-left-count{color:#9a8c82;font-weight:500;margin-left:.25rem}.class-plan-prereq-content{display:grid;gap:.3rem}.class-plan-prereq-content .class-plan-topic-item{padding:.2rem 0;min-height:28px}.class-plan-canvas-modes{display:grid;gap:.75rem}.class-plan-canvas-mode{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:.9rem;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;color:#6f5a4f}.class-plan-canvas-mode.is-active{background:#fff;border-color:#f3d2b9;color:#9a4f24;box-shadow:0 10px 20px #ea580c1f}.class-plan-canvas-mode-dot{width:10px;height:10px;border-radius:999px;border:2px solid #f3d2b9;margin-top:.2rem;flex-shrink:0}.class-plan-canvas-mode.is-active .class-plan-canvas-mode-dot{background:#f97316;border-color:#f97316}.class-plan-canvas-mode-title{font-weight:var(--font-semibold)}.class-plan-canvas-mode-subtitle{display:block;font-size:.85rem;color:#9a8c82}.class-plan-ai-title{color:#c2410c;display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:1.1rem;font-family:var(--font-display);text-transform:none;letter-spacing:normal;padding-bottom:.6rem;border-bottom:1px solid #f1e4d7}.class-plan-ai-title.label-caps{font-size:1.1rem;text-transform:none;letter-spacing:normal}.class-plan-ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.class-plan-ai-card{border:none;border-radius:.9rem;padding:.85rem .8rem;display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.9rem;color:#1f2937;cursor:pointer;text-align:left;box-shadow:0 8px 16px #1f293714;transition:transform .2s ease,box-shadow .2s ease}.class-plan-ai-card:hover,.class-plan-ai-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 22px #1f29371f}.class-plan-ai-icon{width:32px;height:32px;border-radius:.8rem;display:inline-flex;align-items:center;justify-content:center;background:transparent}.class-plan-ai-text{display:grid;gap:.15rem}.class-plan-ai-title-row{display:inline-flex;align-items:center;gap:.45rem;line-height:1.1}.class-plan-ai-label{font-size:.85rem;font-weight:700;line-height:1.1}.class-plan-ai-subtitle{font-size:.74rem;font-weight:500;color:#1f2937b3}.class-plan-ai-card.is-chat{background:#ffedd5;color:#9a3412}.class-plan-ai-card.is-video{background:#dcfce7;color:#166534}.class-plan-ai-card.is-slides{background:#c7d2fe;color:#3730a3}.class-plan-ai-card.is-quiz{background:#bae6fd;color:#0369a1}.class-plan-ai-card.is-files{background:#ede9fe;color:#5b21b6}.class-plan-ai-back{border:none;background:none;padding:0;color:#9a4f24;font-weight:600;cursor:pointer;text-align:left}.class-plan-ai-detail-title{margin:0 0 .35rem;font-weight:700;color:#1f2937}.class-plan-ai-detail-text{margin:0;font-size:.85rem;color:#7c6f66}.class-plan-ai-drawer{position:absolute;top:.6rem;right:.6rem;bottom:.6rem;width:min(380px,38vw);background:#fdfdfd;border-left:1px solid #f3d2b9;padding:1rem;display:grid;gap:.75rem;box-shadow:-10px 0 22px #1f29371f;animation:aiDrawerSlide .25s ease;z-index:20}@keyframes aiDrawerSlide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.class-plan-canvas-main{background:#fdfdfd;border:1px solid #f1e4d7;border-top:none;border-radius:0;padding:0 1rem;display:grid;gap:1.25rem;box-shadow:0 10px 22px #1f29370f;min-height:0;max-height:100%;overflow-y:auto}.class-plan-canvas-main{scrollbar-width:thin;scrollbar-color:transparent transparent}.class-plan-canvas-main::-webkit-scrollbar{width:8px}.class-plan-canvas-main::-webkit-scrollbar-track{background:transparent}.class-plan-canvas-main::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.class-plan-canvas-main:hover{scrollbar-color:rgba(154,79,36,.35) transparent}.class-plan-canvas-main:hover::-webkit-scrollbar-thumb{background:#9a4f244d;background-clip:padding-box}.class-plan-canvas-main::-webkit-scrollbar-thumb:hover{background:#9a4f2473;background-clip:padding-box}.class-plan-canvas-card{display:grid;gap:1rem}.class-plan-share-card{gap:1.5rem}.class-plan-share-header{display:grid;gap:.35rem}.class-plan-share-section{border-top:1px solid #f1e4d7;padding-top:1rem;display:grid;gap:.75rem}.class-plan-share-options{display:grid;gap:.75rem}.class-plan-share-groups{display:grid;gap:1rem}.class-plan-share-group{border:1px solid #f1e4d7;border-radius:.9rem;padding:.75rem .9rem;display:grid;gap:.6rem;background:#fffaf6}.class-plan-share-group-title{margin:0;font-weight:600;color:#1f2937}.class-plan-share-file-list{display:grid;gap:.4rem}.class-plan-share-file{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:center;color:#6b7280;font-size:.9rem}.class-plan-share-file input{width:16px;height:16px;accent-color:#ff894a}.class-plan-share-option{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.6rem .7rem;border-radius:.9rem;border:1px solid transparent}.class-plan-share-option input{margin:.2rem 0 0;width:16px;height:16px;accent-color:#ff894a}.class-plan-share-option:hover{background:#fff7ed;border-color:#f3d2b9}.class-plan-share-option-text{display:grid;gap:.2rem}.class-plan-share-option-title{font-weight:600;color:#1f2937}.class-plan-share-option-subtitle{color:#6b7280;font-size:.85rem}.class-plan-share-note{background:#fffaf6;border:1px solid #f3d2b9;border-radius:.9rem;padding:.9rem 1rem}.class-plan-share-note-title{margin:0 0 .5rem;font-weight:600;color:#1f2937}.class-plan-share-note ul{margin:0;padding-left:1.1rem;color:#6b7280}.class-plan-share-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.class-plan-share-primary{border:none;background:#f97316;color:#fff;padding:.7rem 1.3rem;border-radius:.9rem;font-weight:var(--font-semibold);cursor:pointer;box-shadow:0 8px 18px #f9731640}.class-plan-share-primary:hover,.class-plan-share-primary:focus-visible{background:#ea580c}.class-plan-canvas-muted{color:#7c6f66}.class-plan-canvas-output{background:#fff7ed;border:1px dashed #f3d2b9;border-radius:1rem;padding:1rem;display:grid;gap:.75rem;color:#6f5a4f}.class-plan-canvas-output ul{padding-left:1.25rem;display:grid;gap:.5rem}.class-plan-canvas-actions,.class-plan-canvas-tools{display:grid;gap:.5rem}.class-plan-canvas-actions button,.class-plan-canvas-tools button{border-radius:999px;border:1px solid #f3d2b9;background:#fff;padding:.5rem .9rem;text-align:left;font-weight:var(--font-semibold);color:#9a4f24;cursor:pointer}.class-plan-canvas-actions button:hover,.class-plan-canvas-tools button:hover{background:#fff7ed}@media(max-width:960px){.class-plan-canvas-body{grid-template-columns:1fr}}.class-plan-snapshot-card{background:#fff7ed;border-radius:1rem;border:1px solid #f3d2b9;padding:1.1rem;display:grid;gap:.75rem;transition:transform .25s ease,box-shadow .25s ease}.class-plan-snapshot-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #1f29371f}.class-plan-snapshot-list{list-style:none;display:grid;gap:.5rem;color:#4b5563}.class-plan-snapshot-muted{color:#6b7280}.class-plan-snapshot-list li:before{content:"•";color:#f97316;margin-right:.5rem}.class-plan-snapshot-flow{display:grid;gap:.75rem}.class-plan-snapshot-flow-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.class-plan-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #1f29371f}.class-plan-agenda{list-style:none;display:grid;gap:.75rem}.class-plan-agenda-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #f3e7db;padding-bottom:.6rem}.class-plan-agenda-item:last-child{border-bottom:none;padding-bottom:0}.class-plan-checklist{list-style:none;display:grid;gap:.75rem}.class-plan-checklist-item{display:flex;align-items:center;gap:.6rem;color:#4b5563}.class-plan-checklist-item.is-done{color:#15803d}.class-plan-footer{background:#fff;border-radius:1.5rem;padding:1.5rem;border:1px solid #f1e4d7;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.link:focus-visible,.secondary-button:focus-visible{outline:2px solid #111827;outline-offset:3px}@media(min-width:768px){.class-plan-page{--page-padding: 4rem}.class-plan-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.class-plan-section-header{flex-direction:row;align-items:center;justify-content:space-between}.class-plan-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-plan-prepare-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-plan-footer{flex-direction:row;align-items:center;justify-content:space-between}}@media(min-width:1024px){.class-plan-page{--page-padding: 6rem}.class-plan-snapshot-grid,.class-plan-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}.settings-page{min-height:100vh;background:#fff;color:#0f172a;--page-padding: 1.5rem;padding:0 1.5rem 3rem;position:relative;overflow:hidden;--settings-card-bg: #ffffff}.settings-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.settings-orb{position:absolute;width:420px;height:420px;border-radius:999px;filter:blur(0);opacity:.35;background:radial-gradient(circle at 30% 30%,#fde68a,transparent 70%)}.settings-orb--one{top:-140px;right:-180px;background:radial-gradient(circle at 30% 30%,#fdba74,transparent 70%)}.settings-orb--two{bottom:-200px;left:-160px;background:radial-gradient(circle at 30% 30%,#a5f3fc,transparent 70%)}.settings-shell{width:100%;max-width:1200px;margin:0 auto;position:relative;z-index:1}.settings-main{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:2rem}.settings-main.page-body{margin-top:1.5rem}.settings-sidebar{display:flex;flex-direction:column;gap:1.5rem}.settings-sidebar-header{background:#0f172a;color:#f8fafc;border-radius:1.25rem;padding:1.5rem;box-shadow:0 16px 30px #0f172a40}.settings-sidebar-header p{color:#cbd5f5;margin-top:.5rem}.settings-nav{display:flex;flex-direction:column;gap:.5rem;background:var(--settings-card-bg);border-radius:1.25rem;padding:.75rem;border:1px solid #e2e8f0;box-shadow:0 16px 30px #0f172a14}.settings-nav-item{display:flex;align-items:center;gap:.75rem;border:none;background:transparent;color:#0f172a;padding:.75rem 1rem;border-radius:.9rem;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;text-align:left}.settings-nav-item:hover,.settings-nav-item:focus-visible{background:#f8fafc}.settings-nav-item.is-active{background:#f97316;color:#fff;transform:translate(4px);box-shadow:0 12px 25px #f9731659}.settings-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:.6rem;background:#f1f5f9}.settings-nav-item.is-active .settings-nav-icon{background:#fff3}.settings-profile-card{display:flex;align-items:center;gap:1rem;background:var(--settings-card-bg);border-radius:1.25rem;padding:1.25rem;border:1px solid #e2e8f0;box-shadow:0 14px 30px #0f172a14}.settings-avatar{width:56px;height:56px;border-radius:1rem;background:#f97316;color:#fff;display:grid;place-items:center;font-weight:var(--font-semibold);overflow:hidden}.settings-avatar img{width:100%;height:100%;object-fit:cover}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-panel{background:var(--settings-card-bg);border-radius:1.5rem;border:1px solid #e2e8f0;box-shadow:0 24px 50px #0f172a14;padding:2rem}.settings-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.settings-muted{color:#64748b;margin-top:.35rem}.settings-banner{border-radius:1rem;padding:.85rem 1rem;font-weight:var(--font-medium);margin-bottom:1.25rem;background:#f8fafc;color:#1f2937;border:1px solid #e2e8f0}.settings-banner.success{background:#ecfdf3;border-color:#86efac;color:#166534}.settings-banner.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.settings-banner.saving{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.settings-loading{display:inline-flex;align-items:center;gap:.6rem;background:#fff7ed;color:#9a3412;border-radius:999px;padding:.45rem .9rem;border:1px solid #fed7aa;margin-bottom:1rem;width:fit-content}.settings-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(249,115,22,.3);border-top-color:#f97316;animation:settings-spin .9s linear infinite}.settings-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.settings-field{display:flex;flex-direction:column;gap:.5rem}.settings-field--autocomplete{position:relative}.settings-input,.settings-select{border:1px solid #e2e8f0;border-radius:.75rem;padding:.85rem 1rem;background:#fff;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.settings-input:focus,.settings-select:focus{outline:none;border-color:#f7771b;box-shadow:0 0 0 1px #f7771b59}.settings-input--readonly{background:#f1f5f9;color:#94a3b8}.settings-input.is-invalid{border-color:#f87171;background:#fef2f2}.settings-error{color:#b91c1c}.settings-hint{color:#94a3b8}.settings-suggestions{position:absolute;top:calc(100% + .4rem);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:.9rem;box-shadow:0 14px 30px #0f172a1f;padding:.35rem;z-index:2;max-height:220px;overflow-y:auto}.settings-suggestion{border:none;background:transparent;width:100%;text-align:left;padding:.6rem .75rem;border-radius:.75rem;cursor:pointer;color:#0f172a;font-weight:var(--font-medium)}.settings-suggestion:hover,.settings-suggestion:focus-visible{background:#fff7ed;color:#c2410c}.settings-suggestion-muted{padding:.6rem .75rem;color:#94a3b8}.settings-actions{display:flex;align-items:center;gap:.75rem}.settings-button{border:none;border-radius:.9rem;padding:.75rem 1.5rem;font-weight:var(--font-semibold);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.settings-button:disabled{cursor:not-allowed;opacity:.7}.settings-button--primary{background:#f97316;color:#fff;box-shadow:0 14px 30px #f9731659}.settings-button--primary:hover,.settings-button--primary:focus-visible{background:#ea580c;transform:translateY(-1px)}.settings-button--secondary{background:#0f172a;color:#fff}.settings-button--ghost{background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0}.settings-readonly-stack{display:flex;flex-direction:column;gap:.5rem}.settings-pill{display:inline-flex;align-items:center;padding:.5rem .8rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:var(--text-sm)}.settings-toggle-grid{display:grid;gap:1rem}.settings-toggle{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:1rem 1.25rem;border-radius:1.1rem;border:1px solid #e2e8f0;background:#f8fafc;position:relative}.settings-toggle input{position:absolute;opacity:0;pointer-events:none}.settings-toggle-text{display:flex;flex-direction:column;gap:.3rem}.settings-toggle-control{width:46px;height:26px;border-radius:999px;background:#cbd5f5;position:relative;transition:background .2s ease}.settings-toggle-control:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:4px;transition:transform .2s ease;box-shadow:0 4px 12px #0f172a33}.settings-toggle input:checked+.settings-toggle-control{background:#f97316}.settings-toggle input:checked+.settings-toggle-control:after{transform:translate(18px)}.settings-security-grid{display:grid;gap:1rem}.settings-security-card{display:flex;gap:1rem;align-items:flex-start;border-radius:1.2rem;padding:1.25rem;border:1px solid #e2e8f0;background:#f8fafc}.settings-security-icon{width:42px;height:42px;border-radius:1rem;display:grid;place-items:center;background:#fff7ed;color:#f97316}.settings-security-footer{margin-top:1.5rem;padding:1.5rem;border-radius:1.2rem;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.settings-support-link{color:#f97316;text-decoration:none;font-weight:var(--font-semibold)}.settings-support-link:hover,.settings-support-link:focus-visible{text-decoration:underline;color:#ea580c}@keyframes settings-spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.settings-main{grid-template-columns:1fr}.settings-sidebar{flex-direction:column}}@media(max-width:720px){.settings-form-row{grid-template-columns:1fr}.settings-security-footer{flex-direction:column;align-items:flex-start}.settings-actions{flex-direction:column;align-items:stretch}.settings-button{width:100%}}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-caps: .08em;--page-body-gap: 2.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased}*{scrollbar-width:thin;scrollbar-color:#4b5563 transparent}*::-webkit-scrollbar{width:10px}*::-webkit-scrollbar-track{background:transparent;margin:40px 0}*::-webkit-scrollbar-thumb{background-color:#4b5563;border-radius:999px;border:3px solid transparent;background-clip:padding-box}body.auth-surface{background:radial-gradient(circle at center,#ffb07a,#ff8a4c 45%,#f97316)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.display-xl{font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--font-bold);line-height:var(--leading-none);letter-spacing:var(--tracking-tight)}.display-lg{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.display-md{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading-xl{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.heading-lg{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.heading-md{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.heading-sm{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.body-lg{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed)}.body-base{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal)}.body-sm{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal)}.body-xs{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-normal);line-height:var(--leading-normal)}.label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-tight)}.label-caps{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-caps);text-transform:uppercase}.button-text{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-wide)}.button-text-lg{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-wide)}.code{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal)}.link{font-weight:var(--font-medium);text-decoration:none;text-underline-offset:2px;transition:color .15s ease,text-decoration-color .15s ease}.link:hover,.link:focus-visible{text-decoration:underline}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-body{margin-top:var(--page-body-gap)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.auth-modal{width:min(720px,100%);background:#fff7ed;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:.9rem;padding:1.7rem;box-shadow:0 35px 70px -45px #0f172ad9;display:flex;flex-direction:column;gap:.9rem;border:1px solid rgba(248,237,225,.9)}.auth-modal--video{width:min(860px,100%)}.auth-modal--legal{width:min(520px,100%)}.auth-modal-legal{display:flex;flex-direction:column;gap:.75rem;color:#4b5563;max-height:60vh;overflow-y:auto;padding-right:.25rem}.auth-modal-legal h4{font-size:var(--text-xl);font-weight:var(--font-semibold);color:#111827}.auth-modal-legal h5{font-size:var(--text-base);font-weight:var(--font-semibold);color:#111827}.auth-modal-legal h6{font-size:var(--text-sm);font-weight:var(--font-semibold);color:#1f2937}.auth-modal-legal hr{border:none;border-top:1px solid rgba(226,232,240,.9);margin:.25rem 0}.auth-modal-legal ol,.auth-modal-legal ul{padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem}.auth-modal-legal li{display:flex;flex-direction:column;gap:.35rem}.auth-modal-legal strong{color:#1f2937}.auth-video{width:100%;border-radius:.75rem;overflow:hidden;background:#111827;aspect-ratio:16 / 9}.auth-video iframe{width:100%;height:100%;border:none;display:block}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-modal-eyebrow{color:#f97316}.auth-modal-body{color:#4b5563}.auth-modal-email{display:inline-flex;align-items:center;gap:.6rem;font-weight:var(--font-medium);color:#111827;justify-content:center;width:100%}.auth-modal-email .link{color:#f97316;text-decoration-color:#f9731680}.auth-status{border-radius:.75rem;padding:.75rem 1rem;border:1px solid transparent;background:#fff7ed;color:#9a3412}.auth-status--error{border-color:#fdba74}.auth-status-link{background:none;border:none;padding:0;color:#c2410c;cursor:pointer}.auth-status-link:hover,.auth-status-link:focus-visible{text-decoration:underline}.auth-modal-actions{display:flex;justify-content:flex-start}.auth-modal-button{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:.75rem;background:#111827;color:#fff;text-decoration:none;font-weight:var(--font-semibold);box-shadow:0 14px 30px -20px #111827b3;transition:transform .2s ease,box-shadow .2s ease}.auth-modal-button:hover,.auth-modal-button:focus-visible{transform:translateY(-1px);box-shadow:0 18px 36px -22px #111827cc}.auth-modal-close{border:none;background:transparent;cursor:pointer;color:#64748b;font-weight:var(--font-medium)}
