.cp{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.cp [hidden]{display:none!important}.cp-stage{display:flex;flex-direction:column;background:var(--night);color:#dfe7ef}.cp-board{padding:clamp(1rem,.7rem + 1.2vw,1.75rem);flex:1;display:flex;flex-direction:column;gap:.9rem;background:radial-gradient(100% 70% at 100% 0%,rgba(0,160,227,.14),transparent 60%)}.cp-board-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap}.cp-title{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#b6c4d2}.cp-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .65rem;border-radius:999px;background:#00a0e324;color:#7fd6ff;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em}.cp-chip i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.cp-svg{width:100%;height:auto;max-height:70vh;display:block;user-select:none;-webkit-user-select:none}.cp-help{font-size:.82rem;color:#9aabbc;line-height:1.5}.cp-svg .floor-edge{fill:none;stroke:#c8dcf08c}.cp-svg .wall{stroke:#c8dcf08c;stroke-linecap:round}.cp-svg .room-label{fill:#8f9fb0;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.cp-svg .dim{fill:#6f8194;font-family:var(--font-mono)}.cp-svg .cone{fill:#00a0e333;stroke:#7fd6ff66;stroke-linejoin:round}.cp-svg .cone.sel{fill:#00a0e352;stroke:#bfeaff}.cp-svg .item{cursor:grab;touch-action:none;outline:none}.cp-svg .item:active{cursor:grabbing}.cp-svg .hit{fill:transparent}.cp-svg .cam-ring{fill:#0d2638;stroke:#7fd6ff}.cp-svg .cam-aim{stroke:#7fd6ff;stroke-linecap:round}.cp-svg .cam-handle{fill:#0a1724;stroke:#7fd6ff;cursor:alias;touch-action:none}.cp-svg .cam-num{fill:#bfeaff;font-family:var(--font-body);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.cp-svg .item.sel .cam-ring,.cp-svg .item:focus-visible .cam-ring{stroke:#fff;fill:var(--blue-ink)}.cp-svg .item.sel .cam-num,.cp-svg .item:focus-visible .cam-num{fill:#fff}.cp-svg .spot-mark{stroke:#0a1724}.cp-svg .spot.ok .spot-mark{fill:#4ade80}.cp-svg .spot.miss .spot-mark{fill:#ff8a8a}.cp-svg .spot-label{font-family:var(--font-body);font-weight:600;pointer-events:none;paint-order:stroke;stroke:#0a1724}.cp-svg .spot.ok .spot-label{fill:#a7f3c0}.cp-svg .spot.miss .spot-label{fill:#ffc4c4}.cp-svg .item.sel .spot-mark,.cp-svg .item:focus-visible .spot-mark{stroke:#fff}.cp-stats{margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.08);background:#ffffff05}.cp-stats div{padding:1rem clamp(.75rem,.5rem + .8vw,1.25rem);border-left:1px solid rgba(255,255,255,.08);min-width:0}.cp-stats div:first-child{border-left:0}.cp-stats dt{font-size:.78rem;color:#9aabbc}.cp-stats dd{margin:.25rem 0 0;font-family:var(--font-display);font-weight:650;font-size:1.25rem;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}.cp-panel{padding:clamp(1.25rem,1rem + 1vw,2rem);display:grid;gap:1.6rem;align-content:start}.cp-group{border:0;margin:0;padding:0;min-width:0;display:grid;gap:.8rem}.cp-group legend{padding:0;margin-bottom:.8rem;font-family:var(--font-display);font-weight:650;font-size:1.15rem;letter-spacing:-.02em}.cp-sub{font-size:.88rem;font-weight:600;color:var(--ink-2)}.cp-pills{display:flex;flex-wrap:wrap;gap:.45rem}.cp-pills--stack{display:grid}.cp-pill{position:relative;cursor:pointer}.cp-pill input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.cp-pill span{display:block;padding:.55rem .9rem;border-radius:999px;border:1.5px solid var(--line);font-size:.9rem;font-weight:550;transition:border-color .2s,background-color .2s,color .2s}.cp-pill--lens span{border-radius:12px;display:grid;gap:.1rem}.cp-pill--lens small{font-size:.8rem;font-weight:500;color:var(--ink-2)}.cp-pill:hover span{border-color:var(--ink-3)}.cp-pill input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}.cp-pill input:checked+span small{color:#cfdbe6}.cp-pill input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}.cp-size{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cp-field{display:grid;gap:.35rem;font-size:.88rem;font-weight:600;color:var(--ink-2);min-width:0}.cp-field input,.cp-field select{width:100%;min-height:2.9rem;padding:.5rem .75rem;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-weight:500}.cp-field input:focus,.cp-field select:focus{outline:3px solid var(--blue);outline-offset:1px}.cp-range input{padding:0;min-height:2.75rem;accent-color:var(--blue-ink);border:0}.cp-range output{color:var(--ink);font-variant-numeric:tabular-nums}.cp-upload{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.cp-file{position:relative;cursor:pointer}.cp-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.cp-file span{display:inline-flex;align-items:center;gap:.5rem;min-height:2.9rem;padding:.55rem 1rem;border-radius:999px;border:1.5px dashed var(--ink-3);font-weight:600;font-size:.92rem}.cp-file span svg{width:1.1rem;height:1.1rem;color:var(--blue-ink)}.cp-file:hover span{border-style:solid}.cp-file input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}.cp-link{background:none;border:0;padding:.4rem 0;font-weight:600;color:var(--blue-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;justify-self:start}.cp-remove{color:#a5281b}.cp-note{font-size:.84rem;color:var(--ink-2);line-height:1.5}.cp-add{justify-self:start}.cp-spot-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end}.cp-selected{padding:1rem;margin:-.25rem -.25rem 0;border-radius:14px;background:var(--rack)}.cp-selected legend{float:left;width:100%}.cp-selected>div{display:grid;gap:.8rem}.cp-send{display:grid;gap:.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}.cp-send .btn{width:100%}.cp-send .btn:disabled{opacity:.6;cursor:progress}@media(max-width:1100px){.cp{grid-template-columns:minmax(0,1fr)}.cp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-stats div:nth-child(4){border-left:0}.cp-stats div:nth-child(n+4){border-top:1px solid rgba(255,255,255,.08)}}@media(max-width:520px){.cp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-stats div{border-left:0;border-top:1px solid rgba(255,255,255,.08)}.cp-stats div:nth-child(2n){border-left:1px solid rgba(255,255,255,.08)}.cp-stats div:nth-child(-n+2){border-top:0}.cp-spot-add{grid-template-columns:minmax(0,1fr)}}.crumbs[data-astro-cid-546tgtym]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#fff9;margin-bottom:1.6rem}.crumbs[data-astro-cid-546tgtym] a[data-astro-cid-546tgtym]{color:#ffffffd9;text-decoration:none}.crumbs[data-astro-cid-546tgtym] a[data-astro-cid-546tgtym]:hover{color:#fff}.tips[data-astro-cid-546tgtym]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.tips[data-astro-cid-546tgtym] li[data-astro-cid-546tgtym]{display:grid;gap:.5rem;align-content:start;padding-top:1.25rem;border-top:2px solid var(--ink)}.tip-n[data-astro-cid-546tgtym]{font-family:var(--font-mono);font-size:.8rem;color:var(--blue-ink)}.tips[data-astro-cid-546tgtym] p[data-astro-cid-546tgtym]{color:var(--ink-2)}.tips-more[data-astro-cid-546tgtym]{margin-top:2.5rem}@media(max-width:1000px){.tips[data-astro-cid-546tgtym]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tips[data-astro-cid-546tgtym]{grid-template-columns:minmax(0,1fr)}}
