/* ============================================================================
   TEMPORARY inline text editor.  Remove this file + editor.js + their tags
   (and assets/content-overrides.json) to disable the feature entirely.
   ========================================================================== */
#boi-editor-dock {
  position: fixed; left: 22px; bottom: 22px; z-index: 9200;
  font-family: "Noto Sans TC","Noto Sans SC",-apple-system,sans-serif;
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
}
.boi-ed-fab {
  display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; border-radius: 40px;
  background: #fff; color: #003464; box-shadow: 0 12px 30px rgba(0,28,66,.22); border: 1px solid #DEE5EE;
  font-size: .86rem; font-weight: 600; letter-spacing: .02em; cursor: pointer; transition: .3s;
}
.boi-ed-fab:hover { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(0,28,66,.28); }
.boi-ed-fab svg { width: 17px; height: 17px; stroke: #34B3A0; fill: none; }
.boi-ed-fab .dot { width: 8px; height: 8px; border-radius: 50%; background: #c4ccd6; }
.boi-editor-on .boi-ed-fab .dot { background: #34B3A0; box-shadow: 0 0 0 4px rgba(52,179,160,.2); }

.boi-ed-panel {
  display: none; width: 268px; background: #fff; border-radius: 12px; padding: 16px;
  box-shadow: 0 20px 50px rgba(0,24,58,.24); border: 1px solid #DEE5EE;
}
.boi-ed-panel.open { display: block; animation: boiEdIn .3s ease; }
@keyframes boiEdIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.boi-ed-panel h5 { margin: 0 0 4px; font-size: .92rem; color: #003464; font-weight: 700; letter-spacing: .02em; }
.boi-ed-panel .hint { font-size: .76rem; color: #5B6B80; line-height: 1.6; margin-bottom: 12px; }
.boi-ed-switch { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: #F5F7FA; border-radius: 8px; margin-bottom: 12px; }
.boi-ed-switch span { font-size: .84rem; font-weight: 600; color: #16202E; }
.boi-toggle { width: 42px; height: 24px; border-radius: 20px; background: #c4ccd6; position: relative; transition: background .3s; flex: none; }
.boi-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .3s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.boi-editor-on .boi-toggle { background: #34B3A0; }
.boi-editor-on .boi-toggle::after { transform: translateX(18px); }
.boi-ed-row { display: flex; gap: 8px; margin-bottom: 8px; }
.boi-ed-btn { flex: 1; padding: 9px 10px; border-radius: 7px; font-size: .78rem; font-weight: 600; cursor: pointer; border: 1px solid #DEE5EE; background: #fff; color: #003464; transition: .25s; text-align: center; }
.boi-ed-btn:hover { border-color: #34B3A0; color: #2A9385; }
.boi-ed-btn.warn:hover { border-color: #d98a8a; color: #b64c4c; }
.boi-ed-status { font-size: .74rem; color: #8A98A9; margin-top: 6px; min-height: 16px; letter-spacing: .02em; }
.boi-ed-status.ok { color: #2A9385; }
.boi-ed-lang { font-size: .72rem; color: #5B6B80; margin-top: 4px; }
.boi-ed-lang b { color: #003464; }

/* editable affordances (only while edit mode on) */
.boi-editor-on [data-i18n], .boi-editor-on [data-i18n-html] { transition: outline .15s, background .15s; border-radius: 3px; }
.boi-editor-on [data-i18n]:hover, .boi-editor-on [data-i18n-html]:hover {
  outline: 1px dashed rgba(52,179,160,.8); outline-offset: 3px; cursor: text;
  background: rgba(52,179,160,.06);
}
.boi-editor-on [contenteditable="true"]:focus {
  outline: 2px solid #34B3A0 !important; outline-offset: 3px; background: rgba(52,179,160,.09);
}
.boi-editor-on [data-boi-edited="1"] { box-shadow: inset 0 -2px 0 rgba(198,161,91,.6); }
@media (max-width: 560px) { .boi-ed-panel { width: 230px; } #boi-editor-dock { left: 12px; bottom: 12px; } }
