.gm-char{padding:0;overflow:hidden}.gm-stage{position:fixed;inset:0}.gm-stage-canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.gm-stage.is-turning .gm-stage-canvas{cursor:grabbing}.gm-stage-moon{left:var(--gm-moon-x,50%);top:var(--gm-moon-y,42%);width:calc(var(--gm-moon-r,10rem) * 2.4);aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,oklch(90% .03 80/.17),oklch(90% .03 80/.08) 55%,#0000);border-radius:50%;position:absolute;translate:-50% -50%}.gm-tag{color:#f4efe6;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#1c1e269e;border-radius:999px;max-width:14rem;margin:0;padding:.3rem .85rem;font:500 .9375rem/1.3 system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;position:absolute;top:0;left:0;overflow:hidden;transform:translate(-50%,-100%)}.gm-stage-turn{left:var(--gm-foot-x,50%);top:var(--gm-foot-y,80%);letter-spacing:.04em;white-space:nowrap;color:var(--ui-text-faint);pointer-events:none;transition:opacity .6s var(--ui-ease-out);align-items:center;gap:.35rem;margin:0;font-size:.75rem;display:inline-flex;position:absolute;translate:-50% .35rem}.gm-stage-turn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:.95rem;height:.95rem}.gm-stage.is-turning .gm-stage-turn{opacity:0}.gm-stage.is-loading .gm-tag,.gm-stage.is-loading .gm-stage-turn{visibility:hidden}.gm-stage-wait{left:var(--gm-foot-x,50%);top:var(--gm-foot-y,80%);letter-spacing:.04em;white-space:nowrap;color:var(--ui-text-faint);pointer-events:none;margin:0;font-size:.75rem;display:none;position:absolute;translate:-50% .35rem}.gm-stage.is-loading .gm-stage-wait{animation:gm-wait-in .6s var(--ui-ease-out) .8s both;display:block}@keyframes gm-wait-in{0%{opacity:0}}.gm-faces{z-index:1;left:var(--ui-gutter);right:calc(var(--gm-free-right,0px) + var(--ui-gutter));bottom:calc(var(--gm-panel-h,0px) + max(.75rem, env(safe-area-inset-bottom)));pointer-events:none;justify-items:center;gap:.35rem;display:grid;position:fixed}.gm-faces>*{pointer-events:auto}.gm-faces-label{letter-spacing:.04em;color:var(--ui-text-faint);margin:0;font-size:.75rem}.gm-faces-row{border:1px solid var(--ui-line);scrollbar-width:none;overscroll-behavior-x:contain;background:oklch(16% .02 250/.72);border-radius:10px;gap:2px;max-width:100%;padding:3px;display:flex;overflow-x:auto}.gm-faces-row::-webkit-scrollbar{display:none}.gm-face{cursor:pointer;touch-action:manipulation;width:42px;height:42px;transition:background-color .25s var(--ui-ease-out), scale .2s var(--ui-ease-out);background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.gm-face canvas{border-radius:50%}.gm-face:hover{background:oklch(95% .01 85/.08)}.gm-face:active{scale:.94}.gm-face:focus-visible{outline-offset:-2px}.gm-face[aria-pressed=true]{background:oklch(83% .1 75/.22);box-shadow:inset 0 0 0 1px oklch(83% .1 75/.7)}.gm-panel{z-index:2;border:1px solid var(--ui-line);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ui-line) transparent;isolation:isolate;background:radial-gradient(120% 40% at 50% 0,oklch(27% .025 245/.55),#0000 70%),oklch(17% .02 250/.94);align-content:start;gap:1.125rem;display:grid;position:fixed;overflow-y:auto;box-shadow:0 24px 60px -24px oklch(8% .02 250/.7)}.gm-panel:before{content:"";z-index:-1;mix-blend-mode:soft-light;opacity:.16;pointer-events:none;background:url(/assets/ui/hanji-512.jpg) 0 0/320px;position:absolute;inset:0}.gm-panel-head{gap:.35rem;display:grid}.gm-title{font-family:var(--ui-serif);letter-spacing:.005em;text-wrap:balance;word-break:keep-all;margin:0;font-size:1.5rem;font-weight:500;line-height:1.25}.gm-title:focus{outline:none}.gm-lead{color:var(--ui-text-dim);text-wrap:pretty;word-break:keep-all;margin:0;font-size:.875rem;line-height:1.55}.gm-label{letter-spacing:.02em;color:var(--ui-text-dim);font-size:.8125rem}.gm-looks{border:0;min-width:0;margin:0;padding:0}.gm-looks>legend{margin-bottom:.5rem;padding:0}.gm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.gm-look{aspect-ratio:1;border:1px solid var(--ui-line);color:var(--ui-text-dim);font:inherit;cursor:pointer;touch-action:manipulation;transition:border-color .3s var(--ui-ease-out), background-color .3s var(--ui-ease-out), scale .2s var(--ui-ease-out);background:radial-gradient(70% 70% at 50% 35%,oklch(30% .03 245/.8),oklch(19% .02 250/.6));border-radius:8px;padding:0;display:grid;position:relative;overflow:hidden}.gm-look-img{object-fit:cover;grid-area:1/1;width:100%;height:100%}.gm-look-img:not([src]){visibility:hidden}.gm-look-name{text-align:start;background:linear-gradient(#0000,oklch(16% .02 250/.85));grid-area:1/1;align-self:end;padding:1.25rem .6rem .45rem;font-size:.8125rem}.gm-look:hover{border-color:var(--ui-line-strong)}.gm-look:active{scale:.98}.gm-look[aria-checked=true]{border-color:var(--ui-lantern);box-shadow:inset 0 0 0 1px var(--ui-lantern);color:var(--ui-text);background:radial-gradient(70% 70% at 50% 35%,oklch(83% .1 75/.24),oklch(20% .025 245/.7))}.gm-look[aria-checked=true] .gm-look-name:before{content:"";background:var(--ui-lantern);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin:0 .4rem .1rem 0;display:inline-block}.gm-name{gap:.4rem;display:grid}.gm-name-row{gap:.4rem;display:flex}.gm-name-input{border:1px solid var(--ui-line-strong);min-width:0;min-height:44px;color:var(--ui-text);caret-color:var(--ui-lantern);font-family:var(--ui-serif);transition:border-color .25s var(--ui-ease-out);background:oklch(13% .02 250/.7);border-radius:8px;flex:1;padding:0 .85rem;font-size:1.0625rem}.gm-name-input:focus-visible{outline:2px solid var(--ui-lantern);outline-offset:2px;border-color:#0000}.gm-name-input[aria-invalid=true]{border-color:oklch(78% .1 55)}.gm-shuffle{border:1px solid var(--ui-line);width:44px;min-height:44px;color:var(--ui-text);cursor:pointer;touch-action:manipulation;transition:border-color .25s var(--ui-ease-out), background-color .25s var(--ui-ease-out);background:0 0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.gm-shuffle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem;transition:rotate .5s var(--ui-ease-out)}.gm-shuffle:hover{border-color:var(--ui-line-strong);background:oklch(95% .01 85/.05)}.gm-shuffle:active svg{rotate:180deg}.gm-hint{color:var(--ui-text-faint);word-break:keep-all;margin:0;font-size:.75rem;line-height:1.5}.gm-name:has(.gm-name-input[aria-invalid=true]) .gm-hint{color:oklch(78% .1 55)}.gm-go{background:var(--ui-lantern);min-height:48px;color:var(--ui-ink-deep);font-family:var(--ui-serif);letter-spacing:.02em;cursor:pointer;touch-action:manipulation;transition:filter .25s var(--ui-ease-out), scale .2s var(--ui-ease-out);border:0;border-radius:999px;margin-top:.25rem;padding:0 1.5rem;font-size:1.0625rem;font-weight:600;box-shadow:0 10px 28px -10px oklch(83% .1 75/.5)}.gm-go:hover{filter:brightness(1.06)}.gm-go:active{scale:.98}@media (width>=760px){.gm-faces{justify-content:center;align-items:center;gap:.75rem;display:flex}.gm-faces-label{flex:none}.gm-panel{top:0;bottom:0;right:max(1.25rem, env(safe-area-inset-right));border-radius:8px;width:min(21.5rem,42vw);height:fit-content;max-height:calc(100dvh - 8.5rem);margin-block:auto;padding:1.5rem 1.375rem 1.375rem}}@media (width<=759px){.gm-panel{max-height:60dvh;padding:1rem var(--ui-gutter) max(.875rem, env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:12px 12px 0 0;gap:.75rem;bottom:0;left:0;right:0}.gm-panel-head{gap:.15rem}.gm-title{font-size:1.25rem}.gm-lead{display:none}.gm-looks{grid-template-columns:5.75rem minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.gm-looks>legend{float:left;margin:0}.gm-grid{gap:.4rem}.gm-look{aspect-ratio:auto;grid-template-columns:3.75rem 1fr;height:3.75rem}.gm-look-img{grid-area:1/1;width:3.75rem;height:3.75rem}.gm-look-name{background:0 0;grid-area:1/2;align-self:center;padding:0 .5rem 0 .25rem;font-size:.875rem}.gm-sliders{gap:0}.gm-name{grid-template-columns:5.75rem minmax(0,1fr);align-items:center;gap:.25rem .75rem}.gm-name .gm-hint{grid-column:2}.gm-go{margin-top:0}.gm-faces-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gm-faces{left:.5rem;right:.5rem}}.gm-status{align-items:center;gap:.5rem;min-width:0;margin-right:auto;display:flex}.gm-chip{border:1px solid var(--ui-line);background:var(--ui-scrim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;align-items:center;gap:.45rem;max-width:100%;min-height:32px;padding:0 .8rem;font-size:.8125rem;display:inline-flex;overflow:hidden}.gm-chip:before{content:"";background:var(--ui-lantern);border-radius:50%;flex:none;width:6px;height:6px}.gm-badge:before{background:var(--ui-text-faint)}.gm-skip{flex:none}.gm-hint-play{left:var(--ui-gutter);right:var(--ui-gutter);bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 5.25rem);text-align:center;color:var(--ui-text);text-shadow:0 1px 8px oklch(14% .02 250/.9);word-break:keep-all;transition:opacity 1.2s var(--ui-ease-out);pointer-events:none;margin:0;font-size:.875rem;line-height:1.5;position:absolute}.gm-hint-play.is-gone{opacity:0}@media (prefers-reduced-motion:reduce){.gm-hint-play,.gm-look,.gm-face,.gm-go,.gm-name-input{transition:none}}.gm-cam svg{width:1.2rem;height:1.2rem}.gm-stick{left:var(--ui-gutter);bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 5.5rem);border:1px solid var(--ui-line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:oklch(14% .02 250/.45);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:absolute}.gm-stick-knob{border:1px solid var(--ui-line-strong);width:48px;height:48px;transition:translate .18s var(--ui-ease-out);pointer-events:none;background:oklch(95% .01 85/.18);border-radius:50%}.gm-stick.is-active .gm-stick-knob{background:oklch(83% .1 75/.32);transition:none}.gm-stick.is-running .gm-stick-knob{background:oklch(83% .12 75/.55)}.gm-hint-play.has-stick{left:calc(var(--ui-gutter) + 124px);text-align:start;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 6.5rem)}.gm-bow{left:50%;bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + 5rem);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:48px;color:var(--ui-text);font-family:var(--ui-serif);letter-spacing:.02em;white-space:nowrap;cursor:pointer;touch-action:manipulation;animation:gm-bow-rise .7s var(--ui-ease-out) both, gm-bow-breathe 4.8s ease-in-out .7s infinite;background:oklch(16% .02 250/.72);border:1px solid oklch(83% .1 75/.6);border-radius:999px;align-items:center;gap:.6rem;padding:0 1.25rem 0 1rem;font-size:1.0625rem;display:inline-flex;position:absolute;translate:-50%;box-shadow:0 8px 26px oklch(10% .02 250/.35),0 0 oklch(83% .1 75/.3)}.gm-bow-icon{fill:none;width:1.35rem;height:1.35rem;stroke:var(--ui-lantern);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.gm-bow:hover{background:oklch(20% .025 245/.82)}.gm-bow.is-walking{cursor:default;border-color:var(--ui-line);color:var(--ui-text-dim);animation:none}@keyframes gm-bow-rise{0%{opacity:0;translate:-50% .6rem}}@keyframes gm-bow-breathe{50%{box-shadow:0 8px 26px oklch(10% .02 250/.35),0 0 0 8px oklch(83% .1 75/.06)}}.ui-hud.has-stick .gm-bow{left:auto;right:var(--ui-gutter);animation-name:gm-bow-rise-side,gm-bow-breathe;translate:none}@keyframes gm-bow-rise-side{0%{opacity:0;translate:0 .6rem}}.ui-hud:has(.gm-bow:not([hidden])) .gm-hint-play{opacity:0}@media (prefers-reduced-motion:reduce){.gm-bow{animation:none}}.gm-use-icon{display:inline-flex}.gm-use-key{border:1px solid var(--ui-line);font:600 .6875rem/1.4 var(--ui-sans);color:var(--ui-text-dim);border-radius:6px;margin-left:.15rem;padding:.05rem .4rem;display:none}@media (hover:hover) and (pointer:fine){.gm-use-key{display:inline-block}}.ui-hud .gm-chip,.ui-hud .ui-pill{text-shadow:0 1px 6px oklch(12% .02 250/.6)}.ui-hud:has(.am-sheet:not([hidden])) .gm-bow{visibility:hidden}.ui-hud:has(.am-sheet:not([hidden])) .cb-say{visibility:hidden}.gm-place{left:50%;top:calc(max(.75rem, env(safe-area-inset-top)) + 3.5rem);box-sizing:border-box;width:min(21rem, calc(100vw - 2 * var(--ui-gutter)));border:1px solid var(--ui-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);isolation:isolate;animation:gm-place-in .7s var(--ui-ease-out) both;transition:opacity .5s var(--ui-ease-out), translate .5s var(--ui-ease-out);pointer-events:none;background:radial-gradient(80% 70% at 0 0,oklch(27% .025 245/.75),#0000 70%),oklch(16% .02 250/.82);border-radius:10px;padding:.5rem .3rem .55rem .75rem;position:absolute;overflow:hidden;translate:-50%;box-shadow:0 10px 30px oklch(10% .02 250/.3)}.gm-place-close,.gm-place-act{pointer-events:auto}.gm-place:before{content:"";z-index:-1;mix-blend-mode:soft-light;opacity:.16;pointer-events:none;background:url(/assets/ui/hanji-512.jpg) 0 0/320px;position:absolute;inset:0}.gm-place.is-leaving{opacity:0;translate:-50% -.5rem}@keyframes gm-place-in{0%{opacity:0;translate:-50% -.6rem}}.gm-place-head{align-items:center;gap:.25rem;min-height:26px;display:flex}.gm-place-name{min-width:0;font-family:var(--ui-serif);letter-spacing:.01em;word-break:keep-all;text-wrap:balance;flex:1;margin:0;font-size:.96875rem;font-weight:500;line-height:1.25}.gm-place-close{width:32px;height:28px;color:var(--ui-text-faint);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin:-.15rem 0;display:grid;position:relative}.gm-place-close:after{content:"";position:absolute;inset:-8px -6px}.gm-place-close svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:.85rem;height:.85rem}.gm-place-close:hover{color:var(--ui-text)}.gm-place-purpose{color:var(--ui-text-dim);word-break:keep-all;text-wrap:pretty;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.1rem .45rem 0 0;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.gm-place-actions{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem;padding-right:.45rem;display:flex}.gm-place-act{min-height:30px;color:var(--ui-text);font:inherit;white-space:nowrap;word-break:keep-all;cursor:pointer;touch-action:manipulation;transition:background-color .25s var(--ui-ease-out), scale .2s var(--ui-ease-out);background:oklch(83% .1 75/.08);border:1px solid oklch(83% .1 75/.45);border-radius:7px;align-items:center;gap:.3rem;padding:0 .6rem 0 .45rem;font-size:.8125rem;display:inline-flex;position:relative}.gm-place-act:after{content:"";position:absolute;inset:-7px -2px}.gm-place-act svg{fill:none;width:.95rem;height:.95rem;stroke:var(--ui-lantern);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.gm-place-act:hover{background:oklch(83% .1 75/.16)}.gm-place-act:active{scale:.97}.gm-place-soon{border:1px dashed var(--ui-line);letter-spacing:.02em;min-height:28px;color:var(--ui-text-faint);border-radius:7px;align-items:center;padding:0 .55rem;font-size:.75rem;display:inline-flex}.gm-stand{font-family:var(--ui-sans);border-color:var(--ui-line-strong);padding:0 1.25rem;font-size:.9375rem;animation-name:gm-bow-rise;animation-iteration-count:1}@media (prefers-reduced-motion:reduce){.gm-place{transition:opacity .3s linear;animation:none}.gm-place.is-leaving{translate:-50%}}.ui-hud.has-stick .gm-stand{animation-name:gm-bow-rise-side}.gm-perf{z-index:9;left:max(.5rem, env(safe-area-inset-left));color:oklch(95% .01 85);font-variant-numeric:tabular-nums;pointer-events:none;white-space:pre;background:oklch(14% .02 250/.82);border-radius:6px;margin:0;padding:.4rem .55rem;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;top:40%}
