.screen { min-height: var(--app-viewport-height, 100dvh); box-sizing: border-box; padding: calc(var(--page-padding-y, 18px) + var(--app-safe-top, 0px)) calc(var(--page-padding-x, 20px) + var(--app-safe-right, 0px)) calc(var(--page-padding-y, 28px) + var(--app-safe-bottom, 0px)) calc(var(--page-padding-x, 20px) + var(--app-safe-left, 0px)); background: radial-gradient(circle at 16% 5%, rgba(255, 196, 143, 0.2), transparent 28%), radial-gradient(circle at 86% 8%, rgba(246, 87, 160, 0.2), transparent 26%), linear-gradient(180deg, #fcf3f4 0%, #fffafa 48%, #fff 100%); color: #191316; } .header { display: flex; flex-direction: column; gap: var(--page-section-gap, 18px); } .hero { position: relative; overflow: hidden; padding: var(--responsive-card-padding-lg, 22px); border: 1px solid rgba(246, 87, 160, 0.14); border-radius: var(--responsive-card-radius, 28px); background: linear-gradient(135deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 237, 246, 0.94) 100%), #ffffff; box-shadow: 0 18px 46px rgba(86, 45, 62, 0.1); } .hero::after { position: absolute; right: clamp(-34px, -6.296vw, -28px); bottom: clamp(-42px, -7.778vw, -34px); width: clamp(124px, 27.778vw, 150px); height: clamp(124px, 27.778vw, 150px); border-radius: 999px; background: radial-gradient(circle, rgba(246, 87, 160, 0.2), transparent 68%); content: ""; } .heroIcon { display: inline-flex; width: var(--responsive-control-height, 46px); height: var(--responsive-control-height, 46px); align-items: center; justify-content: center; border-radius: clamp(14px, 2.963vw, 16px); background: linear-gradient(180deg, #ffe89c 0%, #f8b83e 100%); color: #8f5400; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 12px 24px rgba(216, 132, 22, 0.2); } .eyebrow { margin: var(--page-section-gap, 16px) 0 0; color: #f657a0; font-size: var(--responsive-micro, 12px); font-weight: 850; letter-spacing: 0.12em; line-height: 1; text-transform: uppercase; } .title { margin: 8px 0 0; color: #171114; font-size: var(--responsive-page-title, 30px); font-weight: 900; letter-spacing: -0.8px; line-height: 1.08; } .subtitle { max-width: min(100%, 300px); margin: clamp(8px, 1.852vw, 10px) 0 0; color: #6d5d64; font-size: var(--responsive-body, 15px); font-weight: 650; line-height: 1.55; } .freeCard { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--spacing-md, 12px); align-items: center; margin-top: var(--page-section-gap, 16px); padding: var(--responsive-card-padding, 16px); border: 1px solid rgba(248, 184, 62, 0.24); border-radius: var(--responsive-card-radius-sm, 22px); background: rgba(255, 250, 235, 0.84); box-shadow: 0 12px 28px rgba(142, 93, 18, 0.08); } .freeIcon { display: inline-flex; width: var(--responsive-icon-button-size, 40px); height: var(--responsive-icon-button-size, 40px); align-items: center; justify-content: center; border-radius: clamp(12px, 2.593vw, 14px); background: #ffffff; color: #d98100; box-shadow: 0 8px 18px rgba(142, 93, 18, 0.1); } .freeTitle { margin: 0; color: #2a1f14; font-size: var(--responsive-body, 16px); font-weight: 850; line-height: 1.1; } .freeText { margin: 5px 0 0; color: #7a6040; font-size: var(--responsive-caption, 13px); font-weight: 650; line-height: 1.45; } .ruleList { display: flex; flex-direction: column; gap: clamp(8px, 1.852vw, 10px); margin-top: var(--page-section-gap, 16px); } .ruleCard { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--spacing-md, 12px); align-items: center; padding: var(--responsive-card-padding, 14px); border: 1px solid rgba(25, 19, 22, 0.06); border-radius: var(--responsive-card-radius-sm, 20px); background: rgba(255, 255, 255, 0.9); box-shadow: 0 10px 26px rgba(55, 36, 44, 0.06); animation: cardIn 0.42s ease both; transition: box-shadow 0.18s ease, transform 0.18s ease; } .ruleCard:hover { box-shadow: 0 15px 32px rgba(55, 36, 44, 0.1); transform: translateY(-2px); } .ruleIcon { display: inline-flex; width: clamp(34px, 6.667vw, 36px); height: clamp(34px, 6.667vw, 36px); align-items: center; justify-content: center; border-radius: clamp(12px, 2.593vw, 14px); background: #fff0f6; color: #f657a0; } .ruleContent { min-width: 0; } .ruleTitle { margin: 0; color: #21191d; font-size: var(--responsive-body, 16px); font-weight: 850; line-height: 1.15; } .freeBadge { display: inline-flex; margin: 7px 0 0; padding: 4px 9px; border-radius: 999px; background: #edf4ff; color: #2e6eea; font-size: var(--responsive-micro, 12px); font-weight: 780; line-height: 1; } .cost { margin: 0; color: #171114; font-size: var(--responsive-body, 15px); font-weight: 900; line-height: 1.15; text-align: right; white-space: nowrap; } @keyframes cardIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 360px) { .screen { padding-right: calc(var(--page-padding-x, 16px) + var(--app-safe-right, 0px)); padding-left: calc(var(--page-padding-x, 16px) + var(--app-safe-left, 0px)); } .hero { padding: var(--responsive-card-padding-lg, 20px); } .title { font-size: var(--responsive-page-title, 27px); } .ruleCard { grid-template-columns: auto minmax(0, 1fr); } .cost { grid-column: 2; text-align: left; } }