
.gm-tabs{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}
.gm-tabs button{font:inherit;font-size:14px;padding:8px 16px;border-radius:999px;border:1px solid #6b5432;background:#17120c;color:#e9d098;cursor:pointer}
.gm-tabs button.on{background:#e9d098;color:#1a120a;border-color:#e9d098}
.gm-hint{font-size:13px;opacity:.7;margin:8px 0 0}
.gm{position:relative;width:100%;aspect-ratio:2560/1440;container-type:inline-size;border-radius:10px;overflow:hidden;background:#0e0a08;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.gm .scr{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s}
.gm .scr.on{opacity:1;pointer-events:auto}
.gm img.bg{position:absolute;inset:0;width:100%;height:100%;display:block}
.gm .ab{position:absolute}
.gm .clip{position:absolute;overflow:hidden}
.gm .spr{position:absolute;transition:filter .35s,opacity .35s,transform .35s;transform-origin:50% 100%}
.gm .spr.dim{filter:brightness(.42) saturate(.7)}
.gm .spr.talk{transform:scale(1.015)}
.gm .spr.hide{opacity:0}
.gm .txt{position:absolute;font-family:'EB Garamond',Georgia,serif;color:#34221a;font-size:1.64cqw;line-height:1.3;white-space:pre-line;width:60%}
.gm .nm{position:absolute;display:flex;align-items:center;justify-content:center;font-family:'EB Garamond',Georgia,serif;font-weight:600;color:#e9d098;font-size:1.64cqw;text-shadow:0 .08cqw .08cqw #000;background-size:100% 100%}
.gm .hot{position:absolute;cursor:pointer;border-radius:.6cqw}
.gm .hot:hover{box-shadow:0 0 0 .12cqw #e9d098 inset,0 0 1.2cqw rgba(233,208,152,.35)}
.gm .pause{position:absolute;inset:0;background:rgba(8,6,4,.55);display:none;align-items:center;justify-content:center;font-family:'EB Garamond',Georgia,serif;color:#e9d098;font-size:4cqw;letter-spacing:.3em}
.gm .pause.on{display:flex}
.gm .pin{position:absolute;cursor:pointer;transition:transform .2s;transform-origin:50% 100%;filter:drop-shadow(0 .2cqw .3cqw rgba(0,0,0,.6))}
.gm .pin:hover,.gm .pin.hl{transform:scale(1.18) translateY(-4%)}
.gm .pin.done{filter:grayscale(.2) drop-shadow(0 0 .8cqw #ffd77a)}
.gm .tip{position:absolute;background:#f1e3c4;color:#2c1d12;border:.1cqw solid #8a6a3a;border-radius:.4cqw;padding:.4cqw .8cqw;font-family:'EB Garamond',Georgia,serif;font-size:1.25cqw;white-space:nowrap;pointer-events:none;transform:translate(-50%,-100%);opacity:0;transition:opacity .15s;box-shadow:0 .3cqw .8cqw rgba(0,0,0,.5)}
.gm .tip.on{opacity:1}
.gm .tcard{position:absolute;border-radius:.5cqw;transition:box-shadow .2s;pointer-events:none}
.gm .tcard.hl{box-shadow:0 0 0 .14cqw #ffd77a,0 0 1.6cqw rgba(255,215,122,.55)}
.gm .tcard.busy{box-shadow:0 0 0 .14cqw #8fbf6a,0 0 1.2cqw rgba(143,191,106,.5)}
.gm .slot{position:absolute;border-radius:.4cqw;overflow:hidden;cursor:pointer}
.gm .slot img{width:100%;height:100%;object-fit:cover;display:block;border-radius:.4cqw;box-shadow:0 0 0 .1cqw #6b4a24}
.gm .serv{position:absolute;cursor:grab;border-radius:.5cqw;transition:box-shadow .2s,opacity .2s}
.gm .serv:hover{box-shadow:0 0 0 .14cqw #e9d098,0 0 1.2cqw rgba(233,208,152,.35)}
.gm .serv.used{opacity:.45;box-shadow:none;background:rgba(0,0,0,.45);cursor:not-allowed}
.gm .ghost{position:absolute;width:4.2cqw;pointer-events:none;z-index:9;border-radius:.4cqw;box-shadow:0 .4cqw 1cqw rgba(0,0,0,.7);transform:translate(-50%,-50%) rotate(-4deg)}
.gm .closed{position:absolute;transition:opacity .5s;opacity:0;pointer-events:none}
.gm .closed.on{opacity:1}
.gm .toast{position:absolute;left:50%;top:12%;transform:translateX(-50%);background:rgba(18,14,10,.92);color:#e9d098;border:.1cqw solid #8a6a3a;border-radius:.5cqw;padding:.7cqw 1.4cqw;font-family:'EB Garamond',Georgia,serif;font-size:1.4cqw;opacity:0;transition:opacity .3s;pointer-events:none;z-index:10;text-align:center}
.gm .toast.on{opacity:1}
