/* AI editor overlay for index.html — reuses the page's theme tokens
   (--surface, --ink, --primary…) so it follows light/dark automatically. */

.aie-acct.is-admin{color:var(--primary);border-color:var(--primary);background:var(--primary-tint);}

/* card decorations */
.aie-pick{background:none;border:none;cursor:pointer;font-size:15px;color:var(--muted-2);padding:2px 4px;transition:color .15s ease;}
.aie-pick:hover{color:var(--primary);}
.aie-pick.active{color:#fff;background:var(--primary);border-radius:6px;}
.aie-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.4px;padding:1px 7px;border-radius:10px;}
.aie-badge--used{background:var(--metro-tint);color:var(--metro);}
.aie-badge--score{background:var(--surface-2);color:var(--muted);cursor:help;}
.aie-badge--score.hi{background:#fef3c7;color:#92400e;}
body.dark .aie-badge--score.hi{background:#3a2a0c;color:#fbbf24;}
.aie-badge--score.mid{background:var(--primary-tint);color:var(--primary);}

/* floating button */
.aie-fab{position:fixed;right:20px;bottom:20px;z-index:60;font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;font-weight:600;
  background:var(--primary);color:#fff;border:none;border-radius:24px;padding:12px 18px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);}
.aie-fab:hover{background:var(--primary-2);}
.aie-fab span{background:#fff;color:var(--primary);border-radius:10px;padding:0 7px;margin-left:4px;font-size:12px;}

/* menu + modal */
.aie-menu{position:absolute;z-index:90;width:240px;background:var(--surface);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);padding:6px;display:flex;flex-direction:column;}
.aie-menu-h{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted-2);text-transform:uppercase;padding:6px 10px;}
.aie-menu button,.aie-menu a{font-family:'IBM Plex Sans',sans-serif;font-size:13px;text-align:left;background:none;border:none;color:var(--ink);
  padding:8px 10px;border-radius:6px;cursor:pointer;text-decoration:none;}
.aie-menu button:hover,.aie-menu a:hover{background:var(--surface-2);}
.aie-overlay{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px;}
.aie-modal{width:100%;max-width:400px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:12px;padding:20px;font-family:'IBM Plex Sans',sans-serif;}
.aie-modal h3{margin:0 0 8px;font-size:16px;}
.aie-modal label{display:block;font-size:12.5px;color:var(--muted);margin:10px 0 4px;}
.aie-modal input,.aie-modal select{width:100%;margin-top:4px;}
.aie-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}

/* shared controls */
.aie-drawer input,.aie-drawer select,.aie-drawer textarea,.aie-modal input,.aie-modal select{
  font-family:'IBM Plex Sans',sans-serif;font-size:13px;background:var(--surface-2);color:var(--ink);
  border:1px solid var(--border);border-radius:7px;padding:7px 10px;box-sizing:border-box;}
.aie-drawer textarea{width:100%;resize:vertical;}
.aie-drawer input:focus,.aie-drawer select:focus,.aie-drawer textarea:focus,.aie-modal input:focus{outline:none;border-color:var(--primary);}
.aie-btn{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;border-radius:8px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--ink);padding:8px 14px;display:inline-flex;align-items:center;gap:6px;}
.aie-btn:hover{border-color:var(--primary);color:var(--primary);}
.aie-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff;}
.aie-btn--primary:hover{background:var(--primary-2);color:#fff;}
.aie-btn--sm{padding:5px 10px;font-size:12px;}
.aie-btn--wide{width:100%;justify-content:center;padding:11px;}
.aie-btn:disabled{opacity:.6;cursor:default;}
.aie-link{background:none;border:none;cursor:pointer;font-size:12px;color:var(--primary);padding:0;}
.aie-danger{color:var(--hsr) !important;}
.aie-muted{color:var(--muted);font-size:12px;}
.aie-err{color:var(--hsr);font-size:12.5px;margin-top:8px;}
.aie-ok{color:var(--metro);font-size:13px;margin-top:10px;line-height:1.5;}
.aie-ok a{color:inherit;}
.aie-pill{display:inline-block;background:var(--primary-tint);color:var(--primary);border-radius:10px;padding:0 8px;font-size:11.5px;font-weight:600;}
.aie-spin{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:aie-rot .7s linear infinite;}
@keyframes aie-rot{to{transform:rotate(360deg);}}

/* drawer */
.aie-drawer{position:fixed;top:0;right:0;z-index:100;height:100vh;height:100dvh;width:min(640px,100vw);background:var(--surface);color:var(--ink);
  border-left:1px solid var(--border);box-shadow:-10px 0 30px rgba(0,0,0,.2);display:flex;flex-direction:column;
  transform:translateX(105%);transition:transform .25s ease;font-family:'IBM Plex Sans',sans-serif;}
.aie-drawer.open{transform:none;}
.aie-drawer-h{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);font-size:15px;}
.aie-x{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;}
.aie-drawer-b{flex:1;overflow:auto;padding:4px 18px 40px;}
.aie-sec{padding:14px 0;border-bottom:1px solid var(--hairline);}
.aie-sec h4{margin:0 0 8px;font-size:13px;font-family:'IBM Plex Mono',monospace;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);}
.aie-sec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.aie-sec-h h4{margin:0;}
.aie-src{border:1px solid var(--border);border-radius:8px;margin-bottom:6px;}
.aie-src summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;font-size:13px;}
.aie-src textarea{border:none;border-top:1px solid var(--border);border-radius:0 0 8px 8px;font-size:12px;}
.aie-n{background:var(--primary);color:#fff;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}
.aie-src-t{flex:1;font-weight:600;min-width:160px;}
.aie-manual{display:flex;gap:6px;margin-top:8px;}
.aie-manual input{flex:1;}
.aie-sugg{margin-top:10px;display:flex;flex-direction:column;gap:4px;}
.aie-sugg-item{text-align:left;background:var(--surface-2);border:1px dashed var(--border);border-radius:7px;color:var(--ink);font-size:12.5px;padding:6px 9px;cursor:pointer;font-family:inherit;}
.aie-sugg-item:hover{border-color:var(--primary);}
.aie-sugg-item b{color:#d97706;}
.aie-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;}
.aie-style{border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-size:13px;}
.aie-style input{position:absolute;opacity:0;pointer-events:none;}
.aie-style span{font-size:11.5px;color:var(--muted);}
.aie-style.on{border-color:var(--primary);background:var(--primary-tint);box-shadow:inset 0 0 0 1px var(--primary);}
.aie-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;}
.aie-row label{flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);}
.aie-block{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);margin:10px 0;}
.aie-block input{width:100%;}

/* result editor */
.aie-titles{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:6px;}
.aie-title{width:100%;font-size:18px !important;font-weight:700;font-family:'Source Serif 4',serif !important;}
.aie-tb{display:flex;flex-wrap:wrap;gap:2px;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;padding:4px;background:var(--surface-2);margin-top:6px;}
.aie-tb button{background:none;border:1px solid transparent;color:var(--ink);border-radius:5px;padding:3px 8px;cursor:pointer;font-size:12.5px;min-width:30px;}
.aie-tb button:hover{border-color:var(--border);background:var(--surface);}
.aie-content{min-height:320px;max-height:60vh;overflow:auto;border:1px solid var(--border);border-radius:0 0 8px 8px;padding:12px 14px;
  font-family:'Source Serif 4',serif;font-size:15px;line-height:1.65;background:var(--bg);}
.aie-content:focus{outline:none;border-color:var(--primary);}
.aie-content h2{font-size:19px;margin:18px 0 6px;}
.aie-content h3{font-size:16.5px;margin:14px 0 6px;}
.aie-content blockquote{border-left:3px solid var(--primary);margin:10px 0;padding:2px 12px;color:var(--muted);}
.aie-content table{border-collapse:collapse;width:100%;font-size:13.5px;}
.aie-content th,.aie-content td{border:1px solid var(--border);padding:5px 8px;text-align:left;}
.aie-html{font-family:'IBM Plex Mono',monospace !important;font-size:12px !important;border-radius:0 0 8px 8px !important;}
.aie-aiedit{display:flex;gap:6px;margin-top:8px;}
.aie-aiedit input{flex:1;}
.aie-sources{background:var(--surface-2);border-left:3px solid var(--primary);border-radius:6px;padding:10px 12px;font-size:12.5px;margin:10px 0;}
.aie-sources ul{margin:6px 0 0 16px;padding:0;}
.aie-sources li{margin-bottom:6px;}
.aie-sources a{color:var(--ink);}
.aie-srcname{width:200px;padding:3px 8px !important;margin-top:3px;}
.aie-pub{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;}

.aie-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:130;max-width:min(560px,calc(100vw - 32px));
  background:var(--surface);color:var(--ink);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;
  padding:10px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:13px;line-height:1.5;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.aie-toast--success{border-left-color:var(--metro);}
.aie-toast--error{border-left-color:var(--hsr);}
.aie-toast--warning{border-left-color:#d97706;}
.aie-toast a{color:var(--primary);}

@media (max-width:640px){
  .aie-fab{right:12px;bottom:12px;padding:10px 14px;}
  .aie-drawer-b{padding:4px 14px 60px;}
}
