@layer kit{.pui-frame{position:relative;margin:3rem 0 0;padding:.75rem;color:var(--ink);background-color:var(--surface);background-image:radial-gradient(color-mix(in srgb,var(--line-strong) 35%,transparent) 1px,transparent 1.2px);background-size:18px 18px;background-position:9px 9px;border:2px dashed var(--line-strong);border-radius:12px;scroll-margin-top:calc(var(--header-h) + 1rem);font-size:.875rem;line-height:1.5}.pui-proto{position:relative;margin:0 0 1rem;padding:.4em .7em .4em 1.55rem;font:600 .75rem/1.4 var(--font-mono);color:var(--proto-fg);background:var(--proto-bg);border:1px solid var(--proto-fg);border-radius:4px;overflow:hidden}.pui-proto::before{content:"";position:absolute;inset:0 auto 0 0;width:.9rem;background:repeating-linear-gradient(-45deg,var(--proto-fg) 0 2px,transparent 2px 5px);border-right:1px solid var(--proto-fg)}.pui-proto b{color:inherit;font-weight:800;letter-spacing:var(--track-caps)}.pui-title{margin:0 0 .25rem;font-size:var(--step-1);font-weight:700;letter-spacing:var(--track-head)}.pui-whose,.pui-foot{margin:0;font-size:.875rem;color:var(--ink-3)}.pui-whose{margin-bottom:1rem}.pui-foot{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.pui-root{position:relative;isolation:isolate}.pui-fallback > p{max-width:75ch;color:var(--ink-2)}.pui-fallback > * + .table-wrap,.pui-fallback > .table-wrap + *{margin-top:1rem}.pui-app{display:grid;gap:1rem}.pui-try{margin:0;padding:.75rem 1rem .75rem 2.25rem;font-size:.875rem;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:8px}.pui-try li + li{margin-top:.25rem}.pui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;min-width:2.75rem;padding:0 1rem;font:600 .875rem/1 var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer}.pui-btn:hover{border-color:var(--ink)}.pui-btn[aria-pressed=true],.pui-btn--primary{color:var(--on-brand);background:var(--brand);border-color:var(--brand)}.pui-btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.pui-btn[aria-disabled=true],.pui-btn:disabled{opacity:.5;cursor:default}.pui-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pui-group{display:inline-flex;flex-wrap:wrap;gap:.25rem}.pui-chip{display:inline-flex;align-items:center;gap:.45em;padding:.25em .55em .25em .45em;font:700 .75rem/1.2 var(--font-mono);letter-spacing:.02em;white-space:nowrap;color:var(--ink-2);background:var(--bg-sunk);border:1px solid transparent;border-radius:4px}.pui-chip::before{content:"";flex:none;width:.62em;height:.62em;background:currentColor}.pui-chip[data-decision=allow]{color:var(--allow-fg);background:var(--allow-bg)}.pui-chip[data-decision=allow]::before{border-radius:50%}.pui-chip[data-decision=ask]{color:var(--ask-fg);background:var(--ask-bg)}.pui-chip[data-decision=ask]::before{background:none;border:2px solid currentColor;border-radius:50%}.pui-chip:is([data-decision^=den],[data-decision=rejected]){color:var(--deny-fg);background:var(--deny-bg)}.pui-chip:is([data-decision^=den],[data-decision=rejected])::before{border-radius:1px}.pui-chip[data-decision=none]{color:var(--ink-2);background:var(--bg-sunk)}.pui-chip[data-decision=none]::before{height:2px;width:.7em}.pui-tag{display:inline-block;padding:.2em .5em;vertical-align:.1em;font:600 .75rem/1.2 var(--font-mono);letter-spacing:.03em;white-space:nowrap;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px}.pui-tag--replay::before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.45em;background:currentColor;border-radius:1px}.pui-tag--illustrative,.pui-tag--plan{border-style:dashed}.pui-tag--plan{color:var(--brand);border-color:var(--brand);font-weight:700;letter-spacing:var(--track-caps)}.pui-formula{font-family:var(--font-mono);font-size:.85em;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.pui-table{width:100%;border-collapse:collapse;font:400 .875rem/1.4 var(--font-sans);font-variant-numeric:tabular-nums}.pui-table caption{caption-side:top;text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}.pui-table th,.pui-table td{height:2.5rem;padding:.5rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.pui-table thead th{font:700 .75rem/1.2 var(--font-mono);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--ink-3);background:var(--bg-sunk);white-space:nowrap}.pui-table tbody th{font-weight:600;font-family:var(--font-mono);white-space:nowrap}.pui-table td{color:var(--ink-2)}.pui-table tbody tr:last-child > *{border-bottom:0}.pui-frame .table-wrap{background:var(--surface);box-shadow:var(--e-1);border:0}.pui-detail{padding:.75rem 1rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--e-2)}.pui-detail h4{margin:0 0 .75rem;font-size:var(--step-0)}.pui-detail dl{display:grid;grid-template-columns:minmax(7rem,max-content) 1fr;gap:.5rem 1rem;margin:0 0 .75rem}.pui-detail dt{font:700 .75rem/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--ink-3)}.pui-detail dd{margin:0;color:var(--ink-2)}.pui-empty{margin:0;padding:1rem;color:var(--ink-2);background:var(--bg);border:1.5px dashed var(--line-strong);border-radius:8px}.pui-keys{margin:0;font:500 .75rem/1.5 var(--font-mono);color:var(--ink-3)}.pui-field{margin:0;padding:0;border:0;min-width:0}.pui-field legend{padding:0;margin-bottom:.5rem;font-weight:600}.pui-field label{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;margin-right:1rem;cursor:pointer}.pui-field input{accent-color:var(--brand);width:1.1rem;height:1.1rem;margin:0}
@media (min-width: 40em){.pui-frame{padding:1.5rem}}

@media (max-width: 39.99em){.pui-detail dl{grid-template-columns:1fr}}

@media (prefers-reduced-motion: no-preference){.pui-btn,.pui-chip{transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.pui-detail{animation:pui-open var(--dur-3) var(--ease-out)}}

@keyframes pui-open{from{opacity:0;transform:translateY(calc(-1 * .5rem))}}

@media (forced-colors: active){.pui-frame,.pui-chip,.pui-tag,.pui-proto,.pui-detail,.pui-empty{border-color:CanvasText}.pui-frame{background-image:none}.pui-chip::before{background:CanvasText;border-color:CanvasText}.pui-chip[data-decision=ask]::before{background:none}.pui-btn[aria-pressed=true],.pui-btn--primary{background:Highlight;color:HighlightText;border-color:Highlight}.pui-btn:focus-visible{outline-color:Highlight}.pui-proto::before{background:repeating-linear-gradient(-45deg,CanvasText 0 2px,transparent 2px 5px)}}
}

@layer kit{
input:is([type=range],[type=radio],[type=checkbox]){accent-color:var(--brand)}
[data-proto=replay] input:is([type=radio],[type=checkbox]){inline-size:1.25rem;block-size:1.25rem;margin:0 .5rem 0 0}
.pui-frame input[type=range]{-webkit-appearance:none;appearance:none;background:none;cursor:pointer}
.pui-frame input[type=range]::-webkit-slider-runnable-track{height:.5rem;border-radius:99px;background:var(--brand-wash);box-shadow:inset 0 0 0 1px var(--brand)}
.pui-frame input[type=range]::-moz-range-track{height:.5rem;border-radius:99px;background:var(--brand-wash);box-shadow:inset 0 0 0 1px var(--brand)}
.pui-frame input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.5rem;height:1.5rem;margin-top:-.5rem;border-radius:50%;background:var(--brand);border:3px solid var(--surface);box-shadow:0 0 0 1.5px var(--brand),var(--e-1,0 1px 3px #0004)}
.pui-frame input[type=range]::-moz-range-thumb{width:1.5rem;height:1.5rem;box-sizing:border-box;border-radius:50%;background:var(--brand);border:3px solid var(--surface);box-shadow:0 0 0 1.5px var(--brand)}
@media (forced-colors:active){.pui-frame input[type=range]{appearance:auto;-webkit-appearance:auto}}
}
@layer kit{:is([data-proto=pack],[data-proto=controlmap],.paper) :is(.lbl,.pui-tag){font-size:.875rem;font-weight:800;padding:.3em .65em;border:1.5px solid currentColor}:is([data-proto=pack],[data-proto=controlmap],.paper) .lbl-PARTIAL{color:#5f3f06;background:#f3dfae}:is([data-proto=pack],[data-proto=controlmap],.paper) .lbl-BLOCKED{color:#6e1d0f;background:#f1c9bf}}
