:root{
  --bg-bright:#0fd70d;
  --bg-bright-2:#0fd70d;
  --card:#055d12;
  --card-2:#044a0e;
  --line:#98ff89;
  --line-soft:rgba(152,255,137,.35);
  --panel-shadow:0 0 0 2px rgba(152,255,137,.35),0 10px 30px rgba(0,0,0,.22);
  --text:#f7fff5;
  --text-soft:#def6d7;
  --ink:#171717;
  --paper:#f0f1ea;
  --pill:#64f65c;
  --pill-text:#063a0e;
}
*{box-sizing:border-box}html,body{margin:0;padding:0}body.scribe-page{background:linear-gradient(180deg,var(--bg-bright),var(--bg-bright-2));min-height:100vh;color:var(--text);font-family:Inter,Arial,sans-serif}.scribe-page main{padding-bottom:28px}.hidden{display:none!important}.top-gap-8{margin-top:8px}.top-gap-12{margin-top:12px}.top-gap-16{margin-top:16px}.top-gap-24{margin-top:24px}.eyebrow{font:800 12px/1 Orbitron,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#d9ffd1}.panel-card{background:linear-gradient(180deg,var(--card),var(--card-2));border:2px solid var(--line-soft);border-radius:22px;box-shadow:var(--panel-shadow)}.ui-input,.ui-textarea,select.ui-input{width:100%;border-radius:14px;border:2px solid rgba(152,255,137,.25);background:#031107;color:#fff;padding:12px 14px;font:600 16px/1.25 Inter,Arial,sans-serif;outline:none}.ui-input:focus,.ui-textarea:focus,select.ui-input:focus{border-color:var(--line);box-shadow:0 0 0 3px rgba(152,255,137,.18)}.ui-textarea{min-height:110px;resize:vertical}.ui-textarea.small{min-height:86px}.ui-btn{border:2px solid rgba(152,255,137,.45);background:linear-gradient(180deg,#0b7d1d,#0a6918);color:#f8fff7;border-radius:14px;padding:11px 14px;font:800 14px/1 Orbitron,sans-serif;cursor:pointer}.ui-btn:hover{filter:brightness(1.08)}.ui-btn.primary{background:linear-gradient(180deg,#65f65d,#38d934);color:var(--pill-text)}.ui-btn.small,.mini-btn{padding:10px 12px;font-size:13px}.icon-btn{width:44px;height:44px;border-radius:13px;border:2px solid rgba(152,255,137,.45);background:linear-gradient(180deg,#65f65d,#38d934);color:var(--pill-text);font:800 18px/1 Inter,sans-serif;cursor:pointer}.icon-btn:hover{filter:brightness(1.08)}.pill,.mini-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:15px;padding:12px 16px;text-decoration:none;background:linear-gradient(180deg,#65f65d,#38d934);border:2px solid rgba(255,255,255,.25);color:var(--pill-text);font:800 14px/1 Orbitron,sans-serif}.doc-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}.scribe-shell{max-width:1600px;margin:18px auto 0;padding:0 18px;display:grid;grid-template-columns:290px minmax(0,1fr) 330px;gap:18px;align-items:start}.scribe-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:72px;max-height:calc(100vh - 84px);overflow:auto;padding-right:4px}.scribe-center{min-width:0;display:flex;flex-direction:column;gap:14px}.editor-top-card{padding:18px}.doc-chip-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.toolbar-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.tab-btn{border:none;border-radius:15px;background:#032511;color:#fff;padding:12px 16px;font:800 14px/1 Orbitron,sans-serif;cursor:pointer}.tab-btn.active{background:linear-gradient(180deg,#65f65d,#38d934);color:var(--pill-text)}.tab-panels{margin-top:14px}.tab-panel{display:none}.tab-panel.active{display:block}.tool-grid{display:grid;gap:14px}.tool-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-box{background:rgba(0,0,0,.12);border:2px solid rgba(152,255,137,.22);border-radius:18px;padding:14px}.tool-title{font:800 13px/1 Orbitron,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;color:#eeffea}.button-row{display:flex;gap:10px}.button-row.wrap{flex-wrap:wrap}.color-row{display:flex;gap:12px;flex-wrap:wrap}.color-row label{display:flex;align-items:center;gap:8px;font:700 13px/1 Inter,sans-serif}.color-row input,.color-input{width:56px;height:42px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:none;padding:0}.range-row{display:flex;align-items:center;gap:12px}.range-row input[type=range]{flex:1}.inline-label{font:700 13px/1 Inter,sans-serif;color:#f3fff0}.font-preview{border:2px dashed rgba(152,255,137,.35);border-radius:14px;padding:12px;color:#fff;background:#032511}.editor-card{padding:14px}.editor-notice{text-align:center;font:800 13px/1.3 Orbitron,sans-serif;color:#f4fff1;margin-bottom:12px}.editor-scroll{height:calc(100vh - 330px);min-height:460px;max-height:900px;overflow-y:auto;overflow-x:hidden;border-radius:20px;border:2px solid rgba(152,255,137,.28);background:#0a7e18;padding:18px;position:relative;}.editor-surface{min-height:100%;background:var(--paper);color:var(--ink);border-radius:18px;padding:34px 44px;font:400 22px/1.7 Merriweather,Georgia,serif;box-shadow:inset 0 0 0 2px rgba(0,0,0,.06);outline:none}.editor-surface p{margin:0 0 1em}.editor-surface h1,.editor-surface h2,.editor-surface h3{font-family:Orbitron,Inter,sans-serif;line-height:1.2;margin:1em 0 .65em;color:#121212}.editor-surface h1{text-align:center;font-size:34px}.editor-surface h2{text-align:center;font-size:28px}.editor-surface h3{font-size:23px}.editor-surface img.inline-image{max-width:100%;height:auto;border-radius:12px;margin:12px auto;display:block}.scene-break{letter-spacing:.45em;text-align:center;font-weight:700}.selection-bubble{position:fixed;z-index:2000;background:#032511;border:2px solid rgba(152,255,137,.5);border-radius:16px;padding:8px;display:flex;gap:8px;box-shadow:0 12px 28px rgba(0,0,0,.22)}.compact-card{padding:16px}.brand-panel h2{margin:6px 0 8px;font:800 22px/1.1 Orbitron,sans-serif}.brand-panel p{margin:0;color:var(--text-soft)}.panel-title-sm{font:800 14px/1 Orbitron,sans-serif;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}.label-sm{display:block;font:800 12px/1 Orbitron,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.stat-grid{display:grid;gap:10px}.stat-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.stat-box{border:2px solid rgba(152,255,137,.22);border-radius:16px;padding:10px 8px;text-align:center;overflow-wrap:anywhere}.stat-box span{display:block;font:800 11px/1 Orbitron,sans-serif;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.stat-box strong{display:block;font:800 13px/1.2 Inter,sans-serif}.inline-controls{display:flex;gap:8px;align-items:center}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.genre-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#032511;border:2px solid rgba(152,255,137,.28)}.genre-chip button{border:none;background:#65f65d;color:#063a0e;border-radius:999px;width:24px;height:24px;cursor:pointer;font-weight:800}.check-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-weight:600}.collapsible summary{cursor:pointer;list-style:none;padding:16px 18px;font:800 14px/1 Orbitron,sans-serif;display:flex;align-items:center;justify-content:space-between}.collapsible summary::-webkit-details-marker{display:none}.collapse-body{padding:0 18px 18px}.outline-list,.notes-list,.presence-list,.share-list,.asset-list{display:flex;flex-direction:column;gap:10px}.outline-item,.note-item,.presence-item,.share-item,.asset-item,.member-item,.snapshot-item{background:#032511;border:2px solid rgba(152,255,137,.22);border-radius:14px;padding:12px;overflow-wrap:anywhere}.outline-item{cursor:pointer}.outline-item:hover{border-color:rgba(152,255,137,.5)}.helper-copy{color:var(--text-soft);font-size:13px;line-height:1.4}.sub-divider{border:none;border-top:2px solid rgba(152,255,137,.18);margin:16px 0}.inline-row{display:flex;align-items:center}.gap-8{gap:8px}.end{justify-content:flex-end}.modal-actions{display:flex;justify-content:flex-end;margin-top:12px}.scribe-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:3000}.scribe-modal-card{width:min(92vw,420px);padding:22px;background:linear-gradient(180deg,var(--card),var(--card-2));border:2px solid rgba(152,255,137,.4);border-radius:18px;box-shadow:var(--panel-shadow)}.scribe-modal-card h3{margin:0 0 8px;font:800 22px/1 Orbitron,sans-serif}.scribe-modal-card p{margin:0 0 14px;color:var(--text-soft)}.focus-mode .scribe-side{display:none}.focus-mode .scribe-shell{grid-template-columns:1fr}.focus-mode .editor-scroll{height:calc(100vh - 250px)}@media (max-width:1400px){.scribe-shell{grid-template-columns:250px minmax(0,1fr) 300px}.tool-grid.three{grid-template-columns:1fr 1fr}}@media (max-width:1100px){.scribe-shell,.hub-grid{grid-template-columns:1fr}.scribe-side{position:static;max-height:none;overflow:visible}.editor-scroll{height:60vh}.tool-grid.three,.hub-form-grid{grid-template-columns:1fr}}

/* --- SCROLLING FIXES --- */
body.scribe-page{ background:#0fd70d; }
.scribe-shell{ max-width: 1680px; }
.scribe-side{ scrollbar-width: thin; }
.scroll-box{ overflow:auto; scrollbar-width: thin; scrollbar-color: rgba(152,255,137,.75) rgba(0,0,0,.15); }
.scroll-box::-webkit-scrollbar, .editor-scroll::-webkit-scrollbar, .scribe-side::-webkit-scrollbar, .notes-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
.scroll-box::-webkit-scrollbar-track, .editor-scroll::-webkit-scrollbar-track, .scribe-side::-webkit-scrollbar-track, .notes-scroll::-webkit-scrollbar-track { background: rgba(0,0,0,.15); border-radius: 999px; }
.scroll-box::-webkit-scrollbar-thumb, .editor-scroll::-webkit-scrollbar-thumb, .scribe-side::-webkit-scrollbar-thumb, .notes-scroll::-webkit-scrollbar-thumb { background: rgba(152,255,137,.75); border-radius: 999px; }

.outline-scroll{ max-height: 220px; overflow-y: auto; overflow-x: hidden; }
.side-scroll{ max-height: 260px; overflow-y: auto; overflow-x: hidden; }

/* FIX: STRICT NOTES SCROLLBAR ENFORCEMENT */
.notes-scroll { 
    display: flex !important; 
    flex-direction: column !important;
    max-height: 280px !important; 
    overflow-y: auto !important; 
    overflow-x: hidden !important; 
    padding-right: 6px !important; 
    gap: 10px;
}
.notes-list,.share-list,.presence-list,.outline-list{ min-height: 0; }
.stat-box, .member-item, .note-item, .share-item, .presence-item{ word-break: break-word; }

/* --- NOTE / MODAL / BUBBLE FIXES --- */
.selection-bubble{ align-items:center; }
.selection-bubble .ui-btn.small{ padding: 10px 12px; font-size: 12px; }
.editor-surface{ position: relative; padding-top: 40px; }
.note-anchor{ display:inline; outline: 2px solid #67ff67; outline-offset: 2px; border-radius: 4px; cursor: pointer; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.note-anchor:hover{ background: rgba(103,255,103,.14); }
.note-item-head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }

/* FIX: AVATAR SIZING LOCKED */
.note-avatar, .remote-caret-avatar { width: 38px !important; height: 38px !important; min-width: 38px !important; min-height: 38px !important; max-width: 38px !important; max-height: 38px !important; border-radius: 50% !important; display:flex; align-items:center; justify-content:center; background: #032511; color: #063a0e; font: 800 14px/1 Orbitron,sans-serif; flex: 0 0 auto; overflow: hidden; position: relative; }
.note-avatar img, .remote-caret-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; position: absolute; top: 0; left: 0; display:block; border-radius: 50% !important; }
.note-item { flex-shrink: 0; }
.remote-caret-avatar { width: 22px !important; height: 22px !important; min-width: 22px !important; min-height: 22px !important; max-width: 22px !important; max-height: 22px !important; font-size: 11px; color: #fff; }

.note-meta-copy{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.note-meta-copy strong, .note-item strong{ overflow-wrap:anywhere; }
.note-item .helper-copy{ color: var(--text-soft); }
.note-link-btn{ align-self:flex-start; }
.note-quote{ margin:0; padding:12px 14px; border-left: 3px solid rgba(152,255,137,.65); background:#032511; border-radius:12px; color: var(--text-soft); }

.scribe-modal-card.small { max-height: 90vh; display: flex; flex-direction: column; }
#note-modal-body { flex: 1; overflow-y: auto; min-height: 180px; }

.note-modal-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.note-modal-head h3{ margin:6px 0 0; font:800 24px/1 Orbitron,sans-serif; }
.note-meta-row{ display:flex; align-items:center; gap:12px; margin-top:12px; }
.note-modal-image{ width:100%; max-height:260px; object-fit:contain; border-radius:14px; border:2px solid rgba(152,255,137,.22); background:#032511; }
.genre-chip{ align-items:center; }
.genre-chip span{ display:inline-flex; align-items:center; }
.genre-chip button{ display:inline-flex; align-items:center; justify-content:center; line-height:1; }

@media (max-width: 1280px){ .scribe-shell{ grid-template-columns: 270px minmax(0,1fr) 300px; } }
@media (max-width: 1100px){ .scribe-shell{ grid-template-columns: 1fr; } .scribe-side{ position: static; max-height: none; } .tool-grid.three{ grid-template-columns: 1fr; } }

/* --- LIVE VIEWER + LAYOUT PATCHES --- */
body.scribe-page{background:var(--bg-bright)!important;}
.editor-top-card{position:relative;z-index:2}
.scribe-side,.editor-scroll,.outline-scroll,.side-scroll,.notes-scroll{scrollbar-gutter:stable;}
.presence-item,.member-item,.share-item,.note-item{overflow:hidden;}
.presence-item strong,.member-item strong,.share-item strong,.note-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.presence-role,.presence-snippet{font-size:12px;color:var(--text-soft);line-height:1.35;}
.presence-snippet{margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-break:break-word;}
.note-anchor.type-lore{outline:2px solid #67ff67;background:rgba(103,255,103,.08);} 
.note-anchor.type-comment{outline:2px solid #60a8ff;background:rgba(96,168,255,.10);} 
.note-anchor{padding:0 .08em;border-radius:4px;cursor:pointer;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.note-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;}
.note-image-tile{position:relative;border:2px solid rgba(152,255,137,.22);border-radius:12px;overflow:hidden;background:#032511;}
.note-image-tile img{display:block;width:100%;height:140px;object-fit:cover;}
.note-image-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;border-radius:999px;background:#65f65d;color:#063a0e;font-weight:800;cursor:pointer;}
.selection-bubble .ui-btn.small{font-family:Inter,Arial,sans-serif;font-weight:800;padding:10px 12px;}

/* --- BRAND/EDITOR TOOLS REPAIR PATCH --- */
.brand-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 8px}.brand-actions .pill{padding:10px 14px}.doc-chip-row{display:none!important}.tool-grid.three{grid-template-columns:minmax(260px,.95fr) minmax(280px,1.1fr) minmax(180px,.72fr)}.tool-box{min-height:0}.tool-box .helper-copy{font-size:12px}.ui-input#font-select{font-size:18px}.editor-scroll{overscroll-behavior:contain}.editor-surface{transition:background-color .15s ease,color .15s ease}.editor-surface *{max-width:100%}.mini-pill{font-size:13px}.brand-panel p{margin-top:6px}.editor-top-card .pill{display:none}.color-row{align-items:flex-start}.editor-surface a{color:#0c57d0;text-decoration:underline}@media (max-width:1300px){.tool-grid.three{grid-template-columns:1fr 1fr}.tool-box:last-child{grid-column:1 / -1}}
.brand-panel .brand-actions{justify-content:center;width:100%;}
.brand-panel .brand-actions .pill,.brand-panel .brand-actions .mini-pill{min-width:88px;text-align:center;}
.ui-btn,.icon-btn,.tab-btn,.pill,.mini-pill{box-shadow:none!important;text-shadow:0 0 0 rgba(0,0,0,0);border-color:#1d261f!important;}
.ui-btn,.icon-btn,.tab-btn{background:#46e84d!important;color:#091209!important;border:2px solid #202520!important;}
.ui-btn.primary{background:#4cf255!important;color:#091209!important;border-color:#202520!important;}
#invite-add-btn{box-shadow:0 0 18px rgba(101,246,93,.55)!important;}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;}
.compact-font-box .helper-copy{display:none;}
.font-picker-wrap{position:relative;}
.font-picker-btn{width:100%;border-radius:14px;border:2px solid rgba(152,255,137,.45);background:#031107;color:#fff;padding:12px 14px;text-align:left;font:700 18px/1.2 Merriweather,Georgia,serif;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.font-picker-btn:focus,.font-picker-btn:hover{border-color:var(--line);}
.font-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:320px;overflow:auto;background:#031107;border:2px solid rgba(152,255,137,.35);border-radius:14px;z-index:1200;padding:6px;box-shadow:0 10px 24px rgba(0,0,0,.3);scrollbar-width:thin;scrollbar-color:rgba(152,255,137,.5) rgba(0,0,0,.2);}
.font-picker-menu::-webkit-scrollbar { width: 6px; }
.font-picker-menu::-webkit-scrollbar-thumb { background: rgba(152,255,137,.5); border-radius: 4px; }
.font-picker-option{width:100%;display:flex;align-items:center;justify-content:flex-start;text-align:left;padding:10px 12px;border:none;background:transparent;color:#fff;border-radius:10px;cursor:pointer;font-size:16px;line-height:1.2;}
.font-picker-option:hover,.font-picker-option.active{background:rgba(255,255,255,.12);}
.font-picker-option small{opacity:.9;}
#font-size-number,#stroke-width-number,.mini-number{min-width:86px;width:86px;padding-right:28px!important;appearance:auto;}
.range-row{align-items:center;}
.tool-grid.three{grid-template-columns:minmax(240px,.9fr) minmax(260px,1fr) minmax(180px,.65fr);}
.compact-font-box{padding-bottom:14px;}
.tool-box{padding:12px;}
.button-row.wrap{gap:8px;}
.color-row{gap:10px;}
.presence-item .note-item-head,.member-item,.share-item{align-items:center;}

/* v4 live/viewer/layout patch */
.centered-pills{justify-content:center}.brand-actions.centered-pills{display:flex;gap:10px;flex-wrap:wrap}
.layout-tools{display:grid;gap:6px}.check-row.compact{margin-top:0;font-size:13px}
.mini-number{width:82px;min-width:82px;padding-right:10px}
.tool-box{overflow:visible}

/* FIX: BEACON POSITIONING AND LAYERING */
#remote-cursor-layer{position:absolute; inset:0; pointer-events:none; z-index:20;}
.remote-caret{position:absolute;transform:translate(-1px,-2px); z-index: 50;}
.remote-caret-line{display:block;width:2px;height:24px;background:var(--caret-color,#65f65d);box-shadow:0 0 0 1px rgba(0,0,0,.22)}
.remote-caret-label{
    position:absolute;
    left: -8px; 
    bottom: 100%;
    margin-bottom: 2px;
    max-width:160px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    padding:3px 8px;
    border-radius:999px;
    background:var(--caret-color,#65f65d);
    color:#052d0a;
    font:700 11px/1.2 Inter,Arial,sans-serif;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    z-index: 100;
}
.remote-caret-label span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.community-panel .viewer-actions{justify-content:space-between}
.layout-hide-sides .left-side,.layout-hide-sides .right-side{display:none}
.layout-hide-sides .scribe-shell{grid-template-columns:minmax(0,1fr)}
.font-picker-btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.font-picker-option{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:#031107;color:#fff;font-size:15px;cursor:pointer}
.font-picker-option.active,.font-picker-option:hover{background:#4f4f60}
#font-size-number::-webkit-outer-spin-button,#font-size-number::-webkit-inner-spin-button,#stroke-width-number::-webkit-outer-spin-button,#stroke-width-number::-webkit-inner-spin-button{opacity:1}
#font-size-number,#stroke-width-number{padding-right:2px}
@media (max-width:1100px){.layout-hide-sides .scribe-shell{grid-template-columns:1fr}.remote-caret-label{max-width:80px}}

/* workspace patch */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0}
.brand-tools .inline-controls.wrap{flex-wrap:wrap}
.mini-number{width:96px!important;min-width:96px!important;padding-right:30px!important}
.compact-font-box .font-picker-wrap,.compact-font-box .font-picker-btn{width:100%}
.panel-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.wider-modal{width:min(92vw,680px)}
.layout-two-col .scribe-shell{grid-template-columns:290px minmax(0,1fr)}
.layout-two-col .right-side{grid-column:2;position:static;max-height:none;overflow:visible}
.layout-focus-col .left-side .dock-panel,.layout-focus-col .right-side .dock-panel{display:none!important}
.layout-hide-all .dock-panel{display:none!important}
.layout-editing .dock-panel{cursor:move;position:relative}
.layout-editing .dock-panel.dragging{opacity:.55;outline:2px dashed var(--line)}
.check-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:5px;border:2px solid rgba(152,255,137,.55);background:#04210b;display:inline-grid;place-items:center;cursor:pointer;position:relative}
.check-row input[type="checkbox"]:checked{background:linear-gradient(180deg,#65f65d,#38d934);border-color:#98ff89}
.check-row input[type="checkbox"]:checked::after{content:"";width:8px;height:8px;border-right:2px solid #063a0e;border-bottom:2px solid #063a0e;transform:rotate(45deg) translate(-1px,-1px)}
.centered-pills{justify-content:center}

/* patch: viewer controls + fit */
.scribe-page .tool-grid > *,.scribe-page .tool-box,.scribe-page .font-picker-wrap{min-width:0;}
.range-row{display:grid !important;grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:10px;}
.range-row input[type=range]{width:100%;min-width:0;}
#font-size-number,#stroke-width-number,.mini-number{width:86px !important;min-width:86px !important;max-width:86px;padding-right:22px !important;}
.tool-box{overflow:hidden;}
.compact-font-box .font-picker-btn{max-width:100%;}

/* === EXTREME VIEWER MODE UI HIDING === */
.edit-only[hidden],.manage-only[hidden]{display:none!important;}
.viewer-mode .edit-only,
.viewer-mode .manage-only,
.viewer-mode [data-needs-edit="1"]{display:none !important;}
.viewer-mode .toolbar-tabs .tab-btn:not([data-tab="view"]){display:none !important;}
.viewer-mode .tab-panel:not([data-panel="view"]){display:none !important;}
.viewer-mode .tab-panel[data-panel="view"]{display:block !important;}

.viewer-mode details[data-panel-key="sharing"],
.viewer-mode details[data-panel-key="export"],
.viewer-mode details[data-panel-key="docsettings"] .inline-controls,
.viewer-mode details[data-panel-key="docsettings"] .label-sm,
.viewer-mode details[data-panel-key="docsettings"] .collapse-body > .inline-controls,
.viewer-mode #doc-slug-input,
.viewer-mode #doc-slug-rename-btn,
.viewer-mode #planner-add-chapter,
.viewer-mode #planner-add-subchapter,
.viewer-mode #genre-preset,
.viewer-mode #genre-add-btn,
.viewer-mode #genre-custom,
.viewer-mode #genre-custom-add-btn,
.viewer-mode #meta-status,
.viewer-mode #meta-description,
.viewer-mode #meta-private,
.viewer-mode #meta-hidden,
.viewer-mode #save-meta-btn,
.viewer-mode #meta-cover-btn,
.viewer-mode #meta-cover-remove-btn,
.viewer-mode .community-panel .viewer-actions #like-btn,
.viewer-mode .community-panel .viewer-actions #dislike-btn{display:none !important;}

.viewer-mode details[data-panel-key="metadata"] .check-row,
.viewer-mode details[data-panel-key="metadata"] .ui-textarea,
.viewer-mode details[data-panel-key="metadata"] .ui-input,
.viewer-mode details[data-panel-key="metadata"] .inline-controls{display:none !important;}
.viewer-mode details[data-panel-key="metadata"] #genre-chip-list{display:flex !important;}
.viewer-mode details[data-panel-key="metadata"] .collapse-body > .label-sm{display:none !important;}
.viewer-mode .left-side .panel-card .collapse-body{padding-top:12px;}
.viewer-mode .doc-panel .ui-input{pointer-events:none;}
.viewer-mode .doc-panel .stat-grid{margin-top:14px;}
.viewer-mode #viewer-comment-btn{display:inline-flex !important;}
.viewer-hide{display:none!important}

/* Viewer Bubble Hiding - Force hide everything except comment */
.viewer-mode #selection-bubble .bubble-group:not(.comment-group-only) { display: none !important; }
.viewer-mode #selection-bubble .comment-group-only { display: flex !important; }
.viewer-mode #bubble-note, .viewer-mode #bubble-image, .viewer-mode #bubble-spoiler, .viewer-mode #bubble-glow, .viewer-mode #bubble-shake, .viewer-mode #bubble-text-color, .viewer-mode #bubble-font-up, .viewer-mode #bubble-font-down { display: none !important; }
.viewer-mode #bubble-comment { display: inline-flex !important; }

.centered-pills{justify-content:center;}
.check-row input[type="checkbox"]{accent-color:#56ef57;}
#font-picker-menu{z-index:2500;}

/* hotfix patch */
.brand-actions.centered-pills,.brand-panel .inline-controls.wrap.centered-pills,.brand-tools .inline-controls.wrap{justify-content:center}
.right-side .panel-card,.left-side .panel-card{position:relative}
.panel-min-btn{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:10px;border:2px solid rgba(152,255,137,.3);background:#052212;color:#fff;font:800 16px/1 Orbitron,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3}
.panel-collapsed > :not(summary):not(.panel-min-btn), .panel-collapsed .collapse-body{display:none !important}
.panel-collapsed{padding-bottom:14px !important;min-height:auto !important}
.panel-drag-handle{cursor:grab}
.panel-hidden-by-user{display:none !important}
.brand-tools-drawer{display:none;margin-top:10px;padding:10px;border:2px solid rgba(152,255,137,.18);border-radius:14px;background:rgba(0,0,0,.12)}
.brand-tools-drawer.open{display:block}
.brand-tools-drawer .inline-controls{flex-wrap:wrap;justify-content:center}
.brand-tools-drawer label{width:100%}
.workspace-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.workspace-quick .ui-btn{width:100%}
body.layout-focus .left-side, body.layout-focus .right-side{display:none !important}
body.layout-focus .scribe-shell{grid-template-columns:1fr !important}
body.layout-two .scribe-shell{grid-template-columns:290px minmax(0,1fr) !important}
body.layout-three .scribe-shell{grid-template-columns:290px minmax(0,1fr) 330px !important}

/* live fix 2 */
.inline-controls.wrap{flex-wrap:wrap;}
.scribe-side{overflow-y:auto;overflow-x:hidden;padding-bottom:18px;}
.collapse-body,.tool-box,.stat-box{min-width:0;}
.scribe-side .ui-btn,.scribe-side .pill,.scribe-side .mini-btn{max-width:100%;}
.scribe-side .collapse-body > .inline-controls{align-items:stretch;}
.scribe-side [data-panel-key="export"] .inline-controls{align-items:center;}
@media (max-width:1100px){.scribe-side{max-height:none;position:static;}}

/* panel/font alignment fix */
.font-picker-wrap{position:relative;width:100%;}
#font-picker-btn.font-picker-btn{width:100%;display:block;}
#font-picker-menu.font-picker-menu{left:0;right:0;top:calc(100% + 8px);max-width:none;}
.layout-hide-all .dock-panel:not(.brand-panel){display:none !important;}
.layout-hide-all .left-side,.layout-hide-all .right-side{display:flex !important;}
.layout-hide-all .brand-panel{display:block !important;}

/* ui restore clean overrides */
.scribe-shell{align-items:start;}
.left-side,.right-side,.scribe-center{min-width:0;}
.scribe-side{overflow-y:auto;overflow-x:hidden;padding-bottom:18px;max-height:calc(100vh - 84px);}
.font-picker-wrap{position:relative;width:100%;}
#font-picker-btn.font-picker-btn{width:100%;display:block;}
#font-picker-menu.font-picker-menu{left:0;right:0;top:calc(100% + 8px);max-width:none;z-index:2500;}
.layout-hide-all .left-side .dock-panel:not(.brand-panel), .layout-hide-all .right-side .dock-panel{display:none !important;}
.layout-hide-all .left-side .brand-panel{display:block !important;}
.layout-hide-all .scribe-center{display:flex !important;}
.layout-hide-all .left-side, .layout-hide-all .right-side{display:flex;}
[data-panel-key="export"] .inline-controls.wrap,[data-panel-key="docsettings"] .inline-controls.wrap{flex-wrap:wrap;}
[data-panel-key="export"] .ui-btn.small{flex:0 0 auto;}

/* --- Compact Bubble Menu Styles --- */
.selection-bubble.compact-icons { padding: 6px; gap: 8px; }
.bubble-group { display: flex; gap: 4px; align-items: center; border-right: 2px solid rgba(152,255,137,.2); padding-right: 8px; }
.bubble-group:last-child { border-right: none; padding-right: 0; }
.selection-bubble .ui-btn.small { padding: 8px 10px; font-size: 13px; }
input[type="color"].bubble-color { width: 28px; height: 28px; padding: 0; border: 2px solid rgba(152,255,137,.45); border-radius: 6px; background: transparent; cursor: pointer; }

/* --- NEW HUB ADVANCED LAYOUT --- */
.scribe-hub-page { max-width: 1800px; margin: 18px auto 0; padding: 0 18px 28px; }
.hub-single-layout { width: 100%; }
.hub-library-card { padding: 20px; }
.hub-filters-advanced { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.hub-filters-advanced > * { flex: 1; min-width: 160px; }
.hub-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; padding-top: 16px; border-top: 2px dashed rgba(152,255,137,.15); }
.page-info { font: 800 13px/1 Orbitron, sans-serif; color: #98ff89; text-transform: uppercase; }

/* Hub Cards Grid */
.hub-doc-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }
.hub-doc-card { display: flex; flex-direction: column; background: #032511; border: 2px solid rgba(152,255,137,.22); border-radius: 16px; padding: 14px; gap: 12px; }
.hub-card-top { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; align-items: stretch; }
.hub-card-left { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.hub-visibility, .hub-status-badge { width: 100%; }

.hub-cover-wrap { 
    position: relative; 
    width: 110px; 
    height: 155px; 
    border-radius: 10px; 
    overflow: hidden; 
    border: 2px solid rgba(152,255,137,.25); 
    background: #021006; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    flex-shrink: 0; 
}
.hub-cover { width: 100%; height: 100%; object-fit: cover; }

/* FIX: Ensure placeholder covers the whole box and centers content */
.hub-cover-placeholder { 
    font-size: 11px; 
    color: rgba(152,255,137,.4); 
    text-align: center; 
    padding: 10px; 
    font-family: Inter, sans-serif; 
    width: 100%; 
    height: 100%; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
}

/* FIX: Style the clickable background interaction properly */
.clickable-placeholder { cursor: pointer; transition: background 0.2s; }
.clickable-placeholder:hover { background: rgba(152,255,137,.1); }

/* Hub Cover Upload / Remove Buttons */
.hub-cover-remove-btn { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border-radius: 6px; background: rgba(220, 53, 69, 0.9); border: 1px solid rgba(255,255,255,0.5); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 12px; font-weight: bold; transition: background 0.2s, transform 0.2s; z-index: 10; opacity: 1; }
.hub-cover-remove-btn:hover { background: #dc3545; transform: scale(1.1); }

.hub-card-right { display: flex; flex-direction: column; min-width: 0; }
.hub-title-row { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; margin-bottom: 8px; }
.hub-title-row h3 { margin: 0; font: 800 18px/1.1 Orbitron, sans-serif; overflow-wrap: anywhere; width: 100%; }
.hub-action-row { margin-top: 10px; display: flex; width: 100%; }
.hub-action-row .ui-btn { width: 100%; text-align: center; }
.hub-desc { margin: 0 0 10px; color: var(--text-soft); font-size: 13px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hub-genres { display: flex; gap: 4px; flex-wrap: wrap; margin-top: auto; justify-content: center; }
.genre-tag { padding: 4px 8px; border-radius: 999px; background: #054a0e; border: 1px solid rgba(152,255,137,.3); font: 700 10px/1 Inter, sans-serif; color: #d6ffd0; }

/* FIX: Restored dashed line separating stats */
.hub-card-bottom { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    border-top: 2px dashed rgba(152,255,137,0.4) !important; 
    padding-top: 12px !important; 
    margin-top: 14px !important; 
    width: 100%;
}
.hub-stats { display: flex; gap: 20px; color: #98ff89; font: 700 13px/1 Inter, sans-serif; }

.badge { display: inline-flex; align-items: center; justify-content: center; padding: 4px 6px; border-radius: 6px; font: 800 10px/1 Orbitron, sans-serif; text-transform: uppercase; letter-spacing: 0.05em; text-align: center; width: 100%; box-sizing: border-box; }
.badge.public { background: rgba(101,246,93,.15); color: #65f65d; border: 1px solid rgba(101,246,93,.3); }
.badge.private { background: rgba(255,87,87,.15); color: #ff6b6b; border: 1px solid rgba(255,87,87,.3); }
.badge.hidden { background: rgba(255,184,87,.15); color: #ffb857; border: 1px solid rgba(255,184,87,.3); }
.hub-status-badge .badge { background: #04210b; color: #98ff89; border: 1px solid rgba(152,255,137,.4); }

@media (max-width: 600px) { 
    .hub-cover-remove-btn { opacity: 1; }
    .hub-card-top { grid-template-columns: 1fr; gap: 12px; } 
    .hub-card-left { align-items: flex-start; flex-direction: row; flex-wrap: wrap; } 
    .hub-cover-wrap { width: 90px; height: 125px; margin: 0 auto; } 
    .hub-visibility, .hub-status-badge { flex: 1; min-width: 100px; } 
}

/* --- EDITOR UI POLISH (Squish Tools & Hide Large Text) --- */
.editor-hero { display: none !important; }
.editor-top-card { padding: 10px 14px; position: sticky; top: 10px; z-index: 100; background: linear-gradient(180deg, var(--card), var(--card-2)); border-radius: 16px; border: 2px solid var(--line-soft); box-shadow: var(--panel-shadow); margin-bottom: 12px; }
.layout-nonsticky-top .editor-top-card { position: relative !important; top: 0; }
.tool-grid { gap: 8px; margin-top: 0; }
.tool-box { padding: 8px 10px; min-height: 0; overflow: visible; }
.tool-title { margin-bottom: 6px; font-size: 11px; }
.ui-input#font-select, .font-picker-btn { padding: 6px 10px; font-size: 13px; height: 32px; }
.button-row { gap: 6px; }
.ui-btn.small, .icon-btn, .mini-btn { padding: 4px 8px; font-size: 12px; height: 32px; }
.color-row input, .color-input { width: 36px; height: 32px; }
#font-size-number, #stroke-width-number, .mini-number { width: 70px !important; min-width: 70px !important; height: 32px; padding: 4px 18px 4px 8px !important; font-size: 13px; }
.range-row input[type=range] { margin: 0; }

/* --- Outline and Planner Scrollbars --- */
#chapter-nav, #planner-tree { max-height: 250px; overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-width: thin; scrollbar-color: rgba(152,255,137,.5) rgba(0,0,0,.2); }
#chapter-nav::-webkit-scrollbar, #planner-tree::-webkit-scrollbar { width: 6px; }
#chapter-nav::-webkit-scrollbar-thumb, #planner-tree::-webkit-scrollbar-thumb { background: rgba(152,255,137,.5); border-radius: 4px; }
#chapter-nav::-webkit-scrollbar-track, #planner-tree::-webkit-scrollbar-track { background: rgba(0,0,0,.15); border-radius: 4px; }

/* --- HUB AUTHOR STYLES --- */
.hub-author { color: var(--text-soft); font-size: 13px; line-height: 1.4; text-align: center; margin-top: 4px; width: 100%; }
.hub-author strong { color: #98ff89; font-weight: 700; }

/* --- NEW CUSTOM TEXT EFFECTS (Spoilers, Glows, Quotes, Code) --- */
.editor-surface .spoiler-text { background-color: currentColor; color: transparent !important; border-radius: 4px; cursor: pointer; transition: background-color 0.25s, color 0.25s; }
.editor-surface .spoiler-text:hover { background-color: rgba(255,255,255,0.1); color: inherit !important; }
.editor-surface .glow-text { text-shadow: 0 0 10px currentColor, 0 0 20px currentColor; }
.editor-surface .blur-text { filter: blur(5px); cursor: pointer; transition: filter 0.3s; }
.editor-surface .blur-text:hover { filter: blur(0); }
.editor-surface .rainbow-text { background: linear-gradient(90deg, #ff4b4b, #ffb84b, #f0ff4b, #4bff51, #4bb8ff, #994bff, #ff4bff); background-size: 200% auto; color: transparent !important; -webkit-background-clip: text; background-clip: text; animation: rainbow-anim 3s linear infinite; }
.editor-surface .shake-text { display: inline-block; animation: shake-anim 0.3s infinite; color: inherit; }
@keyframes rainbow-anim { to { background-position: 200% center; } }
@keyframes shake-anim { 0% { transform: translate(0, 0); } 25% { transform: translate(1px, -1px); } 50% { transform: translate(-1px, 1px); } 75% { transform: translate(1px, 1px); } 100% { transform: translate(-1px, -1px); } }
.editor-surface blockquote { border-left: 4px solid var(--line); margin: 1.5em 0; padding: 12px 16px; background: rgba(152, 255, 137, 0.08); border-radius: 0 8px 8px 0; color: #efffea; font-style: italic; font-size: 0.95em; }
.editor-surface pre { background: #051408; color: #65f65d; padding: 16px; border-radius: 12px; font-family: 'JetBrains Mono', 'Courier New', monospace; font-size: 16px; overflow-x: auto; border: 2px solid rgba(152, 255, 137, 0.2); box-shadow: inset 0 2px 10px rgba(0,0,0,0.5); white-space: pre-wrap; word-break: break-all; }