: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__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}.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 span{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{z-index:50;width:100%;padding:0 0 max(.25rem, env(safe-area-inset-bottom));border-top:1px solid var(--color-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;position:fixed;bottom:0;left:0;right:0}.primary-nav__track{border-bottom:0;justify-content:space-around;gap:0;min-height:4.35rem}.primary-nav__link{flex-direction:column;flex:1;justify-content:center;gap:.16rem;min-height:4.35rem;font-size:.71rem}.primary-nav__link:after{inset:-1px 28% auto}.primary-nav__index{font-size:.54rem}.app-main{width:min(calc(100% - 2rem), var(--content-max))}.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 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{color:var(--color-muted);margin-bottom:2.2rem;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-block}.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 span{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}.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)}.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}.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 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 span{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,.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}.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{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}}@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 span{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}.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}.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{align-items:center;gap:.7rem;display:flex}.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{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 span{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}.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}.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}@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}.admin-nav a:last-child{margin-left:0}.admin-hero,.admin-subpage__heading,.course-editor__heading,.course-editor__grid{grid-template-columns:minmax(0,1fr)}.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}.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,.scenario-fields{grid-template-columns:minmax(0,1fr)}.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}.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}}*{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%}}
