.totp{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-ring: #3b82f6;--color-primary-tint: #eff6ff;--color-accent: #d97706;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-border: #e5e7eb;--color-border-input: #d1d5db;--color-text-heading: #111827;--color-text-body: #374151;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--gradient-hero: linear-gradient(to right, #eef2ff, #ffffff, #fdf2f8);--radius-input: .5rem;--radius-card: 1rem;--shadow-card: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-raised: 0 10px 15px -3px rgb(0 0 0 / .1);color:var(--color-text-body);background:#fcfcfd;line-height:1.5;-webkit-font-smoothing:antialiased}.totp *{box-sizing:border-box}.totp-container{max-width:72rem;margin-inline:auto;padding-inline:1rem;padding-bottom:1rem}@media (min-width: 640px){.totp-container{padding-inline:1.5rem}}@media (min-width: 1024px){.totp-container{padding-inline:2rem}}.totp .card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}.totp .card--raised{box-shadow:var(--shadow-raised)}.totp .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--color-primary);color:#fff;font-weight:600;padding:.625rem 1.5rem;border-radius:var(--radius-input);border:0;cursor:pointer;text-decoration:none;transition:.15s;font-size:1rem}.totp .btn:hover{background:var(--color-primary-hover)}.totp .btn:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.totp .btn:disabled{opacity:.55;cursor:not-allowed}.totp label.field{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-body);margin-bottom:.35rem}.totp .input{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-heading);font-size:1rem;font-family:inherit}.totp .input:focus{outline:2px solid var(--color-primary-ring);outline-offset:1px;border-color:var(--color-primary-ring)}.totp .area{min-height:4.5rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.5;word-break:break-all}.totp .hint{margin:.4rem 0 0;font-size:.78rem;color:var(--color-text-muted)}.totp .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.totp .check{display:flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--color-text-body);margin-top:.5rem;cursor:pointer;user-select:none}.totp .check input{width:1.05rem;height:1.05rem;accent-color:var(--color-primary);cursor:pointer}.totp code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:.3rem;padding:.05rem .3rem;font-size:.82em;color:var(--color-text-secondary)}.totp h2.section{font-size:1.5rem;font-weight:700;color:var(--color-text-heading);letter-spacing:-.01em;margin:0}.totp h2.panel{font-size:1.125rem;font-weight:600;color:var(--color-text-heading);margin:0 0 1.1rem}.totp .muted{color:var(--color-text-muted)}.totp .layout{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}@media (min-width: 920px){.totp .layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}.totp .side-card{position:sticky;top:1.5rem}}.totp .empty{text-align:center;padding:2.5rem 1rem}.totp .empty__icon{font-size:2.75rem;line-height:1;margin-bottom:.75rem}.totp .empty__title{font-size:1.2rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .4rem}.totp .empty__sub{margin:0 auto;max-width:26rem;font-size:.92rem;color:var(--color-text-secondary)}.totp .live{text-align:center;padding:.5rem 0}.totp .live__label{margin:0 0 1rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.totp .code-row{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}.totp .ring{position:relative;width:64px;height:64px;flex:0 0 auto}.totp .ring svg{width:100%;height:100%;transform:rotate(-90deg)}.totp .ring__track{fill:none;stroke:var(--color-border);stroke-width:4}.totp .ring__bar{fill:none;stroke:var(--color-primary);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .3s ease}.totp .ring__bar.is-low{stroke:var(--color-accent)}.totp .ring__num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;color:var(--color-text-heading);font-variant-numeric:tabular-nums}.totp .code{border:0;background:transparent;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(2.1rem,8vw,3.1rem);font-weight:700;letter-spacing:.06em;color:var(--color-text-heading);padding:.25rem .5rem;border-radius:var(--radius-input);line-height:1;font-variant-numeric:tabular-nums;transition:.15s}.totp .code:hover{background:var(--color-primary-tint);color:var(--color-primary-hover)}.totp .code:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.totp .code:disabled{cursor:default;color:var(--color-text-muted)}.totp .code:disabled:hover{background:transparent}.totp .bar{margin:1.25rem auto 0;max-width:22rem;height:6px;border-radius:999px;background:var(--color-border);overflow:hidden}.totp .bar__fill{display:block;height:100%;width:100%;border-radius:999px;background:var(--color-primary);transition:width .25s linear,background .3s ease}.totp .bar__fill.is-low{background:var(--color-accent)}.totp .next{margin:1rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.totp .next span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--color-text-secondary);font-weight:600;letter-spacing:.04em}.totp .note{margin:1.1rem auto 0;max-width:30rem;padding:.7rem .85rem;border-radius:var(--radius-input);font-size:.84rem;line-height:1.45;text-align:left;background:var(--color-primary-tint);color:var(--color-primary-hover);border:1px solid #bfdbfe}.totp .note--warn{background:#fffbeb;color:#b45309;border-color:#fde68a}.totp .field-group{margin-bottom:1.25rem}.totp .summary-line{margin:1.1rem 0 0;font-size:.85rem;color:var(--color-text-muted);text-align:center;word-break:break-word}.totp .how{margin-top:3.25rem}.totp .how h2.section{text-align:center}.totp .how__lead{text-align:center;color:var(--color-text-secondary);margin:.4rem 0 1.75rem}.totp .steps{display:grid;grid-template-columns:1fr;gap:1.1rem}@media (min-width: 720px){.totp .steps{grid-template-columns:repeat(3,1fr)}}.totp .step{padding:1.75rem 1.25rem}.totp .step__n{width:2.5rem;height:2.5rem;margin:0 0 .9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:var(--color-primary);background:var(--color-primary-tint);border:1px solid #bfdbfe}.totp .step h3{font-size:1.05rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .4rem}.totp .step p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.totp .privacy-line{margin-top:1.75rem;display:flex;align-items:center;gap:1rem;background:#ecfdf5;border:1px solid #a7f3d0}.totp .privacy-line__icon{font-size:1.5rem;flex:0 0 auto}.totp .privacy-line strong{color:#065f46}.totp .privacy-line p{margin:0;color:#047857;font-size:.95rem}.totp .foot{margin:2.5rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--color-border);text-align:center}.totp .foot p{margin:0;font-size:.85rem}
