@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;--primary-color: #0d9488;--primary-hover: #0f766e;--primary-light: #ccfbf1;--secondary-color: #1e293b;--accent-color: #0d9488;--background-color: #f8fafc;--surface-color: #ffffff;--text-color: #1e293b;--text-muted: #64748b;--border-color: #e2e8f0;--border-strong: #cbd5e1;--success-color: #059669;color-scheme:light;color:var(--text-color);background-color:var(--background-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.5em;line-height:1.1}h2{font-size:1rem;letter-spacing:.1em;color:var(--primary-color)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}.site{min-height:100vh;display:flex;flex-direction:column;background:#fff}.section-inner{max-width:1100px;margin:0 auto;padding:0 2rem;width:100%}.site-nav{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:var(--secondary-color);border-bottom:3px solid var(--primary-color)}.site-nav-logo{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.02em}.site-nav-cta{font-size:.875rem;font-weight:600;color:var(--primary-color);text-decoration:none;border:1px solid var(--primary-color);padding:.4rem 1rem;border-radius:6px;transition:background-color .15s ease,color .15s ease}.site-nav-cta:hover{background-color:var(--primary-color);color:#fff}.hero{background:var(--secondary-color);color:#fff;padding:6rem 2rem 5rem;text-align:center}.hero-inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.hero-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary-color);margin:0}.hero-headline{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin:0;color:#fff}.hero-sub{font-size:1.1rem;line-height:1.7;color:#94a3b8;max-width:560px;margin:0}.hero-cta{display:inline-block;background-color:var(--primary-color);color:#fff;font-weight:700;font-size:1rem;text-decoration:none;padding:.875rem 2rem;border-radius:8px;margin-top:.5rem;transition:background-color .15s ease,transform .15s ease}.hero-cta:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.how-it-works{padding:5rem 0;background:var(--background-color)}.section-heading{font-size:1.6rem;font-weight:700;color:var(--secondary-color);letter-spacing:-.02em;margin-bottom:3rem;text-align:center}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.step{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:2rem;position:relative}.step-number{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--primary-color);background:var(--primary-light);padding:.25rem .625rem;border-radius:20px;margin-bottom:1rem}.step-title{font-size:1.05rem;font-weight:700;color:var(--secondary-color);margin-bottom:.625rem}.step-desc{font-size:.9rem;color:var(--text-muted);line-height:1.7;margin:0}.features{padding:5rem 0;background:#fff}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.feature-card{padding:1.5rem;border:1px solid var(--border-color);border-left:3px solid var(--primary-color);border-radius:8px;background:var(--background-color)}.feature-title{font-size:.95rem;font-weight:700;color:var(--secondary-color);margin-bottom:.5rem}.feature-desc{font-size:.875rem;color:var(--text-muted);line-height:1.7;margin:0}.cta-band{background:var(--secondary-color);padding:5rem 0;text-align:center}.cta-band-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.cta-band h2{font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:-.02em;margin:0}.site-footer{background:#0f172a;color:#475569;text-align:center;padding:1.5rem 2rem;font-size:.85rem;margin-top:auto}@media(max-width:768px){.hero{padding:4rem 1.5rem 3.5rem}.how-it-works,.features,.cta-band{padding:3.5rem 0}.section-inner{padding:0 1.25rem}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background-color)}.app-header{background-color:var(--secondary-color);color:#fff;padding:2rem 2rem 1.75rem;text-align:center;border-bottom:3px solid var(--primary-color);position:relative}.app-header h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.35rem}.app-header p{font-size:.95rem;color:#94a3b8;font-weight:400}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:2.5rem 2rem;width:100%}.app-footer{background-color:var(--secondary-color);color:#94a3b8;text-align:center;padding:1.25rem;margin-top:auto;border-top:1px solid #334155}.app-footer p{margin:0;font-size:.85rem}@media(max-width:768px){.app-header h1{font-size:1.5rem}.app-main{padding:1.5rem 1rem}}.lesson-plan-form{background:var(--surface-color);border-radius:12px;padding:2rem;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000f;margin-bottom:2rem}.lesson-plan-form h2{color:var(--secondary-color);font-size:1.25rem;font-weight:700;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.lesson-plan-form form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group>label:first-child{font-weight:600;font-size:.875rem;color:var(--secondary-color);letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{padding:.625rem .75rem;border:1px solid var(--border-strong);border-radius:8px;font-size:.95rem;font-family:inherit;color:var(--text-color);background:var(--surface-color);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d94881f}.form-group textarea{resize:vertical;min-height:80px}.no-options-msg{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:.5rem 0}.generate-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .15s ease,transform .15s ease;margin-top:.5rem;align-self:flex-start;min-width:180px}.generate-btn:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.standards-domain{margin-bottom:6px}.domain-toggle{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-weight:600;font-size:.875rem;color:var(--secondary-color);width:100%;text-align:left;transition:background-color .15s ease,border-color .15s ease}.domain-toggle:hover{background-color:var(--primary-light);border-color:var(--primary-color);color:var(--primary-hover)}.domain-standards{padding:8px 0 4px 12px;border-left:2px solid var(--border-color);margin-left:8px;margin-top:4px}.checkbox-option label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;padding:.3rem 0;font-size:.875rem;color:var(--text-color);line-height:1.4}.checkbox-option input[type=checkbox]{margin-top:2px;accent-color:var(--primary-color);flex-shrink:0}@media(max-width:768px){.lesson-plan-form{padding:1.5rem}.generate-btn{align-self:stretch}}.lesson-plan-display{background:var(--surface-color);border-radius:12px;padding:2rem;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000f;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lesson-plan-header{padding-bottom:1.25rem;margin-bottom:2rem;border-bottom:1px solid var(--border-color)}.lesson-plan-header h2{color:var(--secondary-color);font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.35rem}.generated-time{color:var(--text-muted);font-size:.8rem}.lesson-plan-content{display:flex;flex-direction:column;gap:2.5rem}.plan-section h3{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-color);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-light)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.overview-item{background:var(--background-color);padding:.875rem 1rem;border-radius:8px;border:1px solid var(--border-color);border-left:3px solid var(--primary-color);font-size:.9rem}.overview-item strong{color:var(--secondary-color);display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.overview-item.full-width{grid-column:1 / -1}.overview-item ul{list-style:none;padding:0;margin:0}.learning-process-section{background:var(--background-color);padding:1.25rem 1.5rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--border-color);border-left:3px solid var(--primary-color)}.learning-process-section h4{color:var(--secondary-color);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.learning-process-section p{color:var(--text-color);line-height:1.7;font-size:.95rem}.stations-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.875rem;margin-top:.75rem}.station-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1.125rem;transition:border-color .15s ease,box-shadow .15s ease}.station-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0d94881a}.station-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.625rem;gap:.5rem}.station-header h5{color:var(--secondary-color);font-size:.9rem;font-weight:600;margin:0;flex:1}.station-type{background:var(--primary-light);color:var(--primary-hover);padding:.2rem .5rem;border-radius:20px;font-size:.7rem;font-weight:600;white-space:nowrap}.station-card p{color:var(--text-color);line-height:1.6;margin:0;font-size:.875rem}.activities-container{display:flex;flex-direction:column;gap:.75rem}.activity-card{background:var(--background-color);border-radius:8px;padding:1.125rem 1.25rem;border:1px solid var(--border-color);transition:border-color .15s ease}.activity-card:hover{border-color:var(--primary-color)}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.activity-header h4,.activity-header strong{color:var(--secondary-color);font-size:.95rem;font-weight:600}.activity-duration{background:var(--primary-light);color:var(--primary-hover);padding:.2rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.activity-card p{color:var(--text-color);line-height:1.6;font-size:.9rem}.lesson-plan-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.action-btn{background-color:var(--secondary-color);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.action-btn:hover{background-color:#0f172a;transform:translateY(-1px)}.action-btn--secondary{background-color:transparent;color:var(--secondary-color);border:1px solid var(--border-strong)}.action-btn--secondary:hover{background-color:var(--background-color);transform:translateY(-1px)}.lessons-container{display:flex;flex-direction:column;gap:1rem}.lesson-card{background:var(--background-color);border-radius:8px;padding:1.25rem 1.5rem;border:1px solid var(--border-color);transition:border-color .15s ease}.lesson-card:hover{border-color:var(--border-strong)}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.625rem;gap:1rem}.lesson-header h4{color:var(--secondary-color);font-size:1rem;font-weight:600;margin:0;line-height:1.4}.lesson-duration{background:var(--primary-light);color:var(--primary-hover);padding:.2rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.lesson-description{color:var(--text-muted);line-height:1.6;margin-bottom:1rem;font-size:.9rem}.generate-lesson-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease;width:100%}.generate-lesson-btn:hover:not(:disabled){background-color:var(--primary-hover)}.generate-lesson-btn:disabled{opacity:.5;cursor:not-allowed}.detailed-lesson{margin-top:.875rem}.toggle-btn{background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);padding:.4rem .875rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;margin-bottom:1rem;transition:background-color .15s ease,color .15s ease}.toggle-btn:hover{background-color:var(--primary-light)}.lesson-details{background:var(--surface-color);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h5{color:var(--secondary-color);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.detail-section ul{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:.375rem}.detail-section ul li{padding:.5rem .75rem;background:var(--background-color);border-radius:6px;border-left:3px solid var(--success-color);font-size:.875rem;color:var(--text-color);line-height:1.5}.detail-section ul li:before{content:"✓ ";color:var(--success-color);font-weight:700;margin-right:.25rem}.rubric{display:flex;flex-direction:column;gap:1rem}.rubric-row{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem}.rubric-criteria{color:var(--secondary-color);font-size:.875rem;margin-bottom:.625rem}.rubric-row ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.375rem}.rubric-row ul ul{padding:.375rem .75rem;background:var(--surface-color);border-radius:6px;border-left:3px solid var(--border-strong);font-size:.875rem;color:var(--text-color);line-height:1.5}.references-section{background:var(--background-color);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.references-group{margin-bottom:1.5rem}.references-group:last-child{margin-bottom:0}.references-group h4{color:var(--secondary-color);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.references-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.reference-item{font-size:.9rem;color:var(--text-color);line-height:1.5}.reference-link{color:var(--primary-color);text-decoration:none;font-weight:500}.reference-link:hover{text-decoration:underline;color:var(--primary-hover)}.reference-description{color:var(--text-muted)}.reference-book-title{font-weight:500;color:var(--secondary-color)}.reference-meta{color:var(--text-muted);font-size:.85rem}.reference-notes{color:var(--text-muted);font-size:.85rem;margin-top:.25rem;font-style:italic}.objectives-list,.materials-list{list-style:none;padding-left:0}.objectives-list li,.materials-list li{padding:.625rem .75rem;margin-bottom:.375rem;background:var(--background-color);border-radius:6px;border-left:3px solid var(--success-color);font-size:.9rem}@media(max-width:768px){.lesson-plan-display{padding:1.25rem}.overview-grid{grid-template-columns:1fr}.activity-header{flex-direction:column;align-items:flex-start;gap:.375rem}.lesson-plan-actions{justify-content:stretch}.action-btn{flex:1;text-align:center}}.password-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-color)}.password-gate-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:2.5rem 2rem;width:100%;max-width:360px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 16px #00000014}.password-gate-card h2{color:var(--secondary-color);font-size:1.35rem;font-weight:700;letter-spacing:-.01em;text-align:center}.password-gate-card p{color:var(--text-muted);font-size:.9rem;text-align:center;margin-top:-.25rem}.password-gate-card input{padding:.625rem .875rem;border:1px solid var(--border-strong);border-radius:8px;font-size:1rem;font-family:inherit;color:var(--text-color);transition:border-color .15s ease,box-shadow .15s ease}.password-gate-card input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d94881f}.password-gate-card button{background-color:var(--primary-color);color:#fff;border:none;padding:.7rem;font-size:.95rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .15s ease}.password-gate-card button:hover{background-color:var(--primary-hover)}.generating-preview{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000000f;margin-bottom:2rem}.generating-header{display:flex;align-items:center;gap:.875rem;margin-bottom:1.5rem}.generating-header h3{color:var(--secondary-color);font-size:1rem;font-weight:600;margin:0}.generating-spinner{width:18px;height:18px;border:2px solid var(--primary-light);border-top-color:var(--primary-color);border-radius:50%;animation:spin .75s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.generating-sections{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.625rem}.generating-section{display:flex;align-items:center;gap:.75rem;font-size:.9rem;transition:color .2s ease}.generating-section.pending{color:var(--text-muted)}.generating-section.done{color:var(--secondary-color);font-weight:500}.section-indicator{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;transition:background-color .2s ease,color .2s ease}.generating-section.pending .section-indicator{background:var(--background-color);color:var(--border-strong);border:1px solid var(--border-color)}.generating-section.done .section-indicator{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}
