body.mobile{background:linear-gradient(170deg,#f8f4ec,var(--sand) 40%,#eee5d6);min-height:100dvh}.m-app{max-width:560px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;min-height:100dvh}.m-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:linear-gradient(110deg,var(--wine-dark),var(--wine));color:#fff}.m-head .mark{width:38px;height:38px;border-radius:50%;flex:none;background:radial-gradient(circle at 34% 30%,var(--gold-soft),var(--gold) 62%,#8d6c22);color:var(--wine-dark);display:grid;place-items:center;font-weight:700;font-size:.78rem}.m-head .t{line-height:1.2;min-width:0}.m-head .t strong{display:block;font-size:.98rem}.m-head .t span{font-size:.74rem;color:var(--gold-soft);text-transform:uppercase;letter-spacing:.08em}.m-card{background:#fff;border-radius:20px;padding:20px;box-shadow:var(--shadow-soft);border:1px solid rgba(227,218,206,.8)}.m-big-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:220px;border-radius:24px;border:2px dashed var(--gold);background:linear-gradient(160deg,#fff,var(--sand));color:var(--wine);font-size:1.25rem;font-weight:700;cursor:pointer}.m-big-action .icon{font-size:3rem;line-height:1}.m-big-action .sub{font-size:.86rem;font-weight:500;color:var(--muted)}.m-big-action:disabled{opacity:.6}.m-crop{background:var(--sand);border-radius:18px;padding:20px;text-align:center}.m-crop img{height:168px;background:#fff;border-radius:12px;padding:8px;image-rendering:pixelated;max-width:100%}.m-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.m-choice{min-height:74px;border-radius:18px;border:1px solid var(--line);background:#fff;font-size:1.7rem;font-weight:700;color:var(--ink);cursor:pointer}.m-choice.suggested{border-color:var(--wine);color:var(--wine)}.m-choice:active{transform:scale(.97)}.m-status{display:flex;gap:8px;flex-wrap:wrap}.m-result{text-align:center;padding:12px 0}.m-result .big{font-size:3.4rem;font-weight:700;color:var(--wine);line-height:1}.m-result .lbl{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.m-footer{margin-top:auto;text-align:center;color:var(--muted);font-size:.78rem}.m-preview{width:100%;border-radius:18px;border:1px solid var(--line)}
