:root{font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#23362e;background:#f6f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,textarea,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:#175d48}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b57920;outline-offset:3px}.page-header{padding:22px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #dfe4dc;background:#fff}.brand{display:flex;gap:12px;align-items:center;font-weight:700;text-decoration:none;color:#23362e;font-size:17px}.brand img{flex-shrink:0}main{max-width:1240px;margin:auto;padding:34px 24px}.intro{margin-bottom:28px}.intro h1{font:600 clamp(25px,3vw,36px)/1.2 Georgia,serif;margin:0 0 9px;letter-spacing:-.025em}.intro p{color:#627267;margin:0}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;align-items:start}.input-panel{padding:24px;background:#edf1e9;border-top:4px solid #175d48}.input-panel h2,.result-header h2{font-size:19px;margin:0 0 6px}.input-panel p{font-size:14px;margin:0 0 18px;color:#56675c}label{font-weight:600;font-size:13px}.input-panel label{display:block;margin-bottom:7px}textarea{display:block;resize:vertical;width:100%;min-height:206px;border:1px solid #abb9ad;background:white;border-radius:3px;padding:12px;font:14px/1.75 ui-monospace,monospace;color:#263b30}textarea:focus{outline:2px solid #175d48;outline-offset:1px}.input-panel .muted{font-size:12px;margin:9px 0 18px}.primary{display:block;width:100%;padding:12px;border:0;border-radius:3px;background:#175d48;color:#fff;font-weight:650;font-size:14px}.primary:hover:not(:disabled){background:#104c3a}.input-panel .input-tip{margin:16px 0 0;font-size:12px}.result-panel{background:white;border:1px solid #dbe2d9;min-width:0;border-radius:4px;overflow:hidden}.result-header{padding:22px 24px;display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid #e4e9e1}.result-header p{margin:0;color:#607267;font-size:13px}.actions{display:flex;gap:8px;flex-shrink:0}.actions button{border:1px solid #c5d0c4;border-radius:4px;padding:7px 10px;background:white;font-size:12px;color:#264835}.actions button:hover:not(:disabled){background:#edf1e9}.sort-row{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:12px 24px;background:#fafbf8}.sort-row label{font-size:12px;color:#657268}select{border:1px solid #c5d0c4;background:white;padding:6px 8px;border-radius:3px;font-size:12px;color:#23362e}.empty{text-align:center;padding:44px 24px;color:#68766c}.empty h3{font-size:17px;color:#324e3f;margin:12px 0 8px}.empty p{max-width:340px;margin:auto;font-size:14px}.empty-symbol{font-size:28px;background:#edf1e9;border-radius:50%;display:inline-grid;place-items:center;width:52px;height:52px;color:#175d48}table{width:100%;border-collapse:collapse;table-layout:fixed}th{text-align:left;font-weight:600;font-size:12px;color:#607267;padding:12px 24px;background:#f4f6f0}th:first-child{width:58%}td{padding:16px 24px;border-top:1px solid #e6eae3;font-size:14px;overflow-wrap:anywhere}tbody tr:hover{background:#f9fbf5}.domain{font-weight:600}.score{display:inline-block;color:#175d48;font-size:23px;font-weight:700;font-variant-numeric:tabular-nums}.state{color:#627267;font-size:13px}.state.error{color:#a3342c}.reading-note{margin:26px 0 0 338px;padding:0 6px;color:#68766c;font-size:13px}.reading-note strong{color:#405548}.reading-note p{margin:6px 0 0}footer{max-width:1240px;margin:0 auto;padding:24px;display:flex;justify-content:space-between;gap:16px;color:#68766c;font-size:12px}.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}[hidden]{display:none!important}@media(max-width:900px){.workspace{grid-template-columns:250px minmax(0,1fr);gap:18px}.input-panel{padding:18px}.result-header{flex-wrap:wrap}.reading-note{margin-left:268px}th,td{padding:12px 16px}.result-header,.sort-row{padding:16px}}@media(max-width:650px){main{padding:24px 16px}.page-header{padding:18px 16px}.brand{font-size:14px}.workspace{grid-template-columns:1fr;gap:20px}.input-panel textarea{min-height:140px;height:150px}.reading-note{margin:24px 0 0}.result-header{gap:12px}.result-header h2{font-size:18px}footer{padding:20px 16px;flex-direction:column;gap:8px}.sort-row{justify-content:space-between}.empty{padding:30px 16px}.intro h1{font-size:28px}th:first-child{width:56%}}
