.hide,[hidden]{display:none!important}
:root{--ios-bg:#F2F2F7;--ios-card:#fff;--ios-sep:rgba(60,60,67,.12);--ios-sub:rgba(60,60,67,.6);--ink:#1C1C1E;--acc:#F5B700}
body.mmb{background:var(--ios-bg);color:var(--ink);font:17px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.mmb .nav{background:rgba(242,242,247,.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--ios-sep);padding:calc(8px + env(safe-area-inset-top)) 16px 8px}
.mmb .brand{font-size:1.05rem;font-weight:700}.mmb .brand img{width:30px;height:30px}
.testbar{position:sticky;top:0;z-index:8;margin:0 auto;width:max-content;max-width:92%;background:var(--ink);color:var(--acc);font-weight:600;font-size:.78rem;padding:5px 12px;border-radius:99px;margin-top:8px;transform:translateY(0)}
.mmw{max-width:640px;margin:auto;padding:10px 16px calc(110px + env(safe-area-inset-bottom))}
.mmhero{padding:6px 2px 4px}.mmhero h1{font-size:2.1rem;font-weight:800;letter-spacing:-.02em;margin:0}.sub2{color:var(--ios-sub);margin:.2em 0 1em;font-size:1rem}
.banner{background:var(--ios-card);border-radius:14px;padding:12px 14px;margin:10px 0;font-size:.95rem}.banner.err{background:#FFEBEA;color:#B3261E}.banner.ok{background:var(--ios-card)}
.wz-top{display:flex;align-items:center;gap:12px;margin:6px 0 14px}.wz-back{border:0;background:none;color:var(--ink);font:inherit;font-weight:600;padding:8px 2px;min-width:64px;text-align:left;cursor:pointer}.wz-back:disabled{opacity:0}
.wz-prog{flex:1;height:6px;background:rgba(120,120,128,.16);border-radius:99px;overflow:hidden}.wz-prog i{display:block;height:100%;width:0;background:var(--ink);border-radius:99px;transition:width .35s cubic-bezier(.2,.8,.2,1)}
.wz-count{font-size:.8rem;color:var(--ios-sub);min-width:38px;text-align:right}
.wz{position:relative;overflow:hidden}.scr{animation:inR .32s cubic-bezier(.2,.8,.2,1)}.scr.back{animation:inL .32s cubic-bezier(.2,.8,.2,1)}
@keyframes inR{from{opacity:0;transform:translateX(28px)}}@keyframes inL{from{opacity:0;transform:translateX(-28px)}}
.scr h2{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:4px 0 2px;text-align:left}
.lbl{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ios-sub);margin:22px 4px 6px;font-weight:600}
.list{background:var(--ios-card);border-radius:14px;overflow:hidden}.list label{display:block;cursor:pointer;margin:0;font-weight:500}
.list input{position:absolute;opacity:0;pointer-events:none}.list span{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 16px;border-bottom:.5px solid var(--ios-sep);font-size:1.05rem}
.list label:last-child span{border-bottom:0}.list span::after{content:"";width:22px;height:22px;border-radius:50%;border:2px solid rgba(60,60,67,.25);flex:none}
.list label:has(input:checked) span::after{border-color:var(--ink);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' stroke='%23F5B700' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}
.list label:active span{background:rgba(0,0,0,.04)}
.sw{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sw label{cursor:pointer;text-align:center;font-size:.82rem;font-weight:500;background:var(--ios-card);border-radius:16px;padding:14px 4px 10px;border:2px solid transparent;transition:transform .15s}
.sw label:active{transform:scale(.96)}.sw input{position:absolute;opacity:0;pointer-events:none}
.sw span{display:block;width:52px;height:52px;margin:0 auto 8px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.sw label:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 3px rgba(245,183,0,.35)}
.drop{display:grid;place-items:center;text-align:center;gap:8px;background:var(--ios-card);border-radius:20px;min-height:280px;cursor:pointer;overflow:hidden;position:relative}
.drop input{position:absolute;opacity:0;width:1px}.drop img{width:100%;height:320px;object-fit:cover}.drop .cam{font-size:2.6rem;display:block}.drop strong{color:var(--ink)}
.field{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ios-card);border-radius:14px;padding:6px 6px 6px 16px;margin:10px 0;min-height:54px}
.field input{border:0;background:var(--ios-bg);border-radius:10px;padding:10px 12px;font:inherit;width:120px;text-align:right}.field small{color:var(--ios-sub)}
.mmb textarea{width:100%;border:0;border-radius:14px;padding:14px;font:inherit;background:var(--ios-card);resize:vertical}
.rev{background:var(--ios-card);border-radius:14px;overflow:hidden}.rev div{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;border-bottom:.5px solid var(--ios-sep)}.rev div:last-child{border:0}.rev b{font-weight:500;color:var(--ios-sub)}
.rev i{display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:-3px;margin-right:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.rev img{width:40px;height:40px;object-fit:cover;border-radius:8px}
.fine{font-size:.82rem;color:var(--ios-sub);margin:12px 4px}
.ctabar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--ios-sep);padding:10px max(16px,calc((100% - 640px)/2 + 16px)) calc(10px + env(safe-area-inset-bottom))}
.ctainfo{display:none}.ctabar.info .ctainfo{display:grid;flex:1}.total{font-weight:700}.ctainfo small{color:var(--ios-sub);font-size:.72rem}
.pbtn{flex:1;min-height:52px;border:0;border-radius:14px;background:var(--ink);color:#fff;font:inherit;font-weight:600;font-size:1.05rem;cursor:pointer;transition:transform .12s,opacity .2s}
.pbtn:active{transform:scale(.98)}.pbtn:disabled{opacity:.35}.pbtn.yel{background:var(--acc);color:var(--ink)}.pbtn.sec{background:rgba(120,120,128,.14);color:var(--ink)}
.step{background:var(--ios-card);border-radius:20px;padding:18px}
.sh{display:flex;align-items:center;gap:10px;margin-bottom:6px}.sh h2{font-size:1.35rem;margin:0;text-align:left;font-weight:700}
.muted{color:var(--ios-sub)}.small{font-size:.85rem}
.bar{height:6px;background:rgba(120,120,128,.16);border-radius:99px;overflow:hidden;margin:10px 0 14px}.bar i{display:block;height:100%;width:5%;background:var(--ink);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.steplist{list-style:none;padding:0;margin:0}.steplist li{display:flex;gap:12px;align-items:center;min-height:44px;border-bottom:.5px solid var(--ios-sep);font-weight:500}.steplist li:last-child{border:0}
.steplist li i{width:24px;text-align:center;font-style:normal}.steplist li.todo{color:var(--ios-sub)}
.mock{margin:16px 0 0}.mock img{border-radius:16px;max-height:340px;margin:auto;width:auto}.mock figcaption{font-size:.82rem;color:var(--ios-sub);text-align:center;margin-top:6px}
.bee{font-size:1.4rem}.spin{display:inline-block;animation:fly 1.4s ease-in-out infinite}@keyframes fly{50%{transform:translateY(-4px) rotate(10deg)}}
.pv{margin-top:4px}.pvhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.pvhead h2{text-align:left;margin:0;font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.pvhead .kicker{margin:0;font-size:.75rem;color:var(--ios-sub);text-transform:uppercase;letter-spacing:.05em}
.tbtn{border:0;background:rgba(120,120,128,.14);border-radius:99px;padding:8px 14px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--ink)}
.pvgrid{display:grid;gap:14px}.stage{background:#fff;border-radius:22px;overflow:hidden;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.06)}
#v3{width:100%;height:min(56vh,560px);min-height:340px;position:relative;touch-action:none}#v3 canvas{display:block}
.loader{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--ios-sub)}.stagehint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.72rem;color:var(--ios-sub);pointer-events:none}
.panel .cap{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ios-sub);margin:8px 4px 6px;font-weight:600}
.parts{list-style:none;margin:0 0 10px;padding:0;background:#fff;border-radius:14px;overflow:hidden}
.parts button{width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;border-bottom:.5px solid var(--ios-sep);padding:0 14px;min-height:58px;cursor:pointer;font:inherit;text-align:left;color:var(--ink)}
.parts li:last-child button{border:0}.parts button:active,.parts button.sel{background:rgba(245,183,0,.12)}
.parts .dot{width:30px;height:30px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.parts .t{flex:1;display:grid}.parts .t b{font-weight:600}.parts .t small{color:var(--ios-sub);font-size:.85rem}.parts .chev{color:rgba(60,60,67,.3);font-size:1.4rem}
.acts{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;gap:10px;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--ios-sep);padding:10px max(16px,calc((100% - 640px)/2 + 16px)) calc(10px + env(safe-area-inset-bottom))}
.acts .pbtn.sec{flex:.7}
@media(min-width:960px){.mmw:has(#pv:not(.hide)){max-width:1100px}.pvgrid{grid-template-columns:1.3fr 1fr;align-items:start}.stage{position:sticky;top:80px}#v3{height:620px}.acts{position:static;background:none;border:0;padding:0;backdrop-filter:none}}
.sheet{position:fixed;inset:0;z-index:50}.sheetbg{position:absolute;inset:0;background:rgba(0,0,0,.35);animation:fade .2s}@keyframes fade{from{opacity:0}}
.sheetin{position:absolute;left:0;right:0;bottom:0;background:var(--ios-bg);border-radius:14px 14px 0 0;max-height:82vh;overflow:auto;padding:6px 16px calc(20px + env(safe-area-inset-bottom));animation:up .32s cubic-bezier(.2,.8,.2,1)}
@keyframes up{from{transform:translateY(100%)}}.grab{width:36px;height:5px;border-radius:9px;background:rgba(60,60,67,.3);margin:4px auto 10px}
.sheethd{display:flex;justify-content:space-between;align-items:center}.sheethd h3{margin:0;font-size:1.25rem;font-weight:700}.x{border:0;background:rgba(120,120,128,.16);border-radius:50%;width:32px;height:32px;font-size:.9rem;cursor:pointer;color:var(--ios-sub)}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.fgrid button{border:2px solid transparent;border-radius:16px;background:#fff;padding:14px 4px 10px;cursor:pointer;font:inherit;font-size:.8rem;font-weight:500;line-height:1.2;color:var(--ink);transition:transform .12s}
.fgrid button:active{transform:scale(.95)}.fgrid button i{display:block;width:48px;height:48px;border-radius:50%;margin:0 auto 8px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.fgrid button.on{border-color:var(--ink);box-shadow:0 0 0 3px rgba(245,183,0,.35)}
.fgrid small{display:block;color:var(--ios-sub);font-size:.7rem}
@media(min-width:760px){.sheetin{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(520px,92vw);border-radius:20px;animation:fade .2s}}
#sheetBody textarea{margin-top:10px}
#up input[type=file]{width:100%}

.deskart{display:none}
@media(min-width:960px){
 .mmw{max-width:1100px}.mmhero{max-width:1100px}
 #opts{display:grid;grid-template-columns:1fr 480px;gap:28px;align-items:start}
 .deskart{display:block;position:sticky;top:84px;background:#fff;border-radius:24px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
 .deskart img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}.deskart p{color:var(--ios-sub);font-size:.9rem;margin:10px 4px 0}
 .wzcol{background:#fff;border-radius:24px;padding:18px 22px 22px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
 .wzcol .list,.wzcol .rev,.wzcol .field,.wzcol textarea,.wzcol .drop{background:var(--ios-bg)}.wzcol .sw label{background:var(--ios-bg)}
 .ctabar{position:static;background:none;border:0;padding:16px 0 0;backdrop-filter:none;-webkit-backdrop-filter:none}
 .sw{grid-template-columns:repeat(4,1fr)}
 .sheet.pop .sheetbg{background:transparent}
 .sheet.pop .sheetin{position:absolute;transform:none;animation:fade .15s;width:420px;max-height:70vh;border-radius:18px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.18),0 0 0 .5px rgba(0,0,0,.08)}
 .sheet.pop .grab{display:none}.sheet.pop .fgrid{grid-template-columns:repeat(4,1fr)}.sheet.pop .fgrid button{background:var(--ios-bg)}
}

.bgrow{display:flex;gap:8px;overflow-x:auto;padding:10px 12px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.bgrow::-webkit-scrollbar{display:none}
.bgrow button{flex:0 0 auto;scroll-snap-align:start;display:flex;align-items:center;gap:7px;height:40px;padding:0 14px 0 5px;border-radius:20px;border:0;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);font:500 14px -apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;color:#1c1c1e;cursor:pointer;transition:transform .15s,box-shadow .15s}
.bgrow button:active{transform:scale(.96)}
.bgrow button i{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.bgrow button.on{box-shadow:0 0 0 2px #1c1c1e;background:#FFF8DC}
#v3{border-radius:inherit;transition:background .3s}
.stage:has(.bgrow) .stagehint{display:none}
