.cx-lock{color:var(--accent);flex:none;place-items:center;display:inline-grid;position:relative}.cx-lock svg{z-index:1;position:relative;overflow:visible}.cx-lock__body{fill:currentColor}.cx-lock__hole{fill:var(--surface)}.cx-lock__shackle{transform-box:fill-box;transform-origin:100% 100%;transition:transform var(--dur-3) var(--ease-spring)}.cx-lock.is-open .cx-lock__shackle{transform:translateY(-9px)rotate(-10deg)}.cx-lock.is-open{color:var(--success)}.cx-lock__ring{background:radial-gradient(closest-side, color-mix(in srgb, currentColor 22%, transparent), transparent);opacity:0;border-radius:50%;position:absolute;inset:-6px;transform:scale(.6)}.cx-lock.is-animating-closed .cx-lock__shackle{animation:cx-shackle-close .7s var(--ease-spring) .25s both}.cx-lock.is-animating-closed svg{animation:cx-thunk .42s var(--ease-out) .62s both}.cx-lock.is-animating-closed .cx-lock__ring{animation:cx-ring .9s var(--ease-out) .64s both}.cx-lock.is-animating-open{color:var(--accent);animation:1ms linear .85s both cx-tint-open}.cx-lock.is-animating-open svg{animation:.42s ease-in-out .2s both cx-jiggle}.cx-lock.is-animating-open .cx-lock__shackle{animation:cx-shackle-open .65s var(--ease-spring) .62s both}.cx-lock.is-animating-open .cx-lock__ring{animation:cx-ring .9s var(--ease-out) .82s both}@keyframes cx-shackle-close{0%{transform:translateY(-9px)rotate(-10deg)}to{transform:none}}@keyframes cx-shackle-open{0%{transform:none}to{transform:translateY(-9px)rotate(-10deg)}}@keyframes cx-thunk{0%{transform:none}35%{transform:translateY(2px)scale(1.04,.96)}to{transform:none}}@keyframes cx-jiggle{0%,to{transform:none}25%{transform:rotate(-6deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}}@keyframes cx-ring{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.7)}}@keyframes cx-tint-open{to{color:var(--success)}}.cx-result--closed{background:radial-gradient(420px 220px at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--surface-2)}.cx-facts{gap:var(--space-2);text-align:left;max-width:36rem;padding:0;list-style:none;display:grid}.cx-facts li{gap:var(--space-2);color:var(--text-muted);align-items:flex-start;font-size:.93rem;display:flex}.cx-facts svg{color:var(--accent);flex:none;margin-top:3px}.cx-error-wrap{gap:var(--space-3);justify-items:start;display:grid}.cx-plain .cx-lock{margin-bottom:var(--space-1)}.cx .btn svg,.cx-result .btn svg{flex:none}.cx-filename{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:min(46ch,60vw);display:inline-block;overflow:hidden}.cx-stage{align-content:center;place-items:center;gap:var(--space-5);min-height:460px;padding:var(--space-6) var(--space-5);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 60%), repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 24px), var(--bg);display:grid}.cx-stage__caption{justify-items:center;gap:var(--space-3);text-align:center;display:grid}.cx-stage__title{font-family:var(--font-display);font-weight:700;font-size:var(--step-1)}.cx-doc{width:min(220px,60vw);position:relative}.cx-doc__page{aspect-ratio:210/297;border:1px solid var(--border);box-shadow:var(--shadow-lg);transition:transform var(--dur-3) var(--ease-out);background:#fff;border-radius:10px;position:relative;overflow:hidden;transform:rotate(-2deg)}.cx-doc__page img{object-fit:contain;width:100%;height:100%}.cx-doc__veil{pointer-events:none;background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 0%, transparent), color-mix(in srgb, var(--accent) 0%, transparent));backdrop-filter:blur();transition:backdrop-filter var(--dur-3), background var(--dur-3);position:absolute;inset:0}.cx-doc.is-locked .cx-doc__page{transform:rotate(0)scale(.985)}.cx-doc.is-locked .cx-doc__veil{backdrop-filter:blur(2.5px);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 12%, transparent), color-mix(in srgb, var(--accent) 26%, transparent))}.cx-doc__badge{background:var(--surface);width:56px;height:56px;color:var(--text-muted);border:1px solid var(--border);box-shadow:var(--shadow-md);transition:background-color var(--dur-2), color var(--dur-2), transform var(--dur-3) var(--ease-spring);border-radius:18px;place-items:center;display:grid;position:absolute;bottom:-16px;right:-16px}.cx-doc.is-locked .cx-doc__badge{background:var(--accent);color:var(--accent-contrast);border-color:#0000;transform:scale(1.08)rotate(-6deg)}.cx-chips{justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.cx-chips .chip svg{width:15px;height:15px}.cx-chips .chip.is-on{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.cx-chips .chip.is-on svg{color:var(--success)}.cx-note{gap:var(--space-2);max-width:28rem;color:var(--text-muted);text-align:left;align-items:flex-start;font-size:.9rem;display:flex}.cx-note svg{color:var(--accent);flex:none;margin-top:3px}.cx-optional{color:var(--text-muted);margin-left:.35rem;font-size:.82rem;font-weight:400}.cx-pw__box{position:relative}.cx-pw__input{font-family:var(--font-body);letter-spacing:.02em;padding-right:52px}.cx-pw__input[type=password]{letter-spacing:.12em}.cx-pw__input::placeholder{letter-spacing:normal}.cx-pw__box.is-invalid .cx-pw__input{border-color:var(--danger)}.cx-pw__toggle{width:48px;height:100%;min-height:44px;color:var(--text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:color var(--dur-2), background-color var(--dur-2);place-items:center;display:grid;position:absolute;top:0;right:0}.cx-pw__toggle:hover{color:var(--accent);background:var(--accent-soft)}.cx-pw__toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.cx-caps{color:var(--warning);align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;display:inline-flex}.cx-meter{margin-top:calc(-1 * var(--space-2));gap:6px;display:grid}.cx-meter__bars{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.cx-meter__bars span{background:var(--border);height:6px;transition:background-color var(--dur-2), transform var(--dur-2) var(--ease-spring);border-radius:99px}.cx-meter__bars span.is-on{transform:scaleY(1.15)}.cx-meter[data-score="0"] .cx-meter__bars span:first-child{background:var(--danger);transform:none}.cx-meter[data-score="1"] .is-on{background:var(--danger)}.cx-meter[data-score="2"] .is-on{background:var(--warning)}.cx-meter[data-score="3"] .is-on{background:color-mix(in srgb, var(--success) 70%, var(--accent))}.cx-meter[data-score="4"] .is-on{background:var(--success)}.cx-meter__text{min-height:2.5em;font-size:.85rem;line-height:1.45}.cx-meter[data-score="0"] strong,.cx-meter[data-score="1"] strong{color:var(--danger)}.cx-meter[data-score="2"] strong{color:var(--warning)}.cx-meter[data-score="3"] strong,.cx-meter[data-score="4"] strong{color:var(--success)}.cx-match{margin-top:calc(-1 * var(--space-2));align-items:center;gap:.3rem;min-height:1.4em;font-size:.85rem;font-weight:700;display:flex}.cx-match.is-bad{color:var(--danger)}.cx-match.is-good{color:var(--success)}.cx-suggest{margin-top:calc(-1 * var(--space-2));color:var(--accent);justify-self:start}.cx-perms{border:0;min-width:0;padding:0}.cx-perms legend{margin-bottom:var(--space-2)}.cx-perm{align-items:center;gap:var(--space-3);min-height:46px;padding:4px var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-2);border:1px solid #0000;grid-template-columns:auto 1fr auto;display:grid}.cx-perm+.cx-perm{margin-top:4px}.cx-perm:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.cx-perm:focus-within{border-color:var(--accent)}.cx-perm.is-forced{cursor:default;opacity:.75}.cx-perm__icon{color:var(--accent)}.cx-perm__text{min-width:0;line-height:1.25;display:grid}.cx-perm__text strong{font-size:.92rem}.cx-perm__text small{color:var(--text-muted);font-size:.78rem}.cx-switch{-webkit-appearance:none;appearance:none;background:var(--border);cursor:pointer;width:44px;height:26px;transition:background-color var(--dur-2);border-radius:99px;flex:none;margin:0;position:relative}.cx-switch:after{content:"";width:20px;height:20px;transition:transform var(--dur-2) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.cx-switch:checked{background:var(--accent)}.cx-switch:checked:after{transform:translate(18px)}.cx-switch:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.cx-switch:disabled{cursor:default}.cx-honest{gap:var(--space-2);color:var(--text-muted);align-items:flex-start;font-size:.82rem;line-height:1.45;display:flex}.cx-honest svg{color:var(--accent);flex:none;margin-top:2px}.cx-adv{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.cx-adv__toggle{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:0 var(--space-3) 0 var(--space-4);font-weight:700;font-size:var(--step--1);border-radius:var(--radius);text-align:left;display:flex}.cx-adv__toggle>span:first-child{flex:1}.cx-adv__summary{background:var(--surface-2);color:var(--text-muted);border-radius:99px;padding:2px 10px;font-size:.78rem}.cx-adv__summary.is-set{background:var(--accent-soft);color:var(--accent)}.cx-adv__toggle svg{transition:transform var(--dur-2) var(--ease-out);color:var(--text-muted)}.cx-adv.is-open .cx-adv__toggle svg{transform:rotate(180deg)}.cx-adv__toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.cx-adv__body{gap:var(--space-3);padding:var(--space-1) var(--space-3) var(--space-4);animation:fade-up var(--dur-2) var(--ease-out) both;display:grid}.cx-blocker{text-align:center;margin-top:var(--space-2)}.cx-drop{gap:var(--space-3);display:grid}.cx-rights{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);align-items:flex-start;font-size:.9rem;display:flex}.cx-rights>svg{color:var(--accent);flex:none;margin-top:2px}.cx-rights p{margin-top:2px;font-size:.82rem}.cx-rights--quiet{color:var(--text-muted);text-align:center;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-weight:700}.cx-consent{padding:var(--space-1) 0}.cx-vault{justify-items:center;gap:var(--space-3);text-align:center;max-width:26rem;animation:fade-up var(--dur-3) var(--ease-out) both;display:grid}.cx-vault .cx-lock{margin-bottom:var(--space-2);filter:drop-shadow(0 14px 22px color-mix(in srgb, var(--accent) 35%, transparent))}.cx-vault.is-loading{color:var(--text-muted)}.cx-vault.is-wrong .cx-lock{color:var(--danger);animation:.42s ease-in-out both cx-shake}.cx-vault__text{font-size:.95rem}@keyframes cx-shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.cx-restrictions{width:min(100%,300px);margin-top:var(--space-2);gap:6px;padding:0;list-style:none;display:grid}.cx-restrictions li{align-items:center;gap:var(--space-2);padding:8px var(--space-3);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:.9rem;font-weight:700;display:flex}.cx-restrictions li>svg{color:var(--text-muted)}.cx-restrictions__state{align-items:center;gap:3px;margin-left:auto;font-size:.8rem;display:inline-flex}.cx-restrictions .is-ok .cx-restrictions__state{color:var(--success)}.cx-restrictions .is-blocked .cx-restrictions__state{color:var(--danger)}.cx-wrong{gap:var(--space-2);margin-top:calc(-1 * var(--space-2));color:var(--danger);animation:fade-up var(--dur-2) var(--ease-out) both;align-items:flex-start;font-size:.88rem;font-weight:700;display:flex}.cx-wrong svg{flex:none;margin-top:2px}@media (width<=860px){.cx-stage{min-height:0;padding:var(--space-5) var(--space-4) var(--space-6);gap:var(--space-4);padding-top:var(--space-5)}.cx-doc{width:min(120px,40vw)}.cx-vault .cx-lock{width:64px!important;height:64px!important}.cx-vault .cx-lock svg{width:64px;height:64px}.cx-filename{max-width:52vw}}@media (prefers-reduced-motion:reduce){.cx-lock *,.cx-lock,.cx-doc *,.cx-vault,.cx-vault *,.cx-switch,.cx-switch:after,.cx-meter__bars span,.cx-wrong,.cx-adv__body{transition:opacity .1s!important;animation:none!important}.cx-lock.is-animating-open{color:var(--success)}}.cx-suggest{margin-left:-.5rem;padding-inline:.5rem}.cx .options__go{white-space:normal}@media (width<=860px){.cx-chips .chip{padding:.25rem .65rem;font-size:.78rem}}
