.b4-access-vis{display:grid;justify-items:center;gap:var(--b4-inline);margin:0;min-width:0}.b4-key{width:100%;max-width:300px;height:auto;overflow:visible}.b4-key-bow,.b4-key-shank{fill:var(--color-elevated);stroke:var(--color-fg);stroke-width:2.5}.b4-key-hole{fill:var(--color-surface);stroke:var(--color-fg);stroke-width:2}.b4-key-tooth{fill:var(--color-accent);stroke:var(--color-fg);stroke-width:1.5;transform-box:fill-box;transform-origin:top;animation:b4-cut calc(var(--motion-duration) * 380ms) var(--motion-ease) both}.b4-key-done .b4-key-tooth{fill:var(--color-ok)}.b4-kt-1{animation-delay:calc(var(--b4-t-step) * 1)}.b4-kt-2{animation-delay:calc(var(--b4-t-step) * 2)}.b4-kt-3{animation-delay:calc(var(--b4-t-step) * 3)}.b4-kt-4{animation-delay:calc(var(--b4-t-step) * 4)}.b4-kt-5{animation-delay:calc(var(--b4-t-step) * 5)}.b4-kt-6{animation-delay:calc(var(--b4-t-step) * 6)}.b4-kt-7{animation-delay:calc(var(--b4-t-step) * 7)}.b4-kt-8{animation-delay:calc(var(--b4-t-step) * 8)}.b4-kt-9{animation-delay:calc(var(--b4-t-step) * 9)}.b4-kt-10{animation-delay:calc(var(--b4-t-step) * 10)}.b4-kt-11{animation-delay:calc(var(--b4-t-step) * 11)}@keyframes b4-cut{from{transform:scaleY(calc(1 - var(--motion-on)))}}.b4-env{width:100%;max-width:220px;height:auto;overflow:visible}.b4-env-body{fill:var(--color-surface);stroke:var(--color-fg);stroke-width:2.5}.b4-env-flap,.b4-env-tear{fill:none;stroke:var(--color-fg);stroke-width:2.5;stroke-linejoin:round}.b4-env-tear{stroke:var(--color-danger);stroke-dasharray:4 3}.b4-env-clock{fill:var(--color-elevated);stroke:var(--color-fg);stroke-width:2.5}.b4-env-time{fill:none;stroke:var(--color-accent);stroke-width:5;stroke-dasharray:100;transform:rotate(-90deg);transform-origin:112px 26px;animation:b4-env-drain calc(var(--motion-duration) * 1600ms) var(--motion-ease) both}.b4-env-torn .b4-env-time{stroke:var(--b4-outline);animation:none}.b4-env-hand,.b4-env-stop{fill:none;stroke:var(--color-fg);stroke-width:2.5;stroke-linecap:round}.b4-env-stop{stroke:var(--color-danger)}@keyframes b4-env-drain{from{stroke-dashoffset:calc(100 * var(--motion-on))}}.b4-env-sent .b4-env{animation:b4-env-fly calc(var(--motion-duration) * 900ms) var(--motion-ease) both}@keyframes b4-env-fly{from{transform:translate(calc(-40px * var(--motion-on)),calc(20px * var(--motion-on))) rotate(calc(-8deg * var(--motion-on)));opacity:calc(1 - var(--motion-on))}}.b4-access-dead,.b4-access-done{display:grid;gap:var(--b4-stack);align-items:center}@media (min-width:720px){.b4-access-dead,.b4-access-done{grid-template-columns:minmax(0,220px) minmax(0,1fr)}}.b4-slip-tile{display:grid;gap:var(--b4-stack)}.b4-slip{position:relative;display:grid;gap:calc(var(--b4-inline) * 0.75);max-width:44rem;padding:var(--b4-tile-pad);border:calc(var(--border-width) * 2) dashed var(--b4-outline);border-radius:var(--b4-sub-radius);background:var(--color-elevated);animation:b4-slip-tear calc(var(--motion-duration) * 700ms) var(--motion-ease) both}.b4-slip-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--b4-inline);font-weight:700}.b4-slip-label{color:var(--color-muted);font-size:0.875rem}.b4-slip-pw{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.15em;font-size:clamp(1.25rem,5.5vw,2rem);font-weight:700;letter-spacing:0.08em;overflow-wrap:anywhere}.b4-slip-group{padding:0.05em 0.25em;border-radius:0.25em;background:var(--color-surface);border:var(--border-width) solid var(--color-border)}.b4-slip-dash{color:var(--color-muted)}.b4-slip-until{font-weight:700}.b4-slip-steps{display:grid;gap:calc(var(--b4-inline) * 0.5);margin:0;padding-left:1.2em}@keyframes b4-slip-tear{from{transform:translateY(calc(-18px * var(--motion-on))) rotate(calc(-2deg * var(--motion-on)));opacity:calc(1 - var(--motion-on))}}.b4-access{display:grid;gap:var(--b4-stack)}.b4-access-things{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--b4-gap);margin:0;padding:0;list-style:none}.b4-access-thing{display:grid;align-content:start;gap:calc(var(--b4-inline) * 0.6);min-width:0;padding:var(--b4-sub-pad);border:var(--border-width) solid var(--color-border);border-radius:var(--b4-sub-radius);background:var(--color-elevated)}.b4-access-thing .b4-h3{margin:0;font-size:1.05rem}.b4-access-thing p{margin:0}.b4-at-vis{width:64px;height:40px}.b4-at-line{fill:none;stroke:var(--color-fg);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.b4-at-dash{stroke-dasharray:2 3}.b4-at-set .b4-at-vis,.b4-at-open .b4-at-vis{color:var(--color-ok)}.b4-at-none .b4-at-line,.b4-at-temporary .b4-at-line{stroke:var(--color-muted)}.b4-at-temporary{border-style:dashed}.b4-at-shut{border-color:var(--color-danger)}.b4-at-shut .b4-at-line{stroke:var(--color-danger)}.b4-at-leaf{transform-box:fill-box;transform-origin:left;animation:b4-door-open calc(var(--motion-duration) * 900ms) var(--motion-ease) both}@keyframes b4-door-open{from{transform:scaleX(calc(1 + 0.6 * var(--motion-on)))}}.b4-access-act summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:0.2em}.b4-access-act[open] summary{margin-bottom:calc(var(--b4-inline) * 0.5)}.b4-btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.b4-btn-danger:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-fg))}.b4-ring-shut .b4-keyring{position:relative;filter:grayscale(1)}.b4-ring-shutter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--b4-inline);margin:0;padding:var(--b4-sub-pad);border-radius:var(--b4-sub-radius);background:repeating-linear-gradient(180deg,var(--color-elevated) 0 10px,color-mix(in srgb,var(--color-fg) 10%,var(--color-elevated)) 10px 12px);border:var(--border-width) solid var(--color-border);transform-origin:top;animation:b4-shutter calc(var(--motion-duration) * 800ms) var(--motion-ease) both}.b4-ring-shutter-stamp{padding:0.2em 0.7em;border:calc(var(--border-width) * 3) solid var(--color-danger);border-radius:0.4em;background:var(--color-surface);color:var(--color-danger);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;transform:rotate(-4deg)}@keyframes b4-shutter{from{transform:scaleY(calc(1 - var(--motion-on)))}}.b4-access-thing .b4-btn,.b4-login-card .b4-btn{max-width:100%;white-space:normal;height:auto;text-align:center}