:root{--ink:#111316;--muted:#6d737a;--line:#d8dce1;--gray:#f2f2f2;--white:#fff;--green:#164b3c;--work:#2e765b;--rest:#c84a40;--gutter:clamp(22px, 4.5vw, 72px);color:var(--ink);background:var(--gray);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--gray);-webkit-font-smoothing:antialiased;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.site-header{z-index:10;min-height:80px;padding:0 var(--gutter);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:32px;display:flex;position:sticky;top:0}.wordmark{color:var(--ink);letter-spacing:-.02em;font-size:18px;font-weight:620;text-decoration:none}.site-header h1{color:var(--ink);letter-spacing:-.015em;text-align:right;margin:0;font-size:16px;font-weight:560}main{min-height:calc(100vh - 178px)}.workspace{width:min(1180px, calc(100% - (2 * var(--gutter))));margin:0 auto;padding:clamp(70px,8vw,112px) 0}.workspace-heading{justify-content:flex-end;align-items:flex-end;gap:36px;margin-bottom:34px;display:flex}.workspace-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(34px,4.2vw,58px);font-weight:600;line-height:1.08}.workspace-heading p{color:var(--muted);margin:15px 0 0;font-size:16px;line-height:1.7}.sample-button{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:6px;flex:none;padding:12px 17px;font-size:14px}.sample-button:hover{border-color:var(--green);color:var(--green)}.sample-button:focus-visible,.primary-button:focus-visible{outline-offset:3px;outline:3px solid #164b3c38}.drop-zone{background:var(--white);border:1px dashed #969ba1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:310px;padding:42px;transition:background .18s,border-color .18s;display:flex}.drop-zone.is-dragging{border-color:var(--green);background:#f7faf8}.file-icon{border:2px solid var(--green);width:48px;height:56px;color:var(--green);border-radius:5px;place-items:center;margin-bottom:24px;font-size:20px;font-weight:650;display:grid}.drop-zone p{text-align:center;margin:0 0 8px;font-size:19px;font-weight:540}.drop-zone>span{color:var(--muted);font-size:14px}.primary-button{border:1px solid var(--ink);background:var(--ink);color:var(--white);border-radius:6px;margin-top:26px;padding:14px 25px;font-size:15px;font-weight:620}.primary-button:hover{background:#2e3135;border-color:#2e3135}.primary-button:disabled{border-color:var(--line);color:#858a90;opacity:1;background:#e4e7e9}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.error-message{border-left:3px solid var(--rest);background:#fbf3f2;margin-top:32px;padding:22px 24px}.error-message strong{margin-bottom:9px;display:block}.error-message pre{white-space:pre-wrap;color:#78342e;font:inherit;margin:0;line-height:1.65}.results{margin-top:40px}.file-status{border:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;display:flex}.file-status div{flex-direction:column;gap:5px;min-width:0;display:flex}.file-status strong{overflow-wrap:anywhere}.file-status div>span{color:var(--muted);font-size:13px}.file-status p{color:var(--work);flex:none;margin:0;font-size:14px}.file-status p span{background:var(--work);width:20px;height:20px;color:var(--white);border-radius:50%;place-items:center;margin-right:7px;display:inline-grid}.metrics{border-block:1px solid var(--line);background:var(--white);grid-template-columns:repeat(3,1fr);margin:34px 0;display:grid}.metrics article{border-right:1px solid var(--line);flex-direction:column;align-items:center;padding:27px 24px;display:flex}.metrics article:last-child{border-right:0}.metrics small{color:#4f555c;align-items:center;gap:9px;font-size:14px;display:flex}.metrics strong{letter-spacing:-.04em;margin:9px 0 4px;font-size:clamp(38px,4.2vw,58px);font-weight:600}.metrics article>span{color:var(--muted);font-size:13px}.dot{border-radius:50%;width:10px;height:10px}.work-dot{background:var(--work)}.rest-dot{background:var(--rest)}.total-dot{background:#4f555c}.work-text{color:var(--work)}.rest-text{color:var(--rest)}.stacked-chart{border:1px solid var(--line);height:72px;color:var(--white);background:#e8eaec;font-size:19px;font-weight:650;display:flex;overflow:hidden}.stacked-chart>div{justify-content:center;align-items:center;min-width:0;display:flex}.work-segment{background:var(--work)}.rest-segment{background:var(--rest)}.table-wrap{border:1px solid var(--line);background:var(--white);margin-top:30px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--line);text-align:right;padding:16px 19px}thead th{color:#4f555c;background:#f7f7f7;font-size:13px;font-weight:600}th:first-child,td:first-child{text-align:left}tbody th{font-weight:560}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}.site-footer{min-height:98px;padding:0 var(--gutter);border-top:1px solid var(--line);background:var(--white);color:var(--muted);justify-content:space-between;align-items:center;gap:28px;display:flex}.site-footer small{font-size:12px;line-height:1.6}.site-footer small:last-child{text-align:right}@media (width<=760px){.site-header{gap:18px;min-height:68px}.wordmark{font-size:16px}.site-header h1{max-width:190px;font-size:13px;line-height:1.25}main{min-height:calc(100vh - 158px)}.workspace{padding:54px 0 70px}.workspace-heading{flex-direction:column;align-items:flex-start;gap:24px}.workspace-heading h2{font-size:39px}.drop-zone{min-height:280px;padding:34px 18px}.metrics{grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid var(--line);padding:24px 0}.metrics article:last-child{border-bottom:0}.stacked-chart{height:60px;font-size:15px}.file-status{flex-direction:column;align-items:flex-start}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-height:90px}.site-footer small:last-child{text-align:left}}@media (width<=430px){.workspace-heading h2{font-size:35px}.drop-zone p{font-size:17px}.stacked-chart{height:54px;font-size:13px}}
