:root{--color-bg:#0d0d14;--color-surface:#1a1a2e;--color-surface-raised:#22223d;--color-border:#322f4d;--color-accent-primary:#ff4d6d;--color-accent-primary-glow:#ff4d6d8c;--color-accent-secondary:#00d9c0;--color-accent-secondary-glow:#00d9c080;--color-accent-warning:#f5d76e;--color-accent-warning-glow:#f5d76e73;--color-text:#e8e6f0;--color-text-muted:#948fb0;--color-text-on-accent:#16121f;--color-danger:#ff4d6d;--color-success:#00d9c0;--font-display:"Audiowide", "Arial Narrow", sans-serif;--font-body:"Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-display:1.75rem;--font-size-hero:2.25rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--shadow-card:0 4px 16px #0006;--bottom-nav-height:64px;--transition-fast:.15s ease;--transition-glow:.2s ease-out}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);line-height:1.5;position:relative;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;mix-blend-mode:overlay;background-image:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 3px);position:fixed;inset:0}body:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(at 50% 0,#ff4d6d12,#0000 60%);position:fixed;inset:0}#app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}h1,h2,h3{font-family:var(--font-body);margin:0;font-weight:600}p{margin:0}a{color:var(--color-accent-secondary)}button{font-family:inherit}.display-text{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-base);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-glow), filter var(--transition-fast);-webkit-tap-highlight-color:transparent;border:1px solid #0000;padding:12px 20px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent-primary);color:var(--color-text-on-accent)}.btn-primary:hover,.btn-primary:focus-visible{box-shadow:0 0 0 1px var(--color-accent-primary), 0 0 18px var(--color-accent-primary-glow)}.btn-primary:active{text-shadow:-1px 0 var(--color-accent-secondary), 1px 0 var(--color-danger)}.btn-secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.btn-secondary:hover,.btn-secondary:focus-visible{border-color:var(--color-accent-secondary);box-shadow:0 0 14px var(--color-accent-secondary-glow)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card)}.card+.card{margin-top:var(--space-md)}.card-title{font-size:var(--font-size-lg);margin-bottom:var(--space-sm);font-weight:600}.card-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm)}.text-input{box-sizing:border-box;width:100%;margin:var(--space-md) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);padding:12px 14px}.text-input:focus{border-color:var(--color-accent-secondary);box-shadow:0 0 12px var(--color-accent-secondary-glow);outline:none}.inline-error{margin:var(--space-sm) 0;color:var(--color-accent-primary);font-size:var(--font-size-sm)}.access-onboarding{gap:var(--space-md);flex-direction:column;display:flex}.access-onboarding .section-heading{margin-bottom:calc(-1 * var(--space-sm))}.access-onboarding .btn{width:100%}.access-onboarding .card+.card{margin-top:0}.access-onboarding .card-title{line-height:1.3}.card-tappable{cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-glow), transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.card-tappable:hover,.card-tappable:focus-visible{border-color:var(--color-accent-secondary);box-shadow:0 0 16px var(--color-accent-secondary-glow)}.card-tappable:active{transform:scale(.99)}.payment-detail{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-base);display:flex}.payment-detail:last-of-type{border-bottom:none}.payment-detail span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.payment-detail strong{font-family:var(--font-body);text-align:right;font-weight:600}.badge{align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);font-size:var(--font-size-xs);letter-spacing:.02em;text-transform:uppercase;white-space:normal;overflow-wrap:break-word;max-width:100%;padding:4px 10px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-pending-payment{color:var(--color-accent-warning);background:#f5d76e1f}.badge-issued-pending-confirmation,.badge-confirmed{color:var(--color-accent-secondary);background:#00d9c01f}.badge-revoked{color:var(--color-accent-primary);background:#ff4d6d1f}.badge-expired{color:var(--color-text-muted);background:#948fb024}.price{font-family:var(--font-display);color:var(--color-accent-warning);font-size:var(--font-size-xl);text-shadow:0 0 12px var(--color-accent-warning-glow)}.section-heading{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:var(--space-sm);font-weight:600}.card--accent{border-left:3px solid var(--color-accent-warning)}.subscription-card__badges{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.qr-wrapper{border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-md) 0;background:#fff;justify-content:center;display:flex}.qr-wrapper img{width:180px;height:180px;display:block}.subscription-link{align-items:center;gap:var(--space-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);margin-bottom:var(--space-md);display:flex}.subscription-link__text{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--font-size-sm);color:var(--color-text);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1}.subscription-expiry{font-size:var(--font-size-sm);color:var(--color-text-muted)}.subscription-expiry--warning{color:var(--color-accent-warning);font-weight:600}.history-row{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.history-row:last-child{border-bottom:none}.history-row__title{font-size:var(--font-size-sm);font-weight:600}.history-row__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.feature-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feature-list li{gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text);display:flex}.feature-list li:before{content:"▸";color:var(--color-accent-secondary);flex-shrink:0}.platform-tabs{gap:var(--space-sm);padding-bottom:var(--space-xs);scrollbar-width:none;display:flex;overflow-x:auto}.platform-tabs::-webkit-scrollbar{display:none}.platform-tabs__chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-glow);-webkit-tap-highlight-color:transparent;border-radius:999px;flex:none;padding:8px 14px;font-weight:600}.platform-tabs__chip.is-active{color:var(--color-text);border-color:var(--color-accent-secondary);box-shadow:0 0 12px var(--color-accent-secondary-glow)}.instruction-steps{counter-reset:instruction-step;gap:var(--space-lg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.instruction-step{counter-increment:instruction-step;padding-left:40px;position:relative}.instruction-step:before{content:counter(instruction-step);background:var(--color-surface-raised);border:1px solid var(--color-accent-secondary);width:28px;height:28px;color:var(--color-accent-secondary);font-family:var(--font-display);font-size:var(--font-size-xs);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.instruction-step__title{margin-bottom:var(--space-xs);font-weight:600}.instruction-step p{font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}.instruction-step__note{font-size:var(--font-size-xs);color:var(--color-accent-warning);border-radius:var(--radius-sm);padding:var(--space-sm);background:#f5d76e14}.instruction-step__link{margin-top:var(--space-xs);margin-bottom:var(--space-xs)}.instruction-install-block{margin-bottom:var(--space-lg)}.instruction-install-block p{font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}.instruction-extra-help{margin-top:var(--space-sm);padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#ffffff08}.instruction-extra-help p,.instruction-extra-help li{font-size:var(--font-size-xs)}.instruction-extra-help__title,.instruction-extra-help__section-title,.instruction-extra-help__item-title{color:var(--color-text);font-weight:600}.instruction-extra-help__section-title{margin-top:var(--space-md)}.instruction-extra-help__item-title{margin-top:var(--space-sm)}.instruction-extra-help__list{margin:0 0 var(--space-xs);padding-left:var(--space-lg)}.instruction-extra-help__list li{margin-bottom:var(--space-xs)}.support-contact{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted);gap:var(--space-xs);flex-direction:column;display:flex}.support-contact__row a{color:var(--color-accent-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-secondary-glow);text-decoration-color:var(--color-accent-secondary-glow);text-underline-offset:2px;font-weight:600}.support-contact__email{color:var(--color-accent-secondary);font-weight:600}.support-contact__row--with-action{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.support-contact__copy{font-size:var(--font-size-xs);padding:6px 14px}.referral-balance{text-align:center}.referral-balance__label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-xs)}.referral-balance__value{font-family:var(--font-display);font-size:var(--font-size-hero);color:var(--color-accent-secondary);text-shadow:0 0 16px var(--color-accent-secondary-glow)}.button-row{gap:var(--space-sm);display:flex}.button-row .btn{flex:1}.history-row__amount{color:var(--color-accent-secondary);white-space:nowrap;font-weight:600}.screen-container{padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg));gap:var(--space-md);flex-direction:column;flex:1;display:flex}.screen-container .card+.card{margin-top:0}.bottom-nav{z-index:10;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast), text-shadow var(--transition-glow);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0 2px;font-size:.7rem;font-weight:600;display:flex}.bottom-nav__icon{font-size:18px;line-height:1}.bottom-nav__label{white-space:nowrap}.bottom-nav__item.is-active{color:var(--color-accent-secondary);text-shadow:0 0 10px var(--color-accent-secondary-glow)}.bottom-nav__item:active{transform:scale(.95)}
