@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,Microsoft YaHei,sans-serif;color:#17212b;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#17212b7a;display:flex;align-items:center;justify-content:center;padding:24px}.confirm-dialog{width:min(390px,100%);background:#fff;border-radius:14px;padding:25px;box-shadow:0 20px 70px #00000038}.confirm-dialog h3{font-size:18px;margin:0 0 8px}.confirm-dialog p{color:#71808c;font-size:13px;line-height:1.7}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.drag-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#17212bad;display:flex;align-items:center;justify-content:center;padding:24px}.drag-overlay-card{width:min(440px,100%);border:2px dashed #8fc0ff;border-radius:18px;background:#fff;padding:42px 30px;text-align:center;box-shadow:0 18px 60px #0003}.drag-overlay-card span{display:block;color:#2271e3;font:500 32px DM Mono;margin-bottom:12px}.drag-overlay-card strong{display:block;font-size:20px}.drag-overlay-card small{display:block;margin-top:8px;color:#71808c;font-size:12px}main{max-width:1380px;margin:0 auto;padding:48px 32px 28px}header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.5px;margin-top:8px}h2{font-size:20px;margin-top:5px}.eyebrow,.kicker{font:500 11px DM Mono;letter-spacing:1.4px;color:#71808c}.privacy,.muted,.status,small{color:#71808c;font-size:12px}.privacy{border:1px solid #dae0e5;background:#fff;padding:10px 13px;border-radius:999px}.stats{display:flex;background:#17212b;color:#fff;border-radius:14px;padding:20px 28px;gap:65px;margin-bottom:18px}.stats div{display:flex;gap:12px;align-items:baseline}.stats small{color:#9eabb5}.stats strong{font:500 25px DM Mono}.grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:18px}.panel{background:#fff;border:1px solid #cbd7df;border-radius:14px;padding:24px;box-shadow:0 3px 14px #192b3c05}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.actions{display:flex;gap:6px}button,input,select{font:inherit}button{border:1px solid #c3d0da;background:#fff;color:#44525d;border-radius:7px;padding:8px 11px;cursor:pointer;font-size:12px}button:hover{border-color:#aebbc5;background:#f7f9fa}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:#2271e3;border-color:#2271e3;color:#fff;padding:11px 17px;font-weight:700}.primary:hover{background:#155fc7;border-color:#155fc7}.ghost{background:transparent}.danger{color:#c44b4b}.clear-all{border-color:#d9b5a9;color:#a94f3d;background:#fff8f6;font-weight:600}.clear-all:hover{border-color:#c97964;background:#fff0ec;color:#8f3625}.text-tabs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin-bottom:10px}.text-tab{display:flex;flex-direction:column;gap:3px}.text-tab-toggle{width:100%;padding:4px 2px;border:1px solid #dce3e8;border-radius:5px;background:#f7f9fb;color:#8a979f;font-size:10px;line-height:1.2;cursor:pointer}.text-tab-toggle.enabled{border-color:#a8c8ef;background:#edf5ff;color:#2271e3;font-weight:700}.text-tab-toggle.disabled{border-color:#dce3e8;background:#f7f8f9;color:#9aa5ad}.text-tab-toggle:hover{border-color:#8eb5df;background:#eaf3ff;color:#155fc7}.text-tabs button{padding:7px 4px;border:1px solid #dce3e8;border-radius:6px;background:#f7f9fb;color:#71808c;font-size:11px}.text-tabs button.active{background:#17212b;border-color:#17212b;color:#fff;font-weight:700}textarea{width:100%;height:500px;border:1px solid #8fa4b5;border-radius:0;resize:vertical;padding:16px;font-size:15px;line-height:1.9;color:#0b1722;font-weight:600;background:#f5f8fb;box-shadow:inset 0 1px 3px #17212b14;outline:none}textarea:focus,input:focus,select:focus{outline:2px solid #bcd5fb;border-color:#2271e3}.textarea-shell{display:flex;width:100%;height:300px;min-height:180px;border:2px solid #8fa4b5;border-radius:9px;overflow:hidden;resize:vertical;background:#f5f8fb;box-shadow:inset 0 1px 3px #17212b14}.textarea-shell:focus-within{outline:2px solid #bcd5fb;border-color:#2271e3}.textarea-shell textarea{flex:1;width:100%;height:auto;min-height:0;resize:none;border:0;border-radius:0;box-shadow:none;outline:none;background:transparent;overflow:auto}.toolbar,.csv-controls{display:flex;align-items:center;gap:18px;margin-top:16px}.aggregate-hint{font-size:11px;color:#2271e3;font-weight:600}.toolbar label{font-size:12px;color:#66747e;display:flex;align-items:center;gap:6px}.toolbar input{width:55px;padding:8px;border:1px solid #dce3e8;border-radius:6px}.toolbar select,.csv-controls select{padding:8px;border:1px solid #dce3e8;border-radius:6px;background:#fff}.switches{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid #edf0f2}.switches label{display:inline-flex;align-items:center;gap:7px;font-size:14px}.switches span{color:#9aa5ad;font-size:11px;margin-left:0}.switches input{width:18px;height:18px;margin:0;accent-color:#2271e3}.freq-tabs{display:flex;gap:6px;border-bottom:1px solid #edf0f2;padding-bottom:10px}.freq-tabs button{border-radius:999px;padding:7px 12px}.freq-tabs button.active{background:#17212b;border-color:#17212b;color:#fff}.freq-tabs span{opacity:.65;margin-left:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px;color:#71808c;font-size:12px}.page-jump{display:inline-flex;align-items:center;gap:5px}.page-input{width:48px;padding:6px 5px;border:1px solid #dce3e8;border-radius:6px;text-align:center;font:600 12px DM Mono;color:#17212b}.page-jump button{padding:6px 9px;font-size:11px}.freq{border:1px solid #cbd8e2;border-radius:10px;padding:12px 14px 8px;margin-top:13px;background:#fbfcfd;box-shadow:0 2px 5px #17212b0a}.freq-title{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.freq-title span{color:#9aa5ad}.freq-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto 49px 49px;gap:8px;align-items:center;padding:9px 11px;border:1px solid #cbd8e2;border-radius:8px;margin:7px 0;background:#fff;box-shadow:0 1px 2px #17212b0a}.freq-row em{font:600 12px DM Mono;color:#2271e3;font-style:normal}.freq-row strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.freq-row strong.phrase-term{word-spacing:.42em;letter-spacing:.01em}.freq-row small{font-size:10px;white-space:nowrap}.freq-row .frequency-meta{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:82px;height:30px;padding:6px 7px;border:1px solid #dce6ef;border-radius:7px;background:#f5f8fb;font:700 13px DM Mono;color:#17212b;letter-spacing:-.25px}.frequency-meta b{font-weight:700}.frequency-meta .count-value{color:#155fc7;white-space:nowrap}.frequency-meta .percent-value{color:#087f69;white-space:nowrap}.frequency-meta .meta-divider{color:#9aa5ad;margin:0 3px;font-weight:500}.freq-row button{width:49px;min-width:49px;height:30px;padding:0 2px;font-size:10px;line-height:1.2;text-align:center;white-space:nowrap}.freq-row .term-action{border-radius:8px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.freq-row .main-action{color:#2271e3;border-color:#cfe0f7}.freq-row .other-action{color:#66747e;border-color:#c3d0da}.freq-row .term-action:hover{transform:translateY(-1px)}.freq-row .main-action:hover,.freq-row .main-action.added{background:#dcecff;border-color:#2271e3;color:#0f55b8;box-shadow:inset 0 0 0 1px #2271e3}.freq-row .other-action:hover,.freq-row .other-action.added{background:#e3e8ec;border-color:#66747e;color:#2f3d47;box-shadow:inset 0 0 0 1px #66747e}.freq-row button.added{background:#eaf3ff;color:#2271e3;border-color:#cfe2ff}.terms-panel,.csv-panel{margin-top:18px}.term-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.term-column{border:1px solid #cbd7df;border-radius:10px;padding:15px}.term-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:2px}.term-head .danger{font-size:12px}.term-head h3{font-size:15px}.text-btn{padding:4px 7px;color:#aa5b5b;border:none}.manual{display:flex;gap:7px}.manual input{min-width:0;flex:1;border:1px solid #dce3e8;border-radius:7px;padding:9px 11px;font-size:12px}.term-list{margin-top:10px;min-height:80px;border:1px solid #cbd8e2;border-radius:10px;padding:12px 14px 8px;background:#fbfcfd;box-shadow:0 2px 5px #17212b0a}.term{display:flex;align-items:center;gap:7px;border:1px solid #cbd8e2;border-radius:8px;margin:7px 0;padding:9px 11px;background:#fff;box-shadow:0 1px 2px #17212b0a;font-size:13px}.term .handle{color:#b8c2c9;cursor:grab}.term span:nth-child(2){flex:1}.term button{width:28px;height:28px;padding:0;border:1px solid #d7e0e6;border-radius:6px;color:#60717d;background:#f7f9fa;font-size:13px;line-height:1;cursor:pointer}.term button:hover{border-color:#8eb5df;background:#edf5ff;color:#2271e3}.term .remove{color:#bf5d5d;font-size:17px;background:#fff7f7;border-color:#ead4d4}.term .remove:hover{border-color:#d88787;background:#fff0f0;color:#a83d3d}.empty{text-align:center;color:#9aa6ae;padding:18px;font-size:12px}.empty small{font-size:10px}.csv-actions{display:flex;align-items:center;gap:8px}.upload{background:#edf4ff;color:#2271e3;border-radius:7px;padding:9px 12px;font-size:12px;cursor:pointer;font-weight:700}.upload input{display:none}.csv-controls{justify-content:space-between}.csv-controls label{font-size:12px;color:#66747e;display:flex;align-items:center;gap:8px}.column-picker{margin-top:17px;border:1px solid #cbd7df;border-radius:8px;padding:12px 14px}.column-picker-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.column-picker-head button{padding:4px 8px;font-size:10px;margin-left:5px}.column-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px}.column-options label{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;border:1px solid #dce3e8;border-radius:8px;background:#f8fafb;color:#34424d;font-size:12px;line-height:1.4;cursor:pointer;white-space:normal;overflow-wrap:anywhere;transition:background .15s,border-color .15s,color .15s}.column-options label:hover{border-color:#9db9d3;background:#f1f6fa}.column-options label:has(input:checked){border-color:#8db9ed;background:#eaf3ff;color:#155fc7;font-weight:600}.column-options input{accent-color:#2271e3;flex:0 0 auto}.files{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.file{display:flex;gap:9px;align-items:center;border:1px solid #cbd7df;border-radius:8px;padding:9px 11px;min-width:190px}.file>span{font-size:18px;color:#62a2f5}.file b,.file small{display:block}.file-remove{margin-left:auto;border:0;background:transparent;color:#aab4bc;font-size:18px;line-height:1;padding:2px 5px}.file-remove:hover{background:#fff0f0;color:#bf5d5d}.file b{font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file small{font-size:10px;margin-top:2px}.dropzone{border:1px dashed #cfd8de;border-radius:9px;text-align:center;padding:23px;color:#99a5ad;font-size:12px;margin-top:17px}.status{margin-top:14px}.csv-panel{margin-bottom:22px}footer{text-align:center;color:#9ba6ae;font-size:11px;padding:7px}footer span{margin:0 8px}@media (max-width:980px){main{padding:28px 18px}.grid{grid-template-columns:1fr}.freq-row{grid-template-columns:25px minmax(0,1fr) auto 49px 49px}}@media (max-width:600px){header{display:block}.privacy{display:inline-block;margin-top:15px}.stats{gap:15px;justify-content:space-between;padding:16px}.stats div,.stats strong,.stats small{display:block}.stats strong{margin-top:5px;font-size:19px}.toolbar,.csv-controls{align-items:stretch;flex-wrap:wrap}.term-columns{grid-template-columns:1fr}.freq-row{grid-template-columns:23px minmax(0,1fr) 49px 49px}.freq-row .bar{display:none}.freq-row small{grid-column:3;grid-row:1}.freq-row button{grid-row:1}.panel{padding:18px}}.panel,.privacy,.term-column,.freq,.freq-row,.term,.column-picker,.file,.dropzone{border-color:#aebdca}.text-tabs button:not(:disabled):not(.active),.text-tab-toggle.enabled,.freq-tabs button:not(:disabled):not(.active),button:not(:disabled):not(.primary):not(.clear-all),input:not(:disabled),select:not(:disabled),.term button:not(:disabled),.column-options label{border-color:#aebdca}.text-tab-toggle.disabled,button:disabled,input:disabled,select:disabled{border-color:#dce3e8}.csv-controls{display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(180px,1fr) auto auto;align-items:center;gap:12px}.csv-controls>label:not(.rank-highlight-toggle){display:grid;grid-template-columns:max-content minmax(130px,1fr);align-items:center;gap:10px}.csv-controls>label select{width:100%;min-width:0}.csv-controls .rank-highlight-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap}.csv-controls .rank-highlight-toggle input{width:18px;height:18px;margin:0}.csv-controls>.primary{white-space:nowrap}@media (max-width:980px){.csv-controls{grid-template-columns:1fr 1fr}.csv-controls .rank-highlight-toggle,.csv-controls>.primary{justify-self:start}}@media (max-width:600px){.csv-controls{grid-template-columns:1fr}.csv-controls>label:not(.rank-highlight-toggle){grid-template-columns:max-content minmax(0,1fr)}}
