
*{box-sizing:border-box;font-family:inherit}
button,input{font-family:'DM Sans',sans-serif}
:root,[data-theme]{--color-primary:var(--orange-500);--color-primary-hover:var(--orange-600);--color-primary-active:var(--orange-600);--color-on-primary:#fff;--color-secondary:var(--violet-300)}
.pills-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}
.pills-row::-webkit-scrollbar{display:none;width:0;height:0}
.pill{flex-shrink:0;padding:10px 18px;border-radius:999px;border:2px solid var(--border-default);background:var(--bg-surface);color:var(--fg-secondary);font-family:'DM Sans',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.02em;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}
.pill:hover{border-color:var(--fg-muted)}
.pill:active{transform:scale(.97)}
.pill-active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}
.banner-carousel{position:relative}
.banner-rail{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}
.banner-rail::-webkit-scrollbar{display:none}
.banner{position:relative;flex:0 0 100%;scroll-snap-align:center;border-radius:22px;padding:22px 22px 34px;color:#fff;display:flex;flex-direction:column;gap:8px;min-height:170px;overflow:hidden;isolation:isolate;cursor:grab;user-select:none}
.banner-rail:active .banner{cursor:grabbing}
.banner-primary{background:linear-gradient(160deg,var(--neutral-900) 0%,var(--color-primary-active) 130%)}
.banner-violet{background:linear-gradient(160deg,var(--neutral-900) 0%,var(--violet-700) 130%)}
.banner-dark{background:linear-gradient(160deg,#141317 0%,#26242c 130%)}
.banner-shape{position:absolute;top:-10%;right:-15%;width:70%;height:120%;z-index:0;pointer-events:none}
.banner-shape-grid{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;mask-image:radial-gradient(circle at 100% 0%,rgba(0,0,0,.9),transparent 70%)}
.banner-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;max-width:56%}
.catalog-section{display:flex;flex-direction:column;gap:12px}
.banner-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.65}
.banner-title{font-size:19px;font-weight:800;line-height:1.22;letter-spacing:-.01em;margin:0}
.banner-sub{font-size:12.5px;opacity:.75;margin:0;font-weight:500;line-height:1.4}

.ad-back{align-self:flex-start;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border-default);cursor:pointer;padding:0;transition:background .18s ease}
.ad-back:hover{background:var(--bg-surface-raised)}
.ad-list-title{font-size:20px;font-weight:800;color:var(--fg-primary);margin:6px 0 0;letter-spacing:-.01em}
.banner-dots{position:absolute;z-index:2;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s ease,width .2s ease}
.dot-active{background:#fff;width:16px;border-radius:3px}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;gap:26px 10px}
.brand-item{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;cursor:pointer;transition:opacity .15s ease}
.brand-item:hover{opacity:.85}
.brand-item:active{opacity:.7}
.brand-logo{width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;letter-spacing:.02em;transition:box-shadow .16s ease}
.brand-item:hover .brand-logo{box-shadow:0 0 0 3px var(--bg-surface),0 0 0 5px var(--border-strong)}
.brand-name{font-size:12px;font-weight:700;line-height:1.25;color:var(--fg-primary);text-align:center;max-width:96px;text-wrap:balance}
html,body{overflow:hidden;max-width:100vw;scrollbar-width:none}
body::-webkit-scrollbar{display:none}
body{margin:0;background:var(--bg-app);font-family:'DM Sans',sans-serif;min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 16px;transition:background .2s ease}
.phase-note{max-width:380px;text-align:center;font-size:12px;color:var(--fg-muted)}
.screen-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 16px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:none}
.screen-body::-webkit-scrollbar{display:none}
.route-fade{animation:routeFade .32s ease}
@keyframes routeFade{from{opacity:0}to{opacity:1}}
.rewards-header{display:flex;justify-content:space-between;align-items:center;padding-top:2px;flex-shrink:0}
.rewards-search{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 14px;border-radius:999px;background:var(--bg-surface);border:2px solid var(--border-default)}
.rewards-search-input{flex:1;border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px;color:var(--fg-primary)}
.rewards-search-input::placeholder{color:var(--fg-muted);font-weight:600}
.rewards-empty{color:var(--fg-muted);font-size:14px;font-weight:600;text-align:center;padding:24px 0}
.rewards-title{font-size:36px;font-weight:700;font-family:'DM Sans',sans-serif;letter-spacing:-0.04em;color:var(--fg-primary);margin:0}
.balance-pill{display:flex;align-items:center;gap:7px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:999px;padding:8px 14px 8px 8px;font-weight:900;font-size:16px;color:var(--fg-primary);letter-spacing:-.01em}
.balance-pill .coin{width:22px;height:22px;border-radius:50%;background:var(--lime-500);display:flex;align-items:center;justify-content:center}
.brand-logo-img{overflow:hidden;background:var(--bg-surface)}
.brand-logo-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.section-title{font-size:12px;font-weight:700;color:var(--fg-muted);margin:0;text-transform:uppercase;letter-spacing:.07em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px 20px;color:var(--fg-secondary)}
.pf-screen{overflow-y:auto;padding:0 0 24px;gap:0}
.pf-hero-card{position:relative;overflow:hidden;flex-shrink:0;margin:12px 16px 0;padding:18px;border-radius:var(--radius-lg);background:var(--pf-hero-gradient,linear-gradient(135deg,#6C5CE7 0%,#4B3FC4 60%,#3730A3 100%))}
.pf-hero-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pf-hero-orbs span{position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}
.pf-hero-orbs span:nth-child(1){width:120px;height:120px;top:-50px;right:-30px}
.pf-hero-orbs span:nth-child(2){width:60px;height:60px;bottom:-24px;right:60px;background:rgba(226,255,23,.18)}
.pf-hero-orbs span:nth-child(3){width:36px;height:36px;top:30%;left:-10px;background:rgba(255,255,255,.08)}
.pf-hero-pattern{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.5px),repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1.5px,transparent 1.5px 16px);background-size:14px 14px,auto;-webkit-mask-image:radial-gradient(140% 120% at 100% 0%,#000,rgba(0,0,0,.25) 85%);mask-image:radial-gradient(140% 120% at 100% 0%,#000,rgba(0,0,0,.25) 85%);pointer-events:none}
.pf-hero-top{position:relative;z-index:1;display:flex;align-items:center;gap:14px}
.pf-avatar-wrap{position:relative;width:76px;height:76px;flex-shrink:0}
.pf-avatar{position:relative;z-index:1;width:76px;height:76px;border-radius:50%;object-fit:cover;display:block;background:var(--bg-sunken);border:2px solid var(--lime-500)}
.pf-avatar-fallback{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-on-primary);font-size:24px;font-weight:700;border:2px solid var(--lime-500);box-sizing:border-box}
.pf-avatar-edit{position:absolute;bottom:0;right:0;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid #1B1740;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.pf-hero-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.pf-name{margin:0;font-size:19px;font-weight:700;color:#fff;font-family:'DM Sans',sans-serif}
.pf-status-row{position:relative;z-index:2;display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin-top:14px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);cursor:pointer;text-align:left}
.pf-status-row:active{background:rgba(255,255,255,.16)}
.pf-handle{margin:0;font-size:13px;font-weight:600;color:rgba(255,255,255,.82)}
.pf-hero-top{padding-right:112px}
.pf-status-text{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.35;color:#fff;text-wrap:pretty}
.pf-hero-divider{position:relative;z-index:1;height:1px;background:rgba(255,255,255,.1);margin:16px 0 12px}
.pf-hero-company{position:relative;z-index:1;display:flex;align-items:center;gap:8px}
.pf-company-logo{width:22px;height:22px;border-radius:50%;object-fit:cover;display:block}
.pf-company-logo-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:800}
.pf-company-text{font-size:13px;font-weight:600;color:rgba(255,255,255,.85)}
.pf-status-list{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.pf-status-opt{text-align:left;padding:12px 14px;border-radius:12px;border:1.5px solid var(--border-strong);background:var(--bg-surface-raised);color:var(--fg-primary);font-size:14px;font-weight:600;cursor:pointer}
.pf-status-opt-active{border-color:var(--lime-500);background:var(--bg-sunken)}
[data-theme="light"] .pf-status-opt-active{border-color:var(--orange-500);background:var(--orange-200,#FFD7C7)}
.pf-status-edit{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pf-status-grid{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.pf-status-chip{padding:10px 13px;border-radius:999px;border:1.5px solid var(--border-default);background:var(--bg-sunken);color:var(--fg-secondary);font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:border-color .14s ease,color .14s ease}
.pf-status-chip.is-on{border-color:var(--orange-500);background:var(--bg-surface-raised);color:var(--fg-primary)}
.pf-status-own{width:100%;box-sizing:border-box;margin:4px 0 14px;padding:13px 15px;border-radius:16px;border:1.5px solid var(--border-default);background:var(--bg-sunken);color:var(--fg-primary);font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:500}
.pf-status-own::placeholder{color:var(--fg-muted)}
.pf-status-own:focus{outline:none;border-color:var(--orange-500)}
.pf-status-save{padding:16px;border-radius:999px;border:none;background:var(--orange-500,#FF5A2E);color:#fff;font-family:'DM Sans',sans-serif;font-size:15.5px;font-weight:700;letter-spacing:-.02em;cursor:pointer}
.pf-status-save:disabled{opacity:.4;cursor:default}
.pf-toast-wrap{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:200;animation:toastIn .25s ease}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.orbit-screen{position:relative;flex:1;overflow:hidden;background:var(--bg-app);display:flex;flex-direction:column}
.orbit-header{position:relative;z-index:3;padding:16px 16px 18px;flex-shrink:0}
.orbit-header-title{margin:0;font-size:36px;line-height:1.1;font-weight:700;letter-spacing:-.025em;color:var(--fg-primary);font-family:'DM Sans',sans-serif}
.orbit-header-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:6px;font-size:12px;font-weight:600;color:var(--fg-secondary)}
.orbit-header-meta img{width:16px;height:16px;border-radius:50%;object-fit:contain;background:#fff}
.orbit-screen{background:radial-gradient(120% 80% at 50% 12%,#221a52 0%,#120e33 45%,#07061a 100%)}
.orbit-cosmos{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.orbit-cosmos span{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 5px rgba(255,255,255,.8);animation-name:starTwinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes starTwinkle{0%,100%{opacity:.15}50%{opacity:1}}
.orbit-nebula{position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none}
.orbit-nebula-a{width:280px;height:230px;top:-4%;left:-22%;background:radial-gradient(circle,rgba(140,100,255,.42),transparent 68%)}
.orbit-nebula-b{width:300px;height:250px;bottom:-8%;right:-24%;background:radial-gradient(circle,rgba(56,120,200,.36),transparent 68%)}
.orbit-nebula-c{width:240px;height:200px;top:38%;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(221,91,74,.16),transparent 70%)}
.orbit-vignette{position:absolute;inset:0;background:radial-gradient(120% 85% at 50% 42%,transparent 38%,rgba(4,3,14,.72) 100%)}
[data-theme="light"] .orbit-screen{background:transparent}
.onb-amounts{display:flex;flex-direction:column;gap:10px}
.onb-amt{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.onb-amt-head{display:flex;align-items:center;gap:10px}
.onb-amt-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.onb-amt-text s{font-size:14px;font-weight:700;color:var(--fg-primary);text-decoration:none}
.onb-amt-text small{font-size:11.5px;color:var(--fg-muted)}
.onb-amt-value{font-size:18px;font-weight:800;color:var(--orange-500)}
.onb-chips{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.onb-chip{position:relative;min-height:38px;border-radius:12px;background:var(--bg-sunken);border:1px solid transparent;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;color:var(--fg-secondary);cursor:pointer;padding:0}
.onb-chip.is-on{background:color-mix(in srgb,var(--orange-500) 16%,transparent);border-color:var(--orange-500);color:var(--fg-primary)}
.onb-chip em{position:absolute;top:-7px;left:50%;transform:translateX(-50%);padding:1px 5px;border-radius:999px;background:var(--lime-500);color:var(--neutral-950);font-size:8px;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.onb-receipt{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.onb-receipt-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.onb-receipt-org{margin:0;font-size:11.5px;font-weight:600;color:var(--fg-muted)}
.onb-receipt-rows{display:flex;flex-direction:column;gap:11px}
.onb-receipt-row{display:flex;align-items:baseline;gap:8px}
.onb-receipt-name{font-size:13.5px;font-weight:700;color:var(--fg-primary);white-space:nowrap}
.onb-receipt-dots{flex:1;border-bottom:1px dotted var(--border-strong);transform:translateY(-3px)}
.onb-receipt-money{white-space:nowrap}
.onb-receipt-amt{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap;font-size:13.5px;font-weight:800;color:var(--fg-primary)}
.onb-receipt-amt b{font-size:10.5px;font-weight:600;color:var(--fg-muted)}
.onb-receipt-total{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border-default);font-size:13px;font-weight:700;color:var(--fg-secondary)}
.onb-receipt-total b{font-size:18px;font-weight:800;color:var(--orange-500)}
.onb-receipt-notch{position:relative;height:1px;background:repeating-linear-gradient(90deg,var(--border-strong) 0 5px,transparent 5px 10px);margin:2px -18px}
.onb-receipt-notch::before,.onb-receipt-notch::after{content:'';position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--bg-app)}
.onb-receipt-notch::before{left:-9px}
.onb-receipt-notch::after{right:-9px}
.onb-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.onb-plan-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 4px;border-radius:14px;background:var(--bg-sunken)}
.onb-plan-v{font-size:19px;font-weight:800;color:var(--fg-primary)}
.onb-plan-l{font-size:10px;font-weight:600;color:var(--fg-muted);text-align:center}
.onb-receipt-note{margin:0;font-size:11px;line-height:1.45;color:var(--fg-muted);text-wrap:pretty}
.onb-track{display:flex;gap:6px}
.onb-track i{flex:1;height:4px;border-radius:2px;background:var(--bg-sunken)}
.onb-track i.is-on{background:var(--orange-500)}
.onb-locked{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--bg-sunken);border:1px solid var(--border-default)}
.onb-locked img{width:36px;height:36px;border-radius:10px;object-fit:contain;background:#fff;padding:3px;box-sizing:border-box;flex-shrink:0}
.onb-locked-fb{width:36px;height:36px;border-radius:10px;background:var(--orange-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.onb-locked div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.onb-locked s{font-size:14px;font-weight:700;color:var(--fg-primary);text-decoration:none}
.onb-locked small{font-size:11.5px;color:var(--fg-muted)}
.onb-list{display:flex;flex-direction:column;gap:8px}
.onb-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:10px 14px;border-radius:14px;background:var(--bg-surface-raised);border:1px solid var(--border-default);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:var(--fg-primary);cursor:pointer;text-align:left}
.onb-opt.is-on{border-color:var(--orange-500);background:color-mix(in srgb,var(--orange-500) 12%,transparent)}
.onb-opt>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.onb-tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.onb-opt.is-on .onb-tick{background:var(--orange-500);border-color:var(--orange-500)}
.onb-photo{position:relative;align-self:center;width:104px;height:104px;border-radius:50%;border:none;padding:0;background:none;cursor:pointer}
.onb-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.onb-photo-fb{width:100%;height:100%;border-radius:50%;background:var(--bg-surface-raised);border:1px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--fg-muted)}
.onb-photo-btn{position:absolute;right:0;bottom:2px;width:32px;height:32px;border-radius:50%;background:var(--orange-500);border:2px solid var(--bg-app);display:flex;align-items:center;justify-content:center}
.onb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.onb-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px;border-radius:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default);cursor:pointer;font-family:'DM Sans',sans-serif}
.onb-card.is-on{border-color:var(--orange-500);background:color-mix(in srgb,var(--orange-500) 12%,transparent)}
.onb-card-logo{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.onb-card-logo img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
.onb-card-logo b{font-size:13px;font-weight:800;color:#fff}
.onb-card-name{font-size:10.5px;font-weight:600;color:var(--fg-secondary);text-align:center;line-height:1.25}
.onb-card-tick{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--fg-primary);display:flex;align-items:center;justify-content:center}
.auth-screen{position:relative;flex:1;display:flex;flex-direction:column;background:var(--bg-app);overflow:hidden;font-family:'DM Sans',sans-serif}
.auth-screen *{font-family:'DM Sans',sans-serif}
.auth-step{flex:1;display:flex;flex-direction:column;min-height:0;animation:authStepIn .26s ease}
@keyframes authStepIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.auth-splash{gap:18px;justify-content:center}
.auth-splash-mark{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center;animation:authPop .6s cubic-bezier(.2,1.3,.4,1)}
@keyframes authPop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
.auth-splash-ring{position:absolute;inset:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent)}
.auth-splash-dot{width:34px;height:34px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 30px 6px color-mix(in srgb,var(--color-primary) 45%,transparent)}
.auth-splash-word{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--fg-primary)}
.auth-intro{gap:16px}
.auth-nav-end{justify-content:flex-end}
.auth-art{height:250px;display:flex;align-items:center;justify-content:center;animation:authStepIn .3s ease}
.art{position:relative;width:230px;height:210px}
.art-bar{position:absolute;bottom:36px;width:44px;border-radius:12px 12px 4px 4px;background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.art-bar.b1{left:18px;height:78px}
.art-bar.b2{left:78px;height:120px;background:color-mix(in srgb,var(--violet-500) 45%,transparent);border-color:transparent}
.art-bar.b3{left:138px;height:164px;background:var(--color-primary);border-color:transparent}
.art-coin{position:absolute;top:6px;right:0;padding:8px 14px;border-radius:999px;background:var(--lime-500);color:var(--neutral-950);font-size:14px;font-weight:800}
.art-tile{position:absolute;width:66px;height:66px;border-radius:18px;background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.art-tile.t1{left:6px;top:12px;background:color-mix(in srgb,var(--color-primary) 80%,transparent);border-color:transparent}
.art-tile.t2{left:82px;top:12px}
.art-tile.t3{left:158px;top:12px;background:color-mix(in srgb,var(--violet-500) 55%,transparent);border-color:transparent}
.art-tile.t4{left:6px;top:88px}
.art-tile.t5{left:82px;top:88px;background:color-mix(in srgb,var(--lime-500) 70%,transparent);border-color:transparent}
.art-tile.t6{left:158px;top:88px}
.art-orbit{display:flex;align-items:center;justify-content:center}
.art-ring{position:absolute;top:50%;left:50%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;border:1px solid var(--border-strong)}
.art-sun{width:62px;height:62px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 34px 8px color-mix(in srgb,var(--color-primary) 35%,transparent)}
.art-face{position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid var(--bg-app)}
.art-face.f1{transform:translate(85px,0);background:var(--violet-300)}
.art-face.f2{transform:translate(-42px,-73px);background:var(--lime-500)}
.art-face.f3{transform:translate(-42px,73px);background:var(--violet-700)}
.auth-dots{display:flex;justify-content:center;gap:7px;margin-bottom:6px}
.auth-dots i{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:width .2s}
.auth-dots i.is-on{width:22px;border-radius:999px;background:var(--color-primary)}
.auth-body{flex:1;display:flex;flex-direction:column;gap:14px;padding:10px 22px calc(20px + env(safe-area-inset-bottom));min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.auth-body::-webkit-scrollbar{width:0;height:0;display:none}
.onb2-dock{position:sticky;bottom:0;display:flex;flex-direction:column;gap:9px;margin:8px -22px 0;padding:14px 22px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--bg-app) 34%)}
.auth-body.auth-center{align-items:center;justify-content:center;text-align:center;gap:16px}
.auth-grow{flex:1;min-height:8px}
.auth-full{width:100%}
.auth-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:var(--fg-secondary);white-space:nowrap}
.auth-back{width:34px;height:34px;border-radius:50%;background:var(--bg-surface-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.auth-h1{margin:0;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--fg-primary);font-family:'DM Sans',sans-serif}
.auth-h2{margin:0;font-size:18px;font-weight:800;color:var(--fg-primary)}
.auth-sub{margin:0;font-size:13.5px;line-height:1.5;color:var(--fg-secondary);text-wrap:pretty}
.auth-mut{margin:0;font-size:12px;line-height:1.5;color:var(--fg-muted);text-align:center}
.auth-lbl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}
.auth-field{display:flex;flex-direction:column;gap:6px}
.auth-inp{display:flex;align-items:center;gap:8px;height:52px;padding:0 16px;border-radius:14px;background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.auth-inp:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent)}
.auth-inp.is-bad{border-color:var(--red-500,#E5484D)}
.auth-inp input{flex:1;min-width:0;background:none;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--fg-primary)}
.auth-inp input::placeholder{color:var(--fg-muted)}
.auth-inp-act{background:none;border:none;padding:0;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:var(--violet-300);cursor:pointer}
.auth-code{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.auth-code-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:none;z-index:2;font-size:16px}
.auth-code-cell{height:58px;border-radius:12px;background:var(--bg-surface-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:var(--fg-primary)}
.auth-code-cell.is-on{border-color:var(--color-primary)}
.auth-code-cell.is-cur{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent)}
.auth-code-cell.is-bad{border-color:var(--red-500,#E5484D);color:var(--red-500,#E5484D)}
.auth-stack{display:flex;flex-direction:column;gap:10px}
.auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 18px;border-radius:999px;border:none;font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:700;cursor:pointer;flex-shrink:0;transition:transform .1s}
.auth-btn:active{transform:scale(.98)}
.auth-btn-p{background:var(--orange-500);color:#fff}
.auth-btn-off{background:var(--bg-surface-raised);color:var(--fg-muted);border:1px solid var(--border-default);cursor:default}
.auth-btn-o{background:transparent;color:var(--fg-primary);border:1px solid var(--border-strong)}
.auth-btn-t{background:none;color:var(--violet-300);min-height:40px;font-size:13px}
.auth-btn-apple{background:#000;color:#fff;border:1px solid rgba(255,255,255,.22)}
.auth-btn-google{background:#fff;color:#111}
.auth-or{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em}
.auth-or::before,.auth-or::after{content:'';flex:1;height:1px;background:var(--border-default)}
.auth-alert{display:flex;gap:8px;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--red-500,#E5484D) 13%,transparent);border:1px solid color-mix(in srgb,var(--red-500,#E5484D) 32%,transparent);font-size:12.5px;line-height:1.45;color:var(--fg-secondary);text-align:left}
.auth-alert b{color:var(--fg-primary)}
.auth-ok{display:flex;gap:8px;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--lime-500) 12%,transparent);border:1px solid color-mix(in srgb,var(--lime-500) 30%,transparent);font-size:12.5px;line-height:1.45;color:var(--fg-secondary)}
.auth-ok b{color:var(--fg-primary)}
.auth-note{padding:11px 13px;border-radius:12px;background:var(--bg-sunken);font-size:12.5px;line-height:1.45;color:var(--fg-secondary)}
.auth-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.auth-rule{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--fg-secondary);text-align:left}
.auth-rule em{width:17px;height:17px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10px;font-weight:800;background:var(--bg-sunken);color:var(--fg-muted)}
.auth-rule.is-ok em{background:var(--lime-500);color:var(--neutral-950)}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.auth-check{display:flex;align-items:center;gap:9px;background:none;border:none;padding:0;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--fg-secondary);cursor:pointer}
.auth-box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff}
.auth-box.is-on{background:var(--color-primary);border-color:var(--color-primary)}
.auth-link{background:none;border:none;padding:0;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;color:var(--violet-300);cursor:pointer}
.auth-hero{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.auth-hero-p{background:color-mix(in srgb,var(--color-primary) 20%,transparent);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}
.auth-hero-l{background:color-mix(in srgb,var(--lime-500) 16%,transparent);border-color:color-mix(in srgb,var(--lime-500) 36%,transparent)}
.auth-spin{width:46px;height:46px;border-radius:50%;border:3px solid var(--bg-sunken);border-top-color:var(--color-primary);animation:authSpin .9s linear infinite}
@keyframes authSpin{to{transform:rotate(360deg)}}
.auth-sysoverlay{position:absolute;inset:0;z-index:20;display:flex;align-items:flex-end;background:rgba(0,0,0,.55)}
.auth-syssheet{width:100%;background:var(--bg-surface-raised);border-top:1px solid var(--border-default);border-radius:22px 22px 0 0;padding:16px 18px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:orbitCardUp .25s ease}
.auth-syssheet-title{margin:0;font-size:17px;font-weight:800;color:var(--fg-primary)}
.auth-acct{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--bg-sunken);border:1px solid var(--border-default);text-align:left;width:100%}
.auth-acct-btn{cursor:pointer;font-family:'DM Sans',sans-serif}
.auth-acct u{width:38px;height:38px;border-radius:50%;background:var(--violet-700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;text-decoration:none;flex-shrink:0}
.auth-acct div{display:flex;flex-direction:column;gap:2px;min-width:0}
.auth-acct s{font-size:13.5px;font-weight:700;color:var(--fg-primary);text-decoration:none}
.auth-acct small{font-size:11.5px;color:var(--fg-muted)}
.orbit-screen{background:transparent}
[data-tab="orbit"]{background:radial-gradient(120% 80% at 50% 16%,#221a52 0%,#120e33 45%,#07061a 100%)!important}
[data-tab="orbit"] .statusbar-spacer{background:transparent;position:relative;z-index:1}
[data-theme="light"] [data-tab="orbit"]{background:radial-gradient(120% 80% at 50% 16%,#221a52 0%,#120e33 45%,#07061a 100%)!important;--bg-app:#0B0820;--bg-surface:#171334;--bg-surface-raised:#1E1943;--bg-sunken:#120E2C;--fg-primary:#F6F4FF;--fg-secondary:rgba(246,244,255,.74);--fg-muted:rgba(246,244,255,.52);--border-default:rgba(255,255,255,.1);--border-strong:rgba(255,255,255,.2)}
[data-theme="light"] [data-tab="orbit"] .statusbar-spacer{background:transparent}
.orbit-metrics-wrap{position:relative;z-index:3;padding:0 16px 0;flex-shrink:0}
.orbit-metrics-title{margin:0 0 10px;transition:opacity .22s ease;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-primary);opacity:.9}
.orbit-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;transition:opacity .22s ease,transform .22s ease}
.orbit-metrics-wrap.is-rallying{z-index:56}
.orbit-metrics-wrap.is-rallying .orbit-metrics-title{opacity:0}
.orbit-metrics-wrap.is-rallying .orbit-metrics{opacity:0;transform:scale(.97)}
.orbit-metric{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px 11px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-surface-raised) 30%,transparent);border:1px solid color-mix(in srgb,var(--border-default) 55%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.orbit-metric-orb{width:23px;height:23px;border-radius:50%;background:color-mix(in srgb,var(--fg-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.orbit-metric:nth-child(2) .orbit-metric-orb,.orbit-metric:nth-child(3) .orbit-metric-orb{background:color-mix(in srgb,var(--fg-primary) 8%,transparent)}
.orbit-info-status{display:inline-block;margin-top:5px;padding:4px 10px;border-radius:999px;background:var(--bg-sunken);font-size:12px;color:var(--fg-secondary)}
.orbit-metric-value em{font-style:normal;margin-left:3px;font-size:.52em;font-weight:600;letter-spacing:0;color:var(--fg-muted)}
.orbit-metric-value{font-size:22px;line-height:1.05;font-weight:800;letter-spacing:-.02em;color:var(--fg-primary);font-family:'DM Sans',sans-serif}
.orbit-metric-label{font-size:10px;font-weight:600;color:var(--fg-secondary);text-align:center;text-wrap:pretty}
.orbit-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.orbit-info-btn{width:28px;height:28px;border-radius:50%;border:1px solid color-mix(in srgb,var(--violet-300) 40%,transparent);background:color-mix(in srgb,var(--violet-500) 26%,transparent);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0}
.orbit-info-btn:active{transform:scale(.92)}
.orbit-about-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,6,26,.72);backdrop-filter:blur(6px);animation:orbitAboutIn .18s ease}
@keyframes orbitAboutIn{from{opacity:0}to{opacity:1}}
.orbit-about-card{position:relative;width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:22px 20px 18px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default);box-shadow:0 24px 60px rgba(0,0,0,.45);animation:orbitAboutPop .28s cubic-bezier(.2,1.2,.4,1);color:var(--fg-primary)}

@keyframes orbitAboutPop{from{opacity:0;transform:scale(.88) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes aboutBob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}}
.orbit-about-viz{position:relative;width:150px;height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.oav-ring{position:absolute;top:50%;left:50%;width:104px;height:104px;margin:-52px 0 0 -52px;border-radius:50%;border:1px solid var(--border-strong)}
.oav-sun{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 18px 5px color-mix(in srgb,var(--color-primary) 26%,transparent)}
.oav-sun img{width:26px;height:26px;object-fit:contain}
.oav-sun b{font-size:16px;font-weight:800;color:var(--color-primary)}
.oav-dot{position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--violet-300);box-shadow:0 0 10px rgba(156,143,255,.7)}
.oav-d1{transform:translate(52px,0)}
.oav-d2{transform:translate(-26px,-45px);background:var(--lime-500);box-shadow:0 0 10px rgba(226,255,23,.5)}
.oav-d3{transform:translate(-26px,45px);background:var(--orange-500);box-shadow:0 0 10px rgba(255,90,46,.5)}
.oav-emoji{position:absolute;font-size:17px;animation:aboutBob 2.4s ease-in-out infinite}
.oav-e1{top:2px;right:8px}
.oav-e2{bottom:2px;left:6px;animation-delay:.7s}
.orbit-about-title{margin:0;font-size:19px;font-weight:800;color:inherit;font-family:'DM Sans',sans-serif}
.orbit-about-body{margin:0;font-size:13px;line-height:1.45;color:var(--fg-secondary);text-wrap:pretty}
.orbit-about-list{display:flex;flex-direction:column;gap:6px;width:100%;margin:2px 0 4px}
.orbit-about-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--bg-sunken);font-size:12.5px;font-weight:600;color:var(--fg-secondary);text-align:left}
.oar-icon{width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--fg-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.orbit-about-hint{margin:4px 0 0;font-size:11px;opacity:.55}
.orbit-about-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:none;background:var(--bg-sunken);color:var(--fg-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2}
.orbit-vibe{position:relative;z-index:2;text-align:center;font-size:13px;font-weight:600;color:var(--fg-secondary);margin:16px 0 0;padding:0 20px}
.orbit-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}
.orbit-stage.is-paused .orbit-pivot,.orbit-stage.is-paused .orbit-bubble-wrap{animation-play-state:paused}
.orbit-center{position:relative;z-index:2;width:58px;height:58px;padding:0;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 0 22px 6px rgba(255,255,255,.20),0 0 46px 14px color-mix(in srgb, var(--brand-color) 26%, transparent)}
.orbit-center:active{transform:scale(.94)}
.orbit-center:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.orbit-center img{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}
.orbit-center-fallback{font-size:24px;font-weight:800;color:var(--color-primary)}
.orbit-paths{position:absolute;inset:0;z-index:1;pointer-events:none}
.orbit-paths i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(198,255,61,.16);display:block}
[data-theme="light"] .orbit-paths i{border-color:rgba(198,255,61,.16)}
.orbit-ring{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:none;pointer-events:none}
.orbit-pivot{position:absolute;top:50%;left:50%;width:0;height:0;animation-name:orbitSpin;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes orbitSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.orbit-anchor{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none}
.orbit-bubble-wrap{position:relative;flex-shrink:0;pointer-events:auto;animation-name:counterSpin;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes counterSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
.orbit-bubble{width:100%;height:100%;position:relative;border-radius:50%;border:none;padding:0;cursor:pointer;background:transparent;display:block;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .1s ease}
.orbit-bubble.is-combo{transform:scale(1.08)}
.orbit-combo{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);z-index:6;padding:3px 9px;border-radius:999px;background:var(--lime-500);color:var(--neutral-950);font-size:15px;font-weight:900;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px color-mix(in srgb,var(--lime-500) 55%,transparent);animation:comboPop .28s cubic-bezier(.2,1.4,.4,1)}

.orbit-rally-slot{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:55;overflow:visible}
.orbit-rally{display:flex;align-items:center;gap:10px;height:74px;padding:0 16px 0 8px;box-sizing:border-box;border-radius:999px;background:color-mix(in srgb,var(--neutral-950) 74%,transparent);backdrop-filter:blur(10px);box-shadow:0 8px 28px rgba(0,0,0,.5),inset 0 0 0 1px color-mix(in srgb,var(--heat) 30%,transparent);transition:box-shadow .3s ease}
.orbit-rally-bub{position:relative;display:grid;place-items:center;width:28px;height:28px;flex:none;margin:calc(var(--grow)*18px);border-radius:50%;background:radial-gradient(circle at 34% 26%,color-mix(in srgb,var(--heat) 42%,#fff),var(--heat) 62%,color-mix(in srgb,var(--heat) 82%,var(--neutral-950)));box-shadow:0 0 0 calc(2px + var(--grow)*4px) color-mix(in srgb,var(--heat) calc(12% + var(--grow)*24%),transparent),0 8px 26px color-mix(in srgb,var(--heat) calc(24% + var(--grow)*36%),transparent);transform:scale(calc(1 + var(--grow)*1.3));transition:transform .42s cubic-bezier(.18,1.45,.3,1),margin .42s cubic-bezier(.18,1.45,.3,1),box-shadow .3s ease,background .38s ease;}
.orbit-rally-pulse{position:absolute;inset:-2px;border-radius:50%;border:2px solid color-mix(in srgb,var(--heat) 80%,#fff);animation:rallyPulse .62s cubic-bezier(.16,.82,.2,1) forwards;pointer-events:none}
.orbit-rally-bub::after{content:"";position:absolute;top:13%;left:19%;width:34%;height:23%;border-radius:50%;background:rgba(255,255,255,.62);filter:blur(1px)}
.orbit-rally-n{position:relative;font-size:15px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--neutral-950);animation:rallyCount .26s cubic-bezier(.22,1.5,.36,1)}
.orbit-rally-copy{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;width:126px;text-align:center}
.orbit-rally-heat{font-size:14px;white-space:nowrap;letter-spacing:-.015em;font-weight:800;letter-spacing:-.01em;color:color-mix(in srgb,var(--heat) 76%,#fff);animation:rallyCount .3s cubic-bezier(.22,1.5,.36,1)}
.orbit-rally-label{font-size:11px;font-weight:600;color:color-mix(in srgb,#fff 72%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:126px}
.orbit-rally-pop{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 24px;opacity:1;filter:blur(0);transition:opacity 1.4s cubic-bezier(.4,0,.2,1),filter 1.4s cubic-bezier(.4,0,.2,1),transform 1.4s cubic-bezier(.4,0,.2,1)}
.orbit-rally-pop.is-leaving{opacity:0;filter:blur(10px);transform:translateY(-10px) scale(1.03)}
.orbit-rally-flash{position:absolute;top:50%;left:50%;width:130px;height:130px;margin:-65px 0 0 -65px;border-radius:50%;background:radial-gradient(circle,#fff 0%,color-mix(in srgb,var(--lime-500) 80%,#fff) 32%,transparent 70%);filter:blur(7px);animation:rallyFlash .78s cubic-bezier(.1,.8,.2,1) forwards}
.orbit-rally-rays{position:absolute;top:50%;left:50%;width:170px;height:170px;margin:-85px 0 0 -85px;background:conic-gradient(from 0deg,#fff 0 3deg,transparent 3deg 26deg,color-mix(in srgb,var(--lime-500) 90%,#fff) 26deg 29deg,transparent 29deg 52deg,#fff 52deg 55deg,transparent 55deg 78deg,color-mix(in srgb,var(--lime-500) 90%,#fff) 78deg 81deg,transparent 81deg 104deg,#fff 104deg 107deg,transparent 107deg 130deg,color-mix(in srgb,var(--orange-500) 90%,#fff) 130deg 133deg,transparent 133deg 156deg,#fff 156deg 159deg,transparent 159deg 182deg,color-mix(in srgb,var(--lime-500) 90%,#fff) 182deg 185deg,transparent 185deg 208deg,#fff 208deg 211deg,transparent 211deg 234deg,color-mix(in srgb,var(--lime-500) 90%,#fff) 234deg 237deg,transparent 237deg 260deg,#fff 260deg 263deg,transparent 263deg 286deg,color-mix(in srgb,var(--orange-500) 90%,#fff) 286deg 289deg,transparent 289deg 312deg,#fff 312deg 315deg,transparent 315deg 338deg,color-mix(in srgb,var(--lime-500) 90%,#fff) 338deg 341deg,transparent 341deg 360deg);-webkit-mask:radial-gradient(circle,transparent 12%,#000 26%,#000 72%,transparent 88%);mask:radial-gradient(circle,transparent 12%,#000 26%,#000 72%,transparent 88%);animation:rallyRays 1.6s cubic-bezier(.12,.82,.2,1) forwards}
.orbit-rally-star{position:absolute;top:50%;left:50%;width:92px;height:92px;margin:-46px 0 0 -46px;background:linear-gradient(140deg,#fff,color-mix(in srgb,var(--lime-500) 92%,#fff) 45%,color-mix(in srgb,var(--orange-500) 85%,#fff));clip-path:polygon(50% 0,60% 32%,79% 8%,73% 36%,100% 34%,76% 50%,100% 66%,73% 64%,79% 92%,60% 68%,50% 100%,40% 68%,21% 92%,27% 64%,0 66%,24% 50%,0 34%,27% 36%,21% 8%,40% 32%);animation:rallyStar 1.35s cubic-bezier(.16,.9,.14,1) forwards}

.orbit-rally-shard{position:absolute;top:50%;left:50%;width:16px;height:26px;margin:-13px 0 0 -8px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--lime-500) 88%,#fff) 55%,color-mix(in srgb,var(--orange-500) 90%,#fff));clip-path:polygon(50% 0,100% 74%,50% 100%,0 74%);transform:rotate(var(--a)) translateY(0) scale(.4);opacity:0;animation:rallyShard 1.15s cubic-bezier(.1,.78,.18,1) var(--sd) forwards}
.orbit-rally-bloom{position:absolute;top:50%;left:50%;width:160px;height:160px;margin:-80px 0 0 -80px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--lime-500) 55%,#fff) 0%,color-mix(in srgb,var(--color-primary) 50%,transparent) 46%,transparent 74%);filter:blur(18px);animation:rallyBloom 2s cubic-bezier(.16,.84,.24,1) forwards}
.orbit-rally-sweep{position:absolute;top:-18px;bottom:-18px;left:-60vw;width:240px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lime-500) 30%,#fff) 45%,#fff 52%,color-mix(in srgb,var(--lime-500) 30%,#fff) 60%,transparent);filter:blur(11px);opacity:.85;animation:rallySweep 1.05s cubic-bezier(.3,.72,.16,1) forwards}
.orbit-rally-pop-word{font-size:32px;font-weight:800;letter-spacing:-.035em;line-height:1.05;color:#fff;text-shadow:0 2px 24px color-mix(in srgb,var(--lime-500) 55%,transparent),0 2px 12px rgba(0,0,0,.7);opacity:1;clip-path:inset(0);animation:rallyWipe .95s cubic-bezier(.2,.86,.16,1) .16s}
.orbit-rally-pop-sub{font-size:13px;font-weight:700;color:#fff;opacity:.9;clip-path:inset(0);text-shadow:0 1px 10px rgba(0,0,0,.8);animation:rallyWipe .85s cubic-bezier(.2,.86,.16,1) .42s}
@keyframes rallyIn{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes rallyCount{0%{transform:scale(.78);opacity:.5}55%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
@keyframes rallyPulse{0%{transform:scale(.92);opacity:.95}100%{transform:scale(2.1);opacity:0}}
@keyframes rallyBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes rallyFlash{0%{transform:scale(.16);opacity:1}40%{opacity:.9}100%{transform:scale(1.6);opacity:0}}
@keyframes rallyRays{0%{transform:scale(.2) rotate(-22deg);opacity:1}55%{opacity:.7}100%{transform:scale(2.5) rotate(16deg);opacity:0}}
@keyframes rallyStar{0%{transform:scale(.12) rotate(-34deg);opacity:1}22%{transform:scale(1.28) rotate(4deg);opacity:1}42%{transform:scale(1.12) rotate(6deg);opacity:1}100%{transform:scale(2.1) rotate(20deg);opacity:0}}
@keyframes rallyShard{0%{transform:rotate(var(--a)) translateY(0) scale(.35);opacity:0}14%{opacity:1}26%{transform:rotate(var(--a)) translateY(calc(var(--d)*-.22)) scale(1.1);opacity:1}100%{transform:rotate(calc(var(--a) + 34deg)) translateY(calc(var(--d)*-1)) scale(.5);opacity:0}}
@keyframes rallyBloom{0%{transform:scale(.24);opacity:.9}50%{opacity:.45}100%{transform:scale(2.7);opacity:0}}
@keyframes rallySweep{0%{transform:translateX(0);opacity:0}12%{opacity:.9}100%{transform:translateX(140vw);opacity:0}}
@keyframes rallyWipe{0%{clip-path:inset(0 100% 0 0);filter:blur(6px)}42%{filter:blur(1px)}100%{clip-path:inset(0 -8% 0 0);filter:blur(0)}}
@keyframes rallyBurst{0%{transform:scale(.96);opacity:1;filter:blur(0)}5%{transform:scale(1)}68%{transform:translateY(0) scale(1);opacity:1;filter:blur(0)}84%{opacity:.72;filter:blur(2px)}100%{transform:translateY(-10px) scale(1.03);opacity:0;filter:blur(9px)}}
@keyframes comboPop{0%{transform:translateX(-50%) scale(.6)}60%{transform:translateX(-50%) scale(1.18)}100%{transform:translateX(-50%) scale(1)}}
.orbit-bubble:active{transform:scale(.9)}
.orbit-bubble::after{content:'';position:absolute;inset:-8px;border-radius:50%}
.orbit-bubble img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:2px solid var(--ring-color,var(--color-primary));box-shadow:0 0 10px color-mix(in srgb, var(--ring-color,var(--color-primary)) 55%, transparent)}
.orbit-bubble-initials{width:100%;height:100%;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;border:2px solid var(--ring-color,var(--color-primary));box-sizing:border-box}
.orbit-bubble-glow{position:absolute;inset:-5px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb, var(--ring-color,var(--color-primary)) 35%, transparent),transparent 70%);pointer-events:none}
.orbit-bubble-name{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;letter-spacing:.01em;color:var(--fg-secondary);white-space:nowrap;pointer-events:none}
.orbit-kudos-badge{position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--bg-app);background:var(--lime-500);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.3);transition:transform .1s}
.orbit-kudos-badge{pointer-events:none}

.orbit-kudos-tick{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-size:12px;font-weight:800;color:var(--lime-500);pointer-events:none;animation:kudosTick .9s ease-out forwards}

@keyframes kudosTick{0%{opacity:0;transform:translate(-50%,4px) scale(.7)}25%{opacity:1;transform:translate(-50%,-6px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-24px) scale(1)}}
.orbit-sr-list{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.orbit-sr-list:focus-within{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;z-index:9;background:var(--bg-surface-raised);border:1px solid var(--border-default);border-radius:14px;padding:10px;max-height:100%;overflow-y:auto}
.orbit-footer{position:relative;z-index:2;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 16px calc(14px + env(safe-area-inset-bottom))}
.orbit-more-chip{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-surface-raised);color:var(--fg-primary);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;cursor:pointer}
.orbit-more-chip:hover{background:var(--bg-sunken)}
.orbit-legend{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;color:var(--fg-secondary)}
.orbit-legend-label{text-transform:uppercase;letter-spacing:.07em}
.orbit-legend-item{display:inline-flex;align-items:center;gap:4px}
.orbit-legend-item i{width:9px;height:9px;border-radius:50%;border:2px solid currentColor;display:block}
.orbit-hint{position:relative;display:flex;align-items:center;gap:6px;text-align:center;font-size:12px;color:var(--fg-muted);margin:0;text-wrap:pretty}
.orbit-hint-dismiss{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:none;background:var(--bg-sunken);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.orbit-emoji-burst{position:absolute;transform:translate(-50%,0);will-change:transform,opacity;animation-name:heartFloat;animation-timing-function:cubic-bezier(.22,.62,.3,1);animation-fill-mode:forwards;pointer-events:none;z-index:60;filter:drop-shadow(0 2px 6px rgba(0,0,0,.28))}
@keyframes heartFloat{0%{opacity:0;transform:translate(-50%,0) scale(.7)}8%{opacity:1;transform:translate(-50%,-4%) scale(1)}82%{opacity:1}100%{opacity:0;transform:translate(-50%,var(--rise,-600px)) scale(.94)}}
@keyframes lanternSway{from{transform:translateX(calc(var(--drift)*-1)) rotate(calc(var(--spin,8deg)*-1))}to{transform:translateX(var(--drift)) rotate(var(--spin,8deg))}}
.orbit-emoji-inner{display:block;animation-name:lanternSway;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@media (prefers-reduced-motion:reduce){
.orbit-pivot,.orbit-bubble-wrap,.orbit-cosmos span,.orbit-info-card{animation:none!important}
.orbit-emoji-burst{animation:emojiFadeRM .9s ease-out forwards}
@keyframes emojiFadeRM{0%{opacity:0}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-110%)}}
}
.orbit-info-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:flex-end;padding:0;background:rgba(0,0,0,.46);backdrop-filter:blur(2px);animation:orbitScrimIn .26s ease both}
@keyframes orbitScrimIn{from{opacity:0}to{opacity:1}}
.orbit-info-card{position:relative;width:100%;background:var(--bg-surface-raised);border-radius:22px 22px 0 0;padding:18px 18px 22px;box-shadow:0 -10px 40px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:14px;animation:orbitCardUp .38s cubic-bezier(.22,1,.3,1) both;border:1px solid var(--border-default);border-bottom:none;max-height:100%;overflow-y:auto}
.orbit-info-card:focus{outline:none}
@keyframes orbitCardUp{from{transform:translateY(14%);opacity:0}to{transform:translateY(0);opacity:1}}
.orbit-info-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:var(--bg-sunken);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.orbit-info-head{display:flex;align-items:center;gap:12px;padding-right:36px}
.orbit-info-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary);flex-shrink:0}
.orbit-info-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-on-primary);font-size:18px;font-weight:800}
.orbit-info-name{margin:0;font-size:16px;font-weight:700;color:var(--fg-primary)}
.orbit-info-bio{margin:2px 0 0;font-size:12px;color:var(--fg-secondary)}
.orbit-info-stats{display:flex;justify-content:space-between;background:var(--bg-sunken);border-radius:14px;padding:12px}
.orbit-info-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}
.orbit-info-stat-value{font-size:15px;font-weight:800;color:var(--fg-primary)}
.orbit-info-stat-label{font-size:10px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;text-align:center}
.orbit-info-caption{margin:-4px 0 0;font-size:11px;color:var(--fg-muted);text-align:center}
.orbit-info-kudos-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px;border-radius:999px;border:none;background:var(--lime-500);color:var(--neutral-950);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:transform .1s}
.orbit-info-kudos-btn:active{transform:scale(.96)}
.orbit-sheet-title{margin:0;padding-right:36px;font-size:12px;font-weight:700;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.07em}
.orbit-more-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 18px),transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 18px),transparent 100%)}
.orbit-more-list::-webkit-scrollbar{width:0;height:0;display:none}
.orbit-search{width:100%;box-sizing:border-box;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-sunken);color:var(--fg-primary);font-family:'DM Sans',sans-serif;font-size:14px}
.orbit-search::placeholder{color:var(--fg-muted)}
.orbit-search:focus{outline:2px solid var(--color-primary);outline-offset:1px}
.orbit-more-row{display:flex;align-items:center;gap:8px}
.orbit-more-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 8px;border-radius:12px;border:none;background:transparent;cursor:pointer;text-align:left}
.orbit-more-main:hover{background:var(--bg-sunken)}
.orbit-more-main img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary);flex-shrink:0}
.orbit-more-fallback{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.orbit-more-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.orbit-more-name{font-size:14px;font-weight:700;color:var(--fg-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orbit-more-meta{font-size:11px;color:var(--fg-secondary)}
.orbit-more-kudos{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:none;background:var(--lime-500);display:flex;align-items:center;justify-content:center;cursor:pointer}

.orbit-store-head{display:flex;align-items:center;gap:12px;padding-right:36px}
.orbit-store-head img{width:44px;height:44px;border-radius:12px;object-fit:contain;background:#fff;padding:4px;box-sizing:border-box;flex-shrink:0}
.pf-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 16px 24px}
.pf-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 4px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.pf-stat-coin{width:18px;height:18px;border-radius:50%;background:var(--lime-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pf-stat-value{font-size:16px;font-weight:700;color:var(--fg-primary)}
.pf-stat-label{font-size:11px;color:var(--fg-secondary)}
.pf-section{padding:0 16px 16px}
.pf-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pf-section-title{margin:0 0 10px;font-size:12px;font-weight:700;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.07em}
.pf-section-head .pf-section-title{margin:0}
.pf-section-link{background:none;border:none;font-size:13px;font-weight:600;color:var(--color-primary);cursor:pointer;padding:0}
.pf-wallet-list{display:flex;flex-direction:column;gap:14px}
.pf-wallet-row{display:flex;align-items:center;gap:14px;padding:2px 0}
.pf-wallet-logo{width:44px;height:44px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.pf-wallet-logo-img{background:var(--bg-surface-raised);overflow:hidden;border:1px solid var(--border-default);box-shadow:none}
.pf-wallet-logo-img img{width:100%;height:100%;object-fit:contain}
.pf-wallet-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pf-wallet-title{font-size:14px;font-weight:700;color:var(--fg-primary)}
.pf-wallet-date{font-size:12px;color:var(--fg-secondary)}
.pf-wallet-amount{font-size:15px;font-weight:800;color:var(--lime-500)}
[data-theme="light"] .pf-wallet-amount{color:#1B7A3D}
[data-theme="light"] .hm-crew b{color:#5A7A05}
.pf-notif-list{display:flex;flex-direction:column;margin:14px 0 4px;border-radius:14px;overflow:hidden;background:var(--bg-surface)}
.pf-notif{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 15px}
.pf-notif-text{flex:1;min-width:0}
.pf-notif-text b{font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--fg-primary)}
.pf-groups{display:flex;flex-direction:column;gap:6px;margin:14px 0 4px}
.pf-group-label{margin:12px 0 2px;padding:0 4px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-muted)}
.pf-groups .pf-list{margin:0}
.pf-groups .pf-list-danger{margin-top:22px}
.pf-radio-list{display:flex;flex-direction:column;margin:14px 0 4px;border-radius:14px;overflow:hidden;background:var(--bg-surface)}
.pf-radio-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 15px;border:none;border-bottom:1px solid var(--border-default);background:none;text-align:left;cursor:pointer}
.pf-radio-list .pf-radio-row:last-child{border-bottom:none}
.pf-radio-label{flex:1;min-width:0;font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--fg-primary)}
.pf-radio{flex:none;position:relative;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong)}
.pf-radio.is-on{border-color:var(--color-primary);background:var(--color-primary)}
.pf-radio.is-on::after{content:'';position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#fff}
.pf-toggle{flex:none;width:46px;height:28px;padding:2px;border-radius:999px;border:none;background:var(--border-strong);cursor:pointer;transition:background .2s ease}
.pf-toggle i{display:block;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .22s cubic-bezier(.3,1.3,.4,1)}
.pf-toggle.is-on{background:#34C759}
.pf-toggle.is-on i{transform:translateX(18px)}
.pf-row-value{margin-left:auto;font-size:13px;font-weight:500;color:var(--fg-secondary)}
.pf-lang-list{display:flex;flex-direction:column;gap:10px;margin:14px 0 4px}
.pf-lang-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--border-strong);background:var(--bg-surface-raised);cursor:pointer;text-align:left}
.pf-lang-opt-active{border-color:var(--color-primary);background:var(--bg-sunken)}
.pf-lang-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pf-lang-main b{font-size:15px;font-weight:600;color:var(--fg-primary)}
.pf-lang-main em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--fg-muted)}
.pf-list{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-default)}
.pf-row{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-surface-raised);border:none;border-bottom:1px solid var(--border-default);cursor:pointer;width:100%;text-align:left}
.pf-list .pf-row:last-child{border-bottom:none}
.pf-row-label{flex:1;font-size:14px;font-weight:500;color:var(--fg-primary)}
.pf-row-danger .pf-row-label{color:var(--color-danger)}
.pf-sheet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;z-index:40}
.pf-sheet{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(180deg,transparent 0,#000 16px,#000 calc(100% - 26px),transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16px,#000 calc(100% - 26px),transparent 100%)}
.pf-sheet::-webkit-scrollbar{width:0;height:0;display:none}
.pf-sheet{width:100%;max-height:82%;overflow-y:auto;background:var(--bg-surface-raised);border-radius:28px 28px 0 0;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:4px;box-sizing:border-box}
.pf-sheet-handle{width:38px;height:5px;border-radius:999px;background:var(--border-strong);margin:0 auto 12px}
.pf-sheet-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--fg-primary);text-align:center}
.pf-sheet-body{margin:0 0 12px;font-size:13px;color:var(--fg-secondary);text-align:center}
.pf-sheet-opt{display:flex;align-items:center;gap:10px;padding:14px 4px;background:none;border:none;font-size:14px;font-weight:600;color:var(--fg-primary);cursor:pointer}
.pf-sheet-opt-danger{color:var(--color-danger)}
.pf-sheet-cancel{margin-top:10px;padding:14px;border-radius:var(--radius-md);background:var(--bg-sunken);border:none;font-size:14px;font-weight:700;color:var(--fg-primary);cursor:pointer}
.pf-sheet-label{margin:2px 0 8px;font-size:13px;color:var(--fg-secondary)}
.pf-sheet-label strong{color:var(--fg-primary);letter-spacing:.05em}
.pf-sheet-input{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-sunken);color:var(--fg-primary);font-size:14px;font-family:'DM Sans',sans-serif;margin-bottom:16px;text-transform:uppercase}
.pf-sheet-confirm-outline{padding:15px;border-radius:var(--radius-md);background:transparent;border:1.5px solid var(--color-danger);font-size:15px;font-weight:700;color:var(--color-danger);cursor:pointer;margin-top:10px;flex-shrink:0}
.pf-sheet-confirm-outline:disabled{opacity:.45;cursor:not-allowed}
.pf-sheet-confirm-danger{padding:15px;border-radius:var(--radius-md);background:var(--color-danger);border:none;font-size:15px;font-weight:700;color:#fff;cursor:pointer;margin-top:6px;flex-shrink:0}
.pf-sheet-confirm-danger:disabled{opacity:.55;cursor:not-allowed;color:rgba(255,255,255,.9)}
.pf-reason-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pf-reason-chip{padding:8px 12px;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-sunken);color:var(--fg-secondary);font-size:12px;font-weight:600;cursor:pointer}
.pf-reason-chip-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.pf-sheet-textarea{resize:none;height:64px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-sunken);color:var(--fg-primary);font-size:13px;font-family:'DM Sans',sans-serif;margin-bottom:12px}
.pf-goodbye-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-sunken);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.pf-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0}
.pf-topbar-title{font-size:36px;font-weight:700;letter-spacing:-.04em;color:var(--fg-primary);font-family:'DM Sans',sans-serif}
.pf-topbar-actions{display:flex;align-items:center;gap:8px}
.pf-settings-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-surface-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;cursor:pointer}
.pf-stats-cta{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-surface-raised);border:1px solid var(--border-default);cursor:pointer}
.pf-stats-cta-text{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--fg-primary)}
.pf-view-toggle{display:flex;gap:6px;background:var(--bg-sunken);border-radius:999px;padding:4px;margin:0 16px 14px}
.pf-view-opt{flex:1;padding:9px 10px;border-radius:999px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--fg-secondary);cursor:pointer}
.pf-view-opt-active{background:var(--bg-surface-raised);color:var(--fg-primary);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.stats-content{display:flex;flex-direction:column;gap:14px}
.vibe-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.vibe-orbs span{position:absolute;border-radius:50%;filter:blur(26px);opacity:.5;pointer-events:none}
.vibe-orbs{display:none}
.vibe-pattern{display:none}
.vibe-bar-fill::after{content:none}
.vibe-toprow{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px}
.vibe-seg{display:flex;gap:6px;background:var(--bg-sunken);border-radius:999px;padding:4px}
.vibe-seg-opt{min-height:30px;padding:0 13px;border:none;border-radius:999px;background:transparent;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:var(--fg-secondary);cursor:pointer;transition:background .18s,color .18s}
.vibe-seg-sm .vibe-seg-opt{padding:0 10px;min-width:30px}
.vibe-seg-on{background:var(--bg-surface-raised);color:var(--fg-primary);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.vibe-big{position:relative;margin:16px 0 0;font-family:'DM Sans',sans-serif;font-size:34px;font-weight:700;line-height:.95;letter-spacing:-.045em;color:var(--fg-primary);display:flex;flex-direction:column;gap:5px}
.vibe-unit{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--fg-secondary)}
.vibe-hype{position:relative;margin:8px 0 0;font-size:12px;font-weight:600;color:var(--fg-secondary)}
.vibe-hype strong{color:var(--lime-500);font-weight:700}
.vibe-hype-tail{color:var(--fg-secondary);font-weight:600}
.vibe-bars{position:relative;display:flex;align-items:flex-end;gap:6px;margin-top:16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.vibe-bars::-webkit-scrollbar{display:none}
.vibe-bar-col{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer}
.vibe-bars-week .vibe-bar-col{flex:1 1 0;min-width:0}
.vibe-bars-month{gap:9px;padding-left:2px;padding-right:2px}
.vibe-bars-month .vibe-bar-col{width:16px;position:relative}
.vibe-bars-month .vibe-bar-pill{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:2}
.vibe-bars-month .vibe-bar-track{margin-top:17px}
.vibe-bars-year .vibe-bar-col{width:calc((100% - 30px) / 6)}
.vibe-bar-pill{font-size:9px;font-weight:800;color:var(--neutral-950);background:var(--lime-500);border:none;border-radius:999px;padding:2px 5px;opacity:0;transition:opacity .18s;white-space:nowrap}
.vibe-bar-on .vibe-bar-pill{opacity:1}
.vibe-bar-track{width:100%;height:104px;border-radius:7px;background:rgba(255,255,255,.07);display:flex;align-items:flex-end;overflow:hidden}
.vibe-bar-fill{position:relative;width:100%;border-radius:6px 6px 5px 5px;background:linear-gradient(180deg,var(--violet-300) 0%,#6C5CE7 100%);opacity:.8;transition:opacity .18s,height .35s cubic-bezier(.2,.8,.2,1)}
.vibe-bar-on .vibe-bar-fill{opacity:1;background:linear-gradient(180deg,var(--lime-500) 0%,var(--lime-700) 100%);box-shadow:0 0 14px rgba(226,255,23,.22)}
.vibe-goals .vibe-bar-fill{background:linear-gradient(180deg,#B3A8FF 0%,#6C5CE7 100%)}
.vibe-goals .vibe-bar-on .vibe-bar-fill{background:linear-gradient(180deg,var(--lime-500) 0%,var(--lime-700) 100%)}
.vibe-bar-day{font-size:10px;font-weight:600;color:var(--fg-muted)}
.vibe-bar-on .vibe-bar-day{color:var(--fg-primary);font-weight:700}

.stats-screen{overflow:hidden;padding:0}
.stats-header{display:flex;align-items:center;justify-content:space-between;padding:16px;flex-shrink:0}
.stats-back{width:34px;height:34px;border-radius:50%;background:var(--bg-surface-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;cursor:pointer}
.stats-title{margin:0;font-size:17px;font-weight:700;color:var(--fg-primary);font-family:'DM Sans',sans-serif}
.stats-scroll{flex:1;overflow-y:auto;padding:0 16px 24px;display:flex;flex-direction:column;gap:18px}

.stats-chart{background:var(--bg-surface-raised);border-radius:var(--radius-lg);padding:16px}
.stats-chart-head,.stats-chart-topbar,.stats-chart-tag{display:none}
.stats-chart-valuerow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.stats-chart-range{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--fg-secondary);letter-spacing:.01em}
.stats-chart-value{min-width:0}
.stats-mode-toggle{display:flex;gap:2px;background:var(--bg-sunken);border-radius:999px;padding:1px;flex-shrink:0}
.stats-mode-opt{min-height:30px;padding:0 12px;border-radius:999px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--fg-secondary);cursor:pointer;white-space:nowrap;transition:color .2s,background .2s}
.stats-mode-opt-active{background:var(--bg-surface-raised);color:var(--fg-primary);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.stats-chart-latest{margin:0;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--fg-primary);display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.stats-chart-unit{font-size:13px;font-weight:600;color:var(--fg-secondary);letter-spacing:0}
.stats-chart-sub{margin:6px 0 0;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--fg-muted)}
.stats-chart-delta{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:700}
.stats-chart-delta-up{color:var(--color-success)}
.stats-chart-delta-down{color:var(--color-danger)}
.stats-chart-plot{position:relative;margin:14px 0 0}
.stats-chart-svg{width:100%;height:150px;display:block;touch-action:pan-y}
.stats-chart-bar{transition:opacity .18s ease}
@keyframes chartDraw{from{stroke-dasharray:1000;stroke-dashoffset:1000}to{stroke-dasharray:1000;stroke-dashoffset:0}}
@keyframes chartFade{from{opacity:0}to{opacity:1}}
.stats-chart-ytick,.stats-chart-xtick{font-size:9px;fill:var(--fg-muted)}
.stats-chart-xtick-active{color:var(--fg-primary)!important;font-weight:700}
.stats-chart-xlabels{position:relative;height:14px;margin-top:10px}
.stats-chart-xlabels span{position:absolute;top:0;transform:translateX(-50%);font-size:10px;color:var(--fg-secondary);white-space:nowrap;transition:color .2s}
.stats-chart-body{display:flex;gap:6px}
.stats-chart-flag{position:absolute;transform:translate(-50%,-100%);padding:3px 8px;border-radius:999px;background:var(--bg-sunken);font-size:11px;font-weight:800;color:var(--fg-primary);pointer-events:none;white-space:nowrap}
.stats-chart-yaxis{display:none}
.stats-chart-yaxis span{position:absolute;right:0;transform:translateY(-50%);font-size:10px;font-weight:600;color:var(--fg-muted);line-height:1}
.stats-chart-scroll{flex:1;min-width:0}
.stats-period-toggle{position:relative;display:flex;gap:0;background:var(--bg-sunken);border-radius:999px;padding:1px}
.stats-period-thumb{position:absolute;top:1px;left:1px;width:calc((100% - 2px) / 3);height:calc(100% - 2px);border-radius:999px;background:var(--bg-surface-raised);box-shadow:0 1px 3px rgba(0,0,0,.22);transition:transform .32s cubic-bezier(.32,.72,0,1)}
.stats-period-opt{position:relative;z-index:1;flex:1;min-height:30px;padding:0;border-radius:999px;border:none;background:transparent;font-size:12px;font-weight:700;color:var(--fg-secondary);cursor:pointer;transition:color .2s;letter-spacing:.02em}
.stats-period-opt-active{color:var(--fg-primary);font-weight:700;background:transparent;box-shadow:none}
.stats-bar-track{display:none}
.stats-bar-fill{display:none}
.stats-bar-fill-active{display:none}
.stats-chart-labels{display:flex;justify-content:space-between;padding:0 2px;margin-top:8px}
.stats-chart-labels span{font-size:11px;color:var(--fg-muted)}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.metric-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default)}
.metric-top{display:flex;align-items:center;gap:9px}
.metric-chip{position:relative;width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:color-mix(in oklab,var(--mc) 11%,transparent);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border:1px solid color-mix(in oklab,var(--mc) 18%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 20px -16px color-mix(in oklab,var(--mc) 40%,transparent)}
.metric-chip::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(155deg,rgba(255,255,255,.10),rgba(255,255,255,0) 60%);pointer-events:none}
.metric-label{font-size:12px;font-weight:600;color:var(--fg-secondary)}
.metric-value{font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary);display:flex;align-items:center;gap:6px;line-height:1}
.metric-trend{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px;background:var(--bg-sunken)}
.metric-trend-up{color:var(--color-success)}
.metric-trend-down{color:var(--color-danger)}
.stats-group-title{margin:0 0 -6px;font-size:12px;font-weight:800;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em}
.streak-trail-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#FF8A4C 0%,#FF5A2E 55%,#E8420F 100%);border-radius:var(--radius-lg);padding:18px}
.streak-trail-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.streak-trail-orbs span{position:absolute;border-radius:50%;background:rgba(255,255,255,.14)}
.streak-trail-orbs span:nth-child(1){width:110px;height:110px;top:-40px;right:-20px}
.streak-trail-orbs span:nth-child(2){width:50px;height:50px;bottom:-20px;left:40%;background:rgba(255,216,77,.25)}
.streak-trail-orbs span:nth-child(3){width:30px;height:30px;top:40%;left:-8px;background:rgba(255,255,255,.1)}
.streak-trail-pattern{display:none}
.streak-illustration{position:absolute;top:12px;right:14px;width:54px;height:54px;transform:rotate(14deg);pointer-events:none;filter:drop-shadow(0 3px 8px rgba(255,90,46,.35))}
.streak-trail-count{font-size:34px;font-weight:800;color:#fff;line-height:1}
.streak-trail-headtext{display:flex;flex-direction:column}
.streak-trail-label{font-size:11px;font-weight:700;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.05em}
.streak-trail-hype{font-size:12px;font-weight:600;color:rgba(255,255,255,.75);margin-top:2px}
.streak-trail-head{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:16px;max-width:75%}
.streak-trail-day{font-size:9px;color:rgba(255,255,255,.7)}
.flame-svg{display:block;animation:flamePop .5s cubic-bezier(.34,1.56,.64,1) both}
.flame-svg-active{animation:flamePop .5s cubic-bezier(.34,1.56,.64,1) both,flameGlow 2.2s ease-in-out .5s infinite}
@keyframes flamePop{0%{opacity:0;transform:scale(.3) translateY(4px)}60%{opacity:1;transform:scale(1.2) translateY(-2px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes flameGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(255,180,40,.75))}50%{filter:drop-shadow(0 0 9px rgba(255,180,40,1))}}
.streak-trail-row{position:relative;z-index:1;display:flex;justify-content:space-between}
.streak-trail-item{display:flex;flex-direction:column;align-items:center;gap:5px}
.lb-controls{display:flex;flex-direction:column;gap:10px;padding:16px 16px 10px;flex-shrink:0}
.lb-title{margin:0;font-size:36px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary);text-align:left;font-family:'DM Sans',sans-serif}
.lb-subtitle{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--fg-secondary)}
.lb-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lb-info-btn{width:28px;height:28px;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-primary) 32%,transparent);background:color-mix(in srgb,var(--color-primary) 12%,transparent);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .12s ease}
.lb-info-btn:active{transform:scale(.92)}
.lb-about-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,6,26,.72);backdrop-filter:blur(6px);animation:orbitAboutIn .18s ease}
[data-theme="light"] .lb-about-overlay{background:rgba(120,108,200,.42)}
.lb-about-card{position:relative;width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:34px 20px 18px;border-radius:var(--radius-lg);background:var(--bg-surface-raised);border:1px solid var(--border-default);box-shadow:0 24px 60px rgba(0,0,0,.45);animation:orbitAboutPop .28s cubic-bezier(.2,1.2,.4,1);color:var(--fg-primary)}
.lb-about-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:none;background:var(--bg-sunken);color:var(--fg-primary);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-about-title{margin:0;font-size:19px;font-weight:800;color:inherit;font-family:'DM Sans',sans-serif}
.lb-about-list{display:flex;flex-direction:column;gap:6px;width:100%;margin:2px 0 0}
.lb-about-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--bg-sunken);font-size:12.5px;font-weight:600;color:var(--fg-secondary);text-align:left}
.lb-about-row b{color:var(--fg-primary);font-weight:800}
.lb-about-icon{width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--fg-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lb-about-note{margin:6px 0 0;font-size:11px;font-weight:600;color:var(--fg-muted,var(--fg-secondary));opacity:.8}
.lb-about-sub{margin:8px 0 0;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted,var(--fg-secondary))}
.detail-hero-actions{position:absolute;top:14px;right:14px;z-index:3;display:flex;align-items:center;gap:8px}
.detail-hero-actions .balance-pill{height:36px;padding:0 14px 0 6px;gap:6px;font-size:15px;background:rgba(255,255,255,.08);border:none;color:var(--hero-fg,#fff);backdrop-filter:blur(6px)}
.detail-hero-actions .balance-pill .coin{width:24px;height:24px}
[data-theme="light"] .detail-hero-actions .balance-pill{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--fg-primary)}
.lb-controls-row{display:flex;align-items:center;gap:8px}
.scope-tabs{display:flex;gap:14px;flex:1}
.scope-tab{padding:0 0 6px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--fg-secondary);font-weight:700;font-size:14px;cursor:pointer}
.scope-tab-active{color:var(--fg-primary);border-bottom-color:var(--color-primary)}
.mode-toggle{position:relative;display:flex;background:var(--bg-surface-raised);border:1px solid var(--border-default);border-radius:999px;padding:4px;cursor:pointer;user-select:none;flex-shrink:0}
.mode-knob{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:var(--color-primary);border-radius:999px;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.mode-knob-right{transform:translateX(100%)}
.mode-opt{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 12px;color:var(--fg-secondary);z-index:1;transition:color .2s}
.mode-opt-active{color:var(--color-on-primary)}
.podium-stage{position:relative;overflow:hidden;border-radius:0;margin:0 -10px 6px;background:radial-gradient(130% 100% at 50% -10%,#4A3A22 0%,#2E2418 40%,#1C1712 75%,#171314 100%)}
.podium-glow-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(80% 90% at 50% 0%,rgba(255,214,150,.22),transparent 72%)}
.podium-spotlight-beam{position:absolute;top:0;left:50%;width:320px;height:240px;transform:translateX(-50%);clip-path:polygon(42% 0%,58% 0%,100% 100%,0% 100%);background:linear-gradient(180deg,rgba(255,226,160,.3),rgba(255,226,160,0) 85%);filter:blur(14px);animation:beamPulse 5s ease-in-out infinite;pointer-events:none}
@keyframes beamPulse{0%,100%{opacity:.5}50%{opacity:.75}}
.podium-shimmer-sweep{position:absolute;top:-20%;left:-40%;width:60%;height:140%;background:linear-gradient(100deg,transparent,rgba(255,224,140,.28),transparent);transform:rotate(8deg);animation:shimmerSweep 4.5s ease-in-out infinite}
@keyframes shimmerSweep{0%{left:-40%}55%,100%{left:120%}}
.podium-glow-blob{position:absolute;border-radius:50%;filter:blur(30px);opacity:.55;animation:glowFloat ease-in-out infinite}
.podium-glow-blob-a{width:170px;height:170px;left:50%;top:-46px;transform:translateX(-50%);background:radial-gradient(circle,#FFE9A8,transparent 70%);animation-duration:6s}
.podium-glow-blob-b{width:110px;height:110px;left:10%;top:60px;background:radial-gradient(circle,#FFC85C,transparent 70%);animation-duration:7s;animation-delay:1s}
.podium-glow-blob-c{width:110px;height:110px;right:10%;top:60px;background:radial-gradient(circle,#E9A23B,transparent 70%);animation-duration:7.5s;animation-delay:2s}
@keyframes glowFloat{0%,100%{opacity:.4;transform:translateY(0) scale(1)}50%{opacity:.7;transform:translateY(-8px) scale(1.1)}}
.podium-glow-blob-a{animation-name:glowFloatCenter}
@keyframes glowFloatCenter{0%,100%{opacity:.45;transform:translateX(-50%) translateY(0) scale(1)}50%{opacity:.8;transform:translateX(-50%) translateY(-6px) scale(1.12)}}
.podium-bokeh{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--bc,#FFD166),transparent 72%);opacity:0;filter:blur(1px);animation:bokehFloat ease-in-out infinite}
@keyframes bokehFloat{0%,100%{opacity:0;transform:translateY(6px) scale(.8)}50%{opacity:.75;transform:translateY(-10px) scale(1.15)}}
.podium-sprinkle{position:absolute;display:block;background:var(--c);border-radius:2px;opacity:0;animation:sprinkleTwinkle ease-in-out infinite;box-shadow:0 0 6px var(--c)}
.podium-sprinkle-dot{border-radius:50%}
.podium-sprinkle-confetti{border-radius:1px}
.podium-sprinkle-star{background:none!important;color:var(--c);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;text-shadow:0 0 6px var(--c)}
@keyframes sprinkleTwinkle{0%,100%{opacity:0;transform:scale(.6) rotate(0deg)}50%{opacity:.85;transform:scale(1.1) rotate(180deg)}}
.podium-row{display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:46px 10px 34px;flex-shrink:0;position:relative;z-index:1}
.podium-star{position:relative;flex:0 0 auto;width:100px;display:flex;flex-direction:column;align-items:center;opacity:0;animation:podiumIn 1.1s cubic-bezier(.16,.84,.24,1) forwards}
@keyframes podiumIn{0%{opacity:0;transform:translateY(60px) scale(.92)}100%{opacity:1;transform:translateY(0) scale(1)}}
.podium-star-p1{width:126px}
.podium-star-p2{transform:translateY(24px)}
.podium-star-p3{transform:translateY(36px)}
.podium-star-avatar{position:relative;z-index:2;width:58px;height:58px;border-radius:50%;overflow:visible;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.podium-star-p1 .podium-star-avatar{width:84px;height:84px}
.podium-star-p2 .podium-star-avatar{width:64px;height:64px}
.podium-star-p3 .podium-star-avatar{width:52px;height:52px}
.podium-star-avatar img:not(.podium-crown){width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:3px solid var(--ring,#fff);box-shadow:0 1px 6px rgba(0,0,0,.2)}
.podium-star-initials{width:100%;height:100%;border-radius:50%;background:var(--violet-700);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;border:3px solid var(--ring,#fff);box-shadow:0 1px 6px rgba(0,0,0,.2)}
.podium-star-p1 .podium-star-avatar img,.podium-star-p1 .podium-star-initials{--ring:#FFE066}
.podium-star-p2 .podium-star-avatar img,.podium-star-p2 .podium-star-initials{--ring:#C9BFFF}
.podium-star-p3 .podium-star-avatar img,.podium-star-p3 .podium-star-initials{--ring:#FFB199}
.podium-star-numeral{position:absolute;bottom:-4px;right:-6px;z-index:3;width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:900;letter-spacing:-.03em;color:var(--neutral-900);border:2px solid var(--bg-app);background:var(--medal,#C9BFFF);box-shadow:0 3px 14px var(--medal-glow,rgba(201,191,255,.5)),inset 0 1px 0 rgba(255,255,255,.45)}
.podium-star-numeral::before{content:'';position:absolute;inset:1px;border-radius:8px;background:linear-gradient(150deg,rgba(255,255,255,.42) 0 32%,transparent 46%);pointer-events:none}
.podium-star-p1 .podium-star-numeral{width:34px;height:34px;border-radius:12px;font-size:17px;bottom:-6px;right:-8px;--medal:#FFE066;--medal-glow:rgba(255,224,102,.6)}
.podium-star-p2 .podium-star-numeral{--medal:var(--violet-700);--medal-glow:rgba(107,90,255,.55);color:#fff}
.podium-star-p3 .podium-star-numeral{--medal:#FF5A2E;--medal-glow:rgba(255,90,46,.5)}
.podium-star-name{position:relative;z-index:2;margin:10px 0 0;font-size:13px;font-weight:800;color:#fff;text-align:center;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.podium-star-location{position:relative;z-index:2;font-size:10px;font-weight:700;color:rgba(255,255,255,.7);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}
.podium-star-score{position:relative;z-index:2;font-size:12px;font-weight:800;margin-top:6px;border-radius:999px;padding:4px 12px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.podium-star-p1 .podium-star-score{background:#FFE066;color:var(--neutral-900)}
.podium-star-p2 .podium-star-score{background:var(--violet-700);color:#fff}
.podium-star-p3 .podium-star-score{background:#FF5A2E;color:var(--neutral-900)}
.podium-new{background:var(--lime-500);color:var(--neutral-900);font-size:12px;font-weight:700;padding:2px 5px;border-radius:5px;letter-spacing:.03em}
[data-theme="light"] .podium-stage{background:radial-gradient(130% 100% at 50% -10%,#EEF1FF 0%,#CBD3FF 30%,#9AA8F2 62%,#6B77E0 100%)}
[data-theme="light"] .podium-glow-bg{background:radial-gradient(70% 80% at 50% 0%,rgba(255,255,255,.7),transparent 70%)}
[data-theme="light"] .podium-spotlight-beam{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,0) 85%)}
[data-theme="light"] .podium-shimmer-sweep{background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent)}
[data-theme="light"] .podium-glow-blob-a{background:radial-gradient(circle,#C9D2FF,transparent 70%)}
[data-theme="light"] .podium-glow-blob-b{background:radial-gradient(circle,#8FA0F5,transparent 70%)}
[data-theme="light"] .podium-glow-blob-c{background:radial-gradient(circle,#5B63D9,transparent 70%)}
[data-theme="light"] .podium-star-name{color:#fff;text-shadow:0 1px 4px rgba(38,32,110,.45)}
[data-theme="light"] .podium-star-location{color:rgba(255,255,255,.85);text-shadow:0 1px 3px rgba(38,32,110,.4)}
.lb-intro-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:60}
.lb-confetti-piece{position:absolute;top:-16px;border-radius:2px;opacity:0;animation:confettiFall ease-out forwards}
.lb-confetti-line{border-radius:999px}
.lb-confetti-circle{border-radius:50%}
.lb-confetti-star{background:none!important;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
@keyframes confettiFall{0%{opacity:0;transform:translate(0,-16px) rotate(0deg)}6%{opacity:1}92%{opacity:1}100%{opacity:0;transform:translate(var(--drift,0px),760px) rotate(260deg)}}
.shoutout-row{display:flex;flex-direction:column;gap:6px;padding:8px 16px;flex-shrink:0}
.shoutout-card{display:flex;align-items:flex-start;gap:6px;background:var(--lime-100);border-radius:12px;padding:8px 10px;font-size:12px;color:var(--neutral-800);line-height:1.35}
.shoutout-card b{color:var(--neutral-900)}
.lb-scroll{flex:1;overflow-y:auto;padding:0 10px 84px;scrollbar-width:none}
.lb-scroll::-webkit-scrollbar{display:none}
.lb-table-head{display:flex;align-items:center;gap:12px;padding:10px 6px;flex-shrink:0;background:var(--bg-app);position:sticky;top:0;z-index:2;border-bottom:1px solid var(--border-default);margin:0 -10px 0;padding-left:16px;padding-right:16px}
.th-rank{width:24px;font-size:12px;font-weight:700;color:var(--fg-secondary);text-align:center}
.th-avatar-spacer{width:32px;flex-shrink:0}
.th-name{flex:1;font-size:12px;font-weight:700;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.05em}
.th-perf{display:flex;align-items:center;gap:16px;flex-shrink:0}
.th-score-label{font-size:12px;font-weight:700;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.05em;width:44px;text-align:right}
.th-arrow-spacer{width:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.lb-row-streak-dash{color:var(--fg-secondary)}
.lb-row{display:flex;align-items:center;gap:8px;padding:10px 6px;border-radius:var(--radius-md);border-left:4px solid transparent}
.lb-row-self{background:var(--bg-surface-raised)}
.lb-row-rank{width:24px;font-size:14px;font-weight:500;color:var(--fg-secondary);flex-shrink:0;text-align:center}
.lb-row-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-sunken);color:var(--fg-secondary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.lb-row-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.lb-row-name{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--fg-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'DM Sans',sans-serif}
.lb-row-namecol{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.lb-row-company-name{font-size:12px;font-weight:500;color:var(--fg-secondary)}
.lb-row-perf{display:flex;align-items:baseline;gap:16px;flex-shrink:0}
.lb-row-score{font-size:14px;font-weight:600;color:var(--fg-secondary);min-width:44px;text-align:right}
.rank-arrow{display:inline-flex;align-items:center;gap:1px;font-size:12px;font-weight:700;flex-shrink:0;padding:2px 6px;border-radius:999px}
.rank-arrow-up{color:#0F5132;background:#22C55E}
[data-theme="light"] .rank-arrow-up{color:#fff;background:#16A34A}
.rank-arrow-down{color:var(--color-on-primary);background:var(--color-primary)}
.rank-arrow-flat{color:var(--fg-secondary);background:var(--bg-sunken);opacity:1}
.lb-you-pill{position:absolute;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:var(--lime-500);box-shadow:0 4px 14px -4px rgba(0,0,0,.25)}
[data-theme="light"] .lb-you-pill{background:var(--neutral-900)}
.lb-you-avatar{width:32px;height:32px;border-radius:50%;background:var(--neutral-900);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
[data-theme="light"] .lb-you-avatar{background:var(--lime-500);color:var(--neutral-900)}
.lb-you-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.lb-you-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.lb-you-label{font-size:13px;font-weight:700;color:var(--neutral-900);display:flex;align-items:center;gap:4px}
[data-theme="light"] .lb-you-label{color:#fff}
.lb-you-gap{font-size:11px;font-weight:600;color:rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-theme="light"] .lb-you-gap{color:rgba(255,255,255,.65)}
.lb-you-score{font-size:14px;font-weight:800;color:var(--neutral-900);flex-shrink:0}
[data-theme="light"] .lb-you-score{color:#fff}
.lb-you-pill .rank-arrow{opacity:1}
.placeholder .big{font-size:44px}

.detail-screen{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-app)}
.detail-scroll{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.detail-scroll::-webkit-scrollbar{display:none}
.detail-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:52px 20px 22px;overflow:hidden;--hero-fg:#fff}
[data-theme="light"] .detail-hero{background:var(--bg-app)!important;--hero-fg:var(--fg-primary)}
[data-theme="light"] .detail-back,[data-theme="light"] .detail-pin{background:var(--bg-surface);border:1px solid var(--border-default)}
[data-theme="light"] .detail-back:hover,[data-theme="light"] .detail-pin:hover{background:var(--bg-surface-raised)}
.detail-back,.detail-pin{position:absolute;top:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,opacity .15s ease}
.detail-back{left:14px}.detail-pin{position:static;flex-shrink:0}
.detail-back:hover,.detail-pin:hover{background:rgba(255,255,255,.18)}
.detail-back:active,.detail-pin:active{opacity:.7}
.detail-pin-active{background:rgba(255,90,46,.18)}
.detail-hero-logo-wrap{animation:heroMorph .4s ease;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}
.detail-hero-logo-wrap .brand-logo-img{border-radius:20px}
@keyframes heroMorph{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}
.detail-hero-title{font-size:22px;font-weight:800;color:var(--fg-primary);margin:2px 0 0;letter-spacing:-.01em}
.insight-strip{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.insight-chip{display:flex;align-items:center;gap:6px;background:var(--bg-surface);backdrop-filter:blur(6px);border:1px solid var(--border-default);border-radius:999px;padding:7px 12px;font-size:11.5px;font-weight:700;color:var(--fg-primary)}
.detail-body{padding:20px 16px 8px;display:flex;flex-direction:column;gap:20px}
.money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}
.money-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-surface);border:1px solid var(--border-default);cursor:pointer;padding:10px 4px;border-radius:16px;transition:background .18s ease,border-color .18s ease,opacity .15s ease}
.money-card:hover{border-color:var(--fg-muted)}
.money-card:active{opacity:.75}
.money-card-active{background:var(--bg-surface-raised);border-color:var(--color-primary)}
.money-ring-label{font-size:13px;font-weight:800;fill:var(--fg-primary);font-family:'DM Sans',sans-serif}
.money-card-active .money-ring-label{fill:var(--fg-primary)}
.money-card-pct{font-size:11px;font-weight:700;color:var(--fg-muted);white-space:nowrap;letter-spacing:-0.01em}
.custom-amount-field{display:flex;align-items:center;gap:4px;padding:12px 14px;border-radius:14px;background:var(--bg-surface);border:1px solid var(--border-default)}
.custom-amount-dollar{font-size:15px;font-weight:800;color:var(--fg-muted)}
.custom-amount-input{flex:1;border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;color:var(--fg-primary);-moz-appearance:textfield}
.custom-amount-input::-webkit-outer-spin-button,.custom-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.insight-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.insight-card{background:var(--bg-surface);border:2px solid var(--border-default);border-radius:18px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.insight-value{font-size:18px;font-weight:900;color:var(--color-primary);letter-spacing:-.01em}
.insight-label{font-size:12px;font-weight:600;color:var(--fg-muted);line-height:1.3}
.brand-info-card{display:flex;gap:12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:18px;padding:14px;align-items:center}
.brand-info-title{font-size:13px;font-weight:800;color:var(--fg-primary);margin:0 0 4px}
.brand-info-body{font-size:12.5px;color:var(--fg-secondary);margin:0;line-height:1.45}
.guide-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:18px;padding:16px}
.guide-list{display:flex;flex-direction:column;gap:16px;padding-top:10px}
.guide-row{display:flex;gap:14px;align-items:flex-start}
.guide-title{font-size:13.5px;font-weight:700;color:var(--fg-primary);margin:0 0 2px}
.guide-body{font-size:12px;color:var(--fg-secondary);margin:0;line-height:1.4}
.detail-footer{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--bg-app);border-top:1px solid var(--border-default);flex-shrink:0}
.detail-footer button{width:100%}
.detail-footer button:disabled{background:var(--bg-sunken)!important;color:var(--fg-muted)!important}

.success-overlay{position:absolute;inset:0;z-index:30;background:rgba(0,0,0,0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;pointer-events:none;transition:background .3s ease;cursor:pointer;overflow:hidden}
.success-overlay.success-open{background:rgba(10,10,14,.94);pointer-events:auto}
[data-theme="light"] .success-overlay.success-open{background:rgba(30,28,34,.9)}
[data-theme="light"] .success-card{background:#fff;box-shadow:0 0 60px rgba(75,63,196,.18),0 20px 40px rgba(0,0,0,.15)}
[data-theme="light"] .success-amount,[data-theme="light"] .success-headline{color:var(--neutral-950)}
[data-theme="light"] .success-sub{color:rgba(20,20,24,.65)}
[data-theme="light"] .success-close{background:rgba(255,255,255,.85);border-color:rgba(0,0,0,.15)}
[data-theme="light"] .success-won{color:#3F7D3A}
[data-theme="light"] .success-timer-fill{background:#3F7D3A}
[data-theme="light"] .success-close i{color:var(--neutral-800)!important}
[data-theme="light"] .detail-hero-logo-wrap{filter:drop-shadow(0 4px 10px rgba(0,0,0,.1))}
.success-close{position:absolute;top:76px;right:16px;z-index:5;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;backdrop-filter:blur(4px)}
.success-close:hover{background:rgba(255,255,255,.32)}
.success-glow{position:absolute;top:50%;left:50%;width:320px;height:320px;margin-top:-160px;margin-left:-160px;background:radial-gradient(circle,var(--lime-500)33 0%,transparent 70%);animation:glowPulse 1.8s ease-out infinite;z-index:0;pointer-events:none}
@keyframes glowPulse{0%{opacity:.8;transform:scale(.5)}70%{opacity:0}100%{opacity:0;transform:scale(1.7)}}
.burst-rays{position:absolute;top:50%;left:50%;width:360px;height:360px;margin-top:-180px;margin-left:-180px;animation:burstSpin 8s linear infinite;z-index:0;pointer-events:none;opacity:.3}
@keyframes burstSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.success-card{position:relative;width:220px;background:#1c1a20;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:26px 20px 22px;display:flex;flex-direction:column;align-items:center;gap:8px;overflow:visible;transform:scale(.6) rotate(-6deg);opacity:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;z-index:2;box-shadow:0 0 60px rgba(124,255,178,.15)}
.success-open .success-card{transform:scale(1) rotate(0deg);opacity:1;animation:cardWobble 2.4s ease-in-out .5s infinite}
@keyframes cardWobble{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.02) rotate(-1deg)}}
.success-stamp{position:absolute;top:18px;right:-34px;transform:rotate(45deg);background:repeating-linear-gradient(45deg,rgba(226,255,23,.92),rgba(226,255,23,.92) 8px,rgba(143,240,184,.88) 8px,rgba(143,240,184,.88) 16px);color:var(--neutral-950);font-size:10px;font-weight:900;letter-spacing:.08em;padding:5px 38px;z-index:3;box-shadow:0 3px 8px rgba(0,0,0,.3);border-top:1px dashed rgba(0,0,0,.15);border-bottom:1px dashed rgba(0,0,0,.15)}
.success-logo-spacer{height:8px}
.success-amount{font-size:34px;font-weight:900;color:#fff;letter-spacing:-.02em;margin-top:8px;position:relative;z-index:2}
.success-won{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--lime-500);position:relative;z-index:2}
.success-headline{font-size:24px;font-weight:900;color:#fff;margin:4px 0 0;letter-spacing:-.02em;position:relative;z-index:2}
.success-sub{font-size:13px;color:rgba(255,255,255,.65);max-width:250px;margin:0;font-weight:500;position:relative;z-index:2}
.success-tap-hint{display:none}
.cat-tag{display:inline-flex;align-items:center;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--cat-bg)!important;color:var(--cat-fg)!important}
[data-theme="light"] .cat-tag{background:var(--cat-bg-light)!important;color:var(--cat-fg-light)!important}
.success-timer-track{position:relative;z-index:2;width:160px;height:4px;border-radius:2px;background:rgba(255,255,255,.15);overflow:hidden;margin-top:4px}
.success-timer-fill{position:absolute;inset:0;background:var(--lime-500);transform-origin:left;animation:timerShrink 4.2s linear forwards}
@keyframes timerShrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.sprinkle-wrap{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.sprinkle{position:absolute;top:-16px;opacity:0;animation:sprinkleFall ease-out forwards}
@keyframes sprinkleFall{0%{opacity:1;transform:translate(0,0) rotate(0deg)}100%{opacity:0;transform:translate(var(--drift),320px) rotate(720deg)}}
.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0);z-index:20;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;transition:background .25s ease}
.sheet-backdrop.sheet-open{background:rgba(0,0,0,.55);pointer-events:auto}
.sheet-panel{width:100%;background:var(--bg-surface);border-radius:24px 24px 0 0;padding:10px 22px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transform:translateY(100%);transition:transform .38s cubic-bezier(.22,1,.36,1)}
.sheet-open .sheet-panel{transform:translateY(0)}
.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin-bottom:6px}
.sheet-icon{width:44px;height:44px;border-radius:50%;background:var(--bg-app);display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.sheet-title{font-size:16px;font-weight:800;color:var(--fg-primary);margin:0}
.sheet-body{font-size:13px;color:var(--fg-secondary);margin:0 0 6px;line-height:1.4}
.sheet-actions{display:flex;gap:10px;width:100%}
.sheet-actions>*{flex:1}
/* ---- Home ---- */
.hm-screen{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-app)}
.hm-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:26px;padding:14px 20px 168px}
.hm-body>*{flex:none}
.hm-body::-webkit-scrollbar{display:none}
.hm-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hm-actions{display:flex;align-items:center;gap:8px}
.hm-mgr{display:flex;align-items:center;gap:7px;padding:9px 15px 9px 12px;border-radius:999px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .18s ease}
.hm-mgr:hover{background:var(--bg-surface-raised)}
.hm-icon-btn{position:relative;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-default);background:var(--bg-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease}
.hm-icon-btn:hover{background:var(--bg-surface-raised)}
.hm-bell-dot{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.hm-ident{display:flex;flex-direction:column;gap:14px}
.hm-ident-row{display:flex;align-items:center;gap:13px}
.hm-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--lime-500);flex:none}
.hm-name{flex:1;min-width:0;margin:0;font-size:31px;line-height:1;font-weight:700;letter-spacing:-.05em;color:var(--fg-primary)}
.hm-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hm-crew{display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-default);font-size:11px;font-weight:500;color:var(--fg-secondary)}
.hm-crew img{width:14px;height:14px;border-radius:50%;object-fit:contain;background:#fff}
.hm-crew b{font-weight:700;color:var(--lime-500)}
.hm-streak{padding:6px 11px;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-default);font-size:11px;font-weight:500;color:var(--fg-muted)}
/* boost — loud, blocky, unmissable */
.hm-boost{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;margin:-2px 0 2px;padding:16px 17px 15px;border-radius:24px;background:linear-gradient(150deg,#FF6B3D,#E8410F);color:#fff;box-shadow:0 14px 30px -18px rgba(255,90,46,.9);animation:hmBoostIn .55s cubic-bezier(.16,1.35,.4,1) both}
@keyframes hmBoostIn{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}
.hm-boost::after{content:'';position:absolute;top:-60%;left:-30%;width:38%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(18deg);animation:hmBoostSheen 4.5s ease-in-out infinite;pointer-events:none}
@keyframes hmBoostSheen{0%,62%{transform:translateX(-30%) rotate(18deg)}100%{transform:translateX(420%) rotate(18deg)}}
.hm-boost>*{position:relative;z-index:1}
.hm-boost-top{display:flex;align-items:center;gap:13px}
.hm-boost-x{flex:none;display:flex;align-items:baseline;justify-content:center;width:52px;height:52px;border-radius:17px;background:#0E1408;color:var(--lime-500);font-size:27px;font-weight:700;letter-spacing:-.05em;animation:hmBoostThump 2.4s cubic-bezier(.3,1.3,.4,1) infinite}
.hm-boost-x em{font-style:normal;font-size:17px}
.hm-boost-x{align-items:center;line-height:1}
.hm-boost-x em{align-self:center;line-height:1}
.bo-back{position:absolute;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:26px;background:color-mix(in srgb,var(--neutral-950) 72%,transparent);backdrop-filter:blur(6px);animation:boFade .22s ease}
@keyframes boFade{from{opacity:0}to{opacity:1}}
.bo-pop{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:312px;padding:20px 20px 15px;border-radius:26px;background:#0D0B0A;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lime-500) 26%,transparent),0 28px 64px rgba(0,0,0,.6);text-align:left;animation:boPop .38s cubic-bezier(.2,1.5,.4,1)}
@keyframes boPop{from{opacity:0;transform:scale(.9) translateY(16px)}to{opacity:1;transform:none}}
.bo-streaks{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.bo-streaks i{position:absolute;top:-20%;left:calc(var(--i)*17% - 6%);width:9px;height:150%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--orange-500) 30%,transparent),transparent);transform:rotate(18deg);animation:boStreak 2.6s calc(var(--i)*.16s) ease-in-out infinite}
@keyframes boStreak{0%,100%{opacity:.25;transform:translateY(6%) rotate(18deg)}50%{opacity:.7;transform:translateY(-6%) rotate(18deg)}}
.bo-kick{position:relative;display:flex;align-items:center;gap:7px;margin:0;font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--lime-500)}
.bo-kick i{width:7px;height:7px;border-radius:50%;background:var(--lime-500);animation:boBlink 1s ease-in-out infinite}
@keyframes boBlink{0%,100%{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--lime-500) 60%,transparent)}50%{opacity:.5;box-shadow:0 0 0 5px transparent}}
.bo-x{position:relative;display:flex;align-items:center;justify-content:center;gap:2px;margin:10px 0 0;font-family:'DM Sans',sans-serif;font-size:96px;font-weight:1000;line-height:.82;letter-spacing:-.07em;color:var(--lime-500);text-shadow:0 0 42px color-mix(in srgb,var(--lime-500) 40%,transparent);animation:boThump 1.5s .2s ease-in-out infinite}
.bo-x em{font-style:normal;font-size:56px}
@keyframes boThump{0%,74%,100%{transform:scale(1)}82%{transform:scale(1.07)}90%{transform:scale(.99)}}
.bo-head{position:relative;margin:8px 0 0;font-family:'DM Sans',sans-serif;font-size:27px;font-weight:800;line-height:1.02;letter-spacing:-.04em;color:#fff;text-align:center}
.bo-meter{position:relative;display:flex;align-items:center;gap:9px;margin:16px 0 0;height:9px;border-radius:999px;background:rgba(255,255,255,.09)}
.bo-meter-fill{position:absolute;inset:0;border-radius:999px;background:linear-gradient(90deg,var(--orange-500),var(--lime-500));transform-origin:left;animation:boCharge .9s .15s cubic-bezier(.2,.8,.2,1) both}
@keyframes boCharge{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bo-meter em{position:absolute;right:2px;top:14px;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime-500)}
.bo-stats{position:relative;display:flex;gap:7px;margin:26px 0 0}
.bo-stats span{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-radius:15px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.bo-stats b{font-family:'DM Mono',monospace;font-size:18px;font-weight:700;letter-spacing:-.03em;color:#fff}
.bo-stats em{font-style:normal;font-size:8.5px;font-weight:600;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.bo-line{position:relative;margin:14px 0 13px;font-size:12px;line-height:1.55;color:rgba(255,255,255,.66);text-wrap:pretty}
.bo-ok{position:relative;width:100%;min-height:54px;border:none;border-radius:17px;background:var(--lime-500);color:#0D0B0A;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 26px color-mix(in srgb,var(--lime-500) 26%,transparent)}
.bo-ok:active{transform:scale(.98)}
.bo-no{position:relative;background:none;border:none;padding:11px 0 2px;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.5);cursor:pointer}
@keyframes hmBoostThump{0%,72%,100%{transform:scale(1) rotate(-3deg)}80%{transform:scale(1.11) rotate(3deg)}88%{transform:scale(.98) rotate(-1deg)}}
.hm-boost-mid{flex:1;min-width:0}
.hm-boost-say{margin:0;font-size:19px;font-weight:700;letter-spacing:-.035em;line-height:1.1}
.hm-boost-sub{margin:4px 0 0;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.82)}
.hm-boost-sub b{font-weight:700;color:var(--lime-500)}
.hm-boost-pips{display:flex;gap:4px}
.hm-boost-pips i{flex:1;height:9px;border-radius:3px;background:rgba(14,20,8,.28);transition:background .3s ease}
.hm-boost-pips i.is-on{background:var(--lime-500);animation:hmPip 1.8s ease-in-out infinite;animation-delay:calc(var(--i) * 90ms)}
@keyframes hmPip{0%,86%,100%{opacity:1}93%{opacity:.45}}
.hm-boost-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.hm-boost-timer{display:flex;align-items:baseline;gap:6px;font-family:'DM Mono',monospace;font-size:15px;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.hm-boost-timer em,.hm-boost-goals em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.65)}
.hm-boost-goals{display:flex;align-items:baseline;gap:4px;font-family:'DM Mono',monospace;font-size:15px;color:var(--lime-500)}
/* pinned reward — the vision board, the biggest thing on the page */
.hm-goal{position:relative;overflow:hidden;cursor:pointer;padding:26px 24px 24px;border-radius:32px;background:var(--lime-500);color:#0E1408}
.hm-goal-noise{position:absolute;inset:0;background-image:radial-gradient(rgba(14,20,8,.14) 1px,transparent 1.4px);background-size:11px 11px;opacity:.45;pointer-events:none}
.hm-goal-sticker{position:absolute;top:22px;right:22px;display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hm-goal-head{position:relative;display:flex;align-items:center;gap:14px}
.hm-goal-logo{flex:none;width:62px;height:62px;border-radius:16px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(14,20,8,.22)}
.hm-goal-logo img{width:42px;height:42px;object-fit:contain}
.hm-goal-logo>span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:19px;font-weight:700}
.hm-goal-brand{display:flex;flex-direction:column;gap:4px;margin:0;font-size:29px;line-height:1;font-weight:700;letter-spacing:-.04em}
.hm-goal-brand>span{font-size:12px;font-weight:500;letter-spacing:0;opacity:.62}
.hm-goal-say{position:relative;margin:30px 0 0;font-size:14px;font-weight:500;opacity:.72}
.hm-goal-say b{font-weight:700;opacity:1}
.hm-goal-track{position:relative;height:12px;margin-top:14px;border-radius:999px;background:rgba(14,20,8,.16)}
.hm-goal-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:#0E1408;transition:width 1.2s cubic-bezier(.2,.85,.15,1)}
.hm-goal-rider{position:absolute;top:50%;display:flex;align-items:center;gap:5px;padding:5px 9px 5px 7px;border-radius:999px;background:#0E1408;transform:translate(-50%,-50%);transition:left 1.2s cubic-bezier(.2,.85,.15,1);white-space:nowrap}
.hm-goal-rider b{font-family:'DM Mono',monospace;font-size:10.5px;font-weight:400;color:var(--lime-500)}
.hm-goal-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.hm-goal-saved{font-family:'DM Mono',monospace;font-size:12px;color:rgba(14,20,8,.7)}
.hm-plan-toggle{display:flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;border:none;background:#0E1408;color:#F4F7EC;font-size:11.5px;font-weight:600;cursor:pointer}
.hm-plan-open i{display:inline-block;transform:rotate(180deg)}
.hm-plan-toggle i{display:inline-block;transition:transform .2s ease}
.hm-plan{position:relative;margin:18px 0 0;padding:4px 16px;list-style:none;display:flex;flex-direction:column;border-radius:20px;background:rgba(14,20,8,.9)}
.hm-plan-row{position:relative;display:flex;align-items:flex-start;gap:11px;padding:12px 0}
.hm-plan-row+.hm-plan-row{border-top:1px solid rgba(244,247,236,.14)}
.hm-plan-mark{flex:none;display:flex;align-items:center;justify-content:center;width:15px;height:18px}
.hm-plan-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.hm-plan-step{font-size:13px;font-weight:500;line-height:1.35;color:#F4F7EC;text-wrap:pretty}
.hm-plan-pts{font-family:'DM Mono',monospace;font-size:11px;color:#F2A03D}
/* ways to earn — cards you can act on at a glance */
.hm-list{display:flex;flex-direction:column;gap:10px}
.hm-list-title{display:flex;align-items:center;margin:0 0 2px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}
.hm-list-sub{margin:3px 0 0;font-size:11.5px;font-weight:500;color:var(--fg-muted)}
.hm-list-rows{display:flex;flex-direction:column;gap:8px}
.hm-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px;border-radius:20px;border:1px solid var(--border-default);background:var(--bg-surface);cursor:pointer;transition:transform .18s ease,border-color .18s ease}
.hm-row:active{transform:scale(.99);border-color:var(--border-strong)}
.hm-row-emoji{flex:none;width:44px;height:44px;border-radius:15px;background:var(--bg-app);display:flex;align-items:center;justify-content:center;font-size:21px;line-height:1}
.hm-row-n{flex:none;font-family:'DM Mono',monospace;font-size:11px;color:var(--fg-muted)}
.hm-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.hm-row-title{font-size:15px;font-weight:700;line-height:1.3;letter-spacing:-.025em;color:var(--fg-primary);text-wrap:pretty}
.hm-row-sub{font-size:11.5px;font-weight:500;line-height:1.3;color:var(--fg-secondary);text-wrap:pretty}
.hm-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:2px}
.hm-row-cad{font-size:10.5px;font-weight:500;color:var(--fg-muted)}
.hm-row-cap{display:flex;align-items:center;gap:3px;font-size:10.5px;font-weight:500;color:var(--fg-muted)}
.hm-row-hot{font-size:10.5px;font-weight:600;color:var(--color-primary)}
.hm-row-pts{flex:none;display:flex;flex-direction:column;align-items:flex-end;font-family:'DM Mono',monospace;font-size:17px;color:var(--lime-500)}
.hm-row-pts em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}
.hm-list-all{align-self:stretch;justify-content:center;display:flex;align-items:center;gap:8px;margin-top:10px;padding:13px 18px;border:none;border-radius:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default);cursor:pointer;font-size:14px;font-weight:700;color:var(--fg-primary);transition:background .15s ease,transform .1s ease}
.hm-list-all:active{transform:scale(.98);background:var(--bg-sunken)}
.hm-list-all i,.hm-list-all svg{color:var(--color-primary)}
/* nudge: gentle glow + smoke wisp after inactivity */
.hm-dial-wrap.hm-nudge .hm-dial-core{animation:hmNudgeGlow 1.8s ease-in-out infinite}
@keyframes hmNudgeGlow{0%,100%{box-shadow:0 0 0 0 rgba(255,90,46,0)}50%{box-shadow:0 0 22px 6px rgba(255,90,46,.35)}}
.hm-nudge-wisp{position:absolute;bottom:6px;left:50%;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);transform:translateX(-50%);pointer-events:none;animation:hmWisp 2.4s ease-out infinite}
@keyframes hmWisp{0%{opacity:0;transform:translate(-50%,0) scale(.4)}20%{opacity:.6}100%{opacity:0;transform:translate(-50%,-70px) scale(1.8)}}
/* toast */
.pz-toast-wrap{position:absolute;left:0;right:0;top:calc(env(safe-area-inset-top) + 12px);display:flex;justify-content:center;z-index:80;pointer-events:none}
.pz-toast{display:flex;align-items:center;gap:10px;max-width:88%;padding:12px 16px;border-radius:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default);box-shadow:0 12px 30px rgba(0,0,0,.35);animation:pzToastIn .28s cubic-bezier(.2,1.3,.4,1),pzToastOut .3s ease 2.7s forwards}
@keyframes pzToastIn{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes pzToastOut{to{opacity:0;transform:translateY(-10px) scale(.97)}}
.pz-toast-icon{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(211,255,60,.14);display:flex;align-items:center;justify-content:center}
.pz-toast-text{font-size:13.5px;font-weight:600;color:var(--fg-primary);line-height:1.3}
.pz-toast-text b{color:var(--color-primary)}
/* pin sheet amount picker */
.sheet-amt-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:2px 0 4px}
.sheet-amt-chip{padding:8px 14px;border-radius:12px;border:1.5px solid var(--border-default);background:var(--bg-surface);font-family:'DM Mono',monospace;font-size:14px;font-weight:700;color:var(--fg-secondary);cursor:pointer}
.sheet-amt-chip.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}
/* goal list + calendar screens */
.gl-screen,.cal-screen{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-app)}
.gl-head{display:flex;align-items:center;gap:12px;padding:6px 20px 14px}
.gl-head-text{flex:1;min-width:0}
.gl-title{margin:0;font-size:25px;font-weight:700;letter-spacing:-.05em;color:var(--fg-primary)}
.gl-total{display:flex;flex-direction:column;align-items:flex-end;font-family:'DM Mono',monospace;font-size:16px;font-weight:500;color:var(--lime-500)}
.gl-total em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}
.gl-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:22px;padding:4px 20px 26px}
.gl-body::-webkit-scrollbar{display:none}
.gl-group{display:flex;flex-direction:column;gap:10px}
.gl-group-label{margin:0;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}
.cal-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 20px 14px}
.cal-sum-box{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:20px;border:1px solid var(--border-default);background:var(--bg-surface)}
.cal-sum-n{font-family:'DM Mono',monospace;font-size:24px;line-height:1;color:var(--fg-primary)}
.cal-sum-l{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}
.cal-sum-hot{border-color:rgba(221,91,74,.4)}
.cal-sum-hot .cal-sum-n{color:var(--color-primary)}
.cal-tabs{padding:0 20px 14px}
.cal-swipe{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:0 20px 20px;touch-action:pan-y;user-select:none}
.cal-swipe-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cal-swipe-nav .hm-icon-btn:disabled{opacity:.35;cursor:default}
.cal-swipe-hint{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.cal-swipe-card{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:18px;border-radius:26px;border:1px solid var(--border-default);background:var(--bg-surface);animation:gpArrive .34s cubic-bezier(.16,.84,.28,1) both}
.cal-swipe-card::-webkit-scrollbar{display:none}
.cal-day{display:flex;flex-direction:column;gap:10px}
.cal-sheet{gap:0;align-items:stretch;text-align:left}
.cal-sheet .sheet-handle{align-self:center;margin-bottom:12px}
.cal-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:26px;padding:2px 20px 18px}
.cal-body::-webkit-scrollbar{display:none}
.cal-month{display:flex;flex-direction:column;gap:12px}
.cal-month-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cal-month-label{margin:0;font-size:22px;font-weight:700;letter-spacing:-.045em;color:var(--fg-primary)}
.cal-month-line{margin:0;font-size:11px;font-weight:500;color:var(--fg-muted)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-dow{display:flex;align-items:center;justify-content:center;height:16px;font-size:10px;font-weight:600;color:var(--fg-muted);opacity:.6}
.cal-cell{position:relative;aspect-ratio:1;border:none;background:var(--bg-surface);border-radius:14px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--fg-secondary);transition:transform .15s ease}
.cal-cell:active{transform:scale(.92)}
.cal-num{position:relative;z-index:2;font-family:'DM Mono',monospace;font-size:12px;line-height:1;color:var(--fg-primary)}
.cal-cell{flex-direction:column}
.cal-bar{position:absolute;left:0;right:0;bottom:0;z-index:1;background:linear-gradient(180deg,rgba(255,90,46,.55),rgba(255,90,46,.85));border-radius:5px 5px 0 0;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.cal-t2 .cal-bar{background:repeating-linear-gradient(-45deg,rgba(255,90,46,.9) 0 4px,rgba(255,140,80,.9) 4px 8px)}
.cal-t3 .cal-bar{background:repeating-linear-gradient(-45deg,var(--lime-500) 0 4px,#c8e81a 4px 8px)}
.cal-t3 .cal-num,.cal-t2 .cal-num{color:#0E1408;mix-blend-mode:normal}
.cal-t1 .cal-bar{opacity:.7}
.cal-star{position:absolute;top:4px;right:4px;z-index:2;width:14px;height:14px;border-radius:50%;background:#FFD84D;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg-app)}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 2px 2px}
.cal-legend-item{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;color:var(--fg-muted)}
.cal-swatch{position:relative;width:11px;height:11px;border-radius:4px;flex:none;background:var(--bg-surface);overflow:hidden}
.cal-swatch::after{content:'';position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,90,46,.55),rgba(255,90,46,.85))}
.cal-lt3::after{height:100%;background:repeating-linear-gradient(-45deg,var(--lime-500) 0 4px,#c8e81a 4px 8px)}
.cal-lt2::after{height:66%;background:repeating-linear-gradient(-45deg,rgba(255,90,46,.9) 0 4px,rgba(255,140,80,.9) 4px 8px)}
.cal-lt1::after{height:34%;opacity:.7}
.cal-lt0{box-shadow:inset 0 0 0 1px var(--border-default);background:none}
.cal-lt0::after{display:none}
.cal-habit{display:flex;flex-direction:column;gap:9px;padding:15px 16px;border-radius:20px;border:1px solid var(--border-default);background:var(--bg-surface)}
.cal-habit.is-formed{border-color:color-mix(in srgb,var(--lime-500) 46%,transparent);background:color-mix(in srgb,var(--lime-500) 8%,var(--bg-surface))}
.cal-habit-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cal-habit-h{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary)}
.cal-habit-n{font-family:'DM Mono',monospace;font-size:17px;font-weight:700;color:var(--orange-500)}
.cal-habit.is-formed .cal-habit-n{color:var(--lime-500)}
.cal-habit-n em{font-style:normal;font-size:11px;color:var(--fg-muted)}
.cal-habit-track{display:flex;gap:3px}
.cal-habit-pip{flex:1;height:7px;border-radius:3px;background:var(--bg-sunken);box-shadow:inset 0 0 0 1px var(--border-default)}
.cal-habit-pip.is-on{background:color-mix(in srgb,var(--orange-500) 72%,transparent);box-shadow:none}
.cal-habit.is-formed .cal-habit-pip.is-on{background:var(--lime-500)}
.cal-habit-sub{margin:0;font-size:11.5px;line-height:1.5;color:var(--fg-secondary);text-wrap:pretty}
.cal-cell-h21{box-shadow:inset 0 0 0 2px var(--lime-500)}
.cal-h21{position:absolute;top:3px;left:3px;z-index:3;padding:1px 4px;border-radius:6px;background:var(--lime-500);font-family:'DM Mono',monospace;font-size:8px;font-weight:700;color:#0E1408;line-height:1.3}
.cal-cell-off{background:none;box-shadow:inset 0 0 0 1px var(--border-default)}
.cal-cell-off .cal-num{opacity:.3}
.cal-cell-today{box-shadow:inset 0 0 0 2px var(--color-primary)}
.cal-cell-sel{box-shadow:inset 0 0 0 2.5px var(--color-primary);transform:scale(1.04)}
.cal-record{margin-left:8px;padding:3px 9px;border-radius:999px;background:rgba(255,216,77,.16);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FFD84D;vertical-align:middle}
.cal-record-fire{background:rgba(226,255,23,.15);color:var(--lime-500)}
.cal-detail-head{display:flex;align-items:baseline;justify-content:space-between}
.cal-detail-date{margin:0;font-size:17px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.cal-detail-pts{display:flex;align-items:baseline;gap:3px;font-family:'DM Mono',monospace;font-size:16px;color:var(--lime-500)}
.cal-detail-pts em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}
.cal-line{display:flex;align-items:center;gap:9px}
.cal-line-dot{width:5px;height:5px;border-radius:50%;background:var(--lime-500);flex:none}
.cal-line-label{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--fg-primary)}
.cal-line-n{font-family:'DM Mono',monospace;font-size:11px;color:var(--fg-muted)}
.cal-line-pts{font-family:'DM Mono',monospace;font-size:12.5px;color:var(--fg-secondary)}
.cal-empty{margin:0;font-size:12.5px;font-weight:500;color:var(--fg-muted)}
/* dock + rotary start */
.hm-dock{position:absolute;left:0;right:0;bottom:0;z-index:25;display:flex;justify-content:center;padding:0 0 14px;pointer-events:none;background:linear-gradient(to top,var(--bg-app) 46%,rgba(0,0,0,0))}
.hm-dial-wrap{position:relative;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:10px}
.hm-swipe-cue{position:absolute;left:50%;bottom:calc(100% - 62px);transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}
.hm-swipe-cue i{width:13px;height:13px;border-left:2.5px solid var(--fg-muted);border-top:2.5px solid var(--fg-muted);border-radius:2px;transform:rotate(45deg);opacity:0;animation:hmCue 1.9s ease-in-out infinite}
.hm-swipe-cue i:nth-child(1){animation-delay:.2s}
.hm-swipe-cue i:nth-child(2){animation-delay:0s}
@keyframes hmCue{0%{opacity:0;translate:0 5px}40%{opacity:.85}100%{opacity:0;translate:0 -5px}}
.hm-dial-hint{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);z-index:3}
.hm-say{position:relative;z-index:4;order:-1;margin-bottom:4px;max-width:250px;padding:9px 15px;border-radius:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.hm-say-text{display:block;font-size:13px;font-weight:600;letter-spacing:-.01em;text-align:center;color:var(--fg-primary);animation:hmSayIn .38s cubic-bezier(.2,.9,.2,1)}
@keyframes hmSayIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hm-say-tail{position:absolute;left:50%;bottom:-5px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:var(--bg-surface-raised);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.hm-say-ignite{border-color:var(--color-primary);animation:hmSayBuzz .09s linear infinite}
.hm-say-ignite .hm-say-text{color:var(--color-primary)}
@keyframes hmSayBuzz{0%{transform:translate(-1px,.5px)}50%{transform:translate(1px,-.5px)}100%{transform:translate(-1px,.5px)}}
.hm-say-climb{background:var(--lime-500);border-color:var(--lime-500)}
.hm-say-climb .hm-say-text{color:#0E1408;letter-spacing:.02em}
.hm-say-climb .hm-say-tail{background:var(--lime-500);border-color:var(--lime-500)}
/* exhaust cloud deck the rocket punches through */
.hm-clouds{position:absolute;left:50%;bottom:8px;width:340px;height:260px;transform:translateX(-50%);pointer-events:none;z-index:2}
.hm-cloud{position:absolute;bottom:24px;width:64px;height:26px;transform:translateX(-50%);opacity:0;animation:hmCloud 1.6s cubic-bezier(.18,.7,.3,1) forwards}
.hm-cloud i{position:absolute;bottom:0;border-radius:50%;background:rgba(255,255,255,.14);box-shadow:0 0 22px 8px rgba(255,255,255,.05)}
.hm-cloud i:nth-child(1){left:0;width:30px;height:24px}
.hm-cloud i:nth-child(2){left:18px;width:38px;height:32px;background:rgba(255,255,255,.19)}
.hm-cloud i:nth-child(3){left:42px;width:24px;height:20px}
@keyframes hmCloud{0%{opacity:0;transform:translate(-50%,10px) scale(.35)}22%{opacity:.95}60%{opacity:.7;transform:translate(calc(-50% + (var(--i) - 4) * 16px),-96px) scale(1.5)}100%{opacity:0;transform:translate(calc(-50% + (var(--i) - 4) * 30px),-206px) scale(2.3)}}

.hm-ph-ignite .hm-dial-hint{color:var(--color-primary)}
.hm-ph-climb .hm-dial-hint{color:#fff}
.hm-dial{position:relative;z-index:3;width:96px;height:96px;filter:drop-shadow(0 8px 18px rgba(91,79,224,.45)) drop-shadow(0 16px 38px rgba(255,90,46,.28));border-radius:50%;border:none;padding:0;background:none;cursor:grab;touch-action:none;transition:transform .34s cubic-bezier(.2,1.25,.3,1);animation:hmHover 3.4s ease-in-out infinite}
@keyframes hmHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.hm-dial-drag .hm-dial,.hm-ph-ignite .hm-dial,.hm-ph-climb .hm-dial{animation-name:none}
.hm-word-slot{position:relative;display:block;min-width:200px;text-align:center;height:16px;overflow:hidden}
.hm-word{position:absolute;left:0;right:0;font-size:12.5px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--fg-primary);animation:hmWordIn .45s cubic-bezier(.2,.9,.2,1)}
.hm-word em{font-style:normal;font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}
@keyframes hmWordIn{0%{opacity:0;transform:translateY(9px)}100%{opacity:1;transform:translateY(0)}}
.hm-dial-drag .hm-dial{transition:none;cursor:grabbing}
.hm-ph-ignite .hm-dial,.hm-ph-climb .hm-dial{transition:none}
.hm-dial-ring,.hm-dial-ring2{position:absolute;inset:0;border-radius:50%;pointer-events:none}
.hm-dial-ring{background:conic-gradient(from 0deg,var(--violet-500) 0deg,#7A6BFF 62deg,var(--orange-500) 150deg,#FFD23F 214deg,var(--lime-500) 270deg,#7A6BFF 318deg,var(--violet-500) 360deg);animation:hmSpin 5.5s linear infinite;filter:saturate(1.25) brightness(1.06)}
.hm-ph-ignite .hm-dial-ring{animation-duration:.9s}
.hm-dial-ring2{inset:4px;background:conic-gradient(from 180deg,transparent,rgba(255,255,255,.85) 100deg,transparent 210deg);animation:hmSpin 8s linear infinite reverse;opacity:.5;mix-blend-mode:overlay}
@keyframes hmSpin{to{transform:rotate(360deg)}}
.hm-rocket{display:flex;flex-direction:column;align-items:center;transition:transform .62s cubic-bezier(.32,1.42,.36,1);animation:hmUpNudge 1.7s cubic-bezier(.4,0,.3,1) infinite}
.hm-rocket i,.hm-rocket svg{display:block}
.hm-rocket{filter:drop-shadow(0 2px 8px rgba(0,0,0,.28))}
.hm-rocket b{display:block;width:17px;height:17px;border-left:3.5px solid #fff;border-top:3.5px solid #fff;border-radius:4px 1px 1px 1px;transform:rotate(45deg)}
.hm-rocket b:nth-child(1){margin-bottom:1px}
.hm-rocket b:nth-child(2){margin-top:-9px;width:14px;height:14px;border-width:3px;opacity:.45}
@keyframes hmUpNudge{0%,58%,100%{transform:translateY(0)}72%{transform:translateY(-6px)}84%{transform:translateY(-1px)}}
.hm-dial-drag .hm-rocket,.hm-ph-ignite .hm-rocket,.hm-ph-climb .hm-rocket{animation:none;transform:translateY(-3px) scale(1.1)}
.hm-dial-drag .hm-dial-core{animation:hmIdleRumble .13s linear infinite}
@keyframes hmIdleRumble{0%{transform:translate(-.4px,.3px)}50%{transform:translate(.4px,-.3px)}100%{transform:translate(-.4px,.3px)}}
.hm-word-armed{color:var(--lime-500)!important}
/* ground fog: pools while the rocket is held, keeps rolling until released */
.hm-fog{position:absolute;left:50%;bottom:-34px;width:360px;height:150px;transform:translateX(-50%);pointer-events:none;z-index:1;overflow:visible}
.hm-fog i{position:absolute;bottom:0;left:50%;width:150px;height:72px;margin-left:-75px;border-radius:50%;background:radial-gradient(60% 60% at 45% 40%,rgba(255,255,255,.55) 0%,rgba(255,255,255,.28) 60%,rgba(255,255,255,0) 100%);filter:blur(16px);opacity:0;animation:hmFog 3.4s cubic-bezier(.22,.7,.3,1) infinite}
@keyframes hmFog{0%{opacity:0;transform:translate(0,16px) scale(.4)}25%{opacity:.5}60%{opacity:.34}100%{opacity:0;transform:translate(calc((var(--i) - 4.5) * 40px),-42px) scale(1.9)}}
.hm-dial-core{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(120% 130% at 50% 12%,#3A3170 0%,#26224A 55%,#17162B 100%);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 rgba(255,255,255,.22),inset 0 -10px 22px rgba(0,0,0,.55)}
.hm-dial-core::after{content:'';position:absolute;left:14%;right:14%;top:7%;height:34%;border-radius:50%;background:linear-gradient(to bottom,rgba(255,255,255,.34),rgba(255,255,255,0));pointer-events:none}
/* thrust builds while the clamps hold, so the dial shakes before it moves */
.hm-ph-ignite .hm-dial{animation:hmShake .07s linear infinite}
@keyframes hmShake{0%{transform:translate(-1.5px,1px)}25%{transform:translate(1.5px,-1px)}50%{transform:translate(-1px,-1.5px)}75%{transform:translate(1px,1.5px)}100%{transform:translate(-1.5px,1px)}}
.hm-ph-climb .hm-dial{animation:hmClimb .9s cubic-bezier(.6,0,.75,.2) forwards}
@keyframes hmClimb{0%{transform:translateY(0)}18%{transform:translateY(-22px)}45%{transform:translateY(-96px)}100%{transform:translateY(-660px) scale(.42)}}
.hm-flame{position:absolute;left:50%;top:92%;width:28px;transform:translateX(-50%);transform-origin:top center;pointer-events:none}
.hm-flame i{position:absolute;left:50%;top:0;transform:translateX(-50%);border-radius:0 0 60% 60%/0 0 100% 100%;transform-origin:top center;display:block}
.hm-flame i:first-child{width:28px;height:0;background:linear-gradient(to bottom,#fff,var(--color-primary) 55%,rgba(221,91,74,0))}
.hm-flame i:last-child{width:14px;height:0;background:linear-gradient(to bottom,#fff,var(--lime-500) 70%,rgba(226,255,23,0))}
.hm-ph-ignite .hm-flame i:first-child{animation:hmFlameRamp .62s cubic-bezier(.3,.7,.4,1) forwards,hmFlick .06s steps(2) infinite}
.hm-ph-ignite .hm-flame i:last-child{animation:hmFlameRamp2 .62s cubic-bezier(.3,.7,.4,1) forwards,hmFlick .05s steps(2) infinite}
.hm-ph-climb .hm-flame i:first-child{height:132px;animation:hmFlick .05s steps(2) infinite}
.hm-ph-climb .hm-flame i:last-child{height:82px;animation:hmFlick .04s steps(2) infinite}
@keyframes hmFlameRamp{0%{height:0}100%{height:88px}}
@keyframes hmFlameRamp2{0%{height:0}100%{height:54px}}
@keyframes hmFlick{to{transform:translateX(-50%) scale(1.16,1.08)}}
/* exhaust rolls out sideways off the pad, then billows up */
.hm-smoke{mix-blend-mode:screen;position:absolute;left:50%;bottom:26px;width:280px;height:180px;transform:translateX(-50%);pointer-events:none;z-index:2}
.hm-puff{position:absolute;bottom:-10px;left:50%!important;width:104px;height:104px;margin-left:-52px;border-radius:48% 52% 55% 45%/50% 45% 55% 50%;background:rgba(255,255,255,.34);filter:blur(15px);animation:hmPuff 2.1s cubic-bezier(.16,.72,.3,1) forwards}
@keyframes hmPuff{0%{opacity:0;transform:translate(0,6px) scale(.28) rotate(0deg)}14%{opacity:.9}55%{opacity:.7;transform:translate(calc((var(--i) - 6.5) * 19px),-10px) scale(1.7) rotate(24deg)}100%{opacity:0;transform:translate(calc((var(--i) - 6.5) * 42px),16px) scale(3.6) rotate(48deg)}}
.hm-stickers{position:absolute;left:50%;bottom:40px;width:350px;height:330px;transform:translateX(-50%);pointer-events:none;z-index:3}
.hm-sticker{position:absolute;display:flex;align-items:center;gap:6px;padding:8px 13px;max-width:44%;font-size:12.5px;font-weight:700;letter-spacing:-.015em;line-height:1.25;box-shadow:0 6px 16px rgba(30,29,34,.16);opacity:0;animation:hmStick 2.6s cubic-bezier(.2,.9,.2,1) forwards}
.hm-sticker b{font-size:12.5px;font-weight:400}
.hm-sticker-chip{border-radius:999px;background:var(--lime-500);color:#0E1408}
.hm-sticker-bubble{border-radius:16px 16px 16px 5px;background:#fff;color:#161139}
.hm-sticker-p0{left:2%;bottom:6px;rotate:-3.0deg;animation-delay:0.04s}
.hm-sticker-p1{right:2%;bottom:6px;rotate:5.4deg;animation-delay:0.11s}
.hm-sticker-p2{left:2%;bottom:62px;rotate:-7.8deg;animation-delay:0.19s;background:var(--orange-500);color:#fff}
.hm-sticker-p3{right:2%;bottom:62px;rotate:3.0deg;animation-delay:0.26s}
.hm-sticker-p4{left:2%;bottom:118px;rotate:-5.4deg;animation-delay:0.34s}
.hm-sticker-p5{right:2%;bottom:118px;rotate:7.8deg;animation-delay:0.41s}
.hm-sticker-p6{left:2%;bottom:174px;rotate:-3.0deg;animation-delay:0.49s;background:var(--orange-500);color:#fff}
.hm-sticker-p7{right:2%;bottom:174px;rotate:5.4deg;animation-delay:0.57s}
.hm-sticker-p8{left:2%;bottom:230px;rotate:-7.8deg;animation-delay:0.64s}
.hm-sticker-p9{right:2%;bottom:230px;rotate:3.0deg;animation-delay:0.71s}
.hm-sticker-p10{left:2%;bottom:286px;rotate:-5.4deg;animation-delay:0.79s;background:var(--orange-500);color:#fff}
.hm-sticker-p11{right:2%;bottom:286px;rotate:7.8deg;animation-delay:0.86s}
@keyframes hmStick{0%{opacity:0;translate:0 10px;scale:.62}18%{opacity:1;translate:0 -2px;scale:1.1}32%{scale:1}88%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -14px;scale:.98}}
/* dome swell */
.hm-flood{position:absolute;left:-8%;right:-8%;bottom:0;height:108%;z-index:20;overflow:hidden;pointer-events:none;background:var(--violet-700);border-radius:54% 54% 0 0/26% 26% 0 0;transform-origin:bottom center;will-change:transform}
.hm-flood-go{animation:hmDomeSwell .9s cubic-bezier(.42,0,.3,1) forwards}
@keyframes hmDomeSwell{0%{transform:scaleY(.22);border-radius:54% 54% 0 0/26% 26% 0 0}45%{transform:scaleY(.52);border-radius:44% 56% 0 0/14% 16% 0 0}100%{transform:scaleY(1);border-radius:0}}
.hm-arc{position:absolute;left:14%;right:14%;bottom:0;height:200%;border-radius:50% 50% 0 0/26% 26% 0 0;background:#6C5CE7;opacity:.5}
/* goal picker */
.gp-screen{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-app)}
.gp-head{display:flex;align-items:center;gap:12px;padding:6px 20px 12px}
.gp-forme{padding:9px 13px;border-radius:999px;border:1px solid var(--border-strong);background:none;color:var(--color-primary);font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.gp-dots{display:flex;align-items:center;gap:5px;padding:0 20px 12px}
.gp-dot{width:22px;height:4px;border-radius:999px;background:var(--border-default)}
.gp-dot-on{background:var(--lime-500)}
.gp-dots-label{margin-left:7px;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.gp-pills{padding:0 20px 14px;flex:none}
.gp-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 16px;align-content:start}
.gp-body::-webkit-scrollbar{display:none}
.gp-card{display:flex;flex-direction:column;gap:9px;text-align:left;padding:14px;border-radius:22px;border:1px solid var(--border-default);background:var(--bg-surface);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .14s ease,opacity .16s ease}
.gp-card:active{transform:scale(.98)}
.gp-card-on{border-color:var(--lime-500);background:var(--bg-surface-raised)}
.gp-card-off{opacity:.42}
.gp-card-top{display:flex;align-items:center;justify-content:space-between}
.gp-card-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center}
.gp-card-on .gp-card-check{background:var(--lime-500);border-color:var(--lime-500)}
.gp-card-title{font-size:16px;font-weight:700;line-height:1.2;letter-spacing:-.03em;color:var(--fg-primary);text-wrap:pretty}
.gp-emoji{width:44px;height:44px;border-radius:14px;background:var(--bg-app);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;transition:transform .25s cubic-bezier(.2,1.2,.3,1)}
.gp-card-on .gp-emoji{background:rgba(226,255,23,.14);transform:scale(1.08) rotate(-6deg)}
.gp-card-hot{align-self:flex-start;font-size:10.5px;font-weight:600;color:var(--color-primary)}
.gp-card-foot{display:flex;align-items:baseline;gap:8px}
.gp-card-pts{font-family:'DM Mono',monospace;font-size:19px;color:var(--lime-500)}
.gp-card-time{font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}
.gp-bar{flex:none;display:flex;align-items:center;gap:12px;padding:14px 20px 18px;border-top:1px solid var(--border-default);background:var(--bg-surface)}
.gp-bar-sum{flex:none;min-width:0;display:flex;flex-direction:column}
.gp-bar-pts{display:flex;align-items:baseline;gap:4px;font-family:'DM Mono',monospace;font-size:20px;color:var(--lime-500)}
.gp-bar-pts em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}
.gp-bar-time{font-size:11px;font-weight:500;color:var(--fg-muted)}
.gp-start{display:flex;align-items:center;gap:7px;padding:14px 20px;border-radius:999px;border:none;background:var(--lime-500);color:#0E1408;font-size:14px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:opacity .16s ease}
.gp-start:disabled{background:var(--bg-surface-raised);color:var(--fg-muted);cursor:default}
/* source chips, info bubble, action plan */
.hm-src{padding:2px 7px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hm-src-manager{background:rgba(226,255,23,.16);color:var(--lime-500)}
.hm-src-company{background:rgba(108,92,231,.2);color:#A99CFF}
.hm-src-pryze{background:rgba(221,91,74,.16);color:var(--color-primary)}
.hm-scope{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.06em;background:var(--bg-surface-raised);border:1px solid var(--border-default);color:var(--fg-secondary);white-space:nowrap}
.gp-pick-meta .hm-scope{font-size:8.5px;padding:2px 6px}
.hm-info{flex:none;margin-left:8px;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-default);background:var(--bg-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.hm-plan-toggle{position:relative;display:flex;align-items:center;gap:6px;margin-top:16px;padding:9px 14px;border-radius:999px;border:none;background:rgba(14,20,8,.12);color:#0E1408;font-size:11.5px;font-weight:700;letter-spacing:.02em;cursor:pointer}
.hm-plan-open i{display:inline-block;transform:rotate(180deg)}
.hm-plan{position:relative;margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column}
.hm-plan-row{position:relative;display:flex;align-items:flex-start;gap:11px;padding:12px 0}
.hm-plan-row+.hm-plan-row{border-top:1px solid var(--border-default)}
.hm-plan-mark{flex:none;display:flex;align-items:center;justify-content:center;width:15px;height:18px}
.hm-plan-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.hm-plan-step{font-size:13px;font-weight:500;line-height:1.35;color:var(--fg-secondary);text-wrap:pretty}
.hm-plan-pts{font-family:'DM Mono',monospace;font-size:11px;color:var(--fg-muted)}
.hm-src-sheet{gap:0;align-items:stretch;text-align:left}
.hm-src-sheet .sheet-handle{align-self:center}
.hm-src-sheet .sheet-title{margin:8px 0 4px}
.hm-src-list{display:flex;flex-direction:column}
.hm-src-item{display:flex;flex-direction:column;gap:7px;padding:14px 0}
.hm-src-item+.hm-src-item{border-top:1px solid var(--border-default)}
.hm-src-item .hm-src{align-self:flex-start}
.hm-src-body{margin:0;font-size:12.5px;font-weight:500;line-height:1.45;color:var(--fg-secondary);text-wrap:pretty}
.hm-src-close{margin-top:8px;padding:14px;border-radius:999px;border:none;background:var(--lime-500);color:#0E1408;font-size:14px;font-weight:700;cursor:pointer}
.hm-row-check{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center}
.hm-row-picked .hm-row-check{background:var(--lime-500);border-color:var(--lime-500)}
.cal-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px;margin:12px 0 14px;padding-bottom:14px;border-bottom:1px solid var(--border-default)}
.cal-fact{display:flex;flex-direction:column;gap:3px;font-family:'DM Mono',monospace;font-size:12px;color:var(--fg-primary)}
.cal-fact em{font-family:'DM Sans',sans-serif;font-style:normal;font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}
.cal-trivia{display:flex;align-items:center;gap:6px;margin:12px 0 0;padding:9px 11px;border-radius:12px;background:rgba(226,255,23,.1);font-size:11.5px;font-weight:600;color:var(--fg-primary)}
@keyframes gpArrive{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
.gp-arrive{animation:gpArrive .62s cubic-bezier(.16,.84,.28,1) both}
.gp-arrive>*{animation:gpArrive .7s cubic-bezier(.16,.84,.28,1) both;animation-delay:.12s}
/* notifications */
.nc-screen{flex:1;display:flex;flex-direction:column;min-height:0}
.nc-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:2px 20px 24px;display:flex;flex-direction:column;gap:26px}
.nc-body::-webkit-scrollbar{display:none}
.nc-group{display:flex;flex-direction:column;gap:2px}
.nc-group .gl-group-label{margin-bottom:8px}
.nc-mark{flex:none;padding:0;border:none;background:none;font-size:11.5px;font-weight:600;color:var(--color-primary);cursor:pointer}
.nc-list{display:flex;flex-direction:column;gap:4px}
.nc-item{position:relative;width:100%;text-align:left;border:none;background:none;cursor:pointer;display:flex;gap:12px;padding:13px 12px 14px 0;border-radius:16px;transition:background .18s}
.nc-item:active{background:var(--bg-surface)}
.nc-rail{flex:none;width:3px;border-radius:999px;background:transparent}
.nc-item-unread{padding-left:11px;background:var(--bg-surface)}
.nc-item-unread .nc-rail{background:var(--lime-500)}
.nc-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.nc-item-title{font-size:15px;font-weight:600;line-height:1.28;letter-spacing:-.025em;color:var(--fg-secondary);text-wrap:pretty}
.nc-item-unread .nc-item-title{color:var(--fg-primary);font-weight:700}
.nc-item-sub{font-size:13px;font-weight:500;line-height:1.45;color:var(--fg-muted);text-wrap:pretty}
.nc-meta{display:flex;align-items:center;gap:8px;margin-top:2px}
.nc-kind{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.nc-kind-lime{color:var(--lime-500)}
.nc-kind-violet{color:var(--violet-300)}
.nc-kind-orange{color:var(--color-primary)}
.nc-time{font-size:11.5px;font-weight:500;color:var(--fg-muted)}
.nc-time::before{content:'·';margin-right:8px}
/* picker — quiet editorial list; the decision is already made, you just confirm */
.gp-screen{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-app)}
.gp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px 2px}
.gp-intro{padding:12px 20px 0}
.gp-over{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}
.gp-say{margin:8px 0 0;font-size:23px;font-weight:700;line-height:1.2;letter-spacing:-.035em;color:var(--fg-primary);text-wrap:pretty}
.gp-say span{color:var(--fg-muted)}
.gp-hero{display:flex;align-items:baseline;gap:9px;padding:2px 20px 14px}
.gp-hero-num{margin:0;font-family:'DM Mono',monospace;font-size:44px;line-height:1;letter-spacing:-.05em;color:var(--fg-primary)}
.gp-hero-side{display:flex;align-items:baseline;gap:7px;margin:0;font-size:12.5px;font-weight:500;letter-spacing:-.01em;color:var(--fg-muted)}
.gp-hero-side b{font-weight:600;color:var(--fg-secondary)}
.gp-hero-side em{font-style:normal}
.gp-modes{display:flex;gap:22px;padding:0 20px 12px}
.gp-mode{padding:0 0 11px;margin-bottom:-13px;border:none;border-bottom:1.5px solid transparent;background:none;color:var(--fg-muted);font-size:13px;font-weight:600;letter-spacing:-.015em;cursor:pointer;transition:color .18s ease}
.gp-mode-on{color:var(--fg-primary);border-bottom-color:var(--color-primary)}
.gp-six{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;margin:14px 16px 0;padding:2px 16px;border-radius:18px;background:var(--bg-surface);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.gp-six::-webkit-scrollbar{display:none}
.gp-pick{display:flex;align-items:flex-start;gap:13px;width:100%;text-align:left;padding:13px 2px;border:none;border-bottom:1px solid var(--border-default);background:none}
.gp-pick:last-child{border-bottom:none}
.gp-pick-btn{cursor:pointer;-webkit-tap-highlight-color:transparent}
.gp-pick-btn:active{opacity:.6}
.gp-pick-full{opacity:.35;cursor:default}
.gp-pick-emoji{flex:none;width:26px;margin-top:1px;font-size:19px;line-height:1.15;text-align:center;filter:grayscale(.15)}
.gp-pick-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.gp-pick-title{font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--fg-primary);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-wrap:pretty}
.gp-pick-meta{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;color:var(--fg-muted)}
.gp-pick-meta .hm-src{font-size:8.5px;letter-spacing:.08em;padding:2px 6px}
[data-theme="light"] .hm-src-manager{background:rgba(127,158,10,.16);color:#5C7307}
[data-theme="light"] .hm-src-company{background:rgba(75,63,196,.14);color:#4B3FC4}
[data-theme="light"] .hm-src-pryze{background:rgba(216,64,15,.13);color:#B93B0C}
.gp-pick-pts{flex:none;display:flex;flex-direction:column;align-items:flex-end;margin-top:1px;font-family:'DM Mono',monospace;font-size:15px;line-height:1.1;color:var(--color-primary);white-space:nowrap}
.gp-pick-pts em{font-style:normal;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.gp-pick-swap{flex:none;width:28px;height:28px;border-radius:50%;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55;transition:opacity .18s ease}
.gp-pick-swap:hover{opacity:1}
.gp-pick-check{flex:none;margin-top:1px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-default);display:flex;align-items:center;justify-content:center}
.gp-pick-on .gp-pick-check{background:var(--color-primary);border-color:var(--color-primary)}
.gp-forme{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:none;background:none;color:var(--fg-secondary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.gp-sheet{gap:0;align-items:stretch;text-align:left}
.gp-sheet .sheet-handle{align-self:center}
.gp-alts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.gp-alt{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:12px;border-radius:14px;border:1px solid var(--border-default);background:var(--bg-surface);cursor:pointer;transition:border-color .18s ease}
.gp-alt:active{border-color:var(--color-primary)}
/* GO — one confident disc, design-system violet, no arcade gloss */
.gp-go-wrap{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 20px 26px}
.gp-go{position:relative;width:96px;height:96px;border-radius:50%;border:none;padding:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.gp-go-cap{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:radial-gradient(120% 120% at 50% 12%,#8B7DFF 0%,var(--violet-500) 42%,var(--violet-700) 100%);color:#fff;font-size:24px;font-weight:700;letter-spacing:.1em;text-indent:.1em;box-shadow:0 6px 0 #33298F,0 12px 22px rgba(35,25,100,.45),0 2px 4px rgba(0,0,0,.28),inset 0 2px 1px rgba(255,255,255,.5),inset 0 -7px 14px rgba(24,17,74,.5);transition:transform .12s cubic-bezier(.3,.9,.3,1),box-shadow .12s ease}
.gp-go-cap em{font-style:normal;text-shadow:0 1px 0 rgba(24,17,74,.5),0 0 18px rgba(255,255,255,.35)}
.gp-go-cap::after{content:'';position:absolute;left:19%;right:19%;top:8%;height:32%;border-radius:50%;background:linear-gradient(to bottom,rgba(255,255,255,.45),rgba(255,255,255,0));pointer-events:none}
.gp-go-shoulder{position:absolute;inset:-6px;z-index:1;border-radius:50%;background:linear-gradient(180deg,rgba(120,108,235,.22),rgba(51,41,143,.3));box-shadow:inset 0 2px 3px rgba(255,255,255,.28),inset 0 -3px 6px rgba(24,17,74,.35),0 10px 24px rgba(35,25,100,.28)}
.gp-go:active .gp-go-cap{transform:translateY(5px);box-shadow:0 1px 0 #33298F,0 4px 10px rgba(35,25,100,.4),inset 0 2px 1px rgba(255,255,255,.35),inset 0 -4px 10px rgba(24,17,74,.55)}
.gp-go-ring{position:absolute;inset:-9px;border-radius:50%;border:1.5px solid var(--color-primary);opacity:.28;animation:gpPulse 2.6s cubic-bezier(.25,.8,.3,1) infinite}
@keyframes gpPulse{0%{transform:scale(.97);opacity:.3}100%{transform:scale(1.18);opacity:0}}
.gp-go-note{margin:0;font-size:11.5px;font-weight:500;letter-spacing:-.01em;color:var(--fg-muted)}
.gp-go:disabled{cursor:default}
.gp-go:disabled .gp-go-cap{background:var(--bg-sunken);color:var(--fg-muted);box-shadow:0 4px 0 var(--border-default)}
.gp-go:disabled .gp-go-shoulder{display:none}
.gp-go:disabled .gp-go-ring{display:none}
/* launch — the list settles into place, nothing spins */
.boot{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 28px;background:var(--bg-app);overflow:hidden;animation:bootFade .7s ease both}
@keyframes bootFade{from{opacity:0}to{opacity:1}}
.boot-cap{margin:0 0 20px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);animation:bootRise .95s cubic-bezier(.19,.72,.18,1) both}
.boot-list{display:flex;flex-direction:column;gap:2px}
.boot-beat{display:flex;align-items:flex-start;gap:13px;padding:11px 0;border-bottom:1px solid var(--border-default);animation:bootRise 1.05s cubic-bezier(.19,.72,.18,1) both}
.boot-beat:last-child{border-bottom:none}
@keyframes bootRise{from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
.boot-mark{flex:none;margin-top:1px;width:20px;height:20px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center}
.boot-emoji{flex:none;width:24px;margin-top:1px;font-size:17px;line-height:1.15;text-align:center}
.boot-text{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--fg-primary);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-wrap:pretty}
.boot-pts{flex:none;margin-top:2px;font-family:'DM Mono',monospace;font-size:13px;color:var(--fg-muted)}
.boot-end{margin:26px 0 0;font-size:22px;font-weight:700;letter-spacing:-.035em;color:var(--fg-primary);animation:bootRise 1.1s cubic-bezier(.19,.72,.18,1) both}
.boot-end em{font-style:normal;color:var(--fg-muted)}
.boot-paint{position:absolute;left:-14%;right:-14%;bottom:-64%;height:158%;border-radius:52% 48% 0 0/26% 24% 0 0;transform:translateY(118%);pointer-events:none;z-index:4}
.boot-paint-a{background:linear-gradient(180deg,var(--violet-500),var(--violet-700));z-index:6}
.boot-paint-b{background:var(--orange-500);z-index:5;border-radius:46% 54% 0 0/22% 28% 0 0}
.boot-paint-c{background:var(--lime-500);z-index:4;border-radius:56% 44% 0 0/30% 20% 0 0}
.boot-out .boot-paint-c{animation:bootPaint 1.05s cubic-bezier(.62,0,.24,1) forwards}
.boot-out .boot-paint-b{animation:bootPaint 1.05s .14s cubic-bezier(.62,0,.24,1) forwards}
.boot-out .boot-paint-a{animation:bootPaint 1.05s .3s cubic-bezier(.62,0,.24,1) forwards}
@keyframes bootPaint{0%{transform:translateY(118%) rotate(-3deg)}55%{transform:translateY(6%) rotate(1.5deg)}100%{transform:translateY(-10%) rotate(0deg)}}
.boot-paint-a i{position:absolute;top:-2px;width:16px;height:34px;border-radius:0 0 50% 50%/0 0 70% 70%;background:var(--violet-500);transform:translateY(-100%) scaleY(0);transform-origin:top;animation:bootDrip .7s calc(.42s + var(--d) * .045s) cubic-bezier(.35,1.4,.4,1) forwards}
@keyframes bootDrip{0%{transform:translateY(-100%) scaleY(0)}70%{transform:translateY(-100%) scaleY(1.15)}100%{transform:translateY(-100%) scaleY(.9)}}
.boot-out .boot-cap,.boot-out .boot-list,.boot-out .boot-end{animation:bootLift .55s cubic-bezier(.4,0,.2,1) forwards}
@keyframes bootLift{to{opacity:0;transform:translateY(-26px);filter:blur(4px)}}
/* activity log — quiet sticky month header, hairline day groups */
.cal-log{flex:1;min-height:0;display:flex;flex-direction:column}
.cal-mbar{flex:none;display:flex;align-items:center;gap:14px;padding:14px 20px 16px}
.cal-mbar-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.cal-mbar-main b{font-size:26px;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--fg-primary)}
.cal-mbar-main em{display:flex;gap:10px;font-style:normal;font-size:11.5px;font-weight:500;letter-spacing:-.01em;color:var(--fg-muted)}
.cal-mnav{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-default);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.cal-mnav:hover{border-color:var(--border-strong);background:var(--bg-surface)}
.cal-mnav:disabled{opacity:.28;cursor:default}
.cal-log-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:4px 20px 24px;display:flex;flex-direction:column;gap:16px}
.cal-log-body::-webkit-scrollbar{display:none}
.cal-log-day{display:flex;flex-direction:column;gap:8px}
.cal-log-caret{flex:none;display:flex;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.cal-log-card-open{border-bottom-left-radius:0;border-bottom-right-radius:0}
.cal-log-card-open .cal-log-caret{transform:rotate(180deg)}
.cal-log-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.2,.8,.2,1)}
.cal-log-more-open{grid-template-rows:1fr}
.cal-log-more-in{overflow:hidden}
.cal-log-more-open .cal-log-more-in{padding:2px 16px 15px;border-radius:0 0 16px 16px;background:var(--bg-surface)}
.cal-log-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;padding:0 0 12px;margin-bottom:11px;border-bottom:1px solid var(--border-default)}
.cal-log-stats span{display:flex;align-items:baseline;gap:5px;padding:0 12px 0 0;margin-right:12px;border-right:1px solid var(--border-default);font-family:'DM Mono',monospace;font-size:12.5px;color:var(--fg-primary)}
.cal-log-stats span:last-child{border-right:none;margin-right:0;padding-right:0}
.cal-log-stats em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;color:var(--fg-muted)}
.cal-log-item{display:flex;align-items:flex-start;gap:9px;padding:6px 0}
.cal-log-item-dot{flex:none;margin-top:7px;width:5px;height:5px;border-radius:50%;background:var(--color-primary)}
.cal-log-item-name{flex:1;min-width:0;font-size:13px;font-weight:500;line-height:1.35;color:var(--fg-secondary);text-wrap:pretty}
.cal-log-item-n{flex:none;font-size:11px;color:var(--fg-muted)}
.cal-log-item-pts{flex:none;min-width:38px;text-align:right;font-family:'DM Mono',monospace;font-size:12.5px;color:var(--color-primary)}
.cal-log-trivia{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:11.5px;font-weight:500;color:var(--fg-muted)}
.cal-log-label{margin:0;display:flex;align-items:center;gap:9px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.cal-log-label::after{content:'';flex:1;height:1px;background:var(--border-default)}
.cal-log-card{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 16px;border-radius:16px;border:none;background:var(--bg-surface);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .18s ease}
.cal-log-card:active{opacity:.7}
.cal-log-face{flex:none;width:26px;text-align:center;font-size:17px;line-height:1;color:var(--fg-muted)}
.cal-log-dot{flex:none;width:26px;display:flex;justify-content:center}
.cal-log-dot::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--lime-500)}
.cal-log-dot-t3::after{background:var(--lime-500)}
.cal-log-dot-t2::after{background:rgba(226,255,23,.62)}
.cal-log-dot-t1::after{background:rgba(226,255,23,.34)}
.cal-log-dot-t0::after{background:none;box-shadow:inset 0 0 0 1.5px var(--border-strong)}
.cal-log-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cal-log-head{font-size:15px;font-weight:700;letter-spacing:-.025em;color:var(--fg-primary)}

.cal-log-sub{font-size:12px;font-weight:500;line-height:1.3;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-log-big{flex:none;font-family:'DM Mono',monospace;font-size:18px;letter-spacing:-.03em;color:var(--color-primary);font-variant-numeric:tabular-nums}
/* brag card — full-screen collectible, Panini-style prizm frame */
.bg-screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:radial-gradient(90% 55% at 78% 88%,rgba(255,90,46,.4) 0%,transparent 70%),radial-gradient(80% 50% at 12% 18%,rgba(226,255,23,.22) 0%,transparent 68%),radial-gradient(130% 90% at 50% 4%,#3E3488 0%,#1A1640 46%,#0D0B1A 100%);overflow:hidden;animation:bcFade .3s ease both}
@keyframes bcFade{from{opacity:0}to{opacity:1}}
.bg-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px 4px;animation:bcFade .5s .1s ease both}
.bg-back{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;cursor:pointer}
.bg-title{margin:0;font-size:14px;font-weight:700;letter-spacing:-.02em;color:#fff}
.bg-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:6px 18px 14px;perspective:1000px;touch-action:none;cursor:grab;animation:bcDeal .8s cubic-bezier(.18,.78,.24,1) backwards}
.bg-stage:active{cursor:grabbing}
.bg-hint{flex:none;display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:0 0 12px;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:-.01em;color:rgba(255,255,255,.62);animation:bcFade .6s .5s ease both}
.bg-hint i{font-style:normal;display:inline-block;animation:bgTiltHint 2.4s ease-in-out infinite}
@keyframes bgTiltHint{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
.bg-bar{flex:none;display:flex;flex-direction:column;gap:12px;padding:14px 16px 20px;animation:bgBarUp .6s .34s cubic-bezier(.2,.85,.25,1) both;background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.1)}
.bg-icons{display:flex;align-items:center;gap:9px}
.bg-icon{flex:none;border:none;background:none;padding:0;cursor:pointer}
.bg-icon-dot{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;transition:transform .18s cubic-bezier(.2,1.4,.4,1)}
.bg-icon:active .bg-icon-dot{transform:scale(.9) rotate(-6deg)}
.bg-share{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;border:none;background:var(--lime-500);color:#14170A;font-size:15px;font-weight:700;letter-spacing:-.02em;cursor:pointer;box-shadow:0 8px 22px rgba(226,255,23,.24)}
.bg-share:active{transform:scale(.985)}
.bg-toast{position:absolute;left:50%;bottom:132px;transform:translateX(-50%);margin:0;padding:10px 16px;border-radius:999px;background:#fff;color:#14170A;font-size:12px;font-weight:600;white-space:nowrap;animation:bcFade .2s ease both}
/* the card — grade-tinted prizm, dense micro-typography */
.bc-card{position:relative;width:100%;max-width:288px;padding:7px;border-radius:14px;background:linear-gradient(150deg,#3A3470,var(--gr) 24%,#191634 52%,var(--gr) 82%,#3A3470);box-shadow:0 24px 54px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.24),0 0 38px -6px var(--gr);transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.25,1);--gr:#9C8FFF}
.bc-lv-starter{--gr:#9C8FFF}
.bc-lv-regular{--gr:#E2FF17}
.bc-lv-allstar{--gr:#FF8A5B}
.bc-lv-starter .bc-prizm{opacity:.3}
.bc-lv-allstar .bc-prizm{opacity:.85}
.bc-lv-allstar .bc-rays{opacity:.8}
.bc-lv-starter .bc-rays{opacity:.28}
.bc-lv-allstar{animation:bcAllstar 4.5s ease-in-out infinite .8s}
@keyframes bcAllstar{0%,100%{box-shadow:0 24px 54px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.24),0 0 38px -6px var(--gr)}50%{box-shadow:0 24px 54px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.4),0 0 62px 2px var(--gr)}}
.bc-prizm{position:absolute;inset:0;border-radius:14px;background:conic-gradient(from 200deg,rgba(255,255,255,.8),rgba(226,255,23,.28),rgba(255,90,46,.4),rgba(91,79,224,.42),rgba(255,255,255,.8));background-size:240% 240%;mix-blend-mode:overlay;opacity:.6;pointer-events:none;transition:background-position .18s linear}
.bc-shine{position:absolute;top:-40%;left:-40%;width:45%;height:180%;border-radius:14px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(16deg);pointer-events:none;animation:bcShine 5s ease-in-out infinite}
@keyframes bcShine{0%,70%{transform:translateX(-40%) rotate(16deg)}100%{transform:translateX(430%) rotate(16deg)}}
@keyframes bgBarUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes bcDeal{0%{opacity:0;transform:translateY(46px) rotateX(28deg) rotateZ(-7deg) scale(.86)}60%{opacity:1}100%{opacity:1;transform:none}}
.bc-seal{position:absolute;right:9px;bottom:9px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:conic-gradient(from 0deg,#FF5A2E,#FFD23F 26%,#FF5A2E 52%,#FFB000 78%,#FF5A2E);color:#3A1206;font-size:12px;font-weight:700;line-height:1;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.7);rotate:-8deg}
.bc-seal b{font-size:6.5px;font-weight:700;letter-spacing:.16em}
.bc-seal span{font-size:13px;font-weight:700;letter-spacing:-.03em}
.bc-inner{position:relative;display:flex;flex-direction:column;padding:10px 10px 9px 19px;border-radius:9px;background:linear-gradient(170deg,#221D45,#12102A);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.bc-rail{position:absolute;left:5px;top:0;bottom:0;width:12px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-size:6.5px;font-weight:700;letter-spacing:.36em;color:rgba(255,255,255,.55);white-space:nowrap;overflow:hidden}
.bc-brandbar{display:flex;align-items:flex-start;gap:8px;padding:0 1px 8px}
.bc-brand{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:700;letter-spacing:.3em;color:#fff}
.bc-brand i{font-style:normal;font-size:9px;color:var(--gr)}
.bc-topright{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.bc-pos{font-family:'DM Mono',monospace;font-size:7.5px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);white-space:nowrap}
.bc-lvl{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:4px 8px;border-radius:4px;background:linear-gradient(110deg,var(--gr),color-mix(in srgb,var(--gr) 50%,#FF5A2E));color:#14122A;font-size:11px;font-weight:700;line-height:1;letter-spacing:.04em}
.bc-lvl em{font-style:normal;font-size:6.5px;font-weight:700;letter-spacing:.13em;opacity:.72}
.bc-window{position:relative;aspect-ratio:1/1;overflow:hidden;background:radial-gradient(70% 70% at 50% 22%,#4C40A8,#12102A);clip-path:polygon(0 14px,14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22)}
.bc-window>img:not(.bc-club){width:100%;height:100%;object-fit:cover;object-position:top center}
.bc-rays{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 40%,rgba(255,255,255,.18) 0deg 2.6deg,transparent 2.6deg 10deg);opacity:.5;pointer-events:none}
.bc-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.5) .8px,transparent .9px);background-size:6px 6px;opacity:.22;pointer-events:none}
.bc-tick{position:absolute;width:11px;height:11px;border:1.5px solid var(--gr);pointer-events:none}
.bc-tick-a{top:6px;left:6px;border-right:none;border-bottom:none}
.bc-tick-b{bottom:6px;right:6px;border-left:none;border-top:none}
.bc-portrait-fb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:52px;font-weight:700;letter-spacing:-.04em;color:rgba(255,255,255,.85)}
.bc-big{position:absolute;left:8px;bottom:7px;display:flex;align-items:baseline;gap:4px;font-family:'DM Mono',monospace;font-size:33px;line-height:1;letter-spacing:-.05em;color:#fff;text-shadow:0 3px 16px rgba(0,0,0,.8)}
.bc-big em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--gr)}
.bc-club{flex:none;width:20px;height:20px;border-radius:50%;object-fit:cover;background:#fff}
.bc-club-fb{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700}
.bc-plate{position:relative;margin-top:9px;padding:9px 10px;border-radius:6px;background:linear-gradient(102deg,var(--gr) 0%,color-mix(in srgb,var(--gr) 60%,#FF5A2E) 62%,#FF5A2E 100%);text-align:center;clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 9px))}
.bc-name{margin:0;font-size:19px;font-weight:700;line-height:1;letter-spacing:-.04em;color:#14122A;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.bc-role{margin:4px 0 0;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(20,18,42,.72)}
.bc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}
.bc-stat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 2px;border-radius:5px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.bc-stat b{font-family:'DM Mono',monospace;font-size:14px;font-weight:400;color:#fff}
.bc-stat em{font-style:normal;font-size:6.5px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.72)}
.bc-foot{display:flex;align-items:center;gap:8px;margin-top:8px}
.bc-bars{flex:1;display:flex;align-items:flex-end;gap:1.5px;height:11px}
.bc-bars i{flex:1;height:100%;background:rgba(255,255,255,.85)}
.bc-verified{font-size:7px;font-weight:700;letter-spacing:.18em;color:var(--gr);white-space:nowrap}
/* profile entry */
.pf-hero-share{position:absolute;top:14px;right:14px;z-index:4;height:38px;padding:0 14px;justify-content:center;white-space:nowrap;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.pf-hero-share{display:flex;align-items:center;gap:6px;border-radius:999px;border:none;overflow:hidden;background:var(--lime-500);color:#14170A;font-size:11.5px;font-weight:700;letter-spacing:-.01em;cursor:pointer;box-shadow:0 4px 14px rgba(226,255,23,.3)}
.pf-hero-share:active{transform:scale(.94)}
.pf-hero-share-glow{position:absolute;top:-50%;left:-70%;width:55%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:rotate(18deg);animation:bcShine 3.2s ease-in-out infinite}
.pf-brag{display:flex;align-items:center;gap:11px;width:100%;margin:0 0 14px;padding:13px 15px;border-radius:14px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);text-align:left;cursor:pointer}
.pf-brag:active{opacity:.75}
.pf-brag-mini{position:relative;flex:none;width:26px;height:34px;border-radius:5px;overflow:hidden;background:linear-gradient(160deg,var(--violet-500),var(--lime-500) 150%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.pf-brag-mini::after{content:'';position:absolute;top:-50%;left:-60%;width:60%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:rotate(18deg);animation:bcShine 3.6s ease-in-out infinite}
.pf-brag-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pf-brag-txt b{font-size:14px;font-weight:600;letter-spacing:-.02em}
.pf-brag-txt span{font-size:11.5px;font-weight:500;color:var(--fg-muted)}
/* shift wrap — celebrate, receipt, feedback */
.wr-screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(178deg,#1B1630,#0E0C16 74%)}
.wr-stage{flex:1;min-height:0;display:flex;flex-direction:column;padding:26px 22px 22px;overflow-y:auto;scrollbar-width:none;animation:wrIn .45s cubic-bezier(.19,.72,.18,1) both}
.wr-stage::-webkit-scrollbar{display:none}
@keyframes wrIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.wr-stage-1{animation:wrDrop .6s cubic-bezier(.2,.9,.22,1) both}
@keyframes wrDrop{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
/* celebrate */
.wr-cel{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.wr-cel-flash{position:absolute;inset:-40px;background:radial-gradient(60% 45% at 50% 45%,#FF5A2E,transparent 70%);opacity:0;animation:wrFlash .7s ease-out both;pointer-events:none}
@keyframes wrFlash{0%{opacity:.85;transform:scale(.6)}100%{opacity:0;transform:scale(1.25)}}
.wr-cel-ring{position:absolute;left:50%;top:44%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(255,90,46,.55);opacity:0;animation:wrRing 1.4s cubic-bezier(.2,.7,.3,1) both;pointer-events:none}
.wr-cel-ring2{animation-delay:.18s;border-color:rgba(255,111,165,.45)}
.wr-cel-ring3{animation-delay:.36s;border-color:rgba(123,224,200,.4)}
@keyframes wrRing{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(3.4)}}
.wr-confetti{position:absolute;inset:-10% -10% 0;overflow:hidden;pointer-events:none}
.wr-confetti>span{position:absolute;top:-8%;opacity:0;animation:wrFall var(--d) var(--dl) cubic-bezier(.25,.5,.6,1) forwards}
@keyframes wrFall{0%{opacity:0;transform:translate(0,-30px) rotate(0)}8%{opacity:1}100%{opacity:0;transform:translate(var(--sx),720px) rotate(var(--r))}}
.wr-cel-core{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.wr-cel-kicker{margin:0;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#FF5A2E;animation:wrKick .5s .1s cubic-bezier(.16,1.3,.4,1) both}
@keyframes wrKick{from{opacity:0;letter-spacing:.5em}to{opacity:1;letter-spacing:.28em}}
.wr-cel-num{margin:10px 0 0;font-size:84px;font-weight:700;line-height:.9;letter-spacing:-.055em;color:#F3F0E8;font-variant-numeric:tabular-nums;text-shadow:0 8px 40px rgba(255,90,46,.28);animation:wrNumPop .7s cubic-bezier(.16,1.5,.35,1) both}
@keyframes wrNumPop{0%{opacity:0;transform:scale(.55)}60%{opacity:1;transform:scale(1.06)}100%{transform:scale(1)}}
.wr-cel-unit{margin:12px 0 0;font-size:13.5px;font-weight:500;color:rgba(243,240,232,.5)}
.wr-cel-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:26px 0 0}
.wr-cel-chips>.wr-chip{padding:8px 13px;border-radius:999px;background:rgba(243,240,232,.06);box-shadow:inset 0 0 0 1px rgba(243,240,232,.1);font-size:12px;font-weight:500;color:rgba(243,240,232,.75);animation:wrChip .5s cubic-bezier(.16,1.3,.4,1) both;animation-delay:calc(1.1s + var(--i) * .13s)}
@keyframes wrChip{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
.wr-cel-ring4{animation-delay:.54s;border-color:rgba(255,90,46,.4)}
.wr-streamers{position:absolute;inset:-12% -12% 0;overflow:hidden;pointer-events:none}
.wr-streamers>i{position:absolute;top:-12%;opacity:0;transform-origin:50% 0;animation:wrStream var(--d) var(--dl) linear forwards}
@keyframes wrStream{0%{opacity:0;transform:translate(0,-40px) rotate(var(--tilt)) scaleY(.6)}9%{opacity:.95}55%{transform:translate(calc(var(--sx) * .6),380px) rotate(calc(var(--tilt) * -1)) scaleY(1.15)}100%{opacity:0;transform:translate(var(--sx),780px) rotate(var(--tilt)) scaleY(.75)}}
.wr-cel-ring5{animation-delay:.72s;border-color:rgba(226,255,23,.42)}
.wr-cel-ring6{animation-delay:.9s;border-color:rgba(255,90,46,.32)}
.wr-cannons{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.wr-shot{position:absolute;bottom:6%;opacity:0;animation:wrShot var(--d) var(--dl) cubic-bezier(.15,.75,.4,1) forwards}
@keyframes wrShot{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.7)}6%{opacity:1}55%{transform:translate(calc(var(--bx) * .8),var(--by)) rotate(var(--r)) scale(1)}100%{opacity:0;transform:translate(var(--bx),40px) rotate(var(--r)) scale(.9)}}
/* juicy battery */
.jb{--nrg:#C6FF3D;--nrg-hi:#EDFF9E;--nrg-lo:#7FD41A;display:flex;flex-direction:column;align-items:center;gap:5px}
[data-theme="light"] .jb{--nrg:#FF5A2E;--nrg-hi:#FFC2A5;--nrg-lo:#D8400F}
.jb-cap{width:26px;height:7px;border-radius:3px 3px 0 0;background:rgba(243,240,232,.3)}
.jb-body{position:relative;width:62px;height:104px;border-radius:16px 16px 18px 18px/24px 24px 22px 22px;overflow:hidden;background:rgba(9,8,14,.6);box-shadow:inset 0 0 0 2px rgba(243,240,232,.2),0 14px 34px -8px var(--nrg)}
.jb-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--nrg-hi),var(--nrg) 52%,var(--nrg-lo));transition:height .8s cubic-bezier(.3,.85,.3,1);animation:jbRise 1.1s cubic-bezier(.2,.9,.25,1) both}
@keyframes jbRise{from{transform:translateY(100%)}to{transform:none}}
.jb-wave{position:absolute;left:-30%;right:-30%;top:-9px;height:18px;border-radius:50%;background:var(--nrg-hi);animation:jbWave 2.4s ease-in-out infinite}
.jb-wave2{animation-duration:3.1s;animation-direction:reverse;background:color-mix(in srgb,var(--nrg-hi) 60%,#fff);opacity:.7}
@keyframes jbWave{0%,100%{transform:translateX(-6%) rotate(-2deg)}50%{transform:translateX(6%) rotate(2deg)}}
.jb-bubbles>i{position:absolute;left:var(--bx);bottom:-6px;width:var(--bs);height:var(--bs);border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,color-mix(in srgb,var(--nrg-hi) 60%,transparent));box-shadow:0 0 7px -1px var(--nrg);animation:jbBub var(--bd) var(--bdl) linear infinite}
@keyframes jbBub{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}100%{opacity:0;transform:translateY(-90px)}}
.jb-gloss{position:absolute;left:11px;top:13px;width:11px;bottom:16px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0) 55%);pointer-events:none}
.jb-bolt{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:center;font-size:24px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));animation:jbBolt 2.2s ease-in-out infinite}
@keyframes jbBolt{0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-54%) scale(1.09)}}
.wr-cel-core .jb{margin-bottom:22px;animation:wrNumPop .8s cubic-bezier(.16,1.45,.35,1) both}
/* ticket extras */
.wr-tk-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}
.wr-tk-hero-txt{flex:1;min-width:0}
.wr-tk-hero .jb{transform:scale(.82);transform-origin:center right}
.wr-tk-lines{display:flex;justify-content:space-between;gap:10px;padding-top:14px}
.wr-tk-lines>span{display:flex;flex-direction:column;gap:3px}
.wr-tk-lines>span>b{font-family:'DM Mono',monospace;font-size:13px;font-weight:400;color:#F3F0E8;white-space:nowrap}
.wr-tk-lines>span>em{font-style:normal;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,240,232,.38)}
.wr-receipt .wr-ticket{margin-bottom:18px}
/* share preview */
.wr-preview{position:relative;margin:16px 0 6px;padding:14px;border-radius:24px;background:rgba(243,240,232,.04);box-shadow:inset 0 0 0 1px rgba(243,240,232,.08);overflow:hidden}
.wr-preview-scale{transform:scale(.86);transform-origin:top center;margin-bottom:-14%}
.wr-preview .wr-ticket{margin:0;animation:none}
.wr-timer{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:none;background:none;padding:0;cursor:pointer}
.wr-timer.is-paused .wr-timer-p{animation-play-state:paused}
/* receipt */
.wr-receipt{flex:1;display:flex;flex-direction:column}
.wr-ledger-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.wr-h{margin:0;font-size:26px;font-weight:700;letter-spacing:-.04em;color:#F3F0E8}
.wr-sub{margin:7px 0 0;font-size:12.5px;font-weight:500;color:rgba(243,240,232,.42)}
.wr-ledger-actions{flex:none;display:flex;align-items:center;gap:10px}
.wr-timer>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.wr-timer>svg>circle{fill:none;stroke:rgba(243,240,232,.12);stroke-width:3}
.wr-timer>svg>.wr-timer-p{stroke:#FF5A2E;stroke-linecap:round;stroke-dasharray:119.4;animation:wrRun 10s linear forwards}
@keyframes wrRun{from{stroke-dashoffset:0}to{stroke-dashoffset:119.4}}
.wr-timer>em{font-style:normal;font-family:'DM Mono',monospace;font-size:11.5px;color:rgba(243,240,232,.6);font-variant-numeric:tabular-nums}
.wr-share-btn{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#FF5A2E;cursor:pointer;box-shadow:0 8px 22px -8px rgba(255,90,46,.9);transition:transform .14s}
.wr-share-btn:active{transform:scale(.92)}
.wr-ticket{position:relative;margin:18px 0 6px;padding:18px 18px 14px;border-radius:24px;background:linear-gradient(158deg,#332457,#1A1330 70%);box-shadow:inset 0 0 0 1.5px rgba(243,240,232,.12),0 22px 46px rgba(0,0,0,.5);animation:wrTicket .6s .12s cubic-bezier(.16,1.2,.4,1) both;overflow:hidden}
@keyframes wrTicket{from{opacity:0;transform:translateY(18px) rotate(-1.4deg)}to{opacity:1;transform:none}}
.wr-ticket::before{content:'';position:absolute;left:-18%;top:-46%;width:150%;height:120%;background:radial-gradient(36% 40% at 26% 44%,rgba(255,111,165,.42),transparent 70%),radial-gradient(34% 36% at 78% 24%,rgba(123,224,200,.34),transparent 70%),radial-gradient(30% 34% at 54% 74%,rgba(255,90,46,.3),transparent 70%);filter:blur(26px);pointer-events:none}
.wr-ticket>*{position:relative;z-index:1}
.wr-notch{position:absolute;width:22px;height:22px;border-radius:50%;background:#12101C;bottom:64px;z-index:2}
.wr-notch-l{left:-11px}
.wr-notch-r{right:-11px}
.wr-tk-head{display:flex;align-items:center;gap:9px}
.wr-card-av{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--violet-500);color:#fff;font-size:12px;font-weight:700}
.wr-card-av img{width:100%;height:100%;object-fit:cover}
.wr-card-who{flex:1;min-width:0;display:flex;flex-direction:column}
.wr-card-who b{font-size:13.5px;font-weight:700;letter-spacing:-.03em;color:#F3F0E8}
.wr-card-who em{font-style:normal;font-size:10.5px;font-weight:500;color:rgba(243,240,232,.5)}
.wr-card-mark{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(243,240,232,.4)}
.wr-card-num{margin:16px 0 0;font-size:62px;font-weight:700;line-height:.86;letter-spacing:-.055em;color:#F3F0E8;font-variant-numeric:tabular-nums}
.wr-card-unit{margin:7px 0 0;font-family:'DM Mono',monospace;font-size:11.5px;color:rgba(243,240,232,.5)}
.wr-card-stats{display:flex;gap:8px;margin:12px 0 0}
.wr-card-stats>span{flex:1;display:flex;flex-direction:column;gap:1px;padding:9px 10px;border-radius:14px;background:rgba(243,240,232,.07);font-size:9.5px;font-weight:500;color:rgba(243,240,232,.5)}
.wr-card-stats>span>b{font-family:'DM Mono',monospace;font-size:17px;font-weight:400;color:#F3F0E8}
.wr-tk-sticker{display:inline-block;margin:14px 0 0;padding:7px 12px;border-radius:999px;background:#FF5A2E;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:-.01em;transform:rotate(-2deg);box-shadow:0 8px 18px -10px rgba(255,90,46,.9)}
.wr-tk-perf{display:block;height:1px;margin:16px -18px 0;border-top:1px dashed rgba(243,240,232,.22)}
.wr-tk-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px}
.wr-tk-code{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;color:rgba(243,240,232,.42)}
.wr-barcode{display:flex;align-items:flex-end;gap:1.5px;height:22px}
.wr-barcode>i{height:100%;background:rgba(243,240,232,.6)}
.wr-btn{width:100%;padding:18px;border:none;border-radius:999px;background:#FF5A2E;color:#fff;font-size:15px;font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:opacity .3s,transform .12s}
.wr-btn:active{transform:scale(.985)}
.wr-btn:disabled{opacity:.3;pointer-events:none}
.wr-btn-sm{width:auto;padding:14px 26px;font-size:14px}
.wr-ghost{width:100%;padding:16px;border:none;border-radius:999px;background:rgba(243,240,232,.07);box-shadow:inset 0 0 0 1px rgba(243,240,232,.12);color:rgba(243,240,232,.8);font-size:14px;font-weight:600;letter-spacing:-.02em;cursor:pointer}
.wr-ghost:active{transform:scale(.985)}
.wr-ghost-wide{margin-top:auto}
/* sheets */
.wr-back{position:absolute;inset:0;z-index:60;display:flex;align-items:flex-end;background:rgba(8,7,14,.62);backdrop-filter:blur(6px);animation:wrFade .3s ease both}
@keyframes wrFade{from{opacity:0}to{opacity:1}}
.wr-sheet{width:100%;max-height:92%;overflow-y:auto;scrollbar-width:none;padding:12px 22px 22px;border-radius:30px 30px 0 0;background:#191527;box-shadow:0 -18px 50px rgba(0,0,0,.5),inset 0 1px 0 rgba(243,240,232,.1);animation:wrSheet .58s cubic-bezier(.16,1.16,.3,1) both}
.wr-sheet::-webkit-scrollbar{display:none}
@keyframes wrSheet{from{transform:translateY(102%)}to{transform:none}}
.wr-sheet-grab{display:block;width:38px;height:4px;margin:0 auto 16px;border-radius:999px;background:rgba(243,240,232,.2)}
.wr-sheet-h{margin:0;font-size:22px;font-weight:700;letter-spacing:-.04em;color:#F3F0E8}
.wr-sheet-sub{margin:7px 0 0;font-size:12.5px;font-weight:500;line-height:1.45;color:rgba(243,240,232,.44)}
.wr-share-list{display:flex;flex-direction:column;gap:8px;margin:18px 0 14px}
.wr-share-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:none;border-radius:18px;background:rgba(243,240,232,.05);box-shadow:inset 0 0 0 1px rgba(243,240,232,.08);cursor:pointer}
.wr-share-row.is-on{box-shadow:inset 0 0 0 1.5px rgba(255,90,46,.7)}
.wr-share-ic{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;font-size:18px}
.wr-share-l{flex:1;text-align:left;font-size:14px;font-weight:600;letter-spacing:-.02em;color:#F3F0E8}
.wr-q{margin:22px 0 9px;font-size:13px;font-weight:600;letter-spacing:-.02em;color:rgba(243,240,232,.72)}
.wr-q em{font-style:normal;font-weight:500;color:rgba(243,240,232,.32)}
.wr-opts{display:flex;gap:8px}
.wr-opt{flex:1;padding:13px 6px;border:none;border-radius:16px;background:rgba(243,240,232,.05);box-shadow:inset 0 0 0 1px rgba(243,240,232,.09);color:rgba(243,240,232,.78);font-size:12.5px;font-weight:600;letter-spacing:-.02em;cursor:pointer;transition:.15s}
.wr-opt.is-on{background:rgba(255,90,46,.16);box-shadow:inset 0 0 0 1.5px #FF5A2E;color:#F3F0E8}
.wr-feels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wr-feel{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:none;border-radius:18px;background:rgba(243,240,232,.05);box-shadow:inset 0 0 0 1px rgba(243,240,232,.09);color:rgba(243,240,232,.55);font-size:10.5px;font-weight:600;letter-spacing:-.02em;cursor:pointer;transition:.15s}
.wr-feel>span{font-size:24px;line-height:1}
.wr-feel.is-on{background:rgba(156,143,255,.2);box-shadow:inset 0 0 0 1.5px #9C8FFF;color:#F3F0E8;transform:translateY(-2px)}
.wr-note{width:100%;margin-top:2px;padding:13px;border:none;border-radius:16px;background:rgba(243,240,232,.05);box-shadow:inset 0 0 0 1px rgba(243,240,232,.09);color:#F3F0E8;font-family:inherit;font-size:13.5px;font-weight:500;resize:none;outline:none;box-sizing:border-box}
.wr-note::placeholder{color:rgba(243,240,232,.26)}
.wr-fb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px}
.wr-skip{padding:14px 8px;border:none;background:none;color:rgba(243,240,232,.42);font-size:13.5px;font-weight:600;cursor:pointer}
.wr-thanks{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:22px 0 30px}
.wr-thanks-e{font-size:48px;margin-bottom:10px;animation:wrPop .5s cubic-bezier(.16,1.4,.4,1) both}
@keyframes wrPop{from{transform:scale(.5);opacity:0}to{transform:none;opacity:1}}
.balance-pill.is-hot{position:relative;box-shadow:0 0 0 2px rgba(255,90,46,.6),0 0 22px -4px #FF5A2E;animation:wrPulse .5s ease-in-out 3}
@keyframes wrPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.balance-bump{position:absolute;left:50%;top:-6px;transform:translateX(-50%);padding:2px 8px;border-radius:999px;background:#FF5A2E;color:#fff;font-size:10.5px;font-weight:800;white-space:nowrap;animation:wrBump 1.6s ease-out forwards}
@keyframes wrBump{0%{opacity:0;transform:translate(-50%,4px)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-22px)}}
/* locked in — the live shift screen */
@keyframes lkAurora{from{transform:translate(0,0)}to{transform:translate(22px,26px)}}
.lk-screen>*{position:relative;z-index:1}
.lk-screen{position:relative;flex:1;min-height:0;margin-top:-62px;display:flex;flex-direction:column;gap:26px;padding:70px 22px 18px;background:#0F0D18;overflow:hidden}
.lk-wash{position:absolute;left:-14%;right:-14%;top:0;height:190%;border-radius:0 0 52% 48%/0 0 24% 26%;background:linear-gradient(180deg,var(--violet-500),var(--violet-700));z-index:9;pointer-events:none;animation:lkWash .52s .04s cubic-bezier(.6,0,.16,1) forwards}
@keyframes lkWash{from{transform:translateY(0)}to{transform:translateY(-100%)}}
.lk-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px;animation:lkIn .6s .25s cubic-bezier(.19,.72,.18,1) both}
.lk-live{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;letter-spacing:0;color:rgba(243,240,232,.5)}
.lk-live i{width:6px;height:6px;border-radius:50%;background:#FF5A2E;animation:shPulse 1.8s ease-in-out infinite}
.lk-tools-right{display:flex;gap:8px}
.lk-tool{width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}
.lk-tool:active{transform:scale(.9)}
.lk-tool-orbit{position:relative;overflow:visible}
.lk-tool-badge{position:absolute;right:-3px;bottom:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#FF5A2E;color:#fff;font-family:'DM Mono',monospace;font-size:10px;line-height:19px;text-align:center;box-shadow:0 0 0 2px #17142B}
@keyframes lkIn{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
.lk-hype{flex:none;padding:2px 2px 0;animation:lkIn .7s .3s cubic-bezier(.19,.72,.18,1) both}
.lk-hype-line{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;font-size:29px;font-weight:700;letter-spacing:-.04em;line-height:1.05;color:#F3F0E8}
.lk-hype-line b{font-weight:700;color:#FF5A2E}
.lk-hype-line>span{display:none}
@keyframes lkBounce{0%,72%,100%{transform:translateY(0) rotate(0)}80%{transform:translateY(-7px) rotate(-9deg)}90%{transform:translateY(-2px) rotate(5deg)}}
.lk-hype-sub{margin:9px 0 0;font-size:12.5px;font-weight:500;letter-spacing:0;color:rgba(243,240,232,.42)}
.lk-core{position:relative;flex:1 1 auto;min-height:230px;display:flex;align-items:stretch;justify-content:center;gap:26px;padding:6px 2px 2px}
.lk-screen{--nrg:#C6FF3D;--nrg-hi:#EDFF9E;--nrg-lo:#7FD41A;--nrg-ink:#0E1408}
[data-theme="light"] .lk-screen{--nrg:#FF5A2E;--nrg-hi:#FFC2A5;--nrg-lo:#D8400F;--nrg-ink:#fff}
.lk-nrg{position:relative;display:flex;flex-direction:column;align-items:center;width:132px;min-height:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* lid: brushed aluminium ellipse with a pull tab */
.lk-lid{position:relative;z-index:3;flex:none;width:84px;height:19px;margin-bottom:-7px;border-radius:50%;background:linear-gradient(96deg,#5B5F6B 0%,#C9CDD6 28%,#8F949F 52%,#E4E7ED 72%,#6A6E79 100%);box-shadow:inset 0 -2px 3px rgba(0,0,0,.45),inset 0 2px 2px rgba(255,255,255,.5)}
.lk-lid-tab{position:absolute;left:50%;top:50%;width:26px;height:9px;transform:translate(-50%,-50%);border-radius:999px;background:linear-gradient(180deg,#EDEFF3,#9AA0AB);box-shadow:inset 0 0 0 1.5px rgba(60,64,74,.55)}
.lk-lid-tab::after{content:'';position:absolute;left:5px;top:2.5px;width:8px;height:4px;border-radius:999px;background:#4A4E58}
/* body: chamfered can silhouette, aluminium shell, lime fill rising inside */
.lk-nrg-body{position:relative;z-index:1;flex:1 1 auto;min-height:206px;width:132px;overflow:hidden;background:linear-gradient(180deg,#494E59 0%,#2E323B 16%,#3C4149 78%,#20242B 100%);clip-path:polygon(26% 0,74% 0,90% 3.5%,100% 11%,100% 89%,90% 96.5%,74% 100%,26% 100%,10% 96.5%,0 89%,0 11%,10% 3.5%)}
.lk-nrg-liquid{position:absolute;left:0;right:0;bottom:0;z-index:1;background:linear-gradient(180deg,var(--nrg-hi),var(--nrg) 34%,var(--nrg-lo));transition:height .5s cubic-bezier(.3,.8,.3,1)}
.lk-nrg-surf{position:absolute;left:-24%;right:-24%;top:-7px;height:14px;border-radius:50%;background:color-mix(in srgb,var(--nrg-hi) 85%,#fff);opacity:.9;animation:lkWave 3.4s ease-in-out infinite}
.lk-nrg-surf2{animation-duration:2.2s;animation-direction:reverse;opacity:.4}
@keyframes lkWave{0%,100%{transform:translateX(-6%) scaleY(.8)}50%{transform:translateX(6%) scaleY(1.25)}}
.lk-nrg-fizz{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.lk-nrg-fizz i{position:absolute;left:var(--x);bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:rgba(255,255,255,.7);opacity:0;animation:lkBubble var(--t) linear var(--d) infinite}
@keyframes lkBubble{0%{opacity:0;transform:translate(0,0) scale(.55)}14%{opacity:.7}70%{transform:translate(4px,-130px) scale(1)}100%{opacity:0;transform:translate(-3px,-190px) scale(.6)}}
/* wrap label — the printed band across the belly */
.lk-wrap{position:absolute;left:0;right:0;top:31%;z-index:4;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 0 10px;background:#0E1408;border-top:1.5px solid rgba(255,255,255,.14);border-bottom:1.5px solid rgba(0,0,0,.5);pointer-events:none}
.lk-wrap b{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--nrg)}
.lk-wrap em{display:flex;align-items:center;gap:3px;margin-top:1px;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.55)}
/* cylinder shading + ribbed base */
.lk-cyl{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.12) 16%,rgba(255,255,255,.22) 38%,rgba(255,255,255,.05) 52%,rgba(0,0,0,.18) 74%,rgba(0,0,0,.55) 100%)}
.lk-ribs{position:absolute;left:0;right:0;bottom:0;height:16px;z-index:6;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 1px,transparent 1px 4px),linear-gradient(180deg,transparent,rgba(0,0,0,.55))}
.lk-can-shadow{position:absolute;left:50%;bottom:-10px;width:104px;height:16px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(50% 50%,rgba(0,0,0,.55),transparent 70%);pointer-events:none}
.lk-nrg:active .lk-nrg-body{transform:scale(.985)}
.lk-core.is-closing .lk-wrap b{animation:lkFlick 1s ease-in-out infinite}
.lk-rider{position:absolute;left:calc(100% - 6px);transform:translate(0,50%);z-index:7;width:34px;height:34px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--violet-500);color:#fff;font-size:13px;font-weight:700;box-shadow:0 0 0 3px rgba(8,7,18,.9),0 4px 14px rgba(0,0,0,.5);transition:bottom 1s linear;z-index:2}
.lk-rider img{width:100%;height:100%;object-fit:cover}
.lk-core-side{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding-bottom:8px}
.lk-core-read{margin:0;font-size:50px;font-weight:700;line-height:.9;letter-spacing:-.05em;color:#F3F0E8}
.lk-core-read em{font-style:normal;font-size:18px;font-weight:700;color:rgba(243,240,232,.3)}
.lk-core-tag{align-self:flex-start;margin:9px 0 0;padding:0;background:none;font-size:11.5px;font-weight:500;letter-spacing:0;color:rgba(243,240,232,.4)}
@keyframes lkFlick{0%,100%{opacity:1}50%{opacity:.45}}
.lk-next{display:flex;flex-direction:column;gap:5px;margin-top:0;padding-top:0;border-top:none}
.lk-next-foot{margin-top:7px;font-size:11.5px;font-weight:500;color:rgba(243,240,232,.42)}
.lk-next-foot b{font-weight:700;color:var(--nrg)}
[data-theme="light"] .lk-screen .lk-next-foot{color:rgba(25,18,51,.6)}
[data-theme="light"] .lk-screen .lk-next-foot b{color:var(--nrg-lo)}
.lk-next-lbl{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,240,232,.38)}
.lk-next-time{font-family:'DM Mono',monospace;font-size:46px;line-height:1.02;letter-spacing:-.04em;color:#F3F0E8;font-variant-numeric:tabular-nums;animation:lkTick .9s ease-out}
@keyframes lkTick{0%{opacity:.6}22%{opacity:1}}
.lk-next-bar{position:relative;height:2px;border-radius:2px;margin-top:4px;background:rgba(243,240,232,.1);overflow:hidden}
.lk-next-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--nrg);transition:width 1s linear}
.lk-next.is-closing .lk-next-time{color:#FF5A2E}
.lk-next.is-closing .lk-next-lbl{color:rgba(255,90,46,.7)}
.lk-lifts{display:flex;align-items:baseline;gap:6px;margin-top:20px;padding:0}
.lk-lifts-n{font-family:'DM Mono',monospace;font-size:13px;color:rgba(243,240,232,.6)}
.lk-lifts-lbl{min-width:0;font-size:12px;font-weight:500;letter-spacing:0;color:rgba(243,240,232,.38);white-space:nowrap}
.lk-lifts-pts{font-family:'DM Mono',monospace;font-size:12px;color:rgba(243,240,232,.3)}
.lk-lifts-nag{margin:6px 0 0;font-size:10.5px;font-weight:600;letter-spacing:-.01em;color:rgba(255,255,255,.34)}
.lk-pop{position:absolute;left:14px;right:14px;top:124px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:16px;background:rgba(14,11,28,.94);backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 16px 34px rgba(0,0,0,.45);animation:lkPopIn .45s cubic-bezier(.16,1.2,.4,1) both,lkPopOut .4s 2.9s forwards;z-index:20}
.lk-pop b{font-size:13.5px;font-weight:700;letter-spacing:-.03em;color:#fff}
.lk-pop em{font-style:normal;font-family:'DM Mono',monospace;font-size:10.5px;color:rgba(255,255,255,.5)}
@keyframes lkPopIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes lkPopOut{to{opacity:0;transform:translateY(-10px)}}
.lk-fly{position:absolute;left:52px;top:30%;width:20px;height:40px;border-radius:5px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 60%,#fff),var(--c));box-shadow:0 0 18px -2px var(--c);animation:lkFly 1.05s .15s cubic-bezier(.55,-0.15,.5,1) both;z-index:5}
@keyframes lkFly{0%{opacity:0;transform:translate(0,-14px) scale(1.1)}14%{opacity:1}70%{transform:translate(calc(var(--dx) * .72),calc(var(--dy) * .74)) scale(.82)}92%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(.4)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.32)}}
.lk-tank-glass.is-catching{animation:lkCatch .5s 1.05s ease both}
@keyframes lkCatch{0%{box-shadow:inset 0 0 18px rgba(53,224,208,.13),inset 0 0 0 1px rgba(255,255,255,.06)}35%{box-shadow:inset 0 0 30px rgba(223,255,60,.4),inset 0 0 0 1px rgba(223,255,60,.5)}100%{box-shadow:inset 0 0 18px rgba(53,224,208,.13),inset 0 0 0 1px rgba(255,255,255,.06)}}
[data-theme="light"] .lk-screen{background:linear-gradient(178deg,#FFF7F2 0%,#F6ECE5 62%)}
[data-theme="light"] .lk-screen .lk-hype-line,[data-theme="light"] .lk-screen .lk-core-read,[data-theme="light"] .lk-screen .lk-next-time,[data-theme="light"] .lk-screen .lk-tank-count,[data-theme="light"] .lk-screen .lk-lifts-n{color:#191233}
[data-theme="light"] .lk-screen .lk-hype-sub,[data-theme="light"] .lk-screen .lk-live,[data-theme="light"] .lk-screen .lk-core-tag,[data-theme="light"] .lk-screen .lk-next-lbl,[data-theme="light"] .lk-screen .lk-tank-label,[data-theme="light"] .lk-screen .lk-tank-note,[data-theme="light"] .lk-screen .lk-intel-txt,[data-theme="light"] .lk-screen .lk-lifts-lbl,[data-theme="light"] .lk-screen .lk-core-read em{color:rgba(25,18,51,.66)}
[data-theme="light"] .lk-screen .lk-next{border-top-color:rgba(25,18,51,.14)}
[data-theme="light"] .lk-screen .lk-tank{border-top-color:rgba(25,18,51,.12)}
[data-theme="light"] .lk-screen .lk-next-bar{background:rgba(25,18,51,.12)}
[data-theme="light"] .lk-screen .lk-nrg-body{background:linear-gradient(150deg,rgba(25,18,51,.07),rgba(25,18,51,.02));box-shadow:inset 0 0 0 1.5px rgba(25,18,51,.14),0 18px 40px rgba(25,18,51,.16),0 0 30px -12px var(--nrg)}
[data-theme="light"] .lk-screen .lk-nrg-tab{background:linear-gradient(180deg,rgba(25,18,51,.32),rgba(25,18,51,.12))}
[data-theme="light"] .lk-screen .lk-nrg-label b{color:#191233;text-shadow:0 0 12px color-mix(in srgb,var(--nrg) 40%,transparent)}
[data-theme="light"] .lk-screen .lk-nrg-label em{color:rgba(25,18,51,.6)}
[data-theme="light"] .lk-screen .lk-nrg-bolt i,[data-theme="light"] .lk-screen .lk-nrg-bolt svg{color:var(--nrg-lo)!important;fill:var(--nrg-lo)!important}
[data-theme="light"] .lk-screen .lk-tank-count em,[data-theme="light"] .lk-screen .lk-lifts-pts{color:rgba(25,18,51,.5)}
[data-theme="light"] .lk-screen .lk-tool i,[data-theme="light"] .lk-screen .lk-tool svg{filter:none}
[data-theme="light"] .lk-screen::before{content:'';position:absolute;left:0;right:0;top:0;height:66px;z-index:8;pointer-events:none;background:linear-gradient(180deg,rgba(25,18,51,.88),rgba(25,18,51,0))}
.lk-tank{flex:none;display:flex;flex-direction:column;gap:12px;padding:0;background:none;box-shadow:none;border-top:1px solid rgba(243,240,232,.08);padding-top:18px}
.lk-tank-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lk-tank-label{margin:0;font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,240,232,.4)}
.lk-tank-count{margin:0;font-family:'DM Mono',monospace;font-size:19px;line-height:1;color:#F3F0E8}
.lk-tank-count em{font-style:normal;font-size:11px;color:rgba(243,240,232,.32)}
.lk-tank-glass{position:relative;display:flex;align-items:flex-end;gap:6px;padding:4px 0 2px;background:none;box-shadow:none}
.lk-can{position:relative;flex:1;height:36px;overflow:hidden;background:rgba(243,240,232,.09);clip-path:polygon(26% 0,74% 0,90% 4%,100% 12%,100% 88%,90% 96%,74% 100%,26% 100%,10% 96%,0 88%,0 12%,10% 4%)}
.lk-can i{position:absolute;left:0;right:0;bottom:0;height:var(--f);background:var(--nrg);transition:height .5s cubic-bezier(.3,.8,.3,1)}
.lk-can.is-full::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:rgba(255,255,255,.5)}
[data-theme="light"] .lk-screen .lk-can{background:rgba(25,18,51,.12)}
@keyframes lkCanIn{from{transform:translateY(7px) scale(.8);opacity:0}to{transform:none;opacity:1}}
.lk-tank-mark{position:absolute;top:4px;bottom:0;width:1px;background:rgba(255,79,163,.7);z-index:5}
.lk-tank-mark em{position:absolute;top:-8px;left:3px;font-style:normal;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#FF4FA3}
.lk-tank-note{margin:0;font-size:11.5px;font-weight:500;line-height:1.45;letter-spacing:0;color:rgba(243,240,232,.4);text-wrap:pretty}
.lk-tank-note b{color:var(--nrg);font-weight:700}
[data-theme="light"] .lk-tank-note b{color:var(--nrg-lo)}
.lk-intel{position:relative;flex:none;display:flex;align-items:baseline;gap:9px;margin:0;padding:0;border-radius:0;background:none;box-shadow:none;animation:lkIntelIn .45s ease both}
.lk-lifts{margin-top:18px;padding-top:14px;border-top:1px solid rgba(243,240,232,.09)}
@keyframes lkIntelIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

.lk-intel-bulb{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,210,63,.14);font-size:16px}
@keyframes lkBulb{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg) scale(1.06)}}
.lk-intel-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.lk-intel-tag{flex:none;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--nrg)}
[data-theme="light"] .lk-screen .lk-intel-tag{color:var(--nrg-lo)}
.lk-intel-txt{margin:0;font-size:12.5px;font-weight:500;line-height:1.5;letter-spacing:0;color:rgba(243,240,232,.5);text-wrap:pretty}

.lk-strip{flex:none;display:flex;align-items:center;gap:12px;width:100%;padding:2px;border:none;background:none;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:lkIn .7s .5s cubic-bezier(.19,.72,.18,1) both}
.lk-strip:active{opacity:.7}
.lk-crew-faces{display:flex}
.lk-face{position:relative;display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:-9px;border-radius:50%;overflow:hidden;background:var(--violet-500);color:#fff;font-size:10.5px;font-weight:700;box-shadow:0 0 0 2px #1B1830}
.lk-face img{width:100%;height:100%;object-fit:cover}
.lk-face-more{background:rgba(255,255,255,.12);font-family:'DM Mono',monospace;font-size:10px;font-weight:400;color:rgba(255,255,255,.8)}
.lk-strip-txt{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding-left:6px;text-align:left}
.lk-strip-txt b{font-size:12.5px;font-weight:700;letter-spacing:-.02em;color:rgba(255,255,255,.82)}
.lk-strip-txt em{display:flex;align-items:center;gap:5px;font-style:normal;font-size:10.5px;font-weight:600;color:rgba(255,255,255,.42)}
.lk-strip-txt em i{width:5px;height:5px;border-radius:50%;background:var(--lime-500);animation:shPulse 1.8s ease-in-out infinite}
.lk-foot{flex:none;display:flex;flex-direction:column;padding:4px 0 6px;animation:lkIn .7s .54s cubic-bezier(.19,.72,.18,1) both}
.lk-foot-cap{margin:0;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.lk-bank{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:72px;border-radius:999px;border:none;overflow:visible;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.14);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;transition:transform .22s cubic-bezier(.2,1.3,.4,1),box-shadow .25s}
.lk-bank::before{content:'';position:absolute;inset:0;border-radius:999px;box-shadow:0 0 0 0 rgba(255,90,46,.35);transition:box-shadow .2s}
.lk-bank.is-held{transform:scale(.975);box-shadow:inset 0 0 0 1.5px rgba(255,90,46,.45),0 0 calc(var(--p) * 46px) calc(var(--p) * -6px) rgba(255,90,46,.5)}
.lk-bank.is-done{transform:scale(1.035);animation:lkBankPop .5s cubic-bezier(.16,1.5,.4,1)}
@keyframes lkBankPop{0%{transform:scale(.96)}45%{transform:scale(1.055)}100%{transform:scale(1.035)}}
.lk-bank-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;overflow:hidden;background:linear-gradient(90deg,#E44A1F,#FF5A2E)}
.lk-bank-fill i{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);animation:lkBankSheen .9s linear infinite}
@keyframes lkBankSheen{from{transform:translateX(-60%)}to{transform:translateX(60%)}}
.lk-bank-txt{position:relative;z-index:1;font-size:16px;font-weight:800;letter-spacing:-.03em;color:#fff;transition:color .2s,transform .2s}
.lk-bank-hot .lk-bank-txt{color:#fff;transform:scale(1.04)}
.lk-bank-sparks{position:absolute;left:50%;top:50%;width:0;height:0;z-index:2}
.lk-bank-sparks i{position:absolute;left:0;top:0;width:7px;height:7px;margin:-3.5px;border-radius:999px;background:#FF5A2E;transform:rotate(var(--a)) translateX(0);animation:lkSpark .6s cubic-bezier(.2,.7,.3,1) both}
@keyframes lkSpark{0%{opacity:1;transform:rotate(var(--a)) translateX(10px) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(96px) scale(.3)}}
.lb{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(120% 80% at 50% 45%,rgba(75,63,196,.85),rgba(10,9,20,.94));backdrop-filter:blur(10px);animation:bcFade .25s ease both}
.lb-flash{position:absolute;inset:0;background:var(--lime-500);opacity:0}
.lb-pop .lb-flash{animation:lbFlash .5s ease-out both}
@keyframes lbFlash{0%{opacity:.85}100%{opacity:0}}
.lb-core{position:relative;display:flex;align-items:center;justify-content:center;width:150px;height:150px;margin-bottom:14px}
.lb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(226,255,23,.35);border-top-color:var(--lime-500);animation:lbSpin .7s linear infinite}
.lb-ring2{inset:16px;border-color:rgba(255,255,255,.12);border-bottom-color:var(--violet-300);animation-direction:reverse;animation-duration:1.1s}
@keyframes lbSpin{to{transform:rotate(360deg)}}
.lb-num{position:relative;font-family:'DM Mono',monospace;font-size:52px;color:#fff;opacity:.25;transform:scale(.7);filter:blur(6px);transition:none}
.lb-charge .lb-num{animation:lbCharge .95s cubic-bezier(.7,0,.9,.2) both}
@keyframes lbCharge{0%{opacity:.2;transform:scale(.65);filter:blur(8px)}70%{opacity:.5;transform:scale(.82);filter:blur(5px)}100%{opacity:.7;transform:scale(.9);filter:blur(3px)}}
.lb-pop .lb-num,.lb-rest .lb-num{opacity:1;filter:blur(0);animation:lbPop .6s cubic-bezier(.16,1.5,.4,1) both}
@keyframes lbPop{0%{transform:scale(.9)}55%{transform:scale(1.28)}100%{transform:scale(1)}}
.lb-pop .lb-ring,.lb-rest .lb-ring{animation:lbBlow .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes lbBlow{0%{transform:scale(1);opacity:1}100%{transform:scale(1.45);opacity:0}}
.lb-rays{position:absolute;inset:0}
.lb-rays i{position:absolute;left:50%;top:50%;width:3px;height:26px;margin:-13px 0 0 -1.5px;border-radius:999px;background:var(--lime-500);opacity:0;transform:rotate(var(--r)) translateY(-40px)}
.lb-pop .lb-rays i,.lb-rest .lb-rays i{animation:lbRay .65s cubic-bezier(.15,.85,.3,1) both}
@keyframes lbRay{0%{opacity:0;transform:rotate(var(--r)) translateY(-40px) scaleY(.3)}35%{opacity:1}100%{opacity:0;transform:rotate(var(--r)) translateY(-96px) scaleY(1)}}
.lb-t{margin:0;font-size:26px;font-weight:800;letter-spacing:-.04em;color:#fff;opacity:0}
.lb-p{margin:0;font-family:'DM Mono',monospace;font-size:13px;color:var(--lime-500);opacity:0}
.lb-pop .lb-t,.lb-rest .lb-t{animation:lkTip .45s .08s ease both}
.lb-pop .lb-p,.lb-rest .lb-p{animation:lkTip .45s .2s ease both}
.lb-rest{animation:lbOut .5s 2.6s ease forwards}
@keyframes lbOut{to{opacity:0}}
.lk-peek{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:26px;background:rgba(14,12,28,.72);backdrop-filter:blur(8px);animation:bcFade .22s ease both}
.lk-peek-card{width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 22px 20px;border-radius:26px;background:#221D3C;box-shadow:0 22px 50px rgba(0,0,0,.5);animation:bcUp .3s cubic-bezier(.19,.72,.18,1) both}
.lk-peek-title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.03em;color:#F6F4FF}
.lk-peek-sub{margin:0;font-size:12px;font-weight:500;color:rgba(255,255,255,.55)}
.lk-peek-ring{position:relative;width:196px;height:196px;margin:10px 0 6px}
.lk-peek-spin{position:absolute;inset:0;animation:lbSpinSlow 22s linear infinite}
@keyframes lbSpinSlow{to{transform:rotate(360deg)}}
.lk-peek-center{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;color:#14122A;font-size:16px;font-weight:800}
.lk-peek-center img{width:100%;height:100%;object-fit:cover}
.lk-peek-dot{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#fff;font-size:12.5px;font-weight:700;transform:rotate(var(--a)) translateX(76px) rotate(calc(-1 * var(--a)))}
.lk-peek-face{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;animation:lbSpinBack 22s linear infinite}
@keyframes lbSpinBack{to{transform:rotate(-360deg)}}
.lk-peek-dot img{width:100%;height:100%;object-fit:cover}
.lk-peek-back{width:100%;margin-top:4px;padding:14px;border-radius:16px;border:none;background:var(--lime-500);color:#14170A;font-size:14px;font-weight:800;letter-spacing:-.02em;cursor:pointer}
.lk-peek-back:active{transform:scale(.99)}
.lk-sheet-back{position:absolute;inset:0;z-index:20;display:flex;align-items:flex-end;background:rgba(10,9,14,.6);backdrop-filter:blur(6px);animation:bcFade .22s ease both}
.lk-sheet{width:100%;max-height:78%;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:4px;padding:12px 18px 22px;border-radius:22px 22px 0 0;background:var(--bg-surface);animation:bcUp .34s cubic-bezier(.2,.85,.25,1) both}
@keyframes bcUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.lk-sheet::-webkit-scrollbar{display:none}
.lk-sheet-grab{align-self:center;width:36px;height:4px;border-radius:999px;background:var(--border-default);margin-bottom:10px}
.lk-sheet-title{margin:0;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.lk-sheet-sub{margin:3px 0 8px;font-size:12px;font-weight:500;color:var(--fg-muted)}
.lk-list{display:flex;flex-direction:column}
.lk-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-default)}
.lk-item:last-child{border-bottom:none}
.lk-item-emoji{flex:none;font-size:17px;line-height:1}
.lk-item-name{flex:1;min-width:0;font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--fg-primary);text-wrap:pretty}
.lk-item-pts{flex:none;font-family:'DM Mono',monospace;font-size:13.5px;color:var(--color-primary)}
.lk-item-cap{flex:none;font-family:'DM Mono',monospace;font-size:12px;color:var(--fg-muted)}
.lk-item-bar{flex-basis:100%;height:5px;border-radius:999px;background:var(--bg-sunken);overflow:hidden}
.lk-item-bar i{display:block;height:100%;border-radius:999px;background:var(--color-primary)}
.lk-note{margin:12px 0 0;font-size:11.5px;font-weight:500;color:var(--fg-muted)}
/* (duplicate legacy .lk-* block removed — superseded by the block above) */
/* ---- onboarding v2: birthday, amount sheet, bonus survey ---- */
.onb-req{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--orange-500) 16%,transparent);color:var(--orange-500);margin-left:6px}
.onb-card-amt{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);padding:2px 8px;border-radius:999px;background:var(--bg-app);border:1px solid var(--border-default);color:var(--fg-primary);font-size:10.5px;font-weight:800}
.onb-card.is-on{padding-bottom:26px}
.onb-sum{margin:0;text-align:center;font-size:12.5px;font-weight:700;color:var(--fg-secondary)}
.onb-sheet-wrap{position:absolute;inset:0;z-index:60;display:flex;align-items:flex-end;background:rgba(8,7,12,.55);backdrop-filter:blur(3px);animation:onbFade .2s ease both}
@keyframes onbFade{from{opacity:0}to{opacity:1}}
.onb-sheet{width:100%;display:flex;flex-direction:column;gap:14px;padding:10px 18px 22px;border-radius:24px 24px 0 0;background:var(--bg-app);border-top:1px solid var(--border-default);animation:onbUp .3s cubic-bezier(.2,1.1,.4,1) both}
@keyframes onbUp{from{transform:translateY(100%)}to{transform:none}}
.onb-sheet-grip{width:38px;height:4px;border-radius:2px;background:var(--border-strong);align-self:center}
.onb-sheet-head{display:flex;align-items:center;gap:12px}
.onb-sheet-head div{display:flex;flex-direction:column;gap:2px}
.onb-sheet-head s{font-size:15px;font-weight:800;color:var(--fg-primary);text-decoration:none}
.onb-sheet-head small{font-size:12px;color:var(--fg-muted)}
.onb-sheet-val{display:flex;align-items:baseline;gap:10px;justify-content:center}
.onb-sheet-val span{font-size:44px;font-weight:800;letter-spacing:-.04em;color:var(--fg-primary);line-height:1}
.onb-sheet-val em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--fg-muted)}
.onb-offer{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--orange-500) 12%,transparent);border:1px solid var(--orange-500)}
.onb-offer-em{font-size:24px}
.onb-offer div{display:flex;flex-direction:column;gap:3px}
.onb-offer s{font-size:14.5px;font-weight:800;color:var(--fg-primary);text-decoration:none}
.onb-offer small{font-size:12px;line-height:1.4;color:var(--fg-secondary)}
.onb-survey-kicker{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-500)}
.onb-bubbles{display:flex;flex-wrap:wrap;gap:9px}
.onb-bubble{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:999px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;color:var(--fg-primary);rotate:var(--r);animation:onbPop .42s cubic-bezier(.2,1.5,.4,1) both;transition:background .2s,border-color .2s,transform .2s}
@keyframes onbPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
.onb-bubble em{font-style:normal;font-size:18px}
.onb-bubble.is-on{background:var(--orange-500);border-color:var(--orange-500);color:#fff;transform:scale(1.04)}
.onb-reward-wrap{align-items:center;justify-content:center;padding:24px}
.onb-reward{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px 24px 26px;border-radius:26px;background:var(--bg-app);border:1px solid var(--border-default);overflow:hidden;animation:onbPop .45s cubic-bezier(.2,1.4,.4,1) both;text-align:center}
.onb-reward-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:var(--bg-sunken);border:none;display:flex;align-items:center;justify-content:center}
.onb-reward-em{font-size:46px}
.onb-reward h2{margin:0;font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--fg-primary)}
.onb-reward-pts{margin:2px 0 0;font-size:38px;font-weight:800;letter-spacing:-.04em;color:var(--orange-500)}
.onb-reward-sub{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--fg-secondary)}
.onb-conf{position:absolute;top:-14px;width:7px;height:14px;border-radius:2px;animation:onbConf 1.5s ease-in forwards}
@keyframes onbConf{to{transform:translateY(320px) rotate(420deg);opacity:0}}

/* ---- onboarding v3 ---- */
.onb-nav{display:flex;align-items:center;gap:12px;justify-content:flex-start}
.onb-back{width:36px;height:36px;border-radius:50%;background:var(--bg-surface-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.onb-back.is-off{opacity:.35}
.onb-bday{display:block;position:relative;border-radius:18px;background:var(--bg-sunken);border:1px solid var(--border-default);overflow:hidden;height:190px}
.onb-bday-cols{display:flex;height:100%}
.onb-wheel{height:190px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;text-align:center}
.onb-wheel::-webkit-scrollbar{display:none}
.onb-wheel-pad{height:76px}
.onb-wheel-i{display:block;width:100%;height:38px;line-height:38px;padding:0;background:none;border:none;font-family:'DM Sans',sans-serif;font-size:17px;font-weight:600;color:var(--fg-muted);opacity:.5;scroll-snap-align:center;transition:opacity .18s,color .18s,font-size .18s}
.onb-wheel-i.is-on{opacity:1;color:var(--fg-primary);font-size:20px;font-weight:800}
.onb-bday-sel{position:absolute;left:8px;right:8px;top:76px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--orange-500) 14%,transparent);pointer-events:none}
.onb-bday-fade{position:absolute;left:0;right:0;height:62px;pointer-events:none}
.onb-bday-fade.t{top:0;background:linear-gradient(var(--bg-sunken),transparent)}
.onb-bday-fade.b{bottom:0;background:linear-gradient(transparent,var(--bg-sunken))}
.onb-bday-read{margin:0;text-align:center;font-size:13px;font-weight:700;color:var(--orange-500)}
/* amount sheet hierarchy */
.onb-sheet{gap:16px;padding:10px 20px 24px}
.onb-sheet-kicker{margin:2px 0 0;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}
.onb-sheet-head{display:flex;align-items:center;gap:12px}
.onb-sheet-logo{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.onb-sheet-logo img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}
.onb-sheet-logo b{font-size:15px;font-weight:800;color:#fff}
.onb-sheet-head h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--fg-primary)}
.onb-sheet-val{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 2px}
.onb-sheet-money{font-size:60px;font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--fg-primary)}
.onb-sheet-money i{font-style:normal;font-size:30px;font-weight:700;vertical-align:super;color:var(--fg-muted);margin-right:2px}
.onb-sheet-pts{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--orange-500)}
.onb-amt-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.onb-amt-chip{position:relative;min-height:50px;border-radius:14px;background:var(--bg-sunken);border:1.5px solid transparent;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:800;color:var(--fg-secondary)}
.onb-amt-chip.is-on{background:var(--bg-surface-raised);border-color:var(--orange-500);color:var(--fg-primary)}
.onb-amt-chip em{position:absolute;top:-8px;left:50%;transform:translateX(-50%);padding:2px 7px;border-radius:999px;background:var(--color-accent);color:var(--neutral-950,#141317);font-size:8.5px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.auth-btn-s{background:var(--bg-surface-raised);border:1.5px solid var(--border-strong);color:var(--fg-primary)}
/* survey bubbles */
.onb-survey .auth-body{gap:10px}
.onb-survey-q{margin:2px 0 0;font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1.08;color:var(--fg-primary);text-wrap:pretty;animation:onbUpIn .4s ease both}
@keyframes onbUpIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.onb-survey-hint{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}
.onb-bubbles{flex:1;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px;padding:4px 0}
.onb-bubble{position:relative;width:var(--sz);height:var(--sz);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default);font-family:'DM Sans',sans-serif;color:var(--fg-primary);animation:onbFloatIn .5s cubic-bezier(.2,1.5,.4,1) both,onbFloat 5.5s ease-in-out infinite var(--fd);transition:background .2s,border-color .2s,box-shadow .2s}
.onb-bubble em{font-style:normal;font-size:26px;line-height:1}
.onb-bubble b{font-size:11.5px;font-weight:600;line-height:1.2;text-align:center}
.onb-bubble.is-on{background:var(--orange-500);border-color:var(--orange-500);color:#fff;box-shadow:0 10px 26px color-mix(in srgb,var(--orange-500) 45%,transparent);animation:onbFloatIn .5s cubic-bezier(.2,1.5,.4,1) both,onbFloat 5.5s ease-in-out infinite var(--fd),onbBubblePop .42s cubic-bezier(.2,1.7,.4,1)}
.onb-bubble-ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange-500);opacity:.45;animation:onbRing .6s ease-out}
@keyframes onbRing{from{transform:scale(.85);opacity:.8}to{transform:scale(1.15);opacity:0}}
@keyframes onbBubblePop{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes onbFloatIn{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}
@keyframes onbFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
/* celebration */
.onb-celebrate{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px 24px 34px;background:linear-gradient(150deg,#FF6B3D,#E8410F);overflow:hidden;text-align:center;font-family:'DM Sans',sans-serif}
.onb-cel-rays{position:absolute;left:50%;top:44%;width:900px;height:900px;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.10) 0deg 9deg,transparent 9deg 18deg);animation:onbSpin 40s linear infinite}
@keyframes onbSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.onb-cel-body{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}
.onb-cel-orbit{position:relative;width:130px;height:130px;margin-bottom:10px;animation:onbFloatIn .5s cubic-bezier(.2,1.6,.4,1) both}
.onb-cel-orbit-ring{position:absolute;inset:8px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.35)}
.onb-cel-orbit-item{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px;animation:onbOrbit 9s linear infinite}
.onb-cel-orbit-item.oo2{animation-delay:-3s}
.onb-cel-orbit-item.oo3{animation-delay:-6s}
@keyframes onbOrbit{from{transform:rotate(0deg) translateX(57px) rotate(0deg)}to{transform:rotate(360deg) translateX(57px) rotate(-360deg)}}
.onb-cel-orbit-item-in{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.onb-cel-orbit-item-in img{width:74%;height:74%;object-fit:contain}
.oo2 .onb-cel-orbit-item-in img{width:100%;height:100%;object-fit:cover}
.onb-cel-orbit-item-in b{font-size:14px;font-weight:800;color:#14122A}
.onb-cel-em{font-size:64px;animation:onbFloatIn .6s cubic-bezier(.2,1.6,.4,1) both}
.onb-cel-kicker{margin:0;padding:5px 11px;border-radius:999px;background:rgba(14,20,8,.28);font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.onb-cel-h1{margin:0;font-size:68px;font-weight:1000;letter-spacing:-.055em;line-height:.95;color:#fff;display:flex;text-shadow:0 6px 0 rgba(20,10,0,.18),0 14px 34px rgba(20,10,0,.28)}
.onb-cel-h1 span{display:inline-block;animation:onbLetterPop .62s cubic-bezier(.16,1.9,.4,1) both,onbLetterWave 1.6s 1s ease-in-out infinite}
.onb-cel-h1 span:nth-child(2n){animation:onbLetterPop .62s cubic-bezier(.16,1.9,.4,1) both,onbLetterWave 1.6s 1.1s ease-in-out infinite reverse}
@keyframes onbLetterPop{0%{opacity:0;transform:translateY(46px) scale(.4) rotate(-16deg)}100%{opacity:1;transform:none}}
@keyframes onbLetterWave{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(-3deg)}}
.onb-cel-pop{position:absolute;left:50%;top:44%;width:340px;height:340px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.34),rgba(255,255,255,0) 68%);animation:onbPopRing 1.9s ease-out infinite}
@keyframes onbPopRing{0%{opacity:.9;transform:translate(-50%,-50%) scale(.35)}70%{opacity:0}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
.onb-conf-r{border-radius:50%;width:9px!important;height:9px!important}
.onb-cel-pts{display:flex;align-items:baseline;gap:5px;font-family:'DM Mono',monospace;font-size:56px;letter-spacing:-.05em;color:var(--lime-500);line-height:1;animation:onbFloatIn .5s .22s cubic-bezier(.2,1.5,.4,1) both}
.onb-cel-pts i{font-style:normal;font-size:32px}
.onb-cel-pts em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.onb-cel-badge{padding:6px 13px;border-radius:999px;background:#0E1408;color:var(--lime-500);font-size:12px;font-weight:700;letter-spacing:.06em;animation:onbFloatIn .45s .35s cubic-bezier(.2,1.6,.4,1) both}
.onb-cel-sub{margin:8px 0 0;max-width:300px;font-size:14px;font-weight:500;line-height:1.55;color:rgba(255,255,255,.9);text-wrap:pretty}
.onb-cel-go{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border-radius:20px;background:var(--lime-500);border:none;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em;color:#0E1408}
.onb-celebrate .onb-conf{width:8px;height:16px}
.onb-cel-burst{position:absolute;bottom:-10%;font-size:26px;opacity:0;animation:onbBurstUp 2.6s ease-out infinite}
@keyframes onbBurstUp{0%{opacity:0;transform:translateY(0) rotate(0)}12%{opacity:1}90%{opacity:0}100%{opacity:0;transform:translateY(-480px) rotate(30deg)}}
.onb-cel-pts{animation:onbFloatIn .5s .8s cubic-bezier(.2,1.5,.4,1) both,onbCelPulse 1.6s 1.4s ease-in-out infinite}
@keyframes onbCelPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

/* ---- onboarding v4: gen-z pass ---- */
.onb2{position:relative;overflow:hidden}
.onb2-body{gap:10px;position:relative;z-index:2}
.onb2-orb{position:absolute;border-radius:50%;filter:blur(46px);opacity:.5;pointer-events:none;z-index:0}
.onb2-orb.o1{width:260px;height:260px;top:-90px;right:-80px;background:var(--orange-500)}
.onb2-orb.o2{width:220px;height:220px;bottom:-70px;left:-70px;background:var(--color-accent);opacity:.28}
.onb2-flash{position:absolute;top:74px;left:50%;transform:translateX(-50%);z-index:70;padding:9px 16px;border-radius:999px;background:var(--lime-500);color:#0E1408;font-family:'DM Mono',monospace;font-size:14px;font-weight:400;box-shadow:0 10px 24px rgba(0,0,0,.28);animation:onb2Flash 1.1s ease forwards}
@keyframes onb2Flash{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}18%{opacity:1;transform:translate(-50%,0) scale(1.06)}30%{transform:translate(-50%,0) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-16px)}}
.onb2-navpts{display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-default);font-family:'DM Mono',monospace;font-size:12px;color:var(--fg-secondary)}
.onb2-navpts em{font-style:normal}
.onb2-track{display:flex;gap:5px}
.onb2-track i{flex:1;height:9px;border-radius:3px;background:var(--bg-sunken);transition:background .3s}
.onb2-track i.is-on{background:var(--lime-500)}
.onb2-kicker{margin:6px 0 0;display:inline-flex;align-self:flex-start;padding:5px 11px;border-radius:999px;background:var(--orange-500);color:#fff;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.onb2-h1{margin:0;font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1.02;color:var(--fg-primary);white-space:pre-line}
.onb2-h1.is-small{font-size:24px}
.onb2-sub{margin:0;font-size:14px;font-weight:500;line-height:1.45;color:var(--fg-secondary);text-wrap:pretty}
.onb2-lbl{margin:10px 0 -2px;display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.onb2-lbl em{font-style:normal;font-size:9px;font-weight:600;letter-spacing:.1em;padding:3px 8px;border-radius:999px;background:var(--lime-500);color:#0E1408}
.onb2-locked{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--bg-sunken);border:1px solid var(--border-default)}
.onb2-locked img{width:36px;height:36px;border-radius:10px;object-fit:contain;background:#fff;padding:3px;box-sizing:border-box;flex-shrink:0}
.onb2-locked div{flex:1;display:flex;flex-direction:column;gap:1px}
.onb2-locked s{font-size:14px;font-weight:700;color:var(--fg-primary);text-decoration:none}
.onb2-locked small{font-size:11px;color:var(--fg-muted)}
.onb2-list{display:flex;flex-direction:column;gap:9px}
.onb2-opt{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:4px 12px;padding:13px 14px;border-radius:20px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default);text-align:left;font-family:'DM Sans',sans-serif;transition:border-color .2s,background .2s,transform .15s}
.onb2-opt-pin{grid-row:span 2;width:34px;height:34px;border-radius:11px;background:var(--bg-sunken);display:flex;align-items:center;justify-content:center}
.onb2-opt b{font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.onb2-opt small{grid-column:2;font-size:12px;font-weight:500;color:var(--fg-muted)}
.onb2-opt-tick{grid-row:span 2;width:24px;height:24px;border-radius:50%;background:var(--bg-sunken);display:flex;align-items:center;justify-content:center}
.onb2-opt.is-on{border-color:var(--orange-500);background:color-mix(in srgb,var(--orange-500) 10%,transparent)}
.onb2-opt.is-on .onb2-opt-pin,.onb2-opt.is-on .onb2-opt-tick{background:var(--orange-500)}
.onb2-idcard{display:flex;align-items:center;gap:16px;padding:16px;border-radius:24px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default)}
.onb2-idcard .onb-photo{width:70px;height:70px;margin:0}
.onb2-idcard div{display:flex;flex-direction:column;gap:2px}
.onb2-idcard b{font-size:18px;font-weight:700;letter-spacing:-.035em;color:var(--fg-primary)}
.onb2-idcard small{font-size:12.5px;font-weight:500;color:var(--fg-muted)}
.onb2-bday{display:flex;flex-direction:column;gap:6px}
.onb2-bday-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:24px;background:var(--lime-500);color:#0E1408}
.onb2-bday-card::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(14,20,8,.14) 1px,transparent 1.4px);background-size:11px 11px;opacity:.45;pointer-events:none}
.onb2-bday-card>*{position:relative}
.onb2-bday-em{font-size:26px}
.onb2-bday-card div{display:flex;flex-direction:column;gap:1px}
.onb2-bday-card b{font-size:21px;font-weight:700;letter-spacing:-.04em;color:#0E1408}
.onb2-bday-card small{font-size:11.5px;font-weight:500;color:rgba(14,20,8,.66)}
.onb2-rail-lbl{margin:2px 0 -2px;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.onb2-rail{display:flex;gap:7px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:2px 0}
.onb2-rail::-webkit-scrollbar{display:none}
.onb2-railchip{flex:0 0 auto;min-width:46px;height:42px;padding:0 14px;border-radius:14px;background:var(--bg-sunken);border:1.5px solid transparent;font-family:'DM Mono',monospace;font-size:14px;color:var(--fg-secondary);transition:all .18s}
.onb2-rail.wide .onb2-railchip{min-width:58px}
.onb2-railchip.is-on{background:var(--orange-500);border-color:var(--orange-500);color:#fff;transform:scale(1.06)}
.onb2-statuses{display:flex;flex-wrap:wrap;gap:8px}
.onb2-status{padding:11px 15px;border-radius:999px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default);font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:600;color:var(--fg-primary);rotate:var(--r);transition:all .2s}
.onb2-status.is-on{background:var(--orange-500);border-color:var(--orange-500);color:#fff;rotate:0deg;transform:scale(1.03)}
.onb2-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.onb2-slot{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;border-radius:16px;background:var(--bg-sunken);border:1.5px dashed var(--border-strong)}
.onb2-slot i{font-style:normal;font-family:'DM Mono',monospace;font-size:15px;color:var(--fg-muted);opacity:.6}
.onb2-slot.is-on{border-style:solid;border-color:var(--orange-500);background:color-mix(in srgb,var(--orange-500) 10%,transparent)}
.onb2-slot em{font-style:normal;font-family:'DM Mono',monospace;font-size:15px;color:var(--fg-primary)}
.onb2-slot-logo{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.onb2-slot-logo img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.onb2-slot-logo b{font-size:12px;font-weight:800;color:#fff}
.onb2-search{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:14px;background:var(--bg-sunken);border:1px solid var(--border-default);margin-bottom:2px}
.onb2-search input{flex:1;min-width:0;border:none;background:none;font-family:inherit;font-size:14px;color:var(--fg-primary);outline:none}
.onb2-search input::placeholder{color:var(--fg-muted)}
.onb2-poplabel{margin:2px 0 0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}
.onb2-loadmore{width:100%;padding:12px;border-radius:14px;background:var(--bg-sunken);border:1px solid var(--border-default);font-family:inherit;font-size:13px;font-weight:700;color:var(--fg-secondary);cursor:pointer}
.onb2-noresults{text-align:center;font-size:13px;color:var(--fg-muted);padding:24px 0}
.onb2-grid{gap:9px}
.onb2-card{border-radius:18px;border-width:1.5px;transition:transform .15s,border-color .2s,background .2s,opacity .2s}
.onb2-card.is-blocked{opacity:.34}
.onb2-sum{margin:0;text-align:center;font-size:13px;font-weight:500;color:var(--fg-secondary)}
.onb2-sum b{font-family:'DM Mono',monospace;font-weight:400;color:var(--fg-primary)}
.onb2-actions{display:flex;flex-direction:column;gap:9px}
.onb2-action{display:flex;align-items:center;gap:11px;padding:14px;border-radius:22px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default)}
.onb2-action-n{width:26px;height:26px;border-radius:50%;background:var(--orange-500);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:12px;flex-shrink:0}
.onb2-action-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.onb2-action-txt b{font-size:16px;font-weight:700;letter-spacing:-.035em;color:var(--fg-primary)}
.onb2-action-txt small{font-size:11.5px;font-weight:500;color:var(--fg-muted)}
.onb2-action-pts{display:flex;flex-direction:column;align-items:flex-end;font-family:'DM Mono',monospace;font-size:16px;letter-spacing:-.02em;color:var(--fg-primary);line-height:1.1}
.onb2-action-pts em{font-style:normal;font-family:'DM Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}
.onb2-total{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-radius:24px;background:linear-gradient(150deg,#FF6B3D,#E8410F)}
.onb2-total span{font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.onb2-total b{font-family:'DM Mono',monospace;font-size:23px;letter-spacing:-.03em;color:var(--lime-500)}
.onb2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.onb2-stats div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:18px;background:var(--bg-sunken)}
.onb2-stats span{font-family:'DM Mono',monospace;font-size:18px;letter-spacing:-.03em;color:var(--fg-primary)}
.onb2-stats small{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}
.onb2-offer{display:flex;align-items:center;gap:13px;padding:15px;border-radius:24px;background:var(--lime-500);color:#0E1408}
.onb2-offer-em{font-size:24px}
.onb2-offer div{display:flex;flex-direction:column;gap:3px}
.onb2-offer b{font-size:15px;font-weight:700;letter-spacing:-.03em;color:#0E1408}
.onb2-offer small{font-size:12px;font-weight:500;line-height:1.4;color:rgba(14,20,8,.7)}
/* amount sheet type scale */
.onb2-sheet-head{display:flex;align-items:center;gap:12px}
.onb2-sheet-logo{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.onb2-sheet-logo img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}
.onb2-sheet-logo b{font-size:15px;font-weight:800;color:#fff}
.onb2-sheet-head div{display:flex;flex-direction:column;gap:1px}
.onb2-sheet-kicker{margin:0;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.onb2-sheet-head h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.035em;color:var(--fg-primary)}
.onb2-sheet-val{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:2px 0}
.onb2-money{font-family:'DM Mono',monospace;font-size:38px;letter-spacing:-.045em;line-height:1;color:var(--fg-primary)}
.onb2-money i{font-style:normal;font-size:22px;color:var(--fg-muted);margin-right:1px}
.onb2-money-pts{font-family:'DM Mono',monospace;font-size:12.5px;color:var(--fg-muted)}
/* survey */
.onb2-survey-q{margin:8px 0 0;font-size:31px;font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--fg-primary);text-wrap:pretty;animation:onbUpIn .4s ease both}
.onb2-survey-hint{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}

/* ---- onboarding v5: quieter palette, calendar, receipt, typeform ---- */
.onb2-orb{display:none}
.onb2-kicker{background:none;padding:0;color:var(--fg-muted);font-size:10px;letter-spacing:.16em}
.onb2-flash{background:var(--fg-primary);color:var(--bg-app);box-shadow:none;font-family:'DM Mono',monospace;font-size:13px}
.onb2-track i{height:5px}
.onb2-track i.is-on{background:var(--fg-primary)}
.onb2-navpts{font-size:11.5px}
.onb2-field{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:0 16px;border-radius:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;color:var(--fg-primary);text-align:left}
.onb2-field span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onb2-hint{margin:-2px 0 0;font-size:11.5px;font-weight:500;line-height:1.45;color:var(--fg-muted)}
.onb2-opt.is-on{border-color:var(--fg-primary);background:var(--bg-surface-raised)}
.onb2-opt.is-on .onb2-opt-pin,.onb2-opt.is-on .onb2-opt-tick{background:var(--fg-primary)}
.onb2-retarget{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 15px;border-radius:14px;background:var(--bg-sunken);border:1px solid var(--border-default);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:var(--fg-secondary)}
.onb2-card.is-on{border-color:var(--orange-500);background:var(--bg-surface-raised)}
.onb-card-amt{background:var(--fg-primary);color:var(--bg-app)}
.onb-card-tick{background:var(--fg-primary)}
/* calendar sheet */
.cal-sheet{gap:10px;padding-bottom:20px}
.cal-title{margin:0;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.cal-head{display:flex;flex-direction:column;gap:9px}
.cal-years{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0}
.cal-years::-webkit-scrollbar{display:none}
.cal-year{flex:0 0 auto;padding:7px 12px;border-radius:11px;background:var(--bg-sunken);border:1px solid transparent;font-family:'DM Mono',monospace;font-size:13px;color:var(--fg-secondary)}
.cal-year.is-on{background:var(--fg-primary);border-color:var(--fg-primary);color:var(--bg-app)}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 2px}
.cal-dow span{text-align:center;font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}
.cal-scroll{height:250px;overflow-y:auto;scroll-behavior:smooth;scrollbar-width:none;display:flex;flex-direction:column;gap:14px}
.cal-scroll::-webkit-scrollbar{display:none}
.cal-month-name{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:-.01em;color:var(--fg-secondary)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-day{height:38px;border-radius:11px;background:none;border:none;font-family:'DM Mono',monospace;font-size:13.5px;color:var(--fg-primary)}
.cal-day:hover{background:var(--bg-sunken)}
.cal-day.is-on{background:var(--fg-primary);color:var(--bg-app)}
/* receipt flyer */
.rct{position:relative;display:flex;flex-direction:column;gap:11px;padding:20px 18px 16px;border-radius:6px;background:var(--bg-surface-raised);border:1px solid var(--border-default);font-family:'DM Mono',monospace}
.rct-top{display:flex;flex-direction:column;align-items:center;gap:3px}
.rct-brand{margin:0;font-family:'DM Sans',sans-serif;font-size:22px;font-weight:700;letter-spacing:.3em;text-indent:.3em;color:var(--fg-primary)}
.rct-meta{margin:0;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}
.rct-perf{height:1px;background-image:repeating-linear-gradient(90deg,var(--border-strong) 0 5px,transparent 5px 10px)}
.rct-lbl{margin:0;font-family:'DM Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}
.rct-target{display:flex;align-items:center;gap:11px}
.rct-target b{flex:1;font-family:'DM Sans',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.rct-target em{font-style:normal;font-size:19px;color:var(--fg-primary)}
.rct-rows{display:flex;flex-direction:column;gap:7px}
.rct-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--fg-secondary)}
.rct-row span{flex:1;min-width:0}
.rct-row::after{display:none}
.rct-row b{font-weight:400;color:var(--fg-primary)}
.rct-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--border-default)}
.rct-total span{font-family:'DM Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}
.rct-total b{font-size:19px;font-weight:400;letter-spacing:-.02em;color:var(--fg-primary)}
.rct-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rct-stats div{display:flex;flex-direction:column;align-items:center;gap:1px}
.rct-stats b{font-size:17px;font-weight:400;color:var(--fg-primary)}
.rct-stats small{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}
.rct-note{margin:0;text-align:center;font-size:10.5px;line-height:1.5;color:var(--fg-muted)}
.rct-code{margin:2px 0 0;text-align:center;font-size:15px;letter-spacing:.18em;color:var(--fg-primary);opacity:.75}
.onb2-offer{background:var(--bg-sunken);border:1px solid var(--border-default);color:var(--fg-primary);border-radius:16px;padding:14px 15px}
.onb2-offer b{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;color:var(--fg-primary)}
.onb2-offer small{color:var(--fg-muted)}
/* typeform-style survey */
.tf-slide{display:flex;flex-direction:column;gap:8px;animation:tfIn .3s cubic-bezier(.2,.9,.3,1) both}
.tf-slide.is-out{animation:tfOut .22s ease forwards}
@keyframes tfIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes tfOut{to{opacity:0;transform:translateY(-16px)}}
.tf-opts{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.tf-opt{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 15px;border-radius:16px;background:var(--bg-surface-raised);border:1px solid var(--border-default);font-family:'DM Sans',sans-serif;text-align:left;animation:tfIn .32s cubic-bezier(.2,.9,.3,1) both;transition:background .15s,border-color .15s,transform .12s}
.tf-opt em{font-style:normal;font-size:21px}
.tf-opt b{flex:1;font-size:15.5px;font-weight:600;letter-spacing:-.01em;color:var(--fg-primary)}
.tf-key{width:24px;height:24px;border-radius:8px;background:var(--bg-sunken);display:flex;align-items:center;justify-content:center}
.tf-opt.is-on{border-color:var(--lime-500);background:color-mix(in srgb,var(--lime-500) 14%,transparent)}
.tf-opt.is-on .tf-key{background:var(--lime-500)}
.tf-opt:active{transform:scale(.99)}
/* celebration: bright orange with diverging rays */
.onb-cel-x{position:absolute;top:16px;right:16px;z-index:3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:rgba(14,20,8,.26);cursor:pointer}
.onb-cel-x:active{transform:scale(.92)}
.onb-cel-auto{position:relative;margin:2px 0 0;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.72)}
.onb-cel-go{background:var(--lime-500);color:#0E1408}
.onb-celebrate .onb-conf{background:rgba(255,255,255,.85)}
/* store multi-select — plain rows, checkbox first */
.st-row{display:flex;align-items:center;gap:13px;width:100%;padding:14px 4px;border:none;border-bottom:1px solid var(--border-default);background:none;text-align:left;cursor:pointer}
.st-row:last-of-type{border-bottom:none}
.st-box{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;border:1.5px solid var(--border-strong);background:var(--bg-sunken)}
.st-row.is-on .st-box{border-color:var(--orange-500,#FF5A2E);background:var(--orange-500,#FF5A2E)}
.st-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.st-txt b{display:flex;align-items:center;gap:8px;font-size:16.5px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.st-txt b i{font-style:normal;font-weight:500;color:var(--fg-secondary)}
.st-txt b em{font-style:normal;padding:3px 8px;border-radius:999px;background:var(--bg-sunken);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-secondary)}
.st-txt small{font-size:12.5px;font-weight:500;color:var(--fg-muted)}
.st-foot{margin:10px 0 0;font-size:12px;font-weight:500;line-height:1.5;color:var(--fg-muted);text-wrap:pretty}
/* birthday wheel — three barrels */
.cal-sub{margin:2px 0 14px;font-size:13px;font-weight:500;color:var(--fg-secondary);text-align:center}
.wh-set{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:4px;margin:0 0 18px;padding:0 6px;border-radius:20px;background:var(--bg-sunken)}
.wh-band{position:absolute;left:8px;right:8px;top:50%;height:42px;transform:translateY(-50%);border-radius:12px;background:var(--bg-surface-raised);box-shadow:0 1px 3px rgba(0,0,0,.18);pointer-events:none}
.wh{position:relative;height:210px;overflow:hidden}
.wh-scroll{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;mask-image:linear-gradient(180deg,transparent,#000 26%,#000 74%,transparent)}
.wh-scroll::-webkit-scrollbar{width:0;display:none}
.wh-pad{flex:none;height:84px}
.wh-item{flex:none;height:42px;scroll-snap-align:center;border:none;background:none;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--fg-muted);cursor:pointer;transition:color .15s ease,font-size .15s ease}
.wh-item.is-on{font-size:19px;font-weight:700;color:var(--fg-primary)}
/* ---- bonus run: a journey, not a form ---- */
.bn{position:relative;overflow:hidden}
.bn-body{gap:14px}
.bn-nav{margin-top:2px}
/* intro beat */
.bn-skip{margin-top:2px;padding:12px;border:none;background:none;font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:600;color:var(--fg-muted);cursor:pointer}
/* ask beats */
.bn-slide{display:flex;flex-direction:column;gap:12px;animation:bnIn .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes bnIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.bn-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.bn-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:15px 14px;border-radius:20px;border:1.5px solid var(--border-default);background:var(--bg-surface-raised);text-align:left;cursor:pointer;animation:bnPop .3s cubic-bezier(.2,1.5,.4,1) both}
@keyframes bnPop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.bn-tile em{font-style:normal;font-size:26px;line-height:1}
.bn-tile b{font-size:14.5px;font-weight:700;letter-spacing:-.02em;color:var(--fg-primary);text-wrap:pretty}
.bn-tile.is-on{border-color:var(--lime-500);background:color-mix(in srgb,var(--lime-500) 14%,var(--bg-surface-raised))}
.bn-tile:active{transform:scale(.97)}
/* day-part strip */
.bn-clock{display:flex;flex-direction:column;gap:8px}
.bn-block{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:15px 16px;border-radius:18px;border:1.5px solid var(--border-default);background:var(--bg-surface-raised);text-align:left;cursor:pointer;animation:bnPop .3s cubic-bezier(.2,1.5,.4,1) both}
.bn-block em{font-style:normal;font-size:22px;line-height:1}
.bn-block b{font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.bn-block small{font-family:'DM Mono',monospace;font-size:12px;color:var(--fg-muted)}
.bn-block.is-on{border-color:var(--lime-500);background:color-mix(in srgb,var(--lime-500) 12%,var(--bg-surface-raised))}
/* notification previews */
.bn-nudges{display:flex;flex-direction:column;gap:9px}
.bn-push{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border-radius:18px;border:1.5px solid var(--border-default);background:var(--bg-surface-raised);text-align:left;cursor:pointer;animation:bnPop .3s cubic-bezier(.2,1.5,.4,1) both}
.bn-push-top{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--fg-secondary)}
.bn-push-top i{font-style:normal;font-size:14px}
.bn-push-top small{margin-left:auto;font-size:11px;font-weight:500;color:var(--fg-muted)}
.bn-push-body{font-size:14px;font-weight:500;line-height:1.4;color:var(--fg-primary);text-wrap:pretty}
.bn-push-tag{align-self:flex-start;margin-top:3px;padding:3px 9px;border-radius:999px;background:var(--bg-sunken);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted)}
.bn-push.is-on{border-color:var(--lime-500)}
.bn-push.is-on .bn-push-tag{background:var(--lime-500);color:#0E1408}
/* reaction beat */
/* welcome-bonus progress — one quiet line with the step count */
.wb-nav{align-items:center;gap:12px}
.wb-line{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.wb-line b{flex:none;white-space:nowrap;font-size:12.5px;font-weight:700;letter-spacing:-.01em;color:var(--fg-secondary)}
.wb-line i{flex:1;min-width:24px;position:relative;height:4px;border-radius:999px;background:var(--bg-sunken);overflow:hidden}
.wb-line i em{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--lime-500);transition:width .55s cubic-bezier(.2,.8,.2,1)}
.wb-line s{flex:none;text-decoration:none;white-space:nowrap;font-family:'DM Mono',monospace;font-size:12.5px;color:var(--fg-secondary)}
/* bonus-beat reaction flash */
.bn-flash{position:absolute;left:14px;right:14px;top:36%;padding:22px 18px;border-radius:26px;background:color-mix(in srgb,var(--bg-app) 88%,transparent);backdrop-filter:blur(8px);z-index:40;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;pointer-events:none;animation:bnFlash .85s cubic-bezier(.25,.9,.3,1) both}
.bn-flash b{font-family:'DM Mono',monospace;font-size:52px;line-height:1;letter-spacing:-.05em;color:var(--lime-500)}
.bn-flash em{font-style:normal;font-size:19px;font-weight:700;letter-spacing:-.03em;line-height:1.25;color:var(--fg-primary);text-wrap:pretty}
@keyframes bnFlash{0%{opacity:0;transform:translateY(16px) scale(.9)}18%{opacity:1;transform:none}72%{opacity:1}100%{opacity:0;transform:translateY(-26px)}}
/* action plan — hierarchy, not a receipt */
.pl-hero{flex:none;display:flex;align-items:center;gap:14px;padding:16px;border-radius:22px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default)}
.pl-logo{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;overflow:hidden}
.pl-logo img{width:78%;height:78%;object-fit:contain}
.pl-logo b{font-size:17px;font-weight:700;color:#fff}
.pl-hero-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pl-hero-txt b{font-size:20px;font-weight:700;letter-spacing:-.035em;color:var(--fg-primary)}
.pl-hero-txt em{font-style:normal;font-family:'DM Mono',monospace;font-size:13px;color:var(--fg-secondary)}
.pl-stats{flex:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-radius:18px;overflow:hidden;background:var(--border-default)}
.pl-stats>span{display:block;padding:12px 13px;background:var(--bg-app)}
.pl-stats>span b{display:block;margin:0 0 3px;font-family:'DM Mono',monospace;font-size:25px;line-height:1;letter-spacing:-.05em;color:var(--fg-primary)}
.pl-stats>span b i{font-style:normal;font-size:15px;color:var(--fg-muted)}
.pl-stats>span em{display:block;font-style:normal;font-size:11.5px;font-weight:600;line-height:1.2;color:var(--fg-muted)}
.pl-lbl{margin:6px 0 -4px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}
.pl-rows{flex:none;display:flex;flex-direction:column}
.pl-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:13px 0;border-bottom:1px solid var(--border-default)}
.pl-row:last-child{border-bottom:none}
.pl-row b{font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary)}
.pl-row em{grid-column:1;font-style:normal;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--fg-muted);text-wrap:pretty}
.pl-row s{grid-row:span 2;align-self:center;text-decoration:none;font-family:'DM Mono',monospace;font-size:19px;letter-spacing:-.04em;color:var(--lime-500)}
.pl-note{margin:4px 0 0;font-size:12px;font-weight:500;line-height:1.5;color:var(--fg-muted);text-wrap:pretty}
/* money bag flying up */
.onb-bag{position:absolute;left:50%;top:34%;z-index:40;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;animation:bagUp 1.4s cubic-bezier(.25,.9,.3,1) both}
.onb-bag{font-size:40px}
.onb-bag em{font-style:normal;font-family:'DM Mono',monospace;font-size:15px;letter-spacing:-.02em;color:var(--lime-500)}
@keyframes bagUp{0%{opacity:0;transform:translate(-50%,26px) scale(.7) rotate(-6deg)}18%{opacity:1;transform:translate(-50%,10px) scale(1.06) rotate(3deg)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-140px) scale(.82) rotate(-3deg)}}
/* action plan CTA card */
.pd-card{display:flex;flex-direction:column;gap:9px;padding:18px;border-radius:24px;background:var(--bg-surface-raised);border:1.5px solid var(--border-default)}
.pd-head{margin:0;font-size:16.5px;font-weight:700;letter-spacing:-.03em;color:var(--fg-primary);text-wrap:pretty}
.pd-sub{margin:0 0 4px;font-size:13.5px;font-weight:500;line-height:1.5;color:var(--fg-secondary);text-wrap:pretty}
.pd-skip{padding:11px;border:none;background:none;font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:600;color:var(--fg-muted);cursor:pointer}
.onb2-dock{padding-top:18px}
.onb-storyintro{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--orange-500) 10%,transparent);border:1px solid color-mix(in srgb,var(--orange-500) 24%,transparent)}
.onb-storyintro-ill{flex:none;font-size:30px;line-height:1}
.onb-storyintro p{margin:0;font-size:13px;font-weight:500;line-height:1.4;color:var(--fg-secondary);text-wrap:pretty}
.onb-illus{position:relative;height:118px;border-radius:22px;background:color-mix(in srgb,var(--orange-500) 16%,var(--bg-surface-raised));overflow:hidden;display:flex;align-items:center;justify-content:center}
.onb-illus-sm{height:64px}
.onb-illus-sm .onb-illus-big{font-size:34px}
.onb-illus-sm .onb-illus-sat{font-size:16px}
.onb-illus-sm .onb-illus-tag{font-size:8.5px;padding:4px 8px;bottom:8px}
.onb-illus-big{font-size:52px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.18));animation:onbIllusFloat 3.2s ease-in-out infinite}
.onb-illus-sat{position:absolute;font-size:22px;animation:onbIllusFloat 3.6s ease-in-out infinite}
.onb-illus-tag{position:absolute;bottom:10px;left:12px;padding:5px 10px;border-radius:999px;background:var(--fg-primary);color:var(--bg-app);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
@keyframes onbIllusFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.onb-storyintro-txt{margin:2px 0 0;font-size:13px;font-weight:500;line-height:1.4;color:var(--fg-secondary);text-wrap:pretty}
.tk-ticket{position:relative;background:var(--bg-surface-raised);border:1.5px solid var(--border-default);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:2px}
.tk-kicker{margin:0 0 6px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.tk-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px dashed var(--border-default)}
.tk-row:first-of-type{border-top:none}
.tk-num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--bg-sunken);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--fg-primary)}
.tk-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.tk-txt b{font-size:14px;font-weight:700;color:var(--fg-primary)}
.tk-txt small{font-size:12px;color:var(--fg-secondary)}
.tk-wk{flex:none;font-family:'DM Mono',monospace;font-size:15px;font-weight:700;color:var(--fg-primary)}
.tk-wk i{font-style:normal;font-size:10px;margin-left:2px;color:var(--fg-muted)}
.tk-perf{position:relative;height:0;margin:10px -18px 8px;border-top:2px dashed var(--border-default)}
.tk-perf::before,.tk-perf::after{content:'';position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--bg-app)}
.tk-perf::before{left:-9px}.tk-perf::after{right:-9px}
.tk-total{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--fg-secondary)}
.tk-total b{font-family:'DM Mono',monospace;font-size:14px;color:var(--fg-primary)}
