body{margin:0;background:#faf9f7;color:#24211f;font-family:Jakarta,system-ui}button{touch-action:manipulation}#app{padding-bottom:98px;max-width:500px;margin:auto}button:focus-visible,input:focus-visible{outline:3px solid #ba9eff;outline-offset:3px}.f-header{padding:14px 16px 9px;display:flex;align-items:center;justify-content:space-between}.f-logo{font-size:27px;font-weight:850;letter-spacing:-1.5px;color:#6e48d4}.f-logo small{font-size:16px;color:#9985c5}.f-actions{display:flex;align-items:center;gap:8px}.f-pill{display:flex;border:1px solid #ebe6ef;background:white;border-radius:30px}.f-icon{height:42px;width:41px;display:grid;place-items:center;border:0;background:transparent;border-radius:50%;position:relative;color:#655e70}.f-avatar{border:3px solid white;background:#eee5ff;color:#704bdb;font-size:13px;font-weight:800}.f-badge{position:absolute;right:3px;top:0;background:#704bdb;color:white;border:2px solid #fff;font-size:9px;border-radius:12px;padding:0 4px}.f-hero{margin:6px 16px 16px;background:#ece3ff;border-radius:24px;padding:20px 17px 16px;position:relative;overflow:hidden}.f-hero h1{font-size:21px;line-height:1.22;letter-spacing:-.6px;margin:8px 0 7px;width:66%}.f-hero p{font-size:11px;color:#68577d;line-height:1.5;width:63%;margin:0 0 14px}.f-eyebrow{font-size:9px;letter-spacing:.09em;font-weight:800;color:#7a57b6}.f-mascot{position:absolute;right:-5px;top:9px;height:150px;width:130px;object-fit:contain}.f-prompt{position:relative;z-index:1;background:white;border:0;border-radius:30px;display:flex;align-items:center;justify-content:space-between;padding:6px 7px 6px 14px;width:100%;text-align:left;min-height:44px;color:#8b7b9d;font-size:11px}.f-prompt b{display:grid;place-items:center;border-radius:50%;background:#714bdc;color:white;height:32px;width:32px}.f-categories{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:8px 16px;position:sticky;top:0;background:#faf9f7f5;z-index:5;border-block:1px solid #eeebe7}.f-categories button{white-space:nowrap;border:1px solid #e9e3ef;background:white;border-radius:22px;padding:10px 13px;font-size:11px;color:#736b7c;min-height:39px}.f-categories button.active{background:#704bdb;color:white;border-color:#704bdb}.f-title{padding:19px 16px 11px;display:flex;align-items:center;justify-content:space-between}.f-title h2{margin:0;font-size:18px;letter-spacing:-.5px}.f-title p{margin:3px 0 0;font-size:10px;color:#9a8f83}.f-link{border:0;color:#704bdb;background:transparent;font-size:11px;min-height:40px}.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}.f-grid .product-card{min-width:0;border-radius:20px;overflow:hidden;border:1px solid #eee9e2;background:#fff;position:relative}.f-grid .product-image{height:auto;aspect-ratio:1.03;background:#eeebe6}.f-grid .product-image img{width:100%;height:100%;object-fit:cover}.f-grid .product-copy{padding:11px}.f-grid .price{font-size:15px;margin:0 0 5px;font-weight:800}.f-grid .product-name{font-size:11px;line-height:1.4;min-height:30px;margin:3px 0 7px}.f-meta{font-size:9px;color:#8c8074;display:flex;justify-content:space-between;gap:4px}.f-heart{position:absolute;right:8px;top:8px;background:#fff;height:33px;width:33px;border:0;border-radius:50%;display:grid;place-items:center;color:#82748d}.f-heart[aria-pressed=true]{color:#704bdb;background:#eee5ff}.f-heart[aria-pressed=true] svg{fill:#704bdb}.f-interlude{margin:17px 16px;background:#eee6fb;border-radius:21px;min-height:100px;padding:18px;position:relative;overflow:hidden}.f-interlude h3{font-size:15px;margin:4px 0;max-width:68%}.f-interlude img{position:absolute;right:4px;bottom:-6px;height:105px;width:95px;object-fit:contain}.f-interlude button{font-size:11px;border:0;background:#704bdb;color:white;border-radius:20px;padding:9px 13px;margin-top:7px}.f-harian{margin:0 16px 12px;display:flex;gap:10px;align-items:center;width:calc(100% - 32px);background:white;border:1px solid #e9e2ef;border-radius:18px;padding:10px;text-align:left}.f-harian img{width:43px;height:43px;object-fit:contain}.f-harian span{flex:1}.f-harian b{display:block;font-size:12px}.f-harian small{font-size:9px;color:#91837c}.f-live{margin:8px 16px 0}.f-live .f-title{padding:5px 0}.f-live-card{border:0;background:#eee4fa;border-radius:18px;text-align:left;padding:15px;width:100%;display:flex;align-items:center;gap:14px}.f-live-card img{width:75px;height:100px;object-fit:cover;border-radius:12px}.f-live-card b{display:block;font-size:13px}.f-live-card small{font-size:10px;color:#836991}.f-live-dot{background:#f5dce5;color:#b14160;border-radius:8px;padding:3px 7px;font-size:9px}.f-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fffc;border-top:1px solid #ece7e0;backdrop-filter:blur(16px);padding:9px 8px max(9px,env(safe-area-inset-bottom));z-index:10}.f-nav button{border:0;background:none;color:#938875;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:10px;min-width:55px;min-height:47px}.f-nav .active{color:#704bdb}.f-nav .camera svg{box-sizing:content-box;background:#704bdb;color:white;padding:12px;border-radius:18px;margin-top:-24px;border:5px solid #faf9f7;box-shadow:0 2px 8px #7751d733}.f-detail-top{position:sticky;top:0;z-index:8;background:#faf9f7ef;backdrop-filter:blur(15px);display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px}.f-photo{width:100%;height:300px;object-fit:cover;background:#eeece8}.f-info{padding:20px 18px}.f-info h1{font-size:23px;line-height:1.25;margin:8px 0 12px;letter-spacing:-.5px}.f-price{font-size:24px;font-weight:850}.f-source{background:#f0e9fb;color:#7650c4;font-size:10px;border-radius:8px;padding:5px 8px}.f-seller{display:flex;align-items:center;gap:10px;border-block:1px solid #eee7df;padding:15px 0;margin:18px 0}.f-seller b{display:block;font-size:13px}.f-seller small{font-size:10px;color:#92867b}.f-seller>span{flex:1}.f-seller .f-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.f-info h2{font-size:14px;margin:20px 0 10px}.f-spec{display:flex;justify-content:space-between;font-size:11px;padding:7px 0;gap:16px}.f-spec span{color:#8b8078}.f-info p{font-size:12px;line-height:1.7;color:#81756e}.f-variants{display:flex;gap:7px}.f-variants button{background:white;border:1px solid #e5dcee;border-radius:12px;min-width:44px;min-height:40px;font-size:12px}.f-variants button.active{border-color:#704bdb;color:#704bdb;background:#f0e9fc}.f-bottom{position:fixed;bottom:0;left:0;right:0;background:#fffe;display:flex;padding:12px 16px max(15px,env(safe-area-inset-bottom));gap:8px;border-top:1px solid #ece6f1;z-index:10}.f-button{min-height:47px;border:0;border-radius:14px;background:#704bdb;color:white;padding:12px 16px;font-size:12px;font-weight:800}.f-button.secondary{background:#fff;color:#704bdb;border:1px solid #ded1f3}.f-bottom .f-button{flex:1;padding:10px 6px}.focus-overlay{position:fixed;inset:0;background:#24163265;z-index:30;display:flex;align-items:flex-end}.focus-overlay[hidden]{display:none}.f-sheet{background:#faf9f7;width:100%;border-radius:27px 27px 0 0;padding:18px 20px 26px;max-height:85dvh;overflow-y:auto}.f-sheet header{display:flex;justify-content:space-between;align-items:center}.f-sheet h2{font-size:19px;margin:4px 0}.f-sheet h3{font-size:14px;margin-bottom:8px}.f-sheet p,.f-sheet li{font-size:12px;color:#7c716a;line-height:1.7}.f-sheet .f-button{width:100%;margin-top:10px}.f-sheet input{width:100%;font:16px Jakarta;padding:13px;border:1px solid #dfd6e9;border-radius:14px;margin:12px 0;background:white}.f-sheet .f-mascot{position:static;margin:auto;width:100px;height:110px}.f-qty{display:flex;align-items:center;gap:20px;margin:20px 0}.f-qty button{border:1px solid #ded1ee;border-radius:12px;background:white;width:44px;height:44px;font-size:22px;color:#704bdb}#notice{position:fixed;bottom:100px;left:25px;right:25px;background:#302838;color:white;border-radius:12px;padding:12px;text-align:center;font-size:12px;z-index:50;display:none}#notice.active{display:block}.f-footer{text-align:center;font-size:10px;color:#a2968a;padding:20px}.f-no-results{padding:28px 20px;text-align:center;color:#887a90;font-size:13px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.f-service-header{display:flex;align-items:center;justify-content:space-between;padding:17px 16px 12px}.f-service-header h1{font-size:21px;letter-spacing:-.7px;margin:0}.f-service-header h1 span{color:#cb772b}.f-service-identity{display:flex;align-items:center;gap:12px}.f-service-identity>span{width:39px;height:39px;display:grid;place-items:center;background:#e2f0e5;color:#31795c;border-radius:13px;flex-shrink:0}.f-service-identity small{font-size:9px;color:#998c7d}.f-food-head{margin:0 16px 0;padding:18px 17px 0;background:#f8eddd;border-radius:23px;position:relative;overflow:hidden}.f-food-head h2{font-size:24px;letter-spacing:-.7px;line-height:1.25;margin:7px 0 18px}.f-food-head>img{width:118px;height:130px;object-fit:contain;position:absolute;right:4px;top:4px}.f-food-head .f-eyebrow{color:#a5794c}.f-xp{position:relative;display:flex;align-items:center;gap:5px;border-top:1px solid #ebdcc9;padding:8px 0}.f-xp span{flex:1}.f-xp button{border:0;background:#fff7;color:#95734c;font-weight:700;padding:8px 9px;border-radius:12px;font-size:10px;min-height:35px}.f-service-search{display:flex;align-items:center;gap:9px;margin:14px 16px;background:white;border:1px solid #eae4dd;border-radius:16px;padding:11px;color:#9a8e80}.f-service-search input{width:100%;min-width:0;border:0;font:12px Jakarta;background:transparent;padding:3px;min-height:23px}.f-food-types{display:flex;gap:17px;margin:14px 16px 12px;overflow-x:auto}.f-food-types button{border:0;background:none;padding:2px;color:#8b8074;font:10px Jakarta;min-width:60px}.f-food-types img{width:55px;height:55px;border-radius:50%;margin:0 auto 6px;border:3px solid transparent}.f-food-types .active img{border-color:#be873e}.f-food-types .active{color:#955a22;font-weight:800}.f-result-count{font-size:11px;color:#948878;padding:10px 16px 0}.f-outlet{display:flex;align-items:center;gap:12px;margin:12px 16px;width:calc(100% - 32px);border:1px solid #ebe4dc;border-radius:20px;overflow:hidden;background:white;padding:9px;text-align:left}.f-outlet-photo{width:99px;height:111px;flex-shrink:0;position:relative}.f-outlet-photo img{width:100%;height:100%;object-fit:cover;border-radius:14px}.f-outlet-photo>span{position:absolute;left:6px;top:6px;background:#fff3dd;padding:3px 7px;border-radius:6px;font-size:9px;color:#ad7425}.f-outlet-copy{flex:1;min-width:0}.f-outlet h3{font-size:13px;margin:0 0 7px}.f-outlet p{font-size:10px;display:flex;align-items:center;color:#918779;margin:4px 0 10px;gap:3px}.f-outlet p svg{width:12px;height:12px}.f-outlet-tags{display:flex;flex-wrap:wrap;gap:4px}.f-outlet-tags span{background:#f3eee6;color:#8e7d65;font-size:8px;border-radius:6px;padding:4px 6px}.f-outlet>b{color:#b7a991;margin:0 3px}.f-map{display:flex;align-items:center;gap:7px;margin:20px auto 8px;background:#fff;border:1px solid #e3d7c7;box-shadow:0 4px 12px #55402510;color:#97723f;border-radius:24px;padding:11px 18px;font-size:12px}#app[data-service=makan] .f-categories .active{background:#b68140;border-color:#b68140}#app[data-service=sehat]{background:#fafbf8}.f-health-tabs{display:flex;gap:5px;background:#edf1e9;border-radius:15px;padding:5px;margin:6px 16px 20px}.f-health-tabs button{flex:1;min-height:36px;border:0;border-radius:11px;background:transparent;color:#84917d;font:11px Jakarta}.f-health-tabs .active{background:white;color:#47734f;box-shadow:0 2px 5px #4d683711;font-weight:750}.f-health-welcome{margin:0 17px 20px;position:relative;min-height:151px;padding-top:8px}.f-health-welcome h2{font-size:25px;line-height:1.22;letter-spacing:-.7px;max-width:70%;margin:8px 0}.f-health-welcome p{font-size:11px;color:#8b8e7c;max-width:63%;line-height:1.5}.f-health-welcome img{position:absolute;right:-9px;top:17px;width:119px;height:144px;object-fit:contain}.f-health-welcome .f-eyebrow{color:#7c946a}.f-health-scan{margin:0 16px;padding:18px;background:#eff5e9;border:1px solid #dce7d2;border-radius:22px}.f-health-scan h3{margin:0 0 5px;font-size:15px}.f-health-scan p{margin:0;font-size:10px;color:#849177;line-height:1.6}.f-health-actions{display:flex;gap:8px;margin-top:17px}.f-health-actions .f-button{flex:1;font-size:11px;min-height:44px;background:#577b42}.f-health-actions .secondary{background:white;border-color:#d8e4cd;color:#577b42}.f-target{width:calc(100% - 32px);margin:15px 16px;background:white;border:1px solid #e4e8de;padding:15px;border-radius:17px;display:flex;justify-content:space-between;color:#7f8977;min-height:54px}.f-target>span{display:flex;align-items:center;gap:9px;font-size:12px}.f-target svg{width:18px;height:18px}.f-health-log{margin:25px 18px}.f-health-log h3{font-size:15px;margin-bottom:8px}.f-health-log p{font-size:11px;color:#9b9d8c}.f-health-note{font-size:10px;color:#a0a292;margin:35px 18px 12px;line-height:1.7}.f-chat-account{display:flex;align-items:center;gap:10px;border:0;background:transparent;font-weight:800;color:#322d35;text-align:left}.f-chat-account small{display:block;font-size:9px;color:#a095a8;margin-top:4px;font-weight:500}.f-chat-avatar{height:44px;width:44px;display:grid;place-items:center;border-radius:50%;background:#eee7f8;color:#8669bd;font-size:16px;flex-shrink:0}.chat-search{margin-top:8px}.f-assistant-rows{margin:20px 16px 6px;background:#f2ecfc;border:1px solid #e9e0f5;border-radius:21px;padding:1px 12px}.f-chat-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #e9e1ed;background:transparent;padding:16px;text-align:left;color:#352c3e}.f-assistant-rows .f-chat-row{padding:13px 0}.f-chat-row:last-child{border:0}.f-chat-mascot{width:46px;height:48px;object-fit:contain;border-radius:14px;background:#eae0f6}.f-chat-copy{flex:1;min-width:0}.f-chat-copy b{display:block;font-size:13px}.f-chat-copy small{display:block;font-size:10px;color:#95869e;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-chat-copy i{font-size:8px;background:#e4d9f4;border-radius:5px;padding:2px 4px;font-style:normal;color:#9672c6;margin-left:3px}.f-chat-row time{font-size:8px;align-self:flex-start;padding-top:6px;color:#afa2b1}.f-chat-row>span:last-child:not(.f-chat-copy){color:#ab97bd}.f-assistant-rows+.f-title h2{font-size:14px;color:#8f8397}
/* Shared app identity and account placement, local design review. */
html{scrollbar-gutter:stable}.f-app-header{min-height:76px;padding:13px 16px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.f-app-brand{display:flex;align-items:center;gap:7px;min-width:0}.f-header-mascot{width:43px;height:49px;flex-shrink:0;border:0;background:transparent;position:relative;padding:0;overflow:visible;isolation:isolate}.f-header-mascot img{width:43px;height:49px;object-fit:contain;position:relative;z-index:1;transform-origin:50% 85%;animation:nemu-header-float 6s ease-in-out infinite}.f-mascot-shadow{position:absolute;bottom:1px;left:11px;right:9px;height:5px;background:#a382ca24;filter:blur(2px);border-radius:50%;animation:nemu-header-shadow 6s ease-in-out infinite}.f-mascot-spark{position:absolute;right:-3px;top:2px;font-size:11px;color:#a080d6;opacity:0;transform:scale(.7);animation:nemu-header-spark 6s ease-in-out infinite}.f-app-name{min-width:0;line-height:1.15}.f-app-name>span{font-size:17px;letter-spacing:-.7px;font-weight:850;color:#704bdb}.f-ai-mark{font-size:10px;color:#a08abc}.f-app-name h1{margin:3px 0 0;font-size:11px;letter-spacing:.01em;color:#918497;font-weight:650}.f-header-controls{display:flex;align-items:center;gap:7px;flex-shrink:0}.f-context-actions{display:flex;border-radius:24px;background:#fff;border:1px solid #e9e2ed}.f-context-actions .f-icon{width:40px;height:42px;color:#8a7c94}.f-context-actions svg{width:19px;height:19px}.f-profile-button{height:44px;width:44px;display:grid;place-items:center;flex-shrink:0;padding:3px;border:1px solid #e4d9f2;background:#fff;border-radius:50%;box-shadow:0 2px 7px #5d3b7710}.f-profile-button>span{height:34px;width:34px;border-radius:50%;background:#ede4fc;display:grid;place-items:center;color:#8058c8;font-size:12px;font-weight:800}.f-profile-button:active{background:#e9def8}.f-header-mascot.is-greeting img{animation:nemu-header-wave 1.05s ease-in-out both}.f-header-mascot.is-greeting .f-mascot-spark{animation:nemu-header-pop 1.05s ease-out both}.page-hidden .f-header-mascot *{animation-play-state:paused!important}@keyframes nemu-header-float{0%,16%,100%{transform:translateY(0) rotate(0)}4%{transform:translateY(-3px) rotate(-5deg)}9%{transform:translateY(-2px) rotate(4deg)}13%{transform:translateY(0) rotate(-2deg)}}@keyframes nemu-header-shadow{0%,16%,100%{transform:scale(1);opacity:1}7%{transform:scale(.8);opacity:.55}}@keyframes nemu-header-spark{0%,16%,100%{opacity:0;transform:scale(.6)}6%,10%{opacity:.75;transform:scale(1)}}@keyframes nemu-header-wave{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-6px) rotate(-12deg)}40%{transform:translateY(-4px) rotate(10deg)}60%{transform:translateY(-3px) rotate(-7deg)}80%{transform:translateY(-1px) rotate(4deg)}}@keyframes nemu-header-pop{0%,100%{opacity:0;transform:scale(.5)}30%,60%{opacity:1;transform:scale(1.15)}}@media(max-width:350px){.f-app-header{padding-inline:12px;gap:4px}.f-header-controls{gap:4px}.f-context-actions .f-icon{width:36px}.f-app-brand{gap:4px}.f-header-mascot{width:39px}.f-header-mascot img{width:39px}.f-app-name>span{font-size:16px}}@media(prefers-reduced-motion:reduce){.f-header-mascot img,.f-header-mascot.is-greeting img,.f-mascot-shadow,.f-mascot-spark,.f-header-mascot.is-greeting .f-mascot-spark{animation:none!important;transform:none!important}.f-mascot-spark{display:none}}
