.frs-shell,.frs-shell *{box-sizing:border-box}.frs-shell{max-width:1120px;margin:0 auto;padding:96px var(--page-gutter,20px) 64px;color:var(--color-text,#172033);min-width:0}.frs-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;color:var(--color-text-muted,#526072);font-size:.9rem}.frs-breadcrumb a{color:var(--color-primary,#1d4ed8);text-underline-offset:3px}.frs-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:28px;align-items:center;margin-bottom:28px;min-width:0}.frs-hero>*{min-width:0}.frs-eyebrow{margin:0 0 8px;color:var(--color-primary,#1d4ed8);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.frs-hero h1{margin:0 0 14px;min-width:0;font-size:clamp(2rem,5vw,3.45rem);line-height:1.04;overflow-wrap:anywhere;word-break:break-word}.frs-lead{max-width:760px;margin:0;color:var(--color-text-muted,#526072);font-size:1.08rem;line-height:1.7}.frs-art{width:100%;max-height:230px;object-fit:cover;border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-lg,14px);background:var(--color-surface,#fff)}.frs-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 28px;padding:14px;border:1px solid #b7dfd4;border-radius:var(--radius-lg,14px);background:#effbf7;color:#174f43;font-size:.88rem}.frs-assurance strong{display:block;margin-bottom:2px;color:#0d3f35}.frs-app{border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-lg,14px);background:var(--color-surface,#fff);box-shadow:var(--shadow-sm,0 8px 26px rgba(15,23,42,.08));overflow:hidden}.frs-app-head{padding:22px 22px 0}.frs-app-head h2{margin:0 0 6px;min-width:0;font-size:1.35rem;overflow-wrap:anywhere;word-break:break-word}.frs-app-head p{margin:0;color:var(--color-text-muted,#526072);line-height:1.55}.frs-form{display:grid;gap:20px;padding:22px;min-width:0}.frs-form>*{min-width:0}.frs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.frs-field{display:grid;gap:7px}.frs-field>span,.frs-legend{font-size:.9rem;font-weight:750}.frs-input,.frs-select{width:100%;min-height:46px;box-sizing:border-box;border:1px solid var(--color-border-strong,#aeb9c8);border-radius:var(--radius-md,10px);background:var(--color-surface,#fff);color:inherit;padding:10px 12px;font:inherit}.frs-input:focus,.frs-select:focus,.frs-button:focus-visible,.frs-option:focus-visible,.frs-check input:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.frs-help{color:var(--color-text-muted,#526072);font-size:.8rem;line-height:1.45}.frs-check-group{min-width:0;margin:0;padding:16px;border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-md,10px)}.frs-check-group legend{max-width:100%;white-space:normal;overflow-wrap:anywhere}.frs-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin-top:12px}.frs-check{display:flex;align-items:flex-start;gap:9px;min-width:0;font-size:.9rem;line-height:1.42}.frs-check span{min-width:0;overflow-wrap:anywhere}.frs-check input{width:20px;height:20px;flex:0 0 auto;margin:0}.frs-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.frs-button{min-height:44px;border:1px solid transparent;border-radius:999px;background:#0f766e;color:#fff;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}.frs-button:hover{filter:brightness(.95)}.frs-button-secondary{border-color:var(--color-border-strong,#aeb9c8);background:var(--color-surface,#fff);color:var(--color-text,#172033)}.frs-button-danger{background:#b42318}.frs-button[disabled]{cursor:not-allowed;opacity:.55}.frs-status{min-height:1.45em;margin:0;color:var(--color-text-muted,#526072);font-size:.88rem;line-height:1.45}.frs-status[data-state="error"]{color:#b42318;font-weight:700}.frs-status[data-state="success"]{color:#087443}.frs-results{display:none;border-top:1px solid var(--color-border,#dbe3ef);padding:22px}.frs-results[data-visible="true"]{display:block}.frs-results:focus{outline:none}.frs-results h2,.frs-results h3{margin-top:0}.frs-result-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:18px;padding:20px;border-radius:var(--radius-lg,14px);background:#172554;color:#fff}.frs-result-value{font-size:clamp(1.8rem,5vw,3rem);font-weight:850;line-height:1.08;overflow-wrap:anywhere}.frs-result-note{color:#dbeafe;line-height:1.5}.frs-result-hero>*{min-width:0;overflow-wrap:anywhere}.frs-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.frs-metric{border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-md,10px);padding:13px;background:var(--color-surface-subtle,#f8fafc)}.frs-metric span{display:block;color:var(--color-text-muted,#526072);font-size:.76rem}.frs-metric strong{display:block;margin-top:4px;font-size:1.08rem;overflow-wrap:anywhere}.frs-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-md,10px)}.frs-table{width:100%;min-width:620px;border-collapse:collapse;font-size:.88rem}.frs-table th,.frs-table td{padding:11px 12px;border-bottom:1px solid var(--color-border,#dbe3ef);text-align:left;vertical-align:top}.frs-table th{background:var(--color-surface-subtle,#f8fafc)}.frs-notice{margin:14px 0 0;padding:13px 14px;border-left:4px solid #2563eb;border-radius:0 var(--radius-md,10px) var(--radius-md,10px) 0;background:#eff6ff;color:#243b62;line-height:1.55}.frs-warning{border-left-color:#d97706;background:#fffbeb;color:#6b4611}.frs-danger{border-left-color:#dc2626;background:#fef2f2;color:#7f1d1d}.frs-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.frs-support section{border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-md,10px);padding:17px;background:var(--color-surface,#fff)}.frs-support h2{margin:0 0 7px;font-size:1rem}.frs-support p{margin:0;color:var(--color-text-muted,#526072);font-size:.9rem;line-height:1.6}.frs-related{margin-top:28px}.frs-related h2{font-size:1.25rem}.frs-related-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.frs-related a{display:block;border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-md,10px);padding:13px;color:var(--color-primary,#1d4ed8);font-weight:750;text-decoration:none;background:var(--color-surface,#fff)}.frs-faq{margin-top:30px}.frs-faq details{border-bottom:1px solid var(--color-border,#dbe3ef);padding:13px 0}.frs-faq summary{cursor:pointer;font-weight:800}.frs-faq p{color:var(--color-text-muted,#526072);line-height:1.65}.frs-options{display:grid;gap:10px}.frs-option{width:100%;min-height:48px;border:1px solid var(--color-border-strong,#aeb9c8);border-radius:var(--radius-md,10px);background:var(--color-surface,#fff);color:inherit;padding:12px;text-align:left;font:inherit;cursor:pointer}.frs-option[data-result="correct"]{border-color:#16a34a;background:#f0fdf4}.frs-option[data-result="wrong"]{border-color:#dc2626;background:#fef2f2}.frs-scenario{white-space:pre-wrap;border:1px solid var(--color-border,#dbe3ef);border-radius:var(--radius-md,10px);background:var(--color-surface-subtle,#f8fafc);padding:15px;font:500 .88rem/1.58 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:break-word}.frs-progress{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.frs-progress>span{display:block;height:100%;background:#2563eb;transition:width .2s ease}.frs-password-wrap{position:relative;display:grid;gap:8px}.frs-password-wrap .frs-input{padding-right:92px}.frs-password-toggle{position:absolute;right:6px;top:6px;min-height:34px;max-width:calc(100% - 12px);border:0;border-radius:999px;background:var(--color-surface-subtle,#f1f5f9);color:inherit;padding:5px 10px;font:inherit;font-weight:750;cursor:pointer}.frs-password-suggestions strong,.frs-password-suggestions .frs-help,.frs-password-suggestions code{color:#334155}.frs-password-suggestions code{overflow-wrap:anywhere;word-break:break-word}.frs-scorebar{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}.frs-scorebar span{display:block;height:100%;background:#dc2626;transition:width .2s ease}.frs-scorebar span[data-band="fair"]{background:#d97706}.frs-scorebar span[data-band="strong"]{background:#16a34a}.frs-file{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}afro-navbar,afro-footer{display:block;width:100%;max-width:100%;min-width:0}html[data-theme="dark"] .frs-assurance{border-color:#285d52;background:#102b27;color:#c6f1e7}html[data-theme="dark"] .frs-assurance strong{color:#e5fff9}html[data-theme="dark"] .frs-result-hero{background:#172554}html[data-theme="dark"] .frs-notice{background:#172554;color:#dbeafe}html[data-theme="dark"] .frs-warning{background:#3a2b0d;color:#fde68a}html[data-theme="dark"] .frs-danger{background:#3a161a;color:#fecaca}html[data-theme="dark"] .frs-metric,html[data-theme="dark"] .frs-scenario,html[data-theme="dark"] .frs-password-toggle{border-color:#52647d;background:#111c2f;color:#f8fafc}html[data-theme="dark"] .frs-metric span{color:#cbd5e1}html[data-theme="dark"] .frs-password-suggestions strong,html[data-theme="dark"] .frs-password-suggestions .frs-help{color:#e2e8f0}html[data-theme="dark"] .frs-password-suggestions code{border-radius:4px;background:#0b1220;color:#f8fafc;padding:2px 4px}html[data-theme="dark"] .frs-option[data-result="correct"]{border-color:#4ade80;background:#123522;color:#dcfce7}html[data-theme="dark"] .frs-option[data-result="wrong"]{border-color:#f87171;background:#3a161a;color:#fee2e2}@media(prefers-color-scheme:dark){html:not([data-theme]) .frs-assurance{border-color:#285d52;background:#102b27;color:#c6f1e7}html:not([data-theme]) .frs-assurance strong{color:#e5fff9}html:not([data-theme]) .frs-result-hero{background:#172554}html:not([data-theme]) .frs-notice{background:#172554;color:#dbeafe}html:not([data-theme]) .frs-warning{background:#3a2b0d;color:#fde68a}html:not([data-theme]) .frs-danger{background:#3a161a;color:#fecaca}html:not([data-theme]) .frs-metric,html:not([data-theme]) .frs-scenario,html:not([data-theme]) .frs-password-toggle{border-color:#52647d;background:#111c2f;color:#f8fafc}html:not([data-theme]) .frs-metric span{color:#cbd5e1}html:not([data-theme]) .frs-password-suggestions strong,html:not([data-theme]) .frs-password-suggestions .frs-help{color:#e2e8f0}html:not([data-theme]) .frs-option[data-result="correct"]{border-color:#4ade80;background:#123522;color:#dcfce7}html:not([data-theme]) .frs-option[data-result="wrong"]{border-color:#f87171;background:#3a161a;color:#fee2e2}}@media(max-width:780px){.frs-shell{padding-top:78px}.frs-hero{grid-template-columns:1fr}.frs-art{max-height:190px}.frs-assurance,.frs-grid,.frs-checks,.frs-support,.frs-related-list{grid-template-columns:1fr}.frs-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.frs-result-hero{grid-template-columns:1fr}.frs-actions .frs-button{flex:1 1 180px}}@media(max-width:380px){.frs-shell{padding-left:14px;padding-right:14px}.frs-form,.frs-results,.frs-app-head{padding-left:14px;padding-right:14px}.frs-metrics{grid-template-columns:1fr}.frs-actions .frs-button{width:100%;flex-basis:100%;min-width:0;white-space:normal}.frs-table-wrap{overflow:visible;border:0}.frs-table,.frs-table tbody,.frs-table tr,.frs-table td{display:block;width:100%;min-width:0}.frs-table thead{display:none}.frs-table tr{margin-bottom:12px;border:1px solid var(--color-border,#dbe3ef);border-radius:10px;overflow:hidden}.frs-table td{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:10px;overflow-wrap:anywhere;word-break:break-word}.frs-table td::before{content:attr(data-label);font-weight:800;color:var(--color-text-muted,#526072)}.frs-result-value{font-size:1rem}.frs-result-hero{padding:14px}.frs-password-wrap .frs-input{padding-right:12px}.frs-password-toggle{position:static;width:100%;max-width:none}.frs-scenario,.frs-option,.frs-notice,.frs-metric,.frs-results li{overflow-wrap:anywhere;word-break:break-word}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{afro-navbar,afro-footer,.frs-breadcrumb,.frs-hero,.frs-assurance,.frs-form,.frs-actions,.frs-support,.frs-related,.frs-faq{display:none!important}.frs-shell{max-width:none;padding:0}.frs-app{border:0;box-shadow:none}.frs-results{display:block!important;border:0;padding:0}.frs-table-wrap{overflow:visible}.frs-table{min-width:0}[data-fr-security-app="password-strength"] .frs-results{display:none!important}}