:root{--bg: #1a1220;--panel: rgba(255, 248, 252, .94);--coral: #ef6b8a;--ink: #3a2430;--muted: #8a6070;--line: rgba(239, 107, 138, .25);--shadow: 0 12px 32px rgba(40, 10, 30, .25);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink)}#app{position:relative;width:100%;height:100%}#game-canvas{display:block;width:100%;height:100%;touch-action:none}.top-bar{position:absolute;inset:0 0 auto;z-index:22;display:flex;align-items:center;gap:16px;padding:12px 16px;background:linear-gradient(180deg,rgba(26,18,32,.85),rgba(26,18,32,.35) 70%,transparent);color:#fff;pointer-events:none}.top-bar>*{pointer-events:auto}.brand h1{margin:0;font-size:22px;letter-spacing:.08em;color:#ffd0de}.brand p{margin:2px 0 0;font-size:12px;opacity:.85}.scene-nav{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.scene-nav button{border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;border-radius:999px;padding:8px 14px;font-size:14px;cursor:pointer;min-height:40px;touch-action:manipulation}.scene-nav button.active,.scene-nav button:hover{background:var(--coral);border-color:transparent}.wallet{background:#ffffff29;border-radius:14px;padding:6px 12px;font-weight:700;font-size:13px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2}.virtual-stick{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:16;width:118px;height:118px;touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto}.virtual-stick[hidden]{display:none!important}.virtual-stick-base{width:100%;height:100%;border-radius:50%;background:#1e101c47;border:2px solid rgba(255,255,255,.38);box-shadow:inset 0 0 24px #ffffff14;position:relative}.virtual-stick-knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:linear-gradient(180deg,#ff9bb0,var(--coral));border:2px solid rgba(255,255,255,.55);box-shadow:0 4px 12px #280a1e59;transform:translate(0);will-change:transform}.virtual-stick.is-active .virtual-stick-base{background:#1e101c66;border-color:#ffd2dc8c}.virtual-stick-label{position:absolute;left:50%;bottom:-18px;transform:translate(-50%);font-size:11px;color:#ffffffbf;letter-spacing:.08em;pointer-events:none;white-space:nowrap}.wallet small{font-size:10px;font-weight:500;opacity:.88}.hud-panel{position:absolute;top:76px;right:14px;z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-height:calc(100% - 110px);pointer-events:none}.hud-panel>*{pointer-events:auto}.hud-toggle{border:none;border-radius:999px;padding:12px 18px;font-size:15px;font-weight:700;cursor:pointer;background:linear-gradient(180deg,#ff9bb0,var(--coral));color:#6d1230;box-shadow:var(--shadow);min-height:44px;touch-action:manipulation}.hud-body{width:min(280px,42vw);display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:calc(100vh - 160px)}.hud-panel.hud-collapsed .hud-body{display:none}.hud-panel.hud-collapsed .hud-toggle:after{content:""}.hud-panel:not(.hud-collapsed) .hud-toggle{background:#ffffffe6;color:var(--ink)}.hud-card{background:var(--panel);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}.hud-card strong{display:block;margin-bottom:6px;color:#9a3a58}.hud-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.45}.inv-list{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto}.inv-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.inv-list .empty{color:var(--muted);border:none}.inv-list .head{font-weight:700;color:#9a3a58;border:none;padding-top:8px}.inv-list .guide-todo{color:var(--muted)}.inv-list .guide-current{color:#9a3a58;font-weight:700;background:#fff0f5;margin:2px -6px;padding:8px 6px;border-radius:8px;border:none}.inv-list .guide-done{color:#6a9a78;text-decoration:line-through;opacity:.75;border:none}.inv-list .guide-clickable{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:manipulation}.inv-list .guide-clickable:hover,.inv-list .guide-clickable:active{background:#ffe8f0;border-radius:8px}.inv-list .guide-clickable.guide-done:hover{opacity:1;text-decoration:none}.inv-list .guide-go{flex-shrink:0;font-style:normal;font-size:11px;font-weight:700;color:var(--coral);white-space:nowrap}.inv-list .guide-done .guide-go{color:#6a9a78}#questText.quest-clickable{cursor:pointer;color:#9a3a58;text-decoration:underline;text-underline-offset:3px;touch-action:manipulation}#questText.quest-clickable:active{opacity:.75}.hud-actions{display:flex;flex-direction:column;gap:8px}.btn{border:none;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:700;cursor:pointer;background:#eee4ea;color:var(--ink);min-height:44px;touch-action:manipulation}.btn-coral{background:linear-gradient(180deg,#ff9bb0,var(--coral));color:#6d1230}.btn-ghost{background:transparent;border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.makeup-panel{position:absolute;top:76px;right:14px;bottom:18px;width:min(360px,40vw);z-index:12;background:var(--panel);border-radius:18px;padding:12px 12px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;overflow:hidden}.makeup-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-shrink:0}.makeup-panel-head strong{color:#9a3a58;font-size:16px}.makeup-tip{font-size:11px;color:var(--muted)}.makeup-nav{display:flex;flex-shrink:0;gap:4px;padding:4px;border-radius:14px;background:#fff0f5;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.makeup-nav::-webkit-scrollbar{display:none}.makeup-nav button{flex:1 0 auto;min-width:52px;border:none;background:transparent;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700;color:#8a5a6e;cursor:pointer;min-height:40px;touch-action:manipulation;white-space:nowrap}.makeup-nav button.active{background:#ff6b8a;color:#fff;box-shadow:0 4px 12px #ef6b8a59}.makeup-subnav{display:flex;flex-shrink:0;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.makeup-subnav[hidden]{display:none!important}.makeup-subnav button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:#5a4050;cursor:pointer;min-height:36px;touch-action:manipulation;white-space:nowrap}.makeup-subnav button.active{background:#ffe0ea;border-color:var(--coral);color:#9a3a58;font-weight:800}.makeup-options.options-props,.makeup-options.options-catalog{grid-template-columns:repeat(2,1fr)}.product-card-lg{min-height:96px!important;padding:12px 8px!important}.product-icon-lg{font-size:40px!important}.makeup-modes{display:none!important}.makeup-tabs{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto}.makeup-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer;min-height:40px;touch-action:manipulation;white-space:nowrap;flex:0 0 auto}.makeup-tabs button.active{background:#ffe0ea;border-color:var(--coral);font-weight:700}.makeup-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;flex:1 1 auto;min-height:0;overflow:auto;align-content:start;-webkit-overflow-scrolling:touch;padding-right:2px}.makeup-options button,.makeup-options .product-card{border:2px solid transparent;border-radius:12px;padding:10px 8px;font-size:13px;cursor:pointer;background:#fff6f9;min-height:76px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;touch-action:manipulation}.makeup-options button.selected,.makeup-options .product-card.selected{border-color:var(--coral);background:#ffe8f0;box-shadow:0 0 0 2px #ef6b8a33}.product-icon{font-size:28px;line-height:1.2}.product-name{font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:4px}.product-desc{font-size:10px;color:var(--muted);font-weight:400}.product-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.makeup-panel .btn-coral{width:100%;margin-top:auto;min-height:44px}.swatch{width:100%;height:16px;border-radius:6px;margin-bottom:6px}body.scene-makeup .hud-panel{display:none}.makeup-2d{position:absolute;inset:0;z-index:8;display:flex;align-items:stretch;justify-content:flex-start;padding:72px 340px 24px 24px;background:radial-gradient(ellipse at 30% 20%,#ffe0f0 0%,transparent 50%),linear-gradient(165deg,#f8e8f4,#efe0ff 40%,#ffe8f0);pointer-events:none}.makeup-2d[hidden]{display:none!important}body.makeup-2d-active .top-bar{opacity:.95}.m2d-mirror{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:min(420px,48vw);margin:0 auto 0 4vw}.m2d-frame{width:100%;padding:14px;border-radius:28px;background:linear-gradient(145deg,#ffc0d8,#f8a0c0 40%,#e890b0);box-shadow:0 18px 40px #b43c6447,inset 0 1px #ffffff80}.m2d-glass{position:relative;aspect-ratio:360 / 580;border-radius:20px;overflow:hidden;background:#fff8fc;box-shadow:inset 0 0 0 3px #ffffffb3}.bg-styles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.bg-styles-label{font-size:12px;font-weight:700;color:#9a3a58;margin-right:4px}.bg-style-btn{width:40px;height:40px;border-radius:12px;border:2px solid transparent;background:#fff6f9;cursor:pointer;font-size:18px;display:grid;place-items:center;touch-action:manipulation;padding:0}.bg-style-btn.active{border-color:var(--coral);background:#ffe8f0;box-shadow:0 0 0 2px #ef6b8a40}.m2d-bg{position:absolute;inset:0;transition:background .35s ease;background:radial-gradient(ellipse at 50% 100%,#ffe08a55 0%,transparent 45%),linear-gradient(180deg,#e8d0ff,#ffd0e8 55%,#fff0f8)}.m2d-bg.bg-rose{background:radial-gradient(ellipse at 50% 100%,#ffe08a55 0%,transparent 45%),linear-gradient(180deg,#ffd0e0,#ffe8f0,#fff5f8)}.m2d-bg.bg-sky{background:radial-gradient(circle at 20% 20%,#ffffff88 0%,transparent 35%),linear-gradient(180deg,#b8dfff,#e8f4ff 55%,#f5fbff)}.m2d-bg.bg-lavender{background:radial-gradient(ellipse at 70% 30%,#e0c8ff88 0%,transparent 40%),linear-gradient(180deg,#d8c0f0,#efe0ff,#f8f0ff)}.m2d-bg.bg-mint{background:radial-gradient(ellipse at 40% 80%,#a8f0c855 0%,transparent 45%),linear-gradient(180deg,#c8f0e0,#e8fff4 55%,#f5fffa)}.m2d-bg.bg-sunset{background:radial-gradient(ellipse at 80% 20%,#ffc08088 0%,transparent 40%),linear-gradient(180deg,#ffb090,#ffe0c0,#fff5e8)}.m2d-bg.bg-star{background:radial-gradient(circle at 20% 30%,#fff8 0 2px,transparent 3px),radial-gradient(circle at 70% 20%,#fff8 0 1.5px,transparent 2.5px),radial-gradient(circle at 40% 60%,#fff6 0 2px,transparent 3px),linear-gradient(180deg,#2a2048,#4a3870,#6a5090)}.m2d-bg.bg-cream{background:radial-gradient(ellipse at 50% 100%,#ffe8b055 0%,transparent 45%),linear-gradient(180deg,#fff5e8,#fff8f0 55%,#fff)}.m2d-bg.bg-cherry{background:radial-gradient(circle at 15% 25%,#ffb0c866 0 18px,transparent 20px),radial-gradient(circle at 75% 18%,#ffc0d066 0 14px,transparent 16px),radial-gradient(circle at 55% 70%,#ffe0ec66 0 22px,transparent 24px),linear-gradient(180deg,#ffd0e0,#fff0f5 55%,#fff8fa)}#m2dChar{position:relative;z-index:1;width:100%;height:100%;display:block;animation:m2dFloat 3.2s ease-in-out infinite}#m2dCanvas{display:none}@keyframes m2dFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.m2d-name{position:absolute;left:50%;top:12px;transform:translate(-50%);z-index:3;background:linear-gradient(135deg,#ff78a0f2,#ef6b8af2);color:#fff;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:20px;font-weight:800;padding:8px 22px;border-radius:999px;letter-spacing:.12em;box-shadow:0 6px 16px #c83c6447;white-space:nowrap;pointer-events:none}.m2d-hint{margin:12px 0 0;color:#9a5a78;font-size:13px;text-align:center}body.scene-makeup .makeup-panel{background:#fff8fcf7;border:1px solid rgba(239,107,138,.2)}.toast{position:absolute;left:50%;bottom:28px;transform:translate(-50%);z-index:20;background:#28101ceb;color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;max-width:min(520px,90vw);text-align:center;box-shadow:var(--shadow)}.modal{position:absolute;inset:0;z-index:30;background:#14081073;display:grid;place-items:center;padding:16px}.modal[hidden],.toast[hidden],.makeup-panel[hidden]{display:none!important}.modal-card{position:relative;width:min(420px,100%);background:var(--panel);border-radius:18px;padding:18px 18px 16px;box-shadow:var(--shadow)}.modal-close{position:absolute;top:8px;right:10px;z-index:2;width:36px;height:36px;border:none;border-radius:50%;background:#ffe8f0;color:#9a3a58;font-size:26px;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;touch-action:manipulation}.modal-close:hover{background:#ff6b8a;color:#fff}.modal-card.is-recipe,.modal-card:has(.recipe-panel){width:min(580px,100%);max-height:min(88vh,760px);overflow:hidden;display:flex;flex-direction:column;padding:12px 14px}.modal-card.is-recipe #modalTitle,.modal-card:has(.recipe-panel) #modalTitle{margin:0 40px 8px 0;font-size:18px;color:#9a3a58}.modal-card.is-recipe #modalBody,.modal-card:has(.recipe-panel) #modalBody{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.modal-card h3{margin:0 40px 8px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap}.modal-actions[hidden]{display:none!important}.modal-actions .btn{min-width:88px;flex:1 1 auto}.recipe-panel{color:var(--ink);display:flex;flex-direction:column;gap:8px;min-height:0;flex:1;height:100%}.recipe-power{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;flex-shrink:0;font-size:13px;color:var(--muted);padding:8px 10px;border-radius:12px;background:#fff6f9}.recipe-power.is-on{color:#2a8a4a;font-weight:600}.recipe-hint{margin:0;flex-shrink:0;font-size:12px;color:var(--muted);line-height:1.4}.recipe-tabs{display:flex;flex-wrap:nowrap;gap:6px;margin:0;flex-shrink:0;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.recipe-tab{appearance:none;flex:0 0 auto;border:1px solid var(--line);background:#fff8fa;color:var(--ink);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.recipe-tab.is-active{background:linear-gradient(180deg,#ff8aa8,#ef6b8a);border-color:transparent;color:#fff}@media(max-width:720px){.modal-card.is-recipe,.modal-card:has(.recipe-panel){width:100%;max-width:100%;max-height:min(90vh,720px)}}#guideSteps{margin:10px 0 0;max-height:min(36vh,280px);overflow-y:auto}#invCard[hidden]{display:none!important}.recipe-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:0;flex:1 1 auto;min-height:120px;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 4px 6px 2px;align-content:start}.recipe-card{appearance:none;border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 8px;cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s}.recipe-card.is-active{border-color:var(--coral);box-shadow:0 0 0 3px #ef6b8a33}.recipe-card-meta{margin-top:8px;display:flex;flex-direction:column;gap:4px;align-items:center}.recipe-card-meta strong{font-size:13px;line-height:1.3}.recipe-card-tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#f0e8ec;color:var(--muted)}.recipe-card-tag.tag-ok{background:#e2f5e8;color:#1f7a40}.recipe-card-tag.tag-miss{background:#ffe8ec;color:#c04060}.recipe-card-tag.tag-warn{background:#fff3d6;color:#9a6a10}.dish-preview{position:relative;width:72px;height:72px;margin:0 auto;border-radius:50%;background:var(--plate, #faf6f0);box-shadow:inset 0 0 0 3px #e8ddd4,0 4px 10px #00000014;overflow:hidden}.dish-preview--bowl{border-radius:50% 50% 46% 46%;box-shadow:inset 0 0 0 4px #d8c8b8,0 4px 10px #00000014}.dish-blob{position:absolute;display:block;box-shadow:0 1px 2px #0000001f}.recipe-detail{border-top:1px solid var(--line);padding-top:10px;flex-shrink:0;max-height:min(38vh,280px);overflow-y:auto;-webkit-overflow-scrolling:touch}.recipe-detail[hidden]{display:none!important}.recipe-detail-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}.recipe-detail-head .dish-preview{width:88px;height:88px;flex-shrink:0}.recipe-name{margin:0 0 4px;font-size:18px}.recipe-desc{margin:0;font-size:13px;color:var(--muted)}.recipe-ings{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.recipe-ings li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#fff8fa;font-size:14px}.recipe-ings li.is-have{background:#f0faf2}.recipe-ings li.is-missing{background:#fff0f3}.recipe-ings li.is-warn{background:#fff8e8}.ing-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000014}.ing-name{flex:1;font-weight:600}.ing-status{font-size:12px;color:var(--muted);margin-right:4px}.recipe-ings .btn-sm,.recipe-power .btn-sm{min-height:32px;padding:4px 10px;font-size:12px;flex:0 0 auto;min-width:auto}.recipe-actions{display:flex;flex-wrap:wrap;gap:8px}.recipe-block-wrap{display:flex;flex-direction:column;gap:8px;width:100%}.recipe-block{margin:0;font-size:13px;color:#9a5070}@media(max-width:1024px){.brand h1{font-size:18px}.scene-nav button{padding:10px 14px;font-size:13px;min-height:44px}.hud-body{width:min(280px,42vw)}.btn{min-height:46px;padding:12px 16px;font-size:15px}.product-card{min-height:72px;padding:12px}.char-style-btn{min-width:72px;min-height:64px}.makeup-subnav button,.makeup-tabs button,.makeup-nav button{min-height:40px;padding:8px 12px}}@media(max-width:720px){.top-bar{flex-wrap:wrap;gap:8px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.brand{width:100%}.scene-nav{margin-left:0;width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;gap:8px}.scene-nav button{flex:0 0 auto;min-height:44px;padding:10px 16px;font-size:14px}.wallet{margin-left:auto;font-size:14px;padding:8px 12px}.wallet small{display:none}.hud-panel{top:auto;bottom:max(12px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right));left:auto;width:auto;max-height:none;flex-direction:column;align-items:flex-end}.hud-body{width:min(300px,calc(100vw - 24px));max-height:36vh;flex-direction:column}body:not(.scene-makeup) .hud-panel:not(.hud-collapsed){bottom:max(12px,env(safe-area-inset-bottom));right:max(8px,env(safe-area-inset-right));left:auto;max-width:min(320px,calc(100vw - 16px))}body:not(.scene-makeup) .hud-panel:not(.hud-collapsed) .hud-body{width:min(300px,calc(100vw - 140px));max-height:min(34vh,280px)}body:not(.scene-makeup) .virtual-stick{z-index:18;bottom:max(20px,env(safe-area-inset-bottom))}.hud-card{min-width:0;flex-shrink:0}body.scene-makeup .makeup-panel{top:max(148px,calc(env(safe-area-inset-top) + 132px));bottom:max(8px,env(safe-area-inset-bottom));right:max(6px,env(safe-area-inset-right));left:auto;width:clamp(140px,42vw,200px);max-height:none;min-height:0;padding:6px 6px 8px;gap:5px;overflow:hidden;z-index:12}body.scene-makeup .makeup-panel-head{flex-shrink:0}body.scene-makeup .makeup-tip{display:none}body.scene-makeup .m2d-name{font-size:17px;padding:6px 16px;top:8px}body.scene-makeup .makeup-nav{flex-shrink:0;gap:2px;padding:3px}body.scene-makeup .makeup-nav button{min-width:40px;min-height:34px;padding:6px 8px;font-size:11px}body.scene-makeup .makeup-subnav,body.scene-makeup .makeup-tabs{flex-shrink:0;max-height:none;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}body.scene-makeup .makeup-subnav button,body.scene-makeup .makeup-tabs button{min-height:32px;padding:5px 10px;font-size:11px}body.scene-makeup .makeup-options{flex:1 1 auto;min-height:120px;max-height:none!important;overflow-y:auto;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(2,1fr);gap:5px;padding-bottom:4px}body.scene-makeup .makeup-options button,body.scene-makeup .makeup-options .product-card{min-height:56px;padding:6px 4px;font-size:12px}body.scene-makeup .makeup-panel .btn-coral{flex-shrink:0;margin-top:2px;min-height:40px;font-size:13px;padding:8px 10px}body.scene-makeup .makeup-2d{padding:max(148px,calc(env(safe-area-inset-top) + 132px)) calc(clamp(140px,42vw,200px) + 12px) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));align-items:center;justify-content:center}body.scene-makeup .m2d-mirror{max-width:min(100%,56vw);width:100%;margin:0 auto;flex:0 1 auto}body.scene-makeup .brand p{display:none}body.scene-makeup .wallet{font-size:12px;padding:6px 8px}body.scene-makeup .m2d-frame{padding:8px;border-radius:18px}body.scene-makeup .m2d-glass{max-height:min(72vh,520px);margin:0 auto}.virtual-stick{width:108px;height:108px;bottom:max(16px,env(safe-area-inset-bottom))}.product-card,.char-style-btn{min-height:64px}.toast{bottom:max(20px,env(safe-area-inset-bottom));font-size:14px;max-width:92vw;padding:12px 16px}.modal{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));align-items:flex-end}.modal-card{width:100%;max-width:100%;border-radius:18px 18px 12px 12px;padding:16px}.modal-actions .btn{min-height:48px;font-size:16px}}@media(max-width:420px){.brand h1{font-size:16px}.hud-body{max-height:32vh}body.scene-makeup .makeup-panel{width:clamp(132px,46vw,180px)}body.scene-makeup .makeup-2d{padding-right:calc(clamp(132px,46vw,180px) + 10px)}body.scene-makeup .m2d-mirror{max-width:min(100%,50vw)}body.scene-makeup .makeup-options{grid-template-columns:1fr 1fr;min-height:110px}.scene-nav button{padding:10px 12px;font-size:13px}}@media(min-width:721px)and (max-width:1100px){.top-bar{gap:12px;padding:12px 16px}.scene-nav button{min-height:44px;padding:10px 16px;font-size:14px}.hud-panel{top:84px;right:16px}.hud-body{width:min(300px,34vw)}.makeup-panel{width:min(360px,40vw);top:84px}.makeup-options{grid-template-columns:repeat(3,1fr)}.btn{min-height:46px}.modal-card{max-width:480px}}@media(min-width:1280px){.hud-body{width:300px}.brand h1{font-size:24px}}@media(orientation:landscape)and (max-height:500px){.hud-panel{inset:64px 8px 8px auto;max-height:none}body.scene-makeup .makeup-2d{padding:56px 12px 12px}body.scene-makeup .m2d-mirror{max-width:min(280px,42vw)}body.scene-makeup .m2d-glass{max-height:min(78vh,360px)}body.scene-makeup .makeup-panel{inset:56px 8px 8px auto;width:min(320px,48vw);max-height:calc(100vh - 72px)}.hud-body{width:min(240px,36vw);max-height:calc(100vh - 80px)}.makeup-panel{max-height:70vh;overflow:auto}.top-bar{padding:6px 10px}.wallet small{display:none}}
