.app-width{max-width:76rem;padding-block:1rem 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-top,.app-top>div,.app-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem}.app-top{justify-content:space-between;margin-bottom:1.5rem}.app-top>div{gap:.25rem 1rem}.app-top a,.app-top button,.app-save button{display:inline-flex;align-items:center;min-height:44px}.app-top button,.app-save button{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:.2em;padding:.25rem .5rem}.app-top .app-top-account{display:none}.app-layout{display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:3rem;align-items:start}.app-main{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{min-height:44px;color:var(--muted);font-size:var(--small);display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.5rem}.app-save:empty{min-height:0;margin:0}.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-book{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-progress 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{background:var(--surface)}.app-progress progress::-webkit-progress-value{background:var(--brand-ink);border-radius:999px}.app-progress 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-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-block:1.5rem}.app-summary ul{list-style:none}.app-summary li+li{margin-top:.5rem}.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 a{display:flex;flex-direction:column;gap:.25rem;text-decoration:none}.app-links a:hover .app-strong{text-decoration:underline;text-underline-offset:.2em}.app-links li{padding-block:0}.app-links a{padding-block:1rem}.app-login{max-width:32rem;margin:1rem auto 3rem}.app-login>*+*{margin-top:1rem}.app-login form{display:flex;flex-direction:column;gap:.75rem}.app-login label{font-weight:600}.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-back{display:inline-flex;min-height:44px;align-items:center;margin-top:2rem}.app-danger{color:var(--ink)}.app-skeleton{height:10rem;margin-top:2rem;background:var(--surface);border-radius:10px}.app-actions .assessment-secondary,.app-book .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-top .app-top-account{display:inline-flex}.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 li[data-nav-item=account]{display:none}.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-summary{grid-template-columns:1fr;gap:1.5rem}.app-actions{align-items:stretch;flex-direction:column}.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{transition:none}}
