:root{color:#19201d;font-synthesis:none;--ink:#19201d;--green:#164f3b;--acid:#dafa63;--line:#d6d3c9;background:#f2f0e9;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.landing{background:radial-gradient(circle at 90% 20%,#e1e9ce,#0000 30%),#f2f0e9;flex-direction:column;min-height:100vh;padding:0 5vw;display:flex}nav,header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;display:flex}nav a{color:var(--ink);font-size:14px;text-decoration:none}.logo{align-items:center;gap:12px;font-weight:700;display:flex}.logo>span{background:var(--green);width:34px;height:34px;color:var(--acid);border-radius:4px;place-items:center;font:500 12px ui-monospace,SFMono-Regular,monospace;display:grid}.hero{text-align:center;max-width:900px;margin:auto;padding:70px 0}.eyebrow{letter-spacing:.14em;color:#637168;margin:0 0 16px;font:500 11px ui-monospace,SFMono-Regular,monospace}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(52px,8vw,96px);line-height:.85}.hero h1 em{color:var(--green);font-family:Georgia,serif;font-weight:500}.intro{color:#66706b;max-width:650px;margin:34px auto;font-size:18px;line-height:1.65}.drop{background:#ffffff6b;border:1.5px dashed #9da49c;border-radius:5px;flex-direction:column;gap:5px;max-width:610px;margin:0 auto;padding:31px;transition:all .2s;display:flex}.drop:hover,.drop.dragging{border-color:var(--green);background:#f8f9ef;transform:translateY(-2px)}.drop strong{font-size:15px}.drop small{color:#778079;font-size:12px}.upload-icon{color:var(--green);margin-bottom:4px;font-size:22px}.text-button{color:var(--green);background:0 0;border:0;margin-top:18px;font-size:13px}.error{color:#9a382b;font-size:13px}footer{border-top:1px solid var(--line);color:#707973;justify-content:space-between;align-items:center;min-height:58px;font:400 11px ui-monospace,SFMono-Regular,monospace;display:flex}.app{min-height:100vh}.app header,.app footer,.dashboard{max-width:1440px;margin:auto}.app header{padding:0 30px}.file{grid-template-columns:auto 1fr;align-items:center;column-gap:8px;font:500 13px ui-monospace,SFMono-Regular,monospace;display:grid}.file small{color:#7b837f;grid-column:2;margin-top:3px}.pulse{background:#55a96e;border-radius:50%;grid-row:1/3;width:8px;height:8px}.secondary,.primary{border:1px solid var(--line);background:0 0;border-radius:3px;padding:10px 16px;font-size:12px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.dashboard{background:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:320px 1fr;gap:1px;display:grid}.summary,.panel{background:#f7f5ef;padding:30px}.summary{flex-direction:column;grid-row:1/3;min-height:620px;display:flex}.score strong{letter-spacing:-.07em;font-size:78px;line-height:1}.score span{color:#858c87}.grade{color:var(--green);font:500 13px ui-monospace,SFMono-Regular,monospace}.ring{--score:300deg;background:conic-gradient(var(--green) var(--score),#e4e3dc 0);border-radius:50%;place-items:center;width:160px;height:160px;margin:50px auto;display:grid;position:relative}.ring:after{content:"";background:#f7f5ef;border-radius:50%;width:132px;height:132px;position:absolute}.ring span{z-index:1;text-align:center;font:500 28px ui-monospace,SFMono-Regular,monospace}.ring small{letter-spacing:.1em;text-transform:uppercase;color:#7d8580;margin-top:3px;font-size:9px;display:block}.stats{border-top:1px solid var(--line);margin-top:auto}.stats div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:18px 0;display:flex}.stats small{color:#747c77;font:400 11px ui-monospace,SFMono-Regular,monospace}.stats strong{font-size:20px}.panel-title{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.panel-title h2{letter-spacing:-.04em;margin:0;font-size:25px}.panel-title>span{color:#757d78;font:400 11px ui-monospace,SFMono-Regular,monospace}.findings{min-height:310px}.issue-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.issue{border:1px solid var(--line);background:#fbfaf6;border-radius:3px;grid-template-columns:10px 1fr auto;gap:10px;padding:15px;display:grid}.issue .dot{background:#ad8b31;border-radius:50%;width:7px;height:7px;margin-top:6px}.issue.high .dot{background:#b64534}.issue.low .dot{background:#7d9188}.issue strong{font-size:13px}.issue p{color:#6d756f;margin:4px 0 0;font-size:11px}.issue code{background:#eceae3;padding:2px 4px}.issue>small{text-transform:uppercase;color:#838a86;font:400 9px ui-monospace,SFMono-Regular,monospace}.empty{color:var(--green);background:#eef4df;padding:25px}.columns{grid-column:2}.panel-title input{background:0 0;border:0;border-bottom:1px solid #aaa;outline:none;width:180px;padding:8px;font-size:12px}.column-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.column{border:1px solid var(--line);background:#fbfaf6;min-width:0;padding:17px}.column-head{justify-content:space-between;display:flex}.column-head strong{white-space:nowrap;text-overflow:ellipsis;font:500 13px ui-monospace,SFMono-Regular,monospace;overflow:hidden}.column-head span{text-transform:uppercase;color:var(--green);background:#e9eddf;padding:4px 6px;font:400 9px ui-monospace,SFMono-Regular,monospace}.meter{background:#e4e2db;height:3px;margin:16px 0 8px}.meter i{background:var(--green);height:100%;display:block}.column-stats{color:#828985;justify-content:space-between;font:400 9px ui-monospace,SFMono-Regular,monospace;display:flex}.column-stats b{color:#3d4742}.range{color:#3d4742;justify-content:space-between;margin:13px 0 0;font:400 9px ui-monospace,SFMono-Regular,monospace;display:flex}.range span{color:#989d99}.samples{gap:5px;margin-top:13px;display:flex;overflow:hidden}.samples code{white-space:nowrap;text-overflow:ellipsis;background:#eeece6;padding:4px 6px;font:400 9px ui-monospace,SFMono-Regular,monospace;overflow:hidden}.preview{grid-column:1/3}.table-wrap{border:1px solid var(--line);overflow:auto}table{border-collapse:collapse;background:#fbfaf6;width:100%;font:400 11px ui-monospace,SFMono-Regular,monospace}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e1dfd8;padding:12px 15px}th{background:#eeece6;font-weight:500}th small{color:#8a908c;text-transform:uppercase;margin-top:3px;font-size:8px;display:block}td em{color:#a0a49f}.app footer{padding:0 30px}.app footer span:last-child{color:#979c98}@media (width<=900px){.dashboard{border:0;display:block}.summary{min-height:auto}.ring{margin:30px auto}.stats{margin-top:20px}.issue-list,.column-grid{grid-template-columns:1fr}.columns,.preview{grid-column:auto}.app header{padding:0 18px}.file{display:none}.panel,.summary{padding:22px}.app footer{gap:20px;padding:15px 20px}.hero h1{font-size:55px}.landing{padding:0 20px}}
