:root{--background:#ffffff;--surface:#f7f8fa;--surface-strong:#f1f4f8;--text:#16181d;--muted:#616875;--border:#dde1e7;--border-strong:#c8cfd8;--accent:#1769e0;--accent-dark:#0d52bd;--focus:#8ab4f8;--danger:#b42318}*{box-sizing:border-box}.animate-spin{animation:atlas-spin .8s linear infinite}@keyframes atlas-spin{to{transform:rotate(1turn)}}html{scroll-behavior:smooth}body,html{background:var(--background)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 75%,white);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.3rem;font-weight:720;letter-spacing:-.035em}.site-header nav{display:flex;align-items:center;gap:26px;color:#424854;font-size:.94rem}.site-header nav a:hover{color:var(--text)}.hero{padding-block:clamp(72px,10vw,126px) 78px;text-align:center}.hero-copy{max-width:1080px;margin:0 auto 36px}.hero h1{margin:0;font-size:clamp(2.25rem,6vw,4.35rem);line-height:1.03;letter-spacing:-.06em;font-weight:700;text-wrap:balance}.hero-headline{min-height:2.06em;display:flex;align-items:center;justify-content:center}.hero-headline-text{opacity:0;transition:opacity .4s ease}.hero-headline-text.is-visible{opacity:1}.hero-headline-placeholder{opacity:0}.hero-copy p{margin:20px 0 0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.2rem)}.discovery-search{position:relative;max-width:760px;margin:0 auto;z-index:10}.discovery-search>input{width:100%;min-height:62px;border:1px solid var(--border-strong);border-radius:16px;padding:0 92px 0 52px;background:white;color:var(--text);box-shadow:0 12px 36px rgba(24,39,58,.09);font-size:1.05rem}.discovery-search>input::placeholder{color:#7b8290}.search-icon{position:absolute;left:19px;top:21px;color:#6c7480}.search-clear{position:absolute;right:14px;top:15px;min-height:34px;border:0;background:transparent;color:var(--muted);font-size:.88rem}.search-results{position:absolute;inset:calc(100% + 8px) 0 auto;text-align:left;border:1px solid var(--border);background:white;border-radius:14px;padding:7px;box-shadow:0 18px 46px rgba(24,39,58,.14)}.search-result{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:9px;padding:12px}.search-result:focus-visible,.search-result:hover{background:var(--surface)}.search-result span{min-width:0;display:grid;gap:2px}.search-result strong{font-size:.95rem}.search-result small{color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result svg{flex:0 0 auto;color:var(--accent)}.search-empty{padding:18px;display:grid;gap:4px}.search-empty span{color:var(--muted)}.search-empty a{margin-top:8px;color:var(--accent);font-weight:600}.search-examples{max-width:760px;margin:18px auto 0;display:flex;justify-content:center;flex-wrap:wrap;gap:7px 16px;color:#737a86;font-size:.84rem}.search-examples span:first-child{color:#484e58;font-weight:600}.home-section{padding-block:74px;border-top:1px solid var(--border)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.category-section h2,.section-heading h2{margin:0;font-size:1.55rem;letter-spacing:-.035em}.section-heading p{margin:4px 0 0;color:var(--muted)}.section-heading>a{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:600;font-size:.93rem}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{min-height:236px;padding:22px;display:flex;flex-direction:column;background:white;border:1px solid var(--border);border-radius:12px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tool-card:hover{border-color:#b9c3cf;box-shadow:0 10px 28px rgba(24,39,58,.07);transform:translateY(-2px)}.tool-category{color:var(--accent);font-size:.78rem;font-weight:650}.tool-card h3{margin:10px 0 7px;font-size:1.06rem;line-height:1.3;letter-spacing:-.018em}.tool-card p{margin:0;color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tool-card-open{margin-top:auto;padding-top:20px;color:#323741;font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;gap:5px}.category-section{padding-block:68px;border-top:1px solid var(--border)}.home-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;border-top:1px solid var(--border);border-left:1px solid var(--border)}.home-categories a{min-height:62px;padding:16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-weight:600}.home-categories a:hover{background:var(--surface);color:var(--accent)}.home-explanation{margin-block:20px 84px;padding:42px;border-radius:14px;background:var(--surface);text-align:center}.home-explanation h2{margin:0;font-size:1.35rem;letter-spacing:-.025em}.home-explanation p{margin:9px auto 0;color:var(--muted);max-width:620px}.library-page{padding-block:64px 92px}.library-heading{margin-bottom:28px}.library-heading h1{margin:0;font-size:clamp(2.1rem,5vw,3.2rem);letter-spacing:-.055em;line-height:1.08}.library-heading p{margin:9px 0 0;color:var(--muted);font-size:1.05rem}.library-controls{display:grid;gap:18px;margin-bottom:22px}.library-search{max-width:720px;min-height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--border-strong);border-radius:11px;background:white}.library-search svg{color:var(--muted);flex:0 0 auto}.library-search input{width:100%;border:0;outline:0;color:var(--text);background:transparent}.category-list{display:flex;flex-wrap:wrap;gap:8px}.category-list button{min-height:38px;padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:white;color:#4f5662;font-size:.88rem}.category-list button:hover{border-color:var(--border-strong);color:var(--text)}.category-list button.active{color:#fff;background:var(--text);border-color:var(--text)}.results-summary{margin-bottom:16px;color:var(--muted);font-size:.86rem}.library-empty,.library-loading{padding:62px 20px;border:1px solid var(--border);border-radius:12px;text-align:center;color:var(--muted)}.library-empty h2{color:var(--text);margin:0}.library-empty p{margin:6px 0 0}.about-page{max-width:720px;padding-block:92px 120px}.eyebrow{color:var(--accent);font-weight:650;font-size:.86rem}.about-page h1{margin:9px 0 28px;font-size:clamp(2.3rem,6vw,4rem);line-height:1.06;letter-spacing:-.06em}.about-page>p:not(.eyebrow){color:#4f5662;font-size:1.1rem;line-height:1.75}.site-footer{border-top:1px solid var(--border);color:var(--muted)}.site-footer-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.88rem}.site-footer-inner>span{color:var(--text);font-weight:700}.site-footer-inner div{display:flex;gap:22px}.tool-page{min-height:calc(100vh - 64px);padding-block:36px 86px}.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.84rem;margin-bottom:30px}.breadcrumbs a:hover{color:var(--text)}.tool-heading{max-width:820px;margin-bottom:28px}.tool-heading h1{margin:0;font-size:clamp(2rem,5vw,3.25rem);line-height:1.08;letter-spacing:-.055em}.tool-heading p{margin:13px 0 0;color:var(--muted);font-size:1.05rem}.tool-workspace{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:white;box-shadow:0 18px 45px rgba(24,39,58,.06)}.tool-form{padding:clamp(20px,4vw,34px);display:grid;gap:20px}.field-label{display:block;margin-bottom:8px;font-size:.92rem;font-weight:650}.tool-textarea{width:100%;min-height:210px;resize:vertical;border:1px solid var(--border-strong);border-radius:10px;padding:14px 15px;background:#fff;color:var(--text);line-height:1.55}.tool-textarea-secondary{min-height:150px}.tool-textarea::placeholder{color:#8a909a}.tool-help{color:var(--muted);font-size:.82rem;margin-top:7px}.file-picker{border:1px dashed var(--border-strong);border-radius:10px;padding:14px;background:var(--surface)}.file-picker input{width:100%}.file-list{margin-top:8px;color:var(--muted);font-size:.83rem}.tool-options{display:flex;flex-wrap:wrap;gap:8px}.tool-options button{min-height:36px;padding:6px 12px;border:1px solid var(--border);background:white;border-radius:8px;color:#4e5560;font-size:.84rem}.tool-options button.active{border-color:#9ab8e8;background:#eef5ff;color:var(--accent-dark)}.tool-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.input-trust-note{margin-top:-4px;color:var(--muted);font-size:.82rem}.input-trust-note a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.primary-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:9px;padding:10px 20px;background:var(--accent);color:#fff;font-weight:650}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{opacity:.58}.secondary-button{min-height:40px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:white;color:#3f4651;font-size:.88rem}.secondary-button:hover{background:var(--surface)}.tool-error{border:1px solid #f0b7b2;background:#fff3f2;color:var(--danger);border-radius:9px;padding:12px 14px;font-size:.9rem}.clarify-box{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:18px;display:grid;gap:14px}.clarify-box h2{margin:0;font-size:1rem}.clarify-box label{display:grid;gap:6px;font-size:.88rem;font-weight:600}.clarify-box input{min-height:42px;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;background:white}.tool-output{border-top:1px solid var(--border);background:var(--surface);padding:clamp(20px,4vw,34px)}.output-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.output-heading h2{margin:0;font-size:1.1rem}.output-actions{display:flex;flex-wrap:wrap;gap:8px}.output-content{min-height:150px;margin:0;padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:10px;background:white;color:#292d34;font-family:inherit;line-height:1.65}.supporting-content{max-width:760px;margin-top:42px;display:grid;gap:25px}.supporting-content h2{margin:0 0 6px;font-size:1rem}.supporting-content p{margin:0;color:var(--muted)}.hidden-tool-note{max-width:680px;margin:40px auto;text-align:center}.workflow-workspace{display:grid;gap:20px}.workflow-inputs{display:grid;gap:14px}.workflow-input{padding:clamp(20px,4vw,30px);border:1px solid var(--border);border-radius:14px;background:white;box-shadow:0 12px 32px rgba(24,39,58,.045)}.workflow-input-heading{margin-bottom:14px}.workflow-input-heading label{font-size:1rem;font-weight:680}.workflow-input-heading label span{color:var(--accent)}.workflow-input-heading p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.workflow-input textarea{width:100%;min-height:170px;resize:vertical;border:1px solid var(--border-strong);border-radius:10px;padding:14px 15px;background:white;line-height:1.55}.workflow-file-picker{margin-top:12px;min-height:54px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface)}.workflow-file-picker input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.workflow-file-picker label{flex:0 0 auto;padding:7px 11px;border:1px solid var(--border);border-radius:7px;background:white;font-size:.86rem;font-weight:650;cursor:pointer}.workflow-file-picker span{min-width:0;overflow:hidden;color:var(--muted);font-size:.83rem;text-overflow:ellipsis;white-space:nowrap}.workflow-progress{padding:18px;border:1px solid #cfe0fb;border-radius:11px;background:#f6f9ff}.workflow-progress>div:last-child{margin-top:10px;display:flex;align-items:center;gap:9px;color:#32445d;font-size:.9rem;font-weight:650}.workflow-result{scroll-margin-top:86px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 45px rgba(24,39,58,.06)}.workflow-result-header{display:flex;justify-content:space-between;gap:24px;padding:clamp(22px,4vw,34px);background:white;border-bottom:1px solid var(--border)}.workflow-result-header h2{margin:4px 0 8px;font-size:1.55rem;letter-spacing:-.035em}.workflow-result-header p{max-width:760px;margin:0;color:var(--muted)}.result-kicker{color:#137044;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.export-strip{min-height:56px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px clamp(20px,4vw,34px);background:white;border-bottom:1px solid var(--border)}.export-strip>span{display:inline-flex;align-items:center;gap:7px;margin-right:5px;color:var(--muted);font-size:.84rem;font-weight:650}.export-strip button{min-height:34px;padding:6px 11px;border:1px solid var(--border);border-radius:7px;background:white;color:#3f4651;font-size:.82rem;font-weight:600}.export-strip button:hover{border-color:var(--border-strong);background:var(--surface)}.result-section{margin:16px;padding:clamp(18px,3vw,26px);border:1px solid var(--border);border-radius:11px;background:white}.result-section h3{margin:0 0 16px;font-size:1.04rem;letter-spacing:-.015em}.result-note{color:var(--muted);font-size:.86rem}.result-tabs{display:flex;gap:3px;overflow-x:auto;padding:16px 16px 0}.result-tabs button{flex:0 0 auto;min-height:39px;padding:8px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.88rem;font-weight:650}.result-tabs button.active{border-bottom-color:var(--accent);color:var(--text)}.matrix-list{display:grid;gap:10px}.matrix-row{padding:16px;border:1px solid var(--border);border-radius:9px}.matrix-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.matrix-row p{margin:10px 0 0;color:#515864;font-size:.88rem}.status-badge{flex:0 0 auto;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:700}.status-covered{color:#12673f;background:#eaf7ef}.status-partial{color:#76570a;background:#fff7dc}.status-missing{color:#9e2d24;background:#fff0ef}.status-not-applicable{color:#555d69;background:#eef0f3}.evidence-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.requirement-source{align-items:center}.requirement-source>span{color:var(--muted);font-size:.74rem;font-weight:650}.evidence-link{padding:4px 8px;border:1px solid #cfe0fb;border-radius:6px;background:#f6f9ff;color:var(--accent-dark);font-size:.75rem;text-align:left}.evidence-missing{color:var(--danger);font-size:.76rem}.change-list{display:grid;gap:12px}.change-card,.compact-finding,.prep-card{padding:16px;border:1px solid var(--border);border-radius:9px}.change-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.change-columns>div{padding:12px;border-radius:7px;background:var(--surface)}.change-columns span{color:var(--muted);font-size:.73rem;font-weight:700;text-transform:uppercase}.change-columns p,.compact-finding p{margin:5px 0 0;font-size:.88rem}.result-two-column{display:grid;grid-template-columns:1fr 1fr;gap:0}.compact-finding{margin-top:8px}.result-section details>summary{cursor:pointer;font-weight:680}.document-result pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.prep-card{margin-bottom:10px}.prep-card p{margin:7px 0 0;color:#4d5560}.keyword-row{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:16px;padding:10px 0;border-top:1px solid var(--border);font-size:.88rem}.action-list{display:grid;gap:9px}.action-row{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:9px}.action-row input{width:18px;height:18px;margin-top:2px}.action-row p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.result-table-wrap{max-height:560px;overflow:auto;border:1px solid var(--border);border-radius:8px}.result-table{width:100%;border-collapse:collapse;background:white;font-size:.82rem}.result-table th{position:sticky;top:0;z-index:1;background:var(--surface-strong);text-align:left;white-space:nowrap}.result-table td,.result-table th{padding:9px 11px;border-bottom:1px solid var(--border)}.result-table td{max-width:360px;vertical-align:top;overflow-wrap:anywhere}.validation-panel{margin:16px;padding:16px;border:1px solid #c5dfcf;border-radius:9px;background:#f5fbf7}.validation-panel summary{cursor:pointer;color:#175d3b;font-weight:680}.validation-panel p{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;color:#3f5549;font-size:.84rem}.result-feedback{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:4px 16px 20px;color:var(--muted);font-size:.84rem}.result-feedback button{padding:5px 10px;border:1px solid var(--border);border-radius:7px;background:white;color:#414852}.evidence-drawer{position:fixed;top:82px;right:20px;z-index:60;width:min(440px,calc(100% - 40px));max-height:calc(100vh - 104px);overflow-y:auto;padding:24px;border:1px solid var(--border-strong);border-radius:13px;background:white;box-shadow:0 24px 70px rgba(20,28,40,.2)}.evidence-drawer>span{color:var(--accent);font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.evidence-drawer h3{margin:5px 50px 0 0}.evidence-location{margin:2px 0 16px;color:var(--muted);font-size:.84rem}.evidence-drawer blockquote{margin:0;padding:14px;border-left:3px solid var(--accent);background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem}.evidence-close{position:absolute;top:16px;right:16px;border:0;background:transparent;color:var(--muted)}.request-page{max-width:860px;padding-block:72px 104px}.request-heading{max-width:720px;margin-bottom:30px}.request-heading h1,.text-page h1{margin:0;font-size:clamp(2.25rem,6vw,3.8rem);line-height:1.06;letter-spacing:-.055em}.request-heading p,.text-page header p{margin:13px 0 0;color:var(--muted);font-size:1.06rem}.request-card{border:1px solid var(--border);border-radius:14px;background:white;box-shadow:0 18px 45px rgba(24,39,58,.06);padding:clamp(22px,5vw,38px)}.request-fields{display:grid;gap:22px}.request-fields label{display:grid;gap:8px;font-weight:650}.request-fields label small{color:var(--muted);font-weight:500}.request-fields textarea{width:100%;min-height:112px;resize:vertical;border:1px solid var(--border-strong);border-radius:10px;padding:13px 14px;color:var(--text);background:white;font-weight:400;line-height:1.55}.request-fields label:first-child textarea{min-height:160px}.request-fields textarea::placeholder{color:#8a909a}.creation-progress{margin-top:26px;padding:18px;border:1px solid #cfe0fb;border-radius:10px;background:#f6f9ff}.progress-track{height:7px;overflow:hidden;border-radius:999px;background:#dfe9f8}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .28s ease}.progress-label{margin-top:11px;display:flex;align-items:center;gap:8px;color:#32445d;font-size:.9rem;font-weight:600}.request-message{margin-top:24px;padding:16px;border-radius:10px;display:grid;gap:5px}.request-message strong{font-size:.96rem}.request-message span{color:#4e5663}.request-message a{margin-top:5px;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:650}.request-message-error{border:1px solid #f0b7b2;background:#fff3f2}.request-message-success{border:1px solid #b8dcc7;background:#f2fbf5}.request-actions{margin-top:28px;display:flex;align-items:center;gap:18px}.request-actions p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.text-page{max-width:760px;padding-block:82px 112px}.text-page header{margin-bottom:44px}.text-page section{padding-block:24px;border-top:1px solid var(--border)}.text-page section h2{margin:0 0 8px;font-size:1.08rem;letter-spacing:-.015em}.text-page section p{margin:0;color:#4f5662;line-height:1.75}@media (max-width:860px){.hero-headline{min-height:3.09em}.home-categories,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.site-shell{width:min(100% - 28px,1120px)}.site-header-inner{min-height:58px}.site-header nav{gap:16px;font-size:.88rem}.hero{padding-block:58px 62px}.hero h1{font-size:2.45rem}.hero-headline{min-height:4.12em}.discovery-search>input{min-height:58px;padding-left:47px;font-size:1rem}.search-icon{left:16px;top:19px}.search-examples{display:none}.section-heading{align-items:start}.section-heading p{display:none}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:210px}.home-categories{grid-template-columns:1fr}.home-explanation{padding:30px 20px}.site-footer-inner{flex-direction:column;justify-content:center}.site-footer-inner div{justify-content:center;flex-wrap:wrap}.library-page{padding-top:46px}.category-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;margin-right:-14px}.category-list button{flex:0 0 auto}.tool-page{padding-top:24px}.breadcrumbs span:last-child{display:none}.output-heading,.tool-actions{align-items:stretch;flex-direction:column}.request-page,.text-page{padding-top:48px}.request-actions{align-items:stretch;flex-direction:column}.primary-button{width:100%}.workflow-result-header{flex-direction:column}.change-columns,.keyword-row,.result-two-column{grid-template-columns:1fr}.keyword-row{gap:3px}.result-section{margin:10px;padding:16px}.export-strip{align-items:flex-start}.export-strip>span{width:100%}.matrix-row-head{flex-direction:column}}@media (max-width:520px){.site-header-inner{min-height:82px;padding-block:9px;flex-direction:column;align-items:flex-start;gap:7px}.site-header nav{width:100%;gap:18px;overflow-x:auto;white-space:nowrap;padding-bottom:2px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-headline-text{transition-duration:1ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}