:root{font-family:Segoe UI,Arial,sans-serif;color:#eff2ec;background:#0f1113;font-synthesis:none;color-scheme:dark;--bg: #0f1113;--bg-elevated: #151b1d;--bg-soft: #171c20;--surface: #171d20;--surface-strong: #1b2428;--card: #1a2025;--text: #eff2ec;--text-soft: #d5ddd9;--muted: #9badad;--border: rgba(148, 163, 184, .22);--shadow: rgba(7, 10, 14, .32);--accent: #6ee7c8;--accent-soft: rgba(110, 231, 200, .14);--strong: #2dd4bf;--moderate: #60a5fa;--limited: #f59e0b;--met: #22c55e;--met-soft: rgba(34, 197, 94, .12);--partial: #f59e0b;--partial-soft: rgba(245, 158, 11, .12);--not-met: #f472b6;--not-met-soft: rgba(244, 114, 182, .12);--unclear: #8b5cf6;--unclear-soft: rgba(139, 92, 246, .12);--chip-text: #f8fafc;--quote-bg: rgba(255, 255, 255, .02);--warning: #f9d57d;--warning-bg: rgba(249, 213, 125, .14);--ring-size: clamp(160px, 24vw, 240px);--ring-track: rgba(148, 163, 184, .2)}.theme-light{color:#1f2937;background:#f4f3ef;color-scheme:light;--bg: #f4f3ef;--bg-elevated: #faf9f6;--bg-soft: #f0efe9;--surface: #fffdf9;--surface-strong: #f3f1ed;--card: #fffdf9;--text: #1f2937;--text-soft: #334155;--muted: #58657a;--border: rgba(100, 116, 139, .22);--shadow: rgba(15, 23, 42, .08);--accent: #0f766e;--accent-soft: rgba(13, 148, 136, .12);--strong: #0f766e;--moderate: #2563eb;--limited: #b45309;--met: #15803d;--met-soft: rgba(21, 128, 61, .12);--partial: #b45309;--partial-soft: rgba(180, 83, 9, .12);--not-met: #be185d;--not-met-soft: rgba(190, 24, 93, .12);--unclear: #6d28d9;--unclear-soft: rgba(109, 40, 217, .12);--chip-text: #ffffff;--quote-bg: rgba(15, 23, 42, .02);--warning: #b45309;--warning-bg: rgba(245, 158, 11, .12);--ring-track: rgba(100, 116, 139, .2)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;font-size:14px;line-height:1.6;background:var(--bg);color:var(--text)}button,textarea,input{font:inherit;border-radius:0}button,summary,.drop{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{max-width:100%}h1,h2,h3,p,ul,ol,li{margin:0}ul,ol{list-style:none;padding:0}textarea,input{color:var(--text)}h2{font-size:15px;font-weight:700}h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:not-allowed}.page{max-width:1200px;margin:0 auto;padding:48px 40px 24px;min-height:100vh;background:var(--bg);color:var(--text)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}.theme-toggle{padding:9px 14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12px;font-weight:700;border-radius:999px;box-shadow:0 8px 18px var(--shadow);transition:background .2s ease,border-color .2s ease,transform .2s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--accent)}header{padding:clamp(24px,4vw,48px);margin-bottom:28px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,var(--accent-soft),transparent 70%);border-radius:18px 18px 0 0}header .eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--muted);margin-bottom:18px}header h1{font:400 clamp(40px,5vw,64px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin-bottom:12px}header>p:last-child{color:var(--muted)}main{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:32px;align-items:start}main>*{min-width:0}.footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.card{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:0 18px 40px var(--shadow)}.inputs{display:grid;gap:28px}.results{display:grid;gap:18px}.muted,.hint{color:var(--muted)}.hint{font-size:11px;line-height:1.6;margin-top:8px}.field-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px}button.link{padding:0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-soft);font-size:12px}button.link:hover{border-color:var(--text);color:var(--text)}.tabs{display:flex;gap:16px;margin-bottom:0;border-bottom:1px solid var(--border)}.tab{padding:8px 0 10px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:11px;color:var(--muted)}.tab.active{border-bottom-color:var(--accent);color:var(--text)}textarea,.preview{display:block;width:100%;min-height:230px;padding:16px;border:1px solid var(--border);border-top:0;background:var(--bg-soft);color:var(--text);font:12px/1.8 Consolas,monospace;resize:vertical;border-radius:0 0 16px 16px}textarea::placeholder{color:var(--muted)}.preview{overflow:auto;font:inherit;border-radius:0 0 16px 16px}.preview h1,.preview h2{font-size:15px;margin:12px 0 6px}.preview h1:first-child,.preview h2:first-child{margin-top:0}.preview ul{padding-left:20px}.preview a{color:var(--accent)}.preview img{max-width:100%}.drop{position:relative;display:grid;gap:3px;padding:24px 16px;margin-top:14px;border:1px dashed var(--border);border-radius:18px;text-align:center;overflow-wrap:anywhere;cursor:pointer;background:var(--bg-soft)}.drop strong{font-size:13px;font-weight:600}.drop span{font-size:11px;color:var(--muted)}.drop:hover,.drop.dragging,.drop:focus-within{border-color:var(--accent);background:var(--surface-strong)}.drop:focus-within{outline:2px solid var(--accent);outline-offset:3px}.drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.actions{display:grid;gap:8px}.actions .hint{margin:0}button.primary{width:100%;padding:13px 20px;border:1px solid var(--text);background:var(--text);color:var(--bg);font-size:12px;font-weight:700;letter-spacing:.03em;border-radius:14px}button.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#0b1720}button.primary:disabled{color:var(--muted);background:var(--bg-soft);border-color:var(--border)}.empty{display:flex;flex-direction:column;justify-content:center;min-height:420px;padding:44px;background:linear-gradient(180deg,var(--bg-soft),transparent);border:1px solid var(--border);border-radius:24px}.empty-mark{font:11px/1.5 Consolas,monospace;letter-spacing:.08em;color:var(--muted);margin-bottom:52px}.empty h2{font:400 34px/1.2 Georgia,serif;letter-spacing:-.025em;max-width:280px}.empty p{max-width:260px;margin-top:14px;color:var(--muted);font-size:13px}.empty-labels{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.loading{min-height:280px;display:grid;align-content:center;justify-items:center;gap:12px;background:linear-gradient(135deg,var(--bg-soft),var(--surface))}.loading p:last-child{font-size:12px}.spinner{width:30px;height:30px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.error{border-left:4px solid var(--warning);background:linear-gradient(90deg,var(--warning-bg),transparent 70%)}.error p{margin-top:8px}.error-text{color:var(--warning);font-size:12px;margin-top:8px}.score-card{display:grid;gap:20px;border-top:4px solid var(--accent)}.score-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.score-visual{position:relative;width:var(--ring-size);height:var(--ring-size);min-width:160px;min-height:160px;aspect-ratio:1;display:grid;place-items:center;flex-shrink:0}.score-ring{width:100%;height:100%;transform:rotate(-90deg);display:block}.score-ring-track,.score-ring-fill{fill:none;stroke-width:10;stroke-linecap:round}.score-ring-track{stroke:var(--ring-track)}.score-ring-fill{stroke-dasharray:326.7256;stroke-dashoffset:326.7256;transition:stroke-dashoffset .8s ease}.score-number-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.score-number{display:grid;place-items:center;gap:2px;line-height:.9;text-align:center;transform:translateY(-2px)}.score-number span{font-size:calc(var(--ring-size) * .38);font-weight:800;letter-spacing:-.08em}.score-number small{font-size:calc(var(--ring-size) * .11);letter-spacing:.06em;text-transform:uppercase}.score-copy{display:grid;gap:10px;min-width:0;flex:1}.band-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:38px;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:700}.score-subtitle{font-size:13px;color:var(--muted)}.score-caveat{padding-top:4px}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.status-tile{display:flex;align-items:center;gap:10px;padding:14px 12px;border:1px solid var(--border);border-radius:16px;background:#ffffff05;min-height:72px}.status-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;font-weight:700;background:#ffffff0d}.status-meta{display:grid;gap:2px}.status-meta strong{font-size:36px;line-height:1}.status-meta span{font-size:13px;font-weight:600;color:var(--text-soft)}.status-met{border-color:#22c55e66;background:var(--met-soft)}.status-met .status-icon{background:#22c55e24;color:var(--met)}.status-partial{border-color:#f59e0b66;background:var(--partial-soft)}.status-partial .status-icon{background:#f59e0b24;color:var(--partial)}.status-not-met{border-color:#f472b666;background:var(--not-met-soft)}.status-not-met .status-icon{background:#f472b624;color:var(--not-met)}.status-unclear{border-color:#8b5cf666;background:var(--unclear-soft)}.status-unclear .status-icon{background:#8b5cf624;color:var(--unclear)}.info-block{padding:14px 16px;border-radius:16px;background:var(--bg-soft)}.summary{font-size:14px;color:var(--text-soft)}.how{padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-soft)}.how summary{list-style:none;font-weight:700;color:var(--text-soft);cursor:pointer}.how summary::-webkit-details-marker{display:none}.how summary:after{content:"+";float:right;font-size:18px;line-height:1;color:var(--muted)}.how[open] summary:after{content:"−"}.how p{margin-top:10px;color:var(--muted);font-size:12px}.plain-list,.requirements-list,.requirement-group{display:grid;gap:12px}.requirement-group+.requirement-group{margin-top:20px}.requirement-row{border-left:4px solid transparent;border-radius:14px;background:var(--bg-soft);border:1px solid var(--border);overflow:hidden}.requirement-met{border-left-color:var(--met);background:var(--met-soft)}.requirement-partial{border-left-color:var(--partial);background:var(--partial-soft)}.requirement-not-met{border-left-color:var(--not-met);background:var(--not-met-soft)}.requirement-unclear{border-left-color:var(--unclear);background:var(--unclear-soft)}.req{display:block;width:100%}.req summary{list-style:none;display:grid;grid-template-columns:112px minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:48px;padding:12px 14px;cursor:pointer}.req summary::-webkit-details-marker{display:none}.req summary:after{content:"▾";margin-left:auto;font-size:18px;color:var(--muted);line-height:1}.req[open] summary:after{content:"▴"}.status-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--chip-text);white-space:nowrap}.status-chip span{font-size:12px}.status-met{background:var(--met)}.status-partial{background:var(--partial)}.status-not-met{background:var(--not-met)}.status-unclear{background:var(--unclear)}.req-text{font-weight:600;color:var(--text-soft);overflow-wrap:anywhere;word-break:break-word}.req-body{display:grid;gap:12px;padding:0 14px 14px;color:var(--muted)}.req-body p{font-size:12px;line-height:1.6}blockquote{margin:0;padding:12px 14px 12px 16px;border-left:3px solid var(--accent);background:var(--quote-bg);border-radius:12px;color:var(--text-soft);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.warn{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:10px;background:var(--warning-bg);color:var(--warning);font-size:12px;font-weight:600}.toggle-row{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-soft);font-size:12px;color:var(--text-soft)}.toggle-row input{accent-color:var(--accent);width:16px;height:16px}.highlight-list{display:grid;gap:16px}.highlight-item{display:grid;gap:10px;padding:18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--accent-soft),transparent 70%)}.highlight-head{display:flex;align-items:center;gap:10px}.highlight-badge{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:14px}.highlight-item p{color:var(--text-soft)}.question-list{display:grid;gap:12px}.question-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-soft);color:var(--text-soft)}.question-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;flex-shrink:0}.access-code-field{display:grid;gap:8px}.access-code-field span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.access-code-field input{width:100%;padding:12px 14px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);border-radius:12px}.access-code-field input::placeholder{color:var(--muted)}@media(max-width:900px){.page{padding:32px 20px 20px}main{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.score-header{display:grid;justify-items:center;text-align:center}.score-copy{width:100%}.band-pill{margin:0 auto}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-head{align-items:flex-start;flex-direction:column}.req summary{grid-template-columns:1fr}.req summary:after{justify-self:end}}@media(max-width:480px){.page{padding:20px 12px 16px}.card,.empty{border-radius:18px}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-meta strong{font-size:32px}.score-visual{width:min(180px,60vw);height:min(180px,60vw);min-width:0;min-height:0}}@media(prefers-reduced-motion:reduce){.score-ring-fill{transition:none}.spinner{animation:none}}
