:root{--bg: #171c30;--surface-nav: #181e32;--surface: #2a3650;--border: #4a5878;--text: #e4e8f4;--text-secondary: #c4ccde;--text-muted: #a7b0c8;--accent: #45d4b4;--accent-blue: #5ab0ff;--accent-strong: #3654fe;--danger: #fe5c72;--warning: #f0b429;--radius-sm: 10px;--radius: 16px;--radius-lg: 20px;--gap-xs: 4px;--gap-sm: 8px;--gap: 12px;--gap-md: 16px;--gap-lg: 24px;--nav-height: 84px;--viewport-height: 100vh}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;overscroll-behavior-y:none}#root{min-height:var(--viewport-height);display:flex;flex-direction:column}h1,h2,h3{margin:0;color:#fff;font-weight:600}h1{font-size:20px}h2{font-size:17px}h3{font-size:15px}button{font-family:inherit;font-size:inherit;cursor:pointer}code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;word-break:break-all}.app-shell{display:flex;flex-direction:column;flex:1;min-height:0}.app-content{flex:1;overflow-y:auto;padding:var(--gap-md) var(--gap-md) calc(var(--nav-height) + var(--gap-lg));-webkit-overflow-scrolling:touch}.stack{display:flex;flex-direction:column;gap:var(--gap)}.row{display:flex;align-items:center;gap:var(--gap-sm)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm)}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600}.page-title{margin-bottom:var(--gap-md)}.card{background:#2a3650eb;border:1px solid rgba(120,140,180,.22);border-radius:var(--radius);padding:var(--gap-md);color:var(--text)}.card-tight{padding:var(--gap)}.card-clickable{text-align:left;width:100%;color:inherit;transition:border-color .15s ease,background .15s ease}.card-clickable:active{border-color:#5ab0ff8c;background:#303e5cf5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);min-height:46px;padding:0 var(--gap-md);border-radius:12px;border:1px solid transparent;font-weight:600;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.btn:disabled{opacity:.45;cursor:default}.btn:not(:disabled):active{opacity:.85}.btn-block{width:100%}.btn-primary{background:var(--accent);color:#0d1220}.btn-secondary{background:#5ab0ff29;border-color:#5ab0ff73;color:#9ed0ff}.btn-ghost{background:#ffffff0f;border-color:#ffffff24;color:#fff}.btn-sm{min-height:34px;padding:0 var(--gap);font-size:13px;font-weight:600}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-active{background:#45d4b424;color:var(--accent)}.badge-expiringsoon{background:#f0b42924;color:var(--warning)}.badge-expired{background:#fe5c7224;color:var(--danger)}.badge-danger{background:#fe5c7233;color:#ff8a9a}.input{width:100%;min-height:46px;padding:0 var(--gap);background:#0c101c8c;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-family:inherit;font-size:inherit}.input:focus{outline:none;border-color:var(--accent-blue)}.input::placeholder{color:#a7b0c8d9}.input-error{border-color:var(--danger)}.field-error{color:var(--danger);font-size:13px}.bottom-nav-shell{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;padding:0 16px calc(10px + env(safe-area-inset-bottom));pointer-events:none}.bottom-nav{position:relative;pointer-events:auto;display:flex;align-items:stretch;gap:2px;width:min(100%,420px);padding:6px;border-radius:999px;border:none;background:transparent;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000);box-shadow:0 10px 28px #0000005c;transition:padding .28s cubic-bezier(.22,1,.36,1);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.bottom-nav-glass{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;pointer-events:none;background:#161c2cb8;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0f}.bottom-nav-shell.is-compact .bottom-nav{padding:3px}.bottom-nav-item{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:8px 10px;border:none;border-radius:999px;background:transparent;color:#ffffffd1;font-size:11px;font-weight:500;line-height:1.1;-webkit-font-smoothing:antialiased;transition:color .2s ease,background .2s ease}.bottom-nav-item:hover,.bottom-nav-item:focus-visible{color:#fff;outline:none}.bottom-nav-item:active{color:#fff}.bottom-nav-item-active{color:var(--accent-blue);background:#48a4fe29}.bottom-nav-item-active:hover,.bottom-nav-item-active:focus-visible{color:#7ec2ff;background:#48a4fe38}.bottom-nav-icon{font-size:18px;line-height:1}.bottom-nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased}.bottom-nav-shell.is-compact .bottom-nav-item{min-height:42px;padding:5px 8px;gap:1px}.bottom-nav-shell.is-compact .bottom-nav-icon{font-size:16px}.bottom-nav-shell.is-compact .bottom-nav-label{font-size:10px;opacity:.9}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.bottom-nav-glass{background:#161c2cf0}}.splash{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-md);padding:var(--gap-lg);text-align:center}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--border) 50%,var(--surface) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-host{position:fixed;left:var(--gap-md);right:var(--gap-md);bottom:calc(var(--nav-height) + var(--gap-sm));display:flex;flex-direction:column;gap:var(--gap-sm);z-index:80;pointer-events:none}.toast{padding:var(--gap) var(--gap-md);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:#fff;font-size:14px;box-shadow:0 8px 24px #00000059;animation:toast-in .18s ease-out}.toast-error{border-color:var(--danger)}.toast-success{border-color:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--gap);padding:var(--gap-lg);text-align:center}.empty-state-icon{font-size:40px}.balance-amount{font-size:34px;font-weight:700;color:#fff;line-height:1.1}.balance-hero{padding:4px 2px 2px}.balance-hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.balance-hero-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.balance-hero-label{font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--text-muted)}.balance-hero-amount{color:#fff;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.balance-hero-meta{display:flex;align-items:center;gap:8px;margin-top:2px;color:var(--text-secondary);font-size:13px}.balance-hero-dot{width:3px;height:3px;border-radius:999px;background:var(--text-muted)}.balance-hero-status{color:var(--accent);font-weight:500}.balance-hero-action{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:36px;height:36px;padding:0 14px;border:none;border-radius:999px;background:#5ab0ff29;color:#9ed0ff;font:inherit;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;text-align:center;transition:background .2s ease,opacity .15s ease}.balance-hero-action:active{opacity:.82;background:#5ab0ff3d}.balance-hero-action-plus{position:relative;box-sizing:border-box;width:18px;height:18px;border-radius:999px;background:var(--accent-blue);color:#fff;flex-shrink:0}.balance-hero-action-plus:before,.balance-hero-action-plus:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background:#fff;border-radius:1px}.balance-hero-action-plus:before{width:8px;height:2px}.balance-hero-action-plus:after{width:2px;height:8px}.hwid-card-alert{border-color:#fe5c7273;background:linear-gradient(160deg,#3a1c24 0%,var(--surface) 70%)}.hwid-inline-alert{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#fe5c7224;border:1px solid rgba(254,92,114,.35)}.hwid-inline-alert strong{color:#ff8a9a;font-size:14px}.hwid-inline-alert span{color:#ffffffe0;font-size:13px;line-height:1.35}.license-card-alert{border-color:#fe5c7273}.hwid-missing-text{color:var(--danger);font-weight:600;font-size:13px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-sm)}.tx-row{display:flex;justify-content:space-between;gap:var(--gap-sm);padding:var(--gap) 0;border-bottom:1px solid var(--border)}.tx-row:last-child{border-bottom:none}.tx-amount-positive{color:var(--accent);font-weight:600;white-space:nowrap}.tx-amount-negative{color:var(--text);font-weight:600;white-space:nowrap}.tips-carousel{display:flex;flex-direction:column;gap:10px}.tips-carousel-viewport{overflow:hidden;touch-action:pan-y;cursor:grab;margin:0 -2px;padding:2px}.tips-carousel-viewport:active{cursor:grabbing}.tips-carousel-track{display:flex;align-items:stretch;transition:transform .48s cubic-bezier(.22,1,.36,1)}.tips-carousel-track.is-dragging{transition:none}.tips-carousel-slide{flex:0 0 auto;min-width:0;display:flex}.tip-banner{position:relative;display:flex;align-items:center;gap:12px;width:100%;flex:1;min-height:96px;padding:16px 16px 16px 18px;border:1px solid transparent;border-radius:18px;color:inherit;text-align:left;font:inherit;overflow:hidden;transition:transform .28s ease;box-shadow:none}.tip-banner:disabled{cursor:grab}.tips-carousel-track.is-dragging .tip-banner{transition:none}.tip-banner-stripe{position:absolute;left:0;top:0;bottom:0;width:4px}.tip-banner-icon-wrap{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.tip-banner-icon{font-size:20px;line-height:1}.tip-banner-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.tip-banner-title{font-size:14px;font-weight:700;-webkit-font-smoothing:antialiased}.tip-banner-detail{font-size:13px;line-height:1.35;color:#ffffffe0;-webkit-font-smoothing:antialiased}.tip-banner-chevron{flex-shrink:0;font-size:22px;line-height:1;opacity:.95}.tip-banner-tone-warning{background:linear-gradient(135deg,#3a2a1c,#2a2218);border-color:#f0b42947}.tip-banner-tone-warning .tip-banner-stripe{background:linear-gradient(180deg,#f0b429,#c47a1a);box-shadow:0 0 12px #f0b42959}.tip-banner-tone-warning .tip-banner-icon-wrap{background:#f0b42929}.tip-banner-tone-warning .tip-banner-title,.tip-banner-tone-warning .tip-banner-chevron{color:#f0b429}.tip-banner-tone-danger{background:linear-gradient(135deg,#3a1c24,#24161c);border-color:#fe5c7247}.tip-banner-tone-danger .tip-banner-stripe{background:linear-gradient(180deg,#fe5c72,#b83248);box-shadow:0 0 12px #fe5c7259}.tip-banner-tone-danger .tip-banner-icon-wrap{background:#fe5c7229}.tip-banner-tone-danger .tip-banner-title,.tip-banner-tone-danger .tip-banner-chevron{color:#fe5c72}.tip-banner-tone-info{background:linear-gradient(135deg,#1c2c44,#172033);border-color:#48a4fe4d}.tip-banner-tone-info .tip-banner-stripe{background:linear-gradient(180deg,#7ec2ff,#2a6bb8);box-shadow:0 0 14px #48a4fe73}.tip-banner-tone-info .tip-banner-icon-wrap{background:#48a4fe29}.tip-banner-tone-info .tip-banner-title,.tip-banner-tone-info .tip-banner-chevron{color:#7ec2ff}.tip-banner-tone-success{background:linear-gradient(135deg,#173430,#15242a);border-color:#45d4b447}.tip-banner-tone-success .tip-banner-stripe{background:linear-gradient(180deg,#45d4b4,#2a8f7a);box-shadow:0 0 12px #45d4b459}.tip-banner-tone-success .tip-banner-icon-wrap{background:#45d4b429}.tip-banner-tone-success .tip-banner-title,.tip-banner-tone-success .tip-banner-chevron{color:#45d4b4}.tips-carousel-dots{display:flex;justify-content:center;align-items:center;gap:6px}.tips-dot{position:relative;width:6px;height:6px;padding:0;border:none;border-radius:999px;background:#3a4560;overflow:hidden;cursor:pointer;transition:width .25s ease,background .25s ease}.tips-dot-done{background:#48a4fe73}.tips-dot-active{width:22px;background:#3a4560}.tips-dot-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--accent-blue);transform:scaleX(0);transform-origin:left center;animation-name:tip-dot-progress;animation-timing-function:linear;animation-fill-mode:forwards}.tips-dot-fill-paused{animation-play-state:paused}@keyframes tip-dot-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.home-licenses{display:flex;flex-direction:column;gap:4px;margin-top:4px}.home-licenses-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 8px}.home-licenses-link{border:none;background:none;padding:0;color:var(--accent-blue);font:inherit;font-size:14px;font-weight:500}.home-licenses-header .home-licenses-link:first-child{white-space:nowrap;flex-shrink:0}.home-licenses-header .home-licenses-link:last-child{text-align:right;line-height:1.25}.home-licenses-link:active{opacity:.75}.home-licenses-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.home-license-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;margin:0;border:1px solid transparent;border-radius:16px;background:#232d43b8;color:inherit;text-align:left;font:inherit;transition:background .15s ease,border-color .15s ease}.home-license-row:active{opacity:.92;background:#2a3650e6}.home-license-row-alert{background:#4a1a248c;border-color:#fe5c7259;margin:0;padding-left:12px;padding-right:12px}.home-license-icon{flex-shrink:0;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;font-size:18px;line-height:1}.home-license-icon-active{background:#45d4b447}.home-license-icon-expiringsoon{background:#f0b42947}.home-license-icon-expired{background:#fe5c7238}.home-license-icon-danger{background:#fe5c7252}.home-license-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.home-license-name{color:#fff;font-weight:700;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-license-sub{font-size:13px;color:#c4cce0eb}.home-license-sub-active{color:var(--accent)}.home-license-sub-expiringsoon{color:var(--warning)}.home-license-sub-expired{color:#ff8a9a}.home-license-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.home-license-meta-top{color:#fff;font-weight:700;font-size:15px}.home-license-meta-bottom{font-size:13px;color:#b0bad2e6}.home-licenses-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 4px}.home-licenses-empty-text{margin:0;padding:12px 2px 4px}.home-licenses-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 2px}.home-licenses-skel-row{height:48px;border-radius:12px;background:#ffffff0a}.licenses-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 2px}.licenses-page-title-block{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.licenses-page-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}.licenses-page-subtitle{margin:0;font-size:13px}.licenses-page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.licenses-cta{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:36px;height:36px;padding:0 15px;border:none;border-radius:999px;font:inherit;font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1;white-space:nowrap;text-align:center;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}.licenses-cta:active{transform:scale(.97)}.licenses-cta-buy{background:linear-gradient(165deg,#5ee0c2,#2fc4a0 55%,#22b090);color:#07241c;box-shadow:0 1px #ffffff47 inset,0 6px 16px #2dc4a047}.licenses-cta-buy:active{background:linear-gradient(165deg,#4fd4b4,#28b492 55%,#1ea084);box-shadow:0 1px #ffffff2e inset,0 3px 10px #2dc4a038}.licenses-cta-link{background:#5ab0ff2e;color:#b8ddff;box-shadow:inset 0 0 0 1px #5ab0ff61}.licenses-cta-link:active{background:#5ab0ff47;color:#dff0ff}.licenses-page-filter{padding-top:4px}.licenses-page-filter-label{color:var(--text-muted);font-size:14px;font-weight:500}.licenses-page-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:calc(var(--viewport-height, 100vh) - var(--nav-height) - 120px);padding:24px 16px 40px;text-align:center}.licenses-page-empty-art{display:grid;place-items:center;width:112px;height:112px;margin-bottom:6px;border-radius:28px;color:#a7b0c86b;background:#ffffff08;box-shadow:inset 0 0 0 1px #ffffff0d}.licenses-page-empty-title{margin:0;color:var(--text-secondary);font-size:18px;font-weight:600;letter-spacing:-.02em}.licenses-page-empty-detail{margin:0;color:var(--text-muted);font-size:14px;line-height:1.45;max-width:18em}.license-detail-hero{padding:4px 2px 8px;display:flex;flex-direction:column;gap:10px}.license-detail-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.license-detail-name{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff;word-break:break-word}.license-detail-status{flex-shrink:0;margin-top:4px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1}.license-detail-status-active{background:#45d4b438;color:#6aefd0}.license-detail-status-expiringsoon{background:#f0b42938;color:#f0b429}.license-detail-status-expired{background:#fe5c7238;color:#ff8a9a}.license-detail-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#dce2f0eb;font-size:14px;font-weight:500}.license-detail-hero-dot{width:3px;height:3px;border-radius:999px;background:#b0bad2cc}.license-detail-days-active{color:var(--accent)}.license-detail-days-expiringsoon{color:var(--warning)}.license-detail-days-expired{color:#ff8a9a}.license-detail-panel{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:18px;background:#2a3650eb;border:1px solid rgba(120,140,180,.22)}.license-detail-panel-alert{background:#4a1a249e;border-color:#fe5c7266}.license-detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.license-detail-panel-title{margin:0;color:#fff;font-size:15px;font-weight:700}.license-detail-code{display:block;padding:12px 14px;border-radius:12px;background:#0c101c8c;border:1px solid rgba(255,255,255,.08);color:#fff;font-size:14px;line-height:1.4;word-break:break-all}.license-detail-code.is-masked{color:#d2daecb3;letter-spacing:.08em}.license-detail-note{margin:0;color:#d2daece0;font-size:13px;line-height:1.4}.hwid-explain-text{margin:0;color:#ffffffe6;font-size:14px;line-height:1.45}.hwid-explain-link{border:none;background:none;padding:0;color:var(--accent-blue);font:inherit;font-size:13px;font-weight:600;text-align:left}.hwid-explain-link:active{opacity:.75}.shop-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 2px}.shop-page-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:#fff}.shop-page-section-label{margin:4px 2px 0;color:var(--text-secondary);font-size:13px;font-weight:600}.shop-plan-price{color:var(--accent);font-weight:700;font-size:15px;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#090c16b8;display:flex;align-items:flex-end;z-index:60}.modal{width:100%;background:var(--surface);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-top:1px solid var(--border);padding:var(--gap-md);padding-bottom:calc(var(--gap-md) + env(safe-area-inset-bottom));animation:modal-in .2s ease-out}@keyframes modal-in{0%{transform:translateY(16px)}to{transform:translateY(0)}}.rate-app-stars{display:flex;justify-content:center;gap:4px}.rate-app-star{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--border);font-size:36px;line-height:1;padding:4px 6px;cursor:pointer;transition:color .15s ease,transform .15s ease}.rate-app-star.is-active{color:#f5b301}.rate-app-star:active{transform:scale(1.08)}.rate-app-star:disabled{opacity:.6;cursor:default}
