/* POLISH_01: scoped refinement of the preserved static baseline. */
:root { --muted-soft: #b29da4; --line: rgba(210, 174, 143, .22); }
body { background: radial-gradient(ellipse at 50% 0%, #2b0c1b 0, transparent 55rem), radial-gradient(ellipse at 10% 65%, #190912, transparent 60rem), #070407; }
body::before { display: none; }
.heart-atmosphere { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
.page { position: relative; z-index: 1; }
.phone-shell {
  padding: 9px;
  border-color: rgba(224, 193, 171, .3);
  background: linear-gradient(115deg, rgba(182, 147, 146, .28), rgba(32, 21, 28, .64) 15%, rgba(19, 13, 18, .72) 75%, rgba(131, 89, 101, .26));
  box-shadow: 0 36px 100px #000b, 0 0 65px #641c3414, inset 0 1px 1px #f6ddd140, inset 0 -1px 1px #c4a29830;
}
.phone-shell::before { border-radius: inherit; box-shadow: inset 2px 0 1px #d3a8ab1c, inset -2px 0 1px #d3a8ab15; background: linear-gradient(125deg, #ffe2d921, transparent 13%, transparent 86%, #b4748621); }
.app-screen { background: radial-gradient(ellipse at 50% 3%, #57213824, transparent 32rem), rgba(10, 6, 10, .9); box-shadow: inset 0 0 24px #0005; border-color: #b593a221; }
.status-bar { color: #c7b4b9; font-size: 11px; letter-spacing: .04em; }
#localClock { font-variant-numeric: tabular-nums; }
.portrait-ring { animation: none; box-shadow: 0 0 0 1px #fff1, 0 12px 36px #0007, 0 0 35px #a6496e18; }
.activity-pill, .age-status { border-color: #dcb8c024; background: #140d12e8; }
.activity-pill b, .age-status b { font-variant-numeric: tabular-nums; color: #f2dedc; }
.status-dot { width: 6px; height: 6px; background: #c8a4a9; box-shadow: 0 0 8px #c8a4a94d; animation: none; }
.link-card:active, .primary-cta:active, .dynamic-card:active { transform: scale(.987); }
.link-card:nth-child(n+5) { border-color: #bf9d9833; background: linear-gradient(120deg, #a67c7c0d, #ffffff03), #100a0fc9; }
.content-card { margin-top: 20px; border-radius: 24px; border-color: #be929524; background: linear-gradient(135deg, #ffffff06, #ffffff01), #130b119e; box-shadow: 0 12px 30px #0002, inset 0 1px 0 #efd9d608; }
.eyebrow { color: #ccb394; font-size: 9px; letter-spacing: .24em; }
.discovery { padding: 23px 18px; }
.discovery .eyebrow { margin-bottom: 22px; }
.feature-grid { gap: 22px 10px; }
.feature-grid span { width: 43px; height: 43px; margin-bottom: 9px; border-radius: 15px; border-color: #bda09e2c; background: linear-gradient(145deg, #b77b9419, #b2a08006); color: #d9b9b9; box-shadow: inset 0 1px 0 #fff1, 0 5px 14px #0002; }
.feature-icon svg { width: 23px; height: 23px; }
.feature-grid b { font-size: 12px; font-weight: 550; }
.feature-grid small { font-size: 10px; line-height: 1.4; }
.about { padding: 23px; }
.about h2, .section-heading h2 { font-size: 28px; }
.about > p:last-child { line-height: 1.8; color: #c7b4bd; }
.dynamics { margin-top: 24px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: none; box-shadow: none; }
.section-heading { padding: 4px 5px 12px; }
.section-heading > p:last-child { color: #b7a1ac; font-size: 12px; max-width: 390px; }
.dynamic-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 6px; }
.dynamic-card {
  min-height: 124px; padding: 20px 18px 37px; grid-template-columns: 58px minmax(0, 1fr); gap: 16px; align-content: center; text-align: left;
  border-color: #c295a22e; border-radius: 23px;
  background: radial-gradient(ellipse at 0 0, #92456717, transparent 75%), linear-gradient(120deg, #21131b, #120c12);
  box-shadow: inset 0 1px 0 #f4d4d308, 0 12px 28px #0003;
}
.dynamic-card::after { display: none; }
.dynamic-card b { margin-top: 0; font-size: 20px; line-height: 1.2; }
.dynamic-card small { font-size: 12px; line-height: 1.5; color: #beabb5; }
.dynamic-icon { width: 58px; height: 58px; margin: 0; border-color: #d3ad9e33; background: linear-gradient(145deg, #5d354048, #1a101a); box-shadow: inset 0 1px 0 #f2d3ca17, 0 6px 15px #0003; color: #d6adb8; }
.dynamic-icon svg { width: 31px; height: 31px; transition: transform 240ms ease, filter 240ms ease; }
.treasure-card .dynamic-icon { color: #ddc294; background: linear-gradient(145deg, #51412f52, #1a101a); }
.share-card .dynamic-icon { color: #c9b1cc; }
.open-label { left: 92px; right: auto; bottom: 15px; font-size: 9px; font-weight: 550; letter-spacing: .12em; color: #d3b99d; }
.dynamic-card:focus-visible .dynamic-icon svg { transform: translateY(-2px); }
.primary-cta { margin-top: 20px; min-height: 78px; border-color: #b574914d; background: linear-gradient(125deg, #6b233f, #321324 80%, #443024); }
.primary-cta b { font-size: 19px; }
.footer { margin-top: 26px; padding: 25px 5px 0; border-top: 1px solid #bda49524; background: radial-gradient(ellipse at 50% 0, #bd858e0b, transparent 75%); }
.footer-signature { display: flex; align-items: center; justify-content: center; gap: 18px; }
.footer img { display: block; width: min(60%, 200px); height: auto; max-height: 45px; opacity: .85; }
.adult-seal { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border: 1px solid #d4b99b54; border-radius: 50%; color: #dcc5af; font-size: 10px; letter-spacing: .02em; }
.footer p { margin: 13px 0 6px; font-size: 8px; font-weight: 450; color: #b9a7ac; letter-spacing: .2em; text-transform: uppercase; }
.footer-meta { display: flex; align-items: center; justify-content: center; gap: 14px; }
.footer small { font-size: 9px; color: #b7a1a8; }
.footer-meta button { min-height: 44px; padding: 8px 0; border: 0; background: none; color: #dac0a5; font-size: 10px; cursor: pointer; }
.home-line { display: block; width: 74px; height: 3px; margin: 15px auto 0; background: #c5a4a040; border-radius: 9px; }
.offer-card { position: relative; display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; padding: 22px 48px 20px 18px; border: 1px solid #bd859959; border-radius: 22px; color: var(--ink); background: linear-gradient(120deg, #301621f7, #140d14fa); box-shadow: 0 18px 45px #0006, inset 0 1px 0 #edc5c514; animation: offerIn 320ms ease both; }
.offer-card[hidden] { display: none; }
.offer-accent { display: grid; flex: 0 0 31px; width: 31px; height: 36px; place-items: center; color: #d9abbc; }
.offer-accent svg { width: 26px; height: 26px; }
.offer-copy { min-width: 0; }
.offer-copy .eyebrow { font-size: 8px; letter-spacing: .13em; margin-bottom: 7px; }
.offer-copy h2 { margin: 0; font: 24px/1.15 var(--display); }
.offer-copy > p:not(.eyebrow) { margin: 8px 0 4px; font-size: 12px; line-height: 1.5; color: #cbb4bf; }
.offer-copy a { display: inline-flex; min-height: 44px; align-items: center; gap: 14px; color: #efd3b0; font-size: 12px; }
.offer-close { position: absolute; top: 5px; right: 5px; width: 44px; height: 44px; border: 0; border-radius: 50%; color: #dec3cd; background: none; font-size: 23px; cursor: pointer; }
.offer-close:hover { background: #ffffff09; }
@keyframes offerIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.dialog-close { width: 44px; height: 44px; }
.age-gate { background: radial-gradient(ellipse at 50% 10%, #51132959, transparent 50rem), #080408ec; }
.age-card { border-color: #b99c8154; background: linear-gradient(145deg, #371122, #140b13 70%, #24151b); }
body.motion-paused *, body.motion-paused *::before, body.motion-paused *::after { animation-play-state: paused !important; }
@media (hover: hover) {
  .dynamic-card:hover { border-color: #c693a563; background: linear-gradient(120deg, #2b1923, #191017); box-shadow: 0 16px 34px #0005; }
  .roulette-card:hover svg { transform: rotate(22deg); }
  .treasure-card:hover svg { transform: translateY(-2px); filter: drop-shadow(0 0 5px #ddb87a55); }
  .share-card:hover svg { transform: translateX(2px); }
}
@media (min-width: 1200px) { .app-screen > .offer-card { position: fixed; right: 24px; bottom: 24px; width: min(340px, calc((100vw - 640px) / 2)); margin: 0; z-index: 10; } }
@media (max-width: 380px) {
  .phone-shell { padding: 6px; }
  .about { padding: 20px 16px; }
  .dynamic-card { padding: 18px 12px 37px; grid-template-columns: 48px minmax(0,1fr); gap: 12px; }
  .dynamic-icon { width: 48px; height: 52px; border-radius: 15px; }
  .dynamic-card b { font-size: 19px; }
  .dynamic-card small { font-size: 11px; }
  .open-label { left: 72px; }
  .offer-card { padding-left: 12px; gap: 7px; }
  .offer-accent { flex-basis: 23px; }
  .offer-copy h2 { font-size: 22px; }
  .footer-meta { gap: 12px; }
  .footer p { letter-spacing: .13em; }
}
@media (prefers-reduced-motion: reduce) { .offer-card { animation: none; } .dynamic-icon svg { transition: none; } }
