:root{--bg: #fafaf9;--surface: #ffffff;--ink: #15100c;--ink-soft: #2a2420;--text: #17171b;--text-muted: #6b6b70;--cream: #f5efe6;--gold: #a68a5b;--gold-deep: #86713f;--line: #e7e6e3;--danger: #a23b32;--font: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}.s-fade-in{animation:fadeInUp .4s cubic-bezier(.2,.7,.3,1) both}.s-header{background:var(--ink);color:var(--cream);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.s-header .s-logo{font-size:19px;font-weight:700;letter-spacing:-.01em}.s-header nav{display:flex;gap:22px;align-items:center}.s-header nav a{font-size:14px;font-weight:600;opacity:.85}.s-header nav a:hover{opacity:1}.s-header .s-cta{background:var(--gold);color:var(--ink);padding:8px 16px;border-radius:8px;font-weight:700;font-size:13.5px}.s-hero{background:var(--ink);color:var(--cream);padding:80px 24px 90px;text-align:center}.s-hero h1{font-size:clamp(32px,6vw,52px);margin:0 0 14px;letter-spacing:-.02em}.s-hero p{font-size:17px;opacity:.8;max-width:540px;margin:0 auto 28px}.s-hero .s-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.s-btn{padding:13px 24px;border-radius:9px;font-weight:700;font-size:15px;border:none}.s-btn.gold{background:var(--gold);color:var(--ink)}.s-btn.ghost{background:transparent;border:1px solid rgba(245,239,230,.3);color:var(--cream)}.s-section{max-width:980px;margin:0 auto;padding:56px 24px}.s-section h2{font-size:26px;margin:0 0 24px;letter-spacing:-.01em}.s-placeholder{border:1px dashed var(--line);border-radius:12px;padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px;background:var(--surface)}.s-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.s-product{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.s-product img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:8px}.s-product .s-name{font-weight:600;font-size:14.5px}.s-product .s-price{color:var(--gold-deep);font-weight:700;font-size:14.5px}.s-category-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:28px 0 12px}.s-category-label:first-child{margin-top:0}.s-login-box{max-width:380px;margin:60px auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 16px 32px #14141414}.s-login-box h2{margin:0 0 6px;font-size:20px}.s-login-box .s-sub{color:var(--text-muted);font-size:13.5px;margin-bottom:20px}.s-field{margin-bottom:14px}.s-field label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:6px}.s-field input{width:100%;padding:12px;border-radius:9px;border:1px solid var(--line);font-size:16px;background:var(--surface);color:var(--text)}.s-field input:focus{outline:none;border-color:var(--ink)}.s-error{background:#fdf4f2;color:var(--danger);padding:11px 13px;border-radius:9px;margin-bottom:14px;font-size:13.5px}.s-portal-header{background:linear-gradient(145deg,#1d1611 0%,var(--ink) 55%,#1a140f 100%);color:var(--cream);padding:30px 24px 36px;position:relative;overflow:hidden;border-radius:0 0 24px 24px;box-shadow:0 16px 32px #15100c38}.s-portal-header:before{content:"";position:absolute;top:-70px;right:-50px;width:220px;height:220px;background:radial-gradient(circle,rgba(166,138,91,.35),transparent 70%);pointer-events:none}.s-portal-header:after{content:"";position:absolute;bottom:-90px;left:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(166,138,91,.16),transparent 70%);pointer-events:none}.s-portal-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.s-identity{display:flex;align-items:center;gap:12px}.s-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:linear-gradient(145deg,var(--gold),var(--gold-deep));color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;box-shadow:0 4px 12px #00000040}.s-welcome{font-size:12.5px;opacity:.65}.s-name{font-size:19px;font-weight:700;margin-top:1px}.s-signout{background:#f5efe61a;border:1px solid rgba(245,239,230,.18);color:var(--cream);font-size:12px;font-weight:600;padding:7px 13px;border-radius:999px;transition:background .15s ease}.s-signout:hover{background:#f5efe62e}.s-balance-card{margin-top:22px;position:relative;z-index:1;background:#f5efe612;border:1px solid rgba(245,239,230,.14);border-radius:16px;padding:18px 20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.s-balance-card .s-amt{font-size:32px;font-weight:800;color:var(--gold);letter-spacing:-.01em}.s-balance-card .s-label{font-size:12.5px;opacity:.72;margin-top:3px;display:flex;align-items:center;gap:6px}.s-balance-card .s-label .dot{width:4px;height:4px;border-radius:50%;background:var(--gold);display:inline-block}.s-stat-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}.s-stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;min-width:140px;flex:1;transition:transform .15s ease,box-shadow .15s ease}.s-stat:hover{transform:translateY(-3px);box-shadow:0 12px 24px #14141414}.s-stat .s-stat-icon{font-size:15px;opacity:.55;margin-bottom:6px}.s-stat .s-stat-val{font-size:22px;font-weight:800;letter-spacing:-.01em}.s-stat .s-stat-label{font-size:12px;color:var(--text-muted);margin-top:2px}.s-order{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:9px;transition:transform .15s ease,box-shadow .15s ease}.s-order:hover{transform:translateY(-2px);box-shadow:0 10px 20px #1414140f}.s-order-top{display:flex;justify-content:space-between;font-weight:700;font-size:14.5px}.s-order-date{font-size:12px;color:var(--text-muted);margin-top:2px}.s-order-head{display:flex;justify-content:space-between;align-items:center}.s-order-head .s-order-date{font-weight:700;font-size:14px;color:var(--text)}.s-order-amounts{text-align:right}.s-order-total{font-weight:800;font-size:15px}.s-order-count{font-size:11.5px;color:var(--text-muted);margin-top:2px}.s-order-item-list{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.s-order-item-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0}.s-order-item-name{color:var(--text)}.s-order-item-qty{color:var(--text-muted);font-variant-numeric:tabular-nums}.s-order-item-price{color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.s-order-more{display:block;width:100%;text-align:center;margin-top:8px;padding:7px 0;background:none;border:none;color:var(--gold-deep);font-weight:700;font-size:12.5px}.s-order-more:hover{text-decoration:underline}.s-tabs{position:relative;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:18px}.s-tab-indicator{position:absolute;top:4px;bottom:4px;border-radius:9px;background:var(--ink);transition:transform .28s cubic-bezier(.3,.8,.3,1);z-index:0}.s-tab{flex:1;position:relative;z-index:1;border:none;background:transparent;padding:9px 0;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--text-muted);transition:color .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.s-tab.active{color:var(--cream)}.s-milestone{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:18px}.s-milestone-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;margin-bottom:10px}.s-milestone-pts{color:var(--gold-deep);font-weight:800}.s-progress-track{height:8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);overflow:hidden}.s-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-deep),var(--gold));transition:width .5s cubic-bezier(.3,.8,.3,1)}.s-empty{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:13.5px}.s-empty .s-empty-icon{font-size:30px;margin-bottom:10px;opacity:.45}.s-skel{background:linear-gradient(90deg,#ececea 25%,#f6f5f3 37%,#ececea 63%);background-size:400px 100%;animation:shimmer 1.3s infinite linear;border-radius:12px}.s-skel-header{height:160px;border-radius:0 0 24px 24px}.s-skel-stat{height:70px;flex:1}.s-skel-row{height:56px;margin-bottom:9px}.s-spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(21,16,12,.15);border-top-color:var(--ink);animation:spin .7s linear infinite;display:inline-block}.s-center-loader{display:flex;align-items:center;justify-content:center;min-height:50vh}.s-footer{text-align:center;padding:40px 24px;color:var(--text-muted);font-size:13px}.s-wallet-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.s-wallet-btn{display:block;text-align:center}.s-wallet-btn.apple{background:var(--ink);color:var(--cream)}.s-wallet-btn.google{background:var(--surface);color:var(--text);border:1px solid var(--line)}
