:root{--wine: #b91d33;--bg: #f5f5f5;--card: #ffffff;--text: #1c1c1e;--muted: #8a8a8e;--border: #e6e6e6;--purple: #6c2bd9;--tabbar-h: 64px;--header-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#root{height:100%}.app{position:relative;max-width:430px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 40px #00000014}.header{flex:0 0 auto;height:var(--header-h);background:var(--card);border-bottom:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;padding:8px 18px;z-index:20}.header h1{font-size:19px;font-weight:700;margin:0;letter-spacing:-.3px}.header .subtitle{font-size:12px;color:var(--muted);margin-top:2px}.main{flex:1 1 auto;position:relative;overflow:hidden}.panel{display:none;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:14px}.panel.active{display:block}.panel#panel-ai.active{display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}.section-title{font-size:18px;font-weight:700;margin:0}.link{color:var(--wine);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:2px;cursor:pointer}.pos-bar{background:var(--card);padding:12px 18px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pos-bar .pos-label{font-size:11px;color:var(--muted)}.pos-bar .pos-name{font-size:16px;font-weight:700;margin-top:2px}.pos-bar .pos-addr{font-size:12px;color:var(--muted);margin-top:2px}.pos-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}.pos-actions .heart{color:var(--wine);font-size:20px}.cart-badge{position:relative;background:var(--wine);color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.cart-badge .count{position:absolute;top:-4px;right:-4px;background:#fff;color:var(--wine);border:1.5px solid var(--wine);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.search{margin:0 18px 14px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.banners{display:flex;gap:12px;overflow-x:auto;padding:0 18px 14px;scrollbar-width:none}.banners::-webkit-scrollbar{display:none}.banner{flex:0 0 auto;width:130px;height:58px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;overflow:hidden}.banner img{width:100%;height:100%;object-fit:contain;padding:8px 12px}.banner.coca,.banner.bokados{background:#fff;border:1px solid var(--border)}.resurtir{background:#f3e9f7;margin:0;padding:16px 18px 18px}.resurtir-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.resurtir-head .left{display:flex;align-items:center;gap:10px}.resurtir-head .icon{font-size:22px}.resurtir-head h2{font-size:18px;font-weight:700;margin:0}.resurtir-head .sub{font-size:12px;color:var(--muted);margin-top:2px}.product-card{background:var(--card);border-radius:16px;padding:16px;box-shadow:0 1px 3px #0000000f}.product-card .top{display:flex;justify-content:space-between;align-items:flex-start}.pieces-tag{background:#4caf50;color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px}.product-card .heart-out{color:var(--muted);font-size:18px}.product-img{height:140px;display:flex;align-items:center;justify-content:center;margin:8px 0 14px;font-size:46px}.product-img img{height:100%;width:auto;object-fit:contain}.product-card .name{font-size:14px;line-height:1.35}.product-card .price{font-size:19px;font-weight:800;margin:12px 0 6px}.product-card .pkg-label{font-size:12px;color:var(--muted);margin-bottom:6px}.qty-row{display:flex;gap:10px}.qty-input{flex:1;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:15px;background:#fafafa}.qty-add{background:var(--purple);color:#fff;border:none;border-radius:10px;width:56px;font-size:24px;cursor:pointer}.subtotal-bar{background:var(--card);border-top:1px solid var(--border);margin-top:16px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.subtotal-bar .label{font-size:13px;color:var(--muted)}.subtotal-bar .amount{font-size:20px;font-weight:800}.panel-pad{padding:16px 18px}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.cat-card{background:var(--card);border-radius:14px;padding:14px 8px 12px;text-align:center;box-shadow:0 1px 3px #0000000d;cursor:pointer}.cat-card .emoji{font-size:34px;height:50px;display:flex;align-items:center;justify-content:center}.cat-card .circle{width:56px;height:56px;margin:0 auto;border-radius:50%;background:#e8202a;display:flex;align-items:center;justify-content:center;font-size:28px}.cat-card .label{font-size:12px;font-weight:600;margin-top:10px;line-height:1.25}.points-card{background:linear-gradient(120deg,#ff7a00,#ff3d00);color:#fff;border-radius:18px;padding:18px;position:relative;overflow:hidden}.points-card .updated{display:inline-flex;align-items:center;gap:6px;background:#ffffff2e;border-radius:20px;padding:5px 12px;font-size:11px}.points-card .gana-logo{position:absolute;top:16px;right:18px;font-weight:900;font-size:24px;font-style:italic}.points-card .mis{margin-top:18px;font-size:16px;opacity:.95}.points-card .value{font-size:38px;font-weight:800;display:flex;align-items:center;gap:8px;margin-top:2px}.points-card .points-celebrate{position:absolute;right:6px;bottom:-6px;background:none;border:none;padding:0;cursor:pointer}.hello-avatar{display:flex;align-items:center;gap:10px;width:100%;background:var(--card);border:none;border-bottom:1px solid var(--border);padding:6px 14px;cursor:pointer;text-align:left}.hello-avatar-text{font-size:13px;font-weight:600;color:var(--wine);line-height:1.3;overflow:hidden;max-width:0;opacity:0;transform:translate(-6px);transition:max-width .45s ease,opacity .35s ease,transform .45s ease}.hello-avatar-text.show{max-width:320px;opacity:1;transform:translate(0)}.hello-avatar-text.dots{max-width:40px;opacity:1;transform:translate(0);letter-spacing:2px}.points-warn{background:#fdf3d6;color:#7a5a12;border-radius:12px;padding:12px 14px;font-size:13px;margin-top:14px;text-align:center}.two-cards{display:flex;gap:12px;margin-top:14px}.mini-card{flex:1;background:var(--card);border-radius:14px;padding:14px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:10px;cursor:pointer}.mini-card .mc-icon{font-size:26px}.mini-card .mc-label{font-size:13px;font-weight:600}.retos-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.reto-card{background:var(--card);border-radius:16px;overflow:hidden;box-shadow:0 1px 4px #0000000f;margin-bottom:16px}.reto-top{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 0}.reto-tag{background:#ff8c00;color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:10px}.reto-body{display:flex;gap:12px;padding:12px 14px 4px;align-items:center}.reto-body .reto-img{font-size:34px;flex:0 0 auto}.reto-body .reto-title{font-size:15px;font-weight:700;line-height:1.3}.reto-meta{display:flex;gap:10px;padding:0 14px 12px}.reto-pill{background:#fdf3d6;color:#7a5a12;font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px}.reto-pill.time{background:#f1f1f1;color:var(--muted)}.reto-btn{margin:0 14px 12px;background:var(--wine);color:#fff;border:none;width:calc(100% - 28px);padding:13px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.reto-foot{text-align:center;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding:10px}.goal-screen{padding-bottom:22px}.goal-hero{color:#fff;background:radial-gradient(circle at 86% 18%,rgba(255,255,255,.26),transparent 28%),linear-gradient(145deg,var(--goal-color),#242424);border-radius:16px;padding:16px;margin-top:14px;overflow:hidden}.goal-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.goal-kicker{display:inline-flex;color:#ffffffd1;font-size:12px;font-weight:800;text-transform:uppercase}.goal-hero h2{margin:4px 0 2px;font-size:22px}.goal-hero p{margin:0;font-size:13px;color:#ffffffd1}.goal-ai-pill{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:#ffffff29;color:#fff;font-weight:900;cursor:pointer}.goal-path{display:flex;align-items:center;margin:22px 0 18px}.goal-node{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff38;border:2px solid rgba(255,255,255,.36);font-size:13px;font-weight:900;flex:0 0 auto}.goal-node.done,.goal-node.active{background:#fff;color:var(--goal-color)}.goal-path-line{height:8px;flex:1;border-radius:999px;background:#fff3;overflow:hidden}.goal-path-line span{display:block;height:100%;border-radius:inherit;background:#fff}.goal-path-line.muted span{background:#ffffff8c}.goal-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#ffffff21;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px}.goal-hero-bottom span{font-size:12px;color:#ffffffc7}.goal-hero-bottom strong{max-width:52%;text-align:right;font-size:14px}.goal-picker,.missions-section{margin-top:18px}.profile-summary-card,.generated-goals{background:var(--card);border-radius:16px;border:1px solid var(--border);padding:14px;margin-top:14px}.profile-summary-top{display:flex;gap:12px;align-items:flex-start}.profile-summary-top h2{margin:0;font-size:18px}.profile-summary-top p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.profile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.profile-metrics div{background:#f7f7f7;border-radius:12px;padding:10px}.profile-metrics span{display:block;color:var(--muted);font-size:11px}.profile-metrics strong{display:block;margin-top:3px;font-size:12px;line-height:1.15}.goal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.goal-section-head h2{margin:0;font-size:18px}.goal-section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.goal-chips{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.goal-chips::-webkit-scrollbar{display:none}.goal-chip{flex:0 0 154px;min-height:86px;display:flex;align-items:flex-start;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;text-align:left;cursor:pointer;color:var(--text)}.goal-chip.active{border-color:var(--goal-color);box-shadow:0 6px 18px #00000014}.goal-chip-icon{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--goal-color) 14%,#fff);color:var(--goal-color);display:flex;align-items:center;justify-content:center;font-weight:900}.goal-chip strong{display:block;font-size:13px;line-height:1.2}.goal-chip small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.goal-card{background:var(--card);border-radius:16px;padding:16px;margin-top:16px;box-shadow:0 1px 4px #0000000f}.active-goal-card{color:#fff;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.26),transparent 26%),linear-gradient(145deg,var(--goal-color),#6f1020);overflow:hidden;box-shadow:0 10px 24px #b91d3338}.goal-card-title{display:flex;align-items:center;justify-content:space-between;color:var(--goal-color);font-size:12px;font-weight:800}.active-goal-card .goal-card-title{color:#ffffffdb}.active-goal-card .goal-card-title strong{background:#ffffff2e;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:5px 10px;color:#fff}.active-goal-card h3{margin:8px 0 4px;font-size:20px}.active-goal-card p{margin:0;color:#ffffffd1;font-size:13px}.goal-progress{height:12px;border-radius:999px;background:#eee;overflow:hidden;margin:16px 0}.goal-progress span{display:block;height:100%;border-radius:inherit;background:var(--goal-color)}.active-goal-card .goal-progress{background:#fff3}.active-goal-card .goal-progress span{background:#fff}.goal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.goal-stats div{background:#f7f7f7;border-radius:12px;padding:10px}.active-goal-card .goal-stats div{background:#ffffff24;border:1px solid rgba(255,255,255,.22)}.goal-stats span,.goal-impact span{display:block;color:var(--muted);font-size:11px}.active-goal-card .goal-stats span{color:#ffffffbd}.goal-stats strong{display:block;margin-top:3px;font-size:13px;line-height:1.15}.active-goal-card .goal-stats strong{color:#fff}.goal-path-cta{width:100%;margin-top:12px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#ffffff2e;color:#fff;padding:11px;font-size:13px;font-weight:900;cursor:pointer}.goal-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.generated-goal-list{display:flex;flex-direction:column;gap:8px}.generated-goal-pill{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafafa;color:var(--text);font:inherit;text-align:left;cursor:pointer}.generated-goal-pill>span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--goal-color) 14%,#fff);color:var(--goal-color);font-weight:900}.generated-goal-pill>span img{width:100%;height:100%;border-radius:50%;object-fit:contain;padding:3px}.generated-goal-pill strong{display:block;font-size:13px}.generated-goal-pill small{color:var(--muted);font-size:11px}.goal-impact div{background:#fff7e6;border:1px solid #f2dfb3;border-radius:14px;padding:12px 10px}.goal-impact strong{display:block;margin-top:4px;font-size:17px}.goal-impact small{color:#7a5a12;font-size:10px}.goal-streak{flex:0 0 auto;background:#fdf3d6;color:#7a5a12;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.mission-card{display:flex;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:12px}.mission-card.accepted{border-color:#69b578;background:#f7fff8}.mission-step{display:flex;flex-direction:column;align-items:center;flex:0 0 30px}.mission-step span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--wine);color:#fff;font-size:13px;font-weight:900}.mission-content{flex:1;min-width:0}.mission-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mission-tag,.mission-check{font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px}.mission-tag{background:#f1f1f1;color:var(--muted)}.mission-check{background:#dcf7e2;color:#1f7a3a}.mission-card h3{margin:9px 0 5px;font-size:15px;line-height:1.25}.mission-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.mission-impact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mission-impact span{background:#fdf3d6;color:#7a5a12;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:800}.mission-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mission-actions button{border:none;border-radius:10px;padding:10px;font-size:12px;font-weight:800;cursor:pointer}.mission-primary{flex:1;min-width:118px;background:var(--wine);color:#fff}.mission-path{flex:1;min-width:96px;background:#fdf3d6;color:#7a5a12}.mission-secondary{flex:0 0 auto;background:#eee;color:var(--text)}.custom-goal-card,.social-missions-card,.achievements-card,.cluster-competition{background:var(--card);border-radius:16px;border:1px solid var(--border);padding:14px;margin-top:16px}.custom-goal-form{display:flex;flex-direction:column;gap:9px}.custom-goal-form select,.custom-goal-form input{width:100%;border:1px solid var(--border);border-radius:11px;background:#fafafa;padding:11px 12px;font:inherit;font-size:13px;color:var(--text)}.custom-goal-form button,.cluster-footer button{border:none;border-radius:11px;background:var(--wine);color:#fff;padding:12px;font-size:13px;font-weight:800;cursor:pointer}.custom-goal-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.empty-custom-goal{background:#f7f7f7;color:var(--muted);border-radius:12px;padding:12px;font-size:12px;line-height:1.35}.custom-goal-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fafafa}.custom-goal-item.active{border-color:#69b578;background:#f7fff8}.custom-goal-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.custom-goal-title strong{font-size:14px}.custom-goal-title span{flex:0 0 auto;background:#dcf7e2;color:#1f7a3a;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.custom-goal-item p{margin:6px 0 2px;color:var(--muted);font-size:12px}.custom-goal-item small{color:var(--muted);font-size:11px}.custom-goal-item>button{border:none;border-radius:10px;background:#eee;color:var(--text);padding:10px;font-size:12px;font-weight:800;cursor:pointer}.custom-goal-item.active>button{background:#dcf7e2;color:#1f7a3a}.custom-goal-item .custom-goal-path-button{grid-column:2;background:#fdf3d6;color:#7a5a12}.goal-progress.mini{height:8px;margin:9px 0 0}.goal-map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#1410166b;display:flex;justify-content:center;align-items:stretch}.goal-map-shell{position:relative;width:min(100%,430px);height:100%;overflow-y:auto;padding:14px 16px 28px;color:#2c1720;background:radial-gradient(circle at 85% 12%,rgba(185,29,51,.07),transparent 30%),radial-gradient(circle at 15% 88%,rgba(108,43,217,.06),transparent 30%),var(--bg)}.goal-map-topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;margin:-2px 0 12px;border-radius:20px;background:#ffffffe0;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 24px #c44dff26,0 0 40px #ff6b6b14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.goal-map-topbar span,.goal-map-banner span{display:block;color:#8c3b59;font-size:11px;font-weight:900;text-transform:uppercase}.goal-map-topbar strong{display:block;max-width:280px;margin-top:2px;font-size:15px;line-height:1.18}.goal-map-topbar button{width:36px;height:36px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 3px 10px #ee5a244d;transition:transform .15s ease}.goal-map-topbar button:active{transform:scale(.9)}.goal-map-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px auto 12px;padding:10px 14px;max-width:300px;border-radius:999px;background:#fff4d1;border:2px solid #f0b54a;box-shadow:0 7px #b0602a29}.goal-map-banner strong{color:#b91d33;font-size:14px}.goal-map-coach{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;margin-bottom:12px;border-radius:18px;background:#ffffffd9;border:1px solid rgba(255,255,255,.9);box-shadow:0 4px 16px #c44dff1a}.goal-map-coach span{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;font-size:12px;font-weight:900;box-shadow:0 3px 8px #ee5a244d}.goal-map-coach p{margin:0;color:#5c2b3f;font-size:13px;line-height:1.35}.goal-map-agent-panel{margin:0 0 16px;padding:12px;border-radius:18px;background:#ffffffe0;border:1px solid rgba(255,255,255,.94);box-shadow:0 10px 24px #50273f1f}.goal-map-agent-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.goal-map-agent-head span{display:block;color:#8c3b59;font-size:11px;font-weight:900;text-transform:uppercase}.goal-map-agent-head strong{display:block;margin-top:2px;color:#2c1720;font-size:14px}.goal-map-agent-head small{flex:0 0 auto;border-radius:999px;background:#dcf7e2;color:#1f7a3a;padding:4px 8px;font-size:10px;font-weight:900}.goal-map-stop-voice{flex:0 0 auto;border:none;border-radius:999px;background:#b91d33;color:#fff;padding:7px 10px;font-size:10px;font-weight:900;cursor:pointer;box-shadow:0 6px 14px #b91d3338}.goal-map-agent-messages{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 2px 8px}.goal-map-agent-msg{max-width:88%;border-radius:14px;padding:9px 10px;font-size:12px;line-height:1.35}.goal-map-agent-msg.bot{align-self:flex-start;background:#fff4d1;color:#5c2b3f;border:1px solid #f0d99a}.goal-map-agent-msg.user{align-self:flex-end;background:#b91d33;color:#fff}.goal-map-agent-msg.typing{min-width:42px;text-align:center;font-weight:900}.goal-map-agent-prompts{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.goal-map-agent-prompts::-webkit-scrollbar{display:none}.goal-map-agent-prompts button{flex:0 0 auto;border:1px solid #f0d99a;border-radius:999px;background:#fff9e8;color:#7a5a12;padding:8px 10px;font-size:11px;font-weight:900;cursor:pointer}.goal-map-agent-input{display:grid;grid-template-columns:1fr auto;gap:8px}.goal-map-agent-input input{min-width:0;border:1px solid rgba(185,29,51,.18);border-radius:12px;background:#fff;padding:10px 11px;font:inherit;font-size:12px;color:#2c1720}.goal-map-agent-input button{border:none;border-radius:12px;background:#b91d33;color:#fff;padding:0 12px;font-size:12px;font-weight:900;cursor:pointer}.goal-map-agent-input button:disabled,.goal-map-agent-input input:disabled{opacity:.62;cursor:not-allowed}.candy-track{position:relative;display:flex;flex-direction:column;align-items:center;padding:30px 0 20px;min-height:480px}.candy-track:before{content:"";position:absolute;top:20px;bottom:20px;left:50%;width:10px;background:var(--wine);border-radius:999px;transform:translate(-50%);opacity:.15;z-index:1}.candy-node{position:relative;z-index:2;display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px}.candy-node.candy-left{flex-direction:row;padding-left:36px}.candy-node.candy-left .candy-card{margin-left:4px}.candy-node.candy-right{flex-direction:row-reverse;padding-right:36px}.candy-node.candy-right .candy-card{margin-right:4px}.candy-circle{flex:0 0 auto;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;border:3px solid rgba(255,255,255,.85);box-shadow:0 5px #00000026,inset 0 -4px 8px #00000021;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;padding:0;font:inherit;position:relative}.candy-circle:hover{transform:scale(1.18) rotate(-5deg)}.candy-node:nth-child(1) .candy-circle{background:linear-gradient(135deg,#ff6b6b,#ee5a24);box-shadow:0 5px #ee5a2466,0 0 20px #ff6b6b4d,inset 0 -4px 8px #00000021}.candy-node:nth-child(2) .candy-circle{background:linear-gradient(135deg,#ffd93d,#ff9f43);box-shadow:0 5px #ff9f4366,0 0 20px #ffd93d4d,inset 0 -4px 8px #00000021}.candy-node:nth-child(3) .candy-circle{background:linear-gradient(135deg,#6bcbff,#0abde3);box-shadow:0 5px #0abde366,0 0 20px #6bcbff4d,inset 0 -4px 8px #00000021}.candy-node:nth-child(4) .candy-circle{background:linear-gradient(135deg,#c44dff,#a55eea);box-shadow:0 5px #a55eea66,0 0 20px #c44dff4d,inset 0 -4px 8px #00000021}.candy-node:nth-child(5) .candy-circle{background:linear-gradient(135deg,#ff9ff3,#f368e0);box-shadow:0 5px #f368e066,0 0 20px #ff9ff34d,inset 0 -4px 8px #00000021}.candy-circle span{text-shadow:0 2px 4px rgba(0,0,0,.2)}.candy-circle b{position:absolute;right:-6px;top:-7px;width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#38bd4b;color:#fff;border:3px solid #fff;font-size:9px;box-shadow:0 3px 8px #1f7a3a47}.candy-card{background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,.85);box-shadow:0 8px 24px #0000001a;max-width:200px;transition:all .25s ease;opacity:0;pointer-events:none}.candy-node:hover{z-index:20}.candy-node:hover .candy-card{opacity:1;pointer-events:auto;transform:translateY(-2px);box-shadow:0 12px 28px #00000026}.candy-card-actions{display:grid;gap:8px;margin-top:10px}.candy-card small{display:inline-flex;border-radius:999px;padding:3px 8px;background:linear-gradient(135deg,#fdf3d6,#fce4b8);color:#8a5b08;font-size:10px;font-weight:900;margin-bottom:6px}.candy-card h3{margin:0 0 4px;font-size:14px;color:var(--wine);line-height:1.2}.candy-card p{margin:0;color:#555;font-size:11px;line-height:1.35;max-height:72px;overflow-y:auto}.candy-card button{width:100%;margin-top:0;border:none;border-radius:999px;padding:10px;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #ee5a244d;transition:transform .15s ease}.candy-card button:active{transform:scale(.96)}.candy-card button:disabled{opacity:.7;cursor:wait}.goal-map-shell{background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.9),transparent 13%),radial-gradient(circle at 86% 28%,rgba(255,235,160,.92),transparent 12%),radial-gradient(circle at 10% 82%,rgba(148,191,90,.34),transparent 18%),linear-gradient(145deg,#ffe5f0,#f7bbd3 36%,#bdebd1 36%,#84ddbb)}.goal-map-topbar{background:#fffaf4eb}.goal-map-banner{max-width:none;border:none;box-shadow:none;background:transparent;padding:0 6px}.goal-map-banner span{color:#4a3333;font-size:16px;text-transform:none}.goal-map-banner strong{border-radius:999px;background:#f8d66d;color:#6a3c00;padding:7px 12px;font-size:12px}.goal-map-level-progress{height:10px;border-radius:999px;background:#fff;overflow:hidden;margin:8px 6px 14px;box-shadow:inset 0 1px 4px #00000014}.goal-map-level-progress span{display:block;height:100%;border-radius:inherit;background:#42ba4e;transition:width .35s ease}.goal-map-road{position:relative;display:block;height:660px;padding:0;margin:12px 0 18px}.goal-map-road:before{display:none}.goal-map-curve{position:absolute;top:8px;right:0;bottom:0;left:0;width:100%;height:520px;overflow:visible;filter:drop-shadow(0 5px 0 rgba(95,135,49,.18))}.goal-map-curve path{fill:none;stroke:#94bf5a;stroke-width:20;stroke-linecap:round}.goal-map-node{position:absolute;z-index:2;width:96px;height:auto;display:flex;flex-direction:column;align-items:center;gap:7px}.goal-map-node:hover{z-index:80}.goal-map-node:nth-child(2){left:20%;top:24px}.goal-map-node:nth-child(3){right:18%;top:160px}.goal-map-node:nth-child(4){left:16%;top:318px}.goal-map-node:nth-child(5){left:48%;top:492px}.goal-map-dot{position:relative;width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:4px solid #fff;box-shadow:0 8px #543f342e,0 10px 24px #543f3433;cursor:pointer;transition:transform .2s ease;overflow:visible;padding:0;font:inherit}.goal-map-dot img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff4d1}.goal-map-dot b{position:absolute;right:-2px;top:-4px;width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#38bd4b;color:#fff;border:3px solid #fff;font-size:14px;box-shadow:0 3px 8px #1f7a3a47}.goal-map-step-number{position:absolute;left:-8px;top:-8px;z-index:3;width:31px;height:31px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:#b91d33;border:3px solid #b91d33;font-size:14px;font-weight:900;box-shadow:0 4px 10px #5c1d3333}.goal-map-node.active .goal-map-dot{border-color:#b91d33;transform:scale(1.08)}.goal-map-node.selected .goal-map-dot{border-color:#ffd35a;box-shadow:0 8px #b91d332e,0 14px 28px #b91d3347;transform:scale(1.1)}.goal-map-node.locked .goal-map-dot{filter:grayscale(.28);opacity:.82}.goal-map-node:hover .goal-map-dot{transform:scale(1.12)}.goal-map-node-label{max-width:118px;color:#47322f;font-size:12px;line-height:1.16;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.65)}.goal-map-node-label span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:4px;border-radius:50%;background:#b91d33;color:#fff;font-size:11px;line-height:1}.goal-map-card{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:min(220px,calc(100vw - 64px));max-width:220px;padding:12px;border-radius:16px;background:#fffffffa;border:1px solid #fff;box-shadow:0 12px 26px #50273f2e;opacity:0;pointer-events:none;z-index:90}.goal-map-node:hover .goal-map-card{opacity:1;pointer-events:auto;transform:translate(-50%)}.goal-map-node:nth-child(2) .goal-map-card{left:58%}.goal-map-node:nth-child(3) .goal-map-card{left:42%}.goal-map-node:nth-child(4) .goal-map-card{left:62%}.goal-map-node:nth-child(5) .goal-map-card{top:auto;bottom:calc(100% + 8px);left:50%}.goal-map-card:before{display:none}.goal-map-card-actions{display:grid;gap:8px;margin-top:12px}.goal-map-card-actions button{width:100%;margin-top:0}.goal-map-card-actions button:disabled{cursor:wait;opacity:.72}.social-mission{border:1px solid var(--border);border-radius:14px;padding:12px;margin-top:10px;background:#fafafa}.social-mission-main{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.social-mission.en-progreso{border-color:#f2dfb3;background:#fff7e6}.social-mission.completada{border-color:#69b578;background:#f7fff8}.social-mission-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.social-mission-top span{background:#fdf3d6;color:#7a5a12;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.social-mission-top small{color:var(--muted);font-size:11px}.social-mission h3{margin:0;font-size:14px;line-height:1.25}.social-mission p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.social-mission button{border:none;border-radius:10px;background:var(--wine);color:#fff;padding:10px;font-size:12px;font-weight:800;cursor:pointer}.social-mission.completada button{background:#dcf7e2;color:#1f7a3a}.social-mission.tiktok-feature{background:linear-gradient(135deg,#fff7e6,#fff);border-color:#f2dfb3}.tiktok-participants{display:none;margin-top:12px;border-top:1px solid rgba(122,90,18,.18);padding-top:12px}.tiktok-participants-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.tiktok-participants-head strong{font-size:13px}.tiktok-participants-head span{color:#7a5a12;font-size:11px;font-weight:800}.tiktok-list{display:flex;flex-direction:column;gap:8px}.tiktok-card{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;text-decoration:none;color:var(--text);background:#ffffffc2;border:1px solid rgba(242,223,179,.9);border-radius:12px;padding:9px}.tiktok-play{width:34px;height:34px;border-radius:50%;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.tiktok-card strong{display:block;font-size:12px}.tiktok-card small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.tiktok-card b{color:var(--wine);font-size:12px}.tiktok-feed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000094;display:flex;align-items:center;justify-content:center;padding:18px}.tiktok-feed-shell{width:min(390px,100%);height:min(760px,92vh);border-radius:20px;overflow:hidden;background:#111;color:#fff;box-shadow:0 20px 48px #00000052}.tiktok-feed-header{height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#000000b8;border-bottom:1px solid rgba(255,255,255,.12)}.tiktok-feed-header span{display:block;color:#ffffffa3;font-size:11px;font-weight:800;text-transform:uppercase}.tiktok-feed-header strong{display:block;margin-top:2px;font-size:15px}.tiktok-feed-header button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff1f;color:#fff;font-size:13px;font-weight:900;cursor:pointer}.tiktok-feed{height:calc(100% - 58px);overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}.tiktok-feed::-webkit-scrollbar{display:none}.tiktok-slide{position:relative;height:100%;min-height:520px;scroll-snap-align:start;background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.18),transparent 28%),linear-gradient(150deg,#191919,#b91d33 58%,#111);display:flex;align-items:flex-end;padding:18px}.tiktok-slide:nth-child(2){background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.18),transparent 30%),linear-gradient(150deg,#111,#6c2bd9 58%,#111)}.tiktok-slide:nth-child(3){background:radial-gradient(circle at 80% 26%,rgba(255,255,255,.18),transparent 30%),linear-gradient(150deg,#111,#0f8f5f 58%,#111)}.tiktok-slide:nth-child(4){background:radial-gradient(circle at 35% 18%,rgba(255,255,255,.18),transparent 30%),linear-gradient(150deg,#111,#f07c00 58%,#111)}.tiktok-slide-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.tiktok-mock-top{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:2;display:flex;gap:16px;align-items:center;color:#ffffffb3;font-size:13px;font-weight:800}.tiktok-mock-top strong{color:#fff;border-bottom:2px solid #fff;padding-bottom:3px}.tiktok-thumbnail{width:min(250px,70%);aspect-ratio:9 / 16;border-radius:22px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(#0000001f,#00000075),repeating-linear-gradient(135deg,#ffffff29 0,#ffffff29 10px,#ffffff0f 10px,#ffffff0f 20px),linear-gradient(160deg,#fff3,#ffffff05);box-shadow:0 18px 42px #00000059;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;text-align:left}.tiktok-thumbnail-label{align-self:flex-start;background:#ffffff2e;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase}.tiktok-thumbnail strong{margin-top:10px;color:#fff;font-size:22px;line-height:1.05}.tiktok-thumbnail small{margin-top:6px;color:#ffffffc7;font-size:12px;line-height:1.25}.tiktok-slide-play{position:absolute;width:74px;height:74px;border-radius:50%;background:#ffffff29;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tiktok-slide-play:before{content:"";width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:19px solid #fff;transform:translate(3px)}.tiktok-side-actions{position:absolute;right:16px;bottom:126px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:5px}.tiktok-side-actions span{width:42px;height:42px;border-radius:50%;background:#ffffff29;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:900}.tiktok-side-actions small{color:#fffc;font-size:10px;font-weight:800}.tiktok-slide-copy{position:relative;z-index:1;width:calc(100% - 54px)}.tiktok-slide-copy span{color:#ffffffb3;font-size:12px;font-weight:800}.tiktok-slide-copy h3{margin:7px 0 4px;font-size:25px}.tiktok-slide-copy p{margin:0 0 14px;color:#ffffffd1;font-size:14px}.tiktok-slide-copy a{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;color:#111;text-decoration:none;padding:12px 16px;font-size:13px;font-weight:900}.goal-section-head.compact{align-items:center}.view-link{color:#35a7e0;font-size:12px;font-weight:900;text-transform:uppercase}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.achievement-badge{text-align:center;min-width:0}.achievement-badge.locked{opacity:.36;filter:grayscale(.65)}.badge-shield{position:relative;height:62px;border-radius:12px 12px 16px 16px;background:var(--badge-color);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;box-shadow:inset 0 -10px #0000001a}.badge-shield:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translate(-50%);width:28px;height:16px;background:var(--badge-color);clip-path:polygon(0 0,100% 0,50% 100%)}.badge-shield span{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;background:#ffffff3d;display:flex;align-items:center;justify-content:center;font-size:13px}.badge-shield img{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;background:#ffffff3d;object-fit:contain;padding:4px}.achievement-badge small{display:block;margin-top:10px;color:var(--text);font-size:10px;font-weight:800;line-height:1.1}.cluster-challenge{background:linear-gradient(135deg,#fff7e6,#f7fff8);border:1px solid #f2dfb3;border-radius:14px;padding:12px}.cluster-challenge strong{display:block;font-size:14px;line-height:1.25}.cluster-challenge span{display:block;margin-top:5px;color:#7a5a12;font-size:12px}.ranking-list{display:flex;flex-direction:column;gap:9px;margin-top:12px}.ranking-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:10px;background:#fafafa}.ranking-row.me{border-color:var(--wine);background:#fff5f6}.ranking-pos{width:28px;height:28px;border-radius:50%;background:var(--wine);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.ranking-row strong{display:block;font-size:13px}.ranking-row b{font-size:13px}.ranking-progress{height:7px;border-radius:999px;background:#eee;overflow:hidden;margin-top:6px}.ranking-progress span{display:block;height:100%;border-radius:inherit;background:var(--wine)}.cluster-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.cluster-footer span{color:var(--muted);font-size:12px;font-weight:800}.cluster-footer button{flex:0 0 auto;padding:10px 12px;font-size:12px}.feedback-card{background:#fff;border-radius:16px;border:1px solid var(--border);padding:14px;margin-top:16px;transition:all .3s ease}.feedback-card.feedback-state-positive{border-color:#4caf50;background:#f1f8e9}.feedback-card.feedback-state-negative{border-color:var(--wine);background:#fff5f6}.feedback-card h2{margin:0;font-size:16px}.feedback-card p{color:var(--muted);font-size:12px;line-height:1.35;margin:5px 0 0}.feedback-actions{display:flex;gap:8px;margin-top:12px}.feedback-actions button{flex:1;border:1px solid var(--border);border-radius:10px;padding:10px 8px;background:#fafafa;color:var(--text);font-size:12px;font-weight:800;cursor:pointer;transition:all .2s ease}.feedback-actions button.active-si{background:#4caf50;color:#fff;border-color:#4caf50}.feedback-actions button.active-no{background:var(--wine);color:#fff;border-color:var(--wine)}.feedback-comment-area{margin-top:14px;display:flex;flex-direction:column;gap:10px;animation:fadeIn .3s ease}.feedback-comment-area textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;font-family:inherit;font-size:13px;resize:none;outline:none;background:#fff}.feedback-comment-area textarea:focus{border-color:var(--wine)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.roadmap-shell{background:linear-gradient(180deg,#1a1a2e,#16213e)!important;display:flex;flex-direction:column}.roadmap-path-container{flex:1;overflow-y:auto;position:relative;padding:40px 0 100px;min-height:800px}.roadmap-path-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.roadmap-steps{position:relative;z-index:2;width:100%}.roadmap-step-node{position:absolute;display:flex;align-items:center;gap:15px;width:220px;transition:transform .3s ease}.roadmap-step-node.left{left:20px;flex-direction:row;text-align:left}.roadmap-step-node.right{right:20px;flex-direction:row-reverse;text-align:right}.roadmap-node-circle{width:50px;height:50px;border-radius:50%;background:var(--wine);border:4px solid #fff;box-shadow:0 0 20px #b91d3399,inset 0 0 10px #0000004d;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:18px;flex-shrink:0}.roadmap-node-content{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.15)}.roadmap-node-content strong{display:block;font-size:14px;color:#fff}.roadmap-node-content p{margin:4px 0 0;font-size:11px;color:#ffffffb3;line-height:1.3}.roadmap-close-btn{margin:16px;flex-shrink:0;background:#fff!important;color:var(--wine)!important}.clickable-pill{width:100%;border:1px solid var(--border);text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;background:#fafafa;padding:10px;border-radius:12px;transition:all .2s ease}.clickable-pill:active{transform:scale(.98);background:#f0f0f0}.arrow-right{margin-left:auto;color:var(--muted);font-weight:700}.upload-shell{background:#fff!important;color:var(--wine)!important;display:flex;flex-direction:column}.upload-shell .tiktok-feed-header{background:#fff!important;border-bottom:1px solid var(--border)!important;flex-shrink:0}.upload-shell .tiktok-feed-header span,.upload-shell .tiktok-feed-header strong{color:var(--wine)!important}.upload-shell .tiktok-feed-header button{background:#f5f5f5!important;color:var(--wine)!important;border:1px solid var(--border)!important}.upload-content{padding:0;text-align:center;display:flex;flex-direction:column;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.upload-content p{margin:0;font-size:16px;font-weight:700;color:var(--wine)}.upload-dropzone{border:2px dashed var(--border);border-radius:16px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;background:#fafafa}.upload-dropzone span{font-size:40px}.upload-dropzone label{background:#eee;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.upload-submit-btn{background:var(--wine);color:#fff;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;cursor:pointer}.pedidos-banners{display:flex;gap:10px;margin:14px 0}.filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:13px;padding:7px 16px;border-radius:20px;cursor:pointer}.chip.active{background:var(--wine);color:#fff;border-color:var(--wine)}.pedidos-month{display:flex;align-items:center;justify-content:space-between;margin:16px 0 4px;font-size:13px;color:var(--muted)}.order-card{background:var(--card);border-radius:14px;padding:14px;box-shadow:0 1px 3px #0000000d;margin-top:12px}.order-top{display:flex;justify-content:space-between;align-items:flex-start}.order-no{font-size:13px;color:var(--muted)}.order-no b{color:var(--text)}.order-ref{font-size:12px;color:var(--muted);margin-top:2px}.order-info-icon{color:var(--wine);font-size:18px}.order-body{display:flex;gap:12px;margin-top:12px;align-items:center}.order-truck{font-size:30px;flex:0 0 auto}.order-qty{font-size:15px;font-weight:700}.order-price{font-size:14px;margin-top:2px}.order-date{font-size:12px;color:var(--muted);margin-top:2px}.eval-btn{background:#fff;color:var(--wine);border:1.5px solid var(--wine);border-radius:10px;padding:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.eval-btn:active{background:var(--wine);color:#fff}.eval-group{margin-bottom:20px}.eval-group label{display:block;font-size:14px;font-weight:700;margin-bottom:10px;color:#1c1c1e}.star-rating{display:flex;gap:8px}.star-rating button{background:none;border:none;font-size:28px;color:#d1d1d6;cursor:pointer;padding:0;line-height:1}.star-rating button.active{color:#fc0}.bool-options{display:flex;gap:12px}.bool-options button{flex:1;padding:12px;border-radius:10px;border:1px solid var(--border);background:#fafafa;font-size:14px;font-weight:700;cursor:pointer}.bool-options button.active{background:var(--wine);color:#fff;border-color:var(--wine)}.order-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.order-status{display:inline-flex;align-items:center;gap:6px;color:#2e9e4f;font-size:13px;font-weight:600}.chat-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--card);border-bottom:1px solid var(--border);padding:4px 0}.chat-messages{flex:1 1 auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.msg{max-width:78%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.4;word-wrap:break-word}.msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.msg.user{align-self:flex-end;background:var(--wine);color:#fff;border-bottom-right-radius:4px}.chat-input-bar{flex:0 0 auto;display:flex;gap:10px;padding:12px 14px;background:var(--card);border-top:1px solid var(--border)}.chat-input{flex:1;border:1px solid var(--border);border-radius:22px;padding:11px 16px;font-size:15px;background:#fafafa;outline:none}.chat-input:focus{border-color:var(--wine)}.chat-send{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--wine);color:#fff;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-send:active{transform:scale(.94)}.tabbar{flex:0 0 auto;height:var(--tabbar-h);background:var(--card);border-top:1px solid var(--border);display:flex;z-index:20;padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;color:var(--muted);padding:6px 0;font-family:inherit}.tab .tab-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.tab .tab-icon svg{width:24px;height:24px;display:block}.tab .tab-icon svg path,.tab .tab-icon svg circle,.tab .tab-icon svg line,.tab .tab-icon svg rect{stroke:currentColor}.tab .tab-icon svg .fillable{fill:currentColor;stroke:none}.tab .tab-label{font-size:9px;font-weight:600}.tab.active{color:var(--wine)}.tab .tab-icon svg{opacity:.45;transition:opacity .15s}.tab.active .tab-icon svg{opacity:1}.cat-image{width:auto;height:50px;max-width:100%;object-fit:contain}.valle-img{height:56px}.ranking-list-v2{display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden}.ranking-row-v2{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;transition:background .2s ease}.rank-num{width:24px;font-size:13px;color:silver;font-weight:500;text-align:left}.rank-avatar{width:40px;height:40px;border-radius:50%;background:#f0f2f5;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.rank-details{flex:1;display:flex;flex-direction:column;gap:2px;text-align:left}.rank-details strong{font-size:14px;color:#1c1c1e;font-weight:700}.rank-details small{font-size:11px;color:#9a9a9a}.rank-score{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1c1c1e}.rank-star{color:#d1d1d6;font-size:14px}.ranking-row-v2.me{border-left:5px solid var(--wine);background:linear-gradient(90deg,rgba(185,29,51,.04),transparent)}.ranking-row-v2.me .rank-num{color:var(--wine);font-weight:800}.ranking-row-v2.me .rank-details strong,.ranking-row-v2.me .rank-score{color:var(--wine)}.ranking-row-v2.me .rank-star-circle{width:28px;height:28px;border-radius:50%;background:var(--wine);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;box-shadow:0 4px 10px #b91d334d}.podium-section{padding:40px 18px 20px;background:linear-gradient(180deg,var(--wine) 0%,#7a1222 100%);display:flex;justify-content:center;align-items:flex-end;gap:8px;min-height:300px;position:relative;overflow:hidden;flex-shrink:0}.podium-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% -20%,rgba(255,255,255,.3),transparent 70%),repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 0,transparent 20px);pointer-events:none}.ranking-tabs{display:flex;justify-content:center;gap:20px;padding:10px 0 20px;background:var(--wine);color:#fff9;font-size:14px;font-weight:700;flex-shrink:0}.ranking-tabs span.active{color:#fff;border-bottom:2px solid #fff;padding-bottom:4px}.podium-item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.podium-avatar-shell{position:relative;margin-bottom:12px}.podium-avatar{width:62px;height:62px;border-radius:50%;border:4px solid rgba(255,255,255,.4);background:#fff3;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 10px 25px #0003;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative;z-index:1}.podium-item.first .podium-avatar{width:82px;height:82px;border-color:#fffc;transform:translateY(-10px)}.podium-crown{position:absolute;top:-28px;left:50%;transform:translate(-50%) rotate(-5deg);font-size:30px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));z-index:10}.podium-name{color:#fff;font-size:12px;font-weight:800;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.podium-block{width:100%;background:linear-gradient(180deg,#ffffff40,#ffffff14);border-radius:16px 16px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:15px;color:#fff;font-weight:900;position:relative;border:1px solid rgba(255,255,255,.15);border-bottom:none;box-shadow:inset 0 1px #fff3}.podium-item.second .podium-block{height:100px}.podium-item.first .podium-block{height:140px;background:linear-gradient(180deg,#ffffff59,#ffffff1f)}.podium-item.third .podium-block{height:80px}.podium-number{font-size:48px;opacity:.8}.podium-score-pill{position:absolute;top:-15px;background:#fff;color:var(--wine);padding:5px 12px;border-radius:20px;font-size:13px;font-weight:900;box-shadow:0 6px 15px #0003;display:flex;align-items:center;gap:4px}.leaderboard-chart-container{padding:24px 18px;background:#fff;border-radius:24px 24px 0 0;margin-top:-20px;position:relative;z-index:2;box-shadow:0 -10px 30px #0000000d}.leaderboard-chart-container h4{margin:0 0 20px;font-size:16px;color:var(--text);font-weight:800}.leaderboard-chart{display:flex;flex-direction:column;gap:20px}.leaderboard-item{display:flex;flex-direction:column;gap:8px}.leaderboard-label-row{display:flex;justify-content:space-between;align-items:center}.leaderboard-name{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#1c1c1e}.leaderboard-rank{font-size:11px;font-weight:900;color:#9a9a9a;width:24px;text-align:left}.leaderboard-value{font-weight:800;color:var(--wine);font-size:14px}.leaderboard-bar-track{height:10px;background:#f0f0f2;border-radius:5px;overflow:hidden}.leaderboard-bar-fill{height:100%;background:linear-gradient(90deg,#fbe9eb,#ef9a9a);border-radius:5px;transition:width 1s ease-out}.leaderboard-item.me .leaderboard-bar-fill{background:linear-gradient(90deg,#ff5252,var(--wine))}.leaderboard-item.me .leaderboard-name{color:var(--wine)}.monster-img{height:45px}.header-auth .header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-auth .header-info{flex:1;min-width:0}.header-auth .header-info h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-auth .header-info .subtitle{display:block}.header-logout{flex:0 0 auto;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--wine);font-size:12px;font-weight:700;padding:6px 12px;cursor:pointer;font-family:inherit}.login-screen{max-width:430px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--card);display:flex;flex-direction:column;box-shadow:0 0 40px #00000014}.login-header{text-align:center;padding:48px 24px 32px}.login-logo{height:48px;object-fit:contain;margin-bottom:16px}.login-title{margin:0;font-size:28px;font-weight:800;color:var(--wine);letter-spacing:-.5px}.login-subtitle{margin:8px 0 0;font-size:14px;color:var(--muted)}.login-list{flex:1;display:flex;flex-direction:column;gap:12px;padding:0 18px 32px;overflow-y:auto}.login-card{display:block;width:100%;border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--bg);text-align:left;cursor:pointer;font-family:inherit;color:var(--text);transition:all .15s ease}.login-card:active{transform:scale(.98);border-color:var(--wine);box-shadow:0 2px 12px #b91d331f}.login-card-badge{display:inline-block;background:var(--wine);color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;margin-bottom:8px}.login-card-name{font-size:17px;font-weight:700;margin-bottom:4px}.login-card-desc{font-size:12px;color:var(--muted);line-height:1.35;margin-bottom:6px}.login-card-meta{font-size:11px;color:var(--muted);font-weight:600}
