:root{--color-canvas:#f7faf6;--color-surface:#fff;--color-ink:#17373b;--color-muted:#5e706b;--color-line:#dce6e0;--color-accent:#d5f05f;--color-teal:#147f79;--font-display:"Songti SC", "STSong", Georgia, serif;--font-body:"PingFang SC", "Noto Sans SC", sans-serif;--content-max:1180px;--color-teal-deep:#0d5754;--color-teal-wash:#e6f0ec;--color-accent-soft:#edf8bd;--shadow-soft:0 24px 80px #17373b14;--radius-small:.625rem;--radius-medium:1.25rem;--radius-large:2rem}.app-shell{min-height:100svh}.skip-link{z-index:100;border-radius:var(--radius-small);color:var(--color-surface);background:var(--color-ink);padding:.75rem 1rem;transition:transform .16s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-header{z-index:20;width:min(calc(100% - 3rem), var(--content-max));border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;min-height:5.75rem;margin:0 auto;display:flex;position:relative}.wordmark{min-height:2.75rem;color:var(--color-ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.wordmark__mark{aspect-ratio:1;width:2.4rem;color:var(--color-ink);background:var(--color-accent);letter-spacing:.09em;border-radius:50%;place-items:center;font-size:.68rem;font-weight:700;display:grid}.wordmark strong,.wordmark small{display:block}.wordmark strong{font-family:var(--font-display);letter-spacing:.01em;font-size:1.08rem;font-weight:700}.wordmark small{color:var(--color-muted);letter-spacing:.08em;margin-top:.06rem;font-size:.68rem}.user-menu{position:relative}.user-menu summary{cursor:pointer;border-radius:999px;align-items:center;gap:.65rem;min-height:2.75rem;padding:.25rem;list-style:none;display:flex}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:focus-visible,.primary-nav__link:focus-visible,.wordmark:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.user-menu__avatar{aspect-ratio:1;border:1px solid var(--color-line);background:var(--color-surface);width:2.25rem;font-family:var(--font-display);border-radius:50%;place-items:center;display:grid}.user-menu__identity strong,.user-menu__identity small{text-align:left;display:block}.user-menu__identity strong{font-size:.8rem;font-weight:600}.user-menu__identity small{color:var(--color-muted);margin-top:.1rem;font-size:.65rem}.user-menu__panel{border:1px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface);width:12rem;box-shadow:var(--shadow-soft);padding:1rem;position:absolute;top:calc(100% + .65rem);right:0}.user-menu__panel p{color:var(--color-muted);margin:0 0 .65rem;font-size:.72rem}.user-menu__panel a{min-height:2.75rem;color:var(--color-teal);align-items:center;font-size:.82rem;font-weight:600;display:flex}.logout-control{position:relative}.logout-button{border:1px solid var(--color-line);border-radius:var(--radius-small);min-height:2.75rem;color:var(--color-teal-deep);cursor:pointer;font:inherit;background:0 0;padding:.45rem .7rem;font-size:.72rem;font-weight:650}.logout-button:hover:not(:disabled){border-color:var(--color-ink);color:var(--color-ink)}.logout-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.logout-button:disabled{cursor:wait;opacity:.7}.logout-error{z-index:1;color:#7b3024;background:#fff3ef;border:1px solid #a84736;width:max-content;max-width:15rem;margin:.35rem 0 0;padding:.5rem .65rem;font-size:.68rem;line-height:1.5;position:absolute;right:0}.primary-nav{z-index:10;width:min(calc(100% - 3rem), var(--content-max));margin:0 auto;position:relative}.primary-nav--mobile{display:none}.primary-nav__track{border-bottom:1px solid var(--color-line);align-items:center;gap:2.25rem;min-height:4.35rem;display:flex}.primary-nav__link{min-height:4.35rem;color:var(--color-muted);align-items:baseline;gap:.45rem;font-size:.84rem;font-weight:600;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex;position:relative}.primary-nav__link:after{background:var(--color-teal);content:"";opacity:0;height:2px;transition:opacity .15s,transform .15s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(.25)}.primary-nav__link:hover{color:var(--color-ink);transform:translateY(-1px)}.primary-nav__link[aria-current=page]{color:var(--color-ink)}.primary-nav__link[aria-current=page]:after{opacity:1;transform:scaleX(1)}.primary-nav__index{color:var(--color-teal-deep);letter-spacing:.03em;font-family:Georgia,serif;font-size:.61rem}.app-main{width:min(calc(100% - 3rem), var(--content-max));outline:none;margin:0 auto}.welcome-grid{grid-template-columns:minmax(0,1.25fr) minmax(19rem,.75fr);align-items:end;gap:clamp(3rem,8vw,8.5rem);min-height:calc(100svh - 12rem);padding:clamp(4.5rem,9vh,7.5rem) 0 5rem;display:grid}.hero-copy{max-width:44rem;animation:.56s ease-out both reveal-up}.eyebrow{color:var(--color-teal);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.8rem;margin:0 0 2rem;font-family:Georgia,serif;font-size:.7rem;display:flex}.eyebrow:before{background:var(--color-teal);content:"";width:2rem;height:1px}.display-heading{width:100%;container-type:inline-size}.display-heading>[data-display-heading-line]{white-space:nowrap;width:max-content;max-width:100%;font-size:min(1em, var(--display-heading-fit));display:block}@supports not (font-size:1cqi){@media (max-width:800px){.display-heading[data-heading-density=regular]>[data-display-heading-line]{font-size:.9em}.display-heading[data-heading-density=medium]>[data-display-heading-line]{font-size:.7em}.display-heading[data-heading-density=dense]>[data-display-heading-line]{font-size:.55em}}}.hero-title{font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(3.25rem,7.3vw,6.6rem);font-weight:700;line-height:.98}.hero-title span{display:block}.hero-title span:last-child{color:var(--color-teal-deep)}.hero-lede{max-width:35rem;color:var(--color-muted);margin:2.2rem 0 0;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.9}.training-spec{border-top:1px solid var(--color-line);grid-template-columns:repeat(3,1fr);max-width:36rem;margin:3rem 0 0;padding:1.25rem 0 0;display:grid}.training-spec div{padding-right:1.25rem}.training-spec dt{color:var(--color-muted);letter-spacing:.08em;margin-bottom:.45rem;font-size:.65rem}.training-spec dd{font-family:var(--font-display);margin:0;font-size:1rem;font-weight:700}.field-card{border-radius:var(--radius-large) var(--radius-large) 0 var(--radius-large);background:linear-gradient(145deg, #fffffff5, #e6f0ecd1), var(--color-surface);box-shadow:var(--shadow-soft);border:1px solid #147f792e;padding:clamp(1.75rem,3vw,2.6rem);animation:.56s ease-out .12s both reveal-up;position:relative;overflow:hidden}.field-card:before{aspect-ratio:1;content:"";border:2.6rem solid #d5f05f9e;border-radius:50%;width:11rem;position:absolute;top:-5.5rem;right:-5.5rem}.field-card__header{color:var(--color-teal);letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:4.5rem;font-family:Georgia,serif;font-size:.68rem;display:flex;position:relative}.field-card__signal{aspect-ratio:1;background:var(--color-accent);border-radius:50%;width:.65rem;box-shadow:0 0 0 5px #d5f05f33}.field-card blockquote{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.28;position:relative}.field-card__translation{color:var(--color-muted);margin:1rem 0 2.25rem;font-size:.82rem;line-height:1.7}.field-card__sequence{border-top:1px solid var(--color-line);flex-wrap:wrap;gap:.5rem;margin:0;padding:1.25rem 0 0;list-style:none;display:flex}.field-card__sequence li{color:var(--color-teal-deep);background:var(--color-teal-wash);letter-spacing:.05em;border-radius:999px;padding:.42rem .66rem;font-family:Georgia,serif;font-size:.65rem}.route-placeholder{align-content:center;max-width:48rem;min-height:calc(100svh - 10.1rem);padding:clamp(4rem,10vw,8rem) 0;animation:.42s ease-out both reveal-up;display:grid}.route-placeholder h1{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,7vw,6rem);line-height:1}.route-placeholder>p:not(.eyebrow){max-width:36rem;color:var(--color-muted);margin:1.75rem 0 2rem;font-size:1.06rem;line-height:1.9}.route-placeholder>span{width:fit-content;color:var(--color-teal-deep);background:var(--color-accent-soft);border-radius:999px;padding:.55rem .8rem;font-size:.72rem}.roadmap-page{padding:clamp(3.5rem,7vw,6.8rem) 0 7rem;animation:.46s ease-out both reveal-up}.roadmap-hero{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1.2fr) minmax(18rem,.75fr);align-items:end;gap:clamp(3rem,8vw,8rem);padding-bottom:clamp(3rem,6vw,5.5rem);display:grid}.roadmap-hero h1,.roadmap-loading h1{max-width:48rem;font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,6.5vw,6.4rem);line-height:.98}.roadmap-hero h1 [data-accent=true]{color:var(--color-teal-deep);display:block}.roadmap-hero>div>p:last-child{max-width:39rem;color:var(--color-muted);margin:2rem 0 0;line-height:1.9}.roadmap-hero dl{border-top:1px solid var(--color-ink);margin:0}.roadmap-hero dl div{border-bottom:1px solid var(--color-line);padding:1.1rem 0}.roadmap-hero dt,.roadmap-stages__index span,.roadmap-stages__checkpoint strong{color:var(--color-muted);letter-spacing:.07em;font-size:.68rem}.roadmap-hero dd{font-family:var(--font-display);overflow-wrap:anywhere;margin:.4rem 0 0;font-size:1.18rem}.roadmap-baseline{background:var(--color-teal-wash);border:1px solid #147f794d;justify-content:space-between;align-items:end;gap:2rem;margin:clamp(2.5rem,5vw,4rem) 0;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.roadmap-baseline .section-index{color:var(--color-teal-deep);margin:0 0 .7rem;font-weight:600}.roadmap-baseline h2{font-family:var(--font-display);margin:0;font-size:clamp(1.7rem,3vw,2.5rem)}.roadmap-baseline p:last-child{max-width:38rem;color:var(--color-muted);margin:.75rem 0 0;line-height:1.7}.roadmap-baseline a,.roadmap-loading a{min-height:2.75rem;color:var(--color-ink);background:var(--color-accent);white-space:nowrap;align-items:center;padding:0 .9rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.roadmap-stages{border-top:1px solid var(--color-ink);margin:clamp(3rem,7vw,6rem) 0 0;padding:0;list-style:none}.roadmap-stages>li{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(8rem,.28fr) minmax(0,1fr);gap:clamp(1.5rem,6vw,5rem);padding:clamp(1.75rem,4vw,3rem) 0;display:grid}.roadmap-stages__index{align-content:start;gap:.5rem;display:grid}.roadmap-stages__index strong{color:var(--color-teal-deep);font-family:Georgia,serif;font-size:.82rem;font-weight:400}.roadmap-stages__title{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.roadmap-stages h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.65rem,3.2vw,2.8rem)}.roadmap-stages__title>span{border:1px solid var(--color-line);color:var(--color-muted);white-space:nowrap;padding:.25rem .55rem;font-size:.67rem}.roadmap-stages__body>p{max-width:43rem;color:var(--color-muted);margin:1rem 0 1.5rem;line-height:1.8}.roadmap-stages__checkpoint{border-left:2px solid var(--color-teal);background:#e6f0ec8c;gap:.45rem;padding:1rem 1.1rem;font-size:.8rem;line-height:1.65;display:grid}.roadmap-stages__checkpoint small{color:var(--color-teal-deep);font-size:.7rem}.roadmap-stages>li[data-state=current]{background:linear-gradient(90deg,#edf8bd8a,#0000 72%)}.roadmap-stages>li[data-state=current] .roadmap-stages__title>span{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-accent)}.roadmap-stages>li[data-state=complete] .roadmap-stages__title>span{border-color:var(--color-teal);color:var(--color-teal-deep)}.roadmap-stages>li[data-state=locked]{opacity:.7}.roadmap-loading{min-height:calc(100svh - 10.1rem);padding:clamp(4rem,10vw,8rem) 0}.roadmap-loading>p:not(.eyebrow){max-width:34rem;color:var(--color-muted);line-height:1.8}@keyframes reveal-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.app-header{width:min(calc(100% - 2rem), var(--content-max));min-height:4.8rem}.wordmark small,.user-menu__identity{display:none}.wordmark strong{font-size:.95rem}.roadmap-hero,.roadmap-stages>li{grid-template-columns:1fr}.roadmap-hero{gap:2.5rem}.roadmap-baseline{flex-direction:column;align-items:stretch}.roadmap-baseline a{justify-content:center}.primary-nav--desktop{display:none}.primary-nav--mobile{z-index:50;width:100%;padding:0 0 max(.35rem, env(safe-area-inset-bottom));border-top:1px solid var(--color-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;display:block;position:fixed;bottom:0;left:0;right:0}.primary-nav--mobile .primary-nav__track{border-bottom:0;justify-content:space-around;gap:0;min-height:4.6rem}.primary-nav--mobile .primary-nav__link{flex-direction:column;flex:1;justify-content:center;gap:.2rem;min-width:0;min-height:4.6rem;font-size:.7rem;line-height:1}.primary-nav--mobile .primary-nav__link:after{inset:-1px 28% auto}.primary-nav-mobile__mark{width:1.8rem;height:1.8rem;color:var(--color-teal-deep);border:1px solid #0000;border-radius:999px;place-items:center;font-family:Georgia,serif;font-size:.68rem;transition:color .15s,background .15s,border-color .15s;display:grid}.primary-nav-mobile__link[aria-current=page] .primary-nav-mobile__mark{border-color:var(--color-teal);background:var(--color-mist)}.primary-nav--mobile .primary-nav-mobile__link--primary{color:var(--color-ink);padding-bottom:.2rem;transform:translateY(-.55rem)}.primary-nav--mobile .primary-nav-mobile__link--primary:hover{transform:translateY(-.65rem)}.primary-nav-mobile__link--primary .primary-nav-mobile__mark{border-color:var(--color-teal-deep);background:var(--color-ink);color:#fff;width:3.25rem;height:3.25rem;font-size:.82rem;box-shadow:0 .7rem 1.7rem #103a3d2e}.primary-nav-mobile__link--primary[aria-current=page] .primary-nav-mobile__mark{border-color:var(--color-lime);background:var(--color-ink)}.primary-nav-mobile__link--primary:after{display:none}.app-main{width:min(calc(100% - 2rem), var(--content-max));padding-bottom:calc(5.7rem + env(safe-area-inset-bottom))}.welcome-grid{grid-template-columns:1fr;gap:3rem;min-height:auto;padding:3.5rem 0 7rem}.hero-title{font-size:clamp(3.05rem,15vw,5rem)}.hero-lede{margin-top:1.5rem}.training-spec{margin-top:2.25rem}.training-spec div{padding-right:.5rem}.training-spec dd{font-size:.82rem}.field-card__header{margin-bottom:3.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-page{background:linear-gradient(135deg, #d5f05f1f, transparent 42%), var(--color-canvas);place-items:center;min-height:100svh;padding:clamp(1.25rem,4vw,4rem);display:grid}.auth-card{border:1px solid var(--color-line);background:var(--color-surface);width:min(100%,32rem);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 1.5rem 4rem #17373b14}.auth-wordmark{min-height:2.75rem;color:var(--color-ink);letter-spacing:-.03em;align-items:center;margin-bottom:3rem;font-weight:750;text-decoration:none;display:inline-flex}.auth-card h1{font-family:var(--font-display);margin:.55rem 0 .75rem;font-size:clamp(2rem,7vw,3.4rem);line-height:1.05}.auth-card__lede,.auth-card__footer,.auth-form__hint{color:var(--color-muted)}.auth-form{gap:1rem;margin-top:2rem;display:grid}.auth-form label{color:var(--color-ink);gap:.45rem;font-weight:650;display:grid}.auth-form input{border:1px solid var(--color-line);background:var(--color-surface);min-height:3rem;color:var(--color-ink);font:inherit;border-radius:.25rem;padding:.7rem .8rem}.auth-form input:focus-visible{outline:3px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.auth-form input:focus-visible{outline:3px solid color-mix(in srgb, var(--color-accent) 75%, white)}}.auth-form input:focus-visible{outline-offset:2px;border-color:var(--color-teal)}.auth-form .auth-form__remember{cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.75rem;min-height:2.75rem}.auth-form .auth-form__remember input{width:1.25rem;height:1.25rem;min-height:1.25rem;accent-color:var(--color-teal);margin:.1rem 0 0;padding:0}.auth-form__remember span{gap:.2rem;display:grid}.auth-form__remember small{color:var(--color-muted);font-size:.8rem;font-weight:450;line-height:1.4}.auth-form button{border:1px solid var(--color-ink);background:var(--color-ink);color:#fff;min-height:3.2rem;font:inherit;cursor:pointer;border-radius:.25rem;margin-top:.5rem;font-weight:720}.auth-form button:disabled{cursor:wait;opacity:.65}.auth-form__error{color:#7f211d;background:#fff4f2;border-inline-start:3px solid #a63a35;margin:0;padding:.75rem}.auth-form__hint{margin:-.45rem 0 0;font-size:.85rem}.auth-card__footer{margin:1.5rem 0 0;font-size:.9rem}.auth-card__footer a{align-items:center;min-height:2.75rem;display:inline-flex}.today-page{padding:clamp(2rem,4vw,3.5rem) 0 6rem;animation:.48s ease-out both reveal-up}.today-hero{border:1px solid var(--color-line);border-radius:var(--radius-large) var(--radius-large) 0 var(--radius-large);min-height:31rem;box-shadow:var(--shadow-soft);background:radial-gradient(circle at 86% 12%,#d5f05f5c 0 8rem,#0000 8.1rem),linear-gradient(135deg,#fffffffa,#e6f0ec94);grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);display:grid;position:relative;overflow:hidden}.today-hero:after{content:"";border:1px solid #147f7926;border-radius:50%;width:10rem;height:10rem;position:absolute;bottom:-4rem;right:34%}.today-hero__copy{flex-direction:column;align-items:flex-start;padding:clamp(2rem,5vw,4.5rem);display:flex}.today-hero__copy .eyebrow{margin-bottom:auto}.today-hero__day{color:var(--color-teal);letter-spacing:.17em;text-transform:uppercase;margin:3.5rem 0 .7rem;font-family:Georgia,serif;font-size:.73rem;font-weight:700}.today-hero__day span{color:var(--color-muted)}.today-hero h1{max-width:38rem;font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(3rem,6vw,5.7rem);line-height:.98}.today-hero__brief{max-width:34rem;color:var(--color-muted);margin:1.5rem 0 2.2rem;font-size:.98rem;line-height:1.8}.today-start{border:1px solid var(--color-ink);min-width:13.5rem;min-height:3.4rem;color:var(--color-surface);background:var(--color-ink);border-radius:999px;justify-content:space-between;align-items:center;gap:2.5rem;padding:.75rem 1rem .75rem 1.25rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .16s,background .16s;display:inline-flex}.today-start:hover{background:var(--color-teal-deep);transform:translateY(-2px)}.today-start span:last-child{aspect-ratio:1;width:2rem;color:var(--color-ink);background:var(--color-accent);border-radius:50%;place-items:center;display:grid}.today-metrics{z-index:1;border-left:1px solid var(--color-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff7a;grid-template-rows:repeat(3,1fr);margin:0;padding:1.2rem;display:grid;position:relative}.today-metrics div{border-bottom:1px solid var(--color-line);flex-direction:column;justify-content:center;padding:1.4rem 1.6rem;display:flex}.today-metrics div:last-child{border-bottom:0}.today-metrics dt{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.65rem;font-family:Georgia,serif;font-size:.62rem}.today-metrics dd{font-family:var(--font-display);margin:0;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:700}.today-metrics__note{color:var(--color-muted);font-size:.7rem;font-family:var(--font-body);margin-top:.4rem;font-weight:400}.week-strip{border-top:1px solid var(--color-line);margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:2rem}.week-strip__header{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.section-index{color:var(--color-teal);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .45rem;font-family:Georgia,serif;font-size:.62rem}.week-strip h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3vw,2.7rem)}.week-strip__header>p{max-width:28rem;color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.7}.week-strip ol{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-surface);grid-template-columns:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid}.week-strip li{border-right:1px solid var(--color-line);justify-items:center;gap:.55rem;min-width:0;padding:1.2rem .5rem;display:grid;position:relative}.week-strip li:last-child{border-right:0}.week-strip li[aria-current=date]{background:var(--color-teal-wash)}.week-strip li[aria-current=date]:before{background:var(--color-teal);content:"";height:2px;position:absolute;top:-1px;left:18%;right:18%}.week-strip li>span,.week-strip li>small{color:var(--color-muted);font-size:.66rem}.week-strip li>strong{font-family:Georgia,serif;font-size:1.05rem}.week-strip li>i{aspect-ratio:1;border:1px solid var(--color-line);background:var(--color-canvas);border-radius:50%;width:.5rem}.week-strip li[data-state=completed]>i{border-color:var(--color-teal);background:var(--color-accent);box-shadow:0 0 0 4px #d5f05f33}.week-strip li[data-state=missed]{background:var(--color-canvas)}.today-loading{align-content:center;min-height:calc(100svh - 10.1rem);padding:4rem 0 7rem;display:grid}.today-loading h1{max-width:44rem;font-family:var(--font-display);letter-spacing:-.05em;margin:0 0 2rem;font-size:clamp(2.5rem,7vw,5.5rem);line-height:1.04}.loading-rule{background:var(--color-line);width:min(22rem,70vw);height:2px;position:relative;overflow:hidden}.loading-rule:after{background:var(--color-teal);content:"";transform-origin:0;animation:1.1s ease-in-out infinite alternate loading-sweep;position:absolute;inset:0}.learning-page{padding:clamp(2rem,4vw,3.5rem) 0 7rem;animation:.42s ease-out both reveal-up}.learning-header{border-bottom:1px solid var(--color-line);grid-template-columns:1fr minmax(16rem,.48fr);align-items:end;gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);padding-bottom:2rem;display:grid}.learning-header a{min-height:2.75rem;color:var(--color-muted);align-items:center;margin-bottom:2.2rem;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.learning-header .eyebrow{margin-bottom:1rem}.learning-header h1{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2.8rem,6vw,5.3rem);line-height:1}.learning-header>p{border-left:2px solid var(--color-accent);color:var(--color-muted);margin:0;padding-left:1.25rem;font-size:.78rem;line-height:1.75}.learning-header>p span{color:var(--color-teal);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-family:Georgia,serif;font-size:.62rem;display:block}.learning-flow{grid-template-columns:15.5rem minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.step-rail{padding:1.5rem 0;position:sticky;top:1.5rem}.step-rail>p{color:var(--color-muted);letter-spacing:.15em;text-transform:uppercase;margin:0 0 1.4rem;font-family:Georgia,serif;font-size:.6rem}.step-rail ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.step-rail li{position:relative}.step-rail li:not(:last-child):after{background:var(--color-line);content:"";width:1px;position:absolute;top:2.5rem;bottom:-.75rem;left:1rem}.step-rail button{z-index:1;width:100%;color:var(--color-muted);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:2rem 1fr;column-gap:.9rem;padding:.8rem 0;display:grid;position:relative}.step-rail button>span{aspect-ratio:1;border:1px solid var(--color-line);background:var(--color-canvas);border-radius:50%;place-items:center;width:2rem;font-family:Georgia,serif;font-size:.58rem;display:grid}.step-rail button>strong{align-self:end;font-size:.78rem}.step-rail button>small{color:var(--color-muted);grid-column:2;margin-top:.18rem;font-size:.62rem}.step-rail button[aria-current=step]{color:var(--color-ink)}.step-rail button[aria-current=step]>span{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 5px #d5f05f2e}.flow-progress{background:var(--color-line);height:2px;margin-top:1.5rem;overflow:hidden}.flow-progress span{background:var(--color-teal);height:100%;transition:width .22s;display:block}.step-rail>small{color:var(--color-muted);letter-spacing:.08em;margin-top:.6rem;font-family:Georgia,serif;font-size:.58rem;display:block}.roleplay-lobby{grid-template-columns:minmax(0,.8fr) minmax(25rem,1.2fr);gap:clamp(3rem,8vw,8rem);min-height:calc(100svh - 10.1rem);padding:clamp(4rem,9vh,7rem) 0 6rem;display:grid}.roleplay-lobby>header{align-self:center}.roleplay-lobby>header .eyebrow{margin-bottom:1.4rem}.roleplay-lobby>header h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.6rem,7vw,6.4rem);line-height:.95}.roleplay-lobby>header h1 [data-accent=true]{color:var(--color-teal);display:block}.roleplay-lobby>header>p:last-child{max-width:31rem;color:var(--color-muted);margin:2rem 0 0;font-size:.9rem;line-height:1.85}.roleplay-lobby__brief{border:1px solid var(--color-line);border-top:3px solid var(--color-ink);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#d5f05f1f,#0000 42%),#ffffffd1;align-self:center;padding:clamp(2rem,5vw,4.5rem);animation:.52s ease-out 80ms both reveal-up;position:relative}.roleplay-lobby__index{color:var(--color-teal);align-items:baseline;font-family:Georgia,serif;display:flex;position:absolute;top:2rem;right:2rem}.roleplay-lobby__index span{font-size:2.2rem}.roleplay-lobby__index small{color:var(--color-muted);margin-left:.2rem;font-size:.65rem}.roleplay-lobby__brief h2{max-width:27rem;font-family:var(--font-display);letter-spacing:-.045em;margin:0;padding-right:4rem;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.05}.roleplay-lobby__brief>div:nth-child(2)>p:last-child{max-width:34rem;color:var(--color-muted);margin:1rem 0 2.5rem;line-height:1.75}.roleplay-lobby__brief dl{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:1.25fr .75fr;margin:0;display:grid}.roleplay-lobby__brief dl>div{padding:1.5rem 1.5rem 1.5rem 0}.roleplay-lobby__brief dl>div+div{border-left:1px solid var(--color-line);padding-left:1.5rem}.roleplay-lobby__brief dt,.roleplay-brief dt{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.6rem;font-family:Georgia,serif;font-size:.58rem}.roleplay-lobby__brief dd,.roleplay-brief dd{margin:0;font-size:.78rem;line-height:1.65}.roleplay-lobby__brief dd strong,.roleplay-lobby__brief dd span,.roleplay-brief dd strong,.roleplay-brief dd span{display:block}.roleplay-lobby__brief dd span,.roleplay-brief dd span{color:var(--color-muted);margin-top:.2rem;font-size:.68rem}.roleplay-lobby__brief>button{border:1px solid var(--color-ink);width:100%;min-height:3.7rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;justify-content:space-between;align-items:center;margin-top:2rem;padding:.7rem .8rem .7rem 1.3rem;font-weight:700;transition:transform .16s,background .16s;display:flex}.roleplay-lobby__brief>button:hover:not(:disabled){background:var(--color-teal-deep);transform:translateY(-2px)}.roleplay-lobby__brief>button span{aspect-ratio:1;width:2.2rem;color:var(--color-ink);background:var(--color-accent);place-items:center;display:grid}.roleplay-lobby__brief>button:disabled{cursor:wait;opacity:.7}.roleplay-lobby__brief>p[role=alert]{color:#9a352f;margin:1rem 0 0;font-size:.75rem}.roleplay-session-page{padding:2rem 0 6rem}.roleplay-back{min-height:2.75rem;color:var(--color-muted);align-items:center;margin:0 0 1.5rem;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.roleplay-session-grid{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:clamp(2rem,4vw,4.5rem);display:grid}.roleplay-workspace{min-width:0}.roleplay-chat{border:1px solid var(--color-line);border-top:3px solid var(--color-ink);background:#fffc;animation:.4s ease-out both reveal-up;box-shadow:0 22px 70px #17373b0e}.roleplay-chat__header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:2rem;padding:1.7rem 2rem;display:flex}.roleplay-chat__header .section-index{margin-bottom:.3rem}.roleplay-chat__header h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3vw,2.8rem)}.roleplay-chat__header>span{color:var(--color-muted);letter-spacing:.08em;font-family:Georgia,serif;font-size:.62rem}.roleplay-transcript{scroll-behavior:smooth;align-content:start;gap:0;min-height:24rem;max-height:54svh;padding:0 2rem;display:grid;overflow-y:auto}.baseline-progress{border-bottom:1px solid var(--color-line);background:var(--color-lime);grid-template-columns:minmax(7rem,.28fr) minmax(0,.72fr);gap:1rem;padding:1rem 1.2rem;display:grid}@supports (color:color-mix(in lab, red, red)){.baseline-progress{background:color-mix(in srgb, var(--color-lime) 12%, var(--color-paper))}}.baseline-progress>div:first-child{flex-direction:column;gap:.2rem;display:flex}.baseline-progress span{color:var(--color-muted);letter-spacing:.08em;font-size:.66rem}.baseline-progress strong{font-family:var(--font-display);font-size:1.35rem}.baseline-progress b{color:var(--color-teal);font-size:.78rem}.baseline-progress p{color:var(--color-muted);margin:.35rem 0 0;font-size:.7rem;line-height:1.6}@media (max-width:560px){.baseline-progress{grid-template-columns:1fr;gap:.55rem}}.continuation-page,.peer-scheduler{max-width:86rem;margin:0 auto}.continuation-hero{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:end;gap:1rem 4rem;margin-bottom:clamp(2rem,6vw,5rem);display:grid}.continuation-hero .eyebrow{grid-column:1/-1}.continuation-hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3rem,7vw,7rem);font-weight:500;line-height:.92}.continuation-hero>p:last-child{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.8}.continuation-state,.continuation-locked{border:1px solid var(--color-line);background:#ffffffbf;padding:clamp(2rem,6vw,5rem)}.continuation-locked span{color:var(--color-teal);letter-spacing:.12em;text-transform:uppercase;font-family:Georgia,serif;font-size:.65rem}.continuation-locked h2{font-family:var(--font-display);margin:1rem 0;font-size:clamp(2rem,5vw,4rem)}.continuation-locked p,.continuation-locked a{color:var(--color-muted);font-size:.75rem;line-height:1.8}.continuation-weeks{background:var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.continuation-weeks>li{background:var(--color-surface);padding:clamp(1.2rem,3vw,2rem)}.continuation-weeks>li[data-retest=true]{background:linear-gradient(145deg, #d5f05f2e, transparent 45%), var(--color-surface)}.continuation-weeks>li>header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.8rem;display:flex}.continuation-weeks header span{color:var(--color-teal);font-family:Georgia,serif;font-size:.68rem}.continuation-weeks header strong{font-size:.63rem}.continuation-weeks dl{margin:1rem 0 0}.continuation-weeks dl>div{grid-template-columns:6rem minmax(0,1fr);gap:.8rem;padding:.65rem 0;display:grid}.continuation-weeks dt{color:var(--color-muted);font-size:.64rem}.continuation-weeks dd{margin:0;font-size:.7rem;line-height:1.65}.continuation-checkin{border-top:2px solid var(--color-teal);background:var(--color-surface);grid-template-columns:1.2fr .35fr 1fr auto;align-items:end;gap:1rem;margin-top:3rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.continuation-checkin h2{font-family:var(--font-display);margin:.4rem 0 0;font-size:1.5rem}.continuation-checkin label{color:var(--color-muted);font-size:.63rem}.continuation-checkin select,.continuation-checkin textarea{border:1px solid var(--color-line);background:var(--color-surface);border-radius:0;width:100%;min-height:3rem;margin-top:.35rem;padding:.7rem;display:block}.continuation-checkin select{height:3rem}.continuation-checkin button{border:1px solid var(--color-ink);min-height:3rem;color:var(--color-surface);background:var(--color-ink);padding:0 1rem}.continuation-checkin>p{color:var(--color-teal);grid-column:1/-1;margin:0;font-size:.67rem}.peer-scheduler__grid{grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,6rem);display:grid}.peer-scheduler__grid>form,.peer-scheduler__grid>section{border-top:1px solid var(--color-ink);padding-top:1.2rem}.peer-scheduler__grid>form{gap:1rem;display:grid}.peer-scheduler__grid h2{font-family:var(--font-display);margin:0;font-size:1.5rem}.peer-scheduler__grid label{color:var(--color-muted);font-size:.65rem}.peer-scheduler__grid select,.peer-scheduler__grid input,.peer-scheduler__grid textarea{border:1px solid var(--color-line);background:var(--color-surface);border-radius:0;width:100%;min-height:2.9rem;margin-top:.35rem;padding:.7rem;display:block}.peer-scheduler__grid button{border:1px solid var(--color-ink);min-height:3rem;color:var(--color-surface);background:var(--color-ink)}.peer-scheduler__grid>section>header{justify-content:space-between;display:flex}.peer-scheduler__grid ol,.peer-practice>ol{margin:1rem 0 0;padding:0;list-style:none}.peer-scheduler__grid li{border-bottom:1px solid var(--color-line);grid-template-columns:9rem minmax(0,1fr) auto;gap:.4rem 1rem;padding:1rem 0;display:grid}.peer-scheduler__grid li time,.peer-scheduler__grid li p,.peer-scheduler__grid li span{color:var(--color-muted);font-size:.64rem}.peer-practice,.coach-continuation-link{margin-top:clamp(4rem,9vw,8rem)}.peer-practice>header,.coach-continuation-link{max-width:52rem}.peer-practice h2,.coach-continuation-link h2{font-family:var(--font-display);margin:.4rem 0;font-size:clamp(2rem,5vw,4rem);font-weight:500}.peer-practice>header>p:last-child,.coach-continuation-link p{color:var(--color-muted);font-size:.75rem;line-height:1.75}.peer-practice__empty,.peer-practice>ol>li{border:1px solid var(--color-line);background:var(--color-surface);margin-top:1.5rem;padding:clamp(1.2rem,3vw,2rem)}.peer-practice>ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.peer-practice li>header{color:var(--color-muted);justify-content:space-between;font-size:.63rem;display:flex}.peer-practice h3{font-family:var(--font-display);font-size:1.35rem}.peer-practice form textarea{border:1px solid var(--color-line);border-radius:0;width:100%;min-height:7rem;margin:.4rem 0 .8rem;padding:.75rem;display:block}.peer-practice form button,.coach-continuation-link a{border:1px solid var(--color-ink);min-height:2.8rem;color:var(--color-surface);background:var(--color-ink);align-items:center;padding:0 1rem;font-size:.68rem;text-decoration:none;display:inline-flex}@media (max-width:820px){.continuation-hero,.continuation-checkin,.peer-scheduler__grid,.continuation-weeks,.peer-practice>ol{grid-template-columns:minmax(0,1fr)}.continuation-checkin>p{grid-column:auto}}@media (max-width:520px){.continuation-weeks dl>div,.peer-scheduler__grid li{grid-template-columns:minmax(0,1fr)}}.practice-lab{width:min(calc(100% - 3rem), var(--content-max));margin:0 auto;padding:clamp(2.4rem,6vw,5.5rem) 0 7rem}.practice-lab__hero{grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr);align-items:end;gap:clamp(2rem,8vw,7rem);display:grid}.practice-lab__hero h1{max-width:9ch;font-family:var(--font-display);letter-spacing:-.08em;margin:.8rem 0 0;font-size:clamp(4rem,10vw,8.5rem);font-weight:500;line-height:.84}.practice-lab__hero aside{border-top:2px solid var(--color-ink);border-left:1px solid var(--color-line);padding:1.5rem 0 0 1.5rem}.practice-lab__hero aside>span,.lab-select>span,.writing-editor>label{color:var(--color-teal);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.55rem;font-size:.63rem;font-weight:750;display:block}.practice-lab__hero aside strong{font-family:var(--font-display);font-size:1.5rem;font-weight:600;display:block}.practice-lab__hero aside p{color:var(--color-muted);margin:.7rem 0 1.3rem;font-size:.78rem;line-height:1.8}.practice-lab__hero aside button,.lab-primary-action{border:1px solid var(--color-ink);min-height:3rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;border-radius:999px;padding:.75rem 1.25rem;font-size:.72rem;font-weight:700}.practice-lab__hero aside button:hover,.lab-primary-action:hover:not(:disabled){color:var(--color-ink);background:var(--color-accent)}.practice-lab__assignment{border:1px solid var(--color-teal);border-left:4px solid var(--color-accent);background:var(--color-teal-wash);grid-template-columns:minmax(13rem,.7fr) minmax(0,1.3fr) auto;align-items:center;gap:1.5rem;margin-top:clamp(2rem,5vw,4rem);padding:1.25rem 1.4rem;display:grid}.practice-lab__assignment div{gap:.25rem;display:grid}.practice-lab__assignment span,.practice-lab__assignment time{color:var(--color-teal);letter-spacing:.05em;font-size:.63rem;font-weight:700}.practice-lab__assignment strong{font-family:var(--font-display);font-size:1.15rem}.practice-lab__assignment p{color:var(--color-muted);margin:0;font-size:.75rem;line-height:1.7}.practice-lab__assignment time{white-space:nowrap}.lab-tabs{border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-line);scroll-snap-type:x proximity;scrollbar-width:thin;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(3rem,8vw,7rem);display:grid;overflow-x:auto}.lab-tabs button{border:0;border-right:1px solid var(--color-line);min-height:4.9rem;color:var(--color-muted);cursor:pointer;text-align:left;scroll-snap-align:start;background:0 0;align-items:center;gap:.75rem;padding:.8rem 1rem;font-weight:650;display:flex}.lab-tabs button:last-child{border-right:0}.lab-tabs button span{color:var(--color-teal);font-family:Georgia,serif;font-size:.65rem}.lab-tabs button[aria-selected=true]{color:var(--color-ink);background:var(--color-accent-soft)}.lab-tabs button[aria-selected=true] span{color:var(--color-teal-deep)}.lab-panel{min-height:34rem;padding-top:clamp(2.5rem,6vw,5rem)}.learning-quiz{max-width:74rem;margin:0 auto;position:relative}.learning-quiz__intro{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:end;gap:clamp(2rem,7vw,6rem);min-height:30rem;padding:clamp(1rem,3vw,2.5rem) 0;display:grid}.learning-quiz__intro h2,.learning-quiz__result h2{max-width:8ch;font-family:var(--font-display);letter-spacing:-.075em;margin:.45rem 0 1rem;font-size:clamp(4.2rem,10vw,8rem);font-weight:500;line-height:.88}.learning-quiz__intro>div>p:last-child,.learning-quiz__result>p{max-width:42rem;color:var(--color-muted);font-size:.82rem;line-height:1.9}.learning-quiz__intro aside{border:1px solid var(--color-ink);border-top:7px solid var(--color-accent);box-shadow:.9rem .9rem 0 var(--color-teal-wash);background:#ffffffb8;padding:1.5rem}.learning-quiz__intro aside>span{color:var(--color-teal);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-weight:800}.learning-quiz__intro aside>strong{font-family:var(--font-display);margin-top:.4rem;font-size:1.55rem;display:block}.learning-quiz__intro dl{border-top:1px solid var(--color-line);margin:1.5rem 0}.learning-quiz__intro dl>div{border-bottom:1px solid var(--color-line);justify-content:space-between;gap:1rem;padding:.65rem 0;font-size:.72rem;display:flex}.learning-quiz__intro dt{color:var(--color-muted)}.learning-quiz__intro dd{margin:0;font-weight:750}.learning-quiz__intro button,.learning-quiz__feedback button,.learning-quiz__result button,.learning-quiz__error button{border:1px solid var(--color-ink);min-height:3.2rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;border-radius:999px;padding:.75rem 1.2rem;font-size:.72rem;font-weight:750}.learning-quiz__intro button{width:100%}.learning-quiz__question{border-top:2px solid var(--color-ink)}.learning-quiz__question>header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;min-height:5.2rem;display:flex}.learning-quiz__question>header div{align-items:baseline;gap:1rem;display:flex}.learning-quiz__question>header span,.learning-quiz__question>header small{color:var(--color-teal);letter-spacing:.11em;font-size:.62rem;font-weight:800}.learning-quiz__question>header strong{font-family:var(--font-display);font-size:1.35rem}.learning-quiz__prompt{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;min-height:10rem;padding:clamp(1.5rem,4vw,3.25rem) 0;display:grid}.learning-quiz__prompt>p{max-width:28ch;font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,4.3vw,3.6rem);line-height:1.08}.learning-quiz__audio{justify-items:end;gap:.55rem;display:grid}.learning-quiz__audio button{border:1px solid var(--color-teal);min-height:3.25rem;color:var(--color-teal-deep);background:var(--color-teal-wash);cursor:pointer;border-radius:999px;padding:.7rem 1rem;font-size:.7rem;font-weight:750}.learning-quiz__audio button:first-child span{aspect-ratio:1;width:1.7rem;color:var(--color-surface);background:var(--color-teal);border-radius:50%;place-items:center;margin-right:.45rem;display:inline-grid}.learning-quiz__options{gap:.7rem;display:grid}.learning-quiz__option{border:1px solid var(--color-line);border-radius:var(--radius-small);width:100%;min-height:52px;color:var(--color-ink);cursor:pointer;text-align:left;white-space:normal;background:#ffffffbf;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.2rem;transition:border-color .15s,transform .15s,background .15s;display:grid}.learning-quiz__option:hover:not(:disabled){border-color:var(--color-teal);background:var(--color-teal-wash);transform:translate(.25rem)}.learning-quiz__option>span{aspect-ratio:1;border:1px solid var(--color-line);width:2.15rem;font-family:var(--font-display);border-radius:50%;place-items:center;display:grid}.learning-quiz__option>strong{font-family:var(--font-display);font-size:clamp(1rem,2vw,1.3rem);font-weight:550}.learning-quiz__option>small{color:var(--color-muted);font-size:.62rem;font-weight:750}.learning-quiz__option[aria-checked=true]{border-width:2px;border-color:var(--color-teal)}.learning-quiz__option[data-state=correct]{border-color:var(--color-teal);background:var(--color-accent-soft)}.learning-quiz__option[data-state=incorrect]{background:#fff5f1;border-color:#b2675a}.learning-quiz__feedback{border-top:1px solid var(--color-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;min-height:6rem;margin-top:1rem;padding:1rem 0;display:grid}.learning-quiz__feedback>strong{font-family:var(--font-display);font-size:1.45rem}.learning-quiz__feedback p{color:var(--color-muted);margin:0;font-size:.74rem;line-height:1.7}.learning-quiz__loading,.learning-quiz__error{text-align:center;align-content:center;place-items:center;gap:1rem;min-height:28rem;display:grid}.learning-quiz__loading span{aspect-ratio:1;width:5rem;color:var(--color-ink);background:var(--color-accent);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.4rem;animation:1.25s ease-in-out infinite alternate quiz-pulse;display:grid}@keyframes quiz-pulse{to{box-shadow:0 0 0 .8rem var(--color-accent-soft);transform:scale(1.08)}}.learning-quiz__result{min-height:30rem;color:var(--color-surface);background:var(--color-ink);padding:clamp(2rem,6vw,5rem);position:relative;overflow:hidden}.learning-quiz__result:after{aspect-ratio:1;content:"";border:1px solid #ffffff38;border-radius:50%;width:24rem;position:absolute;bottom:-10rem;right:-5rem;box-shadow:0 0 0 3rem #ffffff0a,0 0 0 6rem #ffffff06}.learning-quiz__score{color:var(--color-accent);align-items:baseline;gap:1rem;margin-top:2rem;display:flex}.learning-quiz__score span{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem)}.learning-quiz__score strong{font-size:1rem}.learning-quiz__result h2{z-index:1;max-width:10ch;position:relative}.learning-quiz__result>p{z-index:1;color:#ffffffb3;position:relative}.learning-quiz__result>div:last-child{z-index:1;gap:.75rem;margin-top:2rem;display:flex;position:relative}.learning-quiz__result button:first-child{color:var(--color-ink);background:var(--color-accent)}.learning-quiz__result button:last-child{background:0 0;border-color:#fff6}.learning-quiz__status{color:var(--color-muted);text-align:right;margin:1.25rem 0 0;font-size:.68rem}.lab-section-heading{grid-template-columns:minmax(0,1fr) minmax(15rem,.42fr);align-items:end;gap:2rem 5rem;margin-bottom:2.25rem;display:grid}.lab-section-heading h2,.mistake-review h2,.mistake-empty h2,.meeting-review h2{font-family:var(--font-display);letter-spacing:-.055em;margin:.35rem 0 0;font-size:clamp(2.3rem,5vw,4.7rem);font-weight:500;line-height:1}.lab-section-heading>div>p:last-child,.meeting-review>p,.mistake-empty>p{max-width:50rem;color:var(--color-muted);margin:.85rem 0 0;font-size:.78rem;line-height:1.8}.lab-select select{border:1px solid var(--color-line);border-radius:var(--radius-small);width:100%;min-height:3rem;color:var(--color-ink);background:var(--color-surface);padding:.65rem .8rem}.lab-select select:disabled{color:var(--color-teal-deep);background:var(--color-teal-wash);opacity:1}.listening-grid,.writing-grid{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1px;display:grid}.speaker-rail,.fact-sheet,.writing-brief,.writing-editor{background:#ffffffd1;padding:clamp(1.25rem,3vw,2.25rem)}.speed-switch{border-bottom:1px solid var(--color-line);align-items:center;gap:.45rem;min-height:2.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.speed-switch span{color:var(--color-muted);margin-right:auto;font-size:.66rem}.speed-switch button{border:1px solid var(--color-line);min-width:3.3rem;min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;border-radius:999px}.speed-switch button[aria-pressed=true]{border-color:var(--color-teal);color:var(--color-surface);background:var(--color-teal)}.speaker-turn{border-bottom:1px solid var(--color-line);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:5rem;display:grid}.speaker-turn>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.64rem}.speaker-turn strong,.speaker-turn small{display:block}.speaker-turn strong{font-size:.82rem}.speaker-turn small{color:var(--color-muted);margin-top:.2rem;font-size:.62rem}.speaker-turn button{border:1px solid var(--color-teal);min-height:2.75rem;color:var(--color-teal-deep);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem .8rem;font-size:.67rem;font-weight:650}.listening-gate{color:var(--color-muted);margin:1.2rem 0 0;font-size:.65rem;line-height:1.7}.fact-sheet h3,.writing-brief h3{font-family:var(--font-display);margin:.5rem 0 1.5rem;font-size:1.6rem;font-weight:600}.fact-sheet label{grid-template-columns:4rem minmax(0,1fr);gap:.25rem 1rem;margin-bottom:1.35rem;display:grid}.fact-sheet label span{color:var(--color-teal);grid-row:1/3;font-size:.63rem;font-weight:700}.fact-sheet label strong{font-size:.75rem;font-weight:600}.fact-sheet input{border:0;border-bottom:1px solid var(--color-line);width:100%;min-height:2.75rem;color:var(--color-ink);background:0 0;margin-top:.4rem}.fact-sheet .lab-primary-action{float:right}.lab-feedback,.writing-feedback{color:var(--color-surface);background:var(--color-teal-deep);grid-template-columns:8rem minmax(0,1fr);gap:2rem;margin-top:1px;padding:1.5rem 2rem;display:grid}.lab-feedback>strong{font-family:Georgia,serif;font-size:4rem;font-weight:400}.lab-feedback p{line-height:1.7}.lab-feedback details summary{cursor:pointer;min-height:2.75rem}.lab-status,.practice-lab__status{min-height:1.5rem;color:var(--color-muted);margin:1rem 0 0;font-size:.67rem}.writing-brief>p:not(.section-index){color:var(--color-muted);font-size:.73rem;line-height:1.7}.writing-brief ol{counter-reset:facts;margin:1.5rem 0 0;padding:0;list-style:none}.writing-brief li{border-bottom:1px solid var(--color-line);counter-increment:facts;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;padding:.9rem 0;font-size:.75rem;line-height:1.6;display:grid}.writing-brief li:before{color:var(--color-teal);content:"0" counter(facts);font-family:Georgia,serif;font-size:.63rem}.writing-editor textarea{resize:vertical;border:0;border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-line);width:100%;min-height:22rem;color:var(--color-ink);background:0 0;padding:1rem 0;font-family:Georgia,serif;font-size:1.05rem;line-height:1.8}.writing-editor>div{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.writing-editor small{color:var(--color-muted);font-size:.63rem}.writing-feedback header{border-right:1px solid #ffffff40}.writing-feedback header span,.writing-feedback header strong{display:block}.writing-feedback header span{color:var(--color-accent);letter-spacing:.1em;font-size:.63rem}.writing-feedback header strong{margin-top:.6rem;font-family:Georgia,serif;font-size:3rem;font-weight:400}.writing-feedback header small{font-size:.8rem}.writing-feedback h3{color:var(--color-accent);margin:0 0 .35rem;font-size:.68rem}.writing-feedback p{margin:0 0 1rem;font-size:.77rem;line-height:1.7}.mistake-review>header{max-width:52rem;position:relative}.mistake-review>header>span{color:var(--color-muted);font-size:.7rem;position:absolute;bottom:.3rem;right:0}.mistake-card{border:1px solid var(--color-line);border-top:2px solid var(--color-ink);background:#ffffffd6;max-width:52rem;margin-top:2.4rem;padding:clamp(1.5rem,4vw,3.5rem)}.mistake-card>small{color:var(--color-teal);text-transform:uppercase;font-size:.62rem}.mistake-card h3{font-family:var(--font-display);margin:.8rem 0 1.4rem;font-size:1.7rem}.mistake-card blockquote{border-left:2px solid var(--color-line);color:var(--color-muted);margin:0 0 2rem;padding:1rem 1.2rem;font-family:Georgia,serif}.mistake-card button{border:1px solid var(--color-ink);min-height:2.85rem;color:var(--color-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.65rem 1rem}.mistake-answer>strong{font-family:Georgia,serif;font-size:1.2rem;line-height:1.6;display:block}.mistake-answer>p{color:var(--color-muted);line-height:1.7}.mistake-answer>div{justify-content:flex-end;gap:.6rem;display:flex}.mistake-answer>div button:last-child{background:var(--color-accent)}.meeting-review{max-width:58rem}.meeting-review__source{border:1px solid var(--color-line);border-top:2px solid var(--color-teal);background:#fffc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem 1rem;margin-top:2rem;padding:1.1rem;display:grid}.meeting-review__source span{color:var(--color-teal);letter-spacing:.12em;text-transform:uppercase;font-size:.63rem}.meeting-review__source p{color:var(--color-muted);margin:0;font-size:.7rem;line-height:1.6}.meeting-review__source a{color:var(--color-ink);font-size:.68rem;font-weight:650;text-decoration:none}.meeting-review__form{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:1fr 1fr;gap:1px;margin-top:1.5rem;display:grid}.meeting-review__form>div{background:var(--color-surface);gap:.75rem;padding:clamp(1rem,3vw,1.8rem);display:grid;position:relative}.meeting-review__form label{font-family:var(--font-display);gap:.25rem;font-size:1.15rem;display:grid}.meeting-review__form label small{color:var(--color-muted);font-family:var(--font-body);font-size:.62rem;line-height:1.6}.meeting-review__form textarea{border:1px solid var(--color-line);width:100%;min-height:16rem;color:var(--color-ink);resize:vertical;background:#ffffffb8;border-radius:0;padding:.9rem;line-height:1.7}.meeting-review__file{border:1px dashed var(--color-teal);min-height:2.75rem;padding:.65rem;font-size:.65rem}.meeting-review__form>div>span{color:var(--color-muted);text-align:right;font-family:Georgia,serif;font-size:.6rem}.meeting-review__form>button{min-height:3.2rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;border:0;grid-column:1/-1;font-weight:650}.meeting-review__form>button:disabled{cursor:wait;opacity:.52}.meeting-review__notice{color:var(--color-teal-deep);background:var(--color-teal-wash);padding:.9rem 1rem;font-size:.68rem}.meeting-review__result{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:1fr 1fr;gap:1px;margin-top:2rem;display:grid}.meeting-review__result section{background:var(--color-surface);padding:clamp(1.1rem,3vw,2rem)}.meeting-review__result h3{font-family:var(--font-display);margin:0 0 1rem;font-size:1.35rem}.meeting-review__result ul{margin:0;padding-left:1.1rem}.meeting-review__result li,.meeting-review__result p,.meeting-review__result strong{font-size:.7rem;line-height:1.75}.meeting-review__improved{grid-column:1/-1}.meeting-review__improved pre{white-space:pre-wrap;font:inherit;margin:0;font-size:.74rem;line-height:1.8}@media (max-width:680px){.meeting-review__source,.meeting-review__form,.meeting-review__result{grid-template-columns:minmax(0,1fr)}.meeting-review__form>button,.meeting-review__improved{grid-column:auto}}.lab-empty,.mistake-empty{border:1px solid var(--color-line);background:#fffc;max-width:48rem;padding:2.5rem}.lab-tabs button:focus-visible,.practice-lab button:focus-visible,.practice-lab input:focus-visible,.practice-lab textarea:focus-visible,.practice-lab select:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}@media (max-width:800px){.practice-lab__hero,.practice-lab__assignment,.lab-section-heading,.listening-grid,.writing-grid{grid-template-columns:minmax(0,1fr)}.practice-lab__hero aside{max-width:31rem}.lab-tabs{grid-template-columns:repeat(5,minmax(9rem,1fr))}.learning-quiz__intro{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.practice-lab{width:min(calc(100% - 1.5rem), var(--content-max));padding-top:2.25rem}.practice-lab__hero{gap:2.3rem}.practice-lab__hero h1{line-height:.88}.practice-lab__hero aside{padding-left:1rem}.lab-tabs{width:calc(100% + 1.5rem);margin-left:-.75rem;margin-right:-.75rem;padding:0 .75rem}.lab-tabs button{min-height:3.6rem;padding:.65rem .75rem}.learning-quiz__intro{min-height:auto}.learning-quiz__intro h2{font-size:clamp(4rem,22vw,6.4rem)}.learning-quiz__intro aside{box-shadow:.5rem .5rem 0 var(--color-teal-wash)}.learning-quiz__prompt{grid-template-columns:minmax(0,1fr);gap:1rem}.learning-quiz__audio{justify-items:stretch}.learning-quiz__audio button{width:100%}.learning-quiz__option{grid-template-columns:2rem minmax(0,1fr);gap:.75rem;padding:.9rem}.learning-quiz__option>small{grid-column:2}.learning-quiz__feedback{grid-template-columns:minmax(0,1fr)}.learning-quiz__feedback button{width:100%}.learning-quiz__result{padding:1.5rem}.learning-quiz__result>div:last-child{flex-direction:column}.speaker-turn{grid-template-columns:1.5rem minmax(0,1fr)}.speaker-turn button{grid-column:2;justify-self:start}.fact-sheet label{grid-template-columns:minmax(0,1fr)}.fact-sheet label span{grid-row:auto}.writing-editor>div,.mistake-answer>div{flex-direction:column;align-items:stretch}.lab-feedback,.writing-feedback{grid-template-columns:minmax(0,1fr);padding:1.25rem}.writing-feedback header{border-bottom:1px solid #ffffff40;border-right:0}}.admin-coaching-link{border:1px solid var(--color-line);min-height:2.75rem;color:var(--color-teal-deep);border-radius:999px;align-items:center;padding:0 .85rem;font-size:.68rem;font-weight:700;text-decoration:none;display:inline-flex}.coach-admin{padding-bottom:5rem}.coach-admin__hero{grid-template-columns:minmax(0,1fr) minmax(17rem,.5fr);align-items:end;gap:2rem 6rem;margin-bottom:clamp(2.5rem,6vw,5rem);display:grid}.coach-admin__hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:.5rem 0 0;font-size:clamp(3.5rem,7vw,6.7rem);font-weight:500;line-height:.95}.coach-admin__hero>p{border-left:2px solid var(--color-accent);color:var(--color-muted);margin:0;padding-left:1.25rem;font-size:.76rem;line-height:1.8}.coach-admin__grid{grid-template-columns:minmax(18rem,.38fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.coach-assignment{border:1px solid var(--color-line);border-top:2px solid var(--color-ink);background:#ffffffd1;padding:1.5rem;position:sticky;top:1rem}.coach-assignment h2,.coach-queue h2{font-family:var(--font-display);margin:.4rem 0 1.5rem;font-size:2.1rem;font-weight:600}.coach-assignment label{margin-bottom:1rem;display:block}.coach-assignment label>span,.coach-queue label>span{color:var(--color-muted);margin-bottom:.4rem;font-size:.64rem;font-weight:700;display:block}.coach-assignment select,.coach-assignment input,.coach-assignment textarea,.coach-queue textarea{border:1px solid var(--color-line);width:100%;min-height:2.85rem;color:var(--color-ink);background:var(--color-canvas);border-radius:.35rem;padding:.7rem}.coach-assignment textarea,.coach-queue textarea{resize:vertical}.coach-assignment>button,.coach-queue li>div>button{border:1px solid var(--color-ink);width:100%;min-height:3rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;font-size:.7rem;font-weight:700}.coach-queue>header{border-bottom:1px solid var(--color-ink);justify-content:space-between;align-items:end;display:flex}.coach-queue>header strong{color:var(--color-teal);padding-bottom:1.5rem;font-family:Georgia,serif;font-size:3rem;font-weight:400}.coach-queue ol{margin:0;padding:0;list-style:none}.coach-queue li{border-bottom:1px solid var(--color-line);padding:1.4rem 0}.coach-queue li>header{grid-template-columns:5rem minmax(0,1fr) auto;align-items:baseline;gap:.5rem 1rem;display:grid}.coach-queue li>header span{color:var(--color-teal);text-transform:uppercase;font-size:.61rem}.coach-queue li>header strong{font-size:.9rem}.coach-queue li>header small{color:var(--color-muted);font-size:.62rem}.coach-queue li>p{color:var(--color-muted);margin:.8rem 0 1.2rem 6rem;font-size:.72rem;line-height:1.7}.coach-queue li>div{background:var(--color-teal-wash);margin-left:6rem;padding:1rem}.coach-queue li>div>button{margin-top:.7rem}.coach-queue li>div>small{color:var(--color-muted);margin-top:.5rem;font-size:.59rem;display:block}.coach-queue blockquote{border-left:2px solid var(--color-teal);background:var(--color-teal-wash);margin:1rem 0 0 6rem;padding:1rem;font-size:.72rem;line-height:1.7}.coach-queue blockquote strong,.coach-queue blockquote small{display:block}.coach-queue blockquote small{color:var(--color-muted);margin-top:.5rem}.coach-queue__empty{color:var(--color-muted);padding:2rem 0;font-size:.72rem}.coach-admin__status{color:var(--color-muted);margin:1.2rem 0 0;font-size:.67rem}@media (max-width:850px){.coach-admin__hero,.coach-admin__grid{grid-template-columns:minmax(0,1fr)}.coach-assignment{position:static}}@media (max-width:560px){.admin-coaching-link{display:none}.coach-queue li>header{grid-template-columns:minmax(0,1fr)}.coach-queue li>p,.coach-queue li>div,.coach-queue blockquote{margin-left:0}}.term-speech-privacy{color:var(--color-muted);margin:1rem 0 0;font-size:.64rem}.term-ledger--speech{max-width:55rem;margin-top:1.2rem}.term-ledger--speech .term-speech-card{grid-template-columns:2rem minmax(9rem,.7fr) minmax(18rem,1.3fr);align-items:center;gap:.7rem 1rem;padding:1.1rem 0}.term-speech-card__term strong,.term-speech-card__term small{display:block}.term-speech-card__term strong{font-family:var(--font-display);font-size:1.05rem}.term-speech-card__term small{color:var(--color-muted);margin-top:.2rem;font-size:.68rem}.term-speech-card__controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.term-speech-card__controls button,.term-speech-card__controls select{border:1px solid var(--color-line);width:100%;min-height:2.75rem;color:var(--color-teal-deep);background:var(--color-surface);cursor:pointer;border-radius:.35rem;padding:.45rem;font-size:.61rem;font-weight:650}.term-speech-card__controls label{position:relative}.term-speech-card__controls label>span{color:var(--color-muted);pointer-events:none;font-size:.5rem;position:absolute;top:.25rem;left:.45rem}.term-speech-card__controls select{height:2.75rem;padding-top:.9rem}.term-speech-card__controls button:disabled{cursor:not-allowed;opacity:.48}.term-speech-card__controls input{display:none}.term-speech-card__result{grid-column:3;gap:.2rem;display:grid}.term-speech-card__result strong{color:var(--color-teal-deep);font-size:.64rem}.term-speech-card__result small{color:var(--color-muted);font-size:.6rem;line-height:1.5}.term-speech-card[data-scored=true]{background:linear-gradient(90deg,#d5f05f1f,#0000)}@media (max-width:900px){.term-ledger--speech .term-speech-card{grid-template-columns:2rem minmax(0,1fr)}.term-speech-card__controls,.term-speech-card__result{grid-column:2}}@media (max-width:560px){.term-speech-card__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}.roleplay-message{border-bottom:1px solid var(--color-line);grid-template-columns:8.5rem minmax(0,1fr);gap:1.5rem;padding:1.7rem 0;display:grid}.roleplay-message__speaker{color:var(--color-teal);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.35rem;margin:0;font-family:Georgia,serif;font-size:.63rem;font-weight:700;display:flex}.roleplay-message__speaker span{color:var(--color-muted);font-size:.55rem;font-weight:400}.roleplay-message__content{min-width:0}.roleplay-message__content>p{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:clamp(.92rem,1.6vw,1.08rem);line-height:1.75}.message-audio-button{border:1px solid var(--color-line);min-height:2.75rem;color:var(--color-teal);cursor:pointer;background:#ffffffb8;border-radius:999px;align-items:center;gap:.45rem;margin-top:.65rem;padding:.2rem .75rem .2rem .35rem;font-size:.63rem;font-weight:700;display:inline-flex}.message-audio-button span{aspect-ratio:1;width:2rem;color:var(--color-surface);background:var(--color-teal);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:.58rem;display:grid}.message-audio-button:hover{border-color:var(--color-teal)}.message-audio-control{align-items:center;gap:.35rem;margin-top:.65rem;display:inline-flex}.message-audio-control .message-audio-button{margin-top:0}.message-audio-rate{border:1px solid var(--color-line);background:#ffffffb8;border-radius:999px;align-items:center;min-height:2.75rem;padding:.2rem;display:inline-flex}.message-audio-rate button{min-width:2.75rem;min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .45rem;font-size:.59rem;font-weight:700}.message-audio-rate button[aria-pressed=true]{color:var(--color-ink);background:var(--color-accent)}.roleplay-message--learner{background:linear-gradient(90deg,#d5f05f1f,#0000 60%)}.roleplay-message--learner .roleplay-message__speaker{color:var(--color-ink)}.roleplay-coaching-note{border:1px solid var(--color-line);border-left:.2rem solid var(--color-lime);width:min(88%,42rem);color:var(--color-ink);background:#d5f05f1f;margin:.8rem auto;padding:.75rem 1rem}.roleplay-coaching-note p{margin:0}.roleplay-coaching-note p:first-child{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;font-size:.62rem;font-weight:800}.roleplay-thinking{color:var(--color-muted);align-items:center;gap:.7rem;padding:1.2rem 0;font-size:.68rem;display:flex}.roleplay-thinking span{aspect-ratio:1;background:var(--color-teal);border-radius:50%;width:.55rem;animation:.9s ease-in-out infinite alternate roleplay-pulse}.roleplay-composer{border-top:1px solid var(--color-line);background:var(--color-canvas);padding:1.6rem 2rem 1.8rem}.voice-composer{border:1px solid var(--color-line);background:linear-gradient(145deg, #147f7914, transparent 55%), var(--color-surface);padding:1rem}.voice-composer__heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.85rem;display:flex}.voice-composer__heading>div{flex-direction:column;gap:.18rem;display:flex}.voice-composer__heading span,.speech-assessment header>div>span{color:var(--color-teal);letter-spacing:.1em;text-transform:uppercase;font-family:Georgia,serif;font-size:.56rem;font-weight:700}.voice-composer__heading strong{color:var(--color-ink);font-family:var(--font-display);font-size:1.08rem}.voice-composer__heading small{color:var(--color-muted);font-size:.58rem}.voice-hold-button{width:100%;min-height:5.4rem;color:var(--color-surface);background:var(--color-teal-deep);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:.25rem;align-content:center;place-items:center;gap:.28rem;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff17}.voice-hold-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.voice-hold-button:disabled{cursor:not-allowed;opacity:.55}.voice-hold-button strong{letter-spacing:.04em;font-size:.78rem}.voice-hold-button small{color:#ffffff9e;font-size:.58rem}.voice-hold-button__signal{align-items:center;gap:.18rem;height:1.15rem;display:flex}.voice-hold-button__signal i{background:var(--color-accent);border-radius:999px;width:.13rem;height:.35rem;display:block}.voice-hold-button__signal i:nth-child(2),.voice-hold-button__signal i:nth-child(4){height:.72rem}.voice-hold-button__signal i:nth-child(3){height:1.05rem}.voice-hold-button--recording .voice-hold-button__signal i{animation:.65s ease-in-out infinite alternate voice-wave}.voice-hold-button--recording .voice-hold-button__signal i:nth-child(2){animation-delay:-280ms}.voice-hold-button--recording .voice-hold-button__signal i:nth-child(3){animation-delay:-480ms}.voice-hold-button--recording .voice-hold-button__signal i:nth-child(4){animation-delay:-180ms}.voice-hold-button.is-cancelling{background:#7d302b}.voice-composer__progress{gap:.45rem;padding-top:.75rem;display:grid}.voice-composer__progress i{background:var(--color-line);height:2px;overflow:hidden}.voice-composer__progress b{background:var(--color-teal);height:100%;transition:width .18s;display:block}.voice-composer__progress span,.voice-composer__message{color:var(--color-muted);margin:0;font-size:.63rem}.voice-composer__fallback{justify-content:center;gap:1rem;margin-top:.7rem;display:flex}.voice-composer__fallback button{min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0 .2rem;font-size:.6rem}.voice-composer__fallback input{display:none}.learning-speech{border:1px solid var(--color-line);background:linear-gradient(145deg, #147f7914, transparent 58%), var(--color-surface);margin:1rem 0;padding:1rem}.learning-speech__heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.8rem;display:flex}.learning-speech__heading>div{flex-direction:column;gap:.18rem;display:flex}.learning-speech__heading span{color:var(--color-teal);letter-spacing:.1em;text-transform:uppercase;font-family:Georgia,serif;font-size:.56rem;font-weight:700}.learning-speech__heading strong{color:var(--color-ink);font-family:var(--font-display);font-size:1.05rem}.learning-speech__heading small{color:var(--color-muted);font-size:.58rem}.learning-speech__record{width:100%;min-height:5.4rem;color:var(--color-surface);background:var(--color-teal-deep);cursor:pointer;touch-action:manipulation;border:0;border-radius:.25rem;align-content:center;place-items:center;gap:.25rem;display:grid}.learning-speech__record:focus-visible,.learning-speech__fallback button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.learning-speech__record:disabled{cursor:not-allowed;opacity:.55}.learning-speech__record>span{color:var(--color-accent);font-size:1rem}.learning-speech__record>strong{font-size:.78rem}.learning-speech__record>small{color:#ffffffad;font-size:.58rem}.learning-speech__record--recording{background:#126b66;box-shadow:0 0 0 4px #147f791f}.learning-speech__progress{gap:.45rem;padding-top:.75rem;display:grid}.learning-speech__progress i{background:var(--color-line);height:2px;overflow:hidden}.learning-speech__progress b{background:var(--color-teal);height:100%;transition:width .18s;display:block}.learning-speech__progress span,.learning-speech__message{color:var(--color-muted);margin:.65rem 0 0;font-size:.63rem;line-height:1.6}.learning-speech__fallback{justify-content:center;gap:1rem;margin-top:.7rem;display:flex}.learning-speech__fallback button{min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0 .2rem;font-size:.6rem}.learning-speech__fallback input{display:none}.speech-assessment--learning{width:100%;margin:.8rem 0 1.2rem}.roleplay-composer__divider{color:var(--color-muted);align-items:center;gap:.8rem;margin:1rem 0;font-size:.58rem;display:flex}.roleplay-composer__divider:before,.roleplay-composer__divider:after{content:"";background:var(--color-line);flex:1;height:1px}.roleplay-composer form{border:1px solid var(--color-line);background:var(--color-surface);padding:1rem;transition:border-color .15s}.roleplay-composer form:focus-within{border-color:var(--color-teal);box-shadow:0 0 0 3px #147f7914}.roleplay-composer label{color:var(--color-teal);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:1rem;font-family:Georgia,serif;font-size:.65rem;font-weight:700;display:flex}.roleplay-composer label span{color:var(--color-muted);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.62rem;font-weight:400}.roleplay-composer form>.roleplay-composer__assist{border-top:0;justify-content:flex-start;gap:.75rem;margin-top:.8rem;padding:0;display:flex}.roleplay-composer__assist button{border:1px solid var(--color-teal);min-height:2.75rem;color:var(--color-teal-deep);background:var(--color-teal-wash);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 .85rem;font-size:.65rem;font-weight:700}.roleplay-composer__assist span{color:var(--color-muted);font-family:Georgia,serif;font-size:.66rem;line-height:1.5}.roleplay-composer textarea{resize:vertical;width:100%;min-height:7rem;color:var(--color-ink);background:0 0;border:0;outline:0;margin:.8rem 0;padding:0;font-size:.92rem;line-height:1.7;display:block}.roleplay-composer textarea::placeholder{color:#9babaa}.roleplay-composer form>div{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;display:flex}.roleplay-composer form small{color:var(--color-muted);font-family:Georgia,serif;font-size:.58rem}.roleplay-send{min-height:2.55rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;border:0;align-items:center;gap:1rem;padding:.4rem .5rem .4rem 1rem;font-size:.72rem;font-weight:700;display:inline-flex}.roleplay-send span{aspect-ratio:1;width:1.7rem;color:var(--color-ink);background:var(--color-accent);place-items:center;display:grid}.roleplay-send:disabled{cursor:not-allowed;opacity:.45}.roleplay-finish{min-height:2.75rem;color:var(--color-teal);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;margin:1rem 0 0 auto;padding:.35rem 0;font-size:.7rem;font-weight:600;display:flex}.roleplay-finish:disabled{color:var(--color-muted);cursor:not-allowed;opacity:.6}.roleplay-error{background:#fff5f2;border-left:3px solid #b24c43;margin:0 2rem 1.6rem;padding:1rem 1.1rem}.roleplay-error p{color:#7d302b;margin:0;font-size:.76rem}.roleplay-error span{color:var(--color-muted);margin-top:.35rem;font-size:.65rem;display:block}.speech-assessment{border:1px solid var(--color-line);border-top:2px solid var(--color-teal);background:#ffffffd6;width:min(88%,42rem);margin:.8rem auto 1.2rem;padding:1rem}.speech-assessment header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:.8rem;display:flex}.speech-assessment header>div{flex-direction:column;gap:.2rem;display:flex}.speech-assessment header>div>strong{font-family:var(--font-display);font-size:1.15rem}.speech-assessment header>p{color:var(--color-teal);align-items:baseline;margin:0;font-family:Georgia,serif;display:flex}.speech-assessment header>p strong{font-size:2rem;font-weight:400}.speech-assessment header>p span{color:var(--color-muted);font-size:.58rem}.speech-assessment__dimensions{gap:.5rem;margin-top:.8rem;display:grid}.speech-assessment__dimensions>div{grid-template-columns:5rem minmax(4rem,1fr) 2rem;align-items:center;gap:.7rem;font-size:.62rem;display:grid}.speech-assessment__dimensions i{background:var(--color-line);height:2px;overflow:hidden}.speech-assessment__dimensions b{background:var(--color-teal);height:100%;display:block}.speech-assessment__dimensions>div>strong{text-align:right;font-family:Georgia,serif;font-size:.62rem}.speech-assessment__meta,.speech-assessment__feedback,.speech-assessment__practice{margin:.75rem 0 0;font-size:.65rem;line-height:1.6}.speech-assessment__meta,.speech-assessment>small{color:var(--color-muted)}.speech-assessment__practice{background:var(--color-teal-wash);padding:.65rem .8rem}.speech-assessment__practice span{color:var(--color-teal-deep);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem;font-family:Georgia,serif;font-size:.52rem;display:block}.speech-assessment>small{margin-top:.7rem;font-size:.56rem;display:block}.speech-assessment--compact{width:100%;margin:0}.roleplay-brief{border-top:3px solid var(--color-teal);background:var(--color-teal-deep);color:var(--color-surface);padding:1.5rem;animation:.42s ease-out .1s both reveal-up;position:sticky;top:1.5rem}.roleplay-brief__signal{color:#bed5cf;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:3rem;font-family:Georgia,serif;font-size:.58rem;display:flex}.roleplay-brief__mobile{display:none}.roleplay-brief__signal span{aspect-ratio:1;background:var(--color-accent);border-radius:50%;width:.5rem;box-shadow:0 0 0 4px #d5f05f26}.roleplay-brief .section-index{color:var(--color-accent)}.roleplay-brief h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 2rem;font-size:2.1rem;line-height:1.08}.roleplay-brief dl{border-top:1px solid #ffffff2e;margin:0}.roleplay-brief dl>div{border-bottom:1px solid #ffffff2e;padding:1.2rem 0}.roleplay-brief dt,.roleplay-brief dd span{color:#bed5cf}.roleplay-brief__rule{color:var(--color-ink);background:var(--color-accent);grid-template-columns:2rem 1fr;gap:.8rem;margin-top:2.2rem;padding:1rem;display:grid}.roleplay-brief__rule span{font-family:Georgia,serif;font-size:.6rem;font-weight:700}.roleplay-brief__rule p{margin:0;font-size:.67rem;line-height:1.65}.score-report{border:1px solid var(--color-line);border-top:3px solid var(--color-teal);background:var(--color-surface);margin-top:2.5rem;padding:clamp(2rem,5vw,4rem);animation:.4s ease-out both reveal-up}.score-report__header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:2rem;display:flex}.score-report__header h2{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2.3rem,5vw,4rem)}.score-report__total{color:var(--color-teal);align-items:baseline;margin:0;font-family:Georgia,serif;display:flex}.score-report__total strong{font-size:3.8rem;font-weight:400;line-height:1}.score-report__total span{color:var(--color-muted);font-size:.8rem}.score-dimensions{margin:1.5rem 0 3rem}.score-dimensions>div{border-bottom:1px solid var(--color-line);grid-template-columns:2rem 6rem minmax(6rem,1fr) 3.5rem;align-items:center;gap:1rem;padding:.8rem 0;display:grid}.score-dimensions>div>span,.score-dimensions>div>b{font-family:Georgia,serif;font-size:.63rem}.score-dimensions>div>strong{font-size:.73rem}.score-dimensions>div>div{background:var(--color-line);height:3px;overflow:hidden}.score-dimensions i{background:var(--color-teal);height:100%;display:block}.score-dimensions b{text-align:right}.score-dimensions b small{color:var(--color-muted);font-weight:400}.score-report__speech{border:1px solid var(--color-line);background:var(--color-canvas);grid-template-columns:minmax(11rem,.7fr) minmax(18rem,1.3fr);align-items:start;gap:1.5rem 2rem;margin:-1rem 0 3rem;padding:1.4rem;display:grid}.score-report__speech h3{font-family:var(--font-display);margin:.3rem 0 0;font-size:1.4rem;line-height:1.2}.score-report__speech>small{color:var(--color-muted);grid-column:1/-1;font-size:.58rem}.score-coaching{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.score-coaching h3,.score-phrases h3{font-family:var(--font-display);margin:0 0 1.2rem;font-size:1.65rem}.score-coaching ol,.score-phrases ol{margin:0;padding:0;list-style:none}.score-coaching li{border-top:1px solid var(--color-line);grid-template-columns:2rem 1fr;gap:.7rem;padding:.8rem 0;font-size:.74rem;line-height:1.65;display:grid}.score-coaching li span{color:var(--color-teal);font-family:Georgia,serif;font-size:.56rem}.score-primary-issue{border:0;border-left:3px solid var(--color-accent);background:var(--color-teal-wash);margin:3rem 0;padding:1.4rem 1.6rem}.score-primary-issue span{color:var(--color-teal-deep);letter-spacing:.12em;text-transform:uppercase;font-family:Georgia,serif;font-size:.58rem}.score-primary-issue p{font-family:var(--font-display);margin:.7rem 0 0;font-size:1.2rem;line-height:1.5}.score-phrases>div{margin-bottom:1.2rem}.score-phrases li{border-top:1px solid var(--color-line);grid-template-columns:2rem 1fr auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.score-phrases li>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.58rem}.score-phrases li p{overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.6}.score-phrases li button{min-height:2.75rem;color:var(--color-muted);background:0 0;border:0;border-bottom:1px solid;align-items:center;padding:0;font-size:.62rem;display:inline-flex}@keyframes roleplay-pulse{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.12)}}@keyframes voice-wave{0%{transform:scaleY(.45)}to{transform:scaleY(1.15)}}@media (max-width:900px){.roleplay-lobby{grid-template-columns:1fr;gap:3rem}.roleplay-lobby>header{align-self:end}.roleplay-session-grid{flex-direction:column-reverse;display:flex}.roleplay-brief{width:100%;position:static}.roleplay-brief__signal{margin-bottom:.8rem}.roleplay-brief__desktop{display:none}.roleplay-brief__mobile{display:block}.roleplay-brief__mobile>summary{min-height:2.75rem;color:var(--color-surface);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.roleplay-brief__mobile>summary::-webkit-details-marker{display:none}.roleplay-brief__mobile>summary:after{color:var(--color-accent);content:"+";font-family:Georgia,serif;font-size:1.2rem}.roleplay-brief__mobile[open]>summary:after{content:"−"}.roleplay-brief__mobile>summary span{color:#bed5cf;letter-spacing:.09em;text-transform:uppercase;font-family:Georgia,serif;font-size:.6rem}.roleplay-brief__mobile>summary strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.roleplay-brief__mobile[open]>.roleplay-brief__content{padding-top:1.5rem}}@media (max-width:620px){.roleplay-lobby,.roleplay-session-page{padding-top:2rem}.roleplay-lobby__brief{padding:1.5rem}.roleplay-lobby__brief dl,.score-coaching{grid-template-columns:1fr}.roleplay-lobby__brief dl>div+div{border-top:1px solid var(--color-line);border-left:0;padding-left:0}.roleplay-chat__header,.roleplay-composer,.score-report{padding-left:1.2rem;padding-right:1.2rem}.roleplay-transcript{max-height:none;padding:0 1.2rem}.roleplay-message{grid-template-columns:1fr;gap:.6rem}.roleplay-message__speaker{flex-direction:row;justify-content:space-between}.roleplay-composer label{flex-direction:column;align-items:start;gap:.3rem}.voice-composer__heading{flex-direction:column;align-items:start;gap:.4rem}.voice-hold-button{min-height:6rem}.speech-assessment{width:100%}.score-report__speech{grid-template-columns:1fr}.score-report__speech>small{grid-column:1}.score-report__header{flex-direction:column;align-items:start}.score-dimensions>div{grid-template-columns:1.5rem 5.2rem minmax(3rem,1fr) 2.8rem;gap:.55rem}.score-phrases li{grid-template-columns:1.5rem 1fr}.score-phrases li button{grid-column:2;justify-self:start}}.growth-page{padding:clamp(3.5rem,7vw,6.8rem) 0 7rem;animation:.46s ease-out both reveal-up}.growth-hero{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);align-items:end;gap:clamp(3rem,8vw,8rem);padding-bottom:clamp(3rem,6vw,5.5rem);display:grid}.growth-hero h1{max-width:48rem;font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,6.5vw,6.4rem);font-weight:700;line-height:.98}.growth-hero h1 [data-accent=true]{color:var(--color-teal-deep);display:block}.growth-hero>div>p:last-child{max-width:39rem;color:var(--color-muted);margin:2rem 0 0;font-size:1rem;line-height:1.9}.growth-hero dl{border-top:1px solid var(--color-ink);margin:0;display:grid}.growth-hero dl div{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 0;display:flex}.growth-hero dt{color:var(--color-muted);letter-spacing:.08em;font-size:.72rem}.growth-hero dd{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:700}.growth-calendar,.shadowing-summary,.skill-profile,.phase-record,.phrasebook{border-bottom:1px solid var(--color-line);padding:clamp(3.5rem,7vw,6rem) 0}.growth-section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.growth-section-heading .section-index{margin:0 0 .75rem}.growth-section-heading h2{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.05}.growth-section-heading>p{max-width:24rem;color:var(--color-muted);text-align:right;margin:0;font-size:.82rem;line-height:1.75}.growth-calendar__grid{border-top:1px solid var(--color-line);border-left:1px solid var(--color-line);grid-template-columns:repeat(10,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.growth-calendar__grid li{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:#ffffff9e;min-width:0;min-height:5.8rem;padding:.75rem;display:grid;position:relative}.growth-calendar__grid li>span{letter-spacing:.04em;font-family:Georgia,serif;font-size:.74rem}.growth-calendar__grid li>small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.62rem;overflow:hidden}.growth-calendar__grid li>i{aspect-ratio:1;border:1px solid var(--color-muted);border-radius:50%;width:.45rem;position:absolute;top:.75rem;right:.75rem}.growth-calendar__grid li[data-state=completed]{color:var(--color-surface);background:var(--color-teal-deep)}.growth-calendar__grid li[data-state=completed]>small{color:#ffffffb8}.growth-calendar__grid li[data-state=completed]>i{border-color:var(--color-accent);background:var(--color-accent)}.growth-calendar__grid li[data-state=current]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 2px var(--color-ink)}.growth-calendar__grid li[data-state=current]>i{border-color:var(--color-ink);background:var(--color-accent)}.growth-calendar__grid li[data-state=available]{background:repeating-linear-gradient(-45deg, transparent, transparent 4px, #147f790b 4px, #147f790b 8px), var(--color-surface)}.growth-calendar__grid li[data-state=upcoming]{color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.growth-calendar__grid li[data-state=upcoming]{color:color-mix(in srgb, var(--color-muted) 68%, white)}}.growth-calendar__grid li[data-state=upcoming]{background:0 0}.growth-calendar__legend{color:var(--color-muted);flex-wrap:wrap;gap:1.1rem 1.75rem;margin:1.25rem 0 0;padding:0;font-size:.68rem;list-style:none;display:flex}.growth-calendar__legend li{align-items:center;gap:.45rem;display:inline-flex}.growth-calendar__legend i{aspect-ratio:1;border:1px solid var(--color-muted);border-radius:50%;width:.55rem}.growth-calendar__legend i[data-state=completed]{border-color:var(--color-teal-deep);background:var(--color-teal-deep)}.growth-calendar__legend i[data-state=current]{border-color:var(--color-ink);background:var(--color-accent)}.growth-calendar__legend i[data-state=available]{border-style:dashed}.growth-analysis{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:clamp(3rem,8vw,8rem);display:grid}.shadowing-summary__overview{grid-template-columns:minmax(12rem,.42fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,7vw,7rem);display:grid}.shadowing-summary__overview>div{border-left:3px solid var(--color-accent);background:var(--color-teal-deep);padding:1.5rem}.shadowing-summary__overview>div span,.shadowing-summary__overview>div strong,.shadowing-summary__overview>div small{display:block}.shadowing-summary__overview>div span{color:#ffffffb8;font-size:.7rem}.shadowing-summary__overview>div strong{color:var(--color-surface);font-family:var(--font-display);margin-top:.7rem;font-size:clamp(3rem,7vw,5.5rem);line-height:.9}.shadowing-summary__overview>div small{color:var(--color-accent);font-family:var(--font-body);margin-top:.65rem;font-size:.65rem}.shadowing-summary__overview>ol,.shadowing-summary__recent ol{margin:0;padding:0;list-style:none}.shadowing-summary__overview>ol li{border-top:1px solid var(--color-line);grid-template-columns:2rem minmax(0,1fr) 2.5rem;align-items:center;gap:.8rem;padding:.9rem 0;display:grid}.shadowing-summary__overview>ol li>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.62rem}.shadowing-summary__overview>ol strong{margin-bottom:.5rem;font-size:.75rem;display:block}.shadowing-summary__overview progress{width:100%;height:.42rem;color:var(--color-teal);background:var(--color-teal-wash);accent-color:var(--color-teal);appearance:none;border:0;display:block}.shadowing-summary__overview progress::-webkit-progress-bar{background:var(--color-teal-wash)}.shadowing-summary__overview progress::-webkit-progress-value{background:var(--color-teal)}.shadowing-summary__overview progress::-moz-progress-bar{background:var(--color-teal)}.shadowing-summary__overview>ol b{font-family:var(--font-display);text-align:right;font-size:1.3rem}.shadowing-summary__recent{border-top:1px solid var(--color-ink);grid-template-columns:minmax(8rem,.25fr) minmax(0,1fr);gap:2rem;margin-top:2.5rem;padding-top:1.2rem;display:grid}.shadowing-summary__recent>span{color:var(--color-muted);font-size:.68rem}.shadowing-summary__recent ol{background:var(--color-line);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.shadowing-summary__recent a{min-height:3.75rem;color:var(--color-ink);background:var(--color-surface);justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem;font-size:.62rem;text-decoration:none;display:flex}.shadowing-summary__recent a strong{color:var(--color-teal-deep);font-family:var(--font-display);font-size:1.25rem}.growth-analysis .skill-profile,.growth-analysis .phase-record{border-bottom:0}.skill-profile__list,.phase-record>ol,.phrasebook__list{margin:0;padding:0;list-style:none}.skill-profile__list li{border-top:1px solid var(--color-line);grid-template-columns:2.25rem minmax(0,1fr) 3.5rem;align-items:center;gap:1rem;padding:1.15rem 0;display:grid}.skill-profile__index{color:var(--color-teal);font-family:Georgia,serif;font-size:.64rem}.skill-profile__measure>div{justify-content:space-between;gap:1rem;margin-bottom:.7rem;display:flex}.skill-profile__measure strong{font-size:.83rem}.skill-profile__measure small{color:var(--color-muted);font-size:.68rem}.skill-profile progress{background:var(--color-teal-wash);width:100%;height:.42rem;color:var(--color-teal);accent-color:var(--color-teal);appearance:none;border:0;border-radius:0;display:block;overflow:hidden}.skill-profile progress::-webkit-progress-bar{background:var(--color-teal-wash)}.skill-profile progress::-webkit-progress-value{background:var(--color-teal)}.skill-profile progress::-moz-progress-bar{background:var(--color-teal)}.skill-profile__list li>b{font-family:var(--font-display);text-align:right;font-size:1.55rem}.skill-profile__list li>b small{color:var(--color-muted);font-family:var(--font-body);font-size:.62rem}.phase-record>ol{border-top:1px solid var(--color-ink)}.phase-record>ol li{border-bottom:1px solid var(--color-line);grid-template-columns:1fr auto;align-items:baseline;gap:.3rem 1rem;padding:1.1rem 0;display:grid}.phase-record>ol li>span{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-family:Georgia,serif;font-size:.68rem}.phase-record>ol strong{font-family:var(--font-display);grid-row:span 2;font-size:1.7rem}.phase-record>ol strong small{color:var(--color-muted);font-family:var(--font-body);font-size:.6rem}.phase-record>ol i{width:fit-content;color:var(--color-teal-deep);font-size:.7rem;font-style:normal}.phase-record>ol i[data-passed=false]:before{content:"↗ "}.growth-empty{border:1px dashed var(--color-line);background:#ffffff80;padding:2rem}.growth-empty strong{font-family:var(--font-display);font-size:1.05rem}.growth-empty p{color:var(--color-muted);margin:.5rem 0 0;font-size:.78rem;line-height:1.7}.phrasebook{border-bottom:0}.phrasebook__tools{background:var(--color-line);border:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(12rem,.34fr);gap:1px;margin-bottom:2.25rem;display:grid}.phrasebook__tools>div{background:var(--color-surface);min-width:0;padding:.85rem 1rem}.phrasebook__tools label{color:var(--color-muted);letter-spacing:.05em;margin-bottom:.4rem;font-size:.64rem;display:block}.phrasebook__tools input,.phrasebook__tools select{width:100%;min-width:0;max-width:100%;height:2.75rem;min-height:2.75rem;color:var(--color-ink);font:inherit;background:0 0;border:0;border-radius:0;outline:none;padding:0;font-size:.84rem}.phrasebook__tools input:focus-visible,.phrasebook__tools select:focus-visible,.phrasebook button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.phrasebook__list{border-top:1px solid var(--color-ink)}.phrasebook__list>li{border-bottom:1px solid var(--color-line);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:start;gap:clamp(1rem,3vw,2.5rem);min-width:0;padding:1.5rem 0;display:grid}.phrasebook__list>li>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.66rem}.phrasebook__list p{min-width:0;font-family:var(--font-display);letter-spacing:-.018em;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.4}.phrasebook__list div>small{min-width:0;color:var(--color-muted);overflow-wrap:anywhere;word-break:break-word;margin-top:.45rem;font-size:.75rem;display:block}.phrasebook__list ul{flex-wrap:wrap;gap:.45rem;min-width:0;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.phrasebook__list ul li{border:1px solid var(--color-line);min-width:0;max-width:100%;color:var(--color-muted);overflow-wrap:anywhere;word-break:break-word;padding:.25rem .45rem;font-size:.6rem}.phrasebook__list [data-phrase-content]{min-width:0;max-width:100%}.growth-error__detail{max-width:34rem;color:var(--color-muted);margin:1rem 0 1.75rem;line-height:1.8}.today-loading button.today-start{cursor:pointer;font:inherit;border:0}.phrasebook__list>li>button,.phrasebook__confirm button{border:1px solid var(--color-line);min-height:2.75rem;color:var(--color-muted);cursor:pointer;font:inherit;background:0 0;border-radius:0;padding:.45rem .75rem;font-size:.7rem}.phrasebook__list>li>button:hover,.phrasebook__confirm button:hover{border-color:var(--color-ink);color:var(--color-ink)}.phrasebook__confirm{grid-template-columns:repeat(2,auto);gap:.35rem;display:grid}.phrasebook__confirm>span{color:var(--color-muted);grid-column:1/-1;font-size:.66rem}.phrasebook__error{color:#7b3024;background:#fff3ef;border-left:3px solid #a84736;padding:.75rem 1rem;font-size:.78rem}@media (max-width:900px){.growth-hero,.growth-analysis,.shadowing-summary__overview{grid-template-columns:1fr;gap:2.5rem}.growth-hero dl{border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,1fr)}.growth-hero dl div{border-right:1px solid var(--color-line);border-bottom:0;display:grid}.growth-hero dl div:last-child{border-right:0}.growth-calendar__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.growth-analysis .phase-record{padding-top:0}.shadowing-summary__recent{grid-template-columns:1fr}.shadowing-summary__recent ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.growth-page{padding:2.75rem 0 6.5rem}.growth-hero h1{font-size:clamp(3rem,16vw,4.5rem)}.growth-hero dl{border-bottom:0;grid-template-columns:1fr}.growth-hero dl div{border-right:0;border-bottom:1px solid var(--color-line);min-height:3.75rem;display:flex}.growth-section-heading{display:block}.growth-section-heading>p{text-align:left;margin-top:1rem}.growth-calendar__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.growth-calendar__grid li{min-height:4.7rem;padding:.62rem}.growth-calendar__grid li>i{top:.62rem;right:.62rem}.growth-calendar__grid li>small{font-size:.56rem}.skill-profile__list li{grid-template-columns:1.5rem minmax(0,1fr) 2.8rem;gap:.65rem}.skill-profile__measure>div{gap:.25rem;display:grid}.phrasebook__tools{grid-template-columns:1fr}.phrasebook__list>li{grid-template-columns:1.5rem minmax(0,1fr);gap:.75rem}.phrasebook__list>li>button,.phrasebook__confirm{grid-column:2;width:fit-content}}.assessment-index,.assessment-page,.assessment-result{padding:clamp(3.5rem,8vw,7rem) 0 7rem}.assessment-page{padding-top:2rem}.assessment-index>header{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);align-items:end;column-gap:clamp(3rem,8vw,8rem);margin-bottom:clamp(3rem,7vw,6rem);display:grid}.assessment-index>header .eyebrow{grid-column:1/-1}.assessment-index>header h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.5rem,7.4vw,6.8rem);line-height:.95}.assessment-index>header h1 [data-accent=true]{color:var(--color-teal-deep);display:block}.assessment-index>header>p:last-child{border-left:2px solid var(--color-accent);color:var(--color-muted);margin:0;padding-left:1.5rem;font-size:.86rem;line-height:1.85}.checkpoint-ledger{border-top:3px solid var(--color-ink);margin:0;padding:0;list-style:none}.checkpoint-ledger li{border-bottom:1px solid var(--color-line);background:linear-gradient(90deg,#0000,#fff9);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:1.5rem;min-height:8rem;padding:1.4rem 0;display:grid}.checkpoint-ledger li>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.68rem}.checkpoint-ledger small{color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;font-family:Georgia,serif;font-size:.58rem}.checkpoint-ledger h2{font-family:var(--font-display);margin:.2rem 0 .25rem;font-size:clamp(1.45rem,3vw,2.2rem)}.checkpoint-ledger p{color:var(--color-muted);margin:0;font-size:.74rem}.checkpoint-ledger button,.assessment-submit button,.assessment-next{border:1px solid var(--color-ink);min-height:3.2rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;align-items:center;gap:1.2rem;padding:.45rem .5rem .45rem 1.15rem;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.checkpoint-ledger button span,.assessment-submit button span,.assessment-next b{aspect-ratio:1;width:2rem;color:var(--color-ink);background:var(--color-accent);place-items:center;display:grid}.checkpoint-ledger button:disabled,.assessment-submit button:disabled{cursor:not-allowed;opacity:.45}.assessment-index__message,.assessment-error{border-left:3px solid var(--color-teal);background:var(--color-teal-wash);color:var(--color-teal-deep);margin:1.25rem 0 0;padding:1rem 1.2rem;font-size:.74rem}.assessment-flow{border-top:3px solid var(--color-ink);box-shadow:var(--shadow-soft);background:#ffffffb8;animation:.44s ease-out both reveal-up}.assessment-flow__header{border-bottom:1px solid var(--color-line);background:linear-gradient(135deg,#d5f05f21,#0000 45%);grid-template-columns:minmax(0,1fr) auto;gap:3rem;padding:clamp(2rem,5vw,4.5rem);display:grid;position:relative}.assessment-flow__header h1{max-width:47rem;font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(3rem,6vw,5.8rem);line-height:1}.assessment-flow__header>div>p:last-child{max-width:38rem;color:var(--color-muted);margin:1.6rem 0 0;line-height:1.8}.assessment-flow__index{color:var(--color-teal);font-family:Georgia,serif;font-size:2.8rem}.assessment-flow__index small{color:var(--color-muted);font-size:.65rem}.assessment-rubric{padding:0 clamp(2rem,5vw,4.5rem)}.assessment-rubric fieldset{border:0;border-bottom:1px solid var(--color-line);grid-template-columns:minmax(16rem,1fr) minmax(18rem,.8fr);align-items:center;gap:2rem;margin:0;padding:2rem 0;display:grid}.assessment-rubric legend{grid-template-columns:2rem 1fr;width:100%;padding:0;display:grid}.assessment-rubric legend>span{color:var(--color-teal);grid-row:span 2;font-family:Georgia,serif;font-size:.62rem}.assessment-rubric legend strong{font-family:var(--font-display);font-size:1.35rem}.assessment-rubric legend small{color:var(--color-muted);margin-top:.35rem;font-size:.7rem}.assessment-rubric fieldset>div{border:1px solid var(--color-line);grid-template-columns:repeat(5,1fr);display:grid}.assessment-rubric label{cursor:pointer;min-width:0;position:relative}.assessment-rubric label+label{border-left:1px solid var(--color-line)}.assessment-rubric input{opacity:0;position:absolute}.assessment-rubric label>span{place-items:center;min-height:3.2rem;font-family:Georgia,serif;transition:background .14s;display:grid}.assessment-rubric input:checked+span{color:var(--color-ink);background:var(--color-accent);font-weight:700}.assessment-rubric input:focus-visible+span{outline:3px solid var(--color-teal);outline-offset:-3px}.assessment-submit{justify-content:space-between;align-items:center;gap:2rem;padding:2rem clamp(2rem,5vw,4.5rem);display:flex}.assessment-submit p{align-items:baseline;gap:.5rem;margin:0;display:flex}.assessment-submit p strong{font-family:Georgia,serif;font-size:2.4rem}.assessment-submit p span{color:var(--color-muted);font-size:.68rem}.assessment-error{margin:0 clamp(2rem,5vw,4.5rem) 2rem}.assessment-result{animation:.44s ease-out both reveal-up}.assessment-result__header{border-bottom:3px solid var(--color-ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3rem;padding-bottom:3rem;display:grid}.assessment-result__header h1{max-width:48rem;font-family:var(--font-display);letter-spacing:-.06em;margin:.5rem 0 0;font-size:clamp(3.2rem,6vw,6rem);line-height:1}.assessment-result__header>div>p:last-child{max-width:37rem;color:var(--color-muted);margin:1.5rem 0 0;line-height:1.8}.assessment-result__total{color:var(--color-teal);align-items:baseline;margin:0;font-family:Georgia,serif;display:flex}.assessment-result__total strong{font-size:clamp(4rem,8vw,7rem);font-weight:400}.assessment-result__total span{color:var(--color-muted)}.assessment-score-sheet{border-top:1px solid var(--color-line);margin:3rem 0}.assessment-score-sheet>div{border-bottom:1px solid var(--color-line);grid-template-columns:3rem 9rem minmax(10rem,1fr) 4rem 7rem;align-items:center;gap:1rem;min-height:4.5rem;display:grid}.assessment-score-sheet>div>span,.assessment-score-sheet small{color:var(--color-muted);font-size:.62rem}.assessment-score-sheet>div>div{background:var(--color-line);height:.3rem}.assessment-score-sheet i{background:var(--color-teal);height:100%;display:block}.assessment-score-sheet b{font-family:Georgia,serif;font-size:.72rem}.remediation-sheet{border-left:4px solid var(--color-accent);background:var(--color-teal-deep);color:var(--color-surface);grid-template-columns:minmax(18rem,.7fr) minmax(20rem,1.3fr);gap:clamp(2rem,6vw,6rem);margin:4rem 0;padding:clamp(2rem,5vw,4rem);display:grid}.remediation-sheet h2{font-family:var(--font-display);margin:.5rem 0 0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.1}.remediation-sheet ol{border-top:1px solid #ffffff40;margin:0;padding:0;list-style:none}.remediation-sheet li{border-bottom:1px solid #ffffff40;grid-template-columns:5rem 1fr;gap:1rem;padding:1rem 0;display:grid}.remediation-sheet li span{color:#bed5cf;font-family:Georgia,serif;font-size:.62rem}.remediation-sheet li p{margin:0;font-size:.78rem}.assessment-next{float:right;margin-top:1rem}@media (max-width:760px){.assessment-index>header,.assessment-flow__header,.assessment-result__header,.remediation-sheet{grid-template-columns:1fr}.assessment-index>header>p:last-child{border-top:2px solid var(--color-accent);border-left:0;padding:1rem 0 0}.checkpoint-ledger li{grid-template-columns:2rem minmax(0,1fr)}.checkpoint-ledger button{grid-column:2;justify-self:start}.assessment-flow__index{font-size:1.5rem;position:absolute;top:2rem;right:2rem}.assessment-rubric fieldset{grid-template-columns:1fr;gap:1.2rem}.assessment-score-sheet>div{grid-template-columns:2rem minmax(7rem,1fr) 3rem}.assessment-score-sheet>div>div{grid-area:2/2/auto/-1}.assessment-score-sheet small{grid-column:2/-1}}@media (max-width:520px){.assessment-index>header h1,.assessment-flow__header h1,.assessment-result__header h1{font-size:clamp(2.8rem,14vw,4.2rem)}.assessment-submit{flex-direction:column;align-items:stretch}.assessment-submit button{justify-content:space-between}}.workbook-panel{border:1px solid var(--color-line);border-radius:var(--radius-large) var(--radius-large) 0 var(--radius-large);background:linear-gradient(90deg, #17373b06 1px, transparent 1px), var(--color-surface);min-width:0;box-shadow:var(--shadow-soft);background-size:3.5rem 100%}.workbook-step{min-height:36rem;padding:clamp(2rem,5vw,4.5rem);animation:.28s ease-out both reveal-up}.step-kicker{color:var(--color-teal);letter-spacing:.15em;text-transform:uppercase;margin:0 0 1rem;font-family:Georgia,serif;font-size:.65rem}.workbook-step h2{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1}.step-intro{max-width:34rem;color:var(--color-muted);margin:1.25rem 0 2.5rem;font-size:.88rem;line-height:1.8}.review-ledger{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:1fr auto;max-width:36rem;margin:3.5rem 0;padding:1.5rem 0;display:grid}.review-ledger span,.review-ledger small{color:var(--color-muted);font-size:.72rem}.review-ledger strong{grid-row:span 2;font-family:Georgia,serif;font-size:3.2rem;font-weight:400;line-height:.9}.review-ledger small{margin-top:.45rem}.term-ledger{border-top:1px solid var(--color-line);max-width:42rem;margin:2.5rem 0 3rem;padding:0;list-style:none}.term-ledger li{border-bottom:1px solid var(--color-line);grid-template-columns:2.2rem minmax(8rem,1fr) minmax(8rem,.8fr);align-items:baseline;gap:1rem;padding:1rem 0;display:grid}.term-ledger li>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.6rem}.term-ledger li>strong{font-family:var(--font-display);font-size:1.15rem}.term-ledger li>small{color:var(--color-muted);font-size:.75rem}.pattern-stack{gap:.8rem;max-width:44rem;margin:2.5rem 0 3rem;display:grid}.pattern-stack article{border:1px solid var(--color-line);border-radius:var(--radius-small);background:#f7faf6bd;padding:1.35rem 1.5rem 1.35rem 4.3rem;position:relative}.pattern-stack article>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.63rem;position:absolute;top:1.5rem;left:1.4rem}.pattern-stack blockquote{font-family:var(--font-display);margin:0;font-size:1.12rem;line-height:1.45}.pattern-stack article>p{color:var(--color-muted);margin:.5rem 0 0;font-size:.72rem}.pattern-speech-summary{border-block:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:1rem;max-width:52rem;margin:1.5rem 0 -1rem;padding:.85rem 1rem;display:flex}.pattern-speech-summary span{color:var(--color-teal-deep);font-family:var(--font-display);font-size:.95rem;font-weight:700}.pattern-speech-summary small{color:var(--color-muted);font-size:.66rem}.pattern-stack--speech{max-width:52rem}.pattern-stack--speech article{padding-bottom:1rem;transition:border-color .16s,box-shadow .16s;overflow:hidden}.pattern-stack--speech article.is-complete{box-shadow:inset 3px 0 0 var(--color-teal);border-color:#147f7973}.pattern-speech-actions{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;margin-top:1rem;padding-top:.85rem;display:grid}.pattern-audio-controls,.pattern-record-controls{align-items:center;gap:.45rem;display:flex}.pattern-audio-controls button,.pattern-record-controls button,.pattern-speech-waiver{border:1px solid var(--color-teal);min-height:2.75rem;color:var(--color-teal-deep);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem .8rem;font-size:.68rem;font-weight:700}.pattern-audio-controls button{color:var(--color-surface);background:var(--color-teal)}.pattern-audio-controls button:disabled,.pattern-record-controls button:disabled,.pattern-speech-waiver:disabled{cursor:not-allowed;opacity:.45}.pattern-audio-controls label{color:var(--color-muted);align-items:center;gap:.3rem;font-size:.62rem;display:flex}.pattern-audio-controls select{border:1px solid var(--color-line);height:2.75rem;min-height:2.75rem;color:var(--color-ink);background:var(--color-surface);border-radius:999px;padding:.35rem .45rem}.pattern-record-controls input{display:none}.pattern-score{border-radius:var(--radius-small);background:#147f790e;gap:.3rem;margin-top:.8rem;padding:.75rem .9rem;display:grid}.pattern-score strong{color:var(--color-teal-deep);font-size:.72rem}.pattern-score small,.pattern-score p{color:var(--color-muted);margin:0;font-size:.66rem;line-height:1.55}.pattern-speech-message{max-width:52rem;color:var(--color-teal-deep);margin:-1.4rem 0 1.2rem;font-size:.72rem}.pattern-speech-waiver{border-color:var(--color-muted);color:var(--color-muted);margin:-.45rem 0 1rem;display:block}.output-brief{border-left:3px solid var(--color-accent);max-width:44rem;color:var(--color-teal-deep);background:var(--color-accent-soft);margin:1.5rem 0 2rem;padding:1rem 1.2rem;font-size:.84rem;line-height:1.7}.writing-field{gap:.65rem;max-width:46rem;margin-bottom:1.5rem;display:grid}.writing-field>span{color:var(--color-ink);font-size:.75rem;font-weight:700}.writing-field textarea{resize:vertical;border:1px solid var(--color-line);border-radius:var(--radius-small);width:100%;color:var(--color-ink);background:linear-gradient(transparent calc(1.8em - 1px), var(--color-line) 1.8em);font-family:var(--font-display);background-size:100% 1.8em;outline:none;padding:1.1rem 1.2rem;font-size:1rem;line-height:1.8;transition:border .16s,box-shadow .16s}.writing-field textarea:focus{border-color:var(--color-teal);box-shadow:0 0 0 4px #147f7914}.writing-field>small{color:var(--color-muted);font-size:.66rem}.learning-action{border:1px solid var(--color-ink);min-height:3.25rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;border-radius:999px;padding:.72rem 1.35rem;font-size:.78rem;font-weight:700;transition:transform .15s,background .15s}.learning-action:hover:not(:disabled){background:var(--color-teal-deep);transform:translateY(-1px)}.learning-action:disabled{cursor:not-allowed;opacity:.45}.learning-message{border-top:1px solid var(--color-line);color:var(--color-teal-deep);background:var(--color-accent-soft);margin:0;padding:1rem clamp(2rem,5vw,4.5rem);font-size:.75rem}.check-in-bar{border-top:1px solid var(--color-line);background:var(--color-teal-wash);justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem clamp(2rem,5vw,4.5rem);display:flex}.check-in-bar small,.check-in-bar strong{display:block}.check-in-bar small{color:var(--color-teal);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;font-family:Georgia,serif;font-size:.58rem}.check-in-bar strong{font-family:var(--font-display);font-size:1rem}.check-in-bar button{min-height:2.8rem;color:var(--color-ink);background:var(--color-accent);cursor:pointer;border:0;border-radius:999px;padding:.65rem 1rem;font-size:.72rem;font-weight:700}.check-in-bar button:disabled{cursor:default;opacity:.7}@keyframes loading-sweep{0%{transform:scaleX(.08)}to{transform:scaleX(1)}}@media (max-width:840px){.today-hero{grid-template-columns:1fr}.today-metrics{border-top:1px solid var(--color-line);border-left:0;grid-template-rows:auto;grid-template-columns:repeat(3,1fr)}.today-metrics div{border-right:1px solid var(--color-line);border-bottom:0}.today-metrics div:last-child{border-right:0}.learning-header{grid-template-columns:1fr;gap:1.5rem}.learning-flow{grid-template-columns:1fr;gap:1.25rem}.step-rail{padding:0 0 .75rem;position:static;overflow-x:auto}.step-rail>p,.flow-progress,.step-rail>small{display:none}.step-rail ol{min-width:35rem;display:flex}.step-rail li{flex:1}.step-rail li:not(:last-child):after{width:auto;height:1px;inset:1rem -.5rem auto 2.5rem}.step-rail button{grid-template-columns:2rem 1fr;column-gap:.55rem;padding-right:.6rem}}@media (max-width:620px){.today-page,.learning-page{padding-bottom:6.5rem}.today-hero{border-radius:var(--radius-medium) var(--radius-medium) 0 var(--radius-medium);min-height:auto}.today-hero__copy{min-height:31rem;padding:1.5rem}.today-hero h1{font-size:clamp(2.8rem,15vw,4.4rem)}.today-hero__brief{font-size:.86rem}.today-metrics{grid-template-columns:1fr;padding:.7rem 1.2rem}.today-metrics div{border-right:0;border-bottom:1px solid var(--color-line);grid-template-columns:1fr auto;padding:1rem 0;display:grid}.today-metrics div:last-child{border-bottom:0}.today-metrics dd{grid-row:span 2}.today-metrics__note{margin-top:0}.week-strip__header{display:block}.week-strip__header>p{margin-top:.75rem}.week-strip{overflow:hidden}.week-strip ol{grid-template-columns:repeat(7,5.4rem);overflow-x:auto}.learning-header h1{font-size:clamp(2.6rem,14vw,4rem)}.workbook-panel{border-radius:var(--radius-medium) var(--radius-medium) 0 var(--radius-medium)}.workbook-step{min-height:32rem;padding:1.6rem}.workbook-step h2{font-size:clamp(2.4rem,12vw,3.5rem)}.term-ledger li{grid-template-columns:1.8rem 1fr}.term-ledger li>small{grid-column:2}.pattern-stack article{padding:1.2rem 1.1rem 1.2rem 3.4rem}.pattern-stack article>span{left:1rem}.pattern-speech-summary{flex-direction:column;align-items:flex-start}.pattern-speech-actions{grid-template-columns:1fr}.pattern-audio-controls,.pattern-record-controls{flex-wrap:wrap;align-items:stretch}.pattern-audio-controls button,.pattern-record-controls button{flex:8.5rem}.check-in-bar{flex-direction:column;align-items:stretch;padding:1.25rem 1.6rem}.learning-message{padding:1rem 1.6rem}}.admin-shell{min-height:100svh}.admin-header,.admin-nav,.admin-main{width:min(calc(100% - 3rem), var(--content-max));margin-inline:auto}.admin-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;min-height:5.75rem;display:flex}.admin-identity{min-height:2.75rem;color:inherit;align-items:center;gap:.7rem;padding-inline:.25rem;text-decoration:none;display:flex}.admin-identity:hover strong{color:var(--color-teal)}.admin-account{align-items:center;gap:1rem;display:flex}.admin-identity>span{aspect-ratio:1;border:1px solid var(--color-line);background:var(--color-surface);width:2.25rem;font-family:var(--font-display);border-radius:50%;place-items:center;display:grid}.admin-identity strong,.admin-identity small{display:block}.admin-identity strong{font-size:.78rem}.admin-identity small{color:var(--color-muted);margin-top:.12rem;font-size:.64rem}.admin-nav{border-bottom:1px solid var(--color-line);align-items:center;gap:clamp(1.25rem,4vw,3.2rem);min-height:4.25rem;display:flex}.admin-nav a{color:var(--color-muted);font-size:.8rem;font-weight:650;text-decoration:none}.admin-nav a:last-child{margin-left:auto}.admin-nav a:hover{color:var(--color-ink)}.admin-nav a:focus-visible,.admin-shell button:focus-visible,.admin-shell input:focus-visible,.admin-shell select:focus-visible,.admin-shell textarea:focus-visible,.learner-table-region:focus-visible,.account-table-region:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.admin-dashboard,.admin-subpage{padding:clamp(3.5rem,8vw,7rem) 0 6rem}.admin-hero{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.58fr);align-items:end;gap:clamp(2rem,8vw,8rem);margin-bottom:clamp(3rem,7vw,6rem);display:grid}.admin-hero h1,.admin-subpage__heading h1,.course-editor__heading h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(3rem,6.5vw,6rem);font-weight:600;line-height:.98}.admin-hero h1 [data-accent=true]{color:var(--color-teal);display:block}.admin-hero>p,.admin-subpage__heading>p,.course-editor__heading>div>p{color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.85}.admin-section-heading{border-bottom:1px solid var(--color-ink);justify-content:space-between;align-items:end;gap:1.5rem;padding-bottom:1.5rem;display:flex}.admin-section-heading h2{font-family:var(--font-display);margin:.35rem 0 0;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:600}.admin-section-heading>span{color:var(--color-muted);font-size:.72rem}.risk-list{margin:0;padding:0;list-style:none}.risk-list li{border-bottom:1px solid var(--color-line);grid-template-columns:.75rem minmax(0,1fr) auto;align-items:start;gap:1.25rem;padding:1.55rem 0;display:grid}.risk-list__marker{border:1px solid var(--color-teal);border-radius:50%;width:.62rem;height:.62rem;margin-top:.32rem}.risk-list li[data-severity=critical] .risk-list__marker{border-color:var(--color-ink);background:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.risk-list li[data-severity=attention] .risk-list__marker{background:var(--color-teal)}.risk-list small{color:var(--color-teal);letter-spacing:.1em;font-family:Georgia,serif;font-size:.58rem}.risk-list h3{font-family:var(--font-display);margin:.25rem 0 .38rem;font-size:1.12rem}.risk-list p{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.6}.risk-list p strong{color:var(--color-ink);margin-right:.65rem}.risk-list time{color:var(--color-muted);font-family:Georgia,serif;font-size:.66rem}.admin-dashboard__secondary{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:minmax(0,1.15fr) minmax(17rem,.7fr);gap:1px;margin-top:clamp(4rem,8vw,7rem);display:grid}.invite-panel,.admin-note{background:var(--color-surface);padding:clamp(1.6rem,4vw,3.25rem)}.invite-panel header h2,.admin-note h2{font-family:var(--font-display);margin:.45rem 0 .8rem;font-size:clamp(1.75rem,3vw,2.6rem)}.invite-panel header>p:last-child,.admin-note>p{max-width:38rem;color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.7}.invite-panel form{grid-template-columns:minmax(0,1fr) 8rem auto;align-items:end;gap:.8rem;margin-top:2rem;display:grid}.invite-panel label,.learner-filters label,.course-editor label,.course-editor legend{color:var(--color-muted);letter-spacing:.04em;margin-bottom:.45rem;font-size:.66rem;font-weight:650;display:block}.invite-panel input,.invite-panel select,.learner-filters select,.course-editor input,.course-editor select,.course-editor textarea{border:1px solid var(--color-line);width:100%;min-height:2.9rem;color:var(--color-ink);background:var(--color-canvas);border-radius:.35rem;padding:.72rem .82rem}.invite-panel select,.learner-filters select,.course-editor select{height:2.9rem}.invite-panel button,.course-editor button,.admin-empty button{border:1px solid var(--color-ink);min-height:2.9rem;color:var(--color-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.7rem 1rem;font-size:.72rem;font-weight:700}.invite-panel form button{background:var(--color-accent)}.invite-panel button:disabled,.course-editor button:disabled{cursor:wait;opacity:.58}.invite-result{border:1px solid var(--color-teal);background:var(--color-teal-wash);grid-template-columns:minmax(0,1fr) auto;gap:.65rem 1rem;margin-top:1.25rem;padding:1rem;display:grid}.invite-result small{color:var(--color-teal);grid-column:1/-1;font-size:.64rem}.invite-result code{overflow-wrap:anywhere;align-self:center;min-width:0;font-size:.72rem}.admin-note{position:relative;overflow:hidden}.admin-note:after{aspect-ratio:1;border:1px solid var(--color-accent);content:"";border-radius:50%;width:8rem;position:absolute;bottom:-3rem;right:-3rem}.admin-note a{min-height:2.75rem;color:var(--color-teal);align-items:center;margin-top:2rem;font-size:.78rem;font-weight:700;display:inline-flex}.admin-empty,.admin-loading{border-bottom:1px solid var(--color-line);padding:2rem 0}.admin-empty strong{font-family:var(--font-display);font-size:1.1rem}.admin-empty p{color:var(--color-muted);margin:.5rem 0 0;font-size:.78rem}.admin-loading{color:var(--color-muted);align-items:center;gap:.8rem;font-size:.78rem;display:flex}.admin-loading span{aspect-ratio:1;background:var(--color-accent);border-radius:50%;width:.7rem;animation:1.2s ease-in-out infinite alternate pulse-soft}.admin-form-error{color:var(--color-teal-deep);font-size:.75rem}.admin-subpage__heading{grid-template-columns:minmax(0,1fr) minmax(16rem,.55fr);align-items:end;gap:1.5rem 5rem;margin-bottom:clamp(3.5rem,7vw,6rem);display:grid}.admin-subpage__heading .eyebrow{grid-column:1/-1;margin-bottom:0}.security-page{max-width:64rem;margin-inline:auto}.security-page__heading{grid-template-columns:minmax(0,1fr) minmax(16rem,.48fr);align-items:end;gap:2rem 5rem;margin-bottom:clamp(3rem,7vw,5.5rem);display:grid}.security-page__heading h1{font-family:var(--font-display);letter-spacing:-.055em;margin:.7rem 0 0;font-size:clamp(3.3rem,7vw,6rem);font-weight:600;line-height:.96}.security-page__heading>p{border-left:2px solid var(--color-accent);color:var(--color-muted);margin:0;padding-left:1.25rem;font-size:.8rem;line-height:1.8}.security-workspace{border:1px solid var(--color-line);border-top:3px solid var(--color-ink);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#d5f05f1a,#0000 42%),#ffffffd1;grid-template-columns:minmax(13rem,.55fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);padding:clamp(1.75rem,4vw,3.5rem);display:grid;position:relative}.security-workspace__index{color:var(--color-teal);align-items:baseline;font-family:Georgia,serif;display:flex;position:absolute;top:1.5rem;right:1.5rem}.security-workspace__index span{font-size:1.7rem}.security-workspace__index small{color:var(--color-muted);margin-left:.18rem;font-size:.58rem}.security-workspace__intro{padding-right:1rem}.security-workspace__intro h2{font-family:var(--font-display);letter-spacing:-.04em;margin:.5rem 0 1rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1.05}.security-workspace__intro>p:last-child{color:var(--color-muted);margin:0;font-size:.78rem;line-height:1.75}.security-form{gap:1.2rem;min-width:0;padding-top:2.4rem;display:grid}.security-form__account{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}.security-form__account span,.security-form label>span{color:var(--color-muted);letter-spacing:.04em;margin-bottom:.45rem;font-size:.67rem;font-weight:700;display:block}.security-form__account strong{overflow-wrap:anywhere;font-family:Georgia,serif;font-size:.78rem;font-weight:400}.security-form__new-password{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.security-form input{border:1px solid var(--color-line);width:100%;min-height:3rem;color:var(--color-ink);background:var(--color-canvas);border-radius:.35rem;padding:.75rem .85rem}.security-form__hint{color:var(--color-muted);margin:-.2rem 0 0;font-size:.68rem;line-height:1.65}.security-form__footer{border-top:1px solid var(--color-ink);justify-content:space-between;align-items:end;gap:1.5rem;min-height:4rem;margin-top:.35rem;padding-top:1.25rem;display:flex}.security-form__messages{min-width:0}.security-form__messages p{color:#8b322e;margin:0;font-size:.72rem;line-height:1.6}.security-form__messages p.is-success{color:var(--color-teal)}.security-form button{border:1px solid var(--color-accent);min-width:7.5rem;min-height:3rem;color:var(--color-ink);background:var(--color-accent);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.7rem 1.15rem;font-size:.72rem;font-weight:700}.security-form button:disabled{cursor:wait;opacity:.58}.learner-filters{border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,11rem));gap:1rem;padding:1.25rem 0;display:grid}.learner-table-region{max-width:100%;overflow-x:auto}.learner-table-region table{border-collapse:collapse;text-align:left;width:100%;min-width:52rem}.learner-table-region th,.learner-table-region td{border-bottom:1px solid var(--color-line);vertical-align:top;padding:1.3rem 1rem}.learner-table-region thead th{color:var(--color-muted);letter-spacing:.04em;font-size:.64rem;font-weight:650}.learner-table-region tbody th{font-family:var(--font-body)}.learner-table-region tbody strong,.learner-table-region tbody small{display:block}.learner-table-region tbody strong{font-size:.8rem}.learner-table-region tbody small,.learner-table-region tbody span{color:var(--color-muted);margin-top:.28rem;font-size:.68rem}.learner-table-region progress{background:var(--color-line);border:0;border-radius:999px;width:6rem;height:.25rem;margin-top:.5rem;display:block}.learner-table-region progress::-webkit-progress-bar{background:var(--color-line);border-radius:999px}.learner-table-region progress::-webkit-progress-value{background:var(--color-teal);border-radius:999px}.learner-table-region progress::-moz-progress-bar{background:var(--color-teal);border-radius:999px}.learner-risk-tags{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.learner-risk-tags li,.quiet-status{border:1px solid var(--color-line);color:var(--color-teal-deep);background:var(--color-teal-wash);border-radius:999px;padding:.35rem .5rem;font-size:.62rem;display:inline-flex}.account-course-strip{border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:2rem;padding:1.25rem 0 1.35rem;display:flex}.account-course-strip strong{font-family:var(--font-display);margin-top:.35rem;font-size:clamp(1.35rem,2.7vw,2.15rem);font-weight:600;display:block}.account-course-strip>p{color:var(--color-muted);text-align:right;margin:0;font-size:.74rem;line-height:1.65}.account-course-strip>p b{color:var(--color-teal-deep);font-weight:700}.account-course-strip>p span,.account-course-strip>p a{color:var(--color-muted);display:block}.account-course-strip>p a{min-height:2.75rem;color:var(--color-teal);padding-top:.55rem;font-weight:700}.account-course-strip[data-published=false]{border-top-color:var(--color-accent);background:linear-gradient(90deg, var(--color-accent-soft), transparent 48%)}.account-invite-workspace{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,.7fr) minmax(22rem,1fr);align-items:end;gap:clamp(2rem,7vw,6rem);padding:clamp(2rem,5vw,3.75rem) 0;display:grid}.account-invite-workspace h2{font-family:var(--font-display);margin:.4rem 0 .65rem;font-size:clamp(1.65rem,3vw,2.5rem);font-weight:600}.account-invite-workspace p{color:var(--color-muted);margin:0;font-size:.75rem;line-height:1.7}.account-invite-workspace label,.account-filters label{color:var(--color-muted);letter-spacing:.04em;margin-bottom:.45rem;font-size:.66rem;font-weight:650;display:block}.account-invite-workspace form>div{grid-template-columns:minmax(0,1fr) auto;gap:.65rem;display:grid}.account-invite-workspace input,.account-filters input,.account-filters select{border:1px solid var(--color-line);width:100%;min-height:2.9rem;color:var(--color-ink);background:var(--color-canvas);border-radius:.35rem;padding:.72rem .82rem}.account-invite-workspace input:disabled{cursor:not-allowed;opacity:.55}.account-filters select{height:2.9rem}.account-invite-workspace button,.account-one-time-link button,.account-actions button{border:1px solid var(--color-ink);min-height:2.75rem;color:var(--color-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.65rem .9rem;font-size:.68rem;font-weight:700}.account-invite-workspace button{border-color:var(--color-accent);background:var(--color-accent);white-space:nowrap}.account-invite-workspace button:disabled,.account-actions button:disabled{cursor:wait;opacity:.5}.account-one-time-link{border:1px solid var(--color-teal);background:var(--color-teal-wash);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem 1.1rem;display:grid}.account-one-time-link small,.account-one-time-link code{display:block}.account-one-time-link small{color:var(--color-teal-deep);font-size:.64rem}.account-one-time-link code{overflow-wrap:anywhere;margin-top:.45rem;font-size:.72rem}.account-directory__message{margin:1rem 0;font-size:.72rem}.account-directory__message.is-error{color:#8b322e}.account-directory__message.is-success{color:var(--color-teal)}.account-directory__heading{margin-top:clamp(3rem,7vw,5.5rem)}.account-filters{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(14rem,1fr) minmax(10rem,.35fr);gap:1rem;padding:1.25rem 0;display:grid}.account-table-region{max-width:100%;overflow-x:auto}.account-table-region table{border-collapse:collapse;text-align:left;width:100%;min-width:58rem}.account-table-region th,.account-table-region td{border-bottom:1px solid var(--color-line);vertical-align:top;padding:1.3rem .85rem}.account-table-region thead th{color:var(--color-muted);letter-spacing:.04em;font-size:.64rem;font-weight:650}.account-table-region tbody th{font-family:var(--font-body)}.account-table-region tbody strong,.account-table-region tbody small,.account-table-region tbody span{display:block}.account-table-region tbody strong{font-size:.78rem}.account-table-region tbody small,.account-table-region tbody span{color:var(--color-muted);margin-top:.28rem;font-size:.66rem;line-height:1.5}.account-table-region .account-state{border:1px solid var(--color-line);width:max-content;color:var(--color-teal-deep);background:var(--color-teal-wash);border-radius:999px;margin-top:0;padding:.32rem .52rem;display:inline-flex}.account-table-region .account-state[data-state=pending_activation],.account-table-region .account-state[data-state=password_reset_pending]{border-color:var(--color-accent);color:var(--color-ink);background:var(--color-accent-soft)}.account-table-region .account-state[data-state=disabled]{color:var(--color-muted);background:var(--color-canvas)}.account-actions{flex-wrap:wrap;gap:.45rem;display:flex}.account-actions button.is-danger{border-color:#8b322e}@supports (color:color-mix(in lab, red, red)){.account-actions button.is-danger{border-color:color-mix(in srgb, #8b322e 42%, var(--color-line))}}.account-actions button.is-danger{color:#7f312c}.course-editor__heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:4rem;display:grid}.course-editor__heading h1{margin-bottom:1rem}.course-editor__actions{gap:.75rem;display:flex}.course-editor .admin-primary-action{border-color:var(--color-accent);background:var(--color-accent)}.course-editor__grid{grid-template-columns:minmax(13rem,.32fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.course-editor__grid>aside{border-top:1px solid var(--color-ink);padding-top:1.5rem;position:sticky;top:1.5rem}.course-editor__grid>aside dl{margin:1.5rem 0 0}.course-editor__grid>aside dl div{border-bottom:1px solid var(--color-line);justify-content:space-between;padding:.8rem 0;display:flex}.course-editor__grid dt{color:var(--color-muted);font-size:.68rem}.course-editor__grid dd{margin:0;font-family:Georgia,serif;font-size:.72rem}.course-editor__form{min-width:0}.course-editor fieldset{border:0;margin:0 0 2.5rem;padding:0}.course-editor legend{border-bottom:1px solid var(--color-ink);width:100%;color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;padding:0 0 .8rem;font-size:1.05rem}.editor-field{margin-bottom:2.5rem}.course-editor textarea{resize:vertical;min-height:6rem}.editor-repeat-grid{gap:0;display:grid}.editor-repeat-grid>div{border-bottom:1px solid var(--color-line);grid-template-columns:2rem minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:.8rem;padding:.85rem 0;display:grid}.editor-repeat-grid>div>span{color:var(--color-teal);align-self:center;font-family:Georgia,serif;font-size:.64rem}.scenario-fields{grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;display:grid}.scenario-fields label:last-child{grid-column:1/-1}.course-editor__message{min-height:1.5rem;color:var(--color-teal);margin:2rem 0 0;font-size:.72rem}.course-publication-status{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1px;margin:1.5rem 0 3rem;padding:1px;display:grid}.course-publication-status>div{background:var(--color-surface);min-width:0;padding:1rem 1.1rem}.course-publication-status span,.course-publication-status small{color:var(--color-muted);font-size:.68rem;display:block}.course-publication-status strong{overflow-wrap:anywhere;color:var(--color-ink);font-family:var(--font-display);margin:.35rem 0;font-size:1.15rem;display:block}.course-publication-status b{color:var(--color-teal-deep);font-size:.76rem}.course-publication-status p{min-height:1.2rem;color:var(--color-muted);margin:.45rem 0;font-size:.7rem}.course-publication-status a{min-height:2.75rem;color:var(--color-ink);text-underline-offset:.25rem;align-items:center;font-size:.7rem;display:inline-flex}.course-publication-status[data-draft-state=dirty] b{color:#8f3528}@keyframes pulse-soft{to{opacity:.35;transform:scale(.75)}}@media (max-width:760px){.admin-header,.admin-nav,.admin-main{width:min(calc(100% - 2rem), var(--content-max))}.admin-nav{gap:1.5rem;overflow-x:auto}.admin-nav a{flex:none;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;display:inline-flex}.course-publication-status{grid-template-columns:1fr}.admin-nav a:last-child{margin-left:0}.admin-hero,.admin-subpage__heading,.security-page__heading,.security-workspace,.course-editor__heading,.course-editor__grid{grid-template-columns:minmax(0,1fr)}.security-workspace{gap:2rem}.security-workspace__intro{max-width:36rem;padding-right:3rem}.security-form{padding-top:0}.admin-hero h1,.admin-subpage__heading h1,.course-editor__heading h1{font-size:clamp(2.75rem,13vw,4.6rem)}.admin-dashboard__secondary{grid-template-columns:minmax(0,1fr)}.invite-panel form{grid-template-columns:minmax(0,1fr) 7.5rem}.invite-panel form button{grid-column:1/-1}.account-invite-workspace{grid-template-columns:minmax(0,1fr)}.course-editor__actions{flex-wrap:wrap}.course-editor__grid>aside{position:static}}@media (max-width:560px){.admin-header{min-height:5rem}.admin-identity div,.wordmark small{display:none}.admin-account{gap:.5rem}.admin-dashboard,.admin-subpage{padding-top:3.5rem}.risk-list li{grid-template-columns:.65rem minmax(0,1fr);gap:.8rem}.risk-list time{grid-column:2}.invite-panel form,.invite-result,.learner-filters,.account-course-strip,.account-one-time-link,.account-filters,.security-form__new-password,.scenario-fields{grid-template-columns:minmax(0,1fr)}.account-course-strip{align-items:start}.account-course-strip>p{text-align:left}.account-one-time-link button,.account-invite-workspace button{width:100%}.account-invite-workspace form>div{grid-template-columns:minmax(0,1fr)}.security-form__account,.security-form__footer{flex-direction:column;align-items:stretch}.security-form__account{gap:.3rem}.security-form button{width:100%}.invite-result small,.scenario-fields label:last-child{grid-column:auto}.learner-table-region{overflow:visible}.learner-table-region table,.learner-table-region tbody,.learner-table-region tr,.learner-table-region th,.learner-table-region td{width:100%;min-width:0;display:block}.learner-table-region thead{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.learner-table-region tr{border-bottom:1px solid var(--color-ink);padding:1rem 0}.learner-table-region th,.learner-table-region td{border:0;grid-template-columns:6rem minmax(0,1fr);padding:.65rem 0;display:grid}.learner-table-region th:before,.learner-table-region td:before{content:attr(data-label);color:var(--color-muted);font-size:.62rem;font-weight:500}.learner-table-region progress{grid-column:2}.account-table-region{overflow:visible}.account-table-region table,.account-table-region tbody,.account-table-region tr,.account-table-region th,.account-table-region td{width:100%;min-width:0;display:block}.account-table-region thead{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.account-table-region tr{border-bottom:1px solid var(--color-ink);padding:1rem 0}.account-table-region th,.account-table-region td{border:0;grid-template-columns:6rem minmax(0,1fr);padding:.65rem 0;display:grid}.account-table-region th:before,.account-table-region td:before{content:attr(data-label);color:var(--color-muted);font-size:.62rem;font-weight:500}.account-actions{grid-column:2}.account-actions button{flex:8rem}.editor-repeat-grid>div{grid-template-columns:1.6rem minmax(0,1fr)}.editor-repeat-grid>div label:last-child{grid-column:2}.course-editor__actions button{flex:auto}}.coach-page{padding:clamp(3.5rem,8vw,7rem) 0 8rem}.coach-hero{border-bottom:1px solid var(--color-ink);grid-template-columns:minmax(0,1fr) minmax(16rem,.34fr);align-items:end;gap:clamp(3rem,8vw,8rem);padding-bottom:clamp(3rem,7vw,6rem);display:grid}.coach-hero h1{max-width:54rem;font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.2rem,7.4vw,7.2rem);font-weight:600;line-height:.94}.coach-hero h1 [data-accent=true]{color:var(--color-teal-deep);display:block}.coach-hero aside{border-left:1px solid var(--color-teal);padding:1.5rem 0 0 1.6rem;position:relative}.coach-hero aside:before{aspect-ratio:1;background:var(--color-accent);content:"";border-radius:50%;width:.5rem;position:absolute;top:-.25rem;left:-.28rem}.coach-hero aside strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:400}.coach-hero aside p{color:var(--color-muted);margin:1rem 0 0;font-size:.82rem;line-height:1.85}.coach-library{padding:clamp(3.5rem,7vw,6.5rem) 0}.coach-library__heading{justify-content:space-between;align-items:end;gap:2rem;display:flex}.coach-library__heading h2,.coach-evidence h2{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:600;line-height:1}.coach-library__scope{border:1px solid var(--color-line);background:#ffffff9e;border-radius:999px;padding:.25rem;display:flex}.coach-library__scope button,.coach-channels button{min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;font-size:.75rem;font-weight:650}.coach-library__scope button{border-radius:999px;padding:.45rem 1rem}.coach-library__scope button[aria-pressed=true]{color:var(--color-ink);background:var(--color-accent)}.coach-channels{border-block:1px solid var(--color-line);scrollbar-width:none;gap:0;margin:2.5rem 0 2rem;display:flex;overflow-x:auto}.coach-channels::-webkit-scrollbar{display:none}.coach-channels button{flex:none;min-width:7rem;padding:0 1.25rem;position:relative}.coach-channels button:after{background:var(--color-teal);content:"";opacity:0;height:2px;transition:all .16s;position:absolute;bottom:-1px;left:1rem;right:1rem;transform:scaleX(.5)}.coach-channels button[aria-pressed=true]{color:var(--color-ink)}.coach-channels button[aria-pressed=true]:after{opacity:1;transform:scaleX(1)}.coach-library__scope button:focus-visible,.coach-channels button:focus-visible,.coach-resource a:focus-visible,.coach-resource button:focus-visible,.coach-resource input:focus-visible,.coach-evidence input:focus-visible,.coach-evidence textarea:focus-visible,.coach-evidence select:focus-visible,.coach-evidence button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.coach-resource-grid{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.coach-resource{background:linear-gradient(145deg, #d5f05f14, transparent 42%), var(--color-surface);min-width:0;padding:clamp(1.35rem,3vw,2.25rem);transition:transform .18s,box-shadow .18s}.coach-resource:hover{z-index:1;transform:translateY(-2px);box-shadow:0 18px 50px #17373b17}.coach-resource[data-completed=true]{background:linear-gradient(145deg, #147f7917, transparent 48%), var(--color-surface)}.coach-resource>header{grid-template-columns:3rem minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.coach-resource__mark{aspect-ratio:1;border:1px solid var(--color-ink);letter-spacing:.04em;border-radius:50%;place-items:center;width:3rem;font-family:Georgia,serif;font-size:.68rem;display:grid}.coach-resource[data-channel=xiaohongshu] .coach-resource__mark{color:#a92b2b;border-color:#d58b81}.coach-resource[data-channel=bilibili] .coach-resource__mark{color:#d45b82;border-color:#e9aac0}.coach-resource>header p,.coach-resource>header h3{margin:0}.coach-resource>header p{color:var(--color-teal);letter-spacing:.08em;font-family:Georgia,serif;font-size:.63rem}.coach-resource>header h3{font-family:var(--font-display);margin-top:.5rem;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:600;line-height:1.25}.coach-resource>header i{border:1px solid var(--color-line);color:var(--color-muted);white-space:nowrap;border-radius:999px;padding:.35rem .6rem;font-size:.62rem;font-style:normal}.coach-resource[data-completed=true]>header i{color:var(--color-teal-deep);border-color:var(--color-teal);background:var(--color-teal-wash)}.coach-resource__focus{color:var(--color-muted);margin:1.6rem 0 .8rem;font-size:.78rem;line-height:1.8}.coach-resource__brief{border-left:2px solid var(--color-teal);background:#147f790e;gap:.65rem;margin-bottom:1.4rem;padding:1rem 4.7rem 1rem 1rem;display:grid;position:relative}.coach-resource__brief p{color:var(--color-muted);grid-template-columns:4.5rem minmax(0,1fr);gap:.55rem;margin:0;font-size:.7rem;line-height:1.65;display:grid}.coach-resource__brief strong{color:var(--color-ink);font-weight:650}.coach-resource__brief>span{color:var(--color-teal);font-family:Georgia,serif;font-size:.64rem;position:absolute;top:1rem;right:1rem}.coach-resource__steps{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none}.coach-resource__steps li{border-bottom:1px solid var(--color-line);min-height:3rem;color:var(--color-muted);grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.4rem;font-size:.72rem;display:grid}.coach-resource__steps li span{font-family:Georgia,serif;font-size:.62rem}.coach-resource__steps li[data-complete=true]{color:var(--color-ink)}.coach-resource__steps li[data-complete=true] span{color:var(--color-teal)}.coach-resource__steps li[data-complete=true] span:after{content:"✓";margin-left:.35rem}.coach-resource__actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.4rem;display:grid}.coach-resource__actions a,.coach-resource__actions button,.coach-resource form button,.coach-evidence form>button{border:1px solid var(--color-ink);min-height:2.9rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;font-size:.7rem;font-weight:650;text-decoration:none;display:inline-flex}.coach-resource__actions a{justify-content:space-between;padding:0 .9rem}.coach-resource__actions button{color:var(--color-ink);background:0 0}.coach-resource form{margin-top:1.1rem}.coach-resource form>label{color:var(--color-ink);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.68rem;font-weight:650;display:flex}.coach-resource form label small{color:var(--color-muted);font-size:.6rem;font-weight:400}.coach-resource form>div{grid-template-columns:minmax(0,1fr) auto;margin-top:.55rem;display:grid}.coach-resource input,.coach-resource textarea,.coach-evidence input,.coach-evidence textarea,.coach-evidence select{border:1px solid var(--color-line);width:100%;min-width:0;min-height:2.9rem;color:var(--color-ink);background:var(--color-canvas);border-radius:0}.coach-evidence select{appearance:none;height:2.9rem}.coach-resource input,.coach-resource textarea{border-right:0;padding:.75rem .85rem}.coach-resource textarea{resize:vertical;min-height:7.5rem;line-height:1.6}.coach-resource form button{padding:0 .9rem}.coach-resource button:disabled,.coach-evidence button:disabled{cursor:wait;opacity:.52}.coach-resource>footer{color:var(--color-muted);margin-top:1.2rem;font-size:.58rem;line-height:1.6}.coach-notice,.coach-empty,.coach-loading{border:1px solid var(--color-line);min-height:8rem;color:var(--color-muted);background:var(--color-surface);padding:2rem;font-size:.82rem}.coach-notice a{color:var(--color-teal-deep);margin-top:1rem;font-weight:650;display:inline-flex}.coach-evidence{border-top:1px solid var(--color-ink);padding:clamp(3.5rem,7vw,6.5rem) 0 0}.coach-evidence>header{max-width:48rem}.coach-evidence__rhythms{border-block:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:3rem 0;display:grid}.coach-evidence__rhythms>div{border-right:1px solid var(--color-line);min-height:11rem;padding:1.5rem}.coach-evidence__rhythms>div:last-child{border-right:0}.coach-evidence__rhythms span{color:var(--color-teal);font-family:Georgia,serif;font-size:.65rem}.coach-evidence__rhythms strong{font-family:var(--font-display);margin-top:2.2rem;font-size:1.25rem;display:block}.coach-evidence__rhythms p{color:var(--color-muted);margin:.75rem 0 0;font-size:.72rem;line-height:1.7}.coach-evidence__workspace{grid-template-columns:minmax(18rem,.68fr) minmax(0,1.32fr);gap:clamp(2.5rem,7vw,7rem);display:grid}.coach-evidence form{grid-template-columns:1fr 1fr;align-content:start;gap:1rem;display:grid}.coach-evidence form label{color:var(--color-muted);font-size:.68rem}.coach-evidence input,.coach-evidence select,.coach-evidence textarea{margin-top:.45rem;padding:.75rem;display:block}.coach-evidence__note,.coach-evidence form>button{grid-column:1/-1}.coach-evidence textarea{resize:vertical;min-height:8rem}.coach-evidence__history{border-top:1px solid var(--color-ink);margin:0;padding:0;list-style:none}.coach-evidence__history li{border-bottom:1px solid var(--color-line);grid-template-columns:7rem 9rem minmax(0,1fr);align-items:start;gap:1rem;min-height:4.75rem;padding:1rem 0;display:grid}.coach-evidence__history time,.coach-evidence__history strong,.coach-evidence__history p{font-size:.7rem;line-height:1.65}.coach-evidence__history time{color:var(--color-teal);font-family:Georgia,serif}.coach-evidence__history p{color:var(--color-muted);margin:0}.coach-evidence__history .coach-evidence__empty{color:var(--color-muted);display:block}@media (max-width:860px){.coach-hero,.coach-evidence__workspace,.coach-resource-grid{grid-template-columns:minmax(0,1fr)}.coach-evidence__workspace{gap:3rem}}@media (max-width:620px){.coach-page{padding-top:3rem;padding-bottom:7rem}.coach-hero{gap:2rem}.coach-hero h1{font-size:clamp(3.2rem,16vw,5.2rem)}.coach-library__heading{flex-direction:column;align-items:stretch}.coach-library__scope{align-self:flex-start}.coach-channels{margin-inline:-1rem;padding-inline:.25rem}.coach-resource{padding:1.2rem}.coach-resource>header{grid-template-columns:2.5rem minmax(0,1fr)}.coach-resource__mark{width:2.5rem}.coach-resource>header i{grid-column:2;justify-self:start}.coach-resource__focus{min-height:0}.coach-resource__brief{padding-top:2.8rem;padding-right:1rem}.coach-resource__brief p{grid-template-columns:minmax(0,1fr);gap:.2rem}.coach-resource__actions,.coach-resource form>div,.coach-evidence form,.coach-evidence__rhythms{grid-template-columns:minmax(0,1fr)}.coach-resource form>label{flex-direction:column;align-items:start;gap:.3rem}.coach-resource input,.coach-resource textarea{border-right:1px solid var(--color-line);border-bottom:0}.coach-evidence__rhythms>div{border-right:0;border-bottom:1px solid var(--color-line);min-height:0}.coach-evidence__rhythms>div:last-child{border-bottom:0}.coach-evidence__rhythms strong{margin-top:1rem}.coach-evidence__note,.coach-evidence form>button{grid-column:auto}.coach-evidence__history li{grid-template-columns:1fr 1fr}.coach-evidence__history p{grid-column:1/-1}.primary-nav__link{font-size:.66rem}.primary-nav__index{font-size:.5rem}}.mentor-page{padding:clamp(3.5rem,8vw,7rem) 0 8rem}.mentor-hero{border-bottom:1px solid var(--color-ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem 5rem;padding-bottom:clamp(2.5rem,6vw,5rem);display:grid}.mentor-hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:.6rem 0 0;font-size:clamp(3.5rem,8vw,7.5rem);font-weight:600;line-height:.94}.mentor-hero div>p:last-child{max-width:48rem;color:var(--color-muted);margin:1.2rem 0 0;font-size:.8rem;line-height:1.8}.mentor-hero>a,.mentor-empty a,.mentor-assignments>li>a,.mentor-loading button,.mentor-task-card>a,.growth-continuation-card a,.roadmap-tools a{min-height:2.75rem;color:var(--color-teal-deep);align-items:center;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.mentor-loading,.mentor-empty{border:1px solid var(--color-line);background:var(--color-surface);margin-top:2rem;padding:clamp(2rem,5vw,4rem)}.mentor-loading button{border:1px solid var(--color-ink);cursor:pointer;background:0 0;margin-top:1rem;padding:0 1rem}.mentor-empty h2{font-family:var(--font-display);margin:.45rem 0 0;font-size:clamp(2rem,5vw,3.5rem)}.mentor-empty>p:not(.section-index){color:var(--color-muted);font-size:.78rem}.mentor-summary{border:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:2rem 0;display:grid}.mentor-summary>div{border-right:1px solid var(--color-line);background:#ffffffad;justify-content:space-between;align-items:baseline;gap:1rem;min-height:6rem;padding:1.25rem;display:flex}.mentor-summary>div:last-child{border-right:0}.mentor-summary span{color:var(--color-muted);font-size:.68rem}.mentor-summary strong{color:var(--color-teal);font-family:Georgia,serif;font-size:2.3rem;font-weight:400}.mentor-assignments{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.mentor-assignments>li{border:1px solid var(--color-line);border-left:4px solid var(--color-teal);background:var(--color-surface);padding:clamp(1.5rem,4vw,2.5rem)}.mentor-assignments>li[data-state=overdue]{border-left-color:#a84736}.mentor-assignments>li[data-state=reviewed]{border-left-color:var(--color-accent)}.mentor-assignments>li>header{justify-content:space-between;align-items:start;gap:1.5rem;display:flex}.mentor-assignments header span,.mentor-assignments header time{color:var(--color-teal);letter-spacing:.04em;font-size:.63rem;font-weight:700}.mentor-assignments h2{font-family:var(--font-display);margin:.5rem 0 0;font-size:clamp(1.65rem,4vw,2.6rem)}.mentor-assignments>li>p{max-width:55rem;color:var(--color-muted);font-size:.78rem;line-height:1.75}.mentor-assignments__waiting{background:var(--color-teal-wash);padding:.8rem 1rem}.mentor-assignments blockquote{background:var(--color-teal-deep);color:var(--color-surface);border:0;margin:1.5rem 0 0;padding:1.25rem}.mentor-assignments blockquote strong{color:var(--color-accent);font-size:.68rem}.mentor-assignments blockquote p{margin:.65rem 0;font-size:.8rem;line-height:1.75}.mentor-assignments blockquote footer{color:#bed5cf;font-size:.62rem}.mentor-task-card,.growth-continuation-card{border:1px solid var(--color-line);border-left:4px solid var(--color-accent);background:linear-gradient(135deg, #d5f05f1f, transparent 50%), var(--color-surface);grid-template-columns:minmax(12rem,.9fr) minmax(14rem,1fr) auto;align-items:center;gap:1.5rem;padding:clamp(1.35rem,4vw,2.25rem);display:grid}.mentor-task-card h2,.growth-continuation-card h3{font-family:var(--font-display);margin:.35rem 0 0;font-size:clamp(1.5rem,3vw,2.25rem)}.mentor-task-card>div>strong{color:var(--color-teal);margin-top:.65rem;font-size:.7rem;display:block}.mentor-task-card dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.mentor-task-card dl>div{border-left:1px solid var(--color-line);padding:.3rem .75rem}.mentor-task-card dt{color:var(--color-muted);font-size:.6rem}.mentor-task-card dd{margin:.25rem 0 0;font-family:Georgia,serif;font-size:1.4rem}.today-page>.mentor-task-card{margin-top:clamp(2rem,5vw,4rem)}.growth-tools,.growth-history{margin-top:clamp(3.5rem,8vw,7rem)}.growth-tools__grid{gap:1rem;display:grid}.growth-continuation-card{grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr) auto}.growth-continuation-card p:not(.section-index){color:var(--color-muted);margin:0;font-size:.74rem;line-height:1.7}.growth-history ol{border-top:1px solid var(--color-ink);margin:0;padding:0;list-style:none}.growth-history li{border-bottom:1px solid var(--color-line);grid-template-columns:7rem 9rem minmax(0,1fr);gap:1rem;padding:1rem 0;display:grid}.growth-history time,.growth-history strong,.growth-history p{margin:0;font-size:.7rem;line-height:1.65}.growth-history time{color:var(--color-teal);font-family:Georgia,serif}.growth-history p{color:var(--color-muted)}.roadmap-tools{border:1px solid var(--color-line);border-top:3px solid var(--color-teal);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem 5rem;margin-top:clamp(3rem,8vw,7rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.roadmap-tools h2{font-family:var(--font-display);margin:.4rem 0 0;font-size:clamp(2rem,4vw,3.4rem)}.roadmap-tools div>p:last-child{color:var(--color-muted);font-size:.75rem}.roadmap-tools nav{gap:1rem;display:flex}.roadmap-tools a{border:1px solid var(--color-ink);padding:0 1rem}.meeting-review__assignment{border-left:3px solid var(--color-accent);background:var(--color-teal-wash);margin:1.2rem 0;padding:1rem 1.2rem}.meeting-review__assignment p{color:var(--color-muted);margin:.35rem 0 0;font-size:.72rem}@media (max-width:760px){.mentor-hero,.mentor-task-card,.growth-continuation-card,.roadmap-tools{grid-template-columns:minmax(0,1fr)}.mentor-hero{align-items:start}.mentor-summary{grid-template-columns:minmax(0,1fr)}.mentor-summary>div{border-right:0;border-bottom:1px solid var(--color-line);min-height:4.5rem}.mentor-summary>div:last-child{border-bottom:0}.mentor-assignments>li>header{flex-direction:column}.mentor-task-card dl{border-block:1px solid var(--color-line)}.mentor-task-card dl>div:first-child{border-left:0}.growth-history li{grid-template-columns:1fr 1fr}.growth-history p{grid-column:1/-1}.roadmap-tools nav{flex-direction:column;align-items:stretch}}.resource-manager__heading{margin-bottom:clamp(3rem,6vw,5.5rem)}.resource-manager__grid{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.resource-editor,.resource-directory{border-top:1px solid var(--color-ink)}.resource-editor{padding-top:1.3rem;position:sticky;top:1.5rem}.resource-editor>header,.resource-directory>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.resource-editor>header p,.resource-directory>header p{color:var(--color-teal);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-family:Georgia,serif;font-size:.62rem}.resource-editor h2,.resource-directory h2{font-family:var(--font-display);margin:0;font-size:1.7rem}.resource-editor>header button{border:1px solid var(--color-line);min-height:2.75rem;color:var(--color-muted);cursor:pointer;background:0 0;padding:0 .8rem;font-size:.68rem}.resource-editor__fields{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.8rem;display:grid}.resource-editor__fields label{color:var(--color-muted);font-size:.66rem}.resource-editor__fields input,.resource-editor__fields select,.resource-editor__fields textarea{border:1px solid var(--color-line);width:100%;min-height:2.9rem;color:var(--color-ink);background:var(--color-surface);border-radius:0;margin-top:.4rem;padding:.7rem;display:block}.resource-editor__fields select{appearance:none;height:2.9rem}.resource-editor__fields textarea{resize:vertical;min-height:5.8rem}.resource-editor__wide{grid-column:1/-1}.resource-editor__privacy{color:var(--color-muted);margin:1rem 0;font-size:.66rem;line-height:1.6}.resource-editor>button[type=submit]{border:1px solid var(--color-ink);width:100%;min-height:3.15rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;font-size:.72rem;font-weight:650}.resource-editor>button:disabled{cursor:wait;opacity:.55}.resource-editor__notice{border-left:2px solid var(--color-teal);color:var(--color-muted);background:var(--color-teal-wash);margin:.75rem 0 0;padding:.75rem;font-size:.68rem;line-height:1.6}.resource-directory{padding-top:1.3rem}.resource-directory>header strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:400}.resource-directory ol{margin:1.8rem 0 0;padding:0;list-style:none}.resource-directory li{border-bottom:1px solid var(--color-line)}.resource-directory li>button{width:100%;min-height:6.3rem;color:var(--color-ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:6.2rem minmax(0,1fr) auto;align-items:center;gap:.45rem 1rem;padding:1rem 0;display:grid;position:relative}.resource-directory li>button:hover{background:linear-gradient(90deg,#d5f05f2e,#0000 72%)}.resource-directory li span{color:var(--color-teal);grid-row:1/3;font-family:Georgia,serif;font-size:.67rem}.resource-directory li strong{font-family:var(--font-display);align-self:end;font-size:1rem}.resource-directory li small{color:var(--color-muted);align-self:start;font-size:.62rem}.resource-directory li i{border:1px solid var(--color-teal);color:var(--color-teal-deep);border-radius:999px;grid-area:1/3/3;padding:.35rem .55rem;font-size:.6rem;font-style:normal}.resource-directory li[data-status=inactive]{opacity:.58}.resource-directory li[data-status=inactive] i{border-color:var(--color-line);color:var(--color-muted)}.resource-editor button:focus-visible,.resource-editor input:focus-visible,.resource-editor textarea:focus-visible,.resource-editor select:focus-visible,.resource-directory button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.material-studio{position:relative}.material-studio__grid{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);display:grid}.material-editor,.material-catalog{border-top:1px solid var(--color-ink);padding-top:1.3rem}.material-editor{gap:1rem;display:grid;position:sticky;top:1rem}.material-editor h2,.material-catalog h2{font-family:var(--font-display);margin:0;font-size:1.45rem}.material-editor label{color:var(--color-muted);font-size:.67rem}.material-editor input:not([type=checkbox]),.material-editor select,.material-editor textarea{border:1px solid var(--color-line);width:100%;min-height:2.9rem;color:var(--color-ink);background:var(--color-surface);border-radius:0;margin-top:.4rem;padding:.75rem;display:block}.material-editor textarea{resize:vertical;min-height:15rem;line-height:1.7}.material-editor__file{border:1px dashed var(--color-teal);padding:.8rem}.material-editor__confirm{grid-template-columns:1.2rem minmax(0,1fr);align-items:start;gap:.7rem;line-height:1.6;display:grid}.material-editor__confirm input{width:1.1rem;height:1.1rem;accent-color:var(--color-teal);margin:.15rem 0 0}.material-editor>button,.material-catalog button{border:1px solid var(--color-ink);min-height:2.85rem;color:var(--color-surface);background:var(--color-ink);cursor:pointer;padding:0 1rem;font-size:.68rem}.material-editor button:disabled,.material-catalog button:disabled{cursor:wait;opacity:.48}.material-catalog>header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.material-catalog>header span{color:var(--color-teal);font-family:Georgia,serif;font-size:.68rem}.material-catalog>ol{border-top:1px solid var(--color-line);margin:1rem 0 0;padding:0;list-style:none}.material-catalog>ol>li{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.2rem 0;display:grid}.material-catalog li small,.material-catalog li strong{display:block}.material-catalog li small{color:var(--color-teal);margin-bottom:.3rem;font-size:.62rem}.material-catalog li strong{font-family:var(--font-display);font-size:1rem}.material-catalog li p,.material-catalog__empty{color:var(--color-muted);font-size:.68rem;line-height:1.65}.material-catalog__actions{grid-template-columns:repeat(2,minmax(4.2rem,1fr));gap:.45rem;display:grid}.material-catalog__actions button{color:var(--color-ink);background:0 0}.material-catalog__scenario-heading{margin-top:3rem}.material-studio__notice{z-index:4;width:fit-content;max-width:min(32rem,100%);color:var(--color-surface);background:var(--color-ink);margin:2rem 0 0 auto;padding:.9rem 1.1rem;font-size:.7rem;position:sticky;bottom:1rem}@media (max-width:820px){.material-studio__grid{grid-template-columns:minmax(0,1fr)}.material-editor{position:static}}@media (max-width:520px){.material-catalog>ol>li{grid-template-columns:minmax(0,1fr)}.material-catalog__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.resource-manager__grid{grid-template-columns:minmax(0,1fr)}.resource-editor{position:static}}@media (max-width:560px){.resource-editor__fields,.resource-directory li>button{grid-template-columns:minmax(0,1fr)}.resource-editor__wide{grid-column:auto}.resource-directory li span,.resource-directory li i{grid-area:auto}.resource-directory li i{position:absolute;top:1rem;right:0}}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-canvas);scroll-behavior:smooth}body{min-width:20rem;color:var(--color-ink);background:linear-gradient(#17373b06 1px, transparent 1px), linear-gradient(90deg, #17373b06 1px, transparent 1px), var(--color-canvas);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:4.5rem 4.5rem;margin:0}button,input,textarea,select{font:inherit}a{text-underline-offset:.18em}::selection{color:var(--color-ink);background:var(--color-accent)}.ai-settings__heading{grid-template-columns:minmax(0,1fr) minmax(15rem,.42fr);align-items:end;gap:2rem 5rem;margin-bottom:clamp(3rem,6vw,5.5rem);display:grid}.ai-settings__heading .section-index{margin-bottom:.8rem}.ai-settings__heading h1{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(3rem,6.5vw,6rem);font-weight:600;line-height:.98}.ai-settings__heading>div>p:last-child,.ai-settings__updated{color:var(--color-muted);margin:1rem 0 0;font-size:.82rem;line-height:1.8}.ai-settings__updated{border-left:2px solid var(--color-accent);margin:0;padding-left:1.25rem}.ai-routing{border:1px solid var(--color-line);border-top:2px solid var(--color-ink);background:#ffffffc2;margin:0 0 clamp(2.5rem,5vw,4rem);padding:clamp(1.4rem,3vw,2.25rem)}.ai-routing legend{color:var(--color-ink);font-family:var(--font-display);padding:0;font-size:1.3rem;font-weight:600}.ai-routing__grid{grid-template-columns:minmax(14rem,.75fr) minmax(0,1fr);align-items:end;gap:1.5rem 3rem;margin-top:1.5rem;display:grid}.ai-routing label>span:first-child,.ai-provider-panel label>span:first-child{color:var(--color-muted);letter-spacing:.04em;margin-bottom:.45rem;font-size:.67rem;font-weight:700;display:block}.ai-routing select,.ai-provider-panel input:not([type=checkbox]){border:1px solid var(--color-line);width:100%;min-height:2.9rem;color:var(--color-ink);background:var(--color-canvas);border-radius:.35rem;padding:.72rem .82rem}.ai-routing select{height:2.9rem}.ai-routing__toggle,.ai-enabled,.ai-clear-key{cursor:pointer;align-items:center;gap:.7rem;min-height:2.9rem;display:flex}.ai-routing__toggle input,.ai-enabled input,.ai-clear-key input{width:2.75rem;height:2.75rem;accent-color:var(--color-teal);flex:0 0 2.75rem}.ai-routing__toggle span{gap:.14rem;display:grid}.ai-routing__toggle strong{font-size:.78rem}.ai-routing__toggle small{color:var(--color-muted);font-size:.68rem;line-height:1.5}.ai-routing__warning{border-left:2px solid var(--color-accent);color:var(--color-teal-deep);margin:1.4rem 0 0;padding:.8rem 0 .1rem 1rem;font-size:.75rem;line-height:1.7}.ai-provider-grid{border:1px solid var(--color-line);background:var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.ai-provider-panel{background:var(--color-surface);grid-template-rows:auto 1fr auto;min-width:0;padding:clamp(1.5rem,3.5vw,2.75rem);display:grid}.ai-provider-panel h2{font-family:var(--font-display);letter-spacing:-.035em;margin:.35rem 0 .65rem;font-size:clamp(1.9rem,3vw,2.7rem);font-weight:600}.ai-provider-panel header>p:last-child{min-height:2.9rem;color:var(--color-muted);margin:0;font-size:.76rem;line-height:1.7}.ai-provider-panel__fields{gap:1rem;margin-top:2rem;display:grid}.ai-enabled{border-bottom:1px solid var(--color-line);padding-bottom:.75rem;font-size:.78rem;font-weight:700}.ai-key-status{min-height:1.2rem;color:var(--color-teal);font-family:Georgia,serif;font-size:.68rem}.ai-clear-key{color:var(--color-teal-deep);font-size:.72rem}.ai-clear-key:has(input:disabled){cursor:not-allowed;opacity:.55}.ai-provider-panel footer{border-top:1px solid var(--color-line);justify-content:space-between;align-items:end;gap:1rem;margin-top:2rem;padding-top:1.1rem;display:flex}.ai-test-status{max-width:14rem;color:var(--color-muted);margin:0;font-size:.67rem;line-height:1.55}.ai-test-status.is-success{color:var(--color-teal)}.ai-test-status.is-failed{color:var(--color-teal-deep)}.ai-provider-panel button,.ai-save-button{border:1px solid var(--color-ink);min-height:2.9rem;color:var(--color-ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.7rem 1rem;font-size:.72rem;font-weight:700}.ai-provider-panel button:disabled,.ai-save-button:disabled{cursor:wait;opacity:.55}.ai-provider-panel button:not(:disabled):hover{background:var(--color-teal-wash)}.ai-speech-panel{border:1px solid var(--color-line);border-top:2px solid var(--color-teal);background:linear-gradient(135deg, #147f7912, transparent 48%), var(--color-surface);margin-top:clamp(2rem,4vw,3.5rem)}.ai-speech-panel>header{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(14rem,.55fr);align-items:center;gap:2rem;padding:clamp(1.5rem,3.5vw,2.75rem);display:grid}.ai-speech-panel h2{font-family:var(--font-display);letter-spacing:-.035em;margin:.35rem 0 .65rem;font-size:clamp(1.9rem,3vw,2.7rem)}.ai-speech-panel header>div>p:last-child{max-width:44rem;color:var(--color-muted);margin:0;font-size:.76rem;line-height:1.7}.ai-speech-panel__checks{grid-template-columns:repeat(3,1fr);display:grid}.ai-speech-panel__checks>div{border-right:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:1rem;min-height:5.5rem;padding:1.2rem clamp(1rem,3vw,2.2rem);display:flex}.ai-speech-panel__checks>div:last-child{border-right:0}.ai-speech-panel__checks span{color:var(--color-muted);font-size:.7rem}.ai-speech-panel__checks strong{border:1px solid var(--color-line);color:var(--color-muted);border-radius:999px;padding:.3rem .55rem;font-size:.62rem}.ai-speech-panel__checks strong.is-success{color:var(--color-teal);background:var(--color-teal-wash);border-color:#147f7940}.ai-speech-panel__checks strong.is-failed{color:#7d302b;background:#fff5f2}.ai-speech-panel>footer{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:2rem;padding:1.2rem clamp(1.5rem,3.5vw,2.75rem);display:flex}.ai-speech-panel footer p,.ai-speech-panel footer small{color:var(--color-muted);margin:0;font-size:.67rem;line-height:1.55;display:block}.ai-speech-panel footer button{border:1px solid var(--color-ink);min-height:2.9rem;color:var(--color-ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.7rem 1rem;font-size:.72rem;font-weight:700}.ai-speech-panel footer button:disabled{cursor:not-allowed;opacity:.5}.ai-settings__actions{border-top:1px solid var(--color-ink);justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;padding-top:1.5rem;display:flex}.ai-settings__actions>div{min-height:1.5rem}.ai-settings__notice{color:var(--color-teal);margin:0;font-size:.74rem;line-height:1.6}.ai-settings__actions .admin-form-error{margin:0}.ai-save-button{border-color:var(--color-accent);background:var(--color-accent)}@media (max-width:767px){.ai-settings__heading,.ai-routing__grid,.ai-provider-grid,.ai-speech-panel>header{grid-template-columns:minmax(0,1fr)}.ai-settings__updated{margin:0}.ai-provider-panel header>p:last-child{min-height:auto}.ai-speech-panel__checks{grid-template-columns:minmax(0,1fr)}.ai-speech-panel__checks>div{border-right:0;border-bottom:1px solid var(--color-line);min-height:4rem}.ai-speech-panel__checks>div:last-child{border-bottom:0}.ai-speech-panel>footer{flex-direction:column;align-items:stretch}.ai-speech-panel footer button{width:100%}.ai-settings__actions{flex-direction:column;align-items:stretch}.ai-save-button{width:100%}}
