@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap";:root{--text:#6b7280;--text-h:#111827;--bg:#fff;--bg-subtle:#f9fafb;--border:#e5e7eb;--accent:#2a5298;--accent-bg:#eef3fb;--accent-border:#b8ccec;--danger:#dc2626;--warning:#d97706;--success:#16a34a;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--radius:8px;--sans:"DM Sans", system-ui, sans-serif;--mono:"DM Mono", monospace;font:15px/1.6 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f9fafb;--bg:#0f1117;--bg-subtle:#1a1d27;--border:#1f2937;--accent:#4a7fc1;--accent-bg:#4a7fc11f;--accent-border:#4a7fc14d;--shadow:0 1px 3px #0006;--shadow-md:0 4px 12px #0000004d}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg)}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--text-h);font-weight:600;line-height:1.2}button{font-family:var(--sans);cursor:pointer}textarea,input,select{font-family:var(--sans)}#app-wrapper{flex-direction:column;min-height:100svh;display:flex}#app-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.header-inner{align-items:center;width:100%;max-width:1100px;margin:0 auto;display:flex}.header-brand{align-items:center;gap:8px;display:flex}.logo-icon{flex-shrink:0;width:28px;height:28px}.app-title{color:var(--text-h);letter-spacing:-.2px;font-size:15px;font-weight:600}#app-footer{border-top:1px solid var(--border);margin-top:auto;padding:24px 32px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:8px;display:flex}.footer-brand-name{color:var(--text-h);font-size:13px;font-weight:600}.footer-brand-tag{color:var(--text);font-size:11px;font-family:var(--mono);border:1px solid var(--border);background:var(--bg-subtle);border-radius:99px;padding:2px 8px}.footer-links{align-items:center;gap:20px;display:flex}.footer-link{color:var(--text);font-size:12px;text-decoration:none;transition:color .15s}.footer-link:hover{color:var(--text-h)}.footer-copy{color:var(--text);font-size:12px;font-family:var(--mono)}@media (width<=600px){.footer-inner{flex-direction:column;align-items:flex-start;gap:12px}#app-footer{padding:20px 16px}}main{flex:1}.nav-btn{border-radius:var(--radius);color:var(--text);background:0 0;border:1px solid #0000;margin-left:auto;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s}.nav-btn:hover{color:var(--text-h)}.nav-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.hero{text-align:center;flex-direction:column;align-items:center;gap:20px;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse, var(--accent-bg) 0%, transparent 70%);pointer-events:none;z-index:0;border-radius:50%;width:600px;height:400px;animation:8s ease-in-out infinite glow-drift;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.hero>*{z-index:1;position:relative}.hero-badge{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);font-size:12px;font-family:var(--mono);border-radius:99px;align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.hero-badge-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite dot-pulse}.hero-headline{letter-spacing:-1.5px;color:var(--text-h);max-width:640px;font-size:52px;font-weight:700;line-height:1.1}.hero-sub{color:var(--text);max-width:460px;font-size:16px;line-height:1.6}.hero-cta{border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;border:none;min-height:44px;margin-top:4px;padding:12px 28px;font-size:15px;font-weight:600;transition:opacity .15s,transform .15s}.hero-cta:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.hero-cta:active:not(:disabled){transform:translateY(0)}.hero-cta:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.hero{gap:16px;padding-top:48px}.hero-headline{letter-spacing:-.8px;font-size:30px}.hero-sub{font-size:14px}.hero:before{width:320px;height:240px}}.demo-section{flex-direction:column;gap:16px;display:flex}.demo-eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--text);font-size:11px;font-weight:700;font-family:var(--mono)}.demo-title{letter-spacing:-.5px;color:var(--text-h);font-size:28px;font-weight:700}.demo-window{border:1px solid var(--border);background:var(--bg-subtle);border-radius:12px;transition:box-shadow .3s;overflow:hidden}.demo-window:hover{box-shadow:0 8px 32px #0003}.demo-titlebar{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:6px;padding:12px 16px;display:flex}.demo-dot{background:var(--border);border-radius:50%;width:10px;height:10px}.demo-filename{color:var(--text);font-size:12px;font-family:var(--mono);margin-left:auto}.demo-body{flex-direction:column;gap:20px;padding:24px;display:flex}.demo-score-block{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.demo-score-label{text-transform:uppercase;letter-spacing:1px;color:var(--text);font-size:10px;font-weight:700;font-family:var(--mono);margin-bottom:4px}.demo-score-num{color:#d97706;font-size:56px;font-weight:700;font-family:var(--mono);line-height:1;animation:.6s cubic-bezier(.34,1.56,.64,1) .3s both score-pop}.demo-score-sub{color:var(--text);font-size:13px;font-family:var(--mono);margin-top:4px}.demo-score-bar-group{flex-direction:column;gap:6px;min-width:200px;display:flex}.demo-score-bar{border-radius:99px;gap:2px;height:8px;display:flex;position:relative;overflow:hidden}.demo-score-bar:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff40 50%,#0000 100%) 0 0/200% 100%;border-radius:99px;animation:2.4s ease-in-out infinite shimmer;position:absolute;inset:0}.demo-bar-seg{border-radius:99px}.demo-bar-met{background:#16a34a}.demo-bar-partial{background:#d97706}.demo-bar-missing{background:#dc2626}.demo-bar-legend{color:var(--text);font-size:10px;font-family:var(--mono);justify-content:space-between;display:flex}.demo-divider{background:var(--border);height:1px}.demo-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.demo-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);border-left:3px solid;flex-direction:column;gap:10px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}.demo-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.demo-card--met{border-left-color:#16a34a}.demo-card--partial{border-left-color:#d97706}.demo-card--missing{border-left-color:#dc2626}.demo-card-label{text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700;font-family:var(--mono)}.demo-label--met{color:#16a34a}.demo-label--partial{color:#d97706}.demo-label--missing{color:#dc2626}.demo-card-req{color:var(--text-h);font-size:14px;line-height:1.4}.demo-card-suggestion{color:var(--text);flex-direction:column;gap:4px;font-size:12px;line-height:1.5;display:flex}.demo-suggestion-key{text-transform:uppercase;letter-spacing:1px;color:var(--text);font-size:10px;font-weight:700;font-family:var(--mono)}@media (width<=640px){.demo-cards{grid-template-columns:1fr}.demo-score-num{font-size:40px}.demo-score-bar-group{min-width:100%}.demo-score-block{flex-direction:column;align-items:flex-start}}.hiw-section{flex-direction:column;gap:20px;display:flex}.hiw-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text);font-size:11px;font-weight:700;font-family:var(--mono)}.hiw-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.hiw-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);flex-direction:column;gap:10px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.hiw-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.hiw-num{background:var(--accent-bg);border:1px solid var(--accent-border);width:28px;height:28px;color:var(--accent);font-size:13px;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex}.hiw-card:hover .hiw-num{background:var(--accent);color:#fff;transform:scale(1.1)}.hiw-title{color:var(--text-h);font-size:14px;font-weight:600}.hiw-body{color:var(--text);font-size:13px;line-height:1.5}@media (width<=640px){.hiw-grid{grid-template-columns:1fr}}.features-section{flex-direction:column;gap:20px;display:flex}.features-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text);font-size:11px;font-weight:700;font-family:var(--mono)}.features-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.feature-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:6px;padding:20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.feature-card:hover{border-color:var(--accent-border);transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.feature-title{color:var(--text-h);font-size:14px;font-weight:600}.feature-body{color:var(--text);font-size:13px;line-height:1.5}@media (width<=640px){.features-grid{grid-template-columns:1fr}}.bottom-cta{text-align:center;border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:16px;padding:48px 0;display:flex}.bottom-cta-headline{letter-spacing:-.5px;color:var(--text-h);max-width:400px;font-size:28px;font-weight:700}.bottom-cta-btn{border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;border:none;min-height:44px;padding:12px 32px;font-size:15px;font-weight:600;transition:opacity .15s,transform .15s;position:relative;overflow:hidden}.bottom-cta-btn:after{content:"";opacity:0;background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%) 0 0/200% 100%;transition:opacity .2s;position:absolute;inset:0}.bottom-cta-btn:hover:after{opacity:1;animation:.8s forwards shimmer}.bottom-cta-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.bottom-cta-btn:active:not(:disabled){transform:translateY(0)}.bottom-cta-btn:disabled{opacity:.6;cursor:not-allowed}.bottom-cta-sub{color:var(--text);font-size:12px}@media (width<=640px){.bottom-cta-headline{font-size:22px}.bottom-cta{padding:36px 0}}.landing{flex-direction:column;gap:72px;max-width:900px;margin:0 auto;padding:0 24px 80px;display:flex}@media (width<=640px){.landing{gap:48px;padding:0 16px 60px}}.reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(20px)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .45s,transform .45s;transform:translateY(16px)}.reveal-stagger.revealed>:first-child{opacity:1;transition-delay:50ms;transform:none}.reveal-stagger.revealed>:nth-child(2){opacity:1;transition-delay:.12s;transform:none}.reveal-stagger.revealed>:nth-child(3){opacity:1;transition-delay:.19s;transform:none}.reveal-stagger.revealed>:nth-child(4){opacity:1;transition-delay:.26s;transform:none}@keyframes glow-drift{0%{opacity:.25;transform:translate(-50%,-50%)scale(1)}50%{opacity:.35;transform:translate(-48%,-52%)scale(1.08)}to{opacity:.25;transform:translate(-50%,-50%)scale(1)}}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes score-pop{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transition:none;transform:none}.reveal-stagger.revealed>*{transition-delay:0s}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.input-panel{flex-direction:column;gap:10px;display:flex}.panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-label{color:var(--text-h);font-size:13px;font-weight:600}.panel-hint{color:var(--text);margin-top:2px;font-size:12px}.mode-tabs{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;display:flex;overflow:hidden}.mode-tab{color:var(--text);background:0 0;border:none;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.mode-tab+.mode-tab{border-left:1px solid var(--border)}.mode-tab.active{background:var(--accent);color:#fff;font-weight:600}.panel-textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);width:100%;color:var(--text-h);resize:vertical;min-height:220px;padding:12px;font-size:14px;line-height:1.6;transition:border-color .15s}.panel-textarea:focus{border-color:var(--accent);outline:none}.panel-textarea.drag-over{border-color:var(--accent);background:var(--accent-bg)}.upload-zone{border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-subtle);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;padding:24px;transition:border-color .15s,background .15s;display:flex}.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-bg)}.drag-hint{color:var(--text-h);font-size:13px;font-weight:500}.upload-or{color:var(--text);font-size:11px}.upload-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text-h);padding:8px 20px;font-size:13px;font-weight:500;transition:all .15s}.upload-btn:hover{border-color:var(--accent);color:var(--accent)}.upload-types{color:var(--text);font-size:11px;font-family:var(--mono);letter-spacing:.3px}.upload-error{color:var(--danger);font-size:12px}.upload-loading{color:var(--text);flex-direction:column;align-items:center;gap:10px;font-size:13px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.file-chip{border-radius:var(--radius);border:1px solid var(--accent-border);background:var(--accent-bg);align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.file-chip-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.file-chip-type{color:var(--accent);font-size:11px;font-family:var(--mono);flex-shrink:0}.file-chip-remove{color:var(--text);background:0 0;border:none;flex-shrink:0;padding:0;font-size:12px;transition:color .15s}.file-chip-remove:hover{color:var(--danger)}.upload-limit{color:var(--text);font-size:11px;font-family:var(--mono)}.score-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);flex-direction:column;gap:14px;padding:24px;display:flex}.score-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.score-title{color:var(--text-h);margin-bottom:4px;font-size:14px;font-weight:600}.score-summary{color:var(--text);max-width:580px;font-size:13px;line-height:1.5}.score-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.score-pct{color:var(--accent);font-size:36px;font-weight:700;font-family:var(--mono)}.export-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.export-btn:hover{border-color:var(--accent);color:var(--accent)}.score-bar-bg{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.score-bar-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .5s}.score-legend{gap:20px;font-size:13px;font-weight:500;display:flex}.results-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.result-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);border-left:3px solid;flex-direction:column;gap:6px;padding:14px 16px;transition:box-shadow .15s;display:flex}.result-card:hover{box-shadow:var(--shadow)}.result-status{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700;font-family:var(--mono)}.result-req{color:var(--text-h);font-size:13px;line-height:1.4}.result-suggestion{color:var(--text);background:var(--bg-subtle);border-radius:4px;padding:8px;font-size:12px;line-height:1.4}.compare-page{flex-direction:column;gap:32px;max-width:1000px;margin:0 auto;padding:48px 24px 64px;display:flex}.compare-header{text-align:center}.compare-title{letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:600}.compare-sub{color:var(--text);font-size:15px}.compare-grid{grid-template-columns:1fr 40px 1fr;align-items:start;margin-top:20px;display:grid}.compare-divider{color:var(--border);text-transform:uppercase;letter-spacing:1px;justify-content:center;align-items:flex-start;padding-top:52px;font-size:11px;font-weight:600;display:flex}@media (width<=720px){.compare-grid{grid-template-columns:1fr;gap:16px}.compare-divider{display:none}.compare-page{padding:24px 16px 48px}}.compare-error{color:var(--danger);text-align:center;font-size:13px}.compare-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.compare-btn{border-radius:var(--radius);background:var(--accent);color:#fff;border:none;margin-top:30px;padding:11px 32px;font-size:15px;font-weight:600;transition:opacity .15s}.compare-btn:hover:not(:disabled){opacity:.88}.compare-btn:disabled{opacity:.5;cursor:not-allowed}.compare-loading{color:var(--text);font-size:12px}.results-section{flex-direction:column;gap:24px;display:flex}.reset-btn{border-radius:var(--radius);border:1px solid var(--border);color:var(--text);background:0 0;align-self:center;padding:8px 20px;font-size:13px;transition:all .15s}.reset-btn:hover{border-color:var(--accent);color:var(--accent)}.compare-inputs.hidden{display:none}.results-topbar{justify-content:space-between;align-items:center;display:flex}.back-btn{border-radius:var(--radius);border:1px solid var(--border);color:var(--text);background:0 0;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.recheck-btn{border-radius:var(--radius);background:var(--accent);color:#fff;border:none;padding:7px 16px;font-size:13px;font-weight:600;transition:opacity .15s}.recheck-btn:hover:not(:disabled){opacity:.88}.recheck-btn:disabled{opacity:.5;cursor:not-allowed}.all-met-banner{border-radius:var(--radius);border:1px solid var(--success);color:var(--success);text-align:center;background:#16a34a14;padding:20px 24px;font-size:14px;font-weight:500}.compare-error-block{justify-content:center;display:flex}
