.prompt-enhancer{grid-template-columns:280px minmax(0,1fr);gap:20px;display:grid}.prompt-enhancer__sidebar{flex-direction:column;gap:18px;max-height:70dvh;display:flex;overflow:hidden}.prompt-enhancer__history-panel{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.prompt-enhancer__history-search-wrap{position:relative}.prompt-enhancer__history-search-icon{color:var(--text-muted);fill:none;pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.prompt-enhancer__history-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;width:100%;min-height:42px;padding:10px 12px 10px 40px}.prompt-enhancer__history-search::placeholder{color:var(--text-muted)}.prompt-enhancer__history-search:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.prompt-enhancer__history-results{flex-direction:column;flex:1;gap:10px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.prompt-enhancer__history{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.prompt-enhancer__history-loading{color:var(--text-muted);align-items:center;gap:8px;min-height:42px;font-size:.85rem;display:inline-flex}.prompt-enhancer__history-spinner{border:2px solid var(--border);border-top-color:currentColor;border-radius:999px;width:16px;height:16px;animation:.8s linear infinite prompt-enhancer-history-spin;display:inline-block}.prompt-enhancer__history-row{grid-template-columns:minmax(0,1fr) 34px;gap:8px;min-width:0;display:grid}.prompt-enhancer__history-item,.prompt-enhancer__history-delete{border-radius:var(--radius-sm);cursor:pointer;font:inherit}.prompt-enhancer__history-item{border:1px solid var(--border);color:var(--text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;padding:10px 12px;display:flex}.prompt-enhancer__history-item:hover,.prompt-enhancer__history-delete:hover{background:var(--surface-strong)}.prompt-enhancer__history-preview{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.prompt-enhancer__history-delete{border:1px solid var(--border);color:var(--text-muted);background:0 0;justify-content:center;align-items:center;width:34px;height:100%;min-height:42px;padding:0;display:inline-flex}.prompt-enhancer__history-delete svg{fill:currentColor;width:16px;height:16px}.prompt-enhancer__history-pagination{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.prompt-enhancer__history-page-status{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:.78rem}.prompt-enhancer__history-page-button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;background:0 0;justify-content:center;align-items:center;width:100%;height:42px;min-height:42px;padding:0;display:inline-flex}.prompt-enhancer__history-page-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:18px;height:18px}.prompt-enhancer__history-page-button:hover:not(:disabled){background:var(--surface-strong)}.prompt-enhancer__history-page-button:disabled{cursor:not-allowed;opacity:.55}.prompt-enhancer__quota{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.prompt-enhancer__main{flex-direction:column;gap:20px;min-width:0;min-height:62vh;display:flex}.prompt-enhancer__transcript{flex-direction:column;flex:1;gap:12px;max-height:50vh;padding:4px;display:flex;overflow-y:auto}.prompt-enhancer[data-status=idle] .prompt-enhancer__transcript{max-height:none;overflow:visible}.prompt-enhancer__empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:18px;min-height:180px;padding:28px;display:flex}.prompt-enhancer__empty-intro{flex-direction:column;gap:8px;display:flex}.prompt-enhancer__empty-intro .prompt-enhancer__muted{font-size:1.0625rem}.prompt-enhancer__empty-title{margin:0;font-size:1.35rem;line-height:1.25}.prompt-enhancer__empty-cta{align-self:flex-start}.prompt-enhancer__turn{border-radius:var(--radius-sm);white-space:pre-wrap;max-width:min(88%,760px);padding:12px 14px;line-height:1.55}.prompt-enhancer__turn--user{background:var(--accent-soft);align-self:flex-end}.prompt-enhancer__turn--assistant{background:var(--surface-strong);border:1px solid var(--border);align-self:flex-start}.prompt-enhancer__turn.is-streaming:after{content:"|";margin-left:2px;animation:1s steps(2,end) infinite prompt-enhancer-blink}@keyframes prompt-enhancer-blink{50%{opacity:0}}.prompt-enhancer__result{background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:20px;display:flex}.prompt-enhancer__result-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.prompt-enhancer__result-body{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);white-space:pre-wrap;max-height:42vh;margin:0;padding:16px;font-size:14px;line-height:1.6;overflow-y:auto}.prompt-enhancer__changes{color:var(--text)}.prompt-enhancer__changes summary{cursor:pointer;font-weight:700}.prompt-enhancer__reasoning{color:var(--text-muted);margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.prompt-enhancer__reasoning li{margin:4px 0}.prompt-enhancer__reasoning strong{color:var(--text);font-weight:700}.prompt-enhancer__composer{flex-direction:column;gap:14px;display:flex}.prompt-enhancer__composer textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);resize:vertical;min-height:132px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:14px 16px;line-height:1.55}.prompt-enhancer__composer textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.prompt-enhancer__composer textarea:disabled{cursor:not-allowed;opacity:.55}.prompt-enhancer__field-label{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:12px;font-weight:700}.prompt-enhancer__actions{justify-content:flex-end;gap:10px;display:flex}.prompt-enhancer__new-prompt{margin-right:auto}.prompt-enhancer__enhance-icon{fill:currentColor;height:16px;transition:transform var(--dur-base) var(--ease-out);flex-shrink:0;width:16px}.prompt-enhancer__enhance-button:hover:not(:disabled){background:var(--surface);color:var(--text)}.prompt-enhancer__enhance-button:hover:not(:disabled) .prompt-enhancer__enhance-icon{transform:rotate(-12deg)scale(1.15)}.prompt-enhancer__enhance-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}.prompt-enhancer__enhance-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.prompt-enhancer__muted{color:var(--text-muted);line-height:1.6}.prompt-enhancer__small{font-size:.85rem}@media (max-width:900px){.prompt-enhancer{grid-template-columns:1fr}.prompt-enhancer__main{order:-1}.prompt-enhancer__sidebar{max-height:none}}@media (max-width:640px){.prompt-enhancer__turn{max-width:100%}.prompt-enhancer__result-header,.prompt-enhancer__actions{flex-direction:column;align-items:stretch}}.preset-library{--preset-library-vv-left:0px;--preset-library-vv-top:0px;--preset-library-vv-width:100vw;--preset-library-vv-height:100vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);inset:auto;left:calc(var(--preset-library-vv-left) + var(--preset-library-vv-width) / 2);max-height:min(720px, calc(var(--preset-library-vv-height) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));max-width:none;top:calc(var(--preset-library-vv-top) + var(--preset-library-vv-height) / 2);transform-origin:50%;width:min(880px, calc(var(--preset-library-vv-width) - 32px));flex-direction:column;gap:18px;margin:0;padding:28px 28px 24px;position:fixed;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 60px #00000040}.preset-library::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#781f5a80}.preset-library[open]{animation:preset-library-in .2s var(--ease-out,cubic-bezier(.2, .7, .3, 1));display:flex}@keyframes preset-library-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.preset-library__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:12px}.preset-library__close:hover{color:var(--text)}.preset-library__header{flex-direction:column;gap:4px;padding-right:36px;display:flex}.preset-library__header h2{margin:0}.preset-library__subtitle{color:var(--text-muted);margin:4px 0 0}.preset-library__controls{flex-direction:column;gap:12px;display:flex}.preset-library__search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);width:100%;padding:12px 14px;font-size:.95rem}.preset-library__search:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.preset-library__chips{flex-wrap:wrap;gap:8px;display:flex}.preset-library__chip{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-out);background:0 0;padding:6px 12px;font-size:.85rem;font-weight:600}.preset-library__chip:hover{background:var(--surface-strong)}.preset-library__chip--active,.preset-library__chip--active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.preset-library__empty{color:var(--text-muted);text-align:center;margin:0;padding:32px 4px}.preset-library__grid{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;min-height:0;margin:0;padding:4px 4px 12px;list-style:none;display:grid;overflow-y:auto}.preset-library__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;font:inherit;text-align:left;height:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;gap:6px;width:100%;padding:14px 16px;display:flex}.preset-library__card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.preset-library__card:focus-visible{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.preset-library__card-eyebrow{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:.7rem;font-weight:700}.preset-library__card-title{font-size:1rem;font-weight:700}.preset-library__card-description{color:var(--text-muted);font-size:.85rem;line-height:1.45}@media (max-width:640px){.preset-library{border-radius:var(--radius-md);width:calc(var(--preset-library-vv-width) - 24px);padding:22px 18px 18px}.preset-library__grid{grid-template-columns:1fr}}.prompt-enhancer__thinking{align-items:center;gap:.3rem;padding:.1rem .15rem;display:inline-flex}.prompt-enhancer__thinking-dot{background:var(--text);opacity:.35;border-radius:999px;width:.45rem;height:.45rem;animation:1.2s ease-in-out infinite prompt-enhancer-thinking-pulse}.prompt-enhancer__thinking-dot:nth-child(2){animation-delay:.2s}.prompt-enhancer__thinking-dot:nth-child(3){animation-delay:.4s}@keyframes prompt-enhancer-thinking-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes prompt-enhancer-history-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.prompt-enhancer__history-spinner,.prompt-enhancer__thinking-dot{animation:none}.prompt-enhancer__thinking-dot{opacity:.6}}
.skills-hub{flex-direction:column;gap:18px;display:flex}.skills-hub__controls{flex-direction:column;gap:12px;display:flex}.skills-hub__search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);width:100%;padding:12px 14px;font-size:.95rem}.skills-hub__search:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.skills-hub__chips{flex-wrap:wrap;gap:8px;display:flex}.skills-hub__chip{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;transition:background var(--dur-fast) var(--ease-out);background:0 0;padding:6px 12px;font-size:.85rem;font-weight:600}.skills-hub__chip:hover{background:var(--surface-strong)}.skills-hub__chip--active,.skills-hub__chip--active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.skills-hub__empty{color:var(--text-muted);text-align:center;margin:0;padding:32px 4px}.skills-hub__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:4px 4px 12px;list-style:none;display:grid}.skills-hub__item{border-radius:var(--radius-md);transition:box-shadow var(--dur-base) var(--ease-out)}.skills-hub__item--focused{animation:2s ease-out both skills-hub-focus-flash}@keyframes skills-hub-focus-flash{0%{box-shadow:0 0 0 4px #ffa8e38c}60%{box-shadow:0 0 0 3px #ffa8e359}to{box-shadow:0 0 #ffa8e300}}.skills-hub__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;font:inherit;text-align:left;height:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;gap:6px;width:100%;padding:14px 16px;text-decoration:none;display:flex}.skills-hub__card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.skills-hub__card:focus-visible{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.skills-hub__card-eyebrow{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:.7rem;font-weight:700}.skills-hub__card-title{font-size:1rem;font-weight:700}.skills-hub__card-description{color:var(--text-muted);font-size:.85rem;line-height:1.45}.skills-hub__card-action{color:var(--text-muted);letter-spacing:.01em;margin-top:auto;padding-top:8px;font-size:.78rem;font-weight:600}.skills-hub__card:hover .skills-hub__card-action{color:var(--text)}.skills-hub__card[aria-busy=true]{cursor:progress}.skills-hub__card[aria-busy=true]:hover{border-color:var(--border);box-shadow:none;transform:none}.skills-hub__card-progress{background:var(--surface-strong);border-radius:999px;width:100%;height:4px;margin-top:auto;position:relative;overflow:hidden}.skills-hub__card-progress-bar{background:var(--accent);height:100%;transition:width var(--dur-fast) var(--ease-out)}.skills-hub__card-progress-bar--indeterminate{background:linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);width:40%;animation:1.2s linear infinite skills-hub-progress-indet;position:absolute;top:0}@keyframes skills-hub-progress-indet{0%{transform:translate(-100%)}to{transform:translate(250%)}}.skills-hub__card-progress-label{color:var(--text-muted);margin-top:6px;font-size:.78rem;font-weight:600}.skills-hub__card-action--error{color:#b22234}@media (max-width:640px){.skills-hub__grid{grid-template-columns:1fr}}.skills-hub-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.submit-skill-trigger{white-space:nowrap;flex-shrink:0}.submit-skill-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);flex-direction:column;gap:18px;width:100%;max-width:min(640px,94vw);max-height:min(92dvh,720px);padding:28px 28px 24px;position:relative;overflow:hidden auto;box-shadow:0 24px 60px #00000040}.submit-skill-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#781f5a80}.submit-skill-modal[open]{animation:submit-skill-in .2s var(--ease-out,cubic-bezier(.2, .7, .3, 1));display:flex}@keyframes submit-skill-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.submit-skill-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:12px}.submit-skill-modal__close:hover{color:var(--text)}.submit-skill-modal__header{flex-direction:column;gap:4px;padding-right:36px;display:flex}.submit-skill-modal__header h2{margin:0}.submit-skill-modal__subtitle{color:var(--text-muted);margin:4px 0 0}.submit-skill-modal__form{flex-direction:column;gap:14px;display:flex}.submit-skill-modal__field{flex-direction:column;gap:6px;display:flex}.submit-skill-modal__field>span{color:var(--text);font-size:.85rem;font-weight:600}.submit-skill-modal__field input[type=text],.submit-skill-modal__field input[type=file],.submit-skill-modal__field select,.submit-skill-modal__field textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);width:100%;padding:10px 12px;font-size:.95rem}.submit-skill-modal__field input:focus,.submit-skill-modal__field select:focus,.submit-skill-modal__field textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.submit-skill-modal__field textarea{font-family:var(--font-body);resize:vertical}.submit-skill-modal__field input:disabled,.submit-skill-modal__field select:disabled,.submit-skill-modal__field textarea:disabled{cursor:not-allowed;opacity:.6}.submit-skill-modal__file-meta{color:var(--text-muted);font-size:.78rem}.submit-skill-modal__notice{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);margin:0;padding:10px 12px;font-size:.8rem;line-height:1.5}.submit-skill-modal__message{border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:.9rem}.submit-skill-modal__message--info{background:var(--surface-strong);color:var(--text)}.submit-skill-modal__message--error{color:#b22234;background:#b2223414;border:1px solid #b2223466}.submit-skill-modal__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.submit-skill-modal__success{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.submit-skill-modal__success p{color:var(--text);margin:0;font-size:1rem;line-height:1.5}@media (max-width:640px){.submit-skill-modal{border-radius:var(--radius-md);padding:22px 18px 18px}}.submit-skill-modal__attest{align-items:flex-start;gap:10px;display:flex}.submit-skill-modal__attest input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;margin-top:3px}.submit-skill-modal__attest label{color:var(--text-muted);font-size:.82rem;line-height:1.5}.submit-skill-modal__attest-terms{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.5}.skills-hub__card-badge{background:var(--accent-soft);color:var(--text);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:.66rem;font-weight:700}.skill-disclaimer-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);flex-direction:column;gap:16px;width:100%;max-width:min(460px,94vw);padding:28px 28px 24px;box-shadow:0 24px 60px #00000040}.skill-disclaimer-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#781f5a80}.skill-disclaimer-modal[open]{animation:submit-skill-in .2s var(--ease-out,cubic-bezier(.2, .7, .3, 1));display:flex}.skill-disclaimer-modal__header{flex-direction:column;gap:4px;display:flex}.skill-disclaimer-modal__header h2{margin:0}.skill-disclaimer-modal__body{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.55}.skill-disclaimer-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (max-width:640px){.skill-disclaimer-modal{border-radius:var(--radius-md);padding:22px 18px 18px}}
.ai-genius-page{max-width:960px}.ai-genius-embed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);min-height:640px;overflow:hidden}.ai-genius-embed iframe{border:0;width:100%;min-height:640px;display:block}
.owner-shell{background:var(--bg);color:var(--text);min-height:100dvh}.owner-header{border-bottom:1px solid var(--border);max-width:var(--page-max);padding:18px var(--page-pad-x);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.owner-logo{width:auto;height:30px}.owner-header__right{align-items:center;gap:16px;display:flex}.owner-eyebrow{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:12px;font-weight:600}.owner-main{max-width:var(--page-max);padding:32px var(--page-pad-x) 96px;margin:0 auto}.stack-sm{flex-direction:column;gap:8px;display:flex}.owner-auth{max-width:460px;margin:48px auto 0}.owner-mfa-form{align-items:stretch}.owner-mfa-steps{color:var(--text-muted);flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.owner-mfa-qr{border-radius:var(--radius-sm);background:#fff;align-self:center;width:220px;height:220px;padding:8px}.owner-mfa-key{background:var(--input-bg);border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.08em;word-break:break-all;padding:12px 14px;display:block}.owner-alert{border-radius:var(--radius-md);padding:14px 16px;font-size:14px}.owner-alert--error{background:var(--alert-error-bg);color:var(--alert-error-ink)}.owner-alert--info{background:var(--alert-info-bg);color:var(--alert-info-ink)}.owner-alert p{margin:0}.owner-dashboard__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.owner-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.owner-kpis--two{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-stat{background:var(--surface-strong);border-radius:var(--radius-md);flex-direction:column;gap:6px;min-width:0;padding:16px;display:flex;container-type:inline-size}.owner-stat__label{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:12px;font-weight:600}.owner-stat__value{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(16px,16cqi,26px);font-weight:700}.owner-stat__value--accent{background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-ink);align-self:flex-start;padding:2px 10px}.owner-stat__value--positive{color:var(--text)}.owner-stat__value--negative{color:var(--alert-error-ink)}.owner-pnl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.owner-card-section{border-top:1px solid var(--border);padding-top:16px}.owner-table{margin:0;padding:0;list-style:none}.owner-table__row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 0;display:grid}.owner-table--costs .owner-table__row{grid-template-columns:1fr auto}.owner-table--tier .owner-table__row{grid-template-columns:1.4fr .7fr 1fr 1fr}.owner-table--customer .owner-table__row{grid-template-columns:1.4fr .5fr .95fr .8fr .8fr .8fr .8fr}.owner-table--usage .owner-table__row{grid-template-columns:1.8fr .9fr 1.1fr .9fr 1fr}.owner-table__row--head{border-bottom:1px solid var(--border-strong);color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:12px;font-weight:600}.owner-table__row--total{border-bottom:none;border-top:1px solid var(--border-strong);font-weight:700}.owner-table__num{font-variant-numeric:tabular-nums;text-align:right}.owner-table__num--strong{font-weight:700}.owner-table__member{flex-direction:column;gap:2px;min-width:0;display:flex}.owner-table__member strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-table__sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.owner-usage__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.owner-usage__filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.owner-usage__search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);min-width:240px;min-height:44px;padding:0 14px}.owner-usage__search:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.owner-usage__select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;font-family:var(--font-body);min-height:44px;padding:0 14px;font-size:13px;font-weight:600}.owner-usage__select:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.owner-usage__error{color:var(--alert-error-ink)}.owner-usage__retry{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}@media (max-width:900px){.owner-pnl-grid{grid-template-columns:1fr}.owner-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.owner-kpis{grid-template-columns:1fr}.owner-table--usage .owner-table__row{grid-template-columns:1.4fr 1fr 1fr}.owner-table--usage .owner-table__row>:nth-child(3),.owner-table--usage .owner-table__row>:nth-child(5){display:none}.owner-table--customer .owner-table__row{grid-template-columns:1.6fr 1fr 1fr}.owner-table--customer .owner-table__row>:nth-child(2),.owner-table--customer .owner-table__row>:nth-child(3),.owner-table--customer .owner-table__row>:nth-child(5),.owner-table--customer .owner-table__row>:nth-child(6){display:none}}.owner-goal__head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.owner-goal__count{align-items:baseline;gap:8px;margin:0;display:flex}.owner-goal__count-now{background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-ink);font-variant-numeric:tabular-nums;padding:4px 12px;font-size:1.6rem;font-weight:700;line-height:1.1}.owner-goal__count-goal{color:var(--text-muted);font-size:1.2rem;font-weight:600}.owner-goal__bar{height:16px}.owner-goal__meta{color:var(--text);font-size:1.05rem;font-weight:700}.owner-pager{justify-content:center;align-items:center;gap:12px;padding-top:4px;display:flex}.owner-pager__btn{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;font-family:var(--font-body);letter-spacing:var(--tracking-wide);text-transform:uppercase;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:8px 16px;font-size:12px;font-weight:700}.owner-pager__btn:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.owner-pager__btn:disabled{cursor:default;opacity:.45}.owner-pager__status{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{min-height:100dvh;font-family:var(--font-body);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.02;font-family:var(--font-display);color:var(--text)}h2{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.1;font-family:var(--font-display);color:var(--text)}h3{font-size:1.25rem;line-height:1.25}.lede{max-width:70ch;color:var(--text-muted);font-size:1.125rem;line-height:1.7}.site-shell{max-width:var(--page-max);min-height:100dvh;margin:0 auto;padding:24px}.site-header,.site-footer,.member-strip,.panel,.module-card,.module-tile,.auth-card,.lesson-player,.certificate-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:28px}.site-header,.site-footer,.member-strip,.hero-panel,.dashboard-grid,.card-grid,.field-grid,.button-row,.section-heading,.lesson-player-meta,.breadcrumbs,.certificate-row,.meta-row{gap:16px;display:flex}.site-header,.member-strip,.section-heading,.lesson-player-meta,.certificate-row,.meta-row{justify-content:space-between;align-items:center}.site-main,.stack-lg,.stack-md,.auth-shell,.footer-links,.auth-form,.lesson-list,.faq-list,.topic-list,.resource-list,.certificate-list{flex-direction:column;display:flex}.site-main,.stack-lg,.auth-shell,.faq-list,.topic-list,.certificate-list{gap:24px}.stack-md,.footer-links,.auth-form,.lesson-list,.resource-list{gap:16px}.site-header{position:relative;overflow:hidden}.site-main{padding:28px 0 40px}.brand-lockup{align-items:center;gap:14px;min-width:0;display:inline-flex}.brand-lockup strong{letter-spacing:.01em;font-size:1.05rem;display:block}.brand-lockup small,.field span,.footer-copy,.lesson-row p,.certificate-row p,.module-card p,.panel p,.resource-list span{color:var(--text-muted);font-size:.88rem;display:block}.panel .lede,.module-card .lede,.certificate-row .lede,.lesson-row .lede{font-size:1.125rem}.brand-mark{border-radius:var(--radius-pill);width:14px;height:14px;display:inline-block}.brand-lockup img{width:auto;height:32px;display:block}.ticker-strip{width:calc(100% + 48px);margin:-24px -24px 20px}.nav-links{text-transform:uppercase;letter-spacing:var(--tracking-wide);flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;font-weight:500;display:flex}.nav-links a{color:var(--text);min-height:44px;transition:color var(--dur-base) var(--ease-out);align-items:center;padding:8px 0;display:inline-flex}.nav-links a:hover{color:var(--text-muted)}.member-strip{border-left:4px solid var(--pink);margin-top:20px;padding-left:28px}.hero-panel{grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);align-items:stretch;gap:24px;display:grid}.hero-copy,.hero-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:40px}.hero-copy h1{margin-bottom:12px}.hero-card{background:var(--bg);background-image:var(--bg-hero,none);color:var(--text-on-dark);background-position:50%;background-repeat:no-repeat;background-size:cover;border:none;position:relative;overflow:hidden}.hero-card:before{content:"";pointer-events:none;background:linear-gradient(#480b3326,#480b338c);position:absolute;inset:0}.hero-card>*{z-index:1;position:relative}.hero-card .eyebrow{color:var(--text-on-dark-muted)}.hero-card .plain-list,.hero-card .list-diamond{color:var(--text-on-dark)}.primary-button,.ghost-button{border-radius:var(--radius-pill);cursor:pointer;text-transform:uppercase;min-height:48px;letter-spacing:var(--tracking-wide);font-size:13px;font-weight:700;font-family:var(--font-body);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out);justify-content:center;align-items:center;gap:10px;padding:0 26px;text-decoration:none;display:inline-flex}.primary-button{background:var(--text);border:1px solid var(--text);color:var(--surface);box-shadow:var(--shadow-btn-primary)}.primary-button:hover{box-shadow:var(--shadow-btn-primary-hover);transform:translateY(-2px)}.primary-button.small{min-height:42px;padding:0 20px}.primary-button.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-btn-accent)}.primary-button.accent:hover{background:var(--surface);box-shadow:var(--shadow-btn-accent-hover)}.primary-button.pink{background:var(--pink);border-color:var(--pink);color:var(--text);box-shadow:var(--shadow-btn-pink)}.primary-button.pink:hover{background:var(--surface)}.primary-button:disabled,.primary-button[aria-disabled=true]{cursor:not-allowed;opacity:.45;box-shadow:none}.primary-button:disabled:hover,.primary-button[aria-disabled=true]:hover{box-shadow:none;transform:none}.ghost-button{border:1.5px solid var(--border-strong);color:var(--text);background:0 0}.ghost-button:hover{border-color:var(--text);transform:translateY(-1px)}.ghost-button:disabled,.ghost-button[aria-disabled=true]{cursor:not-allowed;opacity:.35;pointer-events:none}.eyebrow{color:var(--text-soft);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-size:12px;font-weight:700;font-family:var(--font-body);margin:0 0 10px}.auth-shell{justify-content:center;align-items:center;min-height:calc(100dvh - 260px)}.auth-card{width:100%;max-width:560px}.auth-links{gap:16px;margin-top:18px;font-size:.92rem;display:flex}.field{flex-direction:column;gap:8px;display:flex}.auth-consent{color:var(--text);align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.auth-consent input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#781f5a);cursor:pointer;flex-shrink:0;margin-top:2px}.auth-consent a{color:inherit;text-decoration:underline}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:52px;color:var(--text);font-family:var(--font-body);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:0 16px}.field select{width:100%;min-height:0;padding:10px 12px;font-size:.95rem}.field textarea{resize:vertical;min-height:160px;padding:12px 16px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field-hint{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:13px;font-weight:400}.field label{text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);font-size:12px;font-weight:600}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch;display:grid}.month-calendar{flex-direction:column;gap:20px;display:flex}.month-calendar__nav{justify-content:center;align-items:center;gap:12px;display:flex}.month-calendar__label{text-align:center;min-width:9.5rem;font-size:1.15rem;font-weight:700}.month-calendar__scroll{flex-direction:column;gap:8px;display:flex}.month-calendar__weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-calendar__weekday{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;font-size:.75rem;font-weight:600}.month-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(96px,1fr);gap:6px;display:grid}.month-calendar__cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:4px;min-height:96px;padding:8px;display:flex}.month-calendar__cell--muted{opacity:.45}.month-calendar__cell--today{box-shadow:inset 0 0 0 2px var(--accent)}.month-calendar__day-number{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.month-calendar__today-label{background:var(--accent);border-radius:var(--radius-pill);color:var(--accent-ink);letter-spacing:.05em;text-transform:uppercase;padding:1px 7px;font-size:.6rem;font-weight:700}.month-calendar__events{flex-direction:column;gap:4px;display:flex}.month-calendar__chip{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;text-align:left;border:1px solid #0000;flex-direction:column;gap:2px;padding:4px 6px;font-size:.75rem;font-weight:600;line-height:1.2;display:flex}.month-calendar__chip:hover{border-color:var(--border-strong)}.month-calendar__chip--rsvped{background:var(--surface-strong)}.month-calendar__chip--past{border-color:var(--border);color:var(--text-soft);background:0 0}.month-calendar__chip--past .month-calendar__chip-time{text-decoration:line-through}.month-calendar__chip-time{font-weight:700}.month-calendar__chip-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:500}.month-calendar__dialog{background:0 0;border:none;max-width:min(520px,94vw);padding:0}.month-calendar__dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073}.month-calendar__dialog[open]{animation:.16s ease-out month-calendar-dialog-in}@keyframes month-calendar-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.month-calendar__panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);flex-direction:column;gap:14px;padding:28px;display:flex;position:relative}.month-calendar__dialog-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:1.5rem;font-weight:600;line-height:1;position:absolute;top:12px;right:12px}.month-calendar__dialog-close:hover{color:var(--text)}.month-calendar__agenda{display:none}.month-calendar__agenda-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.month-calendar__agenda-row{background:var(--accent-soft);border-radius:var(--radius-md);color:var(--text);border:1px solid #0000;grid-template-columns:minmax(96px,auto) 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 16px;display:grid}.month-calendar__agenda-row--rsvped{background:var(--surface-strong)}.month-calendar__agenda-row--past{border-color:var(--border);color:var(--text-soft);background:0 0}.month-calendar__agenda-open{color:inherit;cursor:pointer;font:inherit;grid-column:1/span 2;grid-template-columns:subgrid;text-align:left;background:0 0;border:none;align-items:center;gap:12px;margin:0;padding:4px 0;display:grid}.month-calendar__agenda-open:hover .month-calendar__agenda-date{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.month-calendar__agenda-date{font-size:.95rem;font-weight:700;line-height:1.2}.month-calendar__agenda-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.month-calendar__agenda-action{justify-content:flex-end;align-items:center;gap:8px;display:flex}.month-calendar__agenda-form{flex-direction:column;align-items:center;gap:4px;margin:0;display:flex}.month-calendar__agenda-cancel{border:1.5px solid var(--border-strong);box-shadow:none;color:var(--text);background:0 0}.month-calendar__agenda-cancel:hover{border-color:var(--text);background:0 0}.month-calendar__agenda-error{color:var(--accent-ink);text-align:right;font-size:.7rem}.month-calendar__agenda-time{font-size:.85rem;font-weight:600;line-height:1.2}.month-calendar__agenda-host{color:var(--text);font-size:.75rem;font-weight:700;line-height:1.3}.month-calendar__agenda-badge{background:var(--accent);border-radius:var(--radius-pill);color:var(--accent-ink);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:4px 10px;font-size:.65rem;font-weight:700}.month-calendar__agenda-badge--muted{border:1px solid var(--border);color:var(--text-soft);background:0 0}.month-calendar__agenda-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-style:italic}@media (max-width:640px){.month-calendar__scroll{display:none}.month-calendar__agenda{display:block}.month-calendar__panel{padding:22px 20px 26px}.month-calendar__agenda-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.month-calendar__agenda-open{flex:16rem;grid-column:auto;grid-template-columns:minmax(56px,auto) 1fr;min-width:16rem}.month-calendar__agenda-action{flex:none}}.module-card{flex-direction:column;gap:14px;display:flex;box-shadow:0 8px 22px #781f5a0f}.module-card h3{font-size:1.3rem;font-weight:700}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),380px));justify-content:start;gap:20px;display:grid}.module-tile{aspect-ratio:1;text-align:center;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:28px;text-decoration:none;display:flex}.module-tile h3{margin:0;font-size:1.15rem;font-weight:700}.module-tile p{margin:0;font-size:.95rem}.module-tile__icon{width:64px;height:64px}.module-tile--locked{opacity:.6}.progress-bar{background:var(--surface-strong);border-radius:var(--radius-pill);height:10px;overflow:hidden}.progress-bar span{background:var(--grad-magenta-orange);height:100%;display:block}.progress-pill{background:var(--surface-strong);border-radius:var(--radius-pill);color:var(--text);padding:8px 16px;font-size:.9rem;font-weight:600}.lesson-list,.certificate-list{border-top:1px solid var(--border)}.lesson-row,.certificate-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.lesson-row__actions{align-items:center;gap:16px;display:flex}.lesson-status{color:var(--text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap;font-size:.85rem;font-weight:600}.lesson-status--complete{background:var(--alert-success-bg);border-radius:var(--radius-pill);color:var(--alert-success-ink);padding:6px 12px}.lesson-status--locked{color:var(--text-muted)}.lesson-row--locked{cursor:not-allowed;opacity:.55}.lesson-card p{font-size:1.05rem;line-height:1.6}.lesson-video{border-radius:var(--radius-md);align-self:flex-start;max-width:100%;height:auto;display:block}.lesson-player{flex-direction:column;gap:20px;display:flex}.video-frame{aspect-ratio:16/9;background:var(--surface-dark);border-radius:var(--radius-md);width:100%;overflow:hidden}.youtube-player,.youtube-player iframe{border:0;width:100%;height:100%}.video-frame .mux-player{width:100%;height:100%}.lesson-hero{border-radius:var(--radius-lg);background:var(--surface-strong);justify-content:center;align-items:center;padding:22px;display:flex;overflow:hidden}.lesson-hero img{width:100%;max-width:440px;height:auto}.resource-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.resource-card{border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);flex-direction:column;gap:6px;padding:18px 20px;text-decoration:none;display:flex}.resource-card:hover{border-color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-3px)}.resource-card:focus-visible{outline:2px solid var(--text);outline-offset:3px}.resource-card__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.resource-card__title{font-size:1.15rem;font-weight:700;line-height:1.25}.resource-card__desc{color:var(--text-muted);font-size:.95rem;line-height:1.5}.resource-card__cta{margin-top:auto;padding-top:8px;font-weight:700}.resource-card__cta span{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.resource-card:hover .resource-card__cta span{transform:translate(4px)}.template-chips{flex-wrap:wrap;gap:10px;display:flex}.template-chip{border-radius:var(--radius-pill);border:1.5px solid var(--border-strong);background:var(--accent-soft);color:var(--text);transition:transform var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);align-items:center;padding:9px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.template-chip:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translateY(-2px)}.template-chip:focus-visible{outline:2px solid var(--text);outline-offset:2px}@media (prefers-reduced-motion:reduce){.resource-card,.resource-card:hover,.resource-card__cta span,.resource-card:hover .resource-card__cta span,.template-chip,.template-chip:hover{transform:none}}.breadcrumbs{color:var(--text-muted);align-items:center;font-size:.9rem}.rich-text{gap:14px;line-height:1.7;display:grid}.resource-list a,.auth-links a,.section-heading a,.breadcrumbs a{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.22em;transition:text-decoration-color var(--dur-fast) var(--ease-out)}.resource-list a:hover,.auth-links a:hover,.section-heading a:hover,.breadcrumbs a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.form-alert{border-radius:var(--radius-sm);padding:14px 16px;font-weight:500}.form-alert.error{background:var(--alert-error-bg);color:var(--alert-error-ink)}.form-alert.success{background:var(--alert-success-bg);color:var(--alert-success-ink)}.form-alert.info{background:var(--alert-info-bg);color:var(--alert-info-ink)}.form-meta{border-top:1px solid var(--border);color:var(--text-muted);margin:0;padding-top:16px;font-size:.88rem}.avatar-field{flex-wrap:wrap;align-items:center;gap:20px;display:flex}@media (max-width:640px){.avatar-field{flex-direction:column;align-items:flex-start}}.avatar-field__preview{background:var(--surface-strong);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:28px;display:flex;overflow:hidden}.avatar-field__preview img{object-fit:cover;width:100%;height:100%;display:block}.avatar-field__controls{flex-direction:column;gap:6px;display:flex}.avatar-field__label{color:var(--text-muted);font-size:.88rem;font-weight:600}.avatar-field__hint{color:var(--text-muted);margin:0 0 6px;font-size:.82rem}.avatar-field__input{display:none}.ghost-button.small{min-height:44px;padding:0 16px;font-size:12px}.plain-list{margin:0;padding-left:20px;line-height:1.6}.plain-list li+li{margin-top:8px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;display:grid}.footer-copy{text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-top:24px;font-size:.8rem}.footer-links a{color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out);font-size:.92rem}.footer-links a:hover{color:var(--text)}.certificate-hero{justify-content:center;align-items:center;min-height:calc(100dvh - 280px);display:flex}.certificate-panel{text-align:center;width:100%;max-width:720px;padding:48px}.certificate-message{color:var(--text-muted);max-width:36rem;margin:14px auto 20px;font-size:1.05rem;line-height:1.65}.certificate-issued{margin:0 0 22px}.skeleton{background:linear-gradient(90deg, var(--surface-strong) 0%, var(--border) 50%, var(--surface-strong) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s linear infinite skeleton-shimmer;display:block}.skeleton--round{border-radius:50%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.portal-page-skeleton{flex-direction:column;padding:8px 0;display:flex}.portal-page-skeleton__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.portal-shell{background:var(--bg);grid-template-columns:296px minmax(0,1fr);min-height:100dvh;display:grid}.portal-sidebar{background:var(--sidebar-bg);color:var(--sidebar-ink);flex-direction:column;gap:28px;height:100dvh;padding:28px 22px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.portal-topbar{background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-card-border);box-sizing:content-box;color:var(--sidebar-ink);height:56px;padding:env(safe-area-inset-top,0) max(16px, env(safe-area-inset-right,0)) 0 max(16px, env(safe-area-inset-left,0));z-index:55;justify-content:space-between;align-items:center;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #0000001f}.portal-topbar__brand{color:inherit;align-items:center;gap:10px;min-width:0;display:inline-flex}.portal-topbar__brand img{filter:brightness(0)invert();width:auto;height:28px;display:block}.portal-hamburger{color:inherit;cursor:pointer;width:44px;height:44px;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.portal-hamburger:hover,.portal-hamburger:focus-visible{background:var(--sidebar-card-bg);border-color:var(--sidebar-card-border)}.portal-hamburger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portal-hamburger__icon{flex-direction:column;justify-content:center;align-items:stretch;gap:4px;width:20px;height:16px;display:flex}.portal-hamburger__icon>span{transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);background:currentColor;border-radius:2px;flex:0 0 2px;width:100%;display:block}.portal-hamburger__icon.is-open>span:first-child{transform:translateY(6px)rotate(45deg)}.portal-hamburger__icon.is-open>span:nth-child(2){opacity:0}.portal-hamburger__icon.is-open>span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.portal-nav-backdrop{opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out);z-index:40;background:#0c0e148c;position:fixed;inset:0}.portal-nav-backdrop.is-open{opacity:1;pointer-events:auto}.portal-sidebar__logo{align-self:center;align-items:center;gap:10px;display:inline-flex}.portal-sidebar__logo img{filter:brightness(0)invert();width:auto;height:28px;display:block}.portal-sidebar__greet{color:var(--sidebar-ink);font-family:var(--font-display);letter-spacing:-.01em;align-self:center;align-items:center;gap:12px;margin:0;font-size:1.5rem;display:flex;transform:translate(-10px)}.portal-sidebar__avatar{background:var(--sidebar-card-bg);border:1px solid var(--sidebar-card-border);object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px;overflow:hidden}.portal-sidebar__avatar--initials{color:var(--sidebar-ink);font-family:var(--font-display);text-transform:uppercase;justify-content:center;align-items:center;font-size:14px;display:flex}.portal-sidebar__nav{flex-direction:column;flex:1;gap:22px;display:flex}.portal-sidebar__section{flex-direction:column;gap:6px;display:flex}.portal-sidebar__section ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.portal-sidebar__section-heading{color:var(--sidebar-ink-muted);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin:0 0 6px;padding:0 12px;font-size:11px;font-weight:700}.portal-sidebar__link{border-radius:var(--radius-sm);color:var(--sidebar-ink);cursor:pointer;font-family:var(--font-body);text-align:left;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.portal-sidebar__link:hover{background:var(--sidebar-hover-bg)}.portal-sidebar__link.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-active-ink);font-weight:700}.portal-sidebar__link-emoji{margin-right:7px}.portal-sidebar__signout{border:1px solid var(--sidebar-card-border);color:var(--sidebar-ink);letter-spacing:var(--tracking-wide);text-transform:uppercase;justify-content:center;margin-top:8px;font-weight:600}.portal-sidebar__signout:hover{background:var(--sidebar-hover-bg);border-color:var(--sidebar-ink)}.portal-sidebar__badge{background:var(--pink);border-radius:var(--radius-pill);color:var(--text);letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;font-size:10px;font-weight:700}.portal-sidebar__link.is-active .portal-sidebar__badge{background:var(--text);color:var(--accent)}.portal-body{max-width:var(--page-max);flex-direction:column;gap:24px;width:100%;padding:40px 32px 64px;display:flex}.auth-shell-root{background:var(--auth-hero-bg);min-height:100dvh}.auth-split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);max-width:1280px;min-height:100dvh;margin:0 auto;display:grid}.auth-split__hero{color:var(--text-on-dark);background:0 0;flex-direction:column;justify-content:center;gap:32px;padding:56px 48px 56px 64px;display:flex;position:relative;overflow:hidden}.auth-split__hero>*{z-index:1;position:relative}.auth-split__brand{margin:0 0 24px}@media (min-width:901px){.auth-split__brand{margin:0;position:absolute;top:56px;left:64px}}.auth-split__brand img{filter:brightness(0)invert();width:auto;height:32px;display:block}.auth-split__hero-body{flex-direction:column;gap:26px;max-width:48ch;display:flex}.auth-split__eyebrow{color:var(--text-on-dark-muted);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:15px;font-weight:700}.auth-split__title{color:var(--text-on-dark);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:clamp(3.5rem,6.8vw,5.75rem);font-weight:400;line-height:1.02}.auth-split__title--compact{font-size:clamp(2.75rem,5.2vw,4.35rem)}.auth-split__title em{color:var(--accent);font-style:italic}.auth-split__lede{color:var(--text-on-dark);margin:0;font-size:1.25rem;line-height:1.5}.auth-split__decor{opacity:.85;align-self:flex-end;max-width:200px;height:auto}.auth-split__decor--butterfly{opacity:1;transform-origin:60% 60%;max-width:140px;animation:auth-butterfly-float 6s var(--ease-out) infinite;will-change:transform;filter:drop-shadow(0 12px 24px #00000040);align-self:flex-start}@keyframes auth-butterfly-float{0%,to{transform:translate(0,0)rotate(-2deg)scale(1)}25%{transform:translate(4px,-6px)rotate(1deg)scale(1.015,.985)}50%{transform:translateY(-10px)rotate(3deg)scale(1)}75%{transform:translate(-4px,-6px)rotate(-1deg)scale(.99,1.01)}}@media (prefers-reduced-motion:reduce){.auth-split__decor--butterfly{animation:none}}.auth-split__panel{background:0 0;justify-content:center;align-items:center;padding:48px 32px;display:flex}.auth-split__panel-stack{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;display:flex}.auth-split__card{background:var(--bg);border-radius:28px;flex-direction:column;gap:18px;width:100%;max-width:480px;padding:40px;display:flex;position:relative;box-shadow:0 28px 60px #00000047,0 2px 8px #0000001f}.card-butterfly{animation:auth-butterfly-float 6s var(--ease-out) infinite;filter:drop-shadow(0 10px 18px #00000040);pointer-events:none;transform-origin:60% 60%;will-change:transform;z-index:2;width:92px;height:auto;position:absolute;top:-34px;left:-32px}@media (prefers-reduced-motion:reduce){.card-butterfly{animation:none}}.auth-split__card .eyebrow{color:var(--auth-hero-bg);font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;margin:0;font-size:2.25rem;font-style:italic;font-weight:400;line-height:1.1}.auth-split__card h2{font-family:var(--font-body);color:var(--text-muted);margin:0 0 4px;font-size:1rem;font-weight:500;line-height:1.5}.auth-split__card .primary-button{background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-btn-accent,0 10px 24px #f7fe9159);color:var(--accent-ink);text-transform:uppercase;min-height:54px}.auth-split__card .primary-button:hover{transform:translateY(-2px)}.auth-split__card .auth-links{color:var(--auth-hero-bg);justify-content:center;margin-top:8px;font-weight:600}.auth-split__card .auth-links a{color:var(--auth-hero-bg);text-underline-offset:3px;text-decoration:underline}.auth-split__card .auth-links a:hover{text-decoration-thickness:2px}.auth-legal-note{color:var(--text-on-dark);text-align:center;max-width:34rem;margin:0;font-size:.78rem;line-height:1.55}.auth-legal-note a{color:var(--text-on-dark);text-underline-offset:3px;font-weight:700;text-decoration:underline}.auth-legal-note a:hover{text-decoration-thickness:2px}@media (max-width:1024px){.portal-shell{grid-template-columns:1fr}.portal-topbar{display:flex}.portal-sidebar__logo{display:none}.portal-sidebar{opacity:0;pointer-events:none;height:auto;bottom:0;left:0;right:0;top:calc(56px + env(safe-area-inset-top,0px));transition:opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility 0s linear .2s;visibility:hidden;z-index:50;width:100%;padding:24px 24px 32px;position:fixed;transform:translateY(-8px)}.portal-sidebar.is-open{opacity:1;pointer-events:auto;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility 0s linear 0s;visibility:visible;transform:translateY(0)}.portal-nav-backdrop{display:none}.portal-body{padding:calc(76px + env(safe-area-inset-top,0px)) 20px 40px}body.portal-nav-open{overflow:hidden}}@media (max-width:640px){.portal-body{padding:calc(76px + env(safe-area-inset-top,0px)) 16px 32px}}@media (max-width:900px){.hero-panel,.dashboard-grid,.field-grid{grid-template-columns:1fr}.site-header,.member-strip,.section-heading,.certificate-row,.lesson-row{flex-direction:column;align-items:flex-start}.auth-split{grid-template-columns:1fr}.auth-split__hero{padding:32px 28px}.auth-split__panel{padding:32px 24px 48px}}@media (max-width:640px){.site-shell{padding:16px}.site-header,.member-strip,.site-footer,.panel,.module-card,.auth-card,.lesson-player,.certificate-panel,.hero-copy,.hero-card{padding:22px}.button-row,.nav-links,.auth-links{flex-direction:column;width:100%}.primary-button,.ghost-button{width:100%}.ticker-strip{width:calc(100% + 32px);margin:-16px -16px 16px}}.portal-sidebar__link--locked{color:var(--sidebar-ink-muted);cursor:not-allowed;opacity:.6;position:relative}.portal-sidebar__link--locked:hover{opacity:1;background:0 0}.portal-sidebar__badge--lock{background:var(--sidebar-card-bg);color:var(--sidebar-ink-muted);letter-spacing:.08em}.portal-sidebar__tooltip{background:var(--text-on-dark);border-radius:var(--radius-sm);color:var(--text);letter-spacing:0;opacity:0;pointer-events:none;text-align:center;text-transform:none;max-width:240px;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);visibility:hidden;white-space:normal;z-index:100;width:max-content;padding:8px 12px;font-size:12px;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 6px 20px #0000002e}.portal-sidebar__tooltip:after{border:5px solid #0000;border-top-color:var(--text-on-dark);content:"";position:absolute;top:100%;left:50%;transform:translate(-50%)}.portal-sidebar__link--with-tooltip{position:relative}.portal-sidebar__link--locked:hover .portal-sidebar__tooltip,.portal-sidebar__link--locked:focus-visible .portal-sidebar__tooltip,.portal-sidebar__link--with-tooltip:hover .portal-sidebar__tooltip,.portal-sidebar__link--with-tooltip:focus-visible .portal-sidebar__tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.track-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:18px;padding:28px;display:flex}.track-section--locked{background:var(--surface-strong);opacity:.85}.track-section__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.track-section__head h3{margin:2px 0 6px;font-size:1.35rem}.track-section__head p{color:var(--text-muted);margin:0}.track-section__head a{white-space:nowrap}.track-section__lock{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;font-size:11px;font-weight:700}.track-section__lock-copy,.track-section__empty{color:var(--text-muted);margin:0;font-style:italic}.module-card--locked{opacity:.7}.module-card__lock-copy{color:var(--text-muted);margin:0;font-style:italic}.ghost-button--locked,.module-card--locked .ghost-button--locked{background:var(--surface-strong);color:var(--text-muted);cursor:not-allowed;pointer-events:none}.panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.stage-badge{filter:drop-shadow(0 2px 6px #781f5a26);flex-shrink:0;display:block}.panel__head-aside{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:16px;display:flex}.phase-progress{flex-shrink:0;width:100%;max-width:240px}.phase-progress__label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px;font-size:11px;font-weight:700;display:flex}@media (max-width:640px){.panel__head--stage{text-align:center;flex-direction:column;align-items:center}.panel__head--stage .panel__head-aside{align-items:center}}.billing-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px 32px;margin:0;display:grid}.billing-grid div{flex-direction:column;gap:4px;display:flex}.billing-grid dt{color:var(--text-muted);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-size:.78rem;font-weight:600}.billing-grid dd{color:var(--text);margin:0;font-size:1.05rem}.text-soft{color:var(--text-soft);font-weight:500}.progress-pill--warn{background:var(--alert-error-bg);color:var(--alert-error-ink)}.progress-pill--muted{background:var(--surface-strong);color:var(--text-muted)}.invoice-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.invoice-row{border-bottom:1px solid var(--border);grid-template-columns:1.4fr .8fr .8fr auto;align-items:center;gap:16px;padding:14px 0;display:grid}.invoice-row__meta{flex-direction:column;gap:2px;display:flex}.invoice-row__date{color:var(--text);font-weight:600}.invoice-row__number{color:var(--text-muted);font-size:.85rem}.invoice-row__amount{color:var(--text);font-weight:600}.invoice-row__status{color:var(--text-muted);text-transform:capitalize;font-size:.9rem}.invoice-row__actions{justify-self:end}@media (max-width:640px){.invoice-row{grid-template-columns:1fr auto;grid-template-areas:"meta actions""amount status"}.invoice-row__meta{grid-area:meta}.invoice-row__amount{grid-area:amount}.invoice-row__status{grid-area:status;justify-self:end}.invoice-row__actions{grid-area:actions}}.celebration-modal{background:0 0;border:none;width:100%;max-width:min(720px,94vw);padding:0}.celebration-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#781f5a8c}.celebration-modal[open]{animation:celebration-modal-in .22s var(--ease-out,cubic-bezier(.2, .7, .3, 1))}@keyframes celebration-modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.celebration-modal__body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:18px;max-height:min(92dvh,760px);padding:28px 28px 24px;display:flex;position:relative;overflow:hidden auto;box-shadow:0 24px 60px #00000040}.celebration-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:1.6rem;font-weight:400;line-height:1;position:absolute;top:8px;right:10px}.celebration-modal__close:hover{color:var(--text)}.celebration-modal__video{aspect-ratio:16/9;background:var(--surface-strong,var(--surface-muted,#f5f5f5));border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;width:100%;font-size:13px;font-weight:500;display:flex}.celebration-modal__player{aspect-ratio:16/9;background:var(--surface-dark);border-radius:var(--radius-sm);width:100%;overflow:hidden}.celebration-modal__player .mux-player{width:100%;height:100%}.celebration-modal__confetti{pointer-events:none;border:0;width:100vw;height:100vh;position:fixed;inset:0}.celebration-modal__actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.office-hours-walkthrough{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);flex-direction:column;gap:18px;width:100%;max-width:min(720px,94vw);max-height:min(92dvh,760px);padding:28px 28px 24px;position:relative;overflow:hidden auto;box-shadow:0 24px 60px #00000040}.office-hours-walkthrough::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#781f5a80}.office-hours-walkthrough[open]{animation:office-hours-walkthrough-in .2s var(--ease-out,cubic-bezier(.2, .7, .3, 1));display:flex}@keyframes office-hours-walkthrough-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.office-hours-walkthrough__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:1.6rem;line-height:1;position:absolute;top:10px;right:12px}.office-hours-walkthrough__close:hover{color:var(--text)}.office-hours-walkthrough__header{flex-direction:column;gap:4px;padding-right:36px;display:flex}.office-hours-walkthrough__header h2{margin:0}.office-hours-walkthrough__subtitle{color:var(--text-muted);margin:4px 0 0}.office-hours-walkthrough__hint{color:var(--text-muted);margin:0;font-size:.9rem}.office-hours-walkthrough__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}