/* Zannoran's lagoon/coral identity; source layout and game-card sizes preserved. */
:root { --canvas: #061f29; --text: #effbf7; --muted: #b1cbd0; --gold: #94eddd; --line: #80c5c42e; --scene: #168f93; --scene-light: #82e6d8; }
body { background: var(--canvas); }
body[data-scene=midnight] { --scene: #235b80; --scene-light: #a0d9ef; }
body[data-scene=sunrise] { --scene: #ad6553; --scene-light: #ffd0ba; }
.site-header { background: #071b23; border-bottom-color: #78cfca33; }
.brand-logo-3d { filter: drop-shadow(0 3px 5px #001017ad); }
.brand img.brand-logo-3d { width: 244px; height: 72px; }
.footer-brand img.brand-logo-3d { width: 330px; }
.auth-brand img.brand-logo-3d { width: 290px; }
.button-gold, .search-form input[type=submit] { background: linear-gradient(115deg, #ffe0c9, #ffad90 60%, #f6947a); color: #17323a; box-shadow: inset 0 1px 0 #fff8; }
.button-outline { border-color: #8cdbd0; color: #b3f4e8; }
.hero { height: clamp(690px, 52vw, 940px); background: #082a37; }
.hero-art img { object-fit: cover; object-position: center top; }
.hero::after { background: linear-gradient(0deg, #061f29, #061f29cc 17%, #061f2926 39%, transparent 58%); }
.hero-copy { bottom: 82px; }
.hero-copy h1 { color: #f7fff8; max-width: 980px; margin-inline: auto; }
.hero-copy .eyebrow, .hero-credit strong { color: #a4f2df; }
.micro-boundary { color: #d7e9e8; }
.hero-light { inset: 0; background: radial-gradient(ellipse at 58% 53%, #65fce928, transparent 50%); transform: none; animation: skyway-light 9s ease-in-out infinite alternate; }
.token-flight { display: none; }
@keyframes skyway-light { from { opacity: .35; } to { opacity: 1; } }
.intro-stage { background: linear-gradient(#061f29, #0d4147); }
.intro-character { max-height: 390px; width: 440px; }
.lagoon-horizon { height: 90px; background: radial-gradient(ellipse at 15% 140%, #67d5c254, transparent 55%), linear-gradient(180deg, transparent, #061f29); }
.benefit { background: linear-gradient(155deg, #164753, #0b303b); box-shadow: inset 0 1px 0 #a5f4e326, 0 8px 24px #00131a30; }
.benefit p { color: #c9e4e0; }
.benefit h3 { color: #f2fcf8; }
.home-game-showcase .game-grid { background: linear-gradient(145deg, #10343e, #082932); scrollbar-color: #3f938f #082932; }
.game-cover { background: #133943; box-shadow: 0 6px 16px #00151b66, inset 0 0 0 1px #fff2; }
.game-cover-play { color: #fff3e9; }
.game-cover-play > span { color: #17323a; background: linear-gradient(135deg, #ffe2cc, #ff9b83); box-shadow: 0 3px 0 #a55f4c, 0 4px 22px #061f29cc; }
.game-cover:focus-visible { outline-color: #a4f5e5; }
.section-heading > a, .text-link { color: #a0efde; }
.closing-sculpture img { filter: drop-shadow(0 20px 28px #00192380); }
.site-footer { background: #051a23; border-color: #86c9c22b; }
.site-footer p, .site-footer small { color: #b1cbd0; }
.site-footer .legal-nav { color: #a9c7cb; }
.floating-dock { background: #071b22ed; border-color: #8ce3d126; box-shadow: 0 10px 30px #00151bab; }
.floating-dock a[aria-current=page] { color: #ffb69b; }
.panel, .auth-dialog, .auth-card { background: #0b2b35; border-color: #7dcac636; }
.stack-form input:not([type=checkbox],[type=radio],[type=submit]), .stack-form select, .stack-form textarea, .search-form input[type=search] { background: #071e28; border-color: #86c9c252; color: #f0fcf8; }
.stack-form input:focus, .stack-form textarea:focus, .search-form input:focus { border-color: #9df0df; }
.auth-tabs button, .auth-tabs a { color: #b1cbd0; }
.auth-tabs [aria-selected=true], .auth-tabs .active { color: #a4f2df; border-color: #a4f2df; }
.session-reminder { background: #0e3440; border-color: #9de6d7; }
.swatch-amethyst { background: #36b8ac; }
.swatch-midnight { background: #63bedc; }
.swatch-sunrise { background: #ffad8e; }
.page-emblem { background: #164451; color: #a4f2df; }
.credit-change { color: #aff0cc; }
@media (hover:hover) { .game-cover:hover { box-shadow: 0 12px 28px #00151baa, 0 0 0 2px #ffb69b; } }
@media (min-width: 701px) and (max-width: 1100px) {
  .hero { height: 690px; }
  .hero-art img { width: 100%; height: auto; object-fit: contain; mask-image: linear-gradient(#000 72%, transparent); }
}
@media (max-width: 700px) {
  .hero { height: 780px; }
  .hero-art img { width: 100%; height: auto; min-width: 0; object-fit: contain; object-position: center top; mask-image: linear-gradient(#000 72%, transparent); }
  .hero::after { background: linear-gradient(0deg, #061f29 5%, #061f29f2 20%, #061f2980 35%, transparent 55%); }
  .hero-copy { bottom: 100px; }
}
@media (max-width: 600px) {
  .brand img.brand-logo-3d { width: 155px; height: 48px; }
  .footer-brand img.brand-logo-3d { width: 270px; }
  .auth-brand img.brand-logo-3d { width: 245px; }
  .hero { height: clamp(740px, 190vw, 820px); }
  .hero-copy h1 { font-size: 34px; max-width: 355px; }
  .intro-character { width: 310px; max-height: 300px; }
}
@media (prefers-reduced-motion: reduce) { .hero-light { animation: none; opacity: .6; } }
.analytics-consent[hidden] { display: none !important; }
.analytics-consent { position: fixed; z-index: 90; inset: auto 16px 16px; max-width: 720px; margin: 0 auto; padding: 20px 24px; color: #effbf7; background: #0b2b35; border: 1px solid #8ce3d180; border-radius: 18px; box-shadow: 0 16px 48px #00151bcc; }
.analytics-consent p { margin: 0 0 14px; line-height: 1.5; }
.analytics-consent a { color: #a4f2df; text-decoration: underline; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.analytics-consent-actions .button { cursor: pointer; min-height: 44px; }
.analytics-preferences { margin-top: 24px; }
.analytics-preferences .analytics-consent-actions { margin-top: 14px; }
@media (max-width: 600px) { .analytics-consent { bottom: 76px; padding: 16px; } .analytics-consent-actions .button { flex: 1 1 150px; } }
