:root{color:#111316;font-synthesis:none;-webkit-font-smoothing:antialiased;--ink:#111316;--muted:#6d737a;--line:#d8dce1;--gray:#f2f2f2;--white:#fff;--green:#164b3c;--work:#2e765b;--rest:#c84a40;--gutter:clamp(22px, 4.5vw, 72px);background:#fff;font-family:Inter,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--white);min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,.drop-zone:focus-within{outline-offset:3px;outline:2px solid #164b3c59}button:disabled{cursor:not-allowed;opacity:.42}.site-header{z-index:20;min-height:80px;padding:0 var(--gutter);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:32px;display:flex;position:sticky;top:0}.wordmark{color:var(--ink);letter-spacing:-.035em;white-space:nowrap;font-size:20px;font-weight:620}.site-header h1{color:var(--ink);letter-spacing:-.025em;text-align:right;margin:0;font-size:clamp(16px,1.35vw,21px);font-weight:520}.app-shell{max-width:1560px;padding:clamp(42px, 5vw, 76px) var(--gutter) clamp(70px, 8vw, 120px);margin:0 auto}.workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:760px;display:grid}.upload-side,.results-side{padding:clamp(28px,3.2vw,50px)}.upload-side{border-right:1px solid var(--line);background:var(--gray);flex-direction:column;display:flex}.drop-zone{text-align:center;background:#ffffff8a;border:1px dashed #aeb7b3;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:560px;padding:42px 28px;transition:background .18s,border-color .18s;display:flex}.drop-zone.dragging{border-color:var(--green);background:#e8efec}.drop-zone svg{fill:none;width:48px;stroke:var(--ink);stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;margin:0 0 24px}.drop-zone h2{color:var(--ink);letter-spacing:-.03em;margin:0 0 26px;font-size:clamp(20px,1.8vw,27px);font-weight:570}.drop-zone p{color:#40464d;margin:24px 0 5px;font-size:15px}.drop-zone span{color:var(--muted);font-size:13px}.primary,.analyze,.download{border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--white);border-radius:9px;padding:0 27px;font-size:15px;font-weight:600;transition:background .18s,border-color .18s,opacity .18s}.primary:hover,.analyze:hover,.download:hover{background:#2e3135;border-color:#2e3135}.primary:disabled,.analyze:disabled,.download:disabled{border-color:var(--line);color:#858a90;opacity:1;background:#e4e7e9}.preview{border:1px solid var(--line);background:var(--white);object-fit:contain;width:min(72%,360px);max-height:330px;margin-top:25px}.analyze{width:min(360px,100%);margin:24px auto 0}.error,.warning{color:#9a3d2f;text-align:center;margin:14px 0 0;font-size:14px;line-height:1.55}.results-side{flex-direction:column;display:flex}.status-line{min-height:38px;color:var(--ink);align-items:center;gap:12px;font-size:17px;font-weight:590;display:flex}.status-dot{width:29px;height:29px;color:var(--white);background:#dfe3e1;border-radius:50%;flex:none;place-items:center;display:grid}.status-dot.done{background:var(--green)}.zero-notice{color:#7b3c25;background:#faf3ee;border-left:3px solid #b56a3f;margin:14px 0 0;padding:13px 15px;font-size:14px;line-height:1.55}.results-grid{grid-template-columns:minmax(168px,205px) minmax(280px,1fr);gap:clamp(26px,3vw,48px);min-height:430px;padding:26px 0 22px;display:grid}.metrics{flex-direction:column;display:flex}.metric{border-bottom:1px solid var(--line);padding:18px 4px 23px}.metric-label{align-items:center;gap:12px;font-size:17px;font-weight:580;display:flex}.legend{border-radius:50%;width:11px;height:11px}.legend.green{background:var(--work)}.legend.red{background:var(--rest)}.metric strong,.metric input{width:100%;color:var(--work);background:0 0;border:0;padding:15px 0 5px;font-size:clamp(40px,3.4vw,52px);font-weight:620;line-height:1;display:block}.metric:nth-child(2) strong,.metric:nth-child(2) input,.metric:nth-child(2) b{color:var(--rest)}.metric b{color:var(--work);font-size:20px;font-weight:570}.total{padding:24px 4px}.total span{font-size:15px;font-weight:560;display:block}.total strong{margin-top:10px;font-size:38px;font-weight:600;display:block}.chart{border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;min-width:250px;padding:14px 15px 20px 58px;display:flex;position:relative}.axis{color:var(--muted);flex-direction:column;justify-content:space-between;font-size:12px;display:flex;position:absolute;top:15px;bottom:49px;left:6px}.bar{background:#e8ebea;flex-direction:column;justify-content:flex-end;align-self:flex-start;width:min(190px,68%);height:340px;display:flex;overflow:hidden}.bar>div{width:100%;color:var(--white);place-items:center;font-size:25px;font-weight:620;transition:height .5s;display:grid}.rest-segment{background:var(--rest)}.work-segment{background:var(--work)}.chart p{color:#40464d;margin:0;font-size:13px;position:absolute;bottom:-2px}.review{border-top:1px solid var(--line);padding-top:20px}.review h2{margin:0 0 14px;font-size:17px;font-weight:590}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border:1px solid var(--line);text-align:left;padding:12px 14px}th{background:var(--gray);font-weight:580}th:not(:first-child),td:not(:first-child){text-align:center}.download{align-self:center;min-width:250px;margin-top:24px}.site-footer{min-height:112px;padding:0 var(--gutter);border-top:1px solid var(--line);background:var(--white);justify-content:flex-end;align-items:center;display:flex}.site-footer small{color:var(--muted)}@media (width<=960px){.workspace{grid-template-columns:1fr}.upload-side{border-right:0;border-bottom:1px solid var(--line)}.drop-zone{min-height:480px}}@media (width<=800px){.site-header{gap:18px;min-height:68px}.wordmark{font-size:18px}.site-header h1{max-width:55%;font-size:14px;line-height:1.3}.app-shell{padding-top:28px}.upload-side,.results-side{padding:24px 20px}.drop-zone{min-height:430px;padding:32px 18px}.site-footer{justify-content:center;min-height:96px}}@media (width<=560px){:root{--gutter:20px}.wordmark{font-size:17px}.site-header h1{max-width:58%;font-size:12px}.results-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr;display:grid}.total{grid-column:1/-1}.chart{min-height:380px}.review{overflow-x:auto}.preview{width:min(86%,330px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
