.dgmm{--ink:#171717;--muted:#777;--gold:#9d7b4f;--cream:#f5f2eb;font-family:inherit;color:var(--ink);margin:48px 0 64px}.dgmm *{box-sizing:border-box}.dgmm button{font:inherit}.dgmm svg{display:block}.dgmm__shell{max-width:1080px;margin:auto;padding:0 18px}.dgmm__header{text-align:center;margin:0 auto 28px;max-width:810px}.dgmm__eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:#927654;margin-bottom:12px}.dgmm__header h2{font-size:clamp(34px,5vw,62px);line-height:.98;margin:0 0 16px;font-weight:500;letter-spacing:-.045em}.dgmm__header p{margin:0 auto;color:#747474;font-size:15px;line-height:1.7;max-width:700px}.dgmm__header p strong{font-weight:650;color:#3f3f3f}.dgmm__toolbar{max-width:960px;margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dgmm__surfaces{display:flex;align-items:center;gap:7px;padding:7px 10px 7px 13px;border:1px solid #e5e0d7;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(40,30,20,.04)}.dgmm__surfaces>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-right:2px}.dgmm__surfaces>strong{font-size:11px;font-weight:600;color:#555;margin-left:2px}.dgmm__surfaces button{width:24px;height:24px;border:0;background:transparent;padding:2px;border-radius:50%;cursor:pointer;transition:.18s}.dgmm__surfaces button i{display:block;width:100%;height:100%;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.13),0 1px 2px rgba(0,0,0,.08)}.dgmm__surfaces button:hover,.dgmm__surfaces button.is-active{transform:scale(1.12)}.dgmm__surfaces button.is-active{box-shadow:0 0 0 2px #fff,0 0 0 3px #1b1b1b}.dgmm__favorites-trigger{height:42px;border:1px solid #e5e0d7;background:#fff;border-radius:999px;padding:0 13px 0 12px;display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 8px 24px rgba(40,30,20,.04);transition:.18s}.dgmm__favorites-trigger:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(40,30,20,.08)}.dgmm__favorites-trigger svg{width:17px;height:17px;fill:none;stroke:#202020;stroke-width:1.8}.dgmm__favorites-trigger .dgmm__favorites-label{font-size:12px;font-weight:600}.dgmm__favorites-trigger b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#171717;color:#fff;font-size:10px}.dgmm__experience{max-width:960px;margin:auto;position:relative}.dgmm__stack{position:absolute;left:22px;right:22px;top:13px;height:100%;border:1px solid #e8e2d9;border-radius:32px;background:#f8f6f1;transform:rotate(-.8deg);box-shadow:0 16px 60px rgba(31,24,17,.06)}.dgmm__card{position:relative;background:#fff;border:1px solid #ece7df;border-radius:30px;padding:12px 12px 18px;box-shadow:0 30px 85px rgba(34,27,19,.12);overflow:visible}.dgmm__stage{position:relative;outline:0;touch-action:pan-y;will-change:transform,opacity;cursor:grab;transition:transform .23s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.dgmm__stage.is-dragging{cursor:grabbing;transition:none!important}.dgmm__stage.is-exit-left{transform:translateX(-18%) rotate(-4deg);opacity:0}.dgmm__stage.is-exit-right{transform:translateX(18%) rotate(4deg);opacity:0}.dgmm__stage.is-entering{animation:dgmm-enter .34s cubic-bezier(.18,.8,.2,1)}@keyframes dgmm-enter{0%{transform:scale(.965) translateY(8px);opacity:.15}100%{transform:scale(1) translateY(0);opacity:1}}.dgmm__table{position:relative;aspect-ratio:1.65/1;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#fbfaf7,#f2efe8);transition:background .28s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}.dgmm__table:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.52),transparent 42%),linear-gradient(110deg,rgba(255,255,255,.12),transparent 35%,rgba(0,0,0,.02));mix-blend-mode:soft-light}.dgmm[data-table="oak"] .dgmm__table{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(0,0,0,.03)),repeating-linear-gradient(90deg,#cba06f 0,#cba06f 86px,#c49765 87px,#c49765 89px)}.dgmm[data-table="walnut"] .dgmm__table{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(0,0,0,.05)),repeating-linear-gradient(90deg,#755039 0,#755039 95px,#694631 96px,#694631 98px)}.dgmm[data-table="black"] .dgmm__table{background:radial-gradient(circle at 45% 25%,#424242,#171717 72%)}.dgmm[data-table="stone"] .dgmm__table{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.4) 0 1px,transparent 2px),radial-gradient(circle at 80% 70%,rgba(0,0,0,.08) 0 1px,transparent 2px),#bdb8ae;background-size:25px 25px,31px 31px,auto}.dgmm__place-setting{position:absolute;inset:0}.dgmm__plate{position:absolute;width:36%;height:68%;object-fit:contain;left:32%;top:15.5%;z-index:2;filter:drop-shadow(0 18px 18px rgba(0,0,0,.17));transition:transform .25s ease}.dgmm__stage:hover .dgmm__plate{transform:scale(1.018)}.dgmm__utensil{position:absolute;z-index:4;overflow:hidden;pointer-events:none}.dgmm__utensil--fork{width:10.8%;height:66%;left:17.6%;top:17%}.dgmm__utensil--knife{width:10.4%;height:69%;right:18.4%;top:15.4%}.dgmm__utensil--spoon{width:9.8%;height:61%;right:8.5%;top:19.5%}.dgmm__cutlery{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.34);mix-blend-mode:multiply;filter:contrast(1.08) saturate(.6) drop-shadow(0 7px 4px rgba(0,0,0,.08));transition:transform .28s ease}.dgmm__utensil--knife .dgmm__cutlery{transform:scale(1.28)}.dgmm__utensil--spoon .dgmm__cutlery{transform:scale(1.4)}.dgmm__stage:hover .dgmm__utensil--fork .dgmm__cutlery{transform:scale(1.37)}.dgmm__stage:hover .dgmm__utensil--knife .dgmm__cutlery{transform:scale(1.31)}.dgmm__stage:hover .dgmm__utensil--spoon .dgmm__cutlery{transform:scale(1.43)}.dgmm[data-table="black"] .dgmm__cutlery,.dgmm[data-table="walnut"] .dgmm__cutlery{mix-blend-mode:screen;filter:invert(1) grayscale(1) brightness(1.18) contrast(1.25) drop-shadow(0 7px 5px rgba(0,0,0,.3))}.dgmm__cutlery--fallback{mix-blend-mode:normal!important;object-fit:contain!important;transform:scale(.78)!important;filter:drop-shadow(0 8px 5px rgba(0,0,0,.14))!important}.dgmm__glass{position:absolute;width:8.5%;aspect-ratio:1;border:2px solid rgba(145,150,153,.45);border-radius:50%;right:20%;top:8%;box-shadow:inset 0 0 0 5px rgba(255,255,255,.16),0 11px 20px rgba(0,0,0,.1);opacity:.85}.dgmm__glass:after{content:"";position:absolute;inset:20%;border-radius:50%;border:1px solid rgba(255,255,255,.42)}.dgmm__reaction{position:absolute;z-index:8;top:38px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 13px 35px rgba(0,0,0,.12);opacity:0;pointer-events:none}.dgmm__reaction svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.dgmm__reaction span{font-size:11px;font-weight:800;letter-spacing:.08em}.dgmm__reaction--down{left:30px;color:#9b3f3a;transform:rotate(-8deg)}.dgmm__reaction--up{right:30px;color:#35724d;transform:rotate(8deg)}.dgmm__stage-caption{position:absolute;z-index:5;left:50%;bottom:15px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;color:rgba(31,31,31,.35);font-size:9px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.dgmm__stage-caption i{width:28px;height:1px;background:currentColor}.dgmm__stage-caption em{font-style:normal;letter-spacing:.06em;text-transform:none}.dgmm[data-table="black"] .dgmm__stage-caption,.dgmm[data-table="walnut"] .dgmm__stage-caption{color:rgba(255,255,255,.48)}.dgmm__floating-actions{position:relative;z-index:10;display:flex;justify-content:center;align-items:flex-start;gap:28px;margin:-29px auto 2px}.dgmm__vote{border:0;background:transparent;padding:0;display:grid;justify-items:center;gap:7px;cursor:pointer;color:#4d4d4d}.dgmm__vote svg{width:58px;height:58px;padding:16px;border-radius:50%;background:#fff;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;box-shadow:0 10px 28px rgba(30,24,18,.14);border:1px solid #e5dfd5;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.dgmm__vote span{font-size:10px;color:#8a8a8a;font-weight:600;letter-spacing:.02em}.dgmm__vote--heart svg{width:66px;height:66px;padding:18px;color:#9b5b5d}.dgmm__vote--down{color:#95504b}.dgmm__vote--up{color:#4a7859}.dgmm__vote:hover svg{transform:translateY(-4px) scale(1.04);box-shadow:0 16px 34px rgba(30,24,18,.18)}.dgmm__vote.is-pressed svg{transform:scale(.92)}.dgmm__vote--heart.is-active svg{background:#9b5b5d;color:#fff;fill:currentColor;border-color:#9b5b5d}.dgmm__vote--heart.is-pulsing svg{animation:dgmm-heart .42s ease}@keyframes dgmm-heart{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}.dgmm__details{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(230px,.9fr);align-items:center;gap:20px;padding:18px 20px 4px}.dgmm__product{display:grid;gap:3px}.dgmm__product small{font-size:9px;letter-spacing:.15em;color:#9c8567}.dgmm__product strong{font-size:18px;font-weight:650;line-height:1.15}.dgmm__product span{font-size:11px;color:#8e8e8e}.dgmm__match-mark{font-family:Georgia,serif;font-size:26px;color:#c0b19c}.dgmm__inquiry-button{height:48px;border:0;border-radius:999px;background:#171717;color:#fff;padding:0 16px 0 20px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:.2s}.dgmm__inquiry-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.dgmm__inquiry-button:hover{background:#9d7b4f;transform:translateY(-1px)}.dgmm__modal[hidden]{display:none}.dgmm__modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.dgmm__modal-backdrop{position:absolute;inset:0;background:rgba(20,18,15,.68);backdrop-filter:blur(6px)}.dgmm__modal-dialog{position:relative;width:min(540px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:32px;box-shadow:0 24px 90px rgba(0,0,0,.28)}.dgmm__modal-dialog h3{font-size:30px;margin:0 0 7px}.dgmm__modal-dialog>p{color:#777;margin:0 0 20px;line-height:1.55}.dgmm__modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f1eee8;font-size:20px;cursor:pointer}.dgmm__modal form{display:grid;gap:12px}.dgmm__modal label{display:grid;gap:5px;font-size:12px;font-weight:600}.dgmm__modal label span{font-weight:400;color:#999}.dgmm__modal input,.dgmm__modal textarea{width:100%;border:1px solid #ddd7ce;border-radius:11px;padding:11px 12px;font:inherit;outline:0}.dgmm__modal input:focus,.dgmm__modal textarea:focus{border-color:#a98755}.dgmm__modal form>button{border:0;border-radius:999px;background:#171717;color:#fff;padding:13px 18px;font-weight:600;cursor:pointer}.dgmm__form-status{font-size:12px;text-align:center}.dgmm__form-status.is-success{color:#37754a}.dgmm__form-status.is-error{color:#a53d38}.dgmm-modal-open{overflow:hidden}.dgmm__favorites-list{display:grid;gap:8px}.dgmm__favorite-item{border:1px solid #ebe6de;border-radius:14px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dgmm__favorite-item div{display:grid;gap:3px}.dgmm__favorite-item strong{font-size:13px}.dgmm__favorite-item span{font-size:10px;color:#999}.dgmm__favorite-item button{border:0;background:#171717;color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;cursor:pointer}.dgmm__empty{color:#999;text-align:center;padding:22px}.dgmm__toast{position:fixed;z-index:1000000;left:50%;bottom:24px;transform:translateX(-50%);background:#181818;color:#fff;padding:11px 17px;border-radius:999px;font-size:12px;box-shadow:0 8px 30px rgba(0,0,0,.25)}.dgmm__toast[hidden]{display:none}
@media(max-width:820px){.dgmm{margin:30px 0 46px}.dgmm__shell{padding:0 10px}.dgmm__header{padding:0 10px}.dgmm__header p{font-size:13px}.dgmm__toolbar{align-items:flex-start}.dgmm__surfaces>span,.dgmm__surfaces>strong{display:none}.dgmm__surfaces{gap:5px;padding:7px}.dgmm__favorites-trigger .dgmm__favorites-label{display:none}.dgmm__card{border-radius:24px;padding:8px 8px 16px}.dgmm__stack{left:15px;right:15px;border-radius:25px}.dgmm__table{aspect-ratio:1/1.05;border-radius:18px}.dgmm__plate{width:46%;height:54%;left:27%;top:23%}.dgmm__utensil--fork{width:16%;height:54%;left:7%;top:24%}.dgmm__utensil--knife{width:15%;height:57%;right:7%;top:22%}.dgmm__utensil--spoon{width:14%;height:50%;right:-1.5%;top:26%}.dgmm__glass{width:12%;right:10%;top:7%}.dgmm__floating-actions{gap:19px;margin-top:-26px}.dgmm__vote svg{width:54px;height:54px;padding:15px}.dgmm__vote--heart svg{width:62px;height:62px}.dgmm__vote span{font-size:9px}.dgmm__details{grid-template-columns:1fr auto 1fr;gap:9px;padding:14px 9px 4px;text-align:center}.dgmm__product strong{font-size:14px}.dgmm__product span{font-size:9px}.dgmm__inquiry-button{grid-column:1/-1;width:100%;margin-top:5px}.dgmm__reaction{top:18px}.dgmm__reaction--down{left:15px}.dgmm__reaction--up{right:15px}.dgmm__stage-caption{bottom:11px}.dgmm__modal-dialog{padding:27px 18px}}
@media(max-width:480px){.dgmm__header h2{font-size:36px}.dgmm__header p strong{font-weight:600}.dgmm__table{aspect-ratio:1/1.18}.dgmm__plate{width:49%;height:48%;left:25.5%;top:27%}.dgmm__utensil--fork{width:18%;height:48%;left:4%;top:28%}.dgmm__utensil--knife{width:17%;height:50%;right:5%;top:27%}.dgmm__utensil--spoon{width:16%;height:44%;right:-5%;top:30%}.dgmm__glass{width:13%;right:8%;top:7%}.dgmm__floating-actions{gap:14px}.dgmm__vote svg{width:50px;height:50px;padding:14px}.dgmm__vote--heart svg{width:58px;height:58px;padding:16px}.dgmm__product strong{font-size:13px}.dgmm__match-mark{font-size:20px}.dgmm__stage-caption em{display:none}}

/* v0.3 – realistic transparent cutlery + more dynamic stage */
.dgmm__table{background:linear-gradient(145deg,#fbfaf7 0%,#f3f0e9 56%,#ece8df 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.035),inset 0 22px 70px rgba(255,255,255,.38)}
.dgmm[data-table="stone"] .dgmm__table{background:linear-gradient(135deg,#d8d4cb 0%,#c8c3b9 45%,#d1ccc2 100%)}
.dgmm[data-table="stone"] .dgmm__table:after{content:"";position:absolute;inset:-15%;pointer-events:none;opacity:.34;background:linear-gradient(118deg,transparent 0 29%,rgba(255,255,255,.8) 30%,transparent 31% 58%,rgba(109,103,95,.22) 59%,transparent 60%),linear-gradient(72deg,transparent 0 45%,rgba(255,255,255,.6) 46%,transparent 47%);transform:rotate(-3deg)}
.dgmm__plate{width:38%;height:72%;left:31%;top:13.5%;filter:drop-shadow(0 22px 19px rgba(0,0,0,.18))}
.dgmm__utensil{overflow:visible;background:transparent!important}
.dgmm__utensil--fork{width:7.4%;height:69%;left:17.2%;top:15.2%}
.dgmm__utensil--knife{width:7.1%;height:72%;right:19.2%;top:13.5%}
.dgmm__utensil--spoon{width:7.2%;height:66%;right:10.1%;top:17%}
.dgmm__cutlery{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;mix-blend-mode:normal!important;filter:drop-shadow(0 9px 5px rgba(0,0,0,.18)) contrast(1.04) saturate(.82);background:transparent!important}
.dgmm[data-table="black"] .dgmm__cutlery,.dgmm[data-table="walnut"] .dgmm__cutlery{mix-blend-mode:normal!important;filter:drop-shadow(0 9px 6px rgba(0,0,0,.38)) contrast(1.08) brightness(1.08)!important}
.dgmm__glass{width:7.8%;right:20.5%;top:8.5%;opacity:.72}
.dgmm__place-setting:before{content:"";position:absolute;left:50%;top:50%;width:48%;height:74%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.06),transparent 66%);filter:blur(22px);opacity:.34;pointer-events:none}
.dgmm__stage.is-entering .dgmm__plate{animation:dgmm-plate-in .48s cubic-bezier(.17,.84,.22,1) both}
.dgmm__stage.is-entering .dgmm__utensil--fork{animation:dgmm-fork-in .52s .04s cubic-bezier(.17,.84,.22,1) both}
.dgmm__stage.is-entering .dgmm__utensil--knife{animation:dgmm-knife-in .52s .07s cubic-bezier(.17,.84,.22,1) both}
.dgmm__stage.is-entering .dgmm__utensil--spoon{animation:dgmm-knife-in .52s .1s cubic-bezier(.17,.84,.22,1) both}
.dgmm__stage.is-entering .dgmm__glass{animation:dgmm-glass-in .55s .12s cubic-bezier(.17,.84,.22,1) both}
@keyframes dgmm-plate-in{0%{opacity:0;transform:scale(.82) rotate(-3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes dgmm-fork-in{0%{opacity:0;transform:translateX(-42px) rotate(-4deg)}100%{opacity:1;transform:none}}
@keyframes dgmm-knife-in{0%{opacity:0;transform:translateX(42px) rotate(4deg)}100%{opacity:1;transform:none}}
@keyframes dgmm-glass-in{0%{opacity:0;transform:translateY(-28px) scale(.85)}100%{opacity:.72;transform:none}}
.dgmm__floating-actions{gap:34px;margin-top:-31px}
.dgmm__vote svg{width:64px;height:64px;padding:18px;border:1px solid rgba(0,0,0,.08);box-shadow:0 14px 34px rgba(30,24,18,.16)}
.dgmm__vote--heart svg{width:72px;height:72px;padding:20px}
.dgmm__vote--down svg{background:#fff8f7}.dgmm__vote--up svg{background:#f7fbf8}.dgmm__vote--heart svg{background:#fff9fa}
.dgmm__vote:hover svg{transform:translateY(-6px) scale(1.06);box-shadow:0 20px 40px rgba(30,24,18,.22)}
@media(max-width:820px){.dgmm__plate{width:48%;height:58%;left:26%;top:21%}.dgmm__utensil--fork{width:10%;height:57%;left:8%;top:22%}.dgmm__utensil--knife{width:9.5%;height:59%;right:10%;top:20%}.dgmm__utensil--spoon{width:9.5%;height:54%;right:0%;top:24%}.dgmm__vote svg{width:58px;height:58px;padding:16px}.dgmm__vote--heart svg{width:66px;height:66px;padding:18px}}
@media(max-width:480px){.dgmm__plate{width:51%;height:52%;left:24.5%;top:25%}.dgmm__utensil--fork{width:11%;height:51%;left:5%;top:26%}.dgmm__utensil--knife{width:10.5%;height:53%;right:8%;top:24%}.dgmm__utensil--spoon{width:10.5%;height:48%;right:-3%;top:28%}}

/* v0.4 — real product mode, surface onboarding, no fake fallbacks */
.dgmm__toolbar--compact{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}
.dgmm__surface-trigger{appearance:none;border:1px solid #e8e1d7;background:#fff;border-radius:18px;padding:8px 12px 8px 9px;display:flex;align-items:center;gap:10px;min-width:190px;cursor:pointer;box-shadow:0 8px 24px rgba(43,35,27,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;text-align:left}
.dgmm__surface-trigger:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(43,35,27,.09);border-color:#d6c8b5}
.dgmm__surface-trigger-preview{width:42px;height:42px;border-radius:12px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 3px 8px rgba(0,0,0,.06);background:#f8f6f0}
.dgmm__surface-trigger-preview[data-surface="white"]{background:linear-gradient(145deg,#fff,#f0eee8)}
.dgmm__surface-trigger-preview[data-surface="oak"]{background:repeating-linear-gradient(90deg,#d9b17f 0 18px,#d3a875 19px 20px,#cfa16c 21px 39px)}
.dgmm__surface-trigger-preview[data-surface="walnut"]{background:repeating-linear-gradient(90deg,#775039 0 18px,#6d4632 19px 20px,#82583f 21px 39px)}
.dgmm__surface-trigger-preview[data-surface="black"]{background:linear-gradient(145deg,#272727,#0f0f0f)}
.dgmm__surface-trigger-preview[data-surface="stone"]{background:linear-gradient(135deg,#d9d5cb 0%,#bcb8ae 48%,#d0cbc0 100%)}
.dgmm__surface-trigger>span:nth-child(2){display:grid;gap:1px;line-height:1.1}.dgmm__surface-trigger small{font-size:8px;letter-spacing:.15em;color:#9f8a70}.dgmm__surface-trigger strong{font-size:12px;color:#292724;font-weight:650}.dgmm__surface-trigger svg{width:17px;height:17px;margin-left:auto;fill:none;stroke:#8f867b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.dgmm__plate-frame{position:absolute;width:39%;aspect-ratio:1;left:30.5%;top:15%;border-radius:50%;overflow:hidden;filter:drop-shadow(0 22px 19px rgba(0,0,0,.19));z-index:2}
.dgmm__plate-frame .dgmm__plate{position:absolute!important;inset:-12%!important;width:124%!important;height:124%!important;object-fit:cover!important;filter:none!important;transform:none!important;border-radius:50%}
.dgmm__cutlery{mix-blend-mode:multiply!important;filter:contrast(1.08) saturate(.72) drop-shadow(0 9px 5px rgba(0,0,0,.17))!important;background:#fff!important;border-radius:2px}
.dgmm[data-table="black"] .dgmm__cutlery,.dgmm[data-table="walnut"] .dgmm__cutlery{mix-blend-mode:screen!important;filter:invert(1) grayscale(.22) contrast(1.12) brightness(1.12) drop-shadow(0 9px 6px rgba(0,0,0,.34))!important;background:#000!important}
.dgmm__utensil--fork{width:8.3%;height:70%;left:16%;top:15%}.dgmm__utensil--knife{width:8%;height:72%;right:18%;top:14%}.dgmm__utensil--spoon{width:8.2%;height:66%;right:8.3%;top:17%}
.dgmm__glass{right:19.4%;top:7.8%;opacity:.54}

.dgmm__loading{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(248,246,241,.78);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .2s ease;border-radius:inherit;color:#3b3731;text-align:center;padding:20px}
.dgmm.is-loading .dgmm__loading{opacity:1;pointer-events:auto}.dgmm__loading strong{font-size:15px;font-weight:650}.dgmm__loading small{font-size:10px;letter-spacing:.04em;color:#928879}.dgmm__loader-ring{width:40px;height:40px;border-radius:50%;border:2px solid rgba(159,130,89,.2);border-top-color:#9f8259;animation:dgmm-spin .72s linear infinite;margin-bottom:3px}.dgmm__loading.is-error{cursor:pointer;background:rgba(250,247,243,.94)}.dgmm__loading.is-error .dgmm__loader-ring{animation:none;border-color:#c8b9a5;position:relative}.dgmm__loading.is-error .dgmm__loader-ring:after{content:"↻";position:absolute;inset:0;display:grid;place-items:center;font-size:20px;color:#8e7049}
@keyframes dgmm-spin{to{transform:rotate(360deg)}}
.dgmm.is-loading .dgmm__place-setting{opacity:.14;filter:blur(2px);transition:opacity .18s ease,filter .18s ease}.dgmm:not(.is-loading) .dgmm__place-setting{opacity:1;filter:none;transition:opacity .22s ease,filter .22s ease}

.dgmm__surface-gate[hidden]{display:none!important}.dgmm__surface-gate{position:fixed;inset:0;z-index:1000001;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .22s ease}.dgmm__surface-gate.is-open{opacity:1}.dgmm__surface-gate-backdrop{position:absolute;inset:0;background:rgba(22,20,17,.55);backdrop-filter:blur(9px)}
.dgmm__surface-gate-panel{position:relative;width:min(920px,100%);background:#fbfaf7;border:1px solid rgba(255,255,255,.75);border-radius:32px;padding:38px;box-shadow:0 34px 100px rgba(0,0,0,.24);transform:translateY(18px) scale(.985);transition:transform .24s cubic-bezier(.2,.8,.2,1)}.dgmm__surface-gate.is-open .dgmm__surface-gate-panel{transform:none}.dgmm__surface-step{font-size:9px;letter-spacing:.2em;color:#9d815c;font-weight:700;margin-bottom:9px}.dgmm__surface-gate-panel h3{margin:0;font-size:38px;line-height:1.05;font-weight:500;color:#222}.dgmm__surface-gate-panel>p{max-width:650px;margin:12px 0 25px;color:#777167;font-size:13px;line-height:1.55}
.dgmm__surface-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.dgmm__surface-card{appearance:none;border:1px solid #e5ded4;background:#fff;border-radius:20px;padding:9px 9px 14px;display:grid;gap:5px;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dgmm__surface-card:hover,.dgmm__surface-card.is-active{transform:translateY(-5px);box-shadow:0 16px 34px rgba(48,38,28,.12);border-color:#bca98e}.dgmm__surface-card i{display:block;aspect-ratio:1.18/1;border-radius:14px;margin-bottom:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07)}.dgmm__surface-card strong{font-size:13px;color:#2a2723;padding:0 4px}.dgmm__surface-card span{font-size:9px;color:#979087;padding:0 4px}.dgmm__surface-card--white i{background:linear-gradient(145deg,#fff,#eeeae2)}.dgmm__surface-card--oak i{background:repeating-linear-gradient(90deg,#d8ae7a 0 28px,#d0a46f 29px 31px,#c99a66 32px 59px)}.dgmm__surface-card--walnut i{background:repeating-linear-gradient(90deg,#7d543d 0 28px,#704a35 29px 31px,#875d43 32px 59px)}.dgmm__surface-card--black i{background:radial-gradient(circle at 30% 20%,#373737,#111 68%)}.dgmm__surface-card--stone i{background:linear-gradient(135deg,#dad6cd,#b9b5ac 48%,#d1ccc2)}
.dgmm__surface-gate-close{margin-top:20px;border:0;background:transparent;color:#776d60;text-decoration:underline;text-underline-offset:4px;font-size:11px;cursor:pointer;padding:5px}

.dgmm[data-table="oak"] .dgmm__table{background:repeating-linear-gradient(90deg,#d7ae7b 0 112px,#d0a571 113px 115px,#d5aa76 116px 228px)}
.dgmm[data-table="walnut"] .dgmm__table{background:repeating-linear-gradient(90deg,#704a35 0 112px,#67422f 113px 115px,#76503a 116px 228px)}
.dgmm[data-table="black"] .dgmm__table{background:radial-gradient(circle at 25% 20%,#2c2c2c,#111 70%)}
.dgmm[data-table="white"] .dgmm__table{background:linear-gradient(145deg,#fbfaf7 0%,#f3f0e9 56%,#ece8df 100%)}
.dgmm[data-table="stone"] .dgmm__table{background:linear-gradient(135deg,#d8d4cb 0%,#c8c3b9 45%,#d1ccc2 100%)}
.dgmm[data-table="black"] .dgmm__stage-caption,.dgmm[data-table="walnut"] .dgmm__stage-caption{color:rgba(255,255,255,.55)}
.dgmm[data-table="black"] .dgmm__loading,.dgmm[data-table="walnut"] .dgmm__loading{background:rgba(22,20,18,.72);color:#fff}.dgmm[data-table="black"] .dgmm__loading small,.dgmm[data-table="walnut"] .dgmm__loading small{color:#bbb2a7}

@media(max-width:900px){.dgmm__surface-cards{grid-template-columns:repeat(2,1fr)}.dgmm__surface-gate-panel{padding:28px}.dgmm__surface-gate-panel h3{font-size:32px}.dgmm__surface-card:last-child{grid-column:1/-1}.dgmm__plate-frame{width:48%;left:26%;top:21%}.dgmm__utensil--fork{width:10.5%;height:58%;left:7%;top:22%}.dgmm__utensil--knife{width:10%;height:60%;right:9%;top:20%}.dgmm__utensil--spoon{width:10%;height:54%;right:-.5%;top:24%}}
@media(max-width:560px){.dgmm__toolbar--compact{gap:10px}.dgmm__surface-trigger{min-width:0;flex:1}.dgmm__surface-trigger-preview{width:36px;height:36px}.dgmm__surface-trigger small{display:none}.dgmm__surface-gate{padding:12px}.dgmm__surface-gate-panel{padding:22px 16px;border-radius:24px;max-height:92vh;overflow:auto}.dgmm__surface-gate-panel h3{font-size:29px}.dgmm__surface-cards{grid-template-columns:1fr 1fr;gap:9px}.dgmm__surface-card{border-radius:16px;padding:7px 7px 11px}.dgmm__surface-card:last-child{grid-column:auto}.dgmm__surface-card i{border-radius:11px}.dgmm__plate-frame{width:52%;left:24%;top:24%}.dgmm__utensil--fork{width:12%;height:52%;left:4%;top:26%}.dgmm__utensil--knife{width:11.5%;height:54%;right:7%;top:24%}.dgmm__utensil--spoon{width:11.5%;height:49%;right:-3%;top:28%}}

/* v0.5 — real-product framing: no fake glass, no rectangular photo-shadow */
.dgmm__glass{display:none!important}
.dgmm__utensil{background:transparent!important;box-shadow:none!important;overflow:hidden!important}
.dgmm__cutlery{
  mix-blend-mode:darken!important;
  filter:none!important;
  opacity:1!important;
  max-width:none!important;
  max-height:none!important;
  transform-origin:50% 50%!important;
  will-change:transform;
}
/* Source photos contain a lot of white canvas. Zoom into the real product. */
.dgmm__utensil--fork{width:8.4%!important;height:72%!important;left:18.2%!important;top:14%!important}
.dgmm__utensil--fork .dgmm__cutlery{transform:scale(4.25)!important}
.dgmm__utensil--knife{width:8.4%!important;height:75%!important;right:18.5%!important;top:12.5%!important}
.dgmm__utensil--knife .dgmm__cutlery{transform:scale(4.05)!important}
.dgmm__utensil--spoon{width:8.1%!important;height:70%!important;right:8.8%!important;top:15%!important}
.dgmm__utensil--spoon .dgmm__cutlery{transform:scale(4.35)!important}
.dgmm__stage:hover .dgmm__utensil--fork .dgmm__cutlery{transform:scale(4.32)!important}
.dgmm__stage:hover .dgmm__utensil--knife .dgmm__cutlery{transform:scale(4.12)!important}
.dgmm__stage:hover .dgmm__utensil--spoon .dgmm__cutlery{transform:scale(4.42)!important}
/* On dark surfaces keep the white canvas visually merged with the table instead of inventing a fallback asset. */
.dgmm[data-table="oak"] .dgmm__cutlery,
.dgmm[data-table="walnut"] .dgmm__cutlery,
.dgmm[data-table="black"] .dgmm__cutlery,
.dgmm[data-table="stone"] .dgmm__cutlery{mix-blend-mode:multiply!important;filter:none!important}
/* Cleaner, more photographic stage */
.dgmm__table:before{opacity:.38}
.dgmm__plate{width:38%!important;height:72%!important;left:31%!important;top:14%!important}
@media (max-width:720px){
 .dgmm__utensil--fork{width:9.8%!important;left:12.5%!important}
 .dgmm__utensil--knife{width:9.8%!important;right:13.8%!important}
 .dgmm__utensil--spoon{width:9.4%!important;right:2.8%!important}
 .dgmm__utensil--fork .dgmm__cutlery{transform:scale(4.15)!important}
 .dgmm__utensil--knife .dgmm__cutlery{transform:scale(4)!important}
 .dgmm__utensil--spoon .dgmm__cutlery{transform:scale(4.25)!important}
}

/* v0.6 — transparent local asset renderer */
.dgmm__plate-frame{width:40%!important;left:30%!important;top:14%!important;aspect-ratio:1!important;overflow:visible!important;background:transparent!important}
.dgmm__plate-frame .dgmm__plate{inset:0!important;width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:contain!important;border-radius:0!important;mix-blend-mode:normal!important;background:transparent!important;filter:none!important}
.dgmm__utensil{overflow:visible!important;background:transparent!important;box-shadow:none!important}
.dgmm__cutlery,
.dgmm[data-table="oak"] .dgmm__cutlery,
.dgmm[data-table="walnut"] .dgmm__cutlery,
.dgmm[data-table="black"] .dgmm__cutlery,
.dgmm[data-table="stone"] .dgmm__cutlery{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center!important;transform:none!important;
  mix-blend-mode:normal!important;background:transparent!important;opacity:1!important;
  filter:drop-shadow(0 9px 5px rgba(0,0,0,.17)) contrast(1.03)!important;
}
.dgmm__utensil--fork{width:10.5%!important;height:69%!important;left:15.8%!important;top:15.5%!important}
.dgmm__utensil--knife{width:10.5%!important;height:72%!important;right:17.4%!important;top:14%!important}
.dgmm__utensil--spoon{width:10%!important;height:67%!important;right:7.2%!important;top:16.5%!important}
.dgmm__stage:hover .dgmm__cutlery{transform:translateY(-2px) scale(1.01)!important}
@media(max-width:720px){
 .dgmm__plate-frame{width:49%!important;left:25.5%!important;top:20%!important}
 .dgmm__utensil--fork{width:11.5%!important;height:57%!important;left:6%!important;top:23%!important}
 .dgmm__utensil--knife{width:11.5%!important;height:60%!important;right:9%!important;top:21%!important}
 .dgmm__utensil--spoon{width:11%!important;height:55%!important;right:-1.5%!important;top:24%!important}
}

/* v0.6.1 — direct real-product mode (hosting-safe)
   The source packshots are cropped visually inside clipped frames. White canvas is
   merged into the table with blend mode; no synthetic cutlery fallback is used. */
.dgmm__utensil{overflow:hidden!important;background:transparent!important;box-shadow:none!important}
.dgmm__cutlery,
.dgmm[data-table="white"] .dgmm__cutlery,
.dgmm[data-table="oak"] .dgmm__cutlery,
.dgmm[data-table="walnut"] .dgmm__cutlery,
.dgmm[data-table="black"] .dgmm__cutlery,
.dgmm[data-table="stone"] .dgmm__cutlery{
  position:absolute!important;
  width:100%!important;height:100%!important;
  left:0!important;top:0!important;
  object-fit:cover!important;object-position:center!important;
  max-width:none!important;max-height:none!important;
  background:#fff!important;
  mix-blend-mode:multiply!important;
  filter:contrast(1.10) saturate(.55)!important;
  opacity:1!important;
  transform-origin:50% 50%!important;
}
.dgmm__utensil--fork{width:8.3%!important;height:72%!important;left:18.0%!important;top:14%!important}
.dgmm__utensil--fork .dgmm__cutlery{transform:scale(4.25)!important}
.dgmm__utensil--knife{width:8.3%!important;height:74%!important;right:18.2%!important;top:13%!important}
.dgmm__utensil--knife .dgmm__cutlery{transform:scale(4.05)!important}
.dgmm__utensil--spoon{width:8.0%!important;height:69%!important;right:8.8%!important;top:15.5%!important}
.dgmm__utensil--spoon .dgmm__cutlery{transform:scale(4.32)!important}
.dgmm__stage:hover .dgmm__utensil--fork .dgmm__cutlery{transform:scale(4.30)!important}
.dgmm__stage:hover .dgmm__utensil--knife .dgmm__cutlery{transform:scale(4.10)!important}
.dgmm__stage:hover .dgmm__utensil--spoon .dgmm__cutlery{transform:scale(4.37)!important}

/* Plate photos are direct too; colored plates visually merge their white canvas into light surfaces. */
.dgmm__plate-frame{overflow:hidden!important;background:transparent!important}
.dgmm__plate-frame .dgmm__plate{
  object-fit:contain!important;
  mix-blend-mode:multiply!important;
  background:#fff!important;
  filter:drop-shadow(0 15px 15px rgba(0,0,0,.13))!important;
}
.dgmm[data-table="black"] .dgmm__plate-frame .dgmm__plate,
.dgmm[data-table="walnut"] .dgmm__plate-frame .dgmm__plate{mix-blend-mode:normal!important;background:transparent!important}

@media(max-width:720px){
 .dgmm__utensil--fork{width:9.6%!important;left:12.5%!important}
 .dgmm__utensil--knife{width:9.6%!important;right:13.7%!important}
 .dgmm__utensil--spoon{width:9.2%!important;right:2.8%!important}
}

/* v0.7 — true local transparent assets. No blend tricks, no giant zoom into remote JPG canvases. */
.dgmm__plate-frame{overflow:visible!important;background:transparent!important;filter:drop-shadow(0 18px 16px rgba(0,0,0,.18))!important}
.dgmm__plate-frame .dgmm__plate{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;mix-blend-mode:normal!important;background:transparent!important;filter:none!important;border-radius:0!important}
.dgmm__utensil{overflow:visible!important;background:transparent!important;box-shadow:none!important}
.dgmm__cutlery,.dgmm[data-table="white"] .dgmm__cutlery,.dgmm[data-table="oak"] .dgmm__cutlery,.dgmm[data-table="walnut"] .dgmm__cutlery,.dgmm[data-table="black"] .dgmm__cutlery,.dgmm[data-table="stone"] .dgmm__cutlery{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;mix-blend-mode:normal!important;background:transparent!important;filter:drop-shadow(0 8px 5px rgba(0,0,0,.18))!important}
.dgmm__utensil--fork{width:8.5%!important;height:70%!important;left:17.5%!important;top:15%!important}
.dgmm__utensil--knife{width:8.2%!important;height:73%!important;right:18.2%!important;top:13.5%!important}
.dgmm__utensil--spoon{width:8.2%!important;height:67%!important;right:8.7%!important;top:16.5%!important}
.dgmm__stage:hover .dgmm__cutlery{transform:translateY(-2px)!important}
.dgmm--setup{margin:48px 0}.dgmm__setup-card{max-width:850px;margin:auto;text-align:center;background:#fbfaf7;border:1px solid #e8e2d8;border-radius:28px;padding:54px 28px;box-shadow:0 24px 70px rgba(34,27,19,.08)}.dgmm__setup-card h2{font-size:clamp(30px,4vw,48px);font-weight:500;letter-spacing:-.035em;margin:8px 0 14px}.dgmm__setup-card p{max-width:640px;margin:0 auto;color:#777;line-height:1.7}.dgmm__setup-link{display:inline-flex;margin-top:24px;padding:13px 21px;border-radius:999px;background:#171717;color:#fff!important;text-decoration:none;font-weight:650}
@media(max-width:820px){.dgmm__utensil--fork{width:10.5%!important;height:58%!important;left:7%!important;top:22%!important}.dgmm__utensil--knife{width:10.2%!important;height:61%!important;right:9%!important;top:20%!important}.dgmm__utensil--spoon{width:10.2%!important;height:55%!important;right:-.5%!important;top:24%!important}}


/* v0.7.2 — lock one side of the combination + calm product hover */
.dgmm__stage:hover .dgmm__plate-frame .dgmm__plate{transform:none!important}
.dgmm__stage:hover .dgmm__cutlery{transform:none!important}
.dgmm__floating-actions{gap:22px!important;align-items:flex-start!important}
.dgmm__lock{border:0;background:transparent;padding:0;display:grid;justify-items:center;gap:7px;cursor:pointer;color:#7c7469;min-width:78px}
.dgmm__lock svg{width:50px;height:50px;padding:14px;border-radius:50%;background:#f7f4ee;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;border:1px solid #e5dfd5;box-shadow:0 9px 24px rgba(30,24,18,.10);transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.dgmm__lock span{font-size:9px;line-height:1.12;color:#9a938a;font-weight:500;text-align:center}
.dgmm__lock span strong{font-size:10px;color:#625b53;font-weight:700}
.dgmm__lock:hover svg{box-shadow:0 13px 28px rgba(30,24,18,.15);border-color:#cdbdA7}
.dgmm__lock.is-active svg{background:#171717;color:#fff;border-color:#171717;box-shadow:0 12px 30px rgba(23,23,23,.23)}
.dgmm__lock.is-active span{color:#8d7a61}.dgmm__lock.is-active span strong{color:#171717}
@media(max-width:820px){.dgmm__floating-actions{gap:10px!important}.dgmm__lock{min-width:55px}.dgmm__lock svg{width:43px;height:43px;padding:12px}.dgmm__lock span{font-size:8px}.dgmm__lock span strong{font-size:9px}.dgmm__vote svg{width:52px!important;height:52px!important;padding:14px!important}.dgmm__vote--heart svg{width:58px!important;height:58px!important;padding:16px!important}}
@media(max-width:520px){.dgmm__floating-actions{gap:5px!important}.dgmm__lock{min-width:48px}.dgmm__lock svg{width:39px;height:39px;padding:11px}.dgmm__lock span{font-size:0}.dgmm__lock span strong{font-size:8px;display:block}.dgmm__vote svg{width:46px!important;height:46px!important;padding:13px!important}.dgmm__vote--heart svg{width:52px!important;height:52px!important;padding:14px!important}.dgmm__vote span{font-size:8px!important}}
\n\n/* v0.7.3 — absolute no-zoom guard. Product assets never scale on hover. */\n.dgmm .dgmm__plate-frame,\n.dgmm .dgmm__utensil,\n.dgmm .dgmm__plate,\n.dgmm .dgmm__cutlery,\n.dgmm .dgmm__stage:hover .dgmm__plate-frame,\n.dgmm .dgmm__stage:hover .dgmm__utensil,\n.dgmm .dgmm__stage:hover .dgmm__plate,\n.dgmm .dgmm__stage:hover .dgmm__cutlery,\n.dgmm .dgmm__plate:hover,\n.dgmm .dgmm__cutlery:hover {\n  transform:none!important;\n  scale:1!important;\n  zoom:1!important;\n  transition:none!important;\n  animation:none!important;\n}\n.dgmm .dgmm__plate, .dgmm .dgmm__cutlery { pointer-events:none!important; }\n