.dg-stack{gap:1.6rem;display:grid}.dg{gap:0;display:grid}.dg-figure{aspect-ratio:1;border:1px solid var(--paper-edge,#dcd0b6);touch-action:none;background:linear-gradient(#fbf9f3,#f4efe3);border-radius:3px;max-width:34rem;margin:0;position:relative;overflow:hidden}.dg-figure:focus-visible{outline:2px solid var(--signal,#1f56de);outline-offset:2px}.dg-canvas{cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.dg-canvas[hidden]{display:none}.dg-canvas[data-dragging=true]{cursor:grabbing}.dg-poster{position:absolute;inset:0}.dg-poster[hidden]{display:none}.dg-poster-svg{width:100%;height:100%;display:block}.dg-arena{fill:#fbf9f3;stroke:var(--rule-strong,#c8bc9e);stroke-width:1.5px}.dg-grid line{stroke:#c8bc9e80;stroke-width:1px}.dg-tee{fill:var(--entity-block,#a5257d)}.dg-target{fill:none;stroke:var(--entity-target,#0c7d5f);stroke-width:2px;stroke-dasharray:5 4}.dg-practice{fill:var(--ink-mute,#6d6252);opacity:.1}.dg-practice-ring{fill:none;stroke:var(--ink-mute,#6d6252);stroke-width:1.4px;stroke-dasharray:6 4;opacity:.72}.dg-practice-label,.dg-target-label,.dg-poster-hint{font-family:var(--font-mono,ui-monospace, monospace);fill:var(--ink-mute,#6d6252)}.dg-practice-label{font-size:11px}.dg-target-label{font-size:12px}.dg-poster-hint{letter-spacing:.03em;fill:var(--signal,#1f56de);text-anchor:middle;font-size:13px}.dg-pusher-ring{fill:none;stroke:var(--entity-pusher,#b0560f);stroke-width:1.5px;opacity:.5}.dg-pusher-core{fill:var(--entity-pusher,#b0560f)}.dg-halo{fill:none;stroke:var(--signal,#1f56de);stroke-width:1.5px;stroke-dasharray:4 4;opacity:.8}.dg-drag-label{font-family:var(--font-mono,ui-monospace, monospace);fill:var(--signal,#1f56de);font-size:12px}.dg-hud{border:1px solid var(--rule-strong,#c8bc9e);backdrop-filter:blur(3px);width:min(17rem,62%);font-family:var(--font-mono,ui-monospace, monospace);pointer-events:none;background:#fdfbf6db;border-radius:5px;gap:.3rem;padding:.55rem .7rem;font-size:.72rem;display:grid;position:absolute;top:.7rem;left:.7rem}.dg-hud-row{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.dg-k{color:var(--ink-mute,#6d6252);letter-spacing:.02em}.dg-v{font-variant-numeric:tabular-nums;color:var(--ink,#23201b);font-weight:600}.dg-v.dg-ok{color:var(--entity-target,#0c7d5f)}.dg-v.dg-bad{color:var(--alert,#c0362a)}.dg-outcome{border-top:1px solid #c8bc9e99;justify-content:space-between;align-items:baseline;gap:.6rem;margin-top:.15rem;padding-top:.35rem;display:flex}.dg-outcome-tag{color:var(--entity-target,#0c7d5f);letter-spacing:.02em;font-weight:700}.dg-outcome-sub{color:var(--ink-mute,#6d6252);text-align:right;font-size:.86em;font-weight:400}.dg-meter{background:#c8bc9e66;border-radius:100px;height:5px;overflow:hidden}.dg-meter-fill{background:var(--entity-target,#0c7d5f);height:100%;transition:width .12s linear}.dg-meter-fill[data-far=true]{background:var(--alert,#c0362a)}.dg-status{font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink-mute,#6d6252);pointer-events:none;justify-content:space-between;gap:.8rem;font-size:.66rem;display:flex;position:absolute;bottom:.7rem;left:.7rem;right:.7rem}.dg-status[data-failed=true]{color:var(--alert,#c0362a)}.dg-controls{flex-wrap:wrap;align-items:center;gap:.55rem;padding:.85rem .1rem .1rem;display:flex}.dg-btn{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.01em;border:1px solid var(--rule-strong,#c8bc9e);background:var(--paper,#f7f3ea);color:var(--ink-soft,#473f34);cursor:pointer;border-radius:100px;padding:.4rem .85rem;font-size:.74rem;transition:background .15s,color .15s,border-color .15s}.dg-btn:hover{border-color:var(--signal,#1f56de);color:var(--ink,#23201b)}.dg-btn:focus-visible{outline:2px solid var(--signal,#1f56de);outline-offset:2px}.dg-btn--primary{background:var(--signal,#1f56de);color:var(--signal-ink,#fff);border-color:var(--signal,#1f56de);box-shadow:0 1px 4px -1px var(--signal-line,#1f56de66)}.dg-btn--primary:hover{color:#fff;background:color-mix(in srgb, var(--signal,#1f56de) 90%, #000)}.dg-btn:disabled{opacity:.5;cursor:default}.dg-control-note{font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink-mute,#6d6252);margin-left:auto;font-size:.66rem}@media (width<=34rem){.dg-hud{width:min(15rem,66%);padding:.4rem .5rem;font-size:.62rem;top:.5rem;left:.5rem}.dg-control-note{display:none}}
