:root{--bg:#f0e4ce;--surface:#fffcf0;--soft:#f5ede0;--ink:#2d2a24;--muted:#74614c;--line:#d8cdb8;--accent:#a8331f;--green:#386538;--blue:#335f86;--radius:14px;color-scheme:light;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0;line-height:1.6}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 15px;cursor:pointer;font-weight:600;transition:background .15s}button:hover{background:#ebdfc7}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);width:100%;margin-top:16px}button.primary:hover{background:#872815}button.text-button{background:none;border:0;color:var(--accent);padding:3px;font-size:12px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}::selection{background:#edce8a;color:var(--ink)}input{caret-color:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#bca98b;border-radius:4px}::-webkit-scrollbar-track{background:var(--soft)}.top{background:var(--surface);border-bottom:1px solid var(--line);padding:18px max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:750;font-size:16px;color:var(--accent);text-decoration:none}.brand span{font-weight:400;color:var(--muted);font-size:14px}.mode{font-size:12px;color:var(--muted)}main{max-width:1440px;padding:36px 24px 12px;margin:auto}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}h1{font-size:clamp(24px,2.6vw,36px);letter-spacing:-.03em;line-height:1.3;margin:0 0 10px;text-wrap:balance}p{margin:8px 0}.intro p{color:var(--muted);font-size:15px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}aside{display:grid;gap:20px}.results-area{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}aside .panel{margin:0;padding:22px}h2{font-size:18px;line-height:1.4;letter-spacing:-.02em;margin:0 0 8px}.hint{font-size:12px;color:var(--muted);line-height:1.7}.section-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px;margin-top:12px}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:#fffef8;color:var(--ink);padding:9px 8px;font-variant-numeric:tabular-nums}input::placeholder{color:var(--muted);opacity:1}select{cursor:pointer}.check{flex-direction:row;align-items:center;gap:8px;font-weight:400}.check input{width:16px;height:16px;accent-color:var(--accent)}details{margin-top:16px;font-size:12px}summary{cursor:pointer;color:var(--accent);font-weight:600;padding:4px 0}.file input{font-size:11px;padding:8px}.source-state{border-top:1px solid var(--line);margin:16px 0 0;padding-top:12px;font-size:12px;color:var(--muted)}.rule-head,.rule-row{display:grid;grid-template-columns:1fr 70px 70px;gap:8px;align-items:center}.rule-head{font-size:12px;margin:16px 0 4px;color:var(--muted)}.rule-head strong{text-align:center}.rule-head strong:last-child{color:var(--blue)}.rule-row{padding:8px 0;border-bottom:1px solid #e8decc}.rule-row label{margin:0;font-size:12px;font-weight:400}.rule-row small{display:block;font-size:11px;color:var(--muted)}.rule-row input{text-align:center;padding:7px 3px}.rule-row input:last-child{color:var(--blue)}.footnote{margin-bottom:0}.pill{font-size:11px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);white-space:nowrap}.table-scroll{max-width:100%;overflow-x:auto;margin:12px 0}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}th{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #e8decc;white-space:nowrap}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}tbody tr:last-child td{border-bottom:0}.compare-table{font-size:14px}.compare-table th:not(:first-child),.compare-table td:not(:first-child){text-align:right}.compare-table td:nth-child(2){color:var(--accent);font-weight:650}.compare-table td:nth-child(3){color:var(--blue);font-weight:650}.compare-table tr.emphasis td{font-size:19px;padding-top:16px;padding-bottom:16px;background:var(--soft)}.compare-table tr.emphasis td:first-child{font-size:14px;padding-left:10px}.compare-table tr.emphasis td:last-child{font-size:13px;padding-right:10px}.empty{text-align:center;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px}.empty-mark{font-family:Georgia,serif;font-size:56px;color:var(--accent);line-height:1;margin-bottom:26px}.empty h2{font-size:24px}.empty>p{color:var(--muted)}.flow{display:flex;gap:12px;align-items:center;margin:25px 0;font-size:12px}.flow span{background:var(--soft);padding:9px 12px;border-radius:6px}.flow b{font-weight:400;color:var(--muted)}#notice:not(:empty){padding:13px 16px;background:#f8edcf;border:1px solid #b89a50;border-radius:8px;margin-bottom:20px;color:#5b4216}#notice.error{background:#fbe8df;color:#882815;border-color:#c4806c}.quality ul{padding-left:18px;color:var(--muted);font-size:12px;margin-bottom:0}.quality li{margin:6px 0}.formula{line-height:2;font-variant-numeric:tabular-nums}.inline-label{margin:0;flex-direction:row;align-items:center;white-space:nowrap;font-weight:400}.inline-label select{width:auto;padding:6px 10px}.period-chart{display:flex;gap:18px;overflow-x:auto;padding:12px 0 20px}.period-column{min-width:70px;flex:1;max-width:140px;text-align:center}.bars{height:85px;display:flex;gap:6px;justify-content:center;align-items:end;border-bottom:1px solid var(--line)}.bar{width:18px;min-height:2px;background:var(--accent);border-radius:3px 3px 0 0}.bar.b{background:var(--blue)}.period-column span{display:block;color:var(--muted);font-size:11px;padding-top:6px}.legend{font-size:11px;color:var(--muted)}.good{color:var(--green)}.bad{color:var(--accent)}.muted{color:var(--muted)}.next-cycle{background:var(--soft);border-radius:8px;padding:12px;font-size:12px;margin-top:14px}.ledger{min-width:680px}footer{color:var(--muted);font-size:11px;text-align:center;padding:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media (max-width:1050px){.workspace{grid-template-columns:285px minmax(0,1fr);gap:16px}.panel{padding:20px}aside .panel{padding:18px}.rule-head,.rule-row{grid-template-columns:1fr 62px 62px}.compare-table{font-size:12px}.intro{align-items:start}.intro>button{white-space:nowrap;font-size:12px}}@media (max-width:760px){.top{padding:15px 18px}.brand{font-size:13px}.brand span,.mode{font-size:11px}main{padding:26px 16px 10px}.intro{display:block;margin-bottom:22px}.intro p{font-size:13px}.intro button{margin-top:10px}.workspace{display:block}aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}.fields{grid-template-columns:1fr}.rule-head,.rule-row{grid-template-columns:1fr 52px 52px;gap:5px}.rule-row input{font-size:13px}.rule-row small,.rule-row label{font-size:11px}.section-head{flex-wrap:wrap}.empty{min-height:350px}.flow{gap:6px}.flow span{padding:8px;font-size:11px}.panel{padding:18px}.compare-table th,.compare-table td{padding-right:8px;padding-left:8px}.compare-table tr.emphasis td{font-size:17px}.compare-table tr.emphasis td:first-child{font-size:12px}}@media (max-width:520px){aside{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}.rule-head,.rule-row{grid-template-columns:1fr 80px 80px}.rule-row label{font-size:12px}.rule-row small{font-size:11px}.empty h2{font-size:21px}.mode{max-width:100px;text-align:right}.compare-table{min-width:420px}}.rules-table td{white-space:normal;vertical-align:top;min-width:180px;line-height:1.8}.rules-table td:first-child{min-width:110px;color:var(--muted)}.rules-table th{vertical-align:top}@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
