:root{--gold:#b8965a;--gold-light:#d4b87a;--gold-dark:#8a6f3e;--silver:#a8b4c0;--silver-light:#c8d4e0;--diamond-gold:#c9a84c;--bg:#0a0a0f;--card-bg:#141420;--card-border:#ffffff0f;--text:#fff;--text-dim:#ffffff80;--text-muted:#ffffff4d;--line-green:#06c755;--font-serif:"Cormorant Garamond", "Georgia", serif;--font-sans:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:hidden}.hidden{display:none!important}.screen{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px 20px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-content{flex-direction:column;align-items:center;gap:24px;display:flex}.loading-logo{font-family:var(--font-serif);letter-spacing:4px;color:var(--gold);font-size:24px;font-weight:600}.spinner{width:40px;height:40px;position:relative}.spinner-ring{border:2px solid #b8965a26;border-top-color:var(--gold);border-radius:50%;width:100%;height:100%;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{letter-spacing:3px;color:var(--text-muted);text-transform:uppercase;font-size:12px}.consent-container{text-align:center;width:100%;max-width:380px}.consent-logo{font-family:var(--font-serif);letter-spacing:4px;color:var(--gold);margin-bottom:8px;font-size:28px;font-weight:600}.consent-title{font-family:var(--font-serif);letter-spacing:6px;color:var(--text-dim);text-transform:uppercase;margin-bottom:32px;font-size:16px;font-weight:400}.consent-desc{color:var(--text-dim);margin-bottom:32px;font-size:14px;line-height:1.8}.consent-features{text-align:left;flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.feature-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.feature-icon{color:var(--gold);flex-shrink:0;display:flex}.feature-item span{color:var(--text-dim);font-size:13px}.consent-box{text-align:left;margin-bottom:20px}.consent-box label{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:12px;padding:16px;transition:border-color .2s;display:flex}.consent-box label:active{border-color:#b8965a4d}.consent-box input[type=checkbox]{display:none}.checkbox-custom{border:2px solid #fff3;border-radius:6px;flex-shrink:0;width:22px;height:22px;transition:all .2s;position:relative}.consent-box input[type=checkbox]:checked+.checkbox-custom{background:var(--gold);border-color:var(--gold)}.consent-box input[type=checkbox]:checked+.checkbox-custom:after{content:"";border:solid var(--bg);border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:3px;left:6px;transform:rotate(45deg)}.consent-label{color:var(--text-dim);font-size:13px;line-height:1.4}.consent-label a{color:var(--gold-light);text-underline-offset:2px;text-decoration:underline}.btn-primary{background:var(--gold);width:100%;color:var(--bg);font-size:15px;font-weight:600;font-family:var(--font-sans);cursor:pointer;letter-spacing:.5px;border:none;border-radius:14px;padding:16px;transition:all .2s}.btn-primary:disabled{opacity:.3;cursor:not-allowed}.btn-primary:active:not(:disabled){opacity:.9;transform:scale(.98)}.btn-ghost{width:100%;color:var(--text-muted);font-size:14px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:14px;transition:color .2s}.btn-ghost:active{color:var(--text-dim)}.btn-checkin{background:var(--line-green);color:#fff;width:100%;font-size:16px;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:18px;transition:all .15s;display:flex;box-shadow:0 4px 24px #06c7554d}.btn-checkin:active{transform:scale(.97)}.btn-checkin:disabled{opacity:.5;cursor:not-allowed}.checkin-icon{flex-shrink:0}.profile-container{width:100%;max-width:380px}.profile-header{text-align:center;margin-bottom:36px}.profile-header h2{margin-bottom:8px;font-size:20px;font-weight:600}.profile-desc{color:var(--text-muted);font-size:13px}.form-group{border:none;margin-bottom:28px;padding:0}.form-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:600;display:block}.radio-group{gap:8px;display:flex}.radio-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio-btn-label{cursor:pointer;flex:1}.radio-btn-text{font-size:14px;font-family:var(--font-sans);color:var(--text-dim);text-align:center;background:#ffffff08;border:1.5px solid #ffffff1a;border-radius:12px;padding:14px 8px;transition:all .2s;display:block}.radio-btn-label.selected .radio-btn-text,.radio-input:checked+.radio-btn-text{background:var(--gold);color:var(--bg);border-color:var(--gold);font-weight:600}.radio-input:focus-visible+.radio-btn-text{outline:2px solid var(--gold);outline-offset:2px}.radio-btn-label:active .radio-btn-text{transform:scale(.97)}#card-screen{justify-content:flex-start;padding-top:16px;padding-bottom:40px}.card-screen-inner{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.user-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.user-info{align-items:center;gap:12px;display:flex}.user-avatar{object-fit:cover;background:#ffffff14;border:2px solid #ffffff1a;border-radius:50%;width:44px;height:44px}.user-name{font-size:15px;font-weight:600}.user-total{color:var(--text-muted);margin-top:2px;font-size:12px}.member-card{border-radius:20px;padding:28px 24px;transition:all .5s;position:relative;overflow:hidden}.card-shine{pointer-events:none;opacity:0;width:200%;height:200%;transition:opacity .5s;position:absolute;top:-50%;left:-50%}.card-pattern{pointer-events:none;opacity:0;position:absolute;inset:0}.card-content{z-index:1;position:relative}.card-top{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.card-logo{font-family:var(--font-serif);letter-spacing:3px;font-size:20px;font-weight:600}.card-rank{align-items:center;display:flex}.rank-label{letter-spacing:2px;text-transform:uppercase;border:1px solid;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600}.card-bottom{text-align:center;margin-top:24px}.point-display{justify-content:center;align-items:baseline;gap:4px;display:flex}.point-current{font-size:48px;font-weight:700;line-height:1;font-family:var(--font-serif)}.point-separator{color:var(--text-muted);margin:0 2px;font-size:20px;font-weight:300}.point-max{color:var(--text-muted);font-size:20px;font-weight:300}.next-reward{letter-spacing:.3px;margin-top:8px;font-size:13px}.stamp-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.stamp{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .35s;display:flex;position:relative}.stamp-number{opacity:.4;font-size:11px;font-weight:500}.stamp-fill{display:none}.stamp.filled .stamp-fill{display:block}.stamp.filled .stamp-number{display:none}.stamp.filled{animation:.4s ease-out stampPop}@keyframes stampPop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.stamp-fill svg{width:18px;height:18px}.stamp.reward-stamp{position:relative}.stamp.reward-stamp .stamp-number{opacity:.6}.rank-regular{background:linear-gradient(145deg,#161628 0%,#1a1a32 50%,#141426 100%);border:1px solid #ffffff14;box-shadow:0 8px 32px #00000080}.rank-regular .card-logo{color:#ffffffd9}.rank-regular .rank-label{color:#ffffff80;background:#ffffff0d;border-color:#ffffff26}.rank-regular .stamp{background:#ffffff0a;border:1.5px solid #ffffff1a}.rank-regular .stamp.filled{color:#ffffffe6;background:#ffffff1f;border-color:#ffffff40}.rank-regular .stamp.reward-stamp{border-style:dashed;border-color:#fff3}.rank-regular .point-current{color:#fff}.rank-regular .next-reward{color:#fff6}.rank-gold{background:linear-gradient(145deg,#1a1610 0%,#1e1a12 40%,#181408 100%);border:1px solid #b8965a33;box-shadow:0 8px 32px #00000080,0 0 60px #b8965a0f}.rank-gold .card-shine{opacity:1;background:radial-gradient(at 30% 20%,#b8965a14 0%,#0000 60%)}.rank-gold .card-logo{color:var(--gold-light)}.rank-gold .rank-label{color:var(--gold);background:#b8965a1a;border-color:#b8965a59}.rank-gold .stamp{background:#b8965a0d;border:1.5px solid #b8965a26}.rank-gold .stamp .stamp-number{color:#b8965a59}.rank-gold .stamp.filled{background:linear-gradient(135deg, var(--gold-dark), var(--gold));border-color:var(--gold);color:#0a0a0f;box-shadow:0 2px 8px #b8965a4d}.rank-gold .stamp.reward-stamp{border-style:dashed;border-color:#b8965a4d}.rank-gold .stamp.reward-stamp .stamp-number{color:var(--gold)}.rank-gold .point-current{color:var(--gold-light)}.rank-gold .next-reward{color:#b8965a80}.rank-platinum{background:linear-gradient(145deg,#12141a 0%,#181c24 40%,#10121a 100%);border:1px solid #a8b4c033;box-shadow:0 8px 32px #00000080,0 0 60px #a8b4c00d}.rank-platinum .card-shine{opacity:1;background:linear-gradient(135deg,#0000 20%,#c8d4e00f 40%,#c8d4e01a 50%,#c8d4e00f 60%,#0000 80%);animation:4s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{transform:translate(-30%)translateY(-30%)rotate(25deg)}50%{transform:translate(10%)translateY(10%)rotate(25deg)}}.rank-platinum .card-logo{color:var(--silver-light)}.rank-platinum .rank-label{color:var(--silver-light);background:#a8b4c01a;border-color:#a8b4c059}.rank-platinum .stamp{background:#a8b4c00a;border:1.5px solid #a8b4c026}.rank-platinum .stamp .stamp-number{color:#a8b4c059}.rank-platinum .stamp.filled{background:linear-gradient(135deg, #7a8a9a, var(--silver-light));border-color:var(--silver);color:#0a0a0f;box-shadow:0 2px 8px #a8b4c040}.rank-platinum .stamp.reward-stamp{border-style:dashed;border-color:#a8b4c04d}.rank-platinum .stamp.reward-stamp .stamp-number{color:var(--silver)}.rank-platinum .point-current{color:var(--silver-light)}.rank-platinum .next-reward{color:#a8b4c080}.rank-diamond{background:linear-gradient(145deg,#0e0e0e 0%,#151515 40%,#0a0a0a 100%);border:1px solid #c9a84c40;box-shadow:0 8px 40px #0009,0 0 80px #c9a84c14,inset 0 1px #c9a84c26}.rank-diamond .card-shine{opacity:1;background:linear-gradient(135deg,#0000 20%,#c9a84c0d 35%,#ffffff14 50%,#c9a84c0d 65%,#0000 80%);animation:3.5s ease-in-out infinite shimmer}.rank-diamond .card-pattern{opacity:.04;background-image:linear-gradient(60deg,#0000 47%,#c9a84c 49% 51%,#0000 53%),linear-gradient(-60deg,#0000 47%,#c9a84c 49% 51%,#0000 53%);background-size:30px 52px}.rank-diamond .card-logo{color:var(--diamond-gold);text-shadow:0 0 20px #c9a84c4d}.rank-diamond .rank-label{color:var(--diamond-gold);background:linear-gradient(135deg,#c9a84c26,#c9a84c0d);border-color:#c9a84c66}.rank-diamond .stamp{background:#c9a84c0a;border:1.5px solid #c9a84c26}.rank-diamond .stamp .stamp-number{color:#c9a84c4d}.rank-diamond .stamp.filled{background:linear-gradient(135deg, #8a6f2e, var(--diamond-gold));border-color:var(--diamond-gold);color:#0a0a0a;box-shadow:0 2px 12px #c9a84c59}.rank-diamond .stamp.reward-stamp{border-style:dashed;border-color:#c9a84c59}.rank-diamond .stamp.reward-stamp .stamp-number{color:var(--diamond-gold)}.rank-diamond .point-current{color:var(--diamond-gold);text-shadow:0 0 16px #c9a84c4d}.rank-diamond .next-reward{color:#c9a84c80}.checkin-section{width:100%}.checkin-store{text-align:center;color:var(--text-muted);margin-top:8px;font-size:13px}.history-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:24px}.history-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.history-header h3{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.history-count{color:var(--text-muted);font-size:11px}.history-list{-webkit-overflow-scrolling:touch;max-height:320px;overflow-y:auto}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-track{background:0 0}.history-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.history-item{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.history-item:last-child{border-bottom:none}.history-date{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.history-store{color:var(--text-dim);font-size:13px;font-weight:500}.empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:13px}.done-container{text-align:center;width:100%;max-width:380px}.done-circle{background:var(--line-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;animation:.5s ease-out popIn;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.done-check{stroke-dasharray:40;stroke-dashoffset:40px;animation:.5s ease-out .3s forwards drawCheck}@keyframes drawCheck{to{stroke-dashoffset:0}}.done-title{margin-bottom:12px;font-size:22px;font-weight:700}.done-text{color:var(--text-dim);margin-bottom:32px;font-size:14px;line-height:1.6}.cycle-banner{margin-bottom:24px}.cycle-banner-inner{color:var(--gold-light);background:linear-gradient(135deg,#b8965a26,#b8965a0d);border:1px solid #b8965a40;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:16px 20px;font-size:14px;font-weight:600;animation:2s ease-in-out infinite alternate bannerGlow;display:flex}@keyframes bannerGlow{0%{box-shadow:0 0 20px #b8965a1a}to{box-shadow:0 0 30px #b8965a33}}.error-container{text-align:center;width:100%;max-width:380px}.error-icon{color:#ff6b6b;margin-bottom:20px}.error-title{margin-bottom:12px;font-size:20px;font-weight:600}.error-text{color:var(--text-dim);margin-bottom:32px;font-size:14px;line-height:1.6}.celebration-overlay{z-index:100;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.celebration-card{text-align:center;background:var(--card-bg);border:1px solid #b8965a4d;border-radius:24px;width:90%;max-width:320px;padding:40px 32px;animation:.5s ease-out popIn}.celebration-icon{background:linear-gradient(135deg, var(--gold-dark), var(--gold-light));width:72px;height:72px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.celebration-title{color:var(--gold-light);margin-bottom:8px;font-size:20px;font-weight:700}.celebration-text{color:var(--text-dim);margin-bottom:24px;font-size:14px;line-height:1.6}.celebration-dismiss{background:var(--gold);color:var(--bg);font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:12px;padding:12px 32px}.rank-up-flash{animation:.8s ease-out rankUpFlash}@keyframes rankUpFlash{0%{filter:brightness()}30%{filter:brightness(1.5)}to{filter:brightness()}}@media (width<=360px){.stamp-grid{gap:8px}.member-card{padding:24px 20px}.point-current{font-size:40px}}.rewards-section{margin-top:24px;padding-bottom:40px}.rewards-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;font-size:12px;font-weight:600}.reward-card{border:1px solid var(--card-border);background:#ffffff08;border-radius:14px;align-items:flex-start;gap:14px;margin-bottom:20px;padding:18px;display:flex}.reward-icon{width:44px;height:44px;color:var(--gold);background:#b8965a1a;border:1px solid #b8965a33;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.reward-info{flex:1}.reward-name{margin-bottom:2px;font-size:15px;font-weight:600}.reward-desc{color:var(--text-muted);margin-bottom:10px;font-size:12px}.reward-progress{align-items:center;gap:10px;display:flex}.reward-progress-bar{background:#ffffff14;border-radius:3px;flex:1;height:6px;overflow:hidden}.reward-progress-fill{background:linear-gradient(90deg, var(--gold-dark), var(--gold));border-radius:3px;height:100%;transition:width .6s}.reward-progress-text{color:var(--text-dim);text-align:right;min-width:36px;font-size:12px}.rank-list{flex-direction:column;gap:2px;margin-bottom:20px;display:flex}.rank-item{background:#ffffff05;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:background .2s;display:flex}.rank-item.current{background:#ffffff0d;border:1px solid #ffffff14}.rank-item-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.rank-badge-regular{color:#6a7a9a;background:#6a7a9a26}.rank-badge-gold{color:var(--gold);background:#b8965a26}.rank-badge-platinum{color:var(--silver);background:#a8b4c026}.rank-badge-diamond{color:var(--diamond-gold);background:#c9a84c26}.rank-item-info{flex:1}.rank-item-name{font-size:14px;font-weight:600}.rank-item-condition{color:var(--text-muted);margin-top:1px;font-size:11px}.rank-item-status{border-radius:10px;padding:3px 8px;font-size:11px;font-weight:500}.rank-item-status.achieved{color:var(--gold);background:#b8965a26}.rank-item-status.current-rank{background:var(--gold);color:#0a0a0f;font-weight:700}.rank-item-status.locked{color:var(--text-muted)}.rank-benefits{border:1px solid var(--card-border);background:#ffffff08;border-radius:14px;padding:18px}.benefits-title{color:var(--text-dim);margin-bottom:12px;font-size:13px;font-weight:600}.benefits-list{flex-direction:column;gap:10px;display:flex}.benefit-item{align-items:center;gap:10px;font-size:13px;display:flex}.benefit-check{width:20px;height:20px;color:var(--gold);background:#b8965a1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.benefit-text{color:var(--text-dim)}.coupons-section{margin-top:24px}.coupons-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;font-size:12px;font-weight:600}.coupons-list{flex-direction:column;gap:8px;display:flex}.coupon-card{border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.coupon-unused{background:linear-gradient(135deg,#b8965a1f,#b8965a0a);border:1px solid #b8965a33}.coupon-used{opacity:.5;background:#ffffff05;border:1px solid #ffffff0d}.coupon-card-left{flex-shrink:0}.coupon-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.coupon-icon-ticket{color:var(--gold);background:#b8965a26}.coupon-icon-star{color:var(--gold-light);background:#b8965a26}.coupon-icon-diamond{color:var(--diamond-gold);background:#c9a84c26}.coupon-icon-used{color:var(--text-muted);background:#ffffff0d}.coupon-card-center{flex:1;min-width:0}.coupon-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.coupon-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.coupon-card-right{flex-shrink:0}.btn-coupon-show{background:var(--gold);color:var(--bg);font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:20px;padding:8px 16px;transition:opacity .2s}.btn-coupon-show:active{opacity:.7}.coupon-used-badge{color:var(--text-muted);border:1px solid #ffffff14;border-radius:20px;padding:4px 10px;font-size:11px}.coupon-modal{z-index:200;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.coupon-modal-backdrop{background:#0009;animation:.2s fadeIn;position:absolute;inset:0}.coupon-modal-content{background:var(--card-bg);width:100%;max-width:420px;padding:32px 24px calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;animation:.3s slideUp;position:relative}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.coupon-modal-header{text-align:center;margin-bottom:28px}.coupon-modal-icon{width:56px;height:56px;color:var(--gold);background:#b8965a1a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.coupon-modal-name{margin-bottom:8px;font-size:18px;font-weight:700}.coupon-modal-warning{color:var(--text-dim);font-size:13px;line-height:1.6}.slider-track{-webkit-user-select:none;user-select:none;touch-action:none;background:#b8965a1a;border:1px solid #b8965a33;border-radius:28px;align-items:center;width:100%;height:56px;margin-bottom:12px;display:flex;position:relative;overflow:hidden}.slider-thumb{background:var(--gold);width:52px;height:52px;color:var(--bg);cursor:grab;z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s;display:flex;position:absolute;left:2px;box-shadow:0 2px 8px #b8965a4d}.slider-thumb:active{cursor:grabbing}.slider-label{text-align:center;width:100%;color:var(--gold);letter-spacing:1px;pointer-events:none;z-index:1;font-size:14px;font-weight:600}.slider-track.confirmed{background:#06c75526;border-color:#06c7554d}.slider-track.confirmed .slider-thumb{background:var(--line-green)}.slider-track.confirmed .slider-label{color:var(--line-green)}.btn-coupon-cancel{width:100%;color:var(--text-dim);font-size:14px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:14px;padding:14px}.coupon-proof{z-index:300;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.proof-bg-anim{background:linear-gradient(135deg,#06c75514 0%,#b8965a0f 25%,#06c7550a 50%,#b8965a14 75%,#06c7550f 100%) 0 0/400% 400%;animation:6s infinite proofGradient;position:absolute;inset:0}@keyframes proofGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.proof-content{z-index:1;text-align:center;width:90%;max-width:340px;padding:40px 32px;position:relative}.proof-badge{background:var(--line-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;animation:.5s ease-out popIn;display:flex}.proof-status{color:var(--line-green);letter-spacing:3px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700}.proof-coupon-name{margin-bottom:24px;font-size:20px;font-weight:700}.proof-divider{background:#ffffff26;width:40px;height:1px;margin:0 auto 24px}.proof-user{color:var(--text-dim);margin-bottom:20px;font-size:15px}.proof-time-container{margin-bottom:32px;display:inline-block;position:relative}.proof-time{font-family:var(--font-serif);letter-spacing:4px;color:var(--line-green);text-shadow:0 0 20px #06c7554d;font-size:48px;font-weight:700}.proof-time-pulse{pointer-events:none;border:1px solid #06c75533;border-radius:12px;width:120%;height:120%;animation:2s ease-in-out infinite proofPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes proofPulse{0%,to{opacity:0;transform:translate(-50%,-50%)scale(.95)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}}.proof-notice{color:var(--text-muted);margin-bottom:24px;font-size:12px}.btn-proof-close{color:var(--text-dim);font-size:14px;font-family:var(--font-sans);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:14px;padding:12px 40px}.rankup-overlay{z-index:400;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0;overflow:hidden}.rankup-particles{pointer-events:none;position:absolute;inset:0}.particle{width:var(--size);height:var(--size);animation:1.2s ease-out forwards particleBurst;animation-delay:inherit;opacity:0;background:currentColor;border-radius:50%;position:absolute;top:50%;left:50%}@keyframes particleBurst{0%{transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0);opacity:1}60%{opacity:1}to{transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(var(--distance) * -1));opacity:0}}.rankup-content{z-index:1;text-align:center;width:90%;max-width:340px;padding:40px 28px;position:relative}.rankup-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px;animation:.3s .3s both fadeIn;position:absolute;top:0;right:0}.rankup-badge{border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 20px;animation:.6s cubic-bezier(.34,1.56,.64,1) .3s both rankBadgePop;display:flex}.rankup-badge svg{width:44px;height:44px}@keyframes rankBadgePop{0%{opacity:0;transform:scale(0)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.rankup-label{font-family:var(--font-serif);letter-spacing:6px;margin-bottom:8px;font-size:13px;font-weight:600;animation:.4s .5s both fadeIn}.rankup-rank{font-family:var(--font-serif);letter-spacing:2px;margin-bottom:8px;font-size:32px;font-weight:700;animation:.4s .6s both fadeIn}.rankup-message{color:var(--text-dim);margin-bottom:28px;font-size:14px;animation:.4s .7s both fadeIn}.rankup-benefits{flex-direction:column;gap:8px;margin-bottom:32px;display:flex}.rankup-benefit-item{border-radius:10px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;animation:.4s both benefitSlideIn;display:flex}@keyframes benefitSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rankup-benefit-check{flex-shrink:0;font-size:12px}.btn-rankup-dismiss{width:100%;font-size:15px;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:14px;padding:14px;animation:.4s 1.2s both fadeIn}.rankup-skip,.rankup-skip *{animation-duration:10ms!important;animation-delay:0s!important}.rankup-gold{color:var(--gold)}.rankup-gold .rankup-badge{background:linear-gradient(135deg, var(--gold-dark), var(--gold-light));color:var(--bg);box-shadow:0 0 40px #b8965a4d}.rankup-gold .particle,.rankup-gold .rankup-label{color:var(--gold)}.rankup-gold .rankup-rank{color:var(--gold-light);text-shadow:0 0 20px #b8965a66}.rankup-gold .rankup-benefit-item{color:var(--gold-light);background:#b8965a1a;border:1px solid #b8965a26}.rankup-gold .rankup-benefit-check{color:var(--gold)}.rankup-gold .btn-rankup-dismiss{background:var(--gold);color:var(--bg)}.rankup-platinum{color:var(--silver)}.rankup-platinum .rankup-badge{background:linear-gradient(135deg, #7a8a9a, var(--silver-light));color:var(--bg);box-shadow:0 0 40px #a8b4c04d}.rankup-platinum .particle{color:var(--silver-light)}.rankup-platinum .rankup-label{color:var(--silver)}.rankup-platinum .rankup-rank{color:var(--silver-light);text-shadow:0 0 20px #a8b4c066}.rankup-platinum .rankup-benefit-item{color:var(--silver-light);background:#a8b4c014;border:1px solid #a8b4c026}.rankup-platinum .rankup-benefit-check{color:var(--silver)}.rankup-platinum .btn-rankup-dismiss{background:var(--silver);color:var(--bg)}.rankup-diamond{color:var(--diamond-gold)}.rankup-diamond .rankup-badge{color:var(--diamond-gold);background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:2px solid #c9a84c66;box-shadow:0 0 60px #c9a84c4d}.rankup-diamond .particle,.rankup-diamond .rankup-label{color:var(--diamond-gold)}.rankup-diamond .rankup-rank{color:var(--diamond-gold);text-shadow:0 0 30px #c9a84c80}.rankup-diamond .rankup-benefit-item{color:var(--diamond-gold);background:#c9a84c14;border:1px solid #c9a84c33}.rankup-diamond .rankup-benefit-check{color:var(--diamond-gold)}.rankup-diamond .btn-rankup-dismiss{background:linear-gradient(135deg, var(--gold-dark), var(--diamond-gold));color:var(--bg)}@media (prefers-reduced-motion:reduce){.rankup-overlay *,.rankup-overlay :before,.rankup-overlay :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@supports (padding-bottom:env(safe-area-inset-bottom)){#card-screen{padding-bottom:calc(40px + env(safe-area-inset-bottom))}}
