/* public.css — entry stylesheet for public-facing pages
   Imports shared tokens/components/animations + page-specific tweaks */

@import url('design-tokens.css');
@import url('animations.css');
@import url('components.css');
@import url('prize-reveal-shared.css');

body {
    background: var(--bg-soft);
    min-height: 100vh;
}

/* Public layout = page-frame as body wrapper */
.public-body {
    background: var(--bg-mesh);
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}
.public-body::before, .public-body::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.public-body::before {
    top: -100px; right: -100px;
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(54,169,181,0.18) 0%, transparent 70%);
}
.public-body::after {
    bottom: -120px; left: -80px;
    width: 240px; height: 240px;
    background: radial-gradient(circle, rgba(78,187,200,0.15) 0%, transparent 70%);
}

.public-main {
    flex: 1;
    max-width: 480px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 20px;
    position: relative;
    z-index: 1;
}
