body.public-site { background: #f0efed; color: #45454f; }
.public-shell { display: flex; flex-direction: column; width: min(100%, 390px); min-height: 100svh; margin: 0 auto; background: #fafafa; }
.public-header { position: relative; z-index: 30; display: flex; align-items: center; justify-content: space-between; padding: max(20px, env(safe-area-inset-top)) 20px 0 28px; }
.public-brand, .public-desktop-brand { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; text-decoration: none; }.public-brand { gap: 6px; }.public-brand img { display: block; }.public-desktop-brand { align-items: flex-end; }.public-desktop-brand img { display: block; }
.public-brand img:first-child { width: 20px; height: 18px; }.public-brand img:last-child { width: 53px; height: 17px; }.public-desktop-brand { display: none; }
.public-menu summary { display: grid; width: 44px; height: 44px; place-items: center; cursor: pointer; list-style: none; }.public-menu summary::-webkit-details-marker { display: none; }.public-menu svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2; }
.public-menu nav { position: absolute; top: 76px; left: 20px; right: 20px; display: grid; padding: 14px; border: 1px solid #e6e4e2; border-radius: 18px; background: #fafafa; box-shadow: 0 12px 30px #45454f15; }.public-menu nav a { display: flex; align-items: center; min-height: 48px; padding: 8px 12px; color: inherit; text-decoration: none; }
.public-site :is(a, summary, button):focus-visible { outline: 2px solid #45454f; outline-offset: 4px; }
.public-home { flex: 1; padding: 80px 28px 0; }.public-home h1 { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.8; letter-spacing: -.03em; }.public-home__intro { margin-top: 55px; color: #5c5b59; font-size: 15px; line-height: 2.4; }.public-home__intro p { margin: 0 0 26px; }.public-home__intro p:last-child { margin-top: 50px; color: #7d7b78; }
.public-home__action { position: relative; display: grid; justify-items: center; margin-top: 56px; }.public-cta { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-width: 161px; min-height: 46px; padding: 12px 22px; border: 0; border-radius: 999px; background: #292827; color: #fff; font-size: 12px; text-decoration: none; }.public-home__pending { position: absolute; top: 48px; left: 50%; margin: 6px 0 0; color: #7d7b78; font-size: 11px; transform: translateX(-50%); white-space: nowrap; }.public-home__cat { display: block; width: 74px; height: 74px; margin: 60px 0 8px auto; object-fit: contain; transform: scaleX(-1); }
.public-footer { margin-top: auto; padding: 8px 20px max(20px, env(safe-area-inset-bottom)); color: #9a9793; text-align: center; }.public-footer nav { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 8px; }.public-footer a { display: inline-flex; align-items: center; min-height: 44px; color: #7d7b78; font-size: 11px; text-decoration: none; }.public-footer small { display: block; font-size: 11px; }
.public-info { flex: 1; padding: 50px 28px 80px; color: #5c5b59; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }.public-info h1 { margin: 0 0 48px; font-size: 20px; line-height: 1.5; }.public-info h2 { margin: 0; font-size: 16px; }.public-info p { margin: 0 0 16px; }.public-info section { margin-top: 36px; }.public-info :is(ul, ol) { padding-inline-start: 1.45em; margin: 0 0 18px; }.public-info li + li { margin-top: .45em; }.public-info__notice { color: #7d7b78; font-size: 13px; }
.public-contact { min-width: 0; padding-inline: 0; }.public-contact__intro { padding-inline: 28px; }.public-contact__fallback { display: inline-flex; align-items: center; min-height: 44px; color: inherit; font-size: 14px; text-underline-offset: 4px; }.public-contact__form { display: block; width: 100%; max-width: 100%; height: 1200px; margin-top: 24px; border: 0; }
.public-credits__profile { display: flex; align-items: center; gap: 16px; }.public-credits__avatar { width: 72px; height: 72px; flex: 0 0 72px; border-radius: 50%; object-fit: cover; }.public-credits__social { display: flex; flex-wrap: wrap; gap: 8px 24px; }.public-credits__social a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-underline-offset: 4px; }.public-credits__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }.public-credits__illustration { display: grid; min-height: 128px; place-items: center; padding: 14px; border-radius: 16px; background: #f0efed; }.public-credits__illustration img { max-width: 100%; max-height: 100px; }
.public-site .public-share { flex: 1; min-height: 0; }.public-site .not-found { flex: 1; min-height: 0; padding-inline: 28px; }
.public-share__actions { display: grid; gap: 10px; }.public-share__action { display: grid; width: 100%; min-height: 44px; place-items: center; padding: 10px 18px; border: 1px solid #dedee2; border-radius: 24px; color: #45454f; background: #fff; font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }.public-share__action--primary { border-color: #292827; background: #292827; color: #fff; }.public-share__action:disabled { cursor: not-allowed; opacity: .5; }.public-share__action:focus-visible { outline: 2px solid #45454f; outline-offset: 3px; }.public-share__feedback { min-height: 18px; margin: 0; color: #7d7b78; font-size: 12px; text-align: center; }
.public-desktop-navigation { display: none; }
@media (max-width: 799px) { html, body.public-site { background: #fafafa; }.public-shell { width: 100%; margin: 0; }.public-header { min-height: 32px; padding: max(20px, env(safe-area-inset-top)) 24px 0; }.public-brand { min-height: 44px; margin-block: -6px; }.public-menu summary { width: 44px; height: 44px; margin-block: -6px; margin-right: -11px; }.public-menu svg { width: 22px; height: 18px; stroke-linecap: round; } }
@media (min-width: 800px) { .public-desktop-brand { position: absolute; top: 20px; left: 36px; display: inline-flex; }.public-desktop-brand img:first-child { width: 27px; height: 27px; }.public-desktop-brand img:last-child { width: 75px; height: auto; }.public-desktop-navigation { position: absolute; top: 20px; right: max(36px, calc((100vw - 390px) / 2 - 190px)); display: grid; width: 160px; gap: 8px; }.public-desktop-navigation a { display: flex; align-items: flex-start; min-height: 27px; padding: 0 10px; color: #7d7b78; font-size: 12px; font-weight: 700; line-height: 1.5; text-decoration: none; }.public-desktop-navigation a:hover { color: #45454f; } }
.public-home__optical-line { display: inline-block; transform: translateX(-.06em); }
.public-home__action { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.public-store { width: 100%; min-width: 0; text-align: center; }
.public-store__button { display: flex; width: 100%; min-height: 54px; flex-direction: column; align-items: center; justify-content: center; padding: 8px 10px; border: 1px solid #777; border-radius: 8px; background: #161616; color: #fff; text-decoration: none; }
.public-store__button:disabled { cursor: default; }
.public-store__caption { font-size: 10px; line-height: 1.5; }
.public-store__name { font-size: 18px; font-weight: 600; line-height: 1.25; white-space: nowrap; }
.public-store__pending { margin: 8px 0 0; color: #7d7b78; font-size: 11px; }

.public-share-safety { min-width: 0; }
.public-share-safety__link { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: 8px 0; border: 0; background: transparent; color: #5c5b59; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.public-share-safety .public-info__notice { margin-top: 12px; font-size: 12px; line-height: 1.8; }
.public-share-safety__form { display: grid; gap: 12px; margin-bottom: 24px; }
.public-share-safety__form :is(select, textarea) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #dedee2; border-radius: 8px; color: #45454f; background: #fff; font: inherit; }
.public-share-safety__form textarea { resize: vertical; }
.public-share-safety__form :is(select, textarea):focus-visible { outline: 2px solid #45454f; outline-offset: 3px; }
.public-share-safety > .public-share__action, .public-share-safety > .button_to { margin-top: 16px; }
