:root{--color-primary: #66CFC0;--color-primary-dark: #46B5A5;--color-primary-ink: #2F786E;--color-primary-soft: #E8F9F6;--color-accent: #E51E8C;--color-accent-dark: #C95616;--color-accent-soft: #FCE9F4;--color-bg: #FBF9FC;--color-surface: #FFFFFF;--color-border: #E8DED3;--color-text: #1C1917;--color-text-secondary: #57534E;--color-text-muted: #78716C;--shadow-card: 0 8px 28px rgba(75, 57, 41, .08);--shadow-raised: 0 14px 38px rgba(28, 25, 23, .16);--radius-card: 24px;--color-elevated: #FFFFFF;--color-input: #FFFFFF}[data-theme=dark]{--color-bg: #111615;--color-surface: #1A211F;--color-elevated: #202927;--color-input: #151B1A;--color-border: #34413E;--color-text: #F6F4F2;--color-text-secondary: #C5C0BC;--color-text-muted: #9A9692;--color-primary-soft: #203B37;--color-primary-ink: #8DDED2;--shadow-card: 0 9px 28px rgba(0,0,0,.25);--shadow-raised: 0 16px 42px rgba(0,0,0,.42)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;touch-action:manipulation;background:var(--color-bg)}body{min-width:320px;font-family:Outfit,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at 100% 0%,rgba(82,198,181,.12),transparent 28rem),radial-gradient(circle at 0% 100%,rgba(231,29,140,.06),transparent 26rem),var(--color-bg);color:var(--color-text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button,a{user-select:none;-webkit-user-select:none}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(82,198,181,.35);outline-offset:3px}#root{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);min-height:100dvh}.app-shell{width:100%;max-width:460px;min-height:100dvh;margin:0 auto;position:relative}.app-content{min-height:100dvh}.page{min-height:100dvh;padding:20px 18px calc(112px + env(safe-area-inset-bottom,0px))}.page-header{margin-bottom:20px}.page-title{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,8vw,2.35rem);line-height:1;letter-spacing:-.025em;color:var(--color-text)}.page-subtitle{margin-top:7px;font-size:.875rem;color:var(--color-text-secondary);line-height:1.45}.section-label{margin:0 2px 11px;color:var(--color-text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.surface-card{background:#ffffffe6;border:1px solid rgba(232,222,211,.9);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.interactive-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.interactive-card:active{transform:scale(.98)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 700px){.app-shell{margin-block:16px;min-height:calc(100dvh - 32px);border-radius:34px;overflow:hidden;box-shadow:0 22px 70px #4030231f}.page{min-height:calc(100dvh - 32px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-theme=dark] body{background:radial-gradient(circle at 100% 0%,rgba(82,198,181,.08),transparent 28rem),radial-gradient(circle at 0% 100%,rgba(231,29,140,.04),transparent 26rem),var(--color-bg)}[data-theme=dark] .app-shell{background:var(--color-bg)}[data-theme=dark] .surface-card{background:var(--color-elevated);border-color:var(--color-border)}[data-theme=dark] .level-pill,[data-theme=dark] .featured-reward,[data-theme=dark] .profile-stats article,[data-theme=dark] .profile-details div,[data-theme=dark] .badge-card,[data-theme=dark] .logout-button{background:var(--color-elevated)!important;border-color:var(--color-border)!important}[data-theme=dark] .balance-card,[data-theme=dark] .profile-card{background:linear-gradient(145deg,#202927,#18211f)!important;border-color:#35504b!important}[data-theme=dark] .quick-card-teal{background:#1b302d!important;border-color:#31534d!important}[data-theme=dark] .quick-card-orange{background:#30251e!important;border-color:#5a3b28!important}[data-theme=dark] .quick-icon{background:#ffffff0f!important}[data-theme=dark] .lg-nav{background:#1b2220f2!important;border-color:var(--color-border)!important}[data-theme=dark] .qr-sheet,[data-theme=dark] .edit-sheet,[data-theme=dark] .reward-sheet{background:linear-gradient(165deg,#202927,#17201e)!important;border-color:var(--color-border)!important}[data-theme=dark] .qr-sheet-label-wrap{background:#fff!important;border-color:#66cfc0!important;box-shadow:0 0 0 1px #66cfc04d,inset 0 0 0 5px #fff,inset 0 0 0 7px #66cfc02e,0 8px 20px #00000040!important}[data-theme=dark] .qr-sheet-label-caption{color:#2f786e!important}[data-theme=dark] .qr-sheet-label{color:#1c1917!important}[data-theme=dark] .qr-sheet-close,[data-theme=dark] .edit-close{background:var(--color-elevated)!important;border-color:var(--color-border)!important}[data-theme=dark] .edit-fields input{background:var(--color-input)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}[data-theme=dark] .linked-account input{background:#202624!important;color:var(--color-text-muted)!important}[data-theme=dark] .reward-card,[data-theme=dark] .history-transaction{background:var(--color-elevated)!important;border-color:var(--color-border)!important;box-shadow:var(--shadow-card)!important}[data-theme=dark] .reward-card>div:first-child,[data-theme=dark] .history-stat>div:first-child,[data-theme=dark] .history-transaction>div:first-child{background:none!important}[data-theme=dark] .reward-card p,[data-theme=dark] .history-transaction p,[data-theme=dark] .reward-sheet h3,[data-theme=dark] .login-page h1{color:var(--color-text)!important}[data-theme=dark] .history-transaction p:last-child,[data-theme=dark] .reward-card p:nth-of-type(2){color:var(--color-text-secondary)!important}[data-theme=dark] .history-stat{filter:none;background:var(--color-elevated)!important;border-color:var(--color-border)!important;box-shadow:var(--shadow-card)!important}
