:root{--ink:#202a23;--muted:#7c867d;--line:#e3e7dc;--cream:#f6f5ef;--paper:#fffefa;--lime:#d8f27e;--green:#627e4f}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font:14px Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #dce1d5;background:white;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:650;transition:.15s}button:hover{background:#edf4df;border-color:#a9bd92}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #93b64c;outline-offset:2px}a{color:inherit;text-decoration:none}.top{background:#19211d;color:#fff;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px max(28px,calc((100vw - 1500px)/2))}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:850;letter-spacing:.03em}.mark{background:var(--lime);color:#203023;border-radius:10px;display:grid;place-items:center;width:34px;height:34px;font-size:24px;transform:rotate(-7deg)}nav{display:flex;gap:15px;align-items:center;font-size:12px}nav a{color:#c9d4c9}nav a:hover{color:var(--lime)}nav button{color:white;background:transparent;border-color:#455047}nav .primary{background:var(--lime);color:#203023;border-color:var(--lime)}#saveStatus{color:#9eae9c;font-size:11px}main{max-width:1500px;margin:auto;padding:46px 28px 30px}.intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:.19em;color:#809269;font-weight:800}h1{font-size:clamp(30px,3.5vw,48px);line-height:1.2;letter-spacing:-.055em;margin:14px 0}h1 span{color:#7da156}.intro p{color:var(--muted);margin:0;font-size:13px}.actions{display:flex;gap:7px;flex-wrap:wrap}.accent{background:#223127;color:white;border-color:#223127}.accent:hover{background:#3a523e;color:white}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:23px;align-items:start}.content,aside{display:grid;gap:22px;min-width:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;box-shadow:0 9px 35px #23301b05;overflow:hidden}.panel-head{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.panel-head>div{display:flex;align-items:center;gap:10px}.panel-head h2{font-size:14px;margin:0;white-space:nowrap}.step{color:#7d906a;font:600 11px ui-monospace,monospace}.badge{background:#edf2e5;color:#748565;font-size:10px;border-radius:5px;padding:4px 7px;white-space:nowrap}.chart-tabs{display:flex;gap:6px;padding:18px 24px 4px;flex-wrap:wrap}.chart-tabs button{border-color:transparent;background:transparent;color:#83907e}.chart-tabs button.active{background:#eaf1de;color:#334e2c;border-color:#d4e0bd}#chart{padding:10px 16px 0;min-height:300px;overflow:auto}#chart svg{display:block;width:100%;height:auto;min-width:360px}.chart-foot{padding:15px 26px;display:flex;justify-content:space-between;gap:15px;border-top:1px solid #edf0e7;font-size:10px;color:#8b9685}#warning{margin:0;padding:13px 24px;color:#8f5f27;background:#fff4df;font-size:12px;line-height:1.7}.empty{padding:70px 24px;text-align:center;color:#8a9584;line-height:2}.settings{padding:22px}.section-label{font-size:14px;font-weight:750;display:flex;justify-content:space-between;gap:10px;margin-bottom:24px}.section-label span{font-size:9px;letter-spacing:.1em;color:#9aa48d;padding-top:3px}.field{display:block;font-size:11px;font-weight:650;color:#697761;margin:0 0 17px}.field input:not([type=checkbox]),.field select{display:block;width:100%;margin-top:7px;padding:9px 10px;background:#fff;border:1px solid #dce2d4;border-radius:7px;font-size:12px;font-weight:400;color:#354131;min-width:0}.field input[type=color]{height:36px;padding:3px;cursor:pointer}.field input[type=range]{accent-color:#748e4d;padding:0;border:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checks{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.checks label{padding:7px 9px;border:1px solid #dce2d4;border-radius:7px;background:white;font-weight:400;display:flex;align-items:center;gap:5px;max-width:100%;overflow-wrap:anywhere}input[type=checkbox]{accent-color:#6f8e4a}.toggle{display:flex;gap:7px;align-items:center;font-size:11px;color:#63735d;margin:12px 0}.swatches{display:flex;gap:5px;margin:14px 0}.swatches span{height:8px;flex:1;border-radius:4px}.series-colors label{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:10px;margin-top:8px}.series-colors input{width:38px;height:26px;padding:2px;border:1px solid #dce2d4;border-radius:5px;background:white}.privacy{display:flex;gap:12px;padding:0 12px;color:#8b977f}.privacy>span{font-size:24px}.privacy strong{font-size:11px}.privacy p{font-size:10px;line-height:1.8;margin:6px 0}.footnote{font-size:10px;color:#919b88;line-height:1.8;margin:13px 0 0}.data .footnote{margin:12px 23px 20px}#dropZone{border:1px dashed #c4d2b1;background:#f5f8ed;margin:20px 23px 12px;padding:20px;text-align:center;border-radius:9px;color:#577047;font-size:12px;cursor:pointer;line-height:1.8}#dropZone span{display:block;color:#96a08a;font-size:10px}#dropZone.over{background:#e9f4d6;border-color:#6c943f}.import-options{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 23px;font-size:10px;color:#8b9682}.import-options select{max-width:200px;border:1px solid #dce2d4;border-radius:4px;font-size:11px;background:white;padding:4px}.grid-wrap{overflow:auto;max-height:420px;margin:0 23px;border:1px solid var(--line);border-radius:8px}#grid{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}#grid th{position:sticky;top:0;background:#eef2e5;z-index:1}#grid th,#grid td{border-right:1px solid #e4e9db;border-bottom:1px solid #e4e9db;padding:0}#grid th:first-child,#grid td:first-child{min-width:42px;padding:5px;text-align:center;color:#8c9882;font-size:10px}#grid input:not([type=checkbox]){width:100%;min-width:100px;max-width:280px;border:0;background:transparent;padding:11px 12px;font-size:12px}#grid th input{font-weight:750}#grid tr.off{opacity:.45}#grid td.invalid{background:#fff0db}#grid td:last-child{padding:4px}#grid .delete-col{padding:3px 7px;border:0;background:transparent;color:#a1aa97;font-size:12px}#grid th .col-head{display:flex;align-items:center}#grid th .col-head input{min-width:90px}#grid td input:focus{background:#f1f6e7;outline-offset:-2px}.data-actions{display:flex;gap:7px;flex-wrap:wrap;padding:15px 23px 0}.data-actions button{font-size:10px}.danger{color:#aa6554}footer{display:flex;justify-content:center;gap:15px;color:#9aa28e;font-size:10px;padding:40px 0 5px}footer a{margin-left:20px;color:#6d805c}dialog{border:1px solid var(--line);border-radius:17px;padding:25px;width:min(620px,calc(100vw - 32px));color:var(--ink)}dialog::backdrop{background:#14211988;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:20px;margin:0}dialog p{font-size:12px;line-height:1.8;color:#8a9584}dialog textarea{width:100%;padding:13px;border:1px solid #d8e1cc;border-radius:8px;margin:0 0 16px;resize:vertical;font-family:ui-monospace,monospace}#toast{position:fixed;z-index:99;bottom:25px;left:50%;transform:translateX(-50%);background:#233027;color:white;padding:12px 18px;border-radius:9px;opacity:0;pointer-events:none;font-size:12px;max-width:90vw;transition:opacity .2s}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1500px){#chart{padding:16px 25px 0}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 280px}.settings{padding:18px}.panel-head{padding:17px}.top nav{gap:9px}#saveStatus{display:none}}@media(max-width:880px){.workspace{grid-template-columns:1fr}aside{grid-template-columns:1fr 1fr;align-items:start}.privacy{grid-column:1/-1}nav a:nth-child(2){display:none}}@media(max-width:580px){.top{padding:14px;gap:8px;flex-wrap:wrap}.brand{font-size:13px}nav{gap:7px}nav a{font-size:10px}nav button{padding:8px;font-size:10px}main{padding:29px 12px}.intro{display:block}.intro .actions{margin-top:19px}h1{font-size:33px}.intro p{font-size:12px}aside{grid-template-columns:1fr}.panel-head{padding:16px 13px}.panel-head .badge{display:none}.panel-head .actions{gap:4px}.panel-head button{padding:7px;font-size:10px}.chart-tabs{padding:14px 10px 4px;gap:1px}.chart-tabs button{padding:8px 10px;font-size:11px}#chart{padding:8px 0 0}.chart-foot{padding:12px;font-size:9px}#dropZone{margin:15px 12px}.import-options{margin:12px}.grid-wrap{margin:0 12px}.data-actions{padding:13px 12px 0}.data .footnote{margin:13px 12px}.settings{padding:22px}footer{font-size:9px;gap:6px;flex-wrap:wrap}footer a{margin-left:6px}}

.color-choice{display:inline-flex;align-items:center;gap:5px}.color-choice input[type=color]{display:inline-block;width:38px;height:29px;padding:2px;margin:0;border:1px solid #dce2d4;border-radius:5px;background:#fff}.color-choice button{font-size:10px;padding:6px 7px;white-space:nowrap}.common-color{margin-top:5px;padding:5px 9px;font-size:10px;width:100%;background:#f3f7ec;color:#637c4c}.series-colors label{align-items:start}.series-colors label>span:first-child{max-width:125px;padding-top:7px;overflow-wrap:anywhere}#bandSettings{border:1px solid #dce5ce;background:#f7f9f1;border-radius:10px;padding:13px;margin:0 0 20px}#bandSettings .field{margin-bottom:10px}#bandHelp{margin:0 0 12px}.band-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:end;gap:6px;margin-top:10px}.band-row label{font-size:10px;min-width:0;color:#738367}.band-caption{display:block;margin-bottom:5px;line-height:1.5}.bound-input{display:flex;align-items:center;gap:3px}.bound-input input{width:100%;min-width:0;border:1px solid #d5dec8;border-radius:6px;padding:6px;font-size:12px;background:white}.band-row .color-choice{gap:3px}.band-row .color-choice input{width:29px;height:29px}.band-row .color-choice button{padding:6px 4px}.remove-band{padding:5px 2px;height:29px;color:#a57865;border-color:transparent;background:transparent}.band-overflow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0;border-top:1px solid #e2e8d8;padding-top:12px;font-size:11px}.band-overflow>span{overflow-wrap:anywhere}#addBand{width:100%;border-style:dashed;background:#f0f5e7;color:#5d7848;font-size:11px}#bandError{color:#a04c37;font-size:11px;line-height:1.6}#commonColorGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}#commonColorGrid button{display:grid;place-items:center;gap:7px;padding:8px 5px;font-size:10px;font-weight:400}#commonColorGrid button span{display:block;width:100%;height:34px;border:1px solid #25302815;border-radius:6px}@media(max-width:580px){#commonColorGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.strength-picker{display:flex;align-items:center;gap:3px;font-size:9px;color:#748269;white-space:nowrap}.strength-picker input{width:52px;min-width:0;border:1px solid #d5dec8;border-radius:6px;padding:6px 3px;font-size:12px;background:white}.strength-picker span{font-size:9px}#resetSeriesColors{margin-top:12px;width:100%;font-size:10px;background:#f3f7ec}.color-status{margin:-6px 0 20px;padding:9px 11px;background:#f0f5e8;border-radius:7px;color:#6b805a}.field select:disabled{opacity:.5;background:#f0f0eb;cursor:not-allowed}
