.ai-context,.ai-selection-tools,.ai-card{position:fixed;z-index:1000;border:1px solid #d7e3dd;background:#fffefb;color:#233b33;box-shadow:0 14px 50px #153f3226;font:13px/1.5 system-ui,sans-serif;border-radius:14px}
.ai-context[hidden],.ai-selection-tools[hidden],.ai-card[hidden]{display:none!important}
.ai-context{padding:6px;width:230px;max-height:calc(100dvh - 20px);overflow:auto}
.ai-context button{display:block;text-align:left;width:100%;padding:8px 12px;border:0;background:none;color:inherit;border-radius:8px;font:inherit;cursor:pointer}
.ai-context button:not(:disabled):hover,.ai-context button:focus-visible{background:#edf4ee;outline:2px solid #9cb9ad}
.ai-context button:disabled{opacity:.4;cursor:default}.ai-context .ai-menu-primary{color:#175c49;font-weight:650}.ai-context hr{border:0;border-top:1px solid #e6ebe5;margin:4px 8px}
.ai-selection-tools{display:flex;flex-wrap:wrap;max-width:calc(100vw - 24px);box-sizing:border-box;padding:5px;gap:2px;border-radius:11px}
.ai-selection-tools button,.ai-tiers button{border:0;background:none;border-radius:7px;color:inherit;padding:7px 11px;cursor:pointer;font:inherit;white-space:nowrap}
.ai-selection-tools button:not(:disabled):hover{background:#eaf2eb;color:#175c49}.ai-selection-tools button:first-child{font-weight:650}
.ai-selection-tools button:disabled,.ai-context button:disabled{opacity:.4;cursor:not-allowed}
.ai-card{width:390px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;overflow:auto}
.ai-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;font-size:15px}
.ai-close{border:0;background:none;color:#6b7b73;cursor:pointer;font-size:12px}.ai-card textarea,.ai-token{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d8e3dc;border-radius:10px;resize:vertical;background:#fbfcf8;color:#233b33;font:14px/1.6 system-ui,sans-serif}
.ai-card textarea:focus,.ai-token:focus{outline:2px solid #9bb8aa;border-color:#618e79}.ai-card-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.ai-tiers{background:#eef2ec;border:1px solid #e0e6dc;padding:3px;display:flex;border-radius:10px}.ai-tiers button.active{background:white;color:#175c49;box-shadow:0 1px 5px #263f3219;font-weight:650}
.ai-submit{border:0;border-radius:9px;padding:10px 20px;background:#1c5945;color:white;cursor:pointer;font:600 13px system-ui,sans-serif}.ai-submit:disabled{opacity:.55;cursor:wait}.ai-note{font-size:11px;line-height:1.6;color:#6a7b70;margin:13px 0 0}.ai-status,.ai-error{font-size:12px;color:#915c2d;white-space:pre-wrap}.ai-status:empty{display:none}.ai-provider{margin-top:17px;padding-top:14px;border-top:1px solid #e0e7df}.ai-provider h4{margin:0;font-size:13px}.ai-source{padding:10px 0;border-bottom:1px solid #eef1eb}.ai-source a{color:#1d674e;text-decoration:none;font-weight:550}.ai-source a:hover{text-decoration:underline}.ai-source small{display:block;font-size:11px;color:#6a7b70;margin-top:4px}.ai-source-summary{font-size:12px;color:#53685b}.ai-matched-text{margin-top:10px;font-size:12px}.ai-matched-text summary{cursor:pointer}.ai-snippet{max-height:200px;overflow:auto;white-space:pre-wrap;margin-top:8px;line-height:1.8}.ai-snippet mark{background:#ffedb5;border-radius:3px}.ai-field-label{display:block;font-size:12px;margin:16px 0}.ai-token{margin-top:8px}
@media print{.ai-context,.ai-selection-tools,.ai-card{display:none!important}}
.ai-loading{display:flex;align-items:center;gap:9px;color:#53685b}
.ai-loading::before{content:"";display:inline-block;flex:none;width:14px;height:14px;border:2px solid #d7e3dd;border-top-color:#1c5945;border-radius:50%;animation:ai-spin .8s linear infinite}
@keyframes ai-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ai-loading::before{animation:none;border-color:#1c5945 #d7e3dd #d7e3dd}}
.ai-card.ai-comparison-card{width:min(920px,calc(100vw - 24px))}
.ai-check-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:18px;row-gap:14px;margin-top:18px}
.ai-check-panel{min-width:0;display:grid;grid-template-rows:subgrid;grid-row:1 / span 3}.ai-check-panel:first-child{grid-column:1}.ai-check-panel:last-child{grid-column:2}
.ai-check-panel>h4{grid-row:1;margin:0;font-size:14px;color:#175c49}
.ai-check-panel .ai-provider{display:contents}.ai-check-panel .ai-provider>.ai-status,.ai-check-panel .ai-provider>.ai-error{grid-row:2 / span 2;align-self:start}
.ai-check-panel .ai-check-score{grid-row:2}.ai-check-panel .ai-matched-text{grid-row:3;display:flex;flex-direction:column}
.ai-check-score{background:#f0f5ef;border:1px solid #dce7da;border-radius:12px;padding:16px}
.ai-check-score h5,.ai-matched-text h5{margin:0 0 8px;font-size:12px;font-weight:600;color:#53685b}
.ai-score-value{display:block;font-size:30px;line-height:1.25;color:#175c49;font-variant-numeric:tabular-nums}
.ai-score-caution{background:#fff8eb;border-color:#efd9ad}.ai-score-caution .ai-score-value{color:#93601d}
.ai-score-warning{margin:8px 0 0;font-size:12px;font-weight:600;color:#93601d}
.ai-check-panel .ai-matched-text{margin-top:0;min-width:0}.ai-check-panel .ai-snippet{flex:1;min-height:0;max-height:260px;padding:12px;background:#fbfcf8;border:1px solid #e5ebe1;border-radius:9px;overflow-wrap:anywhere}
.ai-check-sources{margin-top:18px;font-size:12px;overflow-wrap:anywhere}.ai-check-sources>summary{cursor:pointer;color:#175c49;font-weight:600}
.ai-check-score>.ai-check-sources{margin-top:12px;padding-top:10px;border-top:1px solid #dce7da}.ai-score-caution>.ai-check-sources{border-top-color:#efd9ad}
.ai-check-actions{margin-top:20px;padding-top:16px;border-top:1px solid #e0e7df}.ai-check-actions .ai-note{margin-top:8px}
.ai-rewrite-control{display:inline-flex;align-items:stretch;max-width:100%;box-sizing:border-box;padding:4px;background:#1c5945;border:1px solid #1c5945;border-radius:12px;gap:4px}
.ai-rewrite-control>.ai-submit{min-width:0;border-radius:8px;padding:10px 14px;text-align:left;line-height:1.4}
.ai-rewrite-control>.ai-submit:disabled{cursor:not-allowed;opacity:.6}
.ai-rewrite-control .ai-tiers{flex:none;align-items:center;align-self:stretch;border:0;border-radius:8px;background:#ffffff18;padding:3px;color:#fff}
.ai-rewrite-control .ai-tiers button{padding:7px 10px}.ai-rewrite-control .ai-tiers button:not(.active):hover{background:#ffffff20}
.ai-rewrite-control button:focus-visible{outline:2px solid #9cb9ad;outline-offset:2px}
.ai-rewrite-status{margin:8px 0 0}
@media(max-width:700px){.ai-check-comparison{grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:18px}.ai-check-panel{grid-column:1!important;grid-row:auto;grid-template-rows:auto auto auto;row-gap:14px}}
@media(max-width:420px){.ai-rewrite-control>.ai-submit{padding:8px;font-size:12px}.ai-rewrite-control .ai-tiers button{padding:7px 6px;font-size:12px}}
.plagiarism-dialog{position:fixed;inset:5vh 3vw;z-index:180;overflow:auto;padding:20px;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid var(--line,#ddd);border-radius:12px;box-shadow:0 12px 80px #0003;font:13px/1.6 system-ui,sans-serif}
.plagiarism-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-20px;background:var(--paper,#fff);padding:8px 0;z-index:1}
.plagiarism-dialog h2{font-size:20px;margin:0}.plagiarism-dialog button{cursor:pointer;border:1px solid var(--line,#ddd);border-radius:6px;padding:6px 12px;background:var(--paper,#fff);color:inherit}
.plagiarism-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plagiarism-results>section{border:1px solid var(--line,#ddd);padding:14px;border-radius:8px;overflow-wrap:anywhere;min-width:0}.plagiarism-results details p{background:#f1f1f1;color:#222;padding:8px;border-radius:4px;white-space:pre-wrap}
.plagiarism-dialog input[type=file]{max-width:100%;margin:12px 0}.plagiarism-dialog div>div>span{overflow-wrap:anywhere}
@media(max-width:850px){.plagiarism-results{grid-template-columns:1fr}.plagiarism-dialog{inset:12px;padding:14px}}

.plagiarism-loading{display:flex;align-items:center;gap:10px}.plagiarism-loading:before{content:"";width:16px;height:16px;border:2px solid #ddd;border-top-color:#333;border-radius:50%;animation:plagiarism-spin .8s linear infinite;flex-shrink:0}@keyframes plagiarism-spin{to{transform:rotate(360deg)}}
