.account-type-page{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-7) var(--space-5);max-width:420px;margin:0 auto;text-align:center}.account-type-page .brand-icon{align-self:center;width:48px;height:48px;border-radius:var(--radius-md)}.account-type-page h1{color:var(--color-accent);font-size:28px;font-weight:800;margin:0;letter-spacing:-.01em}.account-type-page>p{color:var(--color-text-secondary);margin:0 0 var(--space-4)}.account-type-options{display:flex;flex-direction:column;gap:var(--space-4)}.account-type-card{display:flex;flex-direction:column;gap:var(--space-1);text-align:left;text-decoration:none;padding:var(--space-5);background:var(--color-surface-glass);border:1px solid var(--color-border-glass);border-radius:var(--radius-lg);transition:transform .1s ease-out,background .15s ease}.account-type-card:active{transform:scale(.98);background:var(--color-surface-glass-strong)}.account-type-card-title{color:var(--color-text-primary);font-size:17px;font-weight:700}.account-type-card-description{color:var(--color-text-secondary);font-size:13.5px}.reactEasyCrop_Container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:move;display:flex;justify-content:center;align-items:center}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform;max-width:unset}.reactEasyCrop_Contain{max-width:100%;max-height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.reactEasyCrop_Cover_Horizontal{width:100%;height:auto}.reactEasyCrop_Cover_Vertical{width:auto;height:100%}.reactEasyCrop_CropArea{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.5);box-sizing:border-box;box-shadow:0 0 0 9999em;color:#00000080;overflow:hidden}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{content:" ";box-sizing:border-box;position:absolute;border:1px solid rgba(255,255,255,.5);top:0;bottom:0;left:33.33%;right:33.33%;border-top:0;border-bottom:0}.reactEasyCrop_CropAreaGrid:after{content:" ";box-sizing:border-box;position:absolute;border:1px solid rgba(255,255,255,.5);top:33.33%;bottom:33.33%;left:0;right:0;border-left:0;border-right:0}:root{--color-bg-base: #0b0b0d;--color-bg-elevated: #151517;--color-surface-glass: rgba(16, 15, 17, .78);--color-surface-glass-strong: rgba(24, 23, 25, .88);--color-border-glass: rgba(255, 255, 255, .12);--color-border-glass-strong: rgba(255, 255, 255, .2);--color-accent: #ff8a00;--color-accent-pressed: #e67a00;--color-accent-soft: rgba(255, 138, 0, .16);--color-text-primary: #f5f5f7;--color-text-secondary: #a0a0a6;--color-text-tertiary: #6e6e73;--color-text-on-accent: #201200;--color-divider: rgba(255, 255, 255, .08);--color-success: #34c77b;--color-success-soft: rgba(52, 199, 123, .16);--color-error: #ff5a52;--color-error-soft: rgba(255, 90, 82, .16);--radius-sm: 12px;--radius-md: 20px;--radius-lg: 28px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--shadow-card: 0 12px 32px rgba(0, 0, 0, .35);--shadow-accent-glow: 0 8px 20px rgba(255, 138, 0, .35);--font-family-base: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--chart-blue: #3987e5;--chart-orange: #d95926;--chart-aqua: #199e70;--chart-yellow: #c98500;--chart-magenta: #d55181}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden}body{margin:0;height:100dvh;font-family:var(--font-family-base);color:var(--color-text-primary);background:linear-gradient(#050506db,#050506eb),url(/images/background.png) center / cover no-repeat fixed,var(--color-bg-base);overscroll-behavior:none;touch-action:pan-y}@media (min-width: 900px){body{background:linear-gradient(#050506db,#050506eb),url(/images/background-desktop.png) center / cover no-repeat fixed,var(--color-bg-base)}}button{font-family:inherit}a{color:inherit}.auth-shell{height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;justify-content:center;padding:var(--space-7) var(--space-5);max-width:420px;margin:0 auto}.auth-shell h1{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 var(--space-2);text-align:center}.auth-shell .auth-subtitle{font-size:13.5px;color:var(--color-text-secondary);text-align:center;margin:0 0 var(--space-7)}.field-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-2) 2px}.input-field{width:100%;font-family:inherit;font-size:16px;color:var(--color-text-primary);background:var(--color-surface-glass);border:1px solid var(--color-border-glass);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:var(--space-4);transition:border-color .15s ease,background .15s ease}.input-field::placeholder{color:var(--color-text-tertiary)}.input-field:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface-glass-strong)}.field-checkbox{display:flex;align-items:flex-start;gap:var(--space-2);font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.field-checkbox input{margin-top:3px}.field-hint{font-size:12.5px;color:var(--color-text-secondary);margin:calc(-1 * var(--space-2)) 0 var(--space-4)}.btn{border:none;cursor:pointer;border-radius:var(--radius-pill);font-family:inherit;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 20px;width:100%;text-decoration:none;transition:transform .1s ease-out,opacity .1s ease-out}.btn:active{transform:scale(.97);opacity:.9}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-accent-glow)}.btn-secondary{background:var(--color-surface-glass-strong);color:var(--color-text-primary);border:1px solid var(--color-border-glass)}.btn-destructive{background:#ff5a5229;color:var(--color-error);border:1px solid rgba(255,90,82,.3)}.form-error{background:#ff5a5229;border:1px solid rgba(255,90,82,.3);color:var(--color-error);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:var(--space-4)}.form-success{background:var(--color-accent-soft);border:1px solid rgba(255,138,0,.3);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:var(--space-4)}.auth-footer{text-align:center;font-size:13px;color:var(--color-text-secondary);margin-top:var(--space-5)}.auth-footer a{color:var(--color-accent);font-weight:700;text-decoration:none}.app-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) var(--space-5) var(--space-3)}.app-header h1{font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em;text-shadow:0 1px 6px rgba(0,0,0,.55)}.app-header h1.brand{color:var(--color-accent);font-weight:800}.header-spacer{width:40px;flex-shrink:0}.icon-btn{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--color-surface-glass);border:1px solid var(--color-border-glass);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;text-decoration:none;transition:transform .1s ease-out,background .15s ease}.icon-btn:active{transform:scale(.94);background:var(--color-surface-glass-strong)}.icon-btn svg{width:18px;height:18px}.app-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-screen{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:4px var(--space-5) var(--space-6)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);margin:var(--space-5) 2px var(--space-3);text-shadow:0 1px 6px rgba(0,0,0,.65)}.greeting{display:flex;align-items:center;gap:var(--space-3);margin:4px 2px var(--space-5)}.greeting .sub,.greeting h2{text-shadow:0 1px 6px rgba(0,0,0,.55)}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#3a2c14,var(--color-accent));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:var(--color-text-on-accent);flex-shrink:0}.greeting .sub{font-size:13px;color:var(--color-text-secondary);margin:0 0 2px}.greeting h2{font-size:20px;margin:0;font-weight:700;letter-spacing:-.01em}.glass-card{background:var(--color-surface-glass);border:1px solid var(--color-border-glass);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(32px) saturate(130%);backdrop-filter:blur(32px) saturate(130%);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.loyalty-card .card-top{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.logo-badge{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);overflow:hidden;flex-shrink:0}.logo-badge img{width:100%;height:100%;object-fit:cover}.logo-badge svg{width:21px;height:21px}.logo-badge-lg{width:96px;height:96px;border-radius:var(--radius-md);font-size:32px}.logo-badge-lg svg{width:40px;height:40px}.card-top .name{font-weight:700;font-size:15px;margin:0}.card-top .prog-label{font-size:12px;color:var(--color-text-secondary);margin:2px 0 0}.stamp-progress{height:8px;border-radius:var(--radius-pill);background:var(--color-accent-soft);overflow:hidden;margin-bottom:var(--space-4)}.stamp-progress>div{height:100%;background:var(--color-accent);border-radius:var(--radius-pill);box-shadow:var(--shadow-accent-glow);transition:width .3s ease}.pill-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.pill-stat{background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass);border-radius:var(--radius-sm);padding:10px 12px}.pill-stat .k{font-size:11px;color:var(--color-text-tertiary);margin:0 0 3px}.pill-stat .v{font-size:13px;font-weight:600;margin:0}.btn-row{display:flex;gap:10px}.btn-row .btn{width:auto;flex:1}.segmented{position:relative;display:flex;gap:4px;padding:4px;background:var(--color-surface-glass);border:1px solid var(--color-border-glass);border-radius:var(--radius-pill);margin-bottom:var(--space-4)}.segmented button{position:relative;z-index:1;flex:1;border:none;background:transparent;cursor:pointer;padding:9px 4px;border-radius:var(--radius-pill);font-family:inherit;font-size:12.5px;font-weight:600;color:var(--color-text-secondary);transition:color .2s ease}.segmented button.active{color:#0b0b0d;background:#ededef;box-shadow:0 4px 12px #00000040}.row{color:inherit;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0}.row+.row{border-top:1px solid var(--color-divider)}.glass-card.row{padding:var(--space-5)}.row .icon-badge{width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0;background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary)}.row .icon-badge svg{width:18px;height:18px}.row .info{flex:1;min-width:0}.row .info .label{font-size:14.5px;font-weight:600;margin:0}.row .info .sub{font-size:12.5px;color:var(--color-text-secondary);margin:2px 0 0}.row.dim .info .label,.row.dim .info .sub{color:var(--color-text-tertiary)}.row-chevron{display:flex;flex-shrink:0;color:var(--color-text-tertiary)}.row-chevron svg{width:16px;height:16px}.switch{position:relative;width:46px;height:27px;flex-shrink:0}.switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;cursor:pointer;z-index:1}.switch .track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-pill);background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass);transition:background .18s ease}.switch .knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000059;transition:transform .18s ease}.switch input:checked~.track{background:var(--color-accent);border-color:var(--color-accent)}.switch input:checked~.knob{transform:translate(19px)}.stamp-amount{text-align:center;padding:var(--space-2) 0 4px}.stamp-amount .readout{font-size:40px;font-weight:800;letter-spacing:-.02em;margin:0 0 2px}.stamp-amount .readout span{font-size:15px;font-weight:600;color:var(--color-text-secondary)}.stamp-amount .hint{font-size:12.5px;color:var(--color-text-tertiary);margin:0 0 18px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-pill);background:var(--color-accent-soft);outline:none;margin:0 0 var(--space-2)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--color-accent);box-shadow:var(--shadow-accent-glow);border:3px solid #1a1200;cursor:pointer}input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;border:3px solid #1a1200;background:var(--color-accent);box-shadow:var(--shadow-accent-glow);cursor:pointer}.tick-row{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-tertiary);margin-bottom:var(--space-5);padding:0 2px}.hero{text-align:center;padding:var(--space-7) var(--space-5) var(--space-6)}.hero .glow-circle{width:84px;height:84px;margin:0 auto var(--space-4);border-radius:50%;background:radial-gradient(circle,#ff8a0059,#ff8a0000 70%);display:flex;align-items:center;justify-content:center}.qr-box{width:76px;height:76px;border-radius:14px;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:3px;padding:var(--space-2)}.qr-box img{grid-column:1 / -1;grid-row:1 / -1;width:100%;height:100%;object-fit:contain}.qr-tap-target{border:none;background:none;padding:0;cursor:pointer;display:block}.qr-hint{font-size:11px;color:var(--color-text-tertiary);margin:var(--space-2) 0 0}.qr-scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#050506;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:calc(var(--space-6) + env(safe-area-inset-top,0px)) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.qr-scanner-frame{position:relative;width:min(94vw,74dvh);height:min(94vw,74dvh);border-radius:var(--radius-lg);overflow:hidden;background:#0b0b0d;border:1px solid var(--color-border-glass)}.qr-scanner-video{width:100%;height:100%;object-fit:cover}.qr-scanner-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;padding:var(--space-5);background:#050506d9;color:var(--color-text-primary);font-size:13.5px}.qr-scanner-status .btn{width:auto}.qr-scanner-hint{font-size:12px;color:var(--color-text-secondary);margin:0}.qr-scanner-instructions{color:var(--color-text-secondary);font-size:13px;margin:0;min-height:1em}.logo-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#050506;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:calc(var(--space-6) + env(safe-area-inset-top,0px)) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.logo-crop-picker{text-align:center;max-width:320px;display:flex;flex-direction:column;gap:var(--space-3)}.logo-crop-picker h3{margin:0;font-size:18px;font-weight:700}.logo-crop-picker .btn{width:auto;align-self:center}.logo-crop-area{position:relative;width:min(85vw,60dvh);height:min(85vw,60dvh);border-radius:var(--radius-lg);overflow:hidden;background:#0b0b0d;border:1px solid var(--color-border-glass)}.logo-crop-overlay input[type=range]{width:min(85vw,60dvh);margin:0}.logo-crop-overlay .btn-row{width:min(85vw,60dvh)}.qr-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:none;background:#050506;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:calc(var(--space-6) + env(safe-area-inset-top,0px)) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom,0px));cursor:pointer;font-family:inherit}.qr-fullscreen img{width:min(85vw,85dvh);height:min(85vw,85dvh);background:#fff;border-radius:var(--radius-lg);padding:var(--space-6);image-rendering:pixelated}.qr-fullscreen p{color:var(--color-text-secondary);font-size:13px;margin:0}.hero h3{font-size:19px;margin:0 0 6px;font-weight:700}.qr-manual-code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:20px;font-weight:700;letter-spacing:.08em;color:var(--color-accent);margin:0 0 var(--space-2)}.hero p.countdown{font-size:13px;color:var(--color-accent);font-weight:700;margin:0 0 var(--space-5)}.tip-list{text-align:left}.bottom-nav{position:relative;flex-shrink:0;align-self:center;width:calc(100% - var(--space-3) - var(--space-3));max-width:480px;margin:var(--space-3) 0 calc(var(--space-4) + env(safe-area-inset-bottom,0px));display:flex;align-items:center;padding:10px 6px;background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass-strong);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(32px) saturate(130%);backdrop-filter:blur(32px) saturate(130%);box-shadow:var(--shadow-card)}.nav-indicator{position:absolute;top:6px;bottom:6px;left:6px;background:var(--color-accent-soft);border:1px solid rgba(255,138,0,.35);border-radius:var(--radius-pill);box-shadow:0 0 18px #ff8a0047;transition:transform .42s cubic-bezier(.34,1.4,.64,1);z-index:0}.nav-btn{position:relative;z-index:1;flex:1 1 0;background:none;border:none;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--color-text-tertiary);padding:4px 2px;border-radius:var(--radius-pill);text-decoration:none;transition:color .2s ease,transform .1s ease-out}.nav-btn:active{transform:scale(.92)}.nav-btn svg{width:21px;height:21px}.nav-btn span{font-size:10.5px;font-weight:600}.nav-btn.active{color:var(--color-accent)}.nav-badge{position:absolute;top:-4px;right:-8px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-text-on-accent);font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}@media (prefers-reduced-motion: reduce){.nav-indicator{transition:none}}.toast{position:fixed;z-index:40;left:var(--space-4);right:var(--space-4);top:calc(var(--space-4) + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass-strong);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%);box-shadow:var(--shadow-card);padding:12px 14px;max-width:480px;margin:0 auto;transform:translateY(-130%);opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease}.toast.show{transform:translateY(0);opacity:1;pointer-events:auto}.toast-icon{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--color-accent-soft);border:1px solid rgba(255,138,0,.35);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.toast-icon svg{width:17px;height:17px}.toast-text .label{font-size:13.5px;font-weight:700;margin:0}.toast-text .sub{font-size:12px;color:var(--color-text-secondary);margin:2px 0 0}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#05050699;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-scrim.show{opacity:1;pointer-events:auto}.modal-sheet{width:100%;max-width:480px;background:var(--color-surface-glass-strong);border:1px solid var(--color-border-glass-strong);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;-webkit-backdrop-filter:blur(32px) saturate(140%);backdrop-filter:blur(32px) saturate(140%);box-shadow:0 -20px 50px #00000073;padding:10px var(--space-5) calc(24px + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .38s cubic-bezier(.22,1,.36,1)}.modal-scrim.show .modal-sheet{transform:translateY(0)}.modal-grabber{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--color-border-glass-strong);margin:6px auto 18px}.modal-sheet h3{font-size:18px;margin:0 0 4px;font-weight:700}.modal-sheet .modal-sub{font-size:13px;color:var(--color-text-secondary);margin:0 0 var(--space-5)}.modal-summary{background:var(--color-surface-glass);border:1px solid var(--color-border-glass);border-radius:var(--radius-md);padding:6px 14px 2px;margin-bottom:var(--space-5)}.modal-stat{display:flex;justify-content:space-between;align-items:center;padding:11px 0}.modal-stat+.modal-stat{border-top:1px solid var(--color-divider)}.modal-stat .k{font-size:13.5px;color:var(--color-text-secondary)}.modal-stat .v{font-size:14.5px;font-weight:700}.modal-actions{display:flex;gap:10px}.modal-actions .btn{width:auto;flex:1}.install-steps{list-style:none;margin:0 0 var(--space-5);padding:0;display:flex;flex-direction:column;gap:10px}.install-steps li,.install-steps p{display:flex;align-items:center;gap:10px;margin:0;font-size:13.5px;color:var(--color-text-secondary);background:var(--color-surface-glass);border:1px solid var(--color-border-glass);border-radius:var(--radius-md);padding:10px 12px}.install-steps strong{color:var(--color-text-primary)}.install-inline-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-accent)}@media (prefers-reduced-motion: reduce){.icon-btn,.switch .knob,.switch .track,.segmented button,input[type=range]::-webkit-slider-thumb{transition:none}}
