.gentleland-kb-app{
  --navy:#19283a;
  --navy-soft:#24364b;
  --ink:#2f2a24;
  --muted:#817568;
  --cream:#f5efe5;
  --cream-2:#fbf7f0;
  --paper:#fffdf9;
  --sand:#eadfce;
  --sand-2:#dfcfb8;
  --bronze:#ad7b3f;
  --gold:#c99b58;
  --terracotta:#9a6350;
  --sage:#73806a;
  --green:#55735d;
  --red:#a75555;
  --shadow:0 18px 48px rgba(74,56,35,.12);
  --shadow-soft:0 8px 24px rgba(74,56,35,.08);
}
.gentleland-kb-app *{box-sizing:border-box}
.gentleland-kb-app,.gentleland-kb-app{min-height:100%}
.gentleland-kb-app{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 15% 0%,rgba(201,155,88,.13),transparent 28%),
    radial-gradient(circle at 92% 22%,rgba(154,99,80,.08),transparent 25%),
    var(--cream);
}
.gentleland-kb-app button,.gentleland-kb-app input,.gentleland-kb-app select{font:inherit}
.gentleland-kb-app button{cursor:pointer}
.gentleland-kb-app button:disabled{opacity:.38;cursor:not-allowed}
.gentleland-kb-app .hidden{display:none!important}
.gentleland-kb-app .site-nav{
  height:68px;display:flex;align-items:center;gap:22px;padding:0 30px;
  background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;
  box-shadow:0 6px 24px rgba(25,40,58,.16)
}
.gentleland-kb-app .logo{font-weight:850;font-size:20px;letter-spacing:.1px}
.gentleland-kb-app .logo span{color:#e4bd79}
.gentleland-kb-app .site-link{color:#cdd5dd;text-decoration:none;font-size:14px}
.gentleland-kb-app .site-link:hover,.gentleland-kb-app .site-link.active{color:#fff}
.gentleland-kb-app .spacer{flex:1}
.gentleland-kb-app .role-select{
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;
  border-radius:11px;padding:8px 10px
}
.gentleland-kb-app .role-select option{color:#222}
.gentleland-kb-app .avatar{
  width:35px;height:35px;border-radius:999px;display:grid;place-items:center;
  background:#e1b86f;color:var(--navy);font-weight:900;border:2px solid rgba(255,255,255,.18)
}
.gentleland-kb-app .adminbar{
  min-height:44px;display:flex;align-items:center;gap:8px;padding:6px 30px;
  background:#efe2ce;border-bottom:1px solid #dcc9ad;position:sticky;top:68px;z-index:45;
  color:#574632
}
.gentleland-kb-app .admin-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#7b5c31;margin-right:4px}
.gentleland-kb-app .admin-btn,.gentleland-kb-app .soft-btn{
  border:1px solid #d8c6aa;background:#fff9ef;color:#5a4937;border-radius:9px;padding:7px 10px;font-size:13px
}
.gentleland-kb-app .admin-btn:hover,.gentleland-kb-app .soft-btn:hover{background:#fff3df;border-color:#cdb188}
.gentleland-kb-app .admin-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.gentleland-kb-app .save-feedback{font-size:12px;font-weight:750;display:flex;align-items:center;gap:7px;white-space:nowrap}
.gentleland-kb-app .save-feedback:before{content:"";width:8px;height:8px;border-radius:999px;display:inline-block;background:#b68a50}
.gentleland-kb-app .save-feedback.unsaved{color:#3e6f9c}
.gentleland-kb-app .save-feedback.unsaved:before{background:#4f8fc6}
.gentleland-kb-app .save-feedback.saved{color:#7d6546}
.gentleland-kb-app .save-feedback.saved:before{background:#b68a50}
.gentleland-kb-app .save-btn{min-width:104px;font-weight:850;transition:.15s}
.gentleland-kb-app .save-btn.unsaved{background:#b64040;border-color:#963232;color:#fff;box-shadow:0 4px 12px rgba(150,50,50,.22)}
.gentleland-kb-app .save-btn.saved{background:#e5c992;border-color:#caa66b;color:#4b3620;box-shadow:0 4px 12px rgba(173,123,63,.12)}
.gentleland-kb-app .status-control{display:flex;align-items:center;gap:7px;font-size:12px;color:#806b52;font-weight:750}
.gentleland-kb-app .status-select{border:1px solid #d8c6aa;background:#fff9ef;color:#5a4937;border-radius:9px;padding:7px 9px;font-size:13px;min-width:118px}
.gentleland-kb-app .status-select:disabled{opacity:.55}
.gentleland-kb-app #accessControlsBtn{font-weight:800;background:#fff6e8;border-color:#d1b17e;color:#654a2e}
.gentleland-kb-app #accessControlsBtn:hover{background:#f8e7cb}
.gentleland-kb-app .workspace{display:grid;grid-template-columns:312px minmax(0,1fr);min-height:calc(100vh - 112px)}
.gentleland-kb-app .explorer{
  background:rgba(255,251,244,.84);border-right:1px solid #e2d5c2;
  min-height:calc(100vh - 112px);position:sticky;top:112px;align-self:start;height:calc(100vh - 112px);overflow:auto;
  backdrop-filter:blur(10px)
}
.gentleland-kb-app .explorer-head{padding:18px 18px 13px;border-bottom:1px solid #eadfce}
.gentleland-kb-app .head-row{display:flex;align-items:center;gap:9px}
.gentleland-kb-app .back-btn{
  width:33px;height:33px;border-radius:9px;border:1px solid #ded0bb;background:#fffaf2;color:#655544;font-size:20px
}
.gentleland-kb-app .explorer-title{font-weight:800;font-size:14px;color:#43382d}
.gentleland-kb-app .explorer-subtitle{font-size:12px;color:var(--muted);margin-top:3px}
.gentleland-kb-app .explorer-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:13px}
.gentleland-kb-app .explorer-actions.two{grid-template-columns:1fr 1fr}
.gentleland-kb-app .add-btn{
  border:1px solid #cda969;background:linear-gradient(180deg,#d9b777,#be914f);color:#352514;
  padding:9px 10px;border-radius:10px;font-size:13px;font-weight:850;box-shadow:0 4px 10px rgba(173,123,63,.15)
}
.gentleland-kb-app .add-btn.secondary{background:#fff9ef;border-color:#d9c6a7;color:#69533b;box-shadow:none}
.gentleland-kb-app .search-wrap{padding:12px 18px 0}
.gentleland-kb-app .search-wrap input{
  width:100%;border:1px solid #dfd1bd;background:#fffdf9;color:var(--ink);border-radius:10px;padding:9px 10px;outline:none
}
.gentleland-kb-app .search-wrap input:focus{border-color:#c19a62;box-shadow:0 0 0 3px rgba(193,154,98,.12)}
.gentleland-kb-app .explorer-list{padding:10px 10px 22px}
.gentleland-kb-app .list-label{
  font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9a8b78;font-weight:850;padding:10px 10px 5px
}
.gentleland-kb-app .explorer-row{
  width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);
  text-align:left;padding:10px;border-radius:10px
}
.gentleland-kb-app .explorer-row:hover,.gentleland-kb-app .explorer-row.active{background:#f0e5d5}
.gentleland-kb-app .explorer-icon{
  width:31px;height:31px;border-radius:9px;display:grid;place-items:center;flex:none;
  background:#f4e8d6;border:1px solid #dfcaa9;color:#8a632f;font-size:14px
}
.gentleland-kb-app .maintext{font-size:14px;font-weight:700}
.gentleland-kb-app .subtext{font-size:12px;color:var(--muted);margin-top:2px}
.gentleland-kb-app .chev{margin-left:auto;color:#a3927b}
.gentleland-kb-app .content-stage{min-width:0}
.gentleland-kb-app .breadcrumb-bar{
  min-height:60px;display:flex;align-items:center;padding:0 38px;border-bottom:1px solid #e6d9c7;
  background:rgba(250,245,237,.88);position:sticky;top:112px;z-index:35;backdrop-filter:blur(10px)
}
.gentleland-kb-app .breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.gentleland-kb-app .crumb{border:0;background:transparent;color:#8b7b69;font-size:13px;padding:4px 2px}
.gentleland-kb-app .crumb:hover{color:#4b4035}
.gentleland-kb-app .crumb.current{color:#44372b;font-weight:800}
.gentleland-kb-app .sep{color:#b6a58f}
.gentleland-kb-app .page{max-width:1060px;margin:0 auto;padding:44px 48px 110px}
.gentleland-kb-app .page-shell{
  background:rgba(255,253,249,.72);border:1px solid rgba(224,210,190,.7);border-radius:22px;padding:34px;
  box-shadow:var(--shadow-soft)
}
.gentleland-kb-app .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#9b6b35;font-weight:900}
.gentleland-kb-app .page-title{font-family:Georgia,"Times New Roman",serif;font-size:42px;line-height:1.1;margin:8px 0 10px;color:#3e3328;font-weight:700}
.gentleland-kb-app .page-copy{font-size:16px;line-height:1.7;color:#716456;max-width:760px}
.gentleland-kb-app .block-stack{margin-top:28px}
.gentleland-kb-app .block-row{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;margin:3px 0;border-radius:10px}
.gentleland-kb-app .block-handle{
  opacity:0;width:28px;height:28px;border:0;background:transparent;color:#a18f79;border-radius:7px;font-size:18px;margin-top:2px
}
.gentleland-kb-app .block-row:hover .block-handle,.gentleland-kb-app .block-row.focused .block-handle{opacity:1}
.gentleland-kb-app .block-handle:hover{background:#efe4d4}
.gentleland-kb-app .block{outline:none;border-radius:8px;padding:3px 4px;min-height:30px}
.gentleland-kb-app .block[contenteditable=true]:focus{background:rgba(205,169,105,.07)}
.gentleland-kb-app .block.p{font-size:16px;line-height:1.75;color:#51473d}
.gentleland-kb-app .block.h1{font-family:Georgia,"Times New Roman",serif;font-size:35px;line-height:1.24;font-weight:700;margin:0!important;color:#3b3026}
.gentleland-kb-app .block.h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.3;font-weight:700;margin:0!important;color:#44362a}
.gentleland-kb-app .block.h3{font-size:21px;line-height:1.35;font-weight:800;margin:0!important;color:#4d3c2e}
.gentleland-kb-app .block.quote{border-left:3px solid var(--bronze);padding:10px 15px;background:#f7efe2;color:#6f5d49;font-style:italic}
.gentleland-kb-app .block.callout{padding:14px 16px;border:1px solid #dbc7a8;background:#fff7e9;border-radius:12px;color:#624f3b}
.gentleland-kb-app .block.code{padding:14px;background:#1d2b3b;color:#edf3f7;border-radius:11px;font-family:Consolas,monospace;font-size:13px;white-space:pre-wrap}
.gentleland-kb-app .block.divider{height:24px;padding:11px 0}
.gentleland-kb-app .block.divider:after{content:"";display:block;border-top:1px solid #dccdb8}
.gentleland-kb-app .block.list{padding-left:24px;position:relative}
.gentleland-kb-app .block.list:before{content:"•";position:absolute;left:7px;color:#a06f36}
.gentleland-kb-app .add-line{display:flex;align-items:center;gap:8px;margin:5px 0 5px 38px;opacity:.22;transition:.15s}
.gentleland-kb-app .add-line:hover{opacity:1}
.gentleland-kb-app .add-block{width:26px;height:26px;border:1px solid #dbcaae;background:#fffaf1;color:#8a6a42;border-radius:8px}
.gentleland-kb-app .add-hint{font-size:12px;color:#9b8972}
.gentleland-kb-app .overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:10px}
.gentleland-kb-app .overview-card{
  border:1px solid #e0d1bc;background:linear-gradient(180deg,#fffdf8,#f8f0e4);border-radius:16px;padding:18px;
  box-shadow:0 7px 18px rgba(92,67,38,.06);transition:.16s;cursor:pointer
}
.gentleland-kb-app .overview-card:hover{transform:translateY(-2px);border-color:#cfae7c;box-shadow:0 12px 25px rgba(92,67,38,.10)}
.gentleland-kb-app .card-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#efe0c9;border:1px solid #dcc19a;color:#7f592c;margin-bottom:12px;font-weight:900}
.gentleland-kb-app .card-title{font-weight:850;color:#46392d;margin-bottom:5px}
.gentleland-kb-app .card-desc{font-size:13px;line-height:1.55;color:#81705e}
.gentleland-kb-app .card-meta{font-size:12px;color:#a18d76;margin-top:10px}
.gentleland-kb-app .category-overview-card{cursor:default}
.gentleland-kb-app .category-overview-head{cursor:pointer;border-radius:10px;padding:2px;margin:-2px}
.gentleland-kb-app .category-overview-head:hover .card-title{color:#8e612d}
.gentleland-kb-app .inline-tree{margin-top:13px;padding-top:11px;border-top:1px solid #eadcc8;display:flex;flex-direction:column;gap:2px}
.gentleland-kb-app .inline-node{display:flex;align-items:center;gap:7px;border-radius:8px;padding:5px 7px;color:#6e5e4d;font-size:12.5px;cursor:pointer;min-width:0}
.gentleland-kb-app .inline-node:hover{background:#f1e5d5;color:#4e4033}
.gentleland-kb-app .inline-node.category{font-weight:800;color:#66503a}
.gentleland-kb-app .inline-node.doc{color:#7d6d5b}
.gentleland-kb-app .inline-node-icon{width:17px;flex:none;color:#a36f34;text-align:center}
.gentleland-kb-app .inline-node-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gentleland-kb-app .inline-empty{font-size:12px;color:#a18f79;padding:4px 2px}
.gentleland-kb-app .toc{
  border:1px solid #ddcdb5;background:#fbf5eb;border-radius:14px;padding:16px 18px
}
.gentleland-kb-app .toc-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#8d663a;margin-bottom:10px}
.gentleland-kb-app .toc a{display:block;color:#6c5a47;text-decoration:none;padding:4px 0;font-size:14px}
.gentleland-kb-app .toc a:hover{color:#9f6d31}
.gentleland-kb-app .block-menu{
  position:fixed;z-index:120;width:min(250px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain;
  padding:8px;background:#fffdf8;border:1px solid #d8c6aa;border-radius:13px;box-shadow:0 20px 50px rgba(75,52,28,.18);
  scrollbar-color:#c9a66f #f8efe2;scrollbar-width:thin
}
.gentleland-kb-app .block-menu button{width:100%;border:0;background:transparent;color:#473a2f;text-align:left;padding:9px 10px;border-radius:8px}
.gentleland-kb-app .block-menu button:hover{background:#f2e7d7}
.gentleland-kb-app .hint{display:block;font-size:11px;color:#9a8873;margin-top:1px}
.gentleland-kb-app .selection-toolbar{
  position:fixed;z-index:130;display:flex;max-width:calc(100vw - 20px);gap:5px;padding:5px;background:#26384b;border:1px solid #314a64;border-radius:10px;
  box-shadow:0 12px 30px rgba(25,40,58,.2);overflow-x:auto;overscroll-behavior:contain
}
.gentleland-kb-app .selection-toolbar-group{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.gentleland-kb-app .selection-toolbar .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gentleland-kb-app .selection-toolbar-group + .selection-toolbar-group{border-left:1px solid #42566a;padding-left:5px}
.gentleland-kb-app .selection-toolbar button{min-width:30px;min-height:30px;border:0;background:transparent;color:#fff;border-radius:6px;padding:5px 8px}
.gentleland-kb-app .selection-toolbar button:hover{background:#354b63}
.gentleland-kb-app .selection-toolbar button.is-active{background:#48647e;color:#fff}
.gentleland-kb-app .selection-toolbar-select select{
  height:30px;min-width:66px;border:1px solid #52687d;border-radius:6px;background:#1c2c3d;color:#fff;padding:0 6px;font-size:12px
}
.gentleland-kb-app .selection-toolbar-color{
  position:relative;display:grid;width:30px;height:30px;place-items:center;border-radius:6px;color:#fff;font-weight:700;cursor:pointer
}
.gentleland-kb-app .selection-toolbar-color:hover{background:#354b63}
.gentleland-kb-app .selection-toolbar-color span{position:relative;z-index:1;pointer-events:none}
.gentleland-kb-app .selection-toolbar-color input{
  position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer
}
.gentleland-kb-app .selection-toolbar-color::after{
  content:"";position:absolute;right:6px;bottom:4px;left:6px;height:3px;border-radius:3px;background:var(--rte-color,#f56f61);pointer-events:none
}
.gentleland-kb-app .selection-toolbar .selection-toolbar-highlight span{padding:1px 3px;background:#fff1a8;color:#26384b;border-radius:2px}
.gentleland-kb-app .selection-toolbar .selection-toolbar-highlight.is-active{background:#fff1a8}
.gentleland-kb-app .selection-toolbar .selection-toolbar-highlight.is-active span{background:#26384b;color:#fff1a8}
.gentleland-kb-app .access-modal{position:fixed;inset:0;background:rgba(28,24,19,.48);display:grid;place-items:center;z-index:200;padding:22px}
.gentleland-kb-app .access-panel{width:min(920px,96vw);max-height:88vh;overflow:auto;background:#fffaf2;border:1px solid #dbc8ab;border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.gentleland-kb-app .modal-head{display:flex;align-items:flex-start;gap:16px}
.gentleland-kb-app .modal-head h2{margin:0 0 4px;font-family:Georgia,serif;color:#44362a}
.gentleland-kb-app .access-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}
.gentleland-kb-app .rule-card{border:1px solid #ddcdb5;border-radius:13px;padding:14px;background:#fffdf9}
.gentleland-kb-app .rule-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eadfce}
.gentleland-kb-app .rule-row:last-child{border-bottom:0}
.gentleland-kb-app .switch{appearance:none;width:42px;height:22px;border-radius:999px;background:#c3b7a7;position:relative}
.gentleland-kb-app .switch:after{content:"";position:absolute;width:18px;height:18px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.15s}
.gentleland-kb-app .switch:checked{background:#b58246}
.gentleland-kb-app .switch:checked:after{left:22px}
.gentleland-kb-app .access-blocked{text-align:center;padding:70px 24px;border:1px solid #ddc5c5;background:#fff5f5;border-radius:16px}
.gentleland-kb-app .access-blocked h2{color:#8e4949}
.gentleland-kb-app .toast{position:fixed;right:24px;bottom:24px;z-index:150;background:#24364b;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.18s}
.gentleland-kb-app .toast.show{opacity:1;transform:none}
@media(max-width:950px){.gentleland-kb-app .workspace{grid-template-columns:260px minmax(0,1fr)}
.gentleland-kb-app .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gentleland-kb-app .adminbar{flex-wrap:wrap}
.gentleland-kb-app .admin-right{width:100%;justify-content:flex-end;margin-left:0}
.gentleland-kb-app .status-control{margin-left:0}
.gentleland-kb-app .workspace{grid-template-columns:1fr}
.gentleland-kb-app .explorer{position:relative;top:auto;height:auto;min-height:0;border-right:0;border-bottom:1px solid #e2d5c2}
.gentleland-kb-app .page{padding:28px 18px 80px}
.gentleland-kb-app .page-shell{padding:22px}
.gentleland-kb-app .overview-grid{grid-template-columns:1fr}
.gentleland-kb-app .site-link{display:none}
.gentleland-kb-app .page-title{font-size:34px}}
.gentleland-kb-app .overview-depth-select{border:1px solid #d6c2a2;background:#fffaf2;color:#5f4b36;border-radius:8px;padding:5px 8px;font-size:12px;outline:none}
.gentleland-kb-app .overview-depth-select:focus{border-color:#bd9258;box-shadow:0 0 0 3px rgba(189,146,88,.12)}
.gentleland-kb-app .save-cluster{position:relative;display:flex;align-items:center}
.gentleland-kb-app .save-split{display:flex;align-items:stretch}
.gentleland-kb-app .save-split #saveBtn{border-radius:9px 0 0 9px;border-right:0}
.gentleland-kb-app .save-menu-btn{
  min-width:32px;border-radius:0 9px 9px 0!important;padding:7px 8px!important;
  border-left:1px solid rgba(255,255,255,.28)!important
}
.gentleland-kb-app .save-menu{
  position:absolute;right:0;top:calc(100% + 7px);z-index:170;width:225px;
  padding:7px;background:#fffaf2;border:1px solid #d7c4a7;border-radius:11px;
  box-shadow:0 16px 38px rgba(69,48,27,.18)
}
.gentleland-kb-app .save-menu button{
  width:100%;border:0;background:transparent;color:#554332;text-align:left;
  padding:9px 10px;border-radius:8px;font-size:13px
}
.gentleland-kb-app .save-menu button:hover:not(:disabled){background:#f1e4d1}
.gentleland-kb-app .save-menu button:disabled{opacity:.42;cursor:not-allowed}
.gentleland-kb-app .save-menu .danger-action{color:#9a4e4e}
.gentleland-kb-app .autosave-control{
  display:flex;align-items:center;gap:6px;color:#6f5b45;font-size:12px;
  padding:0 4px;user-select:none
}
.gentleland-kb-app .autosave-control input{accent-color:#b57e42}
.gentleland-kb-app .unsaved-modal{
  position:fixed;inset:0;z-index:260;display:grid;place-items:center;
  background:rgba(35,29,22,.5);padding:22px
}
.gentleland-kb-app .unsaved-dialog{
  width:min(470px,94vw);background:#fffaf2;border:1px solid #d9c6aa;
  border-radius:17px;padding:22px;box-shadow:0 24px 70px rgba(65,45,25,.24)
}
.gentleland-kb-app .unsaved-dialog h2{margin:0 0 8px;font-family:Georgia,serif;color:#44362a}
.gentleland-kb-app .unsaved-dialog p{margin:0;color:#796955;line-height:1.55;font-size:14px}
.gentleland-kb-app .unsaved-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}
.gentleland-kb-app .unsaved-actions button{
  border:1px solid #d4c0a3;background:#fff8ed;color:#5b4733;border-radius:9px;
  padding:9px 12px;font-size:13px;font-weight:750
}
.gentleland-kb-app .unsaved-actions button.primary{
  background:#bd8b4b;border-color:#bd8b4b;color:#fffaf2
}
.gentleland-kb-app .unsaved-actions button.discard{color:#984d4d}
/* v10: admin-facing UI is deliberately darker than the public frontend */
.gentleland-kb-app .adminbar{
  background:#172433;
  border-bottom-color:#2b4056;
  color:#e6edf3;
  box-shadow:0 5px 18px rgba(25,40,58,.16)
}
.gentleland-kb-app .admin-label{color:#ddb978}
.gentleland-kb-app .admin-btn,.gentleland-kb-app .soft-btn{
  border-color:#344a61;
  background:#203247;
  color:#edf3f8
}
.gentleland-kb-app .admin-btn:hover,.gentleland-kb-app .soft-btn:hover{
  background:#293e54;
  border-color:#48647f
}
.gentleland-kb-app .admin-right{color:#e5edf4}
.gentleland-kb-app .save-feedback.saved{color:#dbc18e}
.gentleland-kb-app .save-feedback.saved:before{background:#c79a52}
.gentleland-kb-app .save-feedback.unsaved{color:#9bc7ec}
.gentleland-kb-app .save-feedback.unsaved:before{background:#65a4d8}
.gentleland-kb-app .save-btn.saved{
  background:#8d693d;
  border-color:#a77b44;
  color:#fff4df;
  box-shadow:0 4px 12px rgba(0,0,0,.15)
}
.gentleland-kb-app .save-btn.unsaved{
  background:#b64040;
  border-color:#d05a5a;
  color:#fff;
  box-shadow:0 4px 12px rgba(120,24,24,.28)
}
.gentleland-kb-app .status-control{color:#c5d2dc}
.gentleland-kb-app .status-select{
  border-color:#3d536a;
  background:#203247;
  color:#edf3f8
}
.gentleland-kb-app #accessControlsBtn{
  background:#2b4056;
  border-color:#56718c;
  color:#f0f5f8
}
.gentleland-kb-app #accessControlsBtn:hover{background:#354c64}
.gentleland-kb-app .autosave-control{color:#c4d0da}
/* Admin-only block setting */
.gentleland-kb-app .overview-depth-select{
  border-color:#435d76;
  background:#24364b;
  color:#f2f6f9
}
.gentleland-kb-app .overview-depth-select:focus{
  border-color:#7395b5;
  box-shadow:0 0 0 3px rgba(115,149,181,.16)
}
/* Save options are admin UI too */
.gentleland-kb-app .save-menu{
  background:#19283a;
  border-color:#344d66;
  box-shadow:0 18px 44px rgba(12,22,32,.28)
}
.gentleland-kb-app .save-menu button{color:#e8eef3}
.gentleland-kb-app .save-menu button:hover:not(:disabled){background:#263a50}
.gentleland-kb-app .save-menu .danger-action{color:#f0a6a6}
/* Access Controls is an admin surface */
.gentleland-kb-app .access-modal{background:rgba(9,15,22,.64)}
.gentleland-kb-app .access-panel{
  background:#172433;
  border-color:#324a62;
  color:#edf3f8
}
.gentleland-kb-app .access-panel .modal-head h2{color:#f4f0e8}
.gentleland-kb-app .access-panel #accessDescription{color:#b6c4cf!important}
.gentleland-kb-app .access-panel .rule-card{
  background:#1d2d3f;
  border-color:#334c64
}
.gentleland-kb-app .access-panel .rule-row{border-bottom-color:#30465d}
.gentleland-kb-app .access-panel .access-note{
  border-color:#354e66;
  background:#1b2a3b;
  color:#bcc8d2
}
.gentleland-kb-app .access-grid-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px 84px;
  gap:8px;
  align-items:center;
  padding:10px 0 8px;
  color:#93a8ba;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  border-bottom:1px solid #30465d
}
.gentleland-kb-app .access-grid-head.root{
  grid-template-columns:minmax(0,1fr) 110px
}
.gentleland-kb-app .access-permission-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px 84px;
  gap:8px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #30465d
}
.gentleland-kb-app .access-permission-row.root{
  grid-template-columns:minmax(0,1fr) 110px
}
.gentleland-kb-app .access-permission-row:last-child{border-bottom:0}
.gentleland-kb-app .access-role-name{font-weight:750;color:#eef3f7}
.gentleland-kb-app .access-role-note{font-size:11px;color:#9aafc0;margin-top:2px}
.gentleland-kb-app .access-role-note.blocked{color:#e49b9b}
.gentleland-kb-app .access-toggle-cell{
  display:flex;
  align-items:center;
  justify-content:center
}
.gentleland-kb-app .access-panel .switch{background:#4a5d70}
.gentleland-kb-app .access-panel .switch:checked{background:#b68449}
/* Unsaved warning belongs to the admin editing flow */
.gentleland-kb-app .unsaved-modal{background:rgba(8,14,20,.66)}
.gentleland-kb-app .unsaved-dialog{
  background:#172433;
  border-color:#334c64;
  color:#edf3f8
}
.gentleland-kb-app .unsaved-dialog h2{color:#f2eee7}
.gentleland-kb-app .unsaved-dialog p{color:#bac7d1}
.gentleland-kb-app .unsaved-actions button{
  border-color:#3b536a;
  background:#203247;
  color:#edf3f8
}
.gentleland-kb-app .unsaved-actions button:hover{background:#293e54}
.gentleland-kb-app .unsaved-actions button.primary{
  background:#9a713f;
  border-color:#b4854d;
  color:#fff7e9
}
.gentleland-kb-app .unsaved-actions button.discard{color:#f0aaaa}
.gentleland-kb-app .search-result-path{
  font-size:11px;
  color:#9b8871;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.gentleland-kb-app .search-result-type{
  display:inline-block;
  margin-right:5px;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#9a6b35
}
.gentleland-kb-app .search-empty{
  padding:22px 12px;
  color:#9b8972;
  font-size:13px;
  text-align:center
}
.gentleland-kb-app .search-snippet{
  margin-top:6px;
  font-size:12px;
  line-height:1.5;
  color:#756654;
  white-space:normal;
}
.gentleland-kb-app .search-highlight{
  background:#f0cf91;
  color:#49351d;
  border-radius:3px;
  padding:0 2px;
  font-weight:800;
}
.gentleland-kb-app .explorer-item-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px;
  align-items:center;
}
.gentleland-kb-app .explorer-item-wrap .explorer-row{min-width:0}
.gentleland-kb-app .explorer-more{
  width:31px;height:31px;border:0;background:transparent;color:#8e7d69;
  border-radius:8px;font-size:18px;line-height:1
}
.gentleland-kb-app .explorer-more:hover{background:#eadfce;color:#594737}
.gentleland-kb-app .explorer-action-menu{
  position:fixed;z-index:180;width:185px;padding:7px;
  background:#19283a;border:1px solid #344d66;border-radius:11px;
  box-shadow:0 18px 44px rgba(12,22,32,.28)
}
.gentleland-kb-app .explorer-action-menu button{
  width:100%;border:0;background:transparent;color:#edf3f8;text-align:left;
  padding:9px 10px;border-radius:8px;font-size:13px
}
.gentleland-kb-app .explorer-action-menu button:hover{background:#263a50}
.gentleland-kb-app .explorer-action-menu .danger{color:#f0a6a6}
.gentleland-kb-app .delete-modal{
  position:fixed;inset:0;z-index:280;display:grid;place-items:center;
  padding:22px;background:rgba(8,14,20,.68)
}
.gentleland-kb-app .delete-dialog{
  width:min(500px,94vw);background:#172433;border:1px solid #344d66;
  border-radius:17px;padding:22px;color:#edf3f8;box-shadow:0 24px 70px rgba(8,14,20,.34)
}
.gentleland-kb-app .delete-dialog h2{margin:0 0 8px;color:#f4f0e8;font-family:Georgia,serif}
.gentleland-kb-app .delete-dialog p{margin:0;color:#b9c6d1;font-size:14px;line-height:1.6}
.gentleland-kb-app .delete-summary{
  margin-top:14px;padding:11px 13px;border:1px solid #3a526a;
  border-radius:10px;background:#1d2d3f;color:#c9d5de;font-size:13px
}
.gentleland-kb-app .delete-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.gentleland-kb-app .delete-actions button{
  border:1px solid #3b536a;background:#203247;color:#edf3f8;
  border-radius:9px;padding:9px 12px;font-size:13px;font-weight:750
}
.gentleland-kb-app .delete-actions button:hover{background:#293e54}
.gentleland-kb-app .delete-actions .danger{
  background:#8e4c4c;border-color:#a85d5d;color:#fff
}
/* v16 granular permission matrix */
.gentleland-kb-app .access-panel .rule-card{overflow-x:auto}
.gentleland-kb-app .access-grid-head.permissions,.gentleland-kb-app .access-permission-row.permissions{
  grid-template-columns:minmax(145px,1fr) repeat(7,74px);
  min-width:710px;
}
.gentleland-kb-app .access-grid-head.document-permissions,.gentleland-kb-app .access-permission-row.document-permissions{
  grid-template-columns:minmax(145px,1fr) repeat(5,78px);
  min-width:545px;
}
.gentleland-kb-app .access-grid-head.root-permissions,.gentleland-kb-app .access-permission-row.root-permissions{
  grid-template-columns:minmax(145px,1fr) repeat(3,92px);
  min-width:470px;
}
.gentleland-kb-app .permission-na{
  text-align:center;
  color:#70869a;
  font-size:12px;
}
.gentleland-kb-app .permission-help{
  margin-top:8px;
  color:#9eb0bf;
  font-size:12px;
  line-height:1.5
}
.gentleland-kb-app .status-select option:disabled{color:#888}
/* v17 drag/reorder + simplified admin save controls */
.gentleland-kb-app .explorer-item-wrap{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:3px
}
.gentleland-kb-app .explorer-item-wrap .explorer-row{
  flex:1;
  min-width:0
}
.gentleland-kb-app .explorer-drag-handle{
  width:27px;
  height:31px;
  flex:none;
  border:0;
  background:transparent;
  color:#9d8a74;
  border-radius:8px;
  display:grid;
  place-items:center;
  cursor:grab;
  font-size:15px;
  letter-spacing:-2px;
  user-select:none
}
.gentleland-kb-app .explorer-drag-handle:hover{
  background:#eadfce;
  color:#5f4c39
}
.gentleland-kb-app .explorer-drag-handle:active{cursor:grabbing}
.gentleland-kb-app .explorer-item-wrap.dragging{opacity:.46}
.gentleland-kb-app .explorer-item-wrap.drag-before{
  box-shadow:inset 0 2px 0 #b47f43
}
.gentleland-kb-app .explorer-item-wrap.drag-after{
  box-shadow:inset 0 -2px 0 #b47f43
}
.gentleland-kb-app .save-menu-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:9px 10px;
  border-radius:8px;
  color:#e8eef3;
  cursor:pointer
}
.gentleland-kb-app .save-menu-toggle:hover{background:#263a50}
.gentleland-kb-app .save-menu-toggle span{display:flex;flex-direction:column;gap:1px}
.gentleland-kb-app .save-menu-toggle strong{font-size:13px}
.gentleland-kb-app .save-menu-toggle small{font-size:10px;color:#9fb0bf;font-weight:500}
.gentleland-kb-app .save-menu-toggle input{
  width:16px;height:16px;
  accent-color:#b68449;
  flex:none
}
.gentleland-kb-app .save-menu-divider{
  height:1px;
  background:#344a61;
  margin:5px 7px
}
/* Move means reorder immediate children of the current container. */
.gentleland-kb-app .access-grid-head.permissions,.gentleland-kb-app .access-permission-row.permissions{
  grid-template-columns:minmax(145px,1fr) repeat(7,74px);
  min-width:706px
}
.gentleland-kb-app .access-grid-head.root-permissions,.gentleland-kb-app .access-permission-row.root-permissions{
  grid-template-columns:minmax(145px,1fr) repeat(4,88px);
  min-width:560px
}
/* v19 simplified permission model */
.gentleland-kb-app .access-grid-head.permissions,.gentleland-kb-app .access-permission-row.permissions,.gentleland-kb-app .access-grid-head.document-permissions,.gentleland-kb-app .access-permission-row.document-permissions{
  grid-template-columns:minmax(165px,1fr) repeat(5,116px);
  min-width:745px
}
.gentleland-kb-app .access-grid-head.root-permissions,.gentleland-kb-app .access-permission-row.root-permissions{
  grid-template-columns:minmax(175px,1fr) 150px 160px;
  min-width:520px
}
.gentleland-kb-app .admin-permission-row{
  background:rgba(201,155,88,.08);
  border-radius:9px;
  padding-left:7px!important;
  padding-right:7px!important
}
.gentleland-kb-app .admin-lock-note{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:3px;
  color:#d8b777;
  font-size:11px;
  font-weight:750
}
.gentleland-kb-app .permission-explainer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 16px;
  margin:12px 0 2px;
  padding:12px 14px;
  border:1px solid #354e66;
  background:#1b2a3b;
  border-radius:11px;
  color:#bfcbd4;
  font-size:12px;
  line-height:1.45
}
.gentleland-kb-app .permission-explainer strong{color:#eef3f7}
@media(max-width:760px){.gentleland-kb-app .permission-explainer{grid-template-columns:1fr}}
/* v24 role simulation */
.gentleland-kb-app .simulate-control{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 7px 4px 10px;
  border:1px solid #3a526a;
  background:#203247;
  border-radius:9px;
  color:#cbd6df;
  font-size:11px;
  font-weight:750;
  white-space:nowrap
}
.gentleland-kb-app .simulate-control span{opacity:.86}
.gentleland-kb-app .simulate-role-select{
  height:29px;
  max-width:150px;
  border:1px solid #425e78;
  background:#172637;
  color:#eef3f7;
  border-radius:7px;
  padding:0 27px 0 9px;
  font-size:12px;
  font-weight:750
}
.gentleland-kb-app .simulate-role-select:focus{
  outline:2px solid rgba(191,145,81,.35);
  outline-offset:1px
}
.gentleland-kb-app .simulation-active{
  border-color:#b1844d;
  box-shadow:inset 0 0 0 1px rgba(177,132,77,.18)
}
/* v25 compact publication dropdown */
.gentleland-kb-app .status-control{
  gap:0!important;
  padding-left:0!important;
}
.gentleland-kb-app .status-control > span{display:none!important}
/* v26 block controls + safe block conversion */
.gentleland-kb-app .block-row{
  grid-template-columns:30px minmax(0,1fr);
}
.gentleland-kb-app .block-control-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  padding-top:2px
}
.gentleland-kb-app .block-handle,.gentleland-kb-app .block-settings-btn{
  opacity:0;
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  color:#a18f79;
  border-radius:7px;
  line-height:1;
  transition:.12s
}
.gentleland-kb-app .block-handle{
  font-size:18px;
  margin-top:0
}
.gentleland-kb-app .block-settings-btn{
  font-size:14px;
}
.gentleland-kb-app .block-row:hover .block-handle,.gentleland-kb-app .block-row:hover .block-settings-btn,.gentleland-kb-app .block-row.focused .block-handle,.gentleland-kb-app .block-row.focused .block-settings-btn{
  opacity:1
}
.gentleland-kb-app .block-handle:hover,.gentleland-kb-app .block-settings-btn:hover{
  background:#efe4d4;
  color:#684f35
}
.gentleland-kb-app .block-settings-btn:disabled,.gentleland-kb-app .block-handle:disabled{
  opacity:0!important
}
.gentleland-kb-app .block-settings-popover{
  position:fixed;
  z-index:190;
  width:min(470px,calc(100vw - 24px));
  max-height:min(620px,calc(100vh - 130px));
  overflow:auto;
  background:#182738;
  color:#edf3f7;
  border:1px solid #36506a;
  border-radius:14px;
  box-shadow:0 22px 60px rgba(6,15,24,.34);
  padding:16px
}
.gentleland-kb-app .block-settings-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:2px 2px 11px;
  border-bottom:1px solid #31485f;
  cursor:grab;
  user-select:none;
  touch-action:none
}
.gentleland-kb-app .block-settings-head.is-dragging{cursor:grabbing}
body.glkb-block-settings-dragging{user-select:none;cursor:grabbing}
.gentleland-kb-app .block-settings-head strong{
  display:block;
  font-size:14px
}
.gentleland-kb-app .block-settings-head small{
  display:block;
  margin-top:2px;
  color:#9eafbd;
  font-size:11px
}
.gentleland-kb-app .block-settings-close{
  width:28px;height:28px;border:0;border-radius:7px;cursor:pointer;
  background:transparent;color:#b9c7d2;font-size:18px
}
.gentleland-kb-app .block-settings-close:hover{background:#25394e}
.gentleland-kb-app .block-settings-section{
  padding:12px 2px 2px
}
.gentleland-kb-app .block-settings-section + .block-settings-section{
  border-top:1px solid #2d4359;
  margin-top:10px
}
.gentleland-kb-app .block-settings-section-title{
  margin-bottom:9px;
  color:#d8b77d;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em
}
.gentleland-kb-app .block-setting-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(120px,150px);
  gap:12px;
  align-items:center;
  margin:8px 0
}
.gentleland-kb-app .block-setting-row label{
  color:#c8d3dc;
  font-size:12px;
  line-height:1.35
}
.gentleland-kb-app .block-setting-row select,.gentleland-kb-app .block-setting-row input[type="text"],.gentleland-kb-app .block-setting-row input[type="number"]{
  width:100%;
  min-width:0;
  height:32px;
  border:1px solid #3d5871;
  background:#102031;
  color:#eef3f7;
  border-radius:8px;
  padding:0 9px;
  font-size:12px
}
.gentleland-kb-app .block-setting-row input[type="checkbox"]{
  justify-self:end;
  width:17px;height:17px;
  accent-color:#b9854c
}
.gentleland-kb-app .block-setting-note{
  color:#8fa3b3;
  font-size:11px;
  line-height:1.5;
  margin-top:7px
}
.gentleland-kb-app .block-setting-empty{
  color:#9dafbc;
  font-size:12px;
  line-height:1.55;
  padding:9px 2px 4px
}
/* Block-level layout settings */
.gentleland-kb-app .block-row[data-block-spacing="compact"]{margin-top:0;margin-bottom:0}
.gentleland-kb-app .block-row[data-block-spacing="large"]{margin-top:16px;margin-bottom:16px}
.gentleland-kb-app .overview-grid[data-columns="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}
.gentleland-kb-app .overview-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.gentleland-kb-app .overview-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.gentleland-kb-app .overview-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.gentleland-kb-app .overview-grid[data-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.gentleland-kb-app .overview-grid[data-columns="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
.gentleland-kb-app .overview-grid[data-gap="compact"]{gap:8px}
.gentleland-kb-app .overview-grid[data-gap="normal"]{gap:15px}
.gentleland-kb-app .overview-grid[data-gap="spacious"]{gap:24px}
.gentleland-kb-app .overview-grid.hide-card-icons .card-icon{display:none}
/* Typed block-change confirmation */
.gentleland-kb-app .block-change-modal{
  position:fixed;
  inset:0;
  z-index:320;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(7,13,20,.72)
}
.gentleland-kb-app .block-change-dialog{
  width:min(520px,94vw);
  background:#172536;
  color:#edf3f7;
  border:1px solid #3b5670;
  border-radius:16px;
  padding:22px;
  box-shadow:0 26px 80px rgba(4,11,18,.42)
}
.gentleland-kb-app .block-change-dialog h2{
  margin:0 0 8px;
  color:#f4eee4;
  font-family:Georgia,serif;
  font-size:22px
}
.gentleland-kb-app .block-change-dialog p{
  margin:0;
  color:#b9c7d2;
  font-size:13px;
  line-height:1.6
}
.gentleland-kb-app .block-change-warning{
  margin:14px 0;
  padding:11px 12px;
  border:1px solid #644b44;
  background:#2c2426;
  border-radius:10px;
  color:#e3c2b9;
  font-size:12px;
  line-height:1.55
}
.gentleland-kb-app .block-change-confirm-label{
  display:block;
  margin:13px 0 6px;
  color:#c9d5de;
  font-size:12px
}
.gentleland-kb-app .block-change-confirm-label code{
  color:#efd29c;
  font-family:Consolas,monospace
}
.gentleland-kb-app .block-change-input{
  width:100%;
  height:38px;
  border:1px solid #49657d;
  background:#0e1c2b;
  color:#fff;
  border-radius:9px;
  padding:0 11px;
  font-size:13px
}
.gentleland-kb-app .block-change-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:18px
}
.gentleland-kb-app .block-change-actions button{
  border:1px solid #3d5871;
  background:#21364a;
  color:#edf3f7;
  border-radius:9px;
  padding:9px 13px;
  font-size:13px;
  font-weight:750
}
.gentleland-kb-app .block-change-actions .confirm{
  background:#8b5548;
  border-color:#a46555
}
.gentleland-kb-app .block-change-actions .confirm:disabled{
  opacity:.38;
  cursor:not-allowed
}
/* v27 keep block controls reachable at every width */
.gentleland-kb-app .block-row{
  position:relative;
  overflow:visible;
}
.gentleland-kb-app .block-control-stack{
  position:relative;
  z-index:30;
  align-self:start;
}
.gentleland-kb-app .block-row > .block{
  position:relative;
  z-index:1;
  min-width:0;
}
/* Controls remain interactive even if a wide block visually approaches them. */
.gentleland-kb-app .block-handle,.gentleland-kb-app .block-settings-btn{
  position:relative;
  z-index:31;
  pointer-events:auto;
}
/* v28 per-card icon picker */
.gentleland-kb-app .card-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:7px;
}
.gentleland-kb-app .block-icon-list{
  display:flex;
  flex-direction:column;
  gap:10px
}
.gentleland-kb-app .block-icon-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  grid-template-areas:
    "preview info actions"
    "size size size";
  align-items:center;
  gap:10px 12px;
  padding:12px;
  border:1px solid #30495f;
  background:#142334;
  border-radius:12px
}
.gentleland-kb-app .block-icon-preview{
  grid-area:preview;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #49637a;
  background:#23384c;
  color:#d6b57b;
  border-radius:10px;
  font-weight:900
}
.gentleland-kb-app .block-icon-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block
}
.gentleland-kb-app .block-icon-info{
  grid-area:info;
  min-width:0
}
.gentleland-kb-app .block-icon-name{
  color:#edf3f7;
  font-size:13px;
  line-height:1.3;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.gentleland-kb-app .block-icon-hint{
  margin-top:3px;
  color:#8297a8;
  font-size:10px;
  line-height:1.25
}
.gentleland-kb-app .block-icon-actions{
  grid-area:actions;
  display:flex;
  align-items:center;
  gap:6px;
  justify-self:end
}
.gentleland-kb-app .block-icon-actions button{
  min-height:31px;
  border:1px solid #405c74;
  background:#21364a;
  color:#edf3f7;
  border-radius:8px;
  padding:6px 10px;
  font-size:11px;
  line-height:1;
  font-weight:750;
  white-space:nowrap
}
.gentleland-kb-app .block-icon-actions button:hover{background:#2a4258}
.gentleland-kb-app .block-icon-actions .remove{
  width:31px;
  padding:0;
  color:#e0aaa3
}
.gentleland-kb-app .block-icon-actions .remove:disabled{
  opacity:.35;
  cursor:not-allowed
}
.gentleland-kb-app .block-icon-file{display:none}
.gentleland-kb-app .block-icon-size-control{
  grid-area:size;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding-top:9px;
  border-top:1px solid #2c4257
}
.gentleland-kb-app .block-icon-size-label{
  color:#9eb0bf;
  font-size:11px;
  font-weight:750
}
.gentleland-kb-app .block-icon-size-control select{
  width:100%;
  height:33px;
  border:1px solid #3d5871;
  background:#102031;
  color:#eef3f7;
  border-radius:8px;
  padding:0 9px;
  font-size:11px
}
/* v31 per-box icon sizing */
.gentleland-kb-app .overview-card .card-icon{
  box-sizing:border-box;
  overflow:hidden;
  max-width:100%;
}
/* SMALL — current compact icon */
.gentleland-kb-app .overview-card[data-icon-size="small"] .card-icon{
  width:38px;
  height:38px;
  aspect-ratio:auto;
  border-radius:11px;
}
/* WIDE — full inner box width, controlled banner height */
.gentleland-kb-app .overview-card[data-icon-size="wide"] .card-icon{
  width:100%;
  height:96px;
  aspect-ratio:auto;
  border-radius:12px;
}
/* FULL — full inner box width, square: height = width */
.gentleland-kb-app .overview-card[data-icon-size="full"] .card-icon{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  border-radius:12px;
}
/* Small icons should never crop. Banner/full intentionally fill their frame. */
.gentleland-kb-app .overview-card[data-icon-size="small"] .card-icon img{
  object-fit:contain;
}
.gentleland-kb-app .overview-card[data-icon-size="wide"] .card-icon img,.gentleland-kb-app .overview-card[data-icon-size="full"] .card-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
/* Preserve normal content flow: image, then title/content below it. */
.gentleland-kb-app .overview-card[data-icon-size="wide"] .card-icon,.gentleland-kb-app .overview-card[data-icon-size="full"] .card-icon{
  display:block;
  margin-bottom:12px;
}
/* Fallback glyphs remain centered when no custom image is uploaded. */
.gentleland-kb-app .overview-card[data-icon-size="wide"] .card-icon:not(:has(img)),.gentleland-kb-app .overview-card[data-icon-size="full"] .card-icon:not(:has(img)){
  display:grid;
  place-items:center;
  font-size:24px;
}
@media(max-width:560px){.gentleland-kb-app .block-settings-popover{
    width:calc(100vw - 18px);
    padding:12px
  }
.gentleland-kb-app .block-icon-item{
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:
      "preview info"
      "actions actions"
      "size size"
  }
.gentleland-kb-app .block-icon-preview{
    width:42px;
    height:42px
  }
.gentleland-kb-app .block-icon-actions{
    justify-self:start
  }
.gentleland-kb-app .block-icon-actions button:first-child{
    min-width:104px
  }
.gentleland-kb-app .block-icon-size-control{
    grid-template-columns:58px minmax(0,1fr)
  }}
/* v33 typed delete confirmation */
.gentleland-kb-app .delete-confirm-label{
  display:block;
  margin:14px 0 6px;
  color:#c8d4de;
  font-size:12px;
  line-height:1.45
}
.gentleland-kb-app .delete-confirm-label code{
  color:#efcf95;
  font-family:Consolas,monospace
}
.gentleland-kb-app .delete-confirm-input{
  width:100%;
  height:38px;
  box-sizing:border-box;
  border:1px solid #49657d;
  background:#0e1c2b;
  color:#fff;
  border-radius:9px;
  padding:0 11px;
  font-size:13px
}
.gentleland-kb-app .delete-confirm-input:focus{
  outline:2px solid rgba(177,132,77,.28);
  outline-offset:1px
}
.gentleland-kb-app .delete-actions .danger:disabled{
  opacity:.38;
  cursor:not-allowed
}
/* v34 tiny custom image icons in Explorer */
.gentleland-kb-app .explorer-icon{
  display:grid;
  place-items:center;
  overflow:hidden;
}
.gentleland-kb-app .explorer-icon img{
  width:18px;
  height:18px;
  max-width:18px;
  max-height:18px;
  display:block;
  object-fit:contain;
  border-radius:4px;
}
.gentleland-kb-app .explorer-icon.has-custom-image{
  font-size:0;
}
/* ===== Gentle Table block preview (based on Gentle Database Table 1.5.4) ===== */

.gentleland-kb-app{min-height:680px;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 0%,rgba(201,155,88,.13),transparent 28%),radial-gradient(circle at 92% 22%,rgba(154,99,80,.08),transparent 25%),var(--cream);position:relative;isolation:isolate}
.gentleland-kb-app .site-nav{display:none!important}
.gentleland-kb-app .adminbar{top:0;padding-left:18px;padding-right:18px}
.gentleland-kb-app .workspace{min-height:calc(100vh - 44px)}
.gentleland-kb-app .explorer{top:44px;height:calc(100vh - 44px);min-height:calc(100vh - 44px)}
.gentleland-kb-app .breadcrumb-bar{top:44px}
.gentleland-kb-app .page{max-width:1180px}
.gentleland-kb-app .glkb-loading{padding:70px 24px;text-align:center;color:#817568}
.gentleland-kb-app .glkb-error{padding:18px;border:1px solid #d9b6b6;background:#fff1f1;border-radius:12px;color:#843f3f}
.gentleland-kb-app .gentle-table-live-host{min-height:90px;position:relative}
.gentleland-kb-app .gentle-table-live-status{padding:14px;border:1px dashed #d7c5a7;border-radius:10px;color:#7d6b58;background:#fffaf2;font-size:13px}
.gentleland-kb-app .gentle-table-block-host .gentleland-table-scroll{width:100%;max-width:100%;max-height:min(72vh,760px);overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.gentleland-kb-app .gentle-table-block-host .gentleland-table-add-footer td{position:sticky;bottom:0;z-index:8;background:#fffdf8;box-shadow:0 -1px 0 #e4dccf,0 -6px 14px rgba(54,42,24,.05)}
.gentleland-kb-app .gentle-table-block-host .gentleland-table.is-fullscreen .gentleland-table-scroll{max-height:calc(100vh - 88px);overflow:auto!important}
.gentleland-kb-app .block-icon-actions .glkb-media-button{white-space:nowrap}
@media(max-width:700px){.gentleland-kb-app .adminbar{top:0}.gentleland-kb-app .explorer{top:auto;height:auto;min-height:0}.gentleland-kb-app .breadcrumb-bar{top:0}}

/* WordPress's own frontend admin bar is fixed. Keep the KB sticky controls below it. */
body.admin-bar .gentleland-kb-app .adminbar{top:32px}
body.admin-bar .gentleland-kb-app .explorer{top:76px;height:calc(100vh - 76px);min-height:calc(100vh - 76px)}
body.admin-bar .gentleland-kb-app .breadcrumb-bar{top:76px}
@media(max-width:782px){
  body.admin-bar .gentleland-kb-app .adminbar{top:46px}
  body.admin-bar .gentleland-kb-app .explorer{top:auto;height:auto;min-height:0}
  body.admin-bar .gentleland-kb-app .breadcrumb-bar{top:46px}
}

/* v1.0.2 deep-link route state */
.gentleland-kb-app .glkb-route-not-found{
  max-width:720px;
  margin:70px auto;
  padding:34px;
  border:1px solid var(--sand-2);
  border-radius:18px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
  text-align:center;
}
.gentleland-kb-app .glkb-route-not-found-code{
  color:var(--bronze);
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gentleland-kb-app .glkb-route-not-found h1{
  margin:8px 0 10px;
  color:var(--navy);
  font-family:Georgia,serif;
  font-size:30px;
}
.gentleland-kb-app .glkb-route-not-found p{
  max-width:540px;
  margin:0 auto 20px;
  color:var(--muted);
  line-height:1.65;
}


/* v1.0.11 — make Draft publication state unmistakable */
.gentleland-kb-app .status-select.is-draft{
  background:#7f2525;
  border-color:#a94848;
  color:#fff;
  box-shadow:0 3px 10px rgba(127,37,37,.20);
}

.gentleland-kb-app .status-select.is-draft:hover{
  background:#8d2b2b;
  border-color:#bd5555;
}

.gentleland-kb-app .status-select.is-draft:focus{
  outline:2px solid rgba(188,72,72,.32);
  outline-offset:1px;
}

.gentleland-kb-app .status-select.is-draft:disabled{
  background:#6f3434;
  border-color:#825050;
  color:#f5dddd;
  opacity:.72;
}


/* v1.0.13 — configurable content metadata */
.gentleland-kb-app .article-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  color:#8b7a66;
  font-size:13px;
}

.gentleland-kb-app .article-meta-separator{
  opacity:.72;
}

.gentleland-kb-app .inline-editing-meta{
  color:#55735d;
  font-weight:700;
}

/* v1.0.14 — contextual SEO panel */
.gentleland-kb-app .seo-btn{
  min-width:48px;
  font-weight:850;
}

.gentleland-kb-app .seo-modal{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:78px 18px 24px;
  background:rgba(7,13,20,.68);
  overflow:auto;
}

.gentleland-kb-app .seo-modal.hidden{display:none}

.gentleland-kb-app .seo-panel{
  width:min(760px,calc(100vw - 28px));
  max-height:calc(100vh - 104px);
  overflow:auto;
  padding:20px;
  border:1px solid var(--glkb-admin-border,#334c64);
  border-radius:16px;
  background:var(--glkb-admin-bg,#172433);
  color:var(--glkb-admin-text,#edf3f8);
  box-shadow:0 26px 90px rgba(3,10,17,.44);
}

.gentleland-kb-app .seo-panel-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid var(--glkb-admin-border,#334c64);
}

.gentleland-kb-app .seo-panel-head h2{
  margin:0;
  color:var(--glkb-admin-text,#edf3f8);
  font-size:22px;
}

.gentleland-kb-app .seo-panel-resource{
  margin-top:3px;
  color:#9eb1c1;
  font-size:12px;
}

.gentleland-kb-app .seo-index-status{
  margin-top:14px;
  padding:10px 12px;
  border:1px solid #3c5e4a;
  border-radius:10px;
  background:#173326;
  color:#cfe9d9;
  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

.gentleland-kb-app .seo-index-status.is-noindex{
  border-color:#714943;
  background:#352226;
  color:#efc7bf;
}

.gentleland-kb-app .seo-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.gentleland-kb-app .seo-toolbar button,
.gentleland-kb-app .seo-link-btn,
.gentleland-kb-app .seo-image-actions button{
  min-height:34px;
  box-sizing:border-box;
  border:1px solid var(--glkb-admin-border,#405b73);
  border-radius:var(--glkb-control-radius,9px);
  background:#21364a;
  color:#edf3f7;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

.gentleland-kb-app .seo-toolbar button:hover,
.gentleland-kb-app .seo-link-btn:hover,
.gentleland-kb-app .seo-image-actions button:hover{
  background:var(--glkb-admin-hover,#2a4359);
  color:#fff;
}

.gentleland-kb-app .seo-primary-btn{
  border-color:#a57b42!important;
  background:#71532f!important;
}

.gentleland-kb-app .seo-help,
.gentleland-kb-app .seo-footer-note{
  margin-top:10px;
  color:#9eb0bf;
  font-size:11px;
  line-height:1.5;
}

.gentleland-kb-app .seo-fields{
  display:flex;
  flex-direction:column;
  gap:13px;
  margin-top:17px;
}

.gentleland-kb-app .seo-fields label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#dce6ed;
  font-size:12px;
  font-weight:800;
}

.gentleland-kb-app .seo-fields label small{
  color:#8599aa;
  font-size:10px;
  font-weight:500;
}

.gentleland-kb-app .seo-fields input,
.gentleland-kb-app .seo-fields textarea,
.gentleland-kb-app .seo-fields select{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--glkb-admin-border,#3d5871);
  border-radius:var(--glkb-control-radius,9px);
  background:var(--glkb-admin-input,#102031);
  color:var(--glkb-admin-text,#eef3f7);
  padding:9px 10px;
  font:inherit;
  font-size:12px;
}

.gentleland-kb-app .seo-fields textarea{
  min-height:80px;
  resize:vertical;
  line-height:1.45;
}

.gentleland-kb-app .seo-fields input[readonly]{
  opacity:.72;
  cursor:default;
}

.gentleland-kb-app .seo-social-image-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}

.gentleland-kb-app .seo-field-label{
  display:block;
  margin-bottom:6px;
  color:#dce6ed;
  font-size:12px;
  font-weight:800;
}

.gentleland-kb-app .seo-social-image-preview{
  min-height:56px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px;
  border:1px solid var(--glkb-admin-border,#3d5871);
  border-radius:10px;
  background:var(--glkb-admin-input,#102031);
  color:#91a5b5;
  font-size:11px;
}

.gentleland-kb-app .seo-social-image-preview img{
  width:72px;
  height:48px;
  object-fit:cover;
  border-radius:7px;
  border:1px solid #425d74;
}

.gentleland-kb-app .seo-image-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

@media(max-width:620px){
  .gentleland-kb-app .seo-modal{padding:62px 9px 12px}
  .gentleland-kb-app .seo-panel{width:calc(100vw - 18px);max-height:calc(100vh - 74px);padding:14px}
  .gentleland-kb-app .seo-social-image-row{grid-template-columns:1fr}
  .gentleland-kb-app .seo-image-actions{justify-content:flex-start}
}


/* v1.0.19 — short editable blocks stay one text row high.
   The old vertical handle+gear stack forced every block-row to ~59px tall. */
.gentleland-kb-app .block-control-stack{
  flex-direction:row;
  width:58px;
  gap:2px;
  padding-top:2px;
  justify-content:flex-end;
  transform:translateX(-30px);
}

.gentleland-kb-app .block.p{
  min-height:34px;
}


/* v1.0.20 — configurable confirmation security */
.gentleland-kb-app #deleteConfirmPrompt,
.gentleland-kb-app #unsavedConfirmPrompt{
  margin-top:14px;
}

.gentleland-kb-app #unsavedConfirmPrompt.hidden,
.gentleland-kb-app #deleteConfirmPrompt.hidden{
  display:none;
}

.gentle-table-confirm-typed{
  display:grid;
  gap:7px;
  margin-top:14px;
}

.gentle-table-confirm-typed label{
  font-size:13px;
  color:#d9e2ea;
}

.gentle-table-confirm-typed code{
  color:#f1c985;
}

.gentle-table-confirm-input{
  width:100%;
  min-height:38px;
  padding:7px 9px;
  border:1px solid #53687d;
  border-radius:6px;
  background:#122235;
  color:#f5f7f9;
  box-sizing:border-box;
  outline:none;
}

.gentle-table-confirm-input:focus{
  border-color:#d0a35f;
  box-shadow:0 0 0 2px rgba(208,163,95,.16);
}


/* v1.1.0 — security/UI visibility guard.
   Native [hidden] wins even if another component declares display:flex/grid. */
.gentleland-kb-app [hidden]{
  display:none !important;
}


/* v1.1.4 — optically center the + inside the 26x26 Add block button */
.gentleland-kb-app .add-block{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  font-size:0;
}

.gentleland-kb-app .add-block::before{
  content:"+";
  display:block;
  font-size:16px;
  font-weight:400;
  line-height:1;
  transform:translateY(-1px);
}


/* v1.1.9 — contextual Resource Settings */
.gentleland-kb-app .resource-settings-btn{
  min-width:auto;
  width:auto;
  padding:7px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:var(--glkb-admin-bg);
  border-color:var(--glkb-admin-border);
  color:var(--glkb-admin-text);
  font-size:13px;
  line-height:1;
  font-weight:700;
}

.gentleland-kb-app .resource-settings-btn:hover:not(:disabled){
  background:var(--glkb-admin-hover);
  border-color:var(--glkb-admin-border);
  color:var(--glkb-admin-text);
}

.gentleland-kb-app .resource-settings-modal{
  position:fixed;
  inset:0;
  z-index:100080;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,17,25,.62);
  box-sizing:border-box;
}

.gentleland-kb-app .resource-settings-modal.hidden{
  display:none;
}

.gentleland-kb-app .resource-settings-panel{
  width:min(680px,100%);
  max-height:min(780px,calc(100vh - 48px));
  overflow:auto;
  padding:20px;
  border:1px solid var(--glkb-admin-border);
  border-radius:10px;
  background:var(--glkb-admin-bg);
  color:var(--glkb-admin-text);
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  box-sizing:border-box;
}

.gentleland-kb-app .resource-settings-resource{
  margin-top:3px;
  opacity:.72;
  font-size:12px;
}

.gentleland-kb-app .resource-settings-fields{
  display:grid;
  gap:15px;
  margin-top:18px;
}

.gentleland-kb-app .resource-settings-fields label{
  display:grid;
  gap:6px;
  font-size:13px;
  font-weight:600;
}

.gentleland-kb-app .resource-settings-fields input,
.gentleland-kb-app .resource-settings-fields textarea{
  width:100%;
  padding:9px 10px;
  border:1px solid var(--glkb-admin-border);
  border-radius:6px;
  background:var(--glkb-admin-input);
  color:var(--glkb-admin-text);
  box-sizing:border-box;
  font:inherit;
}

.gentleland-kb-app .resource-settings-fields input[readonly]{
  opacity:.82;
}

.gentleland-kb-app .resource-settings-fields small,
.gentleland-kb-app .resource-settings-note{
  opacity:.72;
  font-size:12px;
  font-weight:400;
}

.gentleland-kb-app .resource-settings-note{
  margin-top:18px;
}


.gentleland-kb-app .resource-root-notice{
  margin-top:18px;
  padding:14px 15px;
  border:1px solid var(--glkb-admin-border);
  border-radius:7px;
  background:var(--glkb-admin-input);
  color:var(--glkb-admin-text);
  line-height:1.5;
  font-size:13px;
}


/* v1.1.12 — Page Settings naming + guaranteed readable admin contrast.
   These rules intentionally use a stable high-contrast editor palette instead
   of inheriting page/content typography colors. */
.gentleland-kb-app .resource-settings-panel{
  background:#17283a;
  border-color:#53687d;
  color:#f5f7f9;
}

.gentleland-kb-app .resource-settings-panel .modal-head,
.gentleland-kb-app .resource-settings-panel .modal-head > div,
.gentleland-kb-app .resource-settings-panel h2,
.gentleland-kb-app .resource-settings-panel label,
.gentleland-kb-app .resource-settings-panel label > span{
  color:#f5f7f9 !important;
}

.gentleland-kb-app .resource-settings-panel h2{
  margin:0;
  font-size:20px;
  line-height:1.25;
  font-weight:700;
}

.gentleland-kb-app .resource-settings-resource{
  opacity:1;
  color:#cbd7e1 !important;
}

.gentleland-kb-app .resource-settings-fields input,
.gentleland-kb-app .resource-settings-fields textarea{
  background:#0f2032 !important;
  border-color:#53687d !important;
  color:#f5f7f9 !important;
  caret-color:#f5f7f9;
}

.gentleland-kb-app .resource-settings-fields input:focus,
.gentleland-kb-app .resource-settings-fields textarea:focus{
  outline:none;
  border-color:#d0a35f !important;
  box-shadow:0 0 0 2px rgba(208,163,95,.18);
}

.gentleland-kb-app .resource-settings-fields input[readonly]{
  opacity:1;
  background:#213448 !important;
  color:#d9e2ea !important;
}

.gentleland-kb-app .resource-settings-fields small,
.gentleland-kb-app .resource-settings-note{
  opacity:1;
  color:#cbd7e1 !important;
}

.gentleland-kb-app .resource-root-notice{
  background:#0f2032 !important;
  border-color:#53687d !important;
  color:#f5f7f9 !important;
}

.gentleland-kb-app .resource-settings-panel .soft-btn{
  background:#213448;
  border-color:#53687d;
  color:#f5f7f9;
}

.gentleland-kb-app .resource-settings-panel .soft-btn:hover{
  background:#2b4258;
  color:#ffffff;
}

.gentleland-kb-app .resource-settings-btn{
  min-width:auto;
  width:auto;
}


/* v1.1.14 — drag-and-drop reordering for every block type */
.gentleland-kb-app .block-control-stack{
  width:88px;
  transform:translateX(-60px);
}

.gentleland-kb-app .block-drag-handle,
.gentleland-kb-app .block-handle,
.gentleland-kb-app .block-settings-btn{
  position:relative;
  z-index:31;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#a18f79;
  line-height:1;
  transition:.12s;
}

.gentleland-kb-app .block-drag-handle{
  opacity:0;
  cursor:grab;
  font-size:17px;
  font-weight:700;
  touch-action:none;
}

.gentleland-kb-app .block-drag-handle:active{
  cursor:grabbing;
}

.gentleland-kb-app .block-row:hover .block-drag-handle,
.gentleland-kb-app .block-row.focused .block-drag-handle{
  opacity:1;
}

.gentleland-kb-app .block-drag-handle:hover{
  background:#efe4d4;
  color:#684f35;
}

.gentleland-kb-app .block-drag-handle:disabled{
  opacity:0 !important;
  pointer-events:none;
}

.gentleland-kb-app .block-row.block-dragging{
  opacity:.42;
}

.gentleland-kb-app .block-row.block-drop-before::before,
.gentleland-kb-app .block-row.block-drop-after::after{
  content:"";
  position:absolute;
  left:30px;
  right:0;
  height:3px;
  border-radius:999px;
  background:var(--glkb-accent,#b9854c);
  box-shadow:0 0 0 1px rgba(255,255,255,.7);
  z-index:45;
  pointer-events:none;
}

.gentleland-kb-app .block-row.block-drop-before::before{
  top:-4px;
}

.gentleland-kb-app .block-row.block-drop-after::after{
  bottom:-4px;
}

.gentleland-kb-app .block-row.block-drop-before > .block,
.gentleland-kb-app .block-row.block-drop-after > .block{
  background:rgba(185,133,76,.05);
}

/* v1.1.15 — autosave-stable Gentle Table, draggable Block Settings, red unsaved Save */

/* v1.1.17 — WordPress-like slash inserter + corrected block action rail */
.gentleland-kb-app .block-row{
  grid-template-columns:32px minmax(0,1fr);
  gap:8px;
}

.gentleland-kb-app .block-control-stack{
  width:32px !important;
  transform:none !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:2px;
  padding-top:3px;
  align-self:start;
}

.gentleland-kb-app .block-control-stack > .block-drag-handle,
.gentleland-kb-app .block-control-stack > .block-handle,
.gentleland-kb-app .block-control-stack > .block-settings-btn{
  width:28px;
  height:28px;
  margin:0 !important;
  padding:0 !important;
  display:grid;
  place-items:center;
  line-height:28px;
  text-align:center;
}

.gentleland-kb-app .block-control-stack > .block-drag-handle{
  font-size:16px;
}

.gentleland-kb-app .block-control-stack > .block-handle{
  font-size:19px;
}

.gentleland-kb-app .block-control-stack > .block-settings-btn{
  font-size:14px;
}

.gentleland-kb-app .add-line{
  display:block;
  min-height:24px;
  margin:2px 0 2px 40px;
  opacity:1;
}

.gentleland-kb-app .slash-inserter{
  width:100%;
  min-height:24px;
  box-sizing:border-box;
  padding:2px 8px;
  border:1px solid transparent;
  border-radius:7px;
  outline:none;
  color:#655746;
  font-size:12px;
  line-height:18px;
  cursor:text;
  opacity:.18;
  transition:opacity .12s ease,background .12s ease,border-color .12s ease;
}

.gentleland-kb-app .add-line:hover .slash-inserter,
.gentleland-kb-app .add-line.active .slash-inserter,
.gentleland-kb-app .slash-inserter:focus{
  opacity:1;
  background:#fffaf2;
  border-color:#e4d6c3;
}

.gentleland-kb-app .slash-inserter:empty::before{
  content:"";
  color:#a29079;
  pointer-events:none;
}

.gentleland-kb-app .add-line:hover .slash-inserter:empty::before,
.gentleland-kb-app .add-line.active .slash-inserter:empty::before,
.gentleland-kb-app .slash-inserter:focus:empty::before{
  content:attr(data-placeholder);
}

.gentleland-kb-app .block-menu-title{
  padding:6px 10px 8px;
  color:#8d785f;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.gentleland-kb-app .block-menu-empty{
  padding:12px 10px;
  color:#9a8873;
  font-size:12px;
}


/* v1.1.18 — horizontal block actions + click-only zero-layout slash insertion */
.gentleland-kb-app .block-row{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

/* WordPress-style horizontal action toolbar. It sits beside the block rather
   than consuming a permanent vertical rail inside the content. */
.gentleland-kb-app .block-control-stack{
  position:absolute;
  z-index:52;
  top:3px;
  right:calc(100% + 6px);
  width:88px !important;
  height:28px;
  transform:none !important;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:2px;
  padding:0;
  margin:0;
}

.gentleland-kb-app .block-control-stack > .block-drag-handle,
.gentleland-kb-app .block-control-stack > .block-handle,
.gentleland-kb-app .block-control-stack > .block-settings-btn{
  flex:0 0 28px;
  width:28px;
  height:28px;
  margin:0 !important;
  padding:0 !important;
  display:grid;
  place-items:center;
  line-height:1;
}

/* Inactive insertion points are truly zero-layout. They neither create fake
   block spacing nor appear on hover. A click on real block-stack whitespace is
   detected in JS and activates the matching insertion point. */
.gentleland-kb-app .add-line{
  position:relative;
  display:block;
  width:auto;
  height:0;
  min-height:0;
  margin:0;
  padding:0;
  opacity:1;
}


.gentleland-kb-app .block-stack.is-empty{
  min-height:38px;
  cursor:text;
}
.gentleland-kb-app .slash-inserter{
  display:none;
  width:100%;
  min-height:30px;
  box-sizing:border-box;
  margin:0;
  padding:5px 9px;
  border:1px solid #d8c6ad;
  border-radius:8px;
  outline:none;
  background:#fffaf2;
  color:#655746;
  font-size:13px;
  line-height:18px;
  cursor:text;
  opacity:1;
}

.gentleland-kb-app .add-line.active{
  height:38px;
  margin:3px 0;
}

.gentleland-kb-app .add-line.active .slash-inserter{
  display:block;
}

.gentleland-kb-app .slash-inserter:empty::before{
  content:attr(data-placeholder);
  color:#a29079;
  pointer-events:none;
}


@media(max-width:760px){
  .gentleland-kb-app .block-control-stack{
    right:auto;
    left:0;
    top:-30px;
    justify-content:flex-start;
  }
  .gentleland-kb-app .block-row:hover,
  .gentleland-kb-app .block-row.focused{
    z-index:55;
  }
}

/* v1.1.20 — hover-only slash insertion fields, click to activate */
/*
 * Insertion points no longer consume layout space, so the visual distance
 * between blocks is the real block spacing. A narrow invisible hit area sits
 * on the exact boundary between blocks. Hovering that boundary previews the
 * slash field; clicking it activates/focuses the field. Hover alone never
 * opens the block menu or moves focus.
 */
.gentleland-kb-app .add-line{
  position:relative;
  z-index:45;
  display:block;
  width:auto;
  height:0;
  min-height:0;
  margin:0;
  padding:0;
  opacity:1;
}

/* Zero-layout hover/click target centered on the real insertion boundary. */
.gentleland-kb-app .add-line::before{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  top:-8px;
  height:16px;
  cursor:text;
}

.gentleland-kb-app .slash-inserter{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  top:0;
  display:block;
  width:100%;
  min-height:30px;
  box-sizing:border-box;
  margin:0;
  padding:5px 9px;
  transform:translateY(-50%);
  border:1px solid #d8c6ad;
  border-radius:8px;
  outline:none;
  background:#fffaf2;
  color:#655746;
  font-size:13px;
  line-height:18px;
  cursor:text;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease,visibility .12s ease,background .12s ease,border-color .12s ease;
}

/* Preview on hover; remain visible after click/focus. */
.gentleland-kb-app .add-line:hover .slash-inserter,
.gentleland-kb-app .add-line.active .slash-inserter,
.gentleland-kb-app .slash-inserter:focus{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.gentleland-kb-app .add-line.active{
  z-index:60;
}

.gentleland-kb-app .slash-inserter:empty::before{
  content:attr(data-placeholder);
  color:#a29079;
  pointer-events:none;
}

/* During block drag, remove all insertion hit areas and fields so snapping is
   calculated only against real blocks. */
.gentleland-kb-app .block-stack.is-block-dragging > .add-line{
  display:none !important;
}


/* v1.1.21 — reliable block drag, aligned toolbar, deterministic slash boundaries */
/* All three block actions use the same box and SVG geometry. This removes the
   baseline differences of the old Unicode grip/menu/gear glyphs. */
.gentleland-kb-app .block-control-stack{
  position:absolute;
  z-index:80;
  top:3px;
  right:calc(100% + 8px);
  width:84px !important;
  height:28px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}
.gentleland-kb-app .block-control-stack > .block-drag-handle,
.gentleland-kb-app .block-control-stack > .block-handle,
.gentleland-kb-app .block-control-stack > .block-settings-btn{
  position:relative;
  inset:auto;
  flex:0 0 26px;
  width:26px;
  height:26px;
  min-width:26px;
  min-height:26px;
  margin:0 !important;
  padding:0 !important;
  border:0;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  text-align:center;
  vertical-align:middle;
}
.gentleland-kb-app .block-control-stack svg{
  display:block;
  width:16px;
  height:16px;
  margin:0;
  padding:0;
  pointer-events:none;
}
.gentleland-kb-app .block-drag-handle svg,
.gentleland-kb-app .block-handle svg{
  fill:currentColor;
}
.gentleland-kb-app .block-settings-btn svg{
  width:15px;
  height:15px;
}
/* Heading blocks have no intrinsic vertical margin. Keep their controls aligned
   to the compact visible heading box instead of an artificial margin area. */
.gentleland-kb-app .block-row:has(> .block.h1) > .block-control-stack,
.gentleland-kb-app .block-row:has(> .block.h2) > .block-control-stack,
.gentleland-kb-app .block-row:has(> .block.h3) > .block-control-stack{top:3px}

/* Slash insertion contract (v1.1.22):
   - normal editing: real insertion rows exist between blocks;
   - hover anywhere across that row previews the /block field;
   - click activates/focuses it;
   - dragging: JS physically removes every .add-line from the DOM.
   The row owns real vertical space so the hover target is reliable and the
   visible input never sits directly against neighbouring content blocks. */
.gentleland-kb-app .block-stack > .add-line{
  position:relative;
  z-index:46;
  display:block;
  width:100%;
  height:38px;
  min-height:38px;
  margin:4px 0;
  padding:0;
  opacity:1;
  pointer-events:auto;
}
.gentleland-kb-app .block-stack > .add-line::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  cursor:text;
}
.gentleland-kb-app .block-stack > .add-line > .slash-inserter{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  top:4px;
  width:100%;
  min-height:30px;
  height:30px;
  box-sizing:border-box;
  margin:0;
  padding:5px 9px;
  transform:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  border:1px solid #d8c6ad;
  border-radius:8px;
  background:#fffaf2;
  color:#655746;
  outline:none;
  font-size:13px;
  line-height:18px;
  cursor:text;
  transition:opacity .1s ease,visibility .1s ease;
}
.gentleland-kb-app .block-stack > .add-line:hover > .slash-inserter,
.gentleland-kb-app .block-stack > .add-line.active > .slash-inserter,
.gentleland-kb-app .block-stack > .add-line > .slash-inserter:focus{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.gentleland-kb-app .block-stack > .add-line.active{z-index:90}
.gentleland-kb-app .block-stack.is-block-dragging > .add-line{display:none !important}

/* v1.1.23 — hover preview fix + compact insertion gap
 * The v1.1.18 click-only override still contained a hover-specific
 * display:none rule. That rule won the cascade even though later versions
 * changed opacity/visibility, so the inserter only became visible after click.
 * Keep the real insertion row compact, preview on hover, and require click only
 * for focus/typing. Dragging still physically removes these rows in JS. */
.gentleland-kb-app .block-stack > .add-line{
  height:18px;
  min-height:18px;
  margin:0;
}
.gentleland-kb-app .block-stack > .add-line::before{
  inset:0;
}
.gentleland-kb-app .block-stack > .add-line > .slash-inserter{
  display:block;
  top:-3px;
  min-height:24px;
  height:24px;
  padding:2px 8px;
  line-height:18px;
}
.gentleland-kb-app .block-stack > .add-line:hover > .slash-inserter,
.gentleland-kb-app .block-stack > .add-line.active > .slash-inserter,
.gentleland-kb-app .block-stack > .add-line > .slash-inserter:focus{
  display:block;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}



/* v1.1.24 — tighter slash insertion spacing
 * Keep hover preview behavior from 1.1.23, but shrink the insertion row so
 * it does not visually push real blocks apart. The field overlays the small
 * inter-block hit area instead of reserving its full own height. */
.gentleland-kb-app .block-stack > .add-line{
  height:10px;
  min-height:10px;
  margin:0;
}
.gentleland-kb-app .block-stack > .add-line > .slash-inserter{
  top:-6px;
  min-height:22px;
  height:22px;
  padding:1px 8px;
  line-height:18px;
}


/* v1.1.27 — H1/H2/H3 all use compact geometry with no intrinsic vertical margin.
 * The primary heading rules above are the source of truth; no legacy 20px/16px
 * heading margins remain in the live editor stylesheet. */

/* v1.2.7 — block actions live in the custom right-click menu. */
.gentleland-kb-app .block-control-stack{
  width:26px !important;
}
.gentleland-kb-app .block-stack.is-empty{
  min-height:72px;
  cursor:context-menu;
}
.gentleland-kb-app .block-menu .block-menu-danger{
  color:#a75555;
}

/* v1.3.0 — Media Library image block. */
.gentleland-kb-app .image-block{
  display:flex;
  width:100%;
}
.gentleland-kb-app .image-block[data-alignment="left"]{justify-content:flex-start}
.gentleland-kb-app .image-block[data-alignment="center"]{justify-content:center}
.gentleland-kb-app .image-block[data-alignment="right"]{justify-content:flex-end}
.gentleland-kb-app .image-block figure{width:100%;margin:0}
.gentleland-kb-app .image-block[data-size="small"] figure{max-width:320px}
.gentleland-kb-app .image-block[data-size="medium"] figure{max-width:640px}
.gentleland-kb-app .image-block[data-size="large"] figure{max-width:960px}
.gentleland-kb-app .image-block[data-size="full"] figure{max-width:none}
.gentleland-kb-app .image-block a{display:block}
.gentleland-kb-app .image-block img{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
}
.gentleland-kb-app .image-block figcaption{
  margin-top:8px;
  color:#7f6e5a;
  font-size:13px;
  line-height:1.45;
  text-align:center;
}
.gentleland-kb-app .image-block.is-empty{
  min-height:92px;
  align-items:center;
  justify-content:center;
  border:1px dashed #d8c6ad;
  border-radius:12px;
  color:#8e7c67;
  background:#fffaf2;
  font-size:13px;
}
.gentleland-kb-app .image-block-settings-preview{
  display:flex;
  min-height:96px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #3d5871;
  border-radius:10px;
  background:#102031;
  color:#8fa3b3;
  font-size:12px;
}
.gentleland-kb-app .image-block-settings-preview img{
  display:block;
  max-width:100%;
  max-height:180px;
  object-fit:contain;
}
.gentleland-kb-app .image-block-settings-actions{
  display:flex;
  gap:8px;
  margin:10px 0 12px;
}
.gentleland-kb-app .image-block-settings-actions button{
  border:1px solid #49647d;
  border-radius:8px;
  background:#263d53;
  color:#edf3f7;
  padding:7px 10px;
}
.gentleland-kb-app .image-block-settings-actions button.remove{color:#ffb6b6}
.gentleland-kb-app .block-setting-row input[type="url"],
.gentleland-kb-app .block-setting-row textarea{
  width:100%;
  min-width:0;
  border:1px solid #3d5871;
  background:#102031;
  color:#eef3f7;
  border-radius:8px;
  padding:7px 9px;
  font-size:12px;
  resize:vertical;
}
