.gn{--gn-ink:#141414;--gn-mute:#5f5f5f;--gn-rule:#d6d6d6;--gn-sel:#0b57d0;gap:16px;display:grid}.gn-bar{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;display:flex}.gn-group{flex-wrap:wrap;gap:8px;display:flex}.gn-btn{border:1.5px solid var(--gn-ink);min-height:44px;color:var(--gn-ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.gn-btn:hover:not(:disabled){background:#f2f2f2}.gn-btn:disabled{color:#767676;cursor:not-allowed;border-color:#9a9a9a}.gn-primary{background:var(--gn-ink);color:#fff}.gn-primary:hover:not(:disabled){background:#2b2b2b}.gn-clear{border-style:dashed}.gn .gn-btn:focus-visible,.gn-switch:focus-visible,.gn-link:focus-visible,.gn input:focus-visible,.gn select:focus-visible{outline:3px solid var(--gn-ink);outline-offset:2px;border-radius:8px}.gn-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gn-keep{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.gn-switch{min-height:44px;color:var(--gn-ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:16px;font-weight:600;display:inline-flex}.gn-track{border:2px solid var(--gn-ink);background:#fff;border-radius:13px;flex:none;width:44px;height:26px;position:relative}.gn-thumb{background:var(--gn-ink);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:3px;left:3px}.gn-switch[aria-checked=true] .gn-track{background:var(--gn-ink)}.gn-switch[aria-checked=true] .gn-thumb{background:#fff;left:21px}.gn-note{color:var(--gn-mute);font-size:15px}.gn-work{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}@media (max-width:900px){.gn-work{grid-template-columns:1fr}}.gn-canvas{border-top:2px solid var(--gn-ink);border-bottom:1px solid var(--gn-rule);background-color:#fff;background-image:radial-gradient(#d9d9d9 1px,#0000 1px);background-size:24px 24px}.gn-canvas svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.gn-person{cursor:grab;touch-action:none;outline:none}.gn-person:active{cursor:grabbing}.gn-rel{cursor:pointer;outline:none}.gn-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke}.gn-ring{fill:none;stroke:none;pointer-events:none}.gn-person.is-on .gn-ring,.gn-rel.is-on .gn-ring{stroke:var(--gn-sel);stroke-width:3px}.gn-rel.is-on .gn-ring{stroke-width:8px;stroke-opacity:.35}.gn-person:focus-visible .gn-ring{stroke:var(--gn-ink);stroke-width:3px;stroke-dasharray:6 4}.gn-rel:focus-visible .gn-ring{stroke:var(--gn-ink);stroke-width:8px;stroke-opacity:.4;stroke-dasharray:6 4}.gn-panel{border-top:2px solid var(--gn-ink);gap:16px;padding-top:12px;display:grid}.gn-ph{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.gn-fields{gap:14px;display:grid}.gn-field{border:0;gap:6px;min-width:0;margin:0;padding:0;font-size:15px;font-weight:600;display:grid}.gn-field input[type=text],.gn-field select{min-height:44px;color:var(--gn-ink);font:inherit;box-sizing:border-box;background:#fff;border:1.5px solid #767676;border-radius:8px;width:100%;padding:0 10px;font-size:16px;font-weight:400}.gn-radios legend{margin-bottom:6px;padding:0}.gn-radios label,.gn-check{cursor:pointer;align-items:center;gap:8px;min-height:36px;font-size:16px;font-weight:400;display:flex}.gn-radios input,.gn-check input{width:20px;height:20px;accent-color:var(--gn-ink);margin:0}.gn-row{flex-wrap:wrap;gap:8px;display:flex}.gn-desc{color:#444;margin:0;font-size:15px;line-height:1.5}.gn-lh{margin:0 0 6px;font-size:15px;font-weight:600}.gn-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.gn-link{min-height:32px;color:var(--gn-ink);font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:15px;text-decoration:underline}.gn-link[aria-pressed=true]{font-weight:600}.gn-status{color:#444;min-height:1.5em;margin:0;font-size:15px}.gn-loading{min-height:480px;color:var(--gn-mute,#5f5f5f)}@media (prefers-reduced-motion:reduce){.gn-thumb{transition:none}}.gn-guide{max-width:720px}.gn-guide p{color:var(--body);max-width:62ch;margin:16px 0 0;font-size:18px}.gn-guide .g-table td:first-child{width:72px}.gn-foot{border-top:1px solid var(--line);padding-top:24px;font-size:17px}
