html[data-theme] body.app-theme { padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px)); }
.app-theme .ad-bar { display: flex; align-items: center; gap: 16px; min-height: 56px; padding: 10px 28px; border-bottom: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.ad-bar-label { border: 1px solid var(--line); border-radius: 4px; padding: 4px 7px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; white-space: nowrap; }
.ad-bar p { margin: 0; font-size: 13px; }
.ad-bar p span { color: var(--muted); }
.ad-bar-link { margin-left: auto; flex-shrink: 0; font-size: 13px; font-weight: 700; color: var(--link); border-bottom: 1px solid currentColor; padding: 3px 0; }
.disclaimer-banner { position: fixed; z-index: 19; left: 0; right: 0; bottom: 0; display: flex; height: calc(36px + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px); background: var(--accent); color: var(--accent-ink); border-top: 1px solid var(--line); }
.disclaimer-window { overflow: hidden; flex: 1; min-width: 0; display: flex; align-items: center; }
.disclaimer-track { display: flex; width: max-content; flex-shrink: 0; animation: disclaimer-scroll 55s linear infinite; }
.disclaimer-group { display: flex; flex-shrink: 0; min-width: 100vw; justify-content: space-around; }
.disclaimer-group > span { display: inline-flex; align-items: center; gap: 36px; padding-right: 36px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.disclaimer-group i { font-style: normal; font-size: 14px; }
.disclaimer-banner:hover .disclaimer-track, .disclaimer-banner:focus-within .disclaimer-track { animation-play-state: paused; }
.disclaimer-toggle { width: 42px; flex-shrink: 0; border: 0; border-left: 1px solid #3f302030; background: var(--accent); color: var(--accent-ink); font-size: 14px; }
.disclaimer-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -5px; }
.app-theme .detail-panel { bottom: calc(54px + env(safe-area-inset-bottom, 0px)); }
@keyframes disclaimer-scroll { to { transform: translateX(-50%); } }
.advertise-page { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: start; max-width: 1100px; margin: 46px auto 60px; }
.advertise-intro > .eyebrow { margin-top: 40px; color: var(--link); font-size: 11px; }
.advertise-intro h1 { font-size: clamp(32px, 4vw, 48px); letter-spacing: -1.5px; }
.advertise-intro > p { color: var(--muted); }
.advertise-placement { padding: 22px; margin: 28px 0; border: 1px dashed var(--line); border-radius: 14px; background: var(--input); }
.advertise-placement > span { color: var(--link); margin-right: 8px; }
.advertise-placement p { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.advertise-card { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 30px; }
.advertise-card h2 { margin-bottom: 10px; }
.advertise-card > .muted { font-size: 13px; margin-bottom: 24px; }
.advertise-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.advertise-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.advertise-field label { font-size: 12px; font-weight: 600; }
html[data-theme] .app-theme .advertise-field input, .app-theme .advertise-field textarea { width: 100%; background: var(--input); border: 1px solid var(--line); border-radius: 8px; padding: 11px 12px; color: var(--ink); font: inherit; min-width: 0; }
.advertise-field textarea { resize: vertical; }
.advertise-field input:focus-visible, .advertise-field textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.advertise-wide { grid-column: 1 / -1; }
.advertise-note { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 0; }
.advertise-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.advertise-errors { border: 1px solid var(--red); border-radius: 8px; padding: 14px; margin-bottom: 20px; color: var(--ink); }
.advertise-errors ul { margin: 8px 0 0; padding-left: 20px; }
.advertise-thanks { max-width: 640px; margin: 60px auto; text-align: center; padding: 42px; }
.advertise-thanks-icon { display: block; font-size: 40px; margin-bottom: 22px; }
.advertise-thanks > p:not(.eyebrow) { color: var(--muted); margin-bottom: 26px; }
@media (max-width: 760px) { .advertise-page { grid-template-columns: 1fr; gap: 24px; margin: 26px auto 40px; max-width: 550px; } .advertise-intro > .eyebrow { margin-top: 26px; } .advertise-placement { margin: 20px 0; } }
@media (max-width: 620px) { .app-theme .ad-bar { padding: 10px 14px; gap: 10px; } .ad-bar p { font-size: 11px; } .ad-bar p span { display: none; } .ad-bar-label { font-size: 8px; padding: 3px 5px; } .ad-bar-link { font-size: 11px; } .advertise-card { padding: 22px; } .advertise-form { grid-template-columns: 1fr; } .advertise-thanks { margin: 30px auto; } }
@media (prefers-reduced-motion: reduce) { .disclaimer-track { animation: none; } .disclaimer-toggle { display: none; } }
