.public-shell {
  color-scheme: dark;
  --text: var(--lp-text);
  --muted: var(--lp-muted);
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  color: var(--lp-text);
  background: radial-gradient(ellipse 48% 65% at 8% 52%, #16354440, transparent), radial-gradient(ellipse 40% 55% at 80% 10%, #42306124, transparent), var(--lp-bg);
  font-family: var(--lp-font);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.public-shell :where(h1, h2, p, figure) { margin: 0; }
.public-shell a { color: inherit; text-decoration: none; }
.public-shell button { font: inherit; cursor: pointer; }
.public-shell :where(button, a, input):focus-visible { outline: 2px solid #8cdcff; outline-offset: 4px; }
.public-shell .icon { width: 16px; height: 16px; color: currentColor; flex: none; }
.public-header, .public-footer { width: min(1320px, calc(100% - 96px)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.public-header { min-height: 90px; }
.public-brand { display: inline-flex; align-items: center; gap: 9px; font-size: 20px; font-weight: 650; letter-spacing: -.8px; }
.public-brand img { display: block; width: 132px; height: 42px; object-fit: contain; }
.public-header-actions { display: flex; align-items: center; gap: 28px; }
.public-back-link { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--lp-muted) !important; }
.public-back-link:hover { color: var(--lp-text) !important; }
.public-footer { padding-block: 24px; font-size: 11px; color: #9199ab; }
.public-footer a { display: inline-flex; align-items: center; gap: 8px; }
.public-footer a:hover { color: var(--lp-text); }
.public-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 10px; line-height: 1.6; letter-spacing: .15em; text-transform: uppercase; font-weight: 600; color: #aeb9cb; }
.public-dot { display: inline-block; width: 5px; height: 5px; background: #8ddfff; border-radius: 50%; box-shadow: 0 0 13px #5dccff70; flex: none; }
.public-gradient { background: var(--lp-pearl); background-clip: text; -webkit-background-clip: text; color: transparent; }
.public-button {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 14px 24px; border: 1px solid #ffffff70; border-radius: 100px;
  background: var(--lp-pearl); color: #101b2c !important; font-weight: 650 !important; font-size: 13px !important;
  box-shadow: inset 0 1px 0 #fff8, 0 4px 24px #66c6ff10; overflow: hidden; isolation: isolate;
  transition: transform .25s var(--lp-ease), box-shadow .25s, opacity .2s;
}
.public-button::after { content: ''; position: absolute; inset: -50% -30%; background: linear-gradient(100deg, transparent 35%, #fff8 49%, transparent 65%); transform: translateX(-100%); pointer-events: none; }
.public-button:hover { transform: translateY(-2px); box-shadow: 0 5px 30px #67cdfc30; }
.public-button:hover::after { animation: public-shine .8s var(--lp-ease); }
.public-button:active { transform: none; }
.public-button:disabled { opacity: .65; cursor: wait; transform: none; }
.auth-language { display: flex; gap: 3px; }
.auth-language button { border: 0; border-radius: 7px; min-height: 36px; padding: 8px; background: transparent; color: #7e8799; font-size: 11px; letter-spacing: .05em; }
.auth-language button[aria-pressed='true'] { color: #f2f5fc; background: #ffffff08; }
.auth-language button:hover { color: white; }
.auth-layout { width: min(1240px, calc(100% - 96px)); margin: auto; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: clamp(48px, 6vw, 100px); padding-block: 28px; align-items: center; }
.auth-story { min-width: 0; padding: 42px 24px 32px; border: 1px solid #bfd0f20c; border-radius: 28px; background: linear-gradient(155deg, #23445325, #26304115 50%, #2a233820); overflow: hidden; text-align: center; }
.auth-story .public-eyebrow { justify-content: center; }
.auth-story h2 { font-size: clamp(40px, 4.2vw, 60px); font-weight: 600; line-height: 1.07; letter-spacing: -.065em; margin-top: 21px; }
.auth-story-description { max-width: 330px; margin: 18px auto 0 !important; color: var(--lp-muted); font-size: 14px; line-height: 1.7; text-wrap: balance; }
.auth-gallery { position: relative; width: min(100%, 500px); height: 338px; margin: 12px auto 0; }
.auth-photo { position: absolute; top: 36px; left: 50%; width: 190px; height: 266px; border: 1px solid #ffffff2a; border-radius: 17px; overflow: hidden; box-shadow: 0 20px 40px #0005; transform-origin: 50% 100%; }
.auth-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.auth-photo::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, #070b1680); pointer-events: none; }
.auth-photo figcaption { position: absolute; z-index: 1; bottom: 16px; inset-inline: 10px; display: flex; justify-content: center; align-items: center; gap: 7px; color: #fff; font-size: 10px; font-weight: 500; }
.auth-photo figcaption .icon { width: 12px; height: 12px; }
.auth-photo-left { transform: translateX(-112%) rotate(-12deg) scale(.85); }
.auth-photo-right { transform: translateX(12%) rotate(12deg) scale(.85); }
.auth-photo-main { z-index: 2; transform: translateX(-50%); top: 38px; }
.auth-story-bottom { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; color: #aeb7c8; font-size: 11px; }
.auth-networks { display: flex; align-items: center; gap: 12px; }
.auth-networks img { display: block; object-fit: contain; }
.auth-networks img:last-child { filter: brightness(0) invert(1); width: 14px; height: 14px; }
.auth-panel { min-width: 0; padding: 30px 0; animation: public-enter .65s var(--lp-ease) both; }
.auth-panel-inner { width: min(100%, 408px); margin-inline: auto; }
.auth-panel h1 { font-size: clamp(30px, 3vw, 39px); line-height: 1.16; letter-spacing: -.045em; font-weight: 550; margin-top: 16px; max-width: 400px; text-wrap: balance; }
.auth-intro { color: var(--lp-muted); font-size: 13px; line-height: 1.75; margin-top: 14px !important; margin-bottom: 31px !important; max-width: 355px; }
.auth-fields { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 20px; }
.auth-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.auth-field { display: grid; gap: 8px; min-width: 0; }
.auth-field label { color: #cbd1dd; font-size: 12px; font-weight: 500; }
.auth-field input { height: 49px; width: 100%; padding: 0 14px; border: 1px solid #c1d4f322; border-radius: 10px; background: #ffffff03; color: var(--lp-text); font-family: inherit; font-size: 13px; box-shadow: 0 1px 0 #ffffff03; transition: border-color .2s, background .2s, box-shadow .2s; }
.auth-field input::placeholder { color: #768093; opacity: 1; }
.auth-field input:hover { border-color: #c1d4f344; }
.auth-field input:focus { border-color: #91d5ee; background: #a1d7ff07; box-shadow: 0 0 0 3px #8ddfff10; outline: none; }
.auth-field input:autofill { -webkit-text-fill-color: #f5f7fc; box-shadow: inset 0 0 0 1000px #1c2533; }
.auth-field-hint { color: #939cad; font-size: 11px; }
.auth-input-control { position: relative; }
.auth-input-control input { padding-right: 47px; }
.auth-password-toggle { position: absolute; inset: 4px 5px 4px auto; display: grid; place-items: center; width: 38px; padding: 0; border: 0; border-radius: 6px; color: #939cad; background: transparent; }
.auth-password-toggle:hover, .auth-password-toggle[aria-pressed='true'] { color: #c2e9ff; background: #ffffff07; }
.auth-submit { margin-top: 4px; width: 100%; }
.auth-error { padding: 12px 14px; border: 1px solid #ff939328; border-radius: 9px; background: #f76f7e0b; color: #ffb5bc; font-size: 12px; }
.auth-alternate { color: var(--lp-muted); font-size: 12px; text-align: center; margin-top: 24px !important; }
.auth-alternate a { color: #e0e8fa; margin-left: 4px; font-weight: 500; text-underline-offset: 4px; }
.auth-alternate a:hover { text-decoration: underline; }
.auth-note { color: var(--lp-muted); text-align: center; font-size: 11px; margin-top: 20px !important; }
.auth-spinner { width: 15px; height: 15px; border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: public-spin .8s linear infinite; }
.public-shell-compact { background: radial-gradient(ellipse 50% 60% at 50% 30%, #25364d60, transparent), var(--lp-bg); }
.public-status { width: min(440px, calc(100% - 48px)); margin: auto; padding: 64px 0; text-align: center; }
.public-status-symbol { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid #a8def52b; border-radius: 50%; margin: 0 auto 28px; color: #b8e5ff; background: #a9cfff07; }
.public-status-symbol .icon { width: 24px; height: 24px; }
.public-status h1 { font-size: 32px; letter-spacing: -.04em; line-height: 1.2; font-weight: 550; }
.public-status p { margin: 16px auto 28px; color: var(--lp-muted); font-size: 14px; line-height: 1.7; }
@keyframes public-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes public-shine { to { transform: translateX(100%); } }
@keyframes public-spin { to { transform: rotate(360deg); } }
@media (min-width: 1001px) and (max-height: 820px) {
  .public-header { min-height: 74px; }
  .public-footer { padding-block: 16px; }
  .auth-layout { padding-block: 16px; }
  .auth-story { padding-block: 30px 26px; }
  .auth-story h2 { font-size: 48px; margin-top: 18px; }
  .auth-story-description { font-size: 13px; margin-top: 14px !important; }
  .auth-gallery { height: 276px; }
  .auth-photo { width: 166px; height: 232px; top: 24px; }
  .auth-panel { padding-block: 0; }
  .auth-panel h1 { font-size: 34px; margin-top: 12px; }
  .auth-intro { line-height: 1.6; margin-top: 12px !important; margin-bottom: 24px !important; }
  .auth-fields { gap: 14px; }
  .auth-field input { height: 44px; }
  .auth-submit { min-height: 48px; }
  .auth-alternate { margin-top: 20px !important; }
}
@media (max-width: 1000px) {
  .public-header, .public-footer, .auth-layout { width: calc(100% - 64px); }
  .auth-layout { gap: 40px; grid-template-columns: 1fr 1fr; }
  .auth-story { padding-inline: 12px; }
  .auth-photo { width: 156px; height: 224px; }
  .auth-gallery { height: 295px; }
  .auth-story-bottom { max-width: 210px; margin: auto; gap: 14px; }
  .auth-field-row { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 740px) {
  .public-header, .public-footer { width: calc(100% - 40px); }
  .public-header { min-height: 76px; }
  .public-brand { font-size: 19px; }
  .public-header-actions { gap: 12px; }
  .public-back-link { display: none; }
  .auth-layout { width: min(408px, calc(100% - 48px)); display: block; padding-block: 26px 44px; }
  .auth-story { display: none; }
  .auth-panel { padding: 0; }
  .auth-panel h1 { font-size: 36px; }
  .auth-panel .public-eyebrow { font-size: 10px; }
  .auth-field-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .auth-field input { font-size: 16px; }
  .auth-field input::placeholder { font-size: 13px; }
  .auth-intro { margin-bottom: 28px !important; }
  .public-footer { font-size: 10px; padding-block: 20px; }
}
@media (max-width: 360px) { .auth-field-row { grid-template-columns: 1fr; gap: 20px; } .public-footer { gap: 10px; } }
@media (prefers-reduced-motion: reduce) {
  .public-shell *, .public-shell *::after { animation: none !important; transition: none !important; }
}
