.app-width{max-width:76rem;padding-block:2rem 4rem}.learner-app h1{font-size:2rem;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}.learner-app h2{font-size:1.375rem;line-height:1.3;text-wrap:balance}.learner-app h3{font-size:1.0625rem;line-height:1.4}.learner-app h4{font-size:1rem}.learner-app section>*+*,.app-panel>*+*,.app-feedback>*+*,.app-feedback div>*+*{margin-top:.75rem}.learner-app p{max-width:68ch;overflow-wrap:anywhere;text-wrap:pretty}.app-strong{color:var(--ink);font-weight:650}.app-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem}.app-top{display:flex;justify-content:flex-end}.app-save button{display:inline-flex;align-items:center;min-height:44px}.app-language{appearance:none;min-height:40px;max-width:11rem;padding:0 1.9rem 0 .85rem;border:0;border-radius:99px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='m2 3.5 3 3 3-3' fill='none' stroke='%23120f0b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .8rem center;color:var(--ink);font:inherit;font-size:var(--small);font-weight:600;text-overflow:ellipsis;cursor:pointer;transition:background-color .16s ease}.app-language:hover{background-color:var(--line)}.app-language:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app-save button{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:.2em;padding:.25rem .5rem}@media(max-width:380px){.app-top .app-language{max-width:8.5rem}}.app-user{position:relative}.app-user-button{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;padding:0 .5rem 0 .25rem;border:0;border-radius:99px;background:none;color:var(--ink);cursor:pointer;transition:background-color .15s var(--ease)}.app-user-button:hover,.app-user-button[aria-expanded=true]{background:var(--surface)}.app-user-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app-avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--brand);color:var(--ink);font-size:.9375rem;font-weight:650;line-height:1}.app-user-chevron{width:10px;height:10px;transition:transform .15s var(--ease)}.app-user-button[aria-expanded=true] .app-user-chevron{transform:rotate(180deg)}.app-user-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:var(--z-focus);width:min(18rem,calc(100vw - 2rem));padding:.5rem;border-radius:16px;background:var(--white);box-shadow:0 0 0 1px #120f0b14,0 24px 48px -20px #120f0b59}.app-user-who{padding:.5rem .75rem .75rem;margin-bottom:.25rem;border-bottom:1px solid var(--line)}.app-user-who .small{color:var(--muted)}.app-user-who .app-strong{overflow-wrap:anywhere}.app-user-item{display:flex;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:0 .75rem;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:var(--small);font-weight:550;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .15s var(--ease)}.app-user-item:hover{background:var(--surface)}.app-user-item[aria-current=page]{background:oklch(.86 .15 80 / .3);font-weight:650}.app-user-item svg{width:18px;height:18px}.app-user-item:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.app-user-language{padding:.5rem .75rem .75rem}.app-user-language label{margin-bottom:.375rem;color:var(--muted);font-size:var(--small);font-weight:550}.app-user-language .app-language{width:100%;max-width:none}.app-user-signout{margin-top:.25rem;border-top:1px solid var(--line);border-radius:0 0 10px 10px}.app-layout{display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:3rem;align-items:start}.app-main{position:relative;min-width:0}.app-nav{position:sticky;top:1.5rem}.app-nav ul{list-style:none;display:flex;flex-direction:column;gap:.25rem}.app-nav a{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.5rem .75rem;border-radius:10px;color:var(--text);font-weight:550;text-decoration:none;transition:background-color .15s var(--ease),color .15s var(--ease)}.app-nav a:hover{background:var(--surface);color:var(--ink)}.app-nav a[aria-current=page]{background:var(--brand);color:var(--ink);font-weight:650}.app-nav svg{width:20px;height:20px;flex-shrink:0}.app-save{position:absolute;top:-1.75rem;right:0;display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:var(--small);line-height:1.5}.app-save[data-state=error]{position:static;flex-wrap:wrap;margin-bottom:1.5rem;padding:.5rem 1rem;border-radius:10px;background:var(--surface);color:var(--ink)}.app-notice{background:var(--surface);padding:1rem;margin-bottom:1rem;border-radius:10px}.app-view>*+*{margin-top:2.5rem}.app-view>.app-columns,.app-view>.app-progress,.app-view>.app-lesson{margin-top:1.5rem}.app-view-head p{margin-top:.5rem;color:var(--muted)}.app-view-head h1:focus{outline:none}.app-panel{border:1px solid var(--line);border-radius:16px;padding:1.5rem}.app-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.5rem}.app-panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.app-more{display:inline-block}.app-lesson{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}.app-lesson>*+*{margin-top:0}.app-lesson>div>*+*{margin-top:.25rem}.app-lesson .assessment-secondary{display:inline-flex;align-items:center;text-decoration:none}[data-assessment] progress{margin:0 0 2rem}.app-progress progress,[data-assessment] progress{display:block;width:100%;height:8px;appearance:none;border:0;border-radius:999px;background:var(--surface);overflow:hidden}.app-progress progress::-webkit-progress-bar,[data-assessment] progress::-webkit-progress-bar{background:var(--surface)}.app-progress progress::-webkit-progress-value,[data-assessment] progress::-webkit-progress-value{background:var(--brand-ink);border-radius:999px}.app-progress progress::-moz-progress-bar,[data-assessment] progress::-moz-progress-bar{background:var(--brand-ink)}.app-progress .button{margin-top:1.25rem}.app-count{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.app-block{border-top:1px solid var(--line);padding-top:2rem}.app-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.5rem;min-height:3.5rem;border:1px solid var(--line);border-radius:12px;line-height:1.1;font-variant-numeric:tabular-nums}.app-date span{font-size:.8125rem;color:var(--muted)}.app-date strong{font-size:1.375rem;color:var(--ink)}.app-event-line{display:flex;align-items:center;gap:1rem}.app-list{list-style:none}.app-list>li{border-top:1px solid var(--line);padding-block:1.25rem}.app-agenda>li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 1.25rem;align-items:center}.app-agenda .button{min-height:44px;padding:.625rem 1rem;font-size:var(--small)}.app-table{width:100%;max-width:44rem;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-block:1rem .5rem}.app-table th,.app-table td{padding:.625rem .75rem .625rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:bottom}.app-table thead th{color:var(--muted);font-size:var(--small);font-weight:600;line-height:1.3}.app-table tbody th{width:3.5rem;color:var(--ink);font-weight:650}.app-table td{color:var(--ink)}.app-table td.app-cell-muted{color:var(--muted)}.app-feedback{background:var(--surface);border-radius:16px;padding:1.5rem}.app-clips>li>*+*{margin-top:.75rem}.app-clips audio{display:block;width:100%;max-width:32rem}.app-clips summary{cursor:pointer;display:list-item;padding-block:.625rem;width:fit-content}.app-clips details p{color:var(--ink)}.app-locked{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.5rem}.app-locked li{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:10px;background:var(--surface);color:var(--muted);font-size:var(--small);font-variant-numeric:tabular-nums}.app-locked svg{width:16px;height:16px;flex-shrink:0}.app-links li{padding-block:0}.app-links a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem;text-decoration:none}.app-links a>span{display:flex;flex-direction:column;gap:.25rem}.app-links svg{width:20px;height:20px;color:var(--muted);transition:transform .15s var(--ease),color .15s var(--ease)}.app-links a:hover .app-strong{text-decoration:underline;text-underline-offset:.2em}.app-links a:hover svg{color:var(--ink);transform:translate(2px)}.app-login{max-width:32rem;margin:1rem auto 3rem}.app-login>*+*{margin-top:1rem}.app-login form{display:flex;flex-direction:column;gap:.5rem}.app-login label{margin:0;font-weight:600}.app-login form .button{margin-top:.5rem}.app-login input{width:100%;min-height:52px;padding:.75rem;border:1px solid var(--control-line);border-radius:10px;background:var(--white);color:var(--ink)}.app-danger{min-height:44px;margin-left:auto;padding:0 .25rem;border:0;background:none;color:var(--danger);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.app-danger:hover{text-decoration-thickness:2px}.app-details summary{display:list-item;width:fit-content;padding-block:.625rem;color:var(--ink);font-weight:600;cursor:pointer}.app-bullets{max-width:68ch;margin-top:.5rem;padding-left:1.25rem}.app-bullets li+li{margin-top:.5rem}.app-skeleton{height:10rem;margin-top:2rem;background:var(--surface);border-radius:10px}.app-actions .assessment-secondary{display:inline-flex;align-items:center;text-decoration:none}.app-main .assessment-app{margin-inline:0}@media(max-width:899px){.app-layout{grid-template-columns:minmax(0,1fr);gap:0}.app-nav{position:fixed;inset:auto 0 0;z-index:20;background:var(--white);border-top:1px solid var(--line);padding:.375rem .5rem calc(.375rem + env(safe-area-inset-bottom))}.app-nav ul{flex-direction:row;gap:0}.app-nav li{flex:1 1 auto;min-width:0}.app-nav a{flex-direction:column;justify-content:center;gap:.25rem;min-height:56px;padding:.25rem;font-size:.75rem;text-align:center}.app-nav a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav a[aria-current=page]{background:none}.app-nav a[aria-current=page] svg{box-sizing:content-box;padding:2px 14px;border-radius:999px;background:var(--brand)}body:has(.app-dashboard){padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}@media(max-width:650px){.learner-app h1{font-size:1.75rem}.app-actions{align-items:stretch;flex-direction:column}.app-danger{margin-left:0;align-self:flex-start}.app-panel,.app-feedback{padding:1.25rem}.app-agenda>li{grid-template-columns:auto minmax(0,1fr)}.app-agenda>li>.button,.app-agenda>li>span{grid-column:1 / -1;justify-content:center}}@media(prefers-reduced-motion:reduce){.app-nav a,.app-links svg,.app-user-button,.app-user-chevron,.app-user-item{transition:none}}
