:root{color-scheme:light;--bg: #f2ede1;--surface: #fbf8f0;--surface-2: #f5f0e3;--ink: #443328;--ink-soft: #82715f;--ink-mute: #a89a88;--line: #e6decc;--terra: #c0603e;--terra-deep: #a54f31;--terra-soft: #f3ded4;--olive: #6f7d4c;--olive-soft: #e8ead9;--sage: #97a983;--teal: #22585c;--teal-soft: #dde8e6;--gold: #c49a3c;--gold-bright: #d8b158;--gold-soft: #f4e8cd;--gold-ink: #7a5c14;--aubergine: #5d3f52;--blush: #dba68f;--danger: #c05341;--locked: #beb3a0;--r-card: 24px;--r-inner: 16px;--r-pill: 999px;--shadow: 0 1px 2px rgba(74, 56, 40, .05), 0 10px 28px rgba(74, 56, 40, .09);--shadow-lift: 0 2px 4px rgba(74, 56, 40, .06), 0 16px 40px rgba(74, 56, 40, .13);--shadow-btn: 0 2px 6px rgba(165, 79, 49, .28), 0 8px 20px rgba(165, 79, 49, .22);--font-ui: "Manrope", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-voice: "Kurale", "PT Serif", Georgia, serif;--tabbar-h: 66px;--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}h1,h2,h3{font-family:var(--font-voice);font-weight:400;color:var(--ink)}.serif{font-family:var(--font-voice)}.tnum{font-variant-numeric:tabular-nums}.app{max-width:460px;margin:0 auto;min-height:100%;padding:14px 18px calc(var(--tabbar-h) + var(--safe-b) + 34px)}.loading{padding-top:80px;text-align:center;color:var(--ink-soft)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);font-weight:700}.muted{color:var(--ink-soft)}.plus{color:var(--olive);font-weight:700}.minus{color:var(--terra);font-weight:700}.head{display:flex;align-items:center;gap:12px;padding:6px 2px 16px}.head .who{line-height:1.1}.head .who small{display:block;font-weight:600;font-size:12.5px;color:var(--ink-mute);margin-bottom:2px}.head .who .nm{font-family:var(--font-voice);font-size:27px}.head-ava{margin-left:auto;width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);background:var(--surface-2);box-shadow:var(--shadow)}.mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(150deg,var(--gold-bright),var(--gold));color:#fff;display:grid;place-items:center;font-weight:700;font-size:21px;box-shadow:var(--shadow);font-family:var(--font-voice)}.card{background:var(--surface);border:1px solid rgba(230,222,204,.6);border-radius:var(--r-card);padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}.card>h3{margin:0 0 12px;font-size:19px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.hero{position:relative;overflow:hidden;border-radius:var(--r-card);padding:22px;margin-bottom:14px;background:linear-gradient(165deg,#fdfaf2,#f4ecdb);border:1px solid rgba(230,222,204,.7);box-shadow:var(--shadow-lift)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(110% 80% at 88% -8%,rgba(216,177,88,.13),transparent 55%);pointer-events:none}.hero .eyebrow{color:var(--ink-soft);position:relative}.hero .bal{font-family:var(--font-voice);font-size:52px;letter-spacing:-1px;line-height:1.05;margin:6px 0 2px;font-variant-numeric:tabular-nums;position:relative;color:var(--ink)}.hero .bal small{font-size:30px;margin-left:7px;color:var(--gold)}.hero .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;position:relative}.chip{font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:var(--r-pill);background:var(--olive);color:#fdfbf4;box-shadow:0 2px 8px #6f7d4c40}.chip.gold{background:var(--gold);color:#fffaf0;box-shadow:0 2px 8px #c49a3c4d}.chip.plain{background:var(--surface-2);color:var(--ink-soft);box-shadow:none}.level-badge{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13.5px;color:var(--gold-ink);background:var(--gold-soft);border:1px solid rgba(196,154,60,.35);padding:7px 14px;border-radius:var(--r-pill)}.minipath{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:6px 2px}.minipath::-webkit-scrollbar{display:none}.mp-node{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--surface-2);border:2px solid var(--line);display:grid;place-items:center;overflow:hidden}.mp-node img{width:100%;height:100%;object-fit:cover}.mp-node.reached{border-color:var(--gold)}.mp-node.current{width:54px;height:54px;border-color:var(--gold-bright);box-shadow:0 0 0 4px var(--gold-soft)}.mp-node.locked{filter:grayscale(1) opacity(.5)}.mp-line{flex:1 1 8px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 5px,transparent 5px 9px);min-width:8px}.track{height:10px;border-radius:var(--r-pill);background:var(--surface-2);box-shadow:inset 0 1px 2px #4a382814;overflow:hidden;margin:10px 0 8px}.track .fill{height:100%;width:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--gold-bright),var(--gold));transform-origin:left center;transform:scaleX(0);transition:transform .6s ease-out}.hint{font-size:13px;color:var(--ink-soft);line-height:1.45}.ringbox{display:flex;align-items:center;gap:16px}.gauge{position:relative;width:92px;height:92px;flex:0 0 auto}.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge .g-track{stroke:var(--surface-2)}.gauge .g-fill{stroke:url(#gaugeGrad);stroke-linecap:round;transition:stroke-dashoffset .7s ease-out}.gauge .g-val{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-voice);font-size:19px;color:var(--ink);text-align:center;line-height:1.1}.gauge .g-val small{display:block;font-family:var(--font-ui);font-size:10px;font-weight:700;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.05em}.promo{display:flex;align-items:center;gap:14px}.promo img{width:86px;height:auto;flex:0 0 auto;filter:drop-shadow(0 4px 8px rgba(74,56,40,.15))}.promo .mt{font-family:var(--font-voice);font-size:19px}.promo .hint{margin-top:3px}.mission{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--line)}.mission:first-of-type{border-top:none}.mission .mi{width:42px;height:42px;border-radius:13px;background:var(--gold-soft);display:grid;place-items:center;font-size:20px;flex:0 0 auto}.mission .mt{font-family:var(--font-voice);font-size:16.5px}.mission .reward{font-size:11px;font-weight:700;color:var(--gold-ink);background:var(--gold-soft);padding:4px 9px;border-radius:var(--r-pill);display:inline-block;margin-top:6px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.tile{background:var(--surface);border:1px solid rgba(230,222,204,.6);border-radius:var(--r-inner);padding:16px;text-align:left;box-shadow:var(--shadow);transition:transform .12s ease}.tile:active{transform:scale(.97)}.tile .ic{font-size:23px}.tile .tl{font-family:var(--font-voice);font-size:15.5px;margin-top:8px;color:var(--ink)}.tile .ts{font-size:12px;color:var(--ink-soft);margin-top:2px}.seg{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px;margin-bottom:14px}.seg button{flex:1;border-radius:var(--r-pill);padding:10px;font-size:14px;font-weight:700;color:var(--ink-soft)}.seg button.on{background:var(--terra);color:#fff7f2;box-shadow:0 2px 8px #a54f314d}.ach-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.medal{background:var(--surface);border:1px solid rgba(230,222,204,.6);border-radius:var(--r-inner);padding:13px 6px;text-align:center;box-shadow:var(--shadow)}.medal .disc{width:58px;height:58px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:var(--gold-soft);border:2px solid var(--gold)}.medal.locked .disc{background:var(--surface-2);border:2px dashed var(--locked);filter:grayscale(1);opacity:.65}.medal .mn{font-size:11.5px;font-weight:700;line-height:1.2;color:var(--ink)}.medal.locked .mn{color:var(--ink-mute)}.medal .ring{font-size:10px;color:var(--gold-ink);margin-top:3px;font-variant-numeric:tabular-nums}.journey{position:relative;overflow:hidden;background:linear-gradient(178deg,#fdfaf2,#f6efdd 55%,#eee4cc);border:1px solid rgba(230,222,204,.7);border-radius:var(--r-card);padding:24px 14px 18px;box-shadow:var(--shadow-lift)}.j-hill{position:absolute;border-radius:50%;pointer-events:none}.j-hill.h1{width:130%;height:42%;left:-35%;bottom:-22%;background:radial-gradient(closest-side,rgba(151,169,131,.28),transparent 72%)}.j-hill.h2{width:120%;height:36%;right:-40%;bottom:8%;background:radial-gradient(closest-side,rgba(196,154,60,.14),transparent 70%)}.j-hill.h3{width:110%;height:30%;left:-25%;top:4%;background:radial-gradient(closest-side,rgba(151,169,131,.14),transparent 70%)}.j-curve{display:block;width:100%;height:46px;position:relative}.j-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4px;position:relative;cursor:pointer}.j-row .j-node{grid-column:1;justify-self:center;position:relative}.j-row .j-label{grid-column:2}.j-row.right .j-node{grid-column:2;grid-row:1}.j-row.right .j-label{grid-column:1;grid-row:1;text-align:right}.j-node .pn-disc{width:76px;height:76px;border-radius:50%;overflow:hidden;background:var(--surface-2);border:3px solid var(--line);display:grid;place-items:center;font-size:26px;box-shadow:var(--shadow-lift)}.j-node .pn-disc img{width:100%;height:100%;object-fit:cover}.j-row.reached .pn-disc{border-color:var(--gold)}.j-row.current .pn-disc{width:104px;height:104px;border-color:var(--gold-bright);box-shadow:0 0 0 7px #d8b1584d,var(--shadow-lift);animation:pulse 2.2s ease-in-out infinite}.j-row.locked .pn-disc{filter:grayscale(1) opacity(.55)}.j-check{position:absolute;right:-2px;bottom:2px;width:24px;height:24px;border-radius:50%;background:var(--olive);color:#fdfbf4;display:grid;place-items:center;font-size:13px;font-weight:800;border:2px solid #fdfaf2}.pn-name{font-family:var(--font-voice);font-size:18.5px;color:var(--ink);line-height:1.2}.pn-sub{font-size:12.5px;color:var(--ink-soft);margin-top:2px}.pn-you{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#fff7f2;background:var(--terra);padding:3px 9px;border-radius:var(--r-pill);margin-bottom:5px;box-shadow:0 2px 6px #a54f314d}.j-progress{margin-top:6px}.j-progress .track{margin:4px 0}.path-foot{text-align:center;margin-top:18px;font-size:13px;color:var(--ink-soft);position:relative}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.medallion{text-align:center;padding:24px}.medallion .crest{width:124px;height:124px;border-radius:50%;margin:0 auto 14px;border:3px solid var(--gold);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-lift)}.medallion .crest img{width:100%;height:100%;object-fit:cover}.rings{position:relative;height:210px;margin:8px auto 14px;max-width:260px}.ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1.5px dashed var(--sage);opacity:.6;border-radius:50%}.ring.r1{width:90px;height:90px}.ring.r2{width:150px;height:150px}.ring.r3{width:210px;height:210px}.ring-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:linear-gradient(150deg,var(--gold-bright),var(--gold));color:#fff;display:grid;place-items:center;font-family:var(--font-voice);font-size:19px;z-index:2;box-shadow:var(--shadow)}.orbit-layer{position:absolute;top:0;right:0;bottom:0;left:0;animation:spin linear infinite}.o-ava{position:absolute;width:27px;height:27px;margin:-13.5px 0 0 -13.5px;border-radius:50%;display:grid;place-items:center;color:#fdfbf4;font-size:13px;font-weight:800;font-family:var(--font-voice);box-shadow:0 2px 6px #4a382840;border:2px solid #fdfaf2;animation:spin linear infinite reverse}.o-ava.sleep{background:var(--locked)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.celebrate{position:relative;text-align:center;padding:8px 4px 4px}.celebrate h3{margin-top:6px}.confetti{position:absolute;top:-4px;width:7px;height:7px;border-radius:2px;background:var(--gold-bright);opacity:0;animation:drop 2.6s ease-in infinite}.confetti:nth-child(3n){background:var(--terra);border-radius:50%}.confetti:nth-child(4n){background:var(--sage)}@keyframes drop{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}to{transform:translateY(300px) rotate(340deg);opacity:0}}.ref-teaser .rt-row{font-size:13.5px;line-height:1.5;margin-bottom:5px}.ref-teaser .rt-em{font-family:var(--font-voice);font-size:16.5px;color:var(--terra-deep)}.ref-teaser .rt-hook{color:var(--ink-soft);font-style:italic}.ref-link{display:flex;gap:8px;margin:14px 0 0}.ref-link input{flex:1;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:13px;background:var(--surface-2);color:var(--ink-soft)}.lvl-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.lvl-stat .s{text-align:center;background:var(--surface-2);border-radius:var(--r-inner);padding:13px 4px}.lvl-stat .s .n{font-family:var(--font-voice);font-size:25px;color:var(--terra-deep)}.lvl-stat .s .c{font-size:11px;font-weight:600;color:var(--ink-soft);margin-top:2px}.member{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.member .badge-on{font-size:11px;font-weight:800;color:var(--olive)}.member .badge-off{font-size:11px;color:var(--ink-mute)}.filters{display:flex;gap:7px;overflow-x:auto;padding:2px 0 12px}.filters::-webkit-scrollbar{display:none}.filters button{flex:0 0 auto;padding:8px 15px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:700;color:var(--ink-soft);box-shadow:var(--shadow)}.filters button.on{background:var(--terra);color:#fff7f2;border-color:var(--terra);box-shadow:0 2px 8px #a54f314d}.month-title{font-family:var(--font-voice);font-size:15.5px;color:var(--ink-soft);margin:16px 0 4px}.it{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.it .ico{font-size:20px;margin-right:10px}.it .d{font-size:12px;color:var(--ink-mute);margin-top:2px}.card-num{font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:29px;font-weight:800;letter-spacing:2px;color:var(--gold-ink)}.msg-card{background:var(--surface);border:1px solid rgba(230,222,204,.6);border-radius:var(--r-inner);padding:13px 15px;margin-bottom:10px;box-shadow:var(--shadow)}.msg-ch{font-size:12px;font-weight:800;color:var(--teal)}.msg-text{font-size:13.5px;line-height:1.5;color:var(--ink);margin-top:7px;white-space:pre-wrap;word-break:break-word}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--safe-b) + 12px);width:min(432px,calc(100% - 28px));height:var(--tabbar-h);background:var(--surface);border:1px solid rgba(230,222,204,.7);border-radius:24px;display:flex;z-index:40;box-shadow:var(--shadow-lift)}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink-mute);font-size:10.5px;font-weight:700;position:relative}.tabbar button.glow:before{content:"";position:absolute;top:0;left:50%;width:52px;height:52px;transform:translate(-50%) scale(.9);border-radius:50%;pointer-events:none;background:radial-gradient(circle,#d8b1589e,#d8b1583d 46%,#d8b15800 74%);opacity:.4;animation:quest-glow 3.8s ease-in-out infinite}@keyframes quest-glow{0%,to{opacity:.38;transform:translate(-50%) scale(.9)}50%{opacity:1;transform:translate(-50%) scale(1.3)}}@media(prefers-reduced-motion:reduce){.tabbar button.glow:before{animation:none;opacity:.58}}.tabbar button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tabbar button.on{color:var(--terra)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a2c207a;z-index:50;display:flex;align-items:flex-end;animation:fade .2s ease}.sheet{position:relative;width:100%;max-width:460px;margin:0 auto;background:var(--surface);border-radius:26px 26px 0 0;padding:10px 20px calc(24px + var(--safe-b));max-height:88vh;overflow-y:auto;animation:rise .28s cubic-bezier(.2,.7,.3,1)}.sheet .grip{width:42px;height:5px;border-radius:3px;background:var(--line);margin:6px auto 14px}.sheet h3{margin:0 0 6px;font-size:22px}@keyframes rise{0%{transform:translateY(40px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet-ava{width:136px;height:136px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);margin:4px auto 12px;display:block;background:var(--surface-2);box-shadow:var(--shadow-lift)}.loyalty-card{position:relative;overflow:hidden;border-radius:20px;aspect-ratio:3 / 2;background:url(/card_bg.jpg) center / cover no-repeat,#fdf9ee;border:1px solid rgba(196,154,60,.35);box-shadow:var(--shadow-lift)}.lc-body{position:relative;z-index:1;height:100%;padding:18px 22px 20px;display:flex;flex-direction:column;align-items:flex-start}.lc-top{display:flex;align-items:center;gap:14px}.lc-logo{height:46px;width:auto}.loyalty-card .level-badge{background:linear-gradient(150deg,var(--gold-bright),var(--gold));color:#fffaf0;border:none;box-shadow:0 2px 8px #c49a3c59}.lc-grow{flex:1}.lc-name{font-weight:700;font-size:16px;color:var(--ink)}.lc-num{font-family:var(--font-ui);font-size:26px;font-weight:800;letter-spacing:1.2px;color:var(--gold-ink);margin-top:6px}.sheet-mascot{width:130px;height:auto;margin:4px auto 10px;display:block;filter:drop-shadow(0 6px 12px rgba(74,56,40,.18))}.btn{width:100%;height:52px;border-radius:var(--r-pill);background:var(--terra);color:#fff7f2;font-size:16px;font-weight:800;box-shadow:var(--shadow-btn);transition:transform .12s ease}.btn:active{transform:scale(.98)}.btn.gold{background:linear-gradient(150deg,var(--gold-bright),var(--gold));color:#3d2c05;box-shadow:0 2px 6px #c49a3c4d,0 8px 20px #c49a3c3d}.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink-soft);box-shadow:none}.btn-sm{height:42px;width:auto;padding:0 18px;font-size:14px;border-radius:var(--r-pill)}.input{width:100%;height:52px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-inner);font-size:16px;background:var(--surface-2);margin-bottom:12px;color:var(--ink)}.login{max-width:400px;margin:0 auto;padding:60px 24px;text-align:center}.login .mark{width:62px;height:62px;margin:0 auto 18px;border-radius:20px;font-size:30px}.login h1{font-size:29px;margin:0 0 4px}.login p{color:var(--ink-soft);margin:0 0 22px}.login .panel{background:var(--surface);border:1px solid rgba(230,222,204,.6);border-radius:var(--r-card);padding:20px;box-shadow:var(--shadow-lift)}.error{color:var(--danger);font-size:14px;margin-bottom:10px}.empty{text-align:center;color:var(--ink-soft);padding:24px 10px;font-size:14px}.empty .big{font-size:40px;margin-bottom:8px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.shop-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}.shop-cats::-webkit-scrollbar{display:none}.shop-chip{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid rgba(196,154,60,.28);color:var(--ink-mute);font-size:13px;font-weight:700;white-space:nowrap}.shop-chip.on{background:linear-gradient(150deg,var(--gold-bright),var(--gold));color:#3d2c05;border-color:transparent}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.sp-card{background:var(--surface);border:1px solid rgba(230,222,204,.7);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;cursor:pointer}.sp-img{position:relative;aspect-ratio:1/1;background:#f2ede1;display:grid;place-items:center;overflow:hidden}.sp-img img{width:100%;height:100%;object-fit:cover}.sp-noimg{font-size:40px;opacity:.5}.sp-sale{position:absolute;top:8px;left:8px;background:var(--terra);color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:8px}.sp-oos{position:absolute;bottom:0;left:0;right:0;background:#443328b3;color:#fff;font-size:11px;text-align:center;padding:3px}.sp-name{padding:9px 11px 4px;font-size:13.5px;font-weight:700;line-height:1.25;color:var(--ink);flex:1}.sp-foot{display:flex;align-items:center;justify-content:space-between;padding:4px 11px 11px;gap:6px}.sp-price{font-size:14px;font-weight:800;color:var(--gold-ink)}.sp-add{width:34px;height:34px;flex:0 0 auto;border-radius:11px;background:linear-gradient(150deg,var(--gold-bright),var(--gold));color:#3d2c05;font-size:22px;font-weight:700;line-height:1;display:grid;place-items:center;box-shadow:0 2px 8px #c49a3c59}.sp-vars{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.sp-var{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border-radius:12px;background:var(--surface-2, #f2ede1);border:1.5px solid rgba(196,154,60,.28);color:var(--ink);font-size:13.5px;font-weight:700}.sp-var span{font-size:12px;color:var(--gold-ink);font-weight:800}.sp-var.on{border-color:var(--gold);background:#fff7e6}.sp-var.off{opacity:.4;text-decoration:line-through}.sp-buy{display:flex;align-items:center;gap:14px}.sp-buy-price{font-size:24px;font-weight:800;color:var(--gold-ink);font-variant-numeric:tabular-nums}.cart-bar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-b) + 22px);width:min(420px,calc(100% - 32px));z-index:39;display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:16px;background:linear-gradient(150deg,#4c6b46,#3a5537);color:#f6eeda;font-size:15px;font-weight:700;box-shadow:0 10px 26px #3a553766}.cart-bar-n{min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--gold);color:#3d2c05;font-size:13px;font-weight:800;display:grid;place-items:center}.cart-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(230,222,204,.7)}.cart-img{width:54px;height:54px;flex:0 0 auto;border-radius:12px;background:#f2ede1;display:grid;place-items:center;overflow:hidden;font-size:22px}.cart-img img{width:100%;height:100%;object-fit:cover}.cart-nm{font-size:14px;font-weight:700;color:var(--ink);line-height:1.25}.cart-price{font-size:14px;font-weight:800;color:var(--gold-ink);margin-top:2px}.qty{display:flex;align-items:center;gap:6px;flex:0 0 auto}.qty button{width:30px;height:30px;border-radius:9px;background:var(--surface);border:1px solid rgba(196,154,60,.3);color:var(--ink);font-size:18px;font-weight:700}.qty span{min-width:22px;text-align:center;font-weight:800}.cart-sum{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:17px}.co-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.co-chip{flex:1 1 40%;min-width:120px;height:44px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);font-size:14px;font-weight:700}.co-chip.on{border-color:var(--sage);background:#97a98329;color:var(--ink)}.co-input{width:100%;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);padding:12px 14px;font-size:15px;color:var(--ink);margin-bottom:10px;resize:vertical;font-family:inherit}.co-input:focus{outline:none;border-color:var(--gold)}.pay-qr{display:block;width:240px;max-width:78%;margin:4px auto 12px;border-radius:18px;background:#fff;padding:10px;box-shadow:var(--shadow-btn)}.pay-ok{text-align:center;padding:12px 4px}.pay-ok .big{font-size:52px;margin-bottom:6px}.loy{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:12px 0 4px}.loy-badge{font-size:13px;font-weight:800;color:var(--gold, #c49a3c);margin-bottom:8px}.loy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px;color:var(--ink)}.loy-row+.loy-row{border-top:1px dashed rgba(230,222,204,.8)}.loy-cb{color:var(--ink-soft)}.loy-tg{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.loy-tg input{position:absolute;opacity:0;width:0;height:0}.loy-sw{width:40px;height:24px;border-radius:999px;background:#ddd3c0;position:relative;transition:background .15s;flex:0 0 auto}.loy-sw:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.loy-tg input:checked+.loy-sw{background:var(--gold-bright, #d8b158)}.loy-tg input:checked+.loy-sw:after{transform:translate(16px)}.cart-sum.pay{margin-top:4px;font-size:17px}.cart-sum.pay b{color:var(--terra)}
