
body {
    background-color: #000000;
    color: #ffffff;
}
.cards-get-started-page {
    --builder-scrollbar-size: 10px;
    --builder-scrollbar-track: rgba(255, 255, 255, 0.025);
    --builder-scrollbar-thumb: rgba(148, 163, 184, 0.32);
    --builder-scrollbar-thumb-hover: rgba(148, 163, 184, 0.48);
    --builder-scrollbar-corner: transparent;
}
.cards-get-started-page--light {
    --builder-scrollbar-track: rgba(15, 23, 42, 0.055);
    --builder-scrollbar-thumb: rgba(100, 116, 139, 0.34);
    --builder-scrollbar-thumb-hover: rgba(71, 85, 105, 0.5);
}
.cards-get-started-page--dark {
    color-scheme: dark;
}
.cards-get-started-page--light {
    color-scheme: light;
    background-color: #f8fafc !important;
    color: #0f172a !important;
}
.cards-get-started-page--light .builder-header {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(203, 213, 225, 0.9) !important;
    color: #0f172a;
}
.cards-get-started-page--light .builder-header [class*='text-white/'] {
    color: #64748b !important;
}
.cards-get-started-page--light .builder-header button:not([class*='bg-indigo']) {
    border-color: rgba(148, 163, 184, 0.55) !important;
    color: #475569 !important;
}
.cards-get-started-page--light .builder-header button:not([class*='bg-indigo']):hover {
    background: rgba(15, 23, 42, 0.06) !important;
    border-color: rgba(100, 116, 139, 0.65) !important;
    color: #0f172a !important;
}
.cards-get-started-page--light .builder-sidebar,
.cards-get-started-page--light .builder-mobile-sheet-header {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #0f172a;
}
.cards-get-started-page--light .builder-sidebar {
    box-shadow: none;
}
.cards-get-started-page--light .builder-sidebar [class*='border-white/'] {
    border-color: #e2e8f0 !important;
}
.cards-get-started-page--light .builder-sidebar [class*='bg-white/'] {
    background-color: rgba(248, 250, 252, 0.9) !important;
}
.cards-get-started-page--light .builder-sidebar [class*='text-white/'] {
    color: #64748b !important;
}
.cards-get-started-page--light .builder-sidebar [class*='text-white/90'],
.cards-get-started-page--light .builder-sidebar h2 {
    color: #0f172a !important;
}
.cards-get-started-page--light .builder-sidebar input,
.cards-get-started-page--light .builder-sidebar select {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}
.cards-get-started-page--light .builder-sidebar input::-moz-placeholder {
    color: #94a3b8 !important;
}
.cards-get-started-page--light .builder-sidebar input::placeholder {
    color: #94a3b8 !important;
}
.cards-get-started-page--light .builder-sidebar button:not([class*='bg-indigo-600']):not([class*='bg-primary']) {
    color: #334155;
}
.cards-get-started-page--light .builder-sidebar button[class*='border-indigo-500'] {
    background: rgba(79, 70, 229, 0.1) !important;
    color: #312e81 !important;
}
.cards-get-started-page--light .builder-sidebar button:hover:not([class*='bg-indigo-600']):not([class*='bg-primary']) {
    background: rgba(241, 245, 249, 0.95) !important;
    color: #0f172a !important;
}
.cards-get-started-page--light .builder-sidebar .slider {
    background: rgba(15, 23, 42, 0.16);
}
.cards-get-started-page--light .builder-sidebar .slider::-webkit-slider-thumb {
    border-color: #ffffff;
}
.cards-get-started-page--light .builder-sidebar .slider::-moz-range-thumb {
    border-color: #ffffff;
}
.cards-get-started-page--light .builder-preview {
    background: #f8fafc !important;
}
.cards-get-started-page--light .builder-preview-grid {
    background-image:
        linear-gradient(rgba(15, 23, 42, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, 0.06) 1px, transparent 1px) !important;
}
.cards-get-started-page--light .builder-preview [class*='text-white/'],
.cards-get-started-page--light .builder-preview [class*='text-gray-500'] {
    color: #64748b !important;
}
.valuation-preview-teaser {
    width: min(720px, calc(100% - 4rem));
    justify-content: center;
}
.valuation-preview-value {
    display: inline-flex;
    align-items: baseline;
    letter-spacing: 0;
    opacity: 0.72;
    text-shadow:
        0 0 18px currentColor,
        0 0 34px currentColor;
}
.valuation-preview-currency {
    opacity: 0.92;
    filter: blur(0.5px);
}
.valuation-preview-amount {
    position: relative;
    display: inline-block;
    filter: blur(10px);
    opacity: 0.7;
}
.valuation-preview-amount::after {
    content: '';
    position: absolute;
    inset: -6px;
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.18) 0 2px, transparent 2px 5px),
        repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.14) 0 3px, transparent 3px 7px);
    mix-blend-mode: overlay;
    pointer-events: none;
}
.cards-get-started-page--light .valuation-preview-teaser [class*='text-white/'] {
    color: #64748b !important;
}
.cards-get-started-page--light .valuation-preview-value {
    opacity: 0.64;
    text-shadow:
        0 0 12px currentColor,
        0 0 26px currentColor;
}
.marketing-overlay-shell {
    position: relative;
}
.marketing-card-wrap {
    position: relative;
    z-index: 1;
}
.marketing-card-stage {
    --marketing-card-scale: 0.82;
    position: relative;
    width: calc(350px * var(--marketing-card-scale));
    height: calc(490px * var(--marketing-card-scale));
    margin: 0 auto;
    flex-shrink: 0;
}
@media (max-width: 1023px) {
.marketing-card-stage {
        --marketing-card-scale: 0.66;
}
}
@media (max-height: 760px) {
.marketing-card-stage {
        --marketing-card-scale: 0.68;
}
}
.marketing-card-scale-wrap {
    position: absolute;
    top: 0;
    left: 50%;
    width: 350px;
    height: 490px;
    margin-left: -175px;
    transform: scale(var(--marketing-card-scale));
    transform-origin: top center;
    transition: transform 180ms ease;
    will-change: transform;
}
.marketing-card-scale-wrap:hover {
    transform: translateY(-8px) scale(var(--marketing-card-scale));
}
.marketing-card-scale-wrap .sport-card-display {
    height: 100%;
    width: 100%;
}
.marketing-card-scale-wrap .card-flip-container {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow: visible !important;
}
.marketing-card-scale-wrap .card-flip-container.can-flip {
    perspective: 1000px !important;
}
.marketing-card-scale-wrap .card-flip-inner {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    transform-style: preserve-3d !important;
}
.marketing-card-scale-wrap .card-flip-front,
.marketing-card-scale-wrap .card-flip-back {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    backface-visibility: hidden !important;
}
.marketing-card-scale-wrap .card-effect-wrapper .card:hover,
.marketing-card-scale-wrap .card-effect-wrapper .card-front:hover,
.marketing-card-scale-wrap .card-effect-wrapper .card-back:hover,
.marketing-card-scale-wrap .card-effect-wrapper [class$='-card-front']:hover,
.marketing-card-scale-wrap .card-effect-wrapper [class$='-card-back']:hover {
    transform: none !important;
}
.marketing-card-inner {
    position: relative;
    z-index: 1;
    border-radius: 0;
    overflow: visible;
    border: none;
    box-shadow: none;
}

/* Custom range slider styling */
.slider {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.1);
    outline: none;
}
.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #6366f1;
    cursor: pointer;
    border: 2px solid #000;
    box-shadow: 0 0 6px rgba(99, 102, 241, 0.5);
}
.slider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #6366f1;
    cursor: pointer;
    border: 2px solid #000;
    box-shadow: 0 0 6px rgba(99, 102, 241, 0.5);
}

/*
 * Mobile preview: scale lives on .mobile-card-flip-scale (350×490 design size) so SportCardDisplay
 * does not apply scale() on .card-scale-wrapper — flip only uses rotateY and stays stable.
 */
.mobile-card-flip-wrap {
    --mobile-card-preview-scale: 0.7;
    position: relative;
    flex-shrink: 0;
    width: min(calc(350px * var(--mobile-card-preview-scale)), 92vw);
    height: calc(min(calc(350px * var(--mobile-card-preview-scale)), 92vw) * 490 / 350);
    overflow: visible;
}
.mobile-card-flip-scale {
    position: absolute;
    top: 0;
    left: 50%;
    width: 350px;
    height: 490px;
    margin-left: -175px;
    transform: scale(var(--mobile-card-preview-scale));
    transform-origin: top center;
}
.mobile-card-flip-scale .sport-card-display {
    height: 100%;
    width: 100%;
}
.mobile-card-flip-scale .card-flip-inner {
    transform-origin: center center;
}

/* Remove scaling nesting issues universally across all our absolute-scaled wrappers */
.mobile-card-flip-scale .card-scale-wrapper,
.marketing-card-scale-wrap .card-scale-wrapper,
.save-modal-scale-wrap .card-scale-wrapper {
    transform: none !important;
}

/* Template hover lift fights the 3D flip on touch */
.mobile-card-flip-scale .stadium-card-front:hover,
.mobile-card-flip-scale .stadium-card-back:hover,
.mobile-card-flip-scale .octagon-card-front:hover,
.mobile-card-flip-scale .octagon-card-back:hover {
    transform: none !important;
}

/* Remove rounded corners from all card templates so borders fit flush */
.card-inner,
.card-inner *,
.mobile-card-flip-scale,
.mobile-card-flip-scale *,
.marketing-card-scale-wrap,
.marketing-card-scale-wrap *,
.marketing-card-inner,
.marketing-card-inner *,
.save-modal-scale-wrap,
.save-modal-scale-wrap * {
    border-radius: 0 !important;
    --card-radius: 0px !important;
}

/* Card cells — height-based sizing so cards fill available viewport space */
.card-cell {
    flex-shrink: 0;
}
.card-inner {
    /* Fixed card size matching standard template design (350×490) */
    width: 350px;
    height: 490px;
    position: relative;
    overflow: visible;
    transition: transform 180ms ease;
    will-change: transform;
}
.card-inner:hover {
    transform: translateY(-8px);
}
.card-inner .card-effect-wrapper .card:hover,
.card-inner .card-effect-wrapper .card-front:hover,
.card-inner .card-effect-wrapper .card-back:hover,
.card-inner .card-effect-wrapper [class$='-card-front']:hover,
.card-inner .card-effect-wrapper [class$='-card-back']:hover {
    transform: none !important;
}

/*
 * Override SportCardDisplay flip mechanics for side-by-side rendering.
 * When side="back", the component adds .flipped which rotates the inner container 180deg
 * and uses absolute positioning + backface-visibility. We disable all of that so the
 * back card just renders normally without any 3D transforms.
 */
.card-inner .card-flip-container {
    perspective: none !important;
}
.card-inner .card-flip-container .card-flip-inner {
    transform: none !important;
    transform-style: flat !important;
}
.card-inner .card-flip-container .card-flip-front {
    backface-visibility: visible !important;
}
.card-inner .card-flip-container.flipped .card-flip-front {
    display: none !important;
}
.card-inner .card-flip-container .card-flip-back {
    position: relative !important;
    backface-visibility: visible !important;
    transform: none !important;
}

/* Card preview in save modal */
.save-modal-card {
    --save-modal-scale: 0.36;
    position: relative;
    width: calc(350px * var(--save-modal-scale));
    height: calc(490px * var(--save-modal-scale));
    flex-shrink: 0;
}
@media (min-width: 640px) {
.save-modal-card {
        --save-modal-scale: 0.49;
}
}
@media (min-width: 768px) {
.save-modal-card {
        --save-modal-scale: 0.57;
}
}
.save-modal-scale-wrap {
    position: absolute;
    top: 0;
    left: 50%;
    width: 350px;
    height: 490px;
    margin-left: -175px;
    transform: scale(var(--save-modal-scale));
    transform-origin: top center;
}
.save-modal-scale-wrap .sport-card-display {
    height: 100%;
    width: 100%;
}
.save-modal-card .card-flip-container {
    perspective: none !important;
}
.save-modal-card .card-flip-container .card-flip-inner {
    transform: none !important;
    transform-style: flat !important;
}
.save-modal-card .card-flip-container .card-flip-front {
    backface-visibility: visible !important;
}
.cards-get-started-page .overflow-y-auto {
    scrollbar-color: var(--builder-scrollbar-thumb) var(--builder-scrollbar-track);
    scrollbar-width: thin;
}
.cards-get-started-page .overflow-y-auto::-webkit-scrollbar {
    height: var(--builder-scrollbar-size);
    width: var(--builder-scrollbar-size);
}
.cards-get-started-page .overflow-y-auto::-webkit-scrollbar-track {
    background: var(--builder-scrollbar-track);
    border-radius: 999px;
}
.cards-get-started-page .overflow-y-auto::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: var(--builder-scrollbar-thumb);
    border: 3px solid transparent;
    border-radius: 999px;
}
.cards-get-started-page .overflow-y-auto::-webkit-scrollbar-thumb:hover {
    background-color: var(--builder-scrollbar-thumb-hover);
}
.cards-get-started-page .overflow-y-auto::-webkit-scrollbar-corner {
    background: var(--builder-scrollbar-corner);
}
