:root{color-scheme:light;--background:#f3f5f7;--foreground:#172033;--surface:#ffffff;--border:#dce1e8;--accent:#3157d5}*{box-sizing:border-box}body,html{max-width:100%}body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-shell,.dashboard-shell,.flow-shell{display:grid;width:100%;min-width:0;min-height:100vh;place-items:center;padding:2rem}.account-card,.auth-card,.dashboard-card,.flow-card{width:min(100%,30rem);max-width:100%;min-width:0;padding:clamp(2rem,6vw,3rem);border:1px solid var(--border);border-radius:1.25rem;background:var(--surface);box-shadow:0 1.5rem 4rem rgb(23 32 51/8%)}.account-card,.dashboard-card,.flow-card{width:min(100%,48rem)}.summary-card{width:min(100%,54rem)}.brand{margin:0 0 1rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{max-width:100%;margin:0;font-size:clamp(2rem,6vw,3rem);letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere;word-break:break-word}.loading-message{color:#556176}.auth-form{display:grid;min-width:0;grid-gap:.75rem;gap:.75rem;margin-top:2rem}.auth-form label,.status-list dt{color:#465269;font-size:.84rem;font-weight:700}.auth-form input{width:100%;max-width:100%;min-width:0;min-height:2.9rem;padding:.75rem .85rem;border:1px solid #c7ced9;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit}.auth-form input:focus{border-color:var(--accent);outline:3px solid rgb(49 87 213/14%)}button{border:0;cursor:pointer;font:inherit;white-space:normal}.primary-link,button{max-width:100%;min-height:2.9rem;padding:.75rem 1rem;border-radius:.65rem;background:var(--accent);color:#fff;font-weight:700;overflow-wrap:anywhere}.primary-link{display:inline-flex;min-width:0;align-items:center;justify-content:center;text-decoration:none;text-align:center}.back-link{display:inline-block;margin:0 0 1.5rem;color:#465269;font-size:.9rem;font-weight:700;text-decoration:none}.back-link:hover{color:var(--accent)}button:disabled{cursor:wait;opacity:.7}.form-error{color:#b42318}.form-error,.form-success{margin:.25rem 0;font-size:.9rem}.form-success{color:#25663c}.auth-intro{margin:1.25rem 0 0;color:#556176;line-height:1.6}.auth-secondary-link{color:var(--accent);font-size:.9rem;font-weight:700;text-decoration:none}.auth-secondary-link:hover{text-decoration:underline}.reset-complete{display:grid;grid-gap:1rem;gap:1rem;margin-top:2rem}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.choice-grid>*,.composer-actions>*,.dashboard-header>*,.entry-actions>*,.idea-list-card>*,.idea-source>*,.journey-heading>*,.language-heading>*,.language-list-card>*,.module-grid>*,.status-list>div>*{min-width:0}.secondary-button{min-height:auto;background:#e8ecf4;color:#27344d}.account-link{gap:.55rem}.account-link svg{flex:0 0 auto}.status-list{display:grid;grid-gap:1rem;gap:1rem;margin:2.5rem 0 0}.status-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--border)}.status-list dd{min-width:0;margin:0;font-weight:700;overflow-wrap:anywhere;text-align:right;word-break:break-word}.modules-section{margin-top:2.5rem}.feed-heading h2,.modules-section h2{margin:0;font-size:1.25rem;letter-spacing:-.02em}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.module-card{display:flex;max-width:100%;min-width:0;min-height:11rem;flex-direction:column;justify-content:flex-end;padding:1.5rem;border:1px solid var(--border);border-radius:1rem;background:#f8f9fb;color:var(--foreground);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.idea-list-card:hover,.module-card:hover{border-color:var(--accent);transform:translateY(-2px)}.module-card strong{margin-top:.5rem;font-size:1.25rem}.module-card p{max-width:100%;margin:.5rem 0 0;color:#556176;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.module-label,.section-kicker{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:2.5rem}.choice-card{display:grid;max-width:100%;min-width:0;min-height:10rem;place-items:center;padding:1.5rem;border:1px solid var(--border);border-radius:1rem;background:#f8f9fb;color:var(--foreground);font-size:1.25rem;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.choice-card:hover{border-color:var(--accent);transform:translateY(-2px)}.architect-projects-section{min-width:0;margin-top:3rem}.architect-projects-section h2{margin:.4rem 0 0;font-size:1.5rem;letter-spacing:-.025em}.architect-projects-message{margin:1.5rem 0 0}.architect-project-list{display:grid;min-width:0;grid-gap:.85rem;gap:.85rem;margin-top:1.5rem}.architect-project-card{display:flex;max-width:100%;min-width:0;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;color:var(--foreground);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.architect-project-card:hover{border-color:var(--accent);transform:translateY(-2px)}.architect-project-card>*{min-width:0}.architect-project-card strong{display:block;max-width:100%;font-size:1.05rem;overflow-wrap:anywhere;word-break:break-word}.architect-project-meta{display:flex;min-width:0;flex-wrap:wrap;gap:.4rem .8rem;margin-top:.55rem;color:#687489;font-size:.8rem}.architect-project-meta span:first-child,.architect-project-open{color:var(--accent);font-weight:700}.architect-project-open{flex:0 0 auto;font-size:.9rem}.architect-empty-state{margin-top:1.5rem}.architect-empty-state p{margin:0}.flow-message{margin:2rem 0;color:#465269;font-size:1.1rem}.competition-form{display:grid;min-width:0;grid-gap:.75rem;gap:.75rem;margin-top:2rem}.competition-form label,.saved-information dt{color:#465269;font-size:.84rem;font-weight:700}.competition-form input,.competition-form textarea{width:100%;max-width:100%;min-width:0;padding:.8rem .9rem;border:1px solid #c7ced9;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit}.competition-form textarea{min-height:16rem;resize:vertical;line-height:1.55}.competition-form input:focus,.competition-form textarea:focus{border-color:var(--accent);outline:3px solid rgb(49 87 213/14%)}.saved-information{display:grid;min-width:0;grid-gap:0;gap:0;margin:2.5rem 0 0}.saved-information>div{min-width:0;padding:1.4rem 0;border-top:1px solid var(--border)}.saved-information dd{min-width:0;margin:.6rem 0 0;line-height:1.65}.saved-information dd,.source-text{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.source-text{white-space:pre-wrap}.content-link{display:inline;max-width:100%;color:var(--accent);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.16em;word-break:break-word}.journey-shell{align-items:start}.journey-card,.journey-detail-card{width:min(100%,64rem)}.journey-form-card{width:min(100%,42rem)}.journey-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:2rem}.journey-heading .primary-link{flex:0 0 auto}.journey-intro{max-width:38rem;margin:1rem 0 0;color:#556176;font-size:1.05rem;line-height:1.6;overflow-wrap:anywhere;word-break:break-word}.journey-error{margin-top:2rem}.idea-list{display:grid;min-width:0;grid-gap:.85rem;gap:.85rem;margin-top:2.5rem}.idea-list-card{display:flex;max-width:100%;min-width:0;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;color:var(--foreground);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.idea-list-card strong{display:block;max-width:100%;font-size:1.1rem;overflow-wrap:anywhere;word-break:break-word}.idea-list-card p{display:-webkit-box;overflow:hidden;margin:.45rem 0 0;color:#556176;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.idea-card-meta{display:grid;max-width:100%;min-width:0;flex:0 0 auto;grid-gap:.35rem;gap:.35rem;color:#687489;font-size:.8rem;text-align:right}.idea-card-meta span{color:var(--accent);font-weight:700}.empty-state{max-width:100%;min-width:0;margin-top:2.5rem;padding:2.5rem;border:1px dashed #c7ced9;border-radius:1rem;color:#556176;text-align:center}.empty-state h2,.empty-state h3{margin:0;color:var(--foreground)}.empty-state p{margin:.6rem 0 0}.journey-form{display:grid;min-width:0;grid-gap:.75rem;gap:.75rem;margin-top:2rem}.feed-composer label,.idea-source dt,.journey-form label{color:#465269;font-size:.84rem;font-weight:700}.entry-editor textarea,.feed-composer textarea,.journey-form input,.journey-form select,.journey-form textarea{width:100%;max-width:100%;min-width:0;padding:.85rem .9rem;border:1px solid #c7ced9;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit}.entry-editor textarea,.feed-composer textarea,.journey-form textarea{resize:vertical;line-height:1.55}.entry-editor textarea:focus,.feed-composer textarea:focus,.journey-form input:focus,.journey-form select:focus,.journey-form textarea:focus{border-color:var(--accent);outline:3px solid rgb(49 87 213/14%)}.idea-detail-heading time{display:block;margin-top:1rem;color:#687489;font-size:.85rem}.idea-source{display:grid;min-width:0;grid-template-columns:minmax(8rem,.3fr) minmax(0,1fr);margin:2.5rem 0 0;border-block:1px solid var(--border)}.idea-source>div{min-width:0;padding:1.25rem 0}.idea-source dd{max-width:100%;min-width:0;margin:.5rem 0 0;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.feed-section{margin-top:3rem}.section-kicker{margin:0 0 .4rem}.feed-composer{max-width:100%;min-width:0;margin-top:1.25rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:#f8f9fb}.feed-composer textarea{min-height:7rem}.composer-actions,.entry-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.composer-actions span{color:#7a8495;font-size:.75rem}.feed-empty,.feed-error,.feed-list{margin-top:1rem}.feed-list{display:grid;min-width:0;grid-gap:1rem;gap:1rem}.feed-entry{max-width:100%;min-width:0;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:#fff}.feed-entry>time{color:#7a8495;font-size:.78rem}.feed-entry>p{max-width:100%;min-width:0;margin:.75rem 0 0;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.entry-editor{min-width:0;margin-top:.85rem}.entry-actions{justify-content:flex-end}.entry-actions-compact{margin-top:.85rem}.text-button{min-height:auto;padding:0;background:transparent;color:var(--accent);font-size:.84rem}.danger-button{color:#b42318}.language-shell{align-items:start}.language-card,.language-lesson-card{width:min(100%,64rem)}.language-lesson-shell{background:#f8fbfc}.language-lesson-card{border-color:#d7ece9;background:#fff;box-shadow:0 1rem 2.75rem rgb(15 33 71/7%)}.lesson-page-header{min-width:0}.language-lesson-card .brand{margin-bottom:.65rem;color:#2563eb}.lesson-back-link{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:2.75rem;align-items:center;gap:.4rem;margin-bottom:.85rem;color:#0ea5a4}.lesson-back-link:hover{color:#0b7f7d}.lesson-back-link:focus-visible{border-radius:.35rem;outline:3px solid rgb(14 165 164/22%);outline-offset:.2rem}.lesson-page-header h1{color:#0f2147}.language-form-card{width:min(100%,42rem)}.language-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:2rem}.language-heading .primary-link,.language-heading>button{flex:0 0 auto}.lesson-create-form{display:grid;min-width:0;grid-gap:1.15rem;gap:1.15rem;margin-top:2rem;padding:1.15rem;border:1px solid #bfe8e4;border-radius:.9rem;background:#f4fbfa}.lesson-create-launch{display:flex;margin-top:2rem}.lesson-create-launch>button{flex:0 0 auto}.lesson-source-fieldset{min-width:0;margin:0;padding:0;border:0}.lesson-source-fieldset legend{margin-bottom:.65rem;color:#465269;font-size:.84rem;font-weight:700}.lesson-source-options{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.lesson-source-option{display:flex;min-width:0;min-height:2.75rem;align-items:center;gap:.55rem;padding:.65rem .8rem;border:1px solid #bfe8e4;border-radius:.7rem;background:#f4fbfa;color:#0f2147;cursor:pointer;font-size:.9rem;font-weight:650}.lesson-source-option:has(input:checked){border-color:#0ea5a4;background:#e9f8f6;box-shadow:0 0 0 2px rgb(14 165 164/12%)}.lesson-source-option input{flex:0 0 auto;margin:0;accent-color:#0ea5a4}.lesson-source-option span{min-width:0;overflow-wrap:anywhere}.lesson-create-actions{display:flex;align-items:center;gap:.75rem}.lesson-create-actions>button{min-width:7rem}.language-error{margin-top:2rem}.lesson-create-form .language-error{margin:0}.language-list,.lesson-list{display:grid;min-width:0;grid-gap:.85rem;gap:.85rem;margin-top:2.5rem}.language-list-card{display:flex;max-width:100%;min-width:0;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;color:var(--foreground);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.language-list-card:hover{border-color:var(--accent);transform:translateY(-2px)}.language-list-card strong{display:block;font-size:1.1rem;overflow-wrap:anywhere;word-break:break-word}.language-list-card p{margin:.45rem 0 0;color:#556176}.language-list-card time{flex:0 0 auto;color:#687489;font-size:.8rem;text-align:right}.language-form,.lesson-form{display:grid;min-width:0;grid-gap:.75rem;gap:.75rem;margin-top:2rem}.language-form label,.lesson-form label{color:#465269;font-size:.84rem;font-weight:700}.language-form input,.lesson-form textarea{width:100%;max-width:100%;min-width:0;padding:.85rem .9rem;border:1px solid #c7ced9;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit}.lesson-form textarea{min-height:24rem;resize:vertical;line-height:1.55}.language-form input:focus,.lesson-form textarea:focus{border-color:var(--accent);outline:3px solid rgb(49 87 213/14%)}.language-lessons{margin-top:3rem}.language-lessons h2{margin:0;font-size:1.25rem}.lesson-filters{display:flex;min-width:0;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.lesson-filter-button{min-height:2.75rem;padding:.65rem .9rem;border:1px solid #bfe8e4;border-radius:999px;background:#fff;box-shadow:none;color:#0f2147;font-size:.85rem;font-weight:700}.lesson-filter-button:hover{border-color:#0ea5a4;background:#f4fbfa}.lesson-filter-button[aria-pressed=true]{border-color:#0ea5a4;background:#0ea5a4;color:#fff}.lesson-filter-button:focus-visible{outline:3px solid rgb(14 165 164/22%);outline-offset:.15rem}.language-lessons .lesson-list{margin-top:1rem}.save-confirmation{margin:.25rem 0;color:#087443;font-size:.9rem}.lesson-input-limit{color:#687489;font-size:.78rem}.lesson-processing{margin-top:2rem;padding:1.25rem;border:1px solid #b9c8f5;border-radius:.9rem;background:#f3f6ff}.lesson-processing strong{color:var(--accent)}.lesson-processing p{margin:.45rem 0 0;color:#556176;line-height:1.5}.lesson-learning-progress{display:flex;min-width:0;align-items:flex-end;flex-wrap:wrap;gap:.85rem 1.25rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #d7ece9}.lesson-learning-progress-field{display:grid;min-width:0;grid-gap:.4rem;gap:.4rem}.lesson-learning-progress-field>span{color:#64748b;font-size:.78rem;font-weight:700}.lesson-learning-progress-field>div{display:inline-flex;min-width:0;flex-wrap:wrap;gap:.35rem}.lesson-learning-progress-field button{min-height:2.65rem;padding:.5rem .75rem;border:1px solid #c8d8fb;border-radius:999px;background:#fff;box-shadow:none;color:#0f2147;font-size:.82rem}.lesson-learning-progress-field button[aria-pressed=true]{border-color:#2563eb;background:#2563eb;color:#fff}.lesson-learning-progress-field button:focus-visible{outline:3px solid rgb(37 99 235/22%);outline-offset:.15rem}.lesson-learning-progress>small{align-self:center;color:#64748b}.lesson-learning-progress-error{width:100%;margin:0;color:#b42318;font-size:.82rem}.lesson-simplification-controls{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.lesson-simplify-button{min-height:2.75rem;padding:.65rem 1rem;background:#0ea5a4;color:#fff}.lesson-simplify-button:hover:not(:disabled){background:#0b8c8b}.lesson-audio-rate-selector button:focus-visible,.lesson-simplify-button:focus-visible,.lesson-story-download-button:focus-visible,.lesson-story-voice-selector button:focus-visible,.lesson-version-selector button:focus-visible{outline:3px solid rgb(14 165 164/22%);outline-offset:.15rem}.lesson-dialogue-play-button:focus-visible{outline:3px solid rgb(14 165 164/22%);outline-offset:.15rem}.lesson-version-selector{display:inline-grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:.25rem;border:1px solid #bfe8e4;border-radius:999px;background:#f4fbfa}.lesson-version-selector button{min-height:2.5rem;padding:.55rem .9rem;border:0;border-radius:999px;background:transparent;box-shadow:none;color:#0f2147;font-size:.85rem}.lesson-version-selector button[aria-pressed=true]{background:#0ea5a4;color:#fff}.lesson-audio-rate-control{margin:0 0 1rem;padding-bottom:.9rem;border-bottom:1px solid var(--lesson-section-divider)}.lesson-audio-rate-control,.lesson-story-voice-control{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:.55rem .7rem}.lesson-story-voice-control{margin-bottom:.65rem}.lesson-story-control-label{min-width:4rem;color:#64748b;font-size:.82rem;font-weight:700}.lesson-story-voice-selector{display:inline-grid;grid-template-columns:repeat(2,minmax(4.25rem,1fr));padding:.2rem;border:1px solid #bfe8e4;border-radius:999px;background:#f4fbfa}.lesson-story-voice-selector button{min-width:4.25rem;min-height:2.65rem;padding:.45rem .7rem;border:0;border-radius:999px;background:transparent;box-shadow:none;color:#0f2147;font-size:.82rem}.lesson-story-voice-selector button[aria-pressed=true]{background:#0ea5a4;color:#fff}.lesson-audio-rate-label{min-width:4rem;color:#64748b;font-size:.82rem;font-weight:700}.lesson-audio-rate-selector{display:inline-grid;grid-template-columns:repeat(2,minmax(3.25rem,1fr));padding:.2rem;border:1px solid #bfe8e4;border-radius:999px;background:#f4fbfa}.lesson-audio-rate-selector button{min-width:3.25rem;min-height:2.65rem;padding:.45rem .7rem;border:0;border-radius:999px;background:transparent;box-shadow:none;color:#0f2147;font-size:.82rem}.lesson-audio-rate-selector button[aria-pressed=true]{background:#0ea5a4;color:#fff}.lesson-regeneration-action{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:.55rem .75rem}.lesson-regenerate-button{min-height:2.5rem;padding:.55rem .8rem;border:1px solid #bfe8e4;background:#fff;box-shadow:none;color:#0b7f7e;font-size:.82rem}.lesson-regenerate-button:hover:not(:disabled){border-color:#0ea5a4;background:#f4fbfa}.lesson-regenerate-button:focus-visible{outline:3px solid rgb(14 165 164/22%);outline-offset:.15rem}.lesson-regeneration-action small{color:#64748b;font-size:.78rem}.lesson-sections{display:grid;min-width:0;grid-gap:1.25rem;gap:1.25rem;margin-top:2rem}.lesson-section{--lesson-section-accent:#0ea5a4;--lesson-section-border:#bfe8e4;--lesson-section-divider:#cfece9;--lesson-section-surface:#f4fbfa;min-width:0;padding:clamp(1.25rem,4vw,1.75rem);border:1px solid var(--lesson-section-border);border-radius:1rem;background:var(--lesson-section-surface)}.lesson-section-variant-a{box-shadow:inset .25rem 0 0 var(--lesson-section-accent)}.lesson-section-variant-b{--lesson-section-accent:#2563eb;--lesson-section-border:#c8d8fb;--lesson-section-divider:#d7e2fa;--lesson-section-surface:#f5f8ff}.lesson-section-variant-b .lesson-section-header{margin:-.4rem -.4rem 0;padding:.4rem .4rem 1rem;border-radius:.75rem .75rem .35rem .35rem;background:rgb(37 99 235/5%)}.lesson-section-variant-c{--lesson-section-accent:#0f2147;--lesson-section-border:#cbd9ea;--lesson-section-divider:#dbe4ef;--lesson-section-surface:#fff;border-top-width:.25rem}.lesson-section-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--lesson-section-divider)}.lesson-section-header h2{margin:0;color:#0f2147;font-size:1.3rem;letter-spacing:-.02em;overflow-wrap:anywhere}.lesson-section-actions,.lesson-section-header h2{display:flex;min-width:0;align-items:center;gap:.55rem}.lesson-section-actions{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end}.lesson-section-actions .lesson-audio-error{order:2;width:100%;flex-basis:100%;margin:0;color:#b42318;font-size:.78rem;text-align:right}.lesson-section-icon{width:1.25rem;height:1.25rem;flex:0 0 auto;color:var(--lesson-section-accent)}.copy-button{display:inline-flex;flex:0 0 auto;min-height:2.75rem;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;background:#2563eb;color:#fff;font-size:.82rem;line-height:1;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}.copy-button:hover{background:#1d4ed8;transform:translateY(-1px)}.copy-button:focus-visible{outline:3px solid rgb(37 99 235/22%);outline-offset:.2rem}.copy-button-icon{width:1rem;height:1rem;flex:0 0 auto}.lesson-story-download-button{display:inline-flex;min-height:2.75rem;flex:0 0 auto;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;border:1px solid var(--lesson-section-border);background:#fff;box-shadow:none;color:var(--lesson-section-accent);font-size:.82rem;line-height:1;white-space:nowrap}.lesson-story-download-button:hover:not(:disabled){border-color:var(--lesson-section-accent);background:color-mix(in srgb,var(--lesson-section-accent) 8%,#fff)}.lesson-story-download-icon{width:1rem;height:1rem;flex:0 0 auto}.lesson-story-download-error{margin:-.2rem 0 .9rem;color:#b42318;font-size:.8rem;line-height:1.45}.lesson-section-content{min-width:0;margin-top:1.25rem}.lesson-bridge-list,.lesson-item-list{display:grid;min-width:0;grid-gap:1rem;gap:1rem}.lesson-bridge,.lesson-item{min-width:0;padding-bottom:.85rem;border-bottom:1px solid var(--lesson-section-divider)}.lesson-bridge:last-child,.lesson-item:last-child{padding-bottom:0;border-bottom:0}.lesson-section .lesson-item-list{gap:.85rem}.lesson-section .lesson-item:last-child{padding-bottom:0}.lesson-kanji-list{display:grid;min-width:0;grid-gap:1rem;gap:1rem}.lesson-kanji-card{min-width:0;padding:1rem;border:1px solid var(--lesson-section-divider);border-radius:.85rem;background:color-mix(in srgb,var(--lesson-section-surface) 72%,#fff)}.lesson-kanji-card h3{margin:0;color:#0f2147;font-size:clamp(1.65rem,5vw,2.1rem);line-height:1.2;overflow-wrap:anywhere}.lesson-kanji-summary{margin:.35rem 0 0;color:#64748b;line-height:1.55;overflow-wrap:anywhere}.lesson-kanji-summary span:first-child{color:#0f2147;font-weight:650}.lesson-kanji-components{display:grid;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));grid-gap:.75rem;gap:.75rem;margin-top:.9rem}.lesson-kanji-component{min-width:0;padding-top:.7rem;border-top:1px solid var(--lesson-section-divider)}.lesson-kanji-component p{display:flex;min-width:0;align-items:baseline;gap:.55rem;margin:0;color:#0f2147;overflow-wrap:anywhere}.lesson-kanji-component strong{font-size:1.35rem}.lesson-kanji-component small{display:block;margin-top:.25rem;color:#64748b;line-height:1.45;overflow-wrap:anywhere}.lesson-item h3,.lesson-review-grid h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.lesson-section .lesson-item h3{color:#0f2147;font-weight:750}.lesson-audio-heading{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.55rem .75rem;gap:.55rem .75rem}.lesson-audio-button{position:relative;display:inline-flex;width:2.65rem;height:2.65rem;min-width:2.65rem;min-height:2.65rem;align-items:center;justify-content:center;padding:0;border:1px solid var(--lesson-section-border);border-radius:999px;background:#fff;box-shadow:none;color:var(--lesson-section-accent)}.lesson-audio-button:hover:not(:disabled){border-color:var(--lesson-section-accent);background:color-mix(in srgb,var(--lesson-section-accent) 8%,#fff)}.lesson-audio-button:focus-visible{outline:3px solid rgb(14 165 164/22%);outline-offset:.15rem}.lesson-audio-button[data-state=playing]{border-color:var(--lesson-section-accent);background:var(--lesson-section-accent);color:#fff}.lesson-audio-button[data-state=playing]:after{position:absolute;inset:-.22rem;border:1px solid var(--lesson-section-accent);border-radius:inherit;content:"";opacity:0;pointer-events:none;animation:lesson-audio-pulse 1.6s ease-out infinite}.lesson-dialogue-play-button{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.45rem;padding:.5rem .8rem;border:1px solid var(--lesson-section-border);border-radius:999px;background:#fff;box-shadow:none;color:var(--lesson-section-accent);font-size:.82rem}.lesson-dialogue-play-button:hover{border-color:var(--lesson-section-accent);background:color-mix(in srgb,var(--lesson-section-accent) 8%,#fff)}.lesson-dialogue-play-button[data-state=loading],.lesson-dialogue-play-button[data-state=playing]{border-color:var(--lesson-section-accent);background:var(--lesson-section-accent);color:#fff}.lesson-audio-icon,.lesson-audio-spinner{width:1.15rem;height:1.15rem}.lesson-audio-stop-icon{animation:lesson-audio-playing 1.4s ease-in-out infinite}.lesson-audio-spinner{display:block;box-sizing:border-box;border:2px solid;border-right:2px solid transparent;border-radius:999px;animation:lesson-audio-spin .75s linear infinite}@keyframes lesson-audio-spin{to{transform:rotate(1turn)}}@keyframes lesson-audio-playing{50%{transform:scale(.88)}}@keyframes lesson-audio-pulse{0%{opacity:.35;transform:scale(.88)}70%,to{opacity:0;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.lesson-audio-button[data-state=playing]:after,.lesson-audio-spinner,.lesson-audio-stop-icon{animation:none}.lesson-audio-spinner{border-right-color:currentColor;opacity:.65}}.lesson-audio-heading .lesson-audio-error{grid-column:1/-1;margin:0;color:#b42318;font-size:.78rem}.lesson-item em,.lesson-item p,.lesson-item small{display:block;max-width:100%;margin:.4rem 0 0;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.lesson-item p,.lesson-item small{color:#556176}.lesson-item em{color:#27344d}.lesson-section .lesson-item p{color:#64748b}.lesson-section .lesson-item em{color:#0f2147}.lesson-section .lesson-numbered-list li::marker,.lesson-section .lesson-review-grid li::marker{color:var(--lesson-section-accent);font-weight:700}.lesson-section .lesson-dialogue strong,.lesson-section .lesson-review-grid h3{color:var(--lesson-section-accent)}.lesson-item ul,.lesson-numbered-list,.lesson-review-grid ul{margin:.75rem 0 0;padding-left:1.4rem}.lesson-item li,.lesson-numbered-list li,.lesson-review-grid li{margin-top:.4rem;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.lesson-reading-text{margin:0;font-size:1.05rem;line-height:1.85;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.lesson-numbered-list{margin-top:0}.lesson-thought-audio-item{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.55rem .75rem;gap:.55rem .75rem}.lesson-thought-audio-item>span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.account-section{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--border)}.account-section h2{margin:0 0 1rem;font-size:1.15rem}.account-facts{display:grid;grid-gap:0;gap:0;margin:0}.account-facts>div{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,2fr);grid-gap:1rem;gap:1rem;padding:.85rem 0;border-top:1px solid #edf0f4}.account-facts dt{color:#465269;font-size:.84rem;font-weight:700}.account-facts dd{min-width:0;margin:0;font-weight:700;overflow-wrap:anywhere;text-align:right}.account-editor{margin-top:1rem;border:1px solid var(--border);border-radius:.75rem;background:#f8f9fb}.account-editor summary{padding:1rem;color:#27344d;cursor:pointer;font-weight:700}.account-form{display:grid;grid-gap:.75rem;gap:.75rem;padding:0 1rem 1rem}.account-form label{color:#465269;font-size:.84rem;font-weight:700}.account-form input{width:100%;min-width:0;min-height:2.9rem;padding:.75rem .85rem;border:1px solid #c7ced9;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit}.account-form input:focus{border-color:var(--accent);outline:3px solid rgb(49 87 213/14%)}.lesson-thought-audio-item .lesson-audio-error{grid-column:1/-1;margin:0;color:#b42318;font-size:.78rem}.lesson-dialogue{display:grid;grid-gap:0;gap:0}.lesson-dialogue-line{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.55rem .75rem;gap:.55rem .75rem;padding:.7rem 0;border-bottom:1px solid var(--lesson-section-divider);background:transparent;transition:background-color .16s ease,box-shadow .16s ease}.lesson-dialogue-line[data-active=true]{background:color-mix(in srgb,#2563eb 7%,transparent);box-shadow:inset .2rem 0 0 color-mix(in srgb,#2563eb 68%,#0ea5a4)}.lesson-dialogue-line[data-active=true] strong{color:#0f2147;font-weight:800}.lesson-dialogue-line:first-child{padding-top:0}.lesson-dialogue-line:last-child{padding-bottom:0;border-bottom:0}.lesson-dialogue-line p{display:grid;min-width:0;grid-gap:.15rem;gap:.15rem;margin:0;line-height:1.65;overflow-wrap:anywhere;word-break:break-word}.lesson-dialogue-line .lesson-audio-error{grid-column:1/-1;margin:0;color:#b42318;font-size:.78rem}@media (prefers-reduced-motion:reduce){.lesson-dialogue-line{transition:none}}.lesson-bridge{display:grid;grid-gap:.85rem;gap:.85rem}.lesson-bridge span{color:var(--lesson-section-accent,var(--accent));font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lesson-bridge p{margin:.3rem 0 0;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.lesson-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem}.lesson-action-error,.lesson-ready-error{margin-top:1.5rem}.lesson-footer-actions{display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border)}.lesson-delete-button{min-height:auto;border:1px solid #f0b4ae;background:transparent;color:#b42318}.exercises-shell{align-items:start}.exercise-detail-card,.exercises-card{width:min(100%,68rem)}.exercise-form-card{width:min(100%,48rem)}.exercise-detail-heading,.exercise-section-heading,.exercises-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:1.5rem}.exercise-detail-heading>*,.exercise-list-card>*,.exercise-section-heading>*,.exercises-heading>*{min-width:0}.exercises-heading .primary-link{flex:0 0 auto}.exercises-intro{max-width:42rem;margin:1rem 0 0;color:#556176;font-size:1.05rem;line-height:1.6}.exercise-action-error,.exercises-error{margin-top:1.5rem}.exercise-list{display:grid;min-width:0;grid-gap:.85rem;gap:.85rem;margin-top:2.5rem}.exercise-list-card{display:flex;max-width:100%;min-width:0;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:.9rem;background:#fff;color:var(--foreground);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.exercise-list-card:hover{border-color:var(--accent);transform:translateY(-2px)}.exercise-list-copy strong{display:block;font-size:1.08rem;overflow-wrap:anywhere}.exercise-list-copy p{margin:.45rem 0 0;color:#556176;overflow-wrap:anywhere}.exercise-list-copy span{display:block;margin-top:.3rem;color:#7a8496;font-size:.82rem}.exercise-status{flex:0 0 auto;padding:.4rem .7rem;border-radius:999px;font-size:.78rem;font-weight:750;white-space:nowrap}.exercise-status-pending{background:#eef1f5;color:#526077}.exercise-status-working{background:#fff3cd;color:#805d00}.exercise-status-solved{background:#dcf7e9;color:#087443}.exercise-form,.workspace-form{display:grid;min-width:0;grid-gap:.75rem;gap:.75rem;margin-top:2rem}.exercise-form label,.exercise-metadata dt,.exercise-status-control span,.workspace-form label{color:#465269;font-size:.84rem;font-weight:700}.exercise-form input,.exercise-form textarea,.exercise-status-control select,.workspace-form input,.workspace-form select{width:100%;max-width:100%;min-width:0;padding:.85rem .9rem;border:1px solid #c7ced9;border-radius:.65rem;background:#fff;color:var(--foreground);font:inherit}.exercise-form textarea{resize:vertical;line-height:1.55}.exercise-form input:focus,.exercise-form textarea:focus,.exercise-status-control select:focus,.workspace-form input:focus,.workspace-form select:focus{border-color:var(--accent);outline:3px solid rgb(49 87 213/14%)}.exercise-form-row{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.exercise-form-row>div{display:grid;min-width:0;grid-gap:.75rem;gap:.75rem}.exercise-form>button,.workspace-form>button{justify-self:start}.exercise-detail-heading h1{font-size:clamp(2rem,5vw,2.75rem)}.exercise-status-control{display:grid;width:min(100%,10rem);flex:0 0 auto;grid-gap:.45rem;gap:.45rem}.exercise-tabs{display:flex;min-width:0;gap:.35rem;margin-top:2rem;padding:.3rem;overflow-x:auto;border:1px solid var(--border);border-radius:.8rem;background:#f3f5f8}.exercise-tabs button{min-width:max-content;min-height:2.55rem;flex:1 0 auto;padding:.55rem .85rem;background:transparent;box-shadow:none;color:#526077;font-size:.88rem}.exercise-tabs button[aria-selected=true]{background:#fff;box-shadow:0 .2rem .7rem rgb(23 32 51/8%);color:var(--accent)}.exercise-panel{min-width:0;margin-top:1.5rem}.exercise-ai-panel,.exercise-section{min-width:0;padding:clamp(1.25rem,4vw,1.75rem);border:1px solid var(--border);border-radius:1rem;background:#fff}.exercise-section+.exercise-section{margin-top:1rem}.exercise-section-heading{align-items:center}.exercise-section-heading h2{margin:0;font-size:1.3rem;letter-spacing:-.02em}.compact-button,.compact-link{min-height:2.45rem;flex:0 0 auto;padding:.55rem .8rem;font-size:.84rem}.exercise-edit-form,.workspace-form{margin-top:1.5rem}.exercise-metadata{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0;gap:0;margin:1.5rem 0 0;border-block:1px solid var(--border)}.exercise-metadata>div{min-width:0;padding:1rem}.exercise-metadata>div:first-child{padding-left:0}.exercise-metadata dd{margin:.45rem 0 0;overflow-wrap:anywhere}.exercise-prompt{margin:1.5rem 0 0;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.workspace-current{display:grid;min-width:0;grid-gap:.45rem;gap:.45rem;margin-top:1.25rem;padding:1rem;border-radius:.8rem;background:#f5f7fb}.workspace-current span{color:var(--accent);font-size:.78rem;font-weight:700}.workspace-current code{min-width:0;color:#27344d;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.exercise-ai-panel{background:#fbfcff}.exercise-guide-actions{display:grid;flex:0 0 auto;justify-items:end;grid-gap:.45rem;gap:.45rem}.exercise-guide-actions span{color:#69758a;font-size:.76rem;line-height:1.35}.exercise-guide-sections{display:grid;min-width:0;grid-gap:.85rem;gap:.85rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.exercise-guide-section{min-width:0;padding:clamp(1rem,3vw,1.25rem);border:1px solid #dfe4ed;border-radius:.85rem;background:#fff}.exercise-guide-section-concepts{border-color:#ced8f6;background:#fafbff}.exercise-guide-section h3{margin:0;color:#202d45;font-size:1.05rem;letter-spacing:-.015em;line-height:1.35;overflow-wrap:anywhere}.exercise-guide-intro{margin:.65rem 0 0;color:#4f5b70;line-height:1.65;overflow-wrap:anywhere}.exercise-guide-concepts{display:grid;min-width:0;grid-gap:0;gap:0;margin:.85rem 0 0}.exercise-guide-concepts>div{display:grid;min-width:0;grid-template-columns:minmax(7rem,.3fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;padding:.75rem 0;border-top:1px solid #e2e7f2}.exercise-guide-concepts dt{color:var(--accent);font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.exercise-guide-concepts dd{margin:0;color:#536078;line-height:1.55;overflow-wrap:anywhere}.exercise-guide-bullets{display:grid;min-width:0;grid-gap:.65rem;gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none}.exercise-guide-bullets li{display:grid;min-width:0;grid-template-columns:.45rem minmax(0,1fr);grid-column-gap:.65rem;column-gap:.65rem;color:#4f5b70;line-height:1.55}.exercise-guide-bullets li:before{width:.38rem;height:.38rem;margin-top:.58rem;border-radius:50%;background:var(--accent);content:""}.exercise-guide-bullets span,.exercise-guide-bullets strong{grid-column:2;overflow-wrap:anywhere}.exercise-guide-bullets strong{color:#2c3951;font-size:.9rem}.exercise-guide-legacy{min-width:0;margin-top:1.5rem;padding:1.25rem;border:1px solid #dfe4ed;border-radius:.85rem;background:#fff;color:#4f5b70;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.exercise-guide-legacy-label{margin:0 0 .65rem;color:#7a8496;font-size:.75rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.exercise-tab-empty{margin-top:1.5rem}.exercise-steps-list{display:grid;min-width:0;grid-gap:.9rem;gap:.9rem;margin:1.5rem 0 0;padding:1.25rem 0 0 2.5rem;border-top:1px solid var(--border)}.exercise-steps-list li{padding-left:.35rem;line-height:1.65;overflow-wrap:anywhere}.exercise-steps-list li::marker{color:var(--accent);font-weight:800}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.database-connected{color:#087443}.database-disconnected{color:#b42318}.database-checking{color:#556176}@media (max-width:36rem){.auth-shell,.dashboard-shell,.flow-shell{padding:1rem}.account-card,.auth-card,.dashboard-card,.flow-card{padding:1.5rem}.language-lesson-shell{padding:.75rem}.language-lesson-card{padding:1.25rem;border-radius:1.1rem}h1{font-size:2rem;line-height:1.08}.dashboard-header{align-items:stretch;flex-direction:column}.account-link,.competition-form>button,.journey-form>button,.journey-heading .primary-link,.secondary-button{width:100%}.choice-grid,.module-grid{grid-template-columns:1fr}.architect-project-card,.exercise-detail-heading,.exercise-list-card,.exercise-section-heading,.exercises-heading,.idea-list-card,.journey-heading,.language-heading,.language-list-card{align-items:stretch;flex-direction:column}.exercise-form>button,.exercise-guide-actions,.exercise-guide-actions>button,.exercise-section-heading>a,.exercise-section-heading>button,.exercises-heading .primary-link,.workspace-form>button{width:100%}.account-facts>div{grid-template-columns:1fr;gap:.35rem}.account-facts dd{text-align:left}.account-form>button{width:100%}.exercise-guide-actions{justify-items:stretch}.exercise-guide-actions span{text-align:center}.exercise-guide-concepts>div{grid-template-columns:1fr;gap:.3rem}.exercise-status-control{width:100%}.exercise-form-row,.exercise-metadata{grid-template-columns:1fr}.exercise-metadata>div{padding:.9rem 0;border-bottom:1px solid var(--border)}.exercise-metadata>div:last-child{border-bottom:0}.language-form>button,.language-heading .primary-link,.language-heading>button,.lesson-create-launch>button,.lesson-form>button{width:100%}.lesson-create-form{padding:1rem}.lesson-source-options{grid-template-columns:1fr}.lesson-create-actions{align-items:stretch;flex-direction:column}.lesson-create-actions>button{width:100%}.lesson-filter-button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 0.55rem)}.lesson-learning-progress,.lesson-learning-progress-field,.lesson-regenerate-button,.lesson-regeneration-action,.lesson-simplify-button,.lesson-version-selector{width:100%}.lesson-learning-progress-field>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-learning-progress-field button{width:100%;padding-inline:.45rem}.lesson-audio-rate-control,.lesson-story-voice-control{justify-content:space-between}.lesson-section-header{align-items:flex-start;flex-wrap:wrap}.lesson-section-actions{width:100%;max-width:100%;justify-content:flex-start}.lesson-section-actions .lesson-audio-error{text-align:left}.lesson-dialogue-play-button,.lesson-story-download-button{flex:1 1 auto}.lesson-section{padding:1.1rem}.lesson-section-content{margin-top:1rem}.lesson-review-grid{grid-template-columns:1fr}.lesson-delete-button,.lesson-footer-actions{width:100%}.language-list-card time{text-align:left}.architect-project-open{align-self:flex-start}.journey-heading .primary-link{align-self:stretch}.idea-card-meta{text-align:left}.idea-source{grid-template-columns:1fr}.idea-source>div+div{border-top:1px solid var(--border)}.composer-actions{align-items:stretch;flex-direction:column}.empty-state{padding:1.5rem}.feed-composer,.feed-entry{padding:1rem}.entry-actions{flex-wrap:wrap}}@media (max-width:24rem){.status-list>div{align-items:flex-start;flex-direction:column}.status-list dd{text-align:left}}