.ap-host{place-self:stretch stretch;width:100%;min-width:0}.ap-wrap{gap:var(--space-4);justify-items:center;width:100%;max-width:30rem;margin:0 auto;display:grid}.ap-ax{color:var(--ff-slate-text,var(--ff-anvil));font-size:.86rem;font-weight:700}.ap-row{align-items:stretch;gap:var(--space-4);width:100%;display:flex}.ap-ax--side{justify-content:center;align-items:center;display:flex}.ap-ax-turn{writing-mode:vertical-rl;transform:rotate(180deg)}.ap-row>.ap-ax--side:last-child .ap-ax-turn{transform:none}.ap-plane{aspect-ratio:1;border:3px solid var(--ff-forge,var(--ff-anvil));touch-action:none;cursor:crosshair;border-radius:14px;flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid;position:relative;overflow:hidden}.ap-plane:focus{outline:none}.ap-plane:focus-visible{outline:3px solid var(--pc-select);outline-offset:3px}.ap-plane--over{box-shadow:0 0 0 4px var(--pc-select)}.ap-w{--ap-h:230;background:oklch(.93 .045 var(--ap-h));color:var(--ff-anvil);justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8);text-align:center;pointer-events:none;flex-direction:column;display:flex}@media (prefers-color-scheme:dark){.ap-w{background:oklch(.33 .045 var(--ap-h))}}.ap-glyph{font-size:clamp(1.4rem,5vw,2.6rem);line-height:1}.ap-glyph .dr-drift,.ap-glyph .dr-sway,.ap-glyph .dr-fall{transform-box:fill-box;transform-origin:top}.ap-glyph .dr-drift{animation:9s ease-in-out infinite alternate ap-sky-drift}.ap-glyph .dr-sway{animation:7s ease-in-out infinite alternate ap-sky-sway}.ap-glyph .dr-fall{animation:6s linear infinite ap-sky-fall}@keyframes ap-sky-drift{0%{transform:translate(-1.5px)}to{transform:translate(1.5px)}}@keyframes ap-sky-sway{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes ap-sky-fall{0%{opacity:0;transform:translateY(-1px)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(2px)}}.ap-plane--held .ap-glyph *,.ap-plane--over .ap-glyph *,.ap-plane:focus .ap-glyph *,.ap-wrap--locked .ap-glyph *{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.ap-glyph .dr-drift,.ap-glyph .dr-sway,.ap-glyph .dr-fall{animation:none}}.ap-wname{font-size:.95rem;font-weight:800}.ap-wsky{opacity:.85;font-size:.78rem}.ap-pin{pointer-events:none;z-index:3;place-items:center;width:2.75rem;height:2.75rem;margin:-1.375rem 0 0 -1.375rem;display:grid;position:absolute}.ap-pin-dot{background:var(--ff-spark,var(--pc-select));border:3px solid var(--ff-anvil);border-radius:3px;width:1.25rem;height:1.25rem;transform:rotate(45deg);box-shadow:0 1px 3px #0006}.ap-pin--ghost .ap-pin-dot{border-style:dashed;border-color:var(--pc-select);box-shadow:none;background:0 0}.ap-cloud{z-index:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, var(--pc-select) 42%, transparent) 0%, transparent 72%);border:2px dashed color-mix(in oklab, var(--pc-select) 70%, transparent);border-radius:999px;position:absolute;transform:translate(-50%,-50%)}.ap-norm{z-index:2;background:var(--pc-select);border:2px solid var(--ff-paper);width:1.1rem;height:1.1rem;box-shadow:0 0 0 2px var(--pc-select);pointer-events:none;border-radius:999px;margin:-.55rem 0 0 -.55rem;position:absolute}.ap-say{margin:var(--space-4) 0 0;text-align:center;min-height:2.6em;font-size:.92rem}.ap-chip{touch-action:none;cursor:grab;min-height:44px;padding:0 var(--space-12);border:2px dashed var(--pc-select);background:var(--ff-paper);z-index:4;border-radius:999px;line-height:44px;display:inline-block;position:relative}.ap-chip--held{cursor:grabbing;box-shadow:0 6px 14px #00000040}.ap-wrap--locked .ap-plane,.ap-wrap--locked~* .ap-chip{cursor:default}@media (prefers-reduced-motion:reduce){.ap-chip--held{box-shadow:none}}.ap-plane--field{background:oklch(94% .02 250);display:block}@media (prefers-color-scheme:dark){.ap-plane--field{background:oklch(30% .025 250)}}.ap-field-axes{pointer-events:none;z-index:0;background:linear-gradient(to right, transparent calc(50% - 1px), color-mix(in oklab, var(--ff-anvil) 22%, transparent) calc(50% - 1px), color-mix(in oklab, var(--ff-anvil) 22%, transparent) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(to bottom, transparent calc(50% - 1px), color-mix(in oklab, var(--ff-anvil) 22%, transparent) calc(50% - 1px), color-mix(in oklab, var(--ff-anvil) 22%, transparent) calc(50% + 1px), transparent calc(50% + 1px));position:absolute;inset:0}
