.language-switcher[data-v-73d73e75]{color:var(--text-h);font-family:inherit;font-weight:500;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.app-layout__nav[data-v-ac1d8424]{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:16px;display:flex}.app-layout__nav a[data-v-ac1d8424]{color:var(--text-h);font-weight:500;text-decoration:none}.app-layout__nav a.router-link-active[data-v-ac1d8424]{color:var(--accent)}.app-layout__nav-spacer[data-v-ac1d8424]{flex:1}.app-layout__logout[data-v-ac1d8424]{color:var(--text-h);font-family:inherit;font-weight:500;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.app-layout__content[data-v-ac1d8424]{padding:16px}.rotation-sequence-picker[data-v-a88ad140]{gap:8px;margin:0;padding:0;list-style:none;display:flex}.rotation-sequence-picker__item[data-v-a88ad140]{box-sizing:border-box;border:1px solid var(--border);cursor:grab;background:var(--code-bg);color:var(--text);border-radius:4px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.rotation-sequence-picker__item--grabbed[data-v-a88ad140]{cursor:grabbing;border:2px solid var(--accent);background:var(--accent-bg);color:var(--text-h);box-shadow:var(--shadow)}.rotation-sequence-picker__handle[data-v-a88ad140]{color:var(--text-muted);flex-shrink:0}.rotation-sequence-picker__live[data-v-a88ad140]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-spinner[data-v-9aa194fb]{flex-shrink:0}.loading-spinner__track[data-v-9aa194fb]{stroke:var(--border)}.loading-spinner__arc[data-v-9aa194fb]{stroke:currentColor;stroke-dasharray:14 24;transform-origin:50%;animation:.8s linear infinite loading-spinner-rotate-9aa194fb}@media (prefers-reduced-motion:reduce){.loading-spinner__arc[data-v-9aa194fb]{animation:none}}@keyframes loading-spinner-rotate-9aa194fb{to{transform:rotate(360deg)}}.encode-params-form[data-v-1c0a5aa2]{flex-direction:column;gap:16px;width:100%;max-width:480px;display:flex}.encode-params-form__field[data-v-1c0a5aa2]{flex-direction:column;gap:4px;display:flex}.encode-params-form__mode-toggle[data-v-1c0a5aa2]{border:none;gap:16px;padding:0;display:flex}.encode-params-form__group[data-v-1c0a5aa2]{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;flex-direction:column;gap:16px;min-inline-size:0;margin:0;padding:16px;display:flex}.encode-params-form__group legend[data-v-1c0a5aa2]{color:var(--text-h);padding:0 4px;font-weight:500}.encode-params-form__checkbox[data-v-1c0a5aa2]{align-items:center;gap:8px;display:flex}.encode-params-form__error[data-v-1c0a5aa2]{color:var(--danger)}.encode-params-form__submit[data-v-1c0a5aa2]{justify-content:center;align-items:center;gap:8px;display:inline-flex}.encode-result-panel[data-v-2b69aab7]{flex-direction:column;gap:16px;width:100%;max-width:480px;display:flex}.encode-result-panel__stale-notice[data-v-2b69aab7]{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.encode-result-panel__stale-notice p[data-v-2b69aab7]{flex:1;margin:0}.encode-result-panel__content[data-v-2b69aab7]{flex-direction:column;gap:16px;display:flex}.encode-result-panel__content--stale .encode-result-panel__key[data-v-2b69aab7]{border-style:dashed;border-color:var(--warning-border);background:0 0}.encode-result-panel__preview[data-v-2b69aab7]{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.encode-result-panel__stale-badge[data-v-2b69aab7]{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--text-h);border-radius:4px;align-self:flex-end;padding:2px 8px;font-size:.75em;font-weight:600}.encode-result-panel__svg[data-v-2b69aab7]{width:100%;max-width:280px}.encode-result-panel__svg[data-v-2b69aab7] svg{width:100%;height:auto;display:block}.encode-result-panel__key[data-v-2b69aab7]{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.encode-result-panel__key-label[data-v-2b69aab7]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-h);font-size:.8em;font-weight:600}.encode-result-panel__key-value[data-v-2b69aab7]{word-break:break-all;background:0 0;padding:0;font-size:1.3em}.encode-result-panel__key-size[data-v-2b69aab7],.encode-result-panel__key-hint[data-v-2b69aab7]{color:var(--text);margin:0;font-size:.9em}.encode-result-panel__warnings[data-v-2b69aab7]{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:4px;padding:8px 12px}.encode-result-panel__downloads[data-v-2b69aab7]{gap:12px;display:flex}.encode-view[data-v-a7b13f54]{flex-direction:column;gap:24px;display:flex}.encode-view h1[data-v-a7b13f54]{align-self:center}.encode-view__body[data-v-a7b13f54]{flex-direction:column;align-items:center;gap:24px;display:flex}.encode-view__output[data-v-a7b13f54]{flex-direction:column;gap:24px;width:100%;max-width:480px;display:flex}.encode-view__error[data-v-a7b13f54]{color:var(--danger)}.encode-view__output-empty[data-v-a7b13f54]{border:2px dashed var(--border);min-height:200px;color:var(--text-muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:20px;display:flex}.encode-view__output-loading[data-v-a7b13f54]{flex-direction:column;gap:16px;display:flex}.encode-view__skeleton-block[data-v-a7b13f54]{background:linear-gradient(90deg, var(--code-bg) 25%, var(--border) 50%, var(--code-bg) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite encode-view-shimmer-a7b13f54}.encode-view__skeleton-block--preview[data-v-a7b13f54]{height:280px}.encode-view__skeleton-block--key[data-v-a7b13f54]{height:120px}@keyframes encode-view-shimmer-a7b13f54{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.encode-view__skeleton-block[data-v-a7b13f54]{background:var(--code-bg);animation:none}}@media (width>=900px){.encode-view h1[data-v-a7b13f54]{align-self:flex-start;width:100%;max-width:480px}.encode-view__body[data-v-a7b13f54]{grid-template-columns:minmax(360px,480px) 1fr;align-items:start;display:grid}.encode-view__output[data-v-a7b13f54]{max-width:none}}.decode-upload-area[data-v-ea014f9f]{border:2px dashed var(--border);border-radius:4px;flex-direction:column;gap:8px;padding:16px;display:flex}.decode-upload-area--dragging[data-v-ea014f9f]{border-color:var(--accent)}.decode-upload-area__input[data-v-ea014f9f]{display:none}.decode-upload-area__error[data-v-ea014f9f]{color:var(--danger)}.decode-params-form[data-v-5e8b7b67]{flex-direction:column;gap:16px;width:100%;max-width:480px;display:flex}.decode-params-form__field[data-v-5e8b7b67]{flex-direction:column;gap:4px;display:flex}.decode-params-form__error[data-v-5e8b7b67]{color:var(--danger)}.decode-params-form__submit[data-v-5e8b7b67]{justify-content:center;align-items:center;gap:8px;display:inline-flex}.decode-view[data-v-ad300d12]{flex-direction:column;gap:24px;display:flex}.decode-view h1[data-v-ad300d12]{align-self:center}.decode-view__body[data-v-ad300d12]{flex-direction:column;align-items:center;gap:24px;display:flex}.decode-view__output[data-v-ad300d12]{flex-direction:column;gap:24px;width:100%;max-width:480px;display:flex}.decode-view__error[data-v-ad300d12]{color:var(--danger)}.decode-view__result-region[data-v-ad300d12]{flex-direction:column;gap:16px;display:flex}.decode-view__stale-notice[data-v-ad300d12]{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.decode-view__stale-notice p[data-v-ad300d12]{flex:1;margin:0}.decode-view__result-card[data-v-ad300d12]{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.decode-view__result-label[data-v-ad300d12]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-h);font-size:.8em;font-weight:600}.decode-view__result[data-v-ad300d12]{width:100%;font-family:var(--mono);overflow-wrap:anywhere;white-space:pre-wrap;max-height:40vh;margin:0;overflow-y:auto}.decode-view__result-card--stale[data-v-ad300d12]{border:1px dashed var(--warning-border);background:0 0}.decode-view__output-empty[data-v-ad300d12]{border:2px dashed var(--border);min-height:200px;color:var(--text-muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:20px;display:flex}.decode-view__output-loading[data-v-ad300d12]{flex-direction:column;display:flex}.decode-view__skeleton-block[data-v-ad300d12]{background:linear-gradient(90deg, var(--code-bg) 25%, var(--border) 50%, var(--code-bg) 75%);background-size:200% 100%;border-radius:8px;height:60px;animation:1.5s ease-in-out infinite decode-view-shimmer-ad300d12}@keyframes decode-view-shimmer-ad300d12{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.decode-view__skeleton-block[data-v-ad300d12]{background:var(--code-bg);animation:none}}@media (width>=900px){.decode-view h1[data-v-ad300d12]{align-self:flex-start;width:100%;max-width:480px}.decode-view__body[data-v-ad300d12]{grid-template-columns:minmax(360px,480px) 1fr;align-items:start;display:grid}.decode-view__output[data-v-ad300d12]{max-width:none}}.key-generator-form[data-v-15aa605e]{box-sizing:border-box;border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:480px;padding:20px;display:flex}.key-generator-form__field[data-v-15aa605e]{flex-direction:column;gap:4px;display:flex}.key-generator-form__error[data-v-15aa605e]{color:var(--danger)}.key-generator-form__submit[data-v-15aa605e]{justify-content:center;align-items:center;gap:8px;display:inline-flex}.key-generator-form__result[data-v-15aa605e]{flex-direction:column;gap:16px;display:flex}.key-generator-form__stale-notice[data-v-15aa605e]{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.key-generator-form__stale-notice p[data-v-15aa605e]{flex:1;margin:0}.key-generator-form__result-content[data-v-15aa605e]{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.key-generator-form__result-content--stale[data-v-15aa605e]{border-style:dashed;border-color:var(--warning-border);background:0 0}.key-generator-form__result-label[data-v-15aa605e]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-h);font-size:.8em;font-weight:600}.key-generator-form__result-value[data-v-15aa605e]{word-break:break-all;background:0 0;padding:0;font-size:1.3em}.key-generator-form__result-hint[data-v-15aa605e]{color:var(--text);margin:0;font-size:.9em}.key-parser-form[data-v-91a9659a]{box-sizing:border-box;border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:480px;padding:20px;display:flex}.key-parser-form__field[data-v-91a9659a]{flex-direction:column;gap:4px;display:flex}.key-parser-form__error[data-v-91a9659a]{color:var(--danger)}.key-parser-form__submit[data-v-91a9659a]{justify-content:center;align-items:center;gap:8px;display:inline-flex}.key-parser-form__result-region[data-v-91a9659a]{flex-direction:column;gap:16px;display:flex}.key-parser-form__stale-notice[data-v-91a9659a]{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.key-parser-form__stale-notice p[data-v-91a9659a]{flex:1;margin:0}.key-parser-form__result[data-v-91a9659a]{grid-template-columns:auto 1fr;gap:4px 12px;display:grid}.key-parser-form__result dt[data-v-91a9659a]{font-weight:600}.key-parser-form__result--stale[data-v-91a9659a]{border:1px dashed var(--warning-border);border-radius:8px;padding:12px}.key-view[data-v-a723ba36]{flex-direction:column;gap:24px;display:flex}.key-view h1[data-v-a723ba36]{align-self:center}.key-view__body[data-v-a723ba36]{flex-direction:column;align-items:center;gap:32px;display:flex}@media (width>=900px){.key-view h1[data-v-a723ba36]{align-self:flex-start}.key-view__body[data-v-a723ba36]{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}}.resend-verification-form[data-v-b2f4edba]{flex-direction:column;gap:12px;display:flex}.resend-verification-form label[data-v-b2f4edba]{flex-direction:column;gap:4px;display:flex}.resend-verification-form__error[data-v-b2f4edba]{color:var(--danger)}.resend-verification-form__success[data-v-b2f4edba]{color:var(--text-muted)}.login-form[data-v-7c5e332e]{flex-direction:column;gap:12px;display:flex}.login-form label[data-v-7c5e332e]{flex-direction:column;gap:4px;display:flex}.login-form__error[data-v-7c5e332e]{color:var(--danger)}.login-view[data-v-fc0e3138]{flex-direction:column;align-items:center;gap:16px;max-width:360px;margin:0 auto;display:flex}.register-form[data-v-af2151bf]{flex-direction:column;gap:12px;display:flex}.register-form label[data-v-af2151bf]{flex-direction:column;gap:4px;display:flex}.register-form__criteria[data-v-af2151bf]{color:var(--text-muted);flex-direction:column;gap:4px;margin:0;padding:0;font-size:.9em;list-style:none;display:flex}.register-form__criteria-met[data-v-af2151bf]{color:var(--accent)}.register-form__error[data-v-af2151bf]{color:var(--danger)}.register-view[data-v-3062a259],.verify-email-view[data-v-ba0906f0]{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:360px;margin:0 auto;display:flex}.confirm-dialog[data-v-c915b7ec]{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog__panel[data-v-c915b7ec]{background:var(--bg);border:1px solid var(--border);max-width:400px;box-shadow:var(--shadow);border-radius:8px;padding:24px}.confirm-dialog__actions[data-v-c915b7ec]{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.confirm-dialog__confirm[data-v-c915b7ec]{background:var(--danger);color:#fff;border:none;border-radius:4px;padding:8px 16px}.confirm-dialog__cancel[data-v-c915b7ec]{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:4px;padding:8px 16px}.admin-users-view__table[data-v-7831c364]{border-collapse:collapse;width:100%;margin-top:16px}.admin-users-view__table th[data-v-7831c364],.admin-users-view__table td[data-v-7831c364]{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.admin-users-view__error[data-v-7831c364]{color:var(--danger)}.help-view[data-v-f8d455bb]{max-width:720px;margin:0 auto}.help-view[data-v-f8d455bb] h1,.help-view[data-v-f8d455bb] h2,.help-view[data-v-f8d455bb] h3{color:var(--text-h);scroll-margin-top:16px;font-weight:500}.help-view[data-v-f8d455bb] h2{border-bottom:1px solid var(--border);margin-top:40px;padding-bottom:8px}.help-view[data-v-f8d455bb] h3{margin-top:28px;margin-bottom:4px}.help-view[data-v-f8d455bb] p{margin:8px 0}:root{--text:#6b6375;--text-h:#08060d;--text-muted:#756d80;--bg:#fff;--border:#8d8a92;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--accent-contrast:#08060d;--danger:#c0392b;--warning-border:#b45309;--warning-bg:#b4530914;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--text-muted:#8890a0;--bg:#16171d;--border:#6f6d78;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--accent-contrast:#08060d;--danger:#f87171;--warning-border:#fbbf24;--warning-bg:#fbbf241f;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}#app{box-sizing:border-box;max-width:1126px;min-height:100svh;margin:0 auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button,select,input,textarea{font-family:inherit;font-size:1em}input[type=text],input[type=number],select,textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:4px;padding:8px 10px}.btn-primary,.btn-secondary{cursor:pointer;border-radius:4px;min-height:44px;padding:10px 20px;font-weight:600}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;background:var(--code-bg);color:var(--text);border-color:var(--border)}.btn-primary{background:var(--accent);color:var(--accent-contrast);border:none}.btn-primary:hover:not(:disabled){filter:brightness(.92)}.btn-primary:active:not(:disabled){filter:brightness(.85)}.btn-secondary{border:1px solid var(--border);color:var(--text-h);background:0 0;font-weight:500}.btn-secondary:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}
