.app-shell{min-height:100vh;background:var(--bg)}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:var(--sidebar-bg);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;z-index:20}.app-brand{padding:0 8px 18px}.side-search{position:relative}.side-search input{height:40px;padding-left:38px;background:#f8f7f4}.side-search:before{content:'⌕';position:absolute;left:13px;top:8px;color:#8d918c}.side-nav{margin:14px 0}.side-item{width:100%;height:40px;border:0;border-radius:11px;background:transparent;padding:0 11px;display:flex;align-items:center;gap:11px;text-align:left;color:#353835}.side-item:hover{background:#f5f4f0}.side-item.active{background:#edf3ff;color:#2258b8;font-weight:700}.new-page-btn{width:100%;margin:8px 0 14px}.side-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#aaa;padding:8px 10px}.page-list{overflow:auto;flex:1}.page-row{height:39px;border-radius:10px;display:flex;align-items:center;gap:9px;padding:0 10px;font-size:13px;cursor:pointer}.page-row:hover{background:#f6f5f2}.page-row.active{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent)}.page-row .page-title-side{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.page-menu{opacity:0;border:0;background:transparent}.page-row:hover .page-menu{opacity:1}.side-bottom{border-top:1px solid var(--line);padding-top:12px}.profile-card{margin-top:10px;border:1px solid var(--line);background:#faf9f6;border-radius:14px;padding:9px;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;background:#eee6dc;display:grid;place-items:center;font-weight:800;font-size:12px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-meta{min-width:0;flex:1}.profile-meta b{display:block;font-size:12px}.profile-meta span{font-size:10px;color:#888}.app-topbar{position:fixed;left:var(--sidebar);right:0;top:0;height:var(--topbar);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:18;display:flex;align-items:center;padding:0 22px;gap:12px}.crumb{font-size:12px;color:#8b8e89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-spacer{flex:1}.save-state{font-size:11px;color:#7d847c;display:flex;align-items:center;gap:7px}.save-dot{width:8px;height:8px;border-radius:50%;background:#4da46d}.save-dot.saving{background:#e2ab34}.save-dot.error{background:#e05c64}.layout-switch{display:flex;border:1px solid var(--line);padding:3px;border-radius:11px;background:#f8f7f4}.layout-switch button{border:0;background:transparent;border-radius:8px;padding:7px 9px;font-size:11px}.layout-switch button.active{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.06);font-weight:700}.app-main{margin-left:var(--sidebar);padding-top:var(--topbar);min-height:100vh}.content{padding:34px 40px 80px;max-width:1600px;margin:auto}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.home-copy h1{font-size:38px;line-height:1.05;margin:0 0 8px;letter-spacing:-.04em}.home-copy p{margin:0;color:#777}.home-mascot{width:150px}.quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.qa{height:42px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font-weight:700;background:#fff}.qa.note{background:var(--note-soft);color:#2863cd}.qa.task{background:var(--task-soft);color:#18844e}.qa.calendar{background:var(--calendar-soft);color:#d33f58}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.dash-card{padding:18px}.dash-card h3{margin:0 0 14px;font-size:15px}.recent-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.recent-page{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;cursor:pointer}.recent-page:hover{box-shadow:var(--shadow-soft)}.recent-page .rp-icon{width:36px;height:36px;border-radius:10px;background:#eef3fb;display:grid;place-items:center;margin-bottom:10px}.recent-page b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-page small{font-size:10px;color:#939690}.empty-state{min-height:440px;display:grid;place-items:center;text-align:center}.empty-state img{width:160px}.empty-state h2{font-size:30px;margin:10px 0 5px}.empty-state p{color:#7b7f79;max-width:430px}.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}.page-icon-btn{width:52px;height:52px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:26px}.page-title-wrap{flex:1}.page-title{font-size:42px;line-height:1.04;font-weight:800;letter-spacing:-.045em;border:0;background:transparent;width:100%;outline:0;color:var(--ink);padding:0}.page-meta{font-size:11px;color:#969994;margin-top:6px}.page-tabs{display:flex;align-items:center;gap:10px;margin:0 0 18px;border-bottom:1px solid var(--line)}.page-tab{border:0;background:transparent;padding:10px 4px 11px;font-size:12px;color:#777;border-bottom:2px solid transparent}.page-tab.active{color:var(--ink);font-weight:700;border-color:var(--ink)}.module-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.add-module-btn{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:12px;font-weight:700}.canvas-wrap{position:relative}.canvas-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}.block{position:relative;background:#fff;border:1px solid var(--line);border-radius:17px;min-height:130px;overflow:hidden;box-shadow:0 2px 10px rgba(30,25,20,.03)}.block.selected{outline:2px solid rgba(75,131,245,.5);outline-offset:2px}.block[data-w="4"]{grid-column:span 4}.block[data-w="6"]{grid-column:span 6}.block[data-w="8"]{grid-column:span 8}.block[data-w="12"]{grid-column:span 12}.block-head{height:44px;padding:0 13px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f1eee9}.block-head b{font-size:12px}.block-head .spacer{flex:1}.block-menu{border:0;background:transparent}.block-body{padding:15px}.richbar{display:flex;gap:4px;margin-bottom:10px}.richbar button{border:1px solid var(--line);background:#fff;border-radius:8px;height:30px;min-width:30px}.richtext{min-height:92px;outline:0;font-size:14px;line-height:1.75}.richtext:empty:before{content:'เริ่มจดตรงนี้ได้เลย...';color:#b0b2ae}.checkitem{display:flex;align-items:center;gap:9px;padding:7px 0}.checkitem input{width:17px;height:17px}.checkitem.done span{text-decoration:line-through;color:#999}.checkitem span{flex:1;outline:0}.add-line{border:0;background:transparent;color:#777;padding:7px 0;font-size:12px}.paper-text{min-height:200px;white-space:pre-wrap;outline:0;font-family:var(--font-hand);font-size:17px;line-height:1.9;padding:4px 3px}.paper-block{background:linear-gradient(var(--paper) 0 31px,color-mix(in srgb,var(--paper) 78%,#cdbd9e) 32px,var(--paper) 33px);background-size:100% 32px}.image-box{border-radius:13px;background:#f6f5f2;min-height:180px;overflow:hidden;display:grid;place-items:center}.image-box img{width:100%;height:100%;object-fit:cover}.caption{font-size:11px;color:#777;margin-top:8px;outline:0}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{border-bottom:1px solid #eeeae4;padding:9px;text-align:left}.data-table input,.data-table select{width:100%;border:0;background:transparent;outline:0}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.kan-col{border-radius:14px;padding:10px;min-height:220px;border:1px solid #e8e5df}.kan-head{display:flex;justify-content:space-between;font-size:11px;font-weight:800;margin-bottom:10px}.kan-card{padding:10px;background:#fff;border:1px solid #e7e3dc;border-radius:11px;margin:7px 0;font-size:12px}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-day{min-height:72px;border:1px solid #eeeae4;border-radius:9px;padding:6px;font-size:10px}.cal-event{display:block;margin-top:4px;border-radius:6px;padding:3px 5px;background:#edf3ff;color:#2258b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gallery-item{aspect-ratio:1.2;border-radius:11px;overflow:hidden;background:#f5f3ef}.gallery-item img{width:100%;height:100%;object-fit:cover}.free-canvas{position:relative;min-height:1000px;border-radius:18px;background-image:radial-gradient(#dedbd5 1px,transparent 1px);background-size:22px 22px}.free-canvas .block{position:absolute;width:500px}.infinite-viewport{height:calc(100vh - 180px);min-height:620px;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fdfcf9}.infinite-space{position:relative;width:10000px;height:10000px;background-image:radial-gradient(#ddd9d2 1px,transparent 1px);background-size:26px 26px}.infinite-space .block{position:absolute;width:520px;min-height:250px}.drag-handle{cursor:grab;color:#bbb}.modal-bg{position:fixed;inset:0;background:rgba(20,20,20,.25);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-bg.open{display:flex}.modal{width:min(560px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.18);padding:22px}.modal h2{margin:0 0 5px}.modal p{margin:0;color:#777;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.module-option{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left}.module-option:hover{border-color:#c9d7f0;background:#fbfdff}.module-option i{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#f3f4f6;font-style:normal;margin-bottom:9px}.module-option b{display:block;font-size:12px}.module-option span{display:block;font-size:10px;color:#888;margin-top:4px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;background:#171717;color:#fff;border-radius:12px;padding:11px 16px;font-size:12px;z-index:80;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.auth-layer{position:fixed;inset:0;z-index:100;background:#f8f5ef;display:grid;grid-template-columns:1.1fr .9fr}.auth-art{position:relative;background:linear-gradient(135deg,#fff9ea,#f3f8f3);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:50px}.auth-art:before{content:'';position:absolute;width:420px;height:420px;background:#f5c84c;border-radius:50%;opacity:.18;top:-130px;left:-100px}.auth-art-inner{max-width:520px;position:relative}.auth-art h1{font-size:55px;line-height:1.03;letter-spacing:-.055em;margin:15px 0}.auth-art p{font-size:17px;color:#666;line-height:1.7}.auth-mascot{width:230px}.auth-panel{display:grid;place-items:center;background:#fff;padding:30px}.auth-box{width:min(390px,100%)}.auth-box h2{font-size:28px;margin:0 0 6px}.auth-box p{color:#777;margin:0 0 22px;font-size:13px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px}.auth-tab{flex:1;border:0;background:transparent;padding:10px;font-weight:700;border-bottom:2px solid transparent}.auth-tab.active{border-color:var(--ink)}.form-stack{display:grid;gap:11px}.auth-error{min-height:19px;color:#d34a58;font-size:11px}.auth-links{display:flex;justify-content:space-between;font-size:11px;color:#666;margin-top:10px}.share-view-banner{background:#fff6d7;border-bottom:1px solid #ead79c;padding:8px 16px;text-align:center;font-size:12px}.right-drawer{position:fixed;right:0;top:var(--topbar);bottom:0;width:320px;background:#fff;border-left:1px solid var(--line);z-index:25;transform:translateX(100%);transition:.22s;padding:18px;overflow:auto}.right-drawer.open{transform:translateX(0)}
@media(max-width:900px){:root{--sidebar:220px}.content{padding:25px 22px 70px}.dashboard-grid{grid-template-columns:1fr}.recent-pages{grid-template-columns:repeat(2,1fr)}.canvas-grid{grid-template-columns:1fr}.block[data-w]{grid-column:1}.auth-layer{grid-template-columns:1fr}.auth-art{display:none}}
@media(max-width:680px){:root{--sidebar:0px;--topbar:58px}.app-sidebar{display:none}.app-topbar{left:0;padding:0 10px}.app-main{margin-left:0}.content{padding:20px 13px 80px}.home-hero{align-items:flex-start}.home-mascot{width:100px}.home-copy h1{font-size:29px}.page-title{font-size:32px}.layout-switch button{padding:6px}.layout-switch button span{display:none}.recent-pages{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.free-canvas{min-height:750px}.free-canvas .block{width:calc(100vw - 40px)!important;left:0!important}.right-drawer{width:100%;top:58px}}

/* v2.0.2 clean workspace refinements */
.page-row-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px}.page-icon-image{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}.page-icon-symbol{display:grid;place-items:center;line-height:1}.page-icon-main.page-icon-image{border-radius:11px}.page-icon-main.page-icon-symbol{font-size:27px}.page-icon-btn{display:grid;place-items:center;overflow:hidden;padding:7px}.page-mascot{width:82px;opacity:.92}.workspace-empty{min-height:calc(100vh - 180px);display:grid;place-items:center;align-content:center;text-align:center;gap:10px}.workspace-empty img{width:132px}.workspace-empty h1{font-size:32px;letter-spacing:-.04em;margin:0}.workspace-empty p{margin:0 0 8px;color:var(--muted);max-width:430px}.module-toolbar{margin-top:2px;margin-bottom:16px}.add-module-btn{border-style:dashed;background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%)}.modal-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.icon-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin-top:16px}.icon-choice{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);border-radius:11px;font-size:21px}.icon-choice:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-row b{font-size:12px;display:block}.settings-row small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.inline-setting{display:flex;align-items:center;gap:8px}.icon-input{width:90px}.spread{justify-content:space-between}.settings-stack{display:grid;gap:12px;margin-top:18px}.settings-section{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--surface)}.settings-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.settings-section-title b{font-size:13px}.settings-section-title span{font-size:10px;color:var(--muted);text-align:right}.color-setting-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.color-setting{height:46px;border:1px solid var(--line);border-radius:12px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.color-setting input[type=color]{width:28px;height:28px;border:0;background:transparent;padding:0}.btn.compact{height:36px;padding:0 12px;font-size:11px}.toggle-row{height:40px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.toggle-row input{width:18px;height:18px;accent-color:var(--accent)}
@media(max-width:680px){.page-mascot{display:none}.icon-picker-grid{grid-template-columns:repeat(5,1fr)}.settings-row{align-items:flex-start;flex-direction:column}.color-setting-grid{grid-template-columns:1fr}}

.app-sidebar{color:var(--sidebar-ink);border-right-color:var(--sidebar-line)}.app-sidebar .side-item{color:var(--sidebar-ink)}.app-sidebar .side-search input{background:var(--sidebar-field);color:var(--sidebar-ink);border-color:var(--sidebar-line)}.app-sidebar .side-search:before{color:color-mix(in srgb,var(--sidebar-ink) 60%,transparent)}.app-sidebar .side-label{color:color-mix(in srgb,var(--sidebar-ink) 48%,transparent)}.app-sidebar .side-bottom{border-top-color:var(--sidebar-line)}.app-sidebar .profile-card{background:var(--sidebar-field);border-color:var(--sidebar-line)}.app-sidebar .page-row:hover,.app-sidebar .side-item:hover{background:color-mix(in srgb,var(--sidebar-ink) 8%,transparent)}

/* v2.0.4 page header cleanup */
.page-head{align-items:center}.page-add-btn{margin-left:auto;flex:0 0 auto;min-width:82px;height:40px;border-style:solid;background:var(--surface)}.page-add-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.richtext h1{font-size:2em;line-height:1.2;margin:.35em 0;font-weight:800;letter-spacing:-.025em}.richtext h2{font-size:1.5em;line-height:1.3;margin:.4em 0;font-weight:750;letter-spacing:-.015em}@media(max-width:680px){.page-head{align-items:flex-start;gap:10px}.page-add-btn{height:38px;min-width:70px;padding:8px 10px}.page-icon-btn{width:46px;height:46px}.page-title{font-size:30px}}

/* v2.0.7 unified module icon system */
.module-option i.module-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-style:normal;margin-bottom:9px;background:#f3f4f6;color:#4d5661}
.module-option i.module-icon .module-svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.module-option i.module-icon.tone-blue{background:#edf3ff;color:#2868cf}
.module-option i.module-icon.tone-green{background:#eaf9f1;color:#168257}
.module-option i.module-icon.tone-red{background:#fff0f2;color:#d8455f}
.module-option i.module-icon.tone-purple{background:#f1edff;color:#6e4bd2}
.module-option i.module-icon.tone-cyan{background:#eaf8fc;color:#147fa5}
.module-option i.module-icon.tone-amber{background:#fff5df;color:#b77810}
.module-option i.module-icon.tone-yellow{background:#fff8df;color:#9c7514}
.module-option i.module-icon.tone-mint{background:#eaf8f4;color:#18816f}

/* v2.0.8 icon rendering hardening */
.module-option i.module-icon svg{width:21px;height:21px;display:block;fill:none!important;stroke:currentColor!important;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.module-option i.module-icon svg *{fill:none!important;stroke:currentColor!important;vector-effect:non-scaling-stroke}

/* v2.0.13 — auth mascot alignment */
.auth-mascot{
  display:block;
  width:250px;
  max-width:100%;
  height:auto;
  margin:28px auto 0;
  object-fit:contain;
}
body.auth-open{overflow:hidden}
@media(max-width:1050px){.auth-mascot{width:220px;margin-top:22px}}
@media(max-width:680px){.auth-mascot{width:185px;margin-top:18px}}


/* v2.0.14 — auth typography rhythm + clean vector mascot */
.auth-art-inner{
  max-width:560px;
}
.auth-art h1{
  font-size:55px;
  line-height:1.15;
  letter-spacing:-.038em;
  margin:0 0 24px;
}
.auth-art p{
  margin:0 0 26px;
  line-height:1.75;
}
.auth-mascot{
  display:block;
  width:270px;
  max-width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  filter:none;
}
@media(max-width:1050px){
  .auth-art h1{line-height:1.14}
  .auth-mascot{width:235px}
}
@media(max-width:680px){
  .auth-art h1{line-height:1.14}
  .auth-mascot{width:190px}
}

/* v2.0.15 — module resize handle + working width presets */
.block{
  position:relative;
}

.block-resize-handle{
  position:absolute;
  right:7px;
  bottom:7px;
  width:22px;
  height:22px;
  z-index:12;
  border:0;
  border-radius:7px;
  background:rgba(255,255,255,.86);
  cursor:nwse-resize;
  touch-action:none;
  opacity:.34;
  transition:opacity .16s ease,background .16s ease,transform .16s ease;
}
.block-resize-handle::before,
.block-resize-handle::after{
  content:'';
  position:absolute;
  right:5px;
  bottom:5px;
  border-right:2px solid #9da29d;
  border-bottom:2px solid #9da29d;
  border-radius:0 0 2px 0;
}
.block-resize-handle::before{
  width:11px;
  height:11px;
}
.block-resize-handle::after{
  right:9px;
  bottom:9px;
  width:5px;
  height:5px;
  opacity:.72;
}
.block:hover .block-resize-handle,
.block-resize-handle:focus-visible,
.block.is-resizing .block-resize-handle{
  opacity:1;
  background:#fff;
}
.block-resize-handle:hover{transform:scale(1.05)}
.block-resize-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.block.is-resizing{
  outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent);
  outline-offset:2px;
  box-shadow:0 12px 30px rgba(30,25,20,.10);
}
body.block-resizing{
  cursor:nwse-resize!important;
  user-select:none!important;
}
body.block-resizing *{
  cursor:nwse-resize!important;
}

/* When a user manually changes height, keep the header fixed and let content scroll safely. */
.block[data-manual-height="1"]{
  display:flex;
  flex-direction:column;
  min-height:130px;
}
.block[data-manual-height="1"] .block-head{
  flex:0 0 44px;
}
.block[data-manual-height="1"] .block-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-bottom:30px;
}

/* Width presets and mouse-resize use the same grid span rules. */
.canvas-grid .block[data-w="4"]{grid-column:span 4}
.canvas-grid .block[data-w="6"]{grid-column:span 6}
.canvas-grid .block[data-w="8"]{grid-column:span 8}
.canvas-grid .block[data-w="12"]{grid-column:span 12}

@media(max-width:900px){
  .canvas-grid .block[data-w]{grid-column:1/-1}
  .block-resize-handle{right:6px;bottom:6px;opacity:.5}
}


/* v2.0.16 — minimal diagonal resize handle + image/gallery viewer */
/* Keep a generous invisible hit target, but show only one quiet diagonal chevron. */
.block-resize-handle{
  right:3px;
  bottom:3px;
  width:26px;
  height:26px;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.22;
  cursor:nwse-resize;
  overflow:visible;
  transition:opacity .15s ease,transform .15s ease;
}
.block-resize-handle::before{
  content:'›';
  position:absolute;
  right:4px;
  bottom:0;
  width:auto;
  height:auto;
  border:0;
  color:#8f9690;
  font-family:Arial,sans-serif;
  font-size:25px;
  font-weight:400;
  line-height:1;
  transform:rotate(45deg);
  transform-origin:center;
}
.block-resize-handle::after{display:none!important}
.block:hover .block-resize-handle,
.block.selected .block-resize-handle,
.block-resize-handle:focus-visible,
.block.is-resizing .block-resize-handle{opacity:.72}
.block-resize-handle:hover{transform:none;opacity:1}
.block-resize-handle:focus-visible{outline:0}
.block.is-resizing .block-resize-handle::before{color:#606660}

/* Clickable image previews stay visually clean. */
.media-preview-image,
.media-preview-item{cursor:zoom-in}
.gallery-item.media-preview-item{
  position:relative;
  transition:opacity .15s ease;
}
.gallery-item.media-preview-item:hover{opacity:.94}
.media-preview-image:focus-visible,
.media-preview-item:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 58%,transparent);outline-offset:2px}

/* Full-screen viewer */
body.media-viewer-open{overflow:hidden}
.media-viewer{
  position:fixed;
  inset:0;
  z-index:140;
  display:grid;
  place-items:center;
  background:rgba(16,17,17,.88);
  backdrop-filter:blur(10px);
  padding:44px 78px 56px;
}
.media-viewer-stage{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:min(1280px,calc(100vw - 180px));
  height:calc(100vh - 100px);
  min-width:0;
  min-height:0;
}
.media-viewer-image{
  display:block;
  max-width:100%;
  max-height:calc(100% - 42px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  user-select:none;
  -webkit-user-drag:none;
}
.media-viewer-caption{
  max-width:min(900px,80vw);
  margin-top:14px;
  color:rgba(255,255,255,.88);
  font-size:13px;
  line-height:1.45;
  text-align:center;
}
.media-viewer-close,
.media-viewer-download,
.media-viewer-nav{
  position:absolute;
  z-index:2;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
  opacity:.78;
  transition:opacity .15s ease,transform .15s ease;
}
.media-viewer-close{
  top:22px;
  right:28px;
  width:44px;
  height:44px;
  font-size:34px;
  line-height:1;
  font-weight:300;
}
.media-viewer-download{
  top:26px;
  right:82px;
  width:36px;
  height:36px;
  font-size:22px;
  line-height:1;
  font-weight:400;
  opacity:.58;
}

.media-viewer-nav{
  top:50%;
  width:54px;
  height:70px;
  margin-top:-35px;
  font-family:Arial,sans-serif;
  font-size:54px;
  font-weight:200;
  line-height:1;
}
.media-viewer-prev{left:20px}
.media-viewer-next{right:20px}
.media-viewer-close:hover,
.media-viewer-download:hover,
.media-viewer-nav:hover{opacity:1;transform:scale(1.04)}
.media-viewer-close:focus-visible,
.media-viewer-download:focus-visible,
.media-viewer-nav:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:3px;border-radius:8px}
.media-viewer-count{
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  color:rgba(255,255,255,.72);
  font-size:12px;
  letter-spacing:.04em;
}

@media(max-width:900px){
  .block-resize-handle{right:2px;bottom:2px;opacity:.38}
  .media-viewer{padding:54px 44px 54px}
  .media-viewer-stage{width:calc(100vw - 88px);height:calc(100vh - 108px)}
  .media-viewer-prev{left:4px}
  .media-viewer-next{right:4px}
  .media-viewer-nav{font-size:46px;width:42px}
}
@media(max-width:600px){
  .media-viewer{padding:58px 14px 52px}
  .media-viewer-stage{width:calc(100vw - 28px);height:calc(100vh - 110px)}
  .media-viewer-image{max-height:calc(100% - 34px);border-radius:8px}
  .media-viewer-nav{top:auto;bottom:10px;width:48px;height:42px;margin:0;font-size:42px}
  .media-viewer-prev{left:14px}
  .media-viewer-next{right:14px}
  .media-viewer-close{top:12px;right:12px}
  .media-viewer-download{top:16px;right:58px}
  .media-viewer-count{bottom:20px}
  .media-viewer-caption{font-size:12px;max-width:88vw;margin-top:10px}
}


/* v2.0.17 — curved resize corner + compact link card + larger sidebar logo */
/* Resize: a single quiet curve that follows the module's rounded corner. */
.block-resize-handle{
  right:2px;
  bottom:2px;
  width:28px;
  height:28px;
  border:0;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.24;
  cursor:nwse-resize;
  transition:opacity .15s ease;
}
.block-resize-handle::before{
  content:'';
  position:absolute;
  right:5px;
  bottom:5px;
  width:12px;
  height:12px;
  border-right:2px solid #8f9690;
  border-bottom:2px solid #8f9690;
  border-bottom-right-radius:8px;
  transform:none;
}
.block-resize-handle::after{display:none!important}
.block:hover .block-resize-handle,
.block.selected .block-resize-handle,
.block-resize-handle:hover,
.block-resize-handle:focus-visible,
.block.is-resizing .block-resize-handle{opacity:.78}
.block-resize-handle:focus-visible{outline:0}
.block.is-resizing .block-resize-handle::before{border-color:#606660}

/* Link module: once saved, it becomes one compact line. */
.block[data-type="link"]{
  min-height:0;
}
.block[data-type="link"] .link-block-head{
  min-height:62px;
  height:auto;
  padding:9px 13px;
  border-bottom:0;
}
.link-block-title{
  min-width:0;
  max-width:65%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:14px;
  font-weight:750;
  color:var(--ink);
}
.link-block-title:hover{text-decoration:underline;text-underline-offset:3px}
.link-open-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
}
.link-open-btn:hover{background:#faf9f6}
.link-setup-body{
  display:grid;
  grid-template-columns:minmax(130px,.7fr) minmax(180px,1.3fr) auto;
  gap:8px;
  align-items:center;
  padding:12px 14px 16px;
}
.link-save-btn{height:44px;white-space:nowrap}

/* Sidebar brand aligns to the same left/right edges as Search and New Page. */
.app-brand{
  width:100%;
  padding:4px 0 22px;
  display:flex;
  align-items:center;
}
.app-brand .brand-image{width:100%}
.app-logo{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  max-height:66px;
  object-fit:contain;
  object-position:left center;
}

@media(max-width:900px){
  .app-logo{max-height:58px}
  .link-setup-body{grid-template-columns:1fr}
  .link-save-btn{width:100%}
}


/* v2.0.18 — smaller curved resize handle + tighter link minimum */
.block-resize-handle{
  right:2px;
  bottom:2px;
  width:14px;
  height:14px;
  opacity:.22;
}
.block-resize-handle::before{
  right:2px;
  bottom:2px;
  width:6px;
  height:6px;
  border-right:1.5px solid #969c97;
  border-bottom:1.5px solid #969c97;
  border-bottom-right-radius:4px;
}
.block:hover .block-resize-handle,
.block.selected .block-resize-handle,
.block-resize-handle:hover,
.block-resize-handle:focus-visible,
.block.is-resizing .block-resize-handle{opacity:.62}

/* Saved link cards can now be reduced to a genuinely compact single-row card. */
.block[data-type="link"]{
  min-height:72px;
}
.block[data-type="link"] .link-block-head{
  min-height:60px;
  padding:6px 13px;
}


/* v2.0.19 — Infinite navigator + multi-select / group drag */
.infinite-shell{
  position:relative;
}
.infinite-viewport{
  position:relative;
  overscroll-behavior:contain;
}
.infinite-scaled{
  position:relative;
  width:10000px;
  height:10000px;
}
.infinite-space{
  transform-origin:0 0;
  will-change:transform;
}
.infinite-controls{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:14;
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid rgba(32,34,32,.10);
  border-radius:13px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 24px rgba(31,27,22,.10);
}
.infinite-controls button{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#313531;
  font:700 18px/1 var(--font-ui);
  cursor:pointer;
}
.infinite-controls button:hover{background:#f4f3ef}
.infinite-controls button:active{background:#eceae4}
.infinite-controls .infinite-zoom-value{
  width:auto;
  min-width:54px;
  padding:0 8px;
  font-size:11px;
  font-weight:750;
}
.infinite-controls .infinite-fit-btn{
  font-size:19px;
}
.infinite-control-sep{
  width:1px;
  height:20px;
  margin:0 3px;
  background:#e6e3dc;
}

/* Module selection stays quiet until the user actually selects more work. */
.block.multi-selected{
  outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);
  outline-offset:2px;
  box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 10%,transparent),0 2px 10px rgba(30,25,20,.03);
}
.block-drag-zone{
  cursor:grab;
  touch-action:none;
}
.block-drag-zone .block-menu,
.block-drag-zone a,
.block-drag-zone button{cursor:pointer}
.block.is-dragging .block-drag-zone,
.block-dragging .block-drag-zone{cursor:grabbing}
.block.is-dragging{z-index:9}
.selection-marquee{
  position:absolute;
  z-index:30;
  pointer-events:none;
  border:1.5px solid color-mix(in srgb,var(--accent) 76%,#fff);
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  border-radius:8px;
}

@media(max-width:680px){
  .infinite-controls{right:10px;bottom:10px}
  .infinite-controls button{width:32px;height:32px}
  .infinite-controls .infinite-zoom-value{min-width:50px}
}


/* v2.0.20 — radius-matched resize handle + full Infinite workspace */
.block{
  --block-radius:17px;
}
.block-resize-handle{
  right:0;
  bottom:0;
  width:28px;
  height:28px;
  opacity:.18;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible;
}
.block-resize-handle::before{
  content:'';
  position:absolute;
  right:5px;
  bottom:5px;
  width:12px;
  height:12px;
  border-right:1.5px solid #a2a7a2;
  border-bottom:1.5px solid #a2a7a2;
  border-bottom-right-radius:12px;
  background:transparent;
  box-sizing:border-box;
}
.block-resize-handle::after{display:none!important}
.block:hover .block-resize-handle,
.block.selected .block-resize-handle,
.block-resize-handle:hover,
.block-resize-handle:focus-visible,
.block.is-resizing .block-resize-handle{opacity:.56}
.block.is-resizing .block-resize-handle::before{border-color:#626862}

/* Infinite becomes the workspace itself instead of a paper card inside the page. */
body.infinite-mode .content{
  width:100%;
  max-width:none;
  margin:0;
  padding:24px 0 0;
  box-sizing:border-box;
}
body.infinite-mode .page-head{
  padding:0 40px;
  margin-bottom:18px;
}
body.infinite-mode .infinite-shell{
  width:100%;
  margin:0;
}
body.infinite-mode .infinite-viewport{
  width:100%;
  height:calc(100vh - var(--topbar) - 118px);
  min-height:560px;
  border:0;
  border-top:1px solid rgba(33,35,33,.06);
  border-radius:0;
  background:#fdfcf9;
  box-shadow:none;
}
body.infinite-mode .infinite-space{
  background-image:radial-gradient(#ddd9d2 1px,transparent 1px);
  background-size:26px 26px;
}
body.infinite-mode .infinite-controls{
  position:fixed;
  right:22px;
  bottom:20px;
  z-index:35;
}
@media(max-width:900px){
  body.infinite-mode .page-head{padding:0 20px}
  body.infinite-mode .infinite-viewport{height:calc(100vh - var(--topbar) - 108px)}
  body.infinite-mode .infinite-controls{right:12px;bottom:12px}
}

/* v2.0.21 — unified editor header + compact calendar + masonry Grid + Free safe area */
body.editor-mode .content{
  width:100%;
  max-width:none;
  margin:0;
  padding:34px 40px 80px;
}
body.editor-mode .page-head{
  padding:0;
  margin:0 0 18px;
}

/* Keep Infinite full-bleed while its HEAD stays on the exact same baseline as Grid / Free. */
body.infinite-mode .content{
  width:100%;
  max-width:none;
  margin:0;
  padding:34px 40px 0;
}
body.infinite-mode .page-head{
  padding:0;
  margin:0 0 18px;
}
body.infinite-mode .infinite-shell{
  width:calc(100% + 80px);
  margin-left:-40px;
  margin-right:-40px;
}
body.infinite-mode .infinite-viewport{
  height:calc(100vh - var(--topbar) - 122px);
  min-height:560px;
}

/* Free View is a real safe canvas below HEAD: dragging can never cross above it. */
.free-canvas{
  position:relative;
  isolation:isolate;
}
.free-canvas::before{
  content:'';
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  pointer-events:none;
}

/* Grid is now masonry-like: tall cards only consume their own columns. */
.canvas-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:6px;
  grid-auto-flow:row dense;
  column-gap:14px;
  row-gap:8px;
  align-items:start;
}
.canvas-grid .block{
  align-self:start;
  margin:0;
}
.canvas-grid .block:not([data-manual-height="1"]){
  height:auto;
}
.canvas-grid .block[data-type="gallery"],
.canvas-grid .block[data-type="calendar"],
.canvas-grid .block[data-type="table"],
.canvas-grid .block[data-type="link"]{
  min-height:0;
}
.grid-drag-zone{cursor:grab}
.grid-dragging-item{
  pointer-events:none;
  opacity:.93;
  box-shadow:0 18px 46px rgba(31,27,22,.13);
}

/* Compact Calendar: one clean toolbar row, then the month immediately. */
.block[data-type="calendar"] .calendar-body{
  padding:12px 14px 13px;
}
.cal-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 8px;
}
.cal-toolbar>b{
  font-size:13px;
  line-height:1;
  letter-spacing:-.01em;
}
.cal-nav{
  display:flex;
  align-items:center;
  gap:4px;
}
.cal-nav-btn{
  width:30px;
  height:30px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  display:grid;
  place-items:center;
  color:var(--ink);
  font-size:17px;
  line-height:1;
}
.cal-nav-btn:hover{background:#f7f6f2}
.block[data-type="calendar"] .cal-month{
  gap:4px;
}
.block[data-type="calendar"] .cal-day{
  min-height:54px;
  padding:5px;
  border-radius:8px;
}
.block[data-type="calendar"] .cal-day.is-empty{
  background:color-mix(in srgb,var(--surface) 96%,var(--bg) 4%);
}
.block[data-type="calendar"] .cal-add{
  margin-top:5px;
  padding-bottom:0;
}

@media(max-width:900px){
  body.editor-mode .content,
  body.infinite-mode .content{padding:25px 22px 70px}
  body.infinite-mode .content{padding-bottom:0}
  body.infinite-mode .infinite-shell{
    width:calc(100% + 44px);
    margin-left:-22px;
    margin-right:-22px;
  }
  .canvas-grid{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    row-gap:14px;
  }
  .canvas-grid .block[data-w]{
    grid-column:1/-1!important;
    grid-row:auto!important;
  }
}
@media(max-width:680px){
  body.editor-mode .content,
  body.infinite-mode .content{padding:20px 13px 80px}
  body.infinite-mode .content{padding-bottom:0}
  body.infinite-mode .infinite-shell{
    width:calc(100% + 26px);
    margin-left:-13px;
    margin-right:-13px;
  }
}


/* v2.0.22 — clean Grid reorder, compact unified HEAD, localized compact modules */
body.editor-mode .page-head,
body.infinite-mode .page-head{
  min-height:48px;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
}
body.editor-mode .page-title-wrap,
body.infinite-mode .page-title-wrap{
  display:flex;
  align-items:center;
  min-width:0;
}
body.editor-mode .page-title,
body.infinite-mode .page-title{
  font-size:38px;
  line-height:1;
}
body.editor-mode .page-icon-btn,
body.infinite-mode .page-icon-btn{
  width:48px;
  height:48px;
  border-radius:14px;
  flex:0 0 48px;
}
body.editor-mode .page-add-btn,
body.infinite-mode .page-add-btn{
  height:38px;
  min-width:74px;
  padding:0 12px;
}
.page-meta{display:none!important}

/* Auto-size content-driven cards unless the user has manually resized them. */
.free-canvas .block:not([data-manual-height="1"]),
.infinite-space .block:not([data-manual-height="1"]){
  height:auto;
  min-height:0;
}
.free-canvas .block[data-type="link"]:not([data-manual-height="1"]),
.infinite-space .block[data-type="link"]:not([data-manual-height="1"]){min-height:72px}

/* Grid drag is reorder-only: a quiet slot remains in the layout and one compact ghost follows the pointer. */
.canvas-grid.grid-reorder-active{user-select:none}
.grid-drag-source{display:none!important}
.grid-drop-placeholder{
  min-height:72px;
  border:1.5px dashed color-mix(in srgb,var(--accent) 42%,var(--line));
  border-radius:17px;
  background:color-mix(in srgb,var(--accent) 5%,var(--surface));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
  pointer-events:none;
}
.grid-drag-ghost{
  position:fixed!important;
  z-index:120!important;
  pointer-events:none!important;
  margin:0!important;
  opacity:.78;
  overflow:hidden!important;
  transform:rotate(.2deg);
  box-shadow:0 18px 46px rgba(31,27,22,.14)!important;
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line))!important;
}
.grid-drag-ghost .block-resize-handle{display:none!important}
.grid-drag-ghost .block-body{pointer-events:none!important}
.grid-drag-zone{cursor:grab}
.canvas-grid.grid-reorder-active .grid-drag-zone{cursor:grabbing}

/* Calendar label now has room for full month names. */
.cal-toolbar>b{
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
}

/* The smaller HEAD lets Infinite keep the same top baseline without wasting canvas height. */
body.infinite-mode .infinite-viewport{
  height:calc(100vh - var(--topbar) - 104px);
}

@media(max-width:900px){
  body.editor-mode .page-head,
  body.infinite-mode .page-head{min-height:44px;margin-bottom:12px}
  body.editor-mode .page-title,
  body.infinite-mode .page-title{font-size:34px}
  body.editor-mode .page-icon-btn,
  body.infinite-mode .page-icon-btn{width:44px;height:44px;flex-basis:44px}
  body.infinite-mode .infinite-viewport{height:calc(100vh - var(--topbar) - 90px)}
}
@media(max-width:680px){
  body.editor-mode .page-title,
  body.infinite-mode .page-title{font-size:30px}
  body.editor-mode .page-add-btn,
  body.infinite-mode .page-add-btn{height:36px}
}


/* v2.0.23 — Grid resize preview, quiet bell, compact share, useful real-module templates */
.canvas-grid.grid-resize-preview-active{
  user-select:none;
}
.canvas-grid.grid-resize-preview-active .block,
.canvas-grid.grid-resize-preview-active .block *{
  transition:none!important;
}
.grid-resize-source{
  box-shadow:0 2px 10px rgba(30,25,20,.03)!important;
}
.grid-resize-preview{
  position:fixed;
  z-index:130;
  pointer-events:none;
  box-sizing:border-box;
  border:1.5px solid color-mix(in srgb,var(--accent) 58%,#ffffff);
  border-radius:17px;
  background:color-mix(in srgb,var(--accent) 5%,rgba(255,255,255,.88));
  box-shadow:0 12px 34px rgba(34,40,48,.10),inset 0 0 0 1px rgba(255,255,255,.72);
  will-change:left,top,width,height;
}
.grid-resize-preview::after{
  content:attr(data-span) ' / 12';
  position:absolute;
  right:10px;
  bottom:9px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#747a75;
  border:1px solid rgba(0,0,0,.06);
  font-size:9px;
  font-weight:700;
}

/* Notification: outline bell only. No yellow treatment. */
.notification-button{position:relative;color:#252825}
.notification-bell{width:19px;height:19px;display:block}
.notification-button:hover{background:#f4f4f1}
.notification-dot{
  position:absolute;
  right:6px;
  top:6px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#252825;
  opacity:0;
  transform:scale(.7);
  transition:opacity .15s ease,transform .15s ease;
}
.notification-button.has-items .notification-dot{opacity:1;transform:scale(1)}

/* Share modal: one clear action, compact fields, read-only link row. */
.modal.share-modal{width:min(600px,100%);padding:24px 24px 22px;overflow:visible}
.share-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.share-modal-head h2{font-size:25px;letter-spacing:-.025em;margin:0 0 5px}
.share-modal-head p{font-size:13px;color:var(--muted);max-width:430px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-form{display:grid;gap:10px;margin-top:22px}
.share-label{font-size:11px;font-weight:750;color:#60645f}
.share-permission{height:48px;font-size:13px}
.share-permission-note{margin:-2px 0 2px;color:var(--muted);font-size:11.5px;line-height:1.45}
.share-create-btn{width:100%;height:46px;margin-top:3px}
.share-result{margin-top:18px}
.share-divider{height:1px;background:var(--line);margin:0 0 16px}
.share-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:48px;
  margin-top:8px;
  padding:6px 7px 6px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#f8f7f4;
}
.share-url-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#555b56}
.share-copy-btn{height:34px;padding:0 12px;background:#fff}

/* Templates: preview the real layout before creating it. */
.modal.template-modal{width:min(820px,100%);padding:24px}
.template-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.template-card{
  min-width:0;
  border:1px solid var(--line);
  background:#fff;
  border-radius:17px;
  padding:11px;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.template-card:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));box-shadow:0 8px 22px rgba(30,28,24,.06);transform:translateY(-1px)}
.template-mini-grid{
  height:112px;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:27px;
  gap:5px;
  padding:8px;
  overflow:hidden;
  border:1px solid #eeeae4;
  border-radius:12px;
  background-image:radial-gradient(#e5e1da .75px,transparent .75px);
  background-size:13px 13px;
  background-color:#fcfbf8;
}
.template-mini-grid span{
  display:flex;
  align-items:center;
  min-width:0;
  padding:0 7px;
  border:1px solid #e9e5de;
  border-radius:7px;
  background:rgba(255,255,255,.96);
  color:#666c67;
  font-size:8px;
  font-weight:700;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  box-shadow:0 1px 3px rgba(30,25,20,.025);
}
.template-card-copy{padding:10px 3px 2px}
.template-card-copy b{display:block;font-size:13px;color:var(--ink)}
.template-card-copy span{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:var(--muted)}
.template-footer{display:flex;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

@media(max-width:680px){
  .modal.share-modal,.modal.template-modal{padding:18px}
  .template-picker-grid{grid-template-columns:1fr}
  .template-mini-grid{height:96px}
  .share-link-row{grid-template-columns:1fr auto}
}

/* v2.0.25 — sidebar focus mode, smart add, richer data views, clean media controls */
.app-sidebar,.app-topbar,.app-main{transition:transform .22s ease,left .22s ease,margin-left .22s ease}
.sidebar-collapse-btn{
  position:absolute;right:-14px;top:18px;width:28px;height:28px;border:1px solid var(--sidebar-line);border-radius:999px;background:var(--sidebar-bg);color:var(--sidebar-ink);display:grid;place-items:center;z-index:3;box-shadow:0 3px 12px rgba(25,24,22,.06);font-size:18px;line-height:1
}
.sidebar-collapse-btn:hover,.sidebar-reveal-btn:hover{background:#f7f6f2}
.sidebar-reveal-btn{
  position:fixed;left:10px;top:16px;width:34px;height:34px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);z-index:31;box-shadow:0 3px 14px rgba(25,24,22,.08);font-size:20px;line-height:1
}
body.sidebar-collapsed .app-sidebar{transform:translateX(calc(-1 * var(--sidebar) - 20px))}
body.sidebar-collapsed .app-topbar{left:0}
body.sidebar-collapsed .app-main{margin-left:0}

.floating-add-btn{
  position:fixed;right:24px;bottom:24px;z-index:27;height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#171717;color:#fff;font-weight:800;box-shadow:0 10px 26px rgba(20,20,20,.16);transition:opacity .16s ease,transform .16s ease
}
.floating-add-btn:hover{transform:translateY(-1px)}
body.infinite-mode .floating-add-btn{bottom:82px}

/* Highlight picker */
.highlight-wrap{position:relative}
.highlight-trigger{font-size:15px}
.highlight-menu{position:absolute;left:0;top:35px;z-index:15;display:none;grid-template-columns:repeat(4,24px);gap:6px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 10px 26px rgba(25,24,22,.12)}
.highlight-menu.open{display:grid}
.highlight-swatch,.highlight-clear{width:24px!important;height:24px!important;min-width:24px!important;border-radius:7px!important;border:1px solid rgba(0,0,0,.06)!important;padding:0!important;background:var(--swatch,#fff)!important}
.highlight-clear{background:#fff!important;color:#777;font-size:15px}

/* Gallery delete affordance */
.gallery-item{position:relative}
.gallery-delete{position:absolute;right:7px;top:7px;width:27px;height:27px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.76);backdrop-filter:blur(8px);color:#222;display:grid;place-items:center;opacity:0;transform:scale(.94);transition:opacity .15s ease,transform .15s ease;z-index:3}
.gallery-item:hover .gallery-delete,.gallery-item:focus-within .gallery-delete{opacity:1;transform:scale(1)}
@media(hover:none){.gallery-delete{opacity:.72}}

/* Saved link is a bookmark bar, not a large content card. */
.link-saved-block{height:56px!important;min-height:56px!important;max-height:56px!important}
.link-saved-block .link-block-head{height:54px!important;min-height:54px!important;padding:5px 11px!important}
.link-saved-block .block-resize-handle{bottom:1px}
.link-saved-block .link-open-btn{min-height:30px;height:30px;padding:0 10px;border-radius:9px}

/* Paper patterns */
.paper-block{background-color:var(--paper)!important;background-image:none}
.paper-style-blank{background-image:none!important}
.paper-style-lined{background-image:repeating-linear-gradient(to bottom,transparent 0 31px,color-mix(in srgb,var(--paper) 72%,#bdb4a4) 31px 32px)!important;background-size:100% 32px!important}
.paper-style-narrow{background-image:repeating-linear-gradient(to bottom,transparent 0 23px,color-mix(in srgb,var(--paper) 72%,#bdb4a4) 23px 24px)!important;background-size:100% 24px!important}
.paper-style-grid{background-image:linear-gradient(to right,color-mix(in srgb,var(--paper) 72%,#bdb4a4) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--paper) 72%,#bdb4a4) 1px,transparent 1px)!important;background-size:24px 24px!important}
.paper-style-dots{background-image:radial-gradient(color-mix(in srgb,var(--paper) 55%,#aca394) 1px,transparent 1px)!important;background-size:22px 22px!important}
.paper-style-checklist{background-image:linear-gradient(to right,transparent 0 38px,color-mix(in srgb,var(--paper) 65%,#c5b9a5) 38px 39px,transparent 39px),repeating-linear-gradient(to bottom,transparent 0 31px,color-mix(in srgb,var(--paper) 72%,#bdb4a4) 31px 32px)!important;background-size:100% 32px!important}
.paper-style-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.paper-style-choice{border:1px solid var(--line);border-radius:13px;background:#fff;padding:9px;text-align:left}.paper-style-choice.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.paper-style-choice b{display:block;font-size:11px;margin-top:7px}.paper-style-preview{display:block;height:64px;border:1px solid #eee9df;border-radius:9px;background-color:var(--paper)}

/* Auto-hide internal scrollbars: content stays clean after scrolling. */
.auto-hide-scroll,.block[data-manual-height="1"] .block-body{scrollbar-width:none}
.auto-hide-scroll::-webkit-scrollbar,.block[data-manual-height="1"] .block-body::-webkit-scrollbar{width:0;height:0}
.auto-hide-scroll.is-scrolling,.auto-hide-scroll.scroll-hover,.block[data-manual-height="1"] .block-body.is-scrolling,.block[data-manual-height="1"] .block-body.scroll-hover{scrollbar-width:thin;scrollbar-color:rgba(112,116,112,.45) transparent}
.auto-hide-scroll.is-scrolling::-webkit-scrollbar,.auto-hide-scroll.scroll-hover::-webkit-scrollbar,.block[data-manual-height="1"] .block-body.is-scrolling::-webkit-scrollbar,.block[data-manual-height="1"] .block-body.scroll-hover::-webkit-scrollbar{width:5px;height:5px}
.auto-hide-scroll::-webkit-scrollbar-thumb,.block[data-manual-height="1"] .block-body::-webkit-scrollbar-thumb{background:rgba(112,116,112,.42);border-radius:999px}
.auto-hide-scroll::-webkit-scrollbar-track,.block[data-manual-height="1"] .block-body::-webkit-scrollbar-track{background:transparent}

/* Calendar events: one clean record, editable from any linked view. */
.cal-day:not(.is-empty){cursor:pointer;transition:border-color .14s ease,background .14s ease}
.cal-day:not(.is-empty):hover{border-color:#d9d4cc;background:#fcfbf8}
.cal-events{display:grid;gap:3px;margin-top:4px}
.cal-event{width:100%;min-width:0;border:0;background:transparent!important;color:#353a36;padding:2px 3px;display:flex;align-items:center;gap:5px;text-align:left;font-size:9px;border-radius:6px}
.cal-event:hover{background:rgba(0,0,0,.035)!important}
.cal-event i{width:6px;height:6px;border-radius:50%;background:var(--status-color);flex:0 0 6px;border:1px solid rgba(0,0,0,.05)}
.cal-event span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-event.is-urgent::after{content:'!';font-size:8px;font-weight:900;color:#b7525e;margin-left:auto}

/* Item editor */
.modal.item-editor-modal{width:min(610px,100%)}
.item-editor-form{display:grid;gap:14px;margin-top:18px}.item-editor-form label>span,.field-label{display:block;font-size:10px;font-weight:750;color:#696e69;margin:0 0 6px}.item-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.danger-text{color:#c94858}

/* Board = statuses/lists + task cards */
.kanban{display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding-bottom:3px}
.kan-col{flex:1 0 210px;min-width:210px;max-width:360px;min-height:205px;background:color-mix(in srgb,var(--status-color) 45%,#fff)}
.kan-head{align-items:center}.kan-status-name{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:7px;min-width:0;font-weight:800;color:var(--ink)}.kan-status-name i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.kan-status-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kan-card{padding:9px 10px}.kan-card-open{border:0;background:transparent;padding:0;width:100%;text-align:left;color:var(--ink);font-weight:650}.kan-card-fields{display:grid;gap:4px;margin-top:6px}.kan-card-field{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:6px;font-size:9px;line-height:1.35}.kan-card-field span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kan-card-field b{font-weight:550;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kan-card-meta{font-size:9px;color:var(--muted);margin-top:5px}.kan-add-list{flex:0 0 140px;min-height:62px;border:1px dashed #d9d5cd;border-radius:13px;background:rgba(255,255,255,.68);color:#6f746f;font-size:11px;font-weight:700}
.status-color-picker{display:flex;gap:9px;flex-wrap:wrap}.status-color-choice{width:34px;height:34px;border:2px solid #fff;border-radius:50%;background:var(--status-color);box-shadow:0 0 0 1px #e4e0d9}.status-color-choice.active{box-shadow:0 0 0 2px var(--ink)}

/* Table: dynamic headers + clean linked record details */
.table-scroll{overflow:auto;width:100%}.data-table{min-width:720px}.data-table th{white-space:nowrap}.table-head-button{border:0;background:transparent;padding:0;font-weight:800;color:var(--ink);font-size:11px}.table-head-button:hover{text-decoration:underline;text-underline-offset:3px}.table-actions-head,.table-row-actions{width:68px;white-space:nowrap}.table-add-column{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#666}.table-checkbox{width:17px!important;height:17px}.status-cell{display:flex;align-items:center;gap:7px}.status-cell i{width:7px;height:7px;border-radius:50%;background:var(--status-color);flex:0 0 7px}.status-cell select{min-width:90px}.dataset-picker{display:grid;gap:8px;margin-top:16px}.dataset-choice{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;text-align:left;display:flex;align-items:center;justify-content:space-between}.dataset-choice b{font-size:12px}.dataset-choice span{font-size:10px;color:var(--muted)}.dataset-choice.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,#fff)}

/* Icon picker: 100+ icons without visual overload. */
.modal.icon-picker-modal{width:min(680px,100%)}.icon-search{margin-top:16px}.icon-groups{max-height:430px;overflow:auto;margin-top:10px;padding-right:4px}.icon-group{padding:9px 0 13px;border-bottom:1px solid #f0ede7}.icon-group:last-child{border-bottom:0}.icon-group-title{font-size:10px;font-weight:800;color:#7d817d;margin-bottom:7px}.icon-group .icon-picker-grid{margin-top:0;grid-template-columns:repeat(10,1fr)}.icon-group .icon-choice{font-size:19px}

@media(max-width:900px){
  .icon-group .icon-picker-grid{grid-template-columns:repeat(8,1fr)}
  .item-form-grid{grid-template-columns:1fr}
  .floating-add-btn{right:18px;bottom:18px}
}
@media(max-width:680px){
  .sidebar-collapse-btn,.sidebar-reveal-btn{display:none!important}
  .floating-add-btn{width:46px;height:46px;padding:0;font-size:0}.floating-add-btn::before{content:'+';font-size:24px}
  .paper-style-picker-grid{grid-template-columns:repeat(2,1fr)}
  .icon-group .icon-picker-grid{grid-template-columns:repeat(6,1fr)}
}
.item-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:2px}.item-extra-grid label>span{display:block;font-size:10px;font-weight:750;color:#696e69;margin:0 0 6px}.item-custom-check{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 13px;display:flex!important;align-items:center;gap:9px}.item-custom-check input{width:17px;height:17px}@media(max-width:680px){.item-extra-grid{grid-template-columns:1fr}}


/* v2.0.26 — quieter media actions, stronger status cues, edge sidebar handle, module colors */

/* Sidebar edge handle — keep the open-state control inside the sidebar so it does not pull attention into the canvas. */
.sidebar-collapse-btn{
  right:0!important;top:50%!important;transform:translateY(-50%)!important;
  width:22px!important;height:46px!important;border-radius:12px 0 0 12px!important;
  border-right:0!important;border-left:1px solid var(--sidebar-line)!important;
  box-shadow:-3px 0 10px rgba(25,24,22,.035)!important;
  font-size:15px!important;color:color-mix(in srgb,var(--sidebar-ink) 62%,transparent)!important;
  background:color-mix(in srgb,var(--sidebar-bg) 94%,transparent)!important;
  opacity:.7!important;transition:opacity .15s ease,background .15s ease,color .15s ease!important;
}
.sidebar-collapse-btn:hover{opacity:1!important;color:var(--sidebar-ink)!important;background:var(--sidebar-bg)!important}
.sidebar-reveal-btn{
  left:0!important;top:50%!important;transform:translateY(-50%)!important;
  width:20px!important;height:44px!important;border-radius:0 11px 11px 0!important;
  border-left:0!important;background:rgba(255,255,255,.82)!important;
  color:rgba(34,34,34,.58)!important;opacity:.72!important;
  box-shadow:3px 0 10px rgba(25,24,22,.04)!important;font-size:15px!important;
  transition:opacity .15s ease,background .15s ease,color .15s ease!important;
}
.sidebar-reveal-btn:hover{opacity:1!important;color:#222!important;background:rgba(255,255,255,.96)!important}

/* Gallery actions: minimal icon-only overlay with a softer X. */
.gallery-hover-tools{position:absolute;right:8px;top:7px;z-index:4;display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .15s ease}
.gallery-item:hover .gallery-hover-tools,.gallery-item:focus-within .gallery-hover-tools{opacity:.46}
.gallery-delete,.gallery-replace,.gallery-download{
  position:static!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;backdrop-filter:none!important;
  box-shadow:none!important;color:rgba(255,255,255,.62)!important;opacity:1!important;transform:none!important;display:inline-flex!important;
  align-items:center;justify-content:center;line-height:1;cursor:pointer;
  text-shadow:0 1px 4px rgba(0,0,0,.72),0 0 2px rgba(0,0,0,.45);transition:transform .14s ease,opacity .14s ease!important;
}
.gallery-replace{font-size:15px;font-weight:500}
.gallery-download{font-size:16px;font-weight:500}
.gallery-delete{font-size:18px;font-weight:400}
.gallery-delete:hover,.gallery-replace:hover,.gallery-download:hover{transform:scale(1.05)!important;opacity:1!important;color:rgba(255,255,255,.86)!important}
@media(hover:none){.gallery-hover-tools{opacity:.48}}

/* Image hover controls: icon-only replace + soft bare X. */
.image-box{position:relative}
.image-hover-tools{position:absolute;right:12px;top:10px;z-index:5;display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .15s ease}
.image-box:hover .image-hover-tools,.image-box:focus-within .image-hover-tools{opacity:.46}
.image-replace,.image-delete,.image-download{
  border:0;background:transparent;color:rgba(255,255,255,.62);padding:0;cursor:pointer;opacity:1;
  text-shadow:0 1px 4px rgba(0,0,0,.76),0 0 2px rgba(0,0,0,.5);transition:transform .14s ease,opacity .14s ease
}
.image-replace{font-size:16px;line-height:1;font-weight:500}
.image-download{font-size:17px;line-height:1;font-weight:500}
.image-delete{font-size:19px;line-height:1;font-weight:400}
.image-replace:hover,.image-delete:hover,.image-download:hover{opacity:1;color:rgba(255,255,255,.86);transform:scale(1.05)}
@media(hover:none){.image-hover-tools{opacity:.48}}

/* Stronger status presentation while keeping the 6 pastel palette. */
.status-cell{
  width:max-content;max-width:100%;min-height:30px;padding:3px 9px 3px 7px;border-radius:999px;
  background:var(--status-soft,#f3f4f2);gap:7px;border:1px solid color-mix(in srgb,var(--status-color) 18%,transparent)
}
.status-cell i{width:9px!important;height:9px!important;flex-basis:9px!important;background:var(--status-color)!important;box-shadow:0 0 0 2px rgba(255,255,255,.72)}
.status-cell select{width:auto!important;min-width:72px!important;font-weight:650;color:#363a36;cursor:pointer}
.kan-status-name i{width:9px;height:9px;box-shadow:0 0 0 2px rgba(255,255,255,.68)}
.cal-event i{width:7px;height:7px;flex-basis:7px;box-shadow:0 0 0 1.5px rgba(255,255,255,.8)}

/* Per-module color. Color is deliberately quiet so content stays readable. */
.block.has-module-color{background:var(--module-bg)!important;border-color:color-mix(in srgb,var(--module-bg) 58%,#d9d5ce)!important}
.block.has-module-color .block-head{background:color-mix(in srgb,var(--module-bg) 72%,#fff);border-bottom-color:color-mix(in srgb,var(--module-bg) 52%,#dedad3)}
.block.has-module-color .block-body{background:transparent}
.block.has-module-color.link-saved-block .link-block-head{background:var(--module-bg)}
.paper-block{--paper-local:var(--module-bg,var(--paper));background-color:var(--paper-local)!important}
.paper-style-lined{background-image:repeating-linear-gradient(to bottom,transparent 0 31px,color-mix(in srgb,var(--paper-local) 72%,#bdb4a4) 31px 32px)!important}
.paper-style-narrow{background-image:repeating-linear-gradient(to bottom,transparent 0 23px,color-mix(in srgb,var(--paper-local) 72%,#bdb4a4) 23px 24px)!important}
.paper-style-grid{background-image:linear-gradient(to right,color-mix(in srgb,var(--paper-local) 72%,#bdb4a4) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--paper-local) 72%,#bdb4a4) 1px,transparent 1px)!important}
.paper-style-dots{background-image:radial-gradient(color-mix(in srgb,var(--paper-local) 55%,#aca394) 1px,transparent 1px)!important}
.paper-style-checklist{background-image:linear-gradient(to right,transparent 0 38px,color-mix(in srgb,var(--paper-local) 65%,#c5b9a5) 38px 39px,transparent 39px),repeating-linear-gradient(to bottom,transparent 0 31px,color-mix(in srgb,var(--paper-local) 72%,#bdb4a4) 31px 32px)!important}
.module-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}
.module-color-choice{min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;color:#555b56;font-size:10px}
.module-color-choice i{width:38px;height:28px;border-radius:9px;background:var(--choice,#fff);border:1px solid rgba(0,0,0,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.module-color-default i{background:#fff;box-shadow:inset 0 0 0 1px #e8e4dd}
.module-color-choice.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}
@media(max-width:680px){.module-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.0.28 — inward sidebar handle + quieter image/gallery actions */

/* v2.0.29 — New page type chooser */
.new-page-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.new-page-kind{min-height:148px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.new-page-kind:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 8px 24px rgba(24,24,22,.06);transform:translateY(-1px)}.new-page-kind-icon{width:40px;height:40px;border-radius:12px;background:#f5f4f0;display:grid;place-items:center;font-size:22px}.new-page-kind b{font-size:14px}.new-page-kind small{font-size:11px;line-height:1.5;color:var(--muted)}

/* Drag / paste images — quiet drop affordance. */
body.image-drag-active #canvas{transition:box-shadow .15s ease}.canvas-drop-target{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 34%,transparent)!important}.empty-state.canvas-drop-target{border-radius:18px;background:color-mix(in srgb,var(--accent) 3%,transparent);transition:box-shadow .15s ease,background .15s ease}.block.media-drop-target{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:3px}.block.media-drop-target::after{content:'+';position:absolute;right:12px;bottom:10px;z-index:20;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.82);color:var(--accent);font-weight:800;pointer-events:none;box-shadow:0 3px 12px rgba(0,0,0,.08)}

/* Draw page */
body.draw-mode .content{max-width:none;padding:22px 24px 24px;height:calc(100vh - var(--topbar));display:flex;flex-direction:column;overflow:hidden}body.draw-mode .page-head{flex:0 0 auto;max-width:1540px;width:100%;margin:0 auto 12px}body.draw-mode .page-title{font-size:34px}.draw-shell{flex:1;min-height:0;display:flex;flex-direction:column;gap:7px}.draw-toolbar{flex:0 0 auto;min-height:48px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.96);display:flex;align-items:center;gap:8px;padding:6px 8px;box-shadow:0 4px 18px rgba(28,26,22,.035);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.draw-toolbar::-webkit-scrollbar{display:none}.draw-tool-group,.draw-actions,.draw-colors,.draw-zoom-controls{display:flex;align-items:center;gap:4px;flex:0 0 auto}.draw-tool,.draw-action,.draw-zoom-controls button{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#5f625e;display:grid;place-items:center;font-size:16px;cursor:pointer}.draw-tool:hover,.draw-action:hover,.draw-zoom-controls button:hover{background:#f4f3ef;color:#20221f}.draw-tool.active{background:#222;color:#fff}.draw-tool-sep{width:1px;height:24px;background:var(--line);flex:0 0 1px;margin:0 2px}.draw-color{width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:var(--draw-color);box-shadow:0 0 0 1px rgba(0,0,0,.12);cursor:pointer}.draw-color.active{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(35,35,35,.35)}.draw-custom-color{width:26px;height:26px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#777;background:#fff;position:relative;overflow:hidden}.draw-custom-color input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.draw-custom-color span{font-size:15px;pointer-events:none}.draw-size-control{display:flex;align-items:center;gap:7px;flex:0 0 auto;font-size:10px;color:#777}.draw-size-control input{width:100px;accent-color:#333}.draw-size-control output{min-width:20px;text-align:center;color:#555;font-size:10px}.draw-paper-select{height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 28px 0 9px;color:#555;font-size:11px}.draw-clear{color:#a34b58}.draw-tool-spacer{flex:1}.draw-zoom-controls{border:1px solid var(--line);border-radius:10px;padding:2px;background:#faf9f6}.draw-zoom-controls button{width:30px;height:29px;border-radius:7px;font-size:14px}.draw-zoom-controls .draw-zoom-value{width:54px;font-size:10px;font-weight:700}.draw-hint{flex:0 0 auto;text-align:right;color:#a0a39f;font-size:9px;padding-right:4px}.draw-viewport{position:relative;flex:1;min-height:420px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#ecebe7;touch-action:none;cursor:crosshair}.draw-space-pan .draw-viewport,.draw-tool.active[data-draw-tool="hand"]~*{cursor:grab}.draw-stage{position:absolute;left:0;top:0;transform-origin:0 0;background:#fff;box-shadow:0 12px 40px rgba(31,29,26,.12);overflow:hidden;will-change:transform}.draw-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.draw-paper-blank{background-color:#fff}.draw-paper-lined{background-color:#fff;background-image:linear-gradient(to bottom,transparent 31px,#d9dce2 32px);background-size:100% 32px}.draw-paper-grid{background-color:#fff;background-image:linear-gradient(#e1e3e6 1px,transparent 1px),linear-gradient(90deg,#e1e3e6 1px,transparent 1px);background-size:28px 28px}.draw-paper-dots{background-color:#fff;background-image:radial-gradient(#c9ccd1 1.15px,transparent 1.15px);background-size:24px 24px}.draw-stage:has(+ *){isolation:isolate}

@media(max-width:900px){body.draw-mode .content{padding:16px 14px 14px}.draw-size-control span{display:none}.draw-size-control input{width:76px}.draw-hint{display:none}.new-page-kind-grid{grid-template-columns:1fr}.draw-toolbar{border-radius:12px}.draw-viewport{border-radius:14px;min-height:360px}}
@media(max-width:680px){body.draw-mode .content{padding:12px 8px 10px}.draw-page-head .page-icon-btn{display:none}.draw-page-head .page-title{font-size:26px}.draw-toolbar{gap:5px;padding:5px}.draw-tool,.draw-action{width:32px;height:32px}.draw-tool-sep{display:none}.draw-paper-select{max-width:104px}.draw-zoom-controls{position:absolute;right:16px;bottom:18px;z-index:8;background:rgba(255,255,255,.92);box-shadow:0 3px 14px rgba(0,0,0,.08)}}

/* Shared Viewer is truly read-only; media save/open remains available. */
body.shared-viewer .block-menu,
body.shared-viewer .block-resize-handle,
body.shared-viewer .drag-handle,
body.shared-viewer .richbar,
body.shared-viewer .add-line,
body.shared-viewer .image-replace,
body.shared-viewer .image-delete,
body.shared-viewer .gallery-replace,
body.shared-viewer .gallery-delete{display:none!important}
body.shared-viewer [contenteditable="true"]{pointer-events:none;user-select:text}
body.shared-viewer .block input,body.shared-viewer .block select,body.shared-viewer .block textarea{pointer-events:none}


/* v2.0.32 — Gallery Fit/Crop display + clearer download icon */
.media-download-icon{width:18px;height:18px;display:block;pointer-events:none}
.media-viewer-download .media-download-icon{width:21px;height:21px}
.image-download .media-download-icon,.gallery-download .media-download-icon{width:16px;height:16px}

.gallery-grid.gallery-display-fit .gallery-item{background:#fff}
.gallery-grid.gallery-display-fit .gallery-item img{object-fit:contain!important;background:#fff}
.gallery-grid.gallery-display-crop .gallery-item img{object-fit:cover!important}

.gallery-display-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.gallery-display-choice{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.gallery-display-choice:hover{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));transform:translateY(-1px)}
.gallery-display-choice.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}
.gallery-display-choice b{font-size:12px;color:#2f322f}
.gallery-display-choice span{font-size:10px;line-height:1.45;color:#8a8e89}
.gallery-display-preview{height:94px;border-radius:11px;border:1px solid #ece8e1;overflow:hidden;background:#fff;display:grid;place-items:center;margin-bottom:2px}
.gallery-display-preview i{display:block;width:74%;height:72%;border-radius:7px;background:linear-gradient(145deg,#dcebf6 0 42%,#b9d7bb 43% 64%,#6e9575 65% 100%);position:relative}
.gallery-display-preview i:after{content:'';position:absolute;width:28%;height:34%;right:12%;bottom:10%;border-radius:50% 50% 44% 44%;background:#2f4a41;opacity:.66}
.gallery-display-preview.fit i{width:58%;height:72%}
.gallery-display-preview.crop i{width:100%;height:100%;border-radius:0}

@media(max-width:620px){.gallery-display-grid{grid-template-columns:1fr}}

/* v2.0.33 — pen-first drawing studio */
.draw-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;padding:7px 8px!important;overflow:visible!important;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.draw-tools-row,.draw-properties-row{display:flex;align-items:center;gap:7px;min-width:0}
.draw-tools-row{min-height:38px}.draw-properties-row{min-height:34px;border-top:1px solid rgba(225,222,215,.72);padding-top:6px}
.draw-tool-main{gap:3px!important;overflow-x:auto;scrollbar-width:none;padding:1px 0}.draw-tool-main::-webkit-scrollbar{display:none}
.draw-tool{width:auto!important;min-width:62px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 9px!important;border-radius:10px!important;white-space:nowrap;touch-action:manipulation}
.draw-tool i{font-style:normal;font-size:15px;line-height:1}.draw-tool span{font-size:10px;font-weight:650;letter-spacing:-.01em}.draw-tool.active{background:#232421!important;color:#fff!important}.draw-tool.active i{opacity:1}.draw-tool:not(.active) i{opacity:.78}
.draw-colors{gap:5px!important;flex-wrap:nowrap}.draw-color{width:22px!important;height:22px!important;flex:0 0 22px}.draw-custom-color{width:24px!important;height:24px!important;flex:0 0 24px;background:conic-gradient(#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)!important;border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.15)!important}.draw-custom-color:after{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--draw-custom,#222);pointer-events:none}.draw-color-spectrum{display:none}
.draw-prop{display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:9px;color:#7b7d79;white-space:nowrap}.draw-prop input[type="range"]{width:88px;accent-color:#333;touch-action:none}.draw-prop output{min-width:30px;text-align:right;color:#555;font-size:9px}.draw-size-control input{width:105px!important}.draw-opacity-control input,.draw-pressure-control input{width:78px!important}
.draw-properties-row .hidden-prop{display:none!important}.draw-eraser-options{display:none;align-items:center;gap:6px;font-size:9px;color:#777;white-space:nowrap}.draw-eraser-options.show{display:flex}.draw-eraser-options select{height:30px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 25px 0 9px;color:#555;font-size:10px}
.draw-actions{gap:3px!important}.draw-action{touch-action:manipulation}.draw-clear{font-size:20px!important;font-weight:300!important}.draw-paper-select{height:32px!important}.draw-zoom-controls{margin-left:auto}.draw-hint{font-size:9px!important;color:#9b9e99!important}
.draw-viewport{touch-action:none!important;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.draw-canvas{touch-action:none!important;-webkit-user-select:none;user-select:none}
.draw-eraser-cursor{position:absolute;left:0;top:0;border:1px solid rgba(35,35,35,.42);background:rgba(255,255,255,.12);border-radius:50%;pointer-events:none;z-index:12;opacity:0;will-change:transform,width,height;box-shadow:0 0 0 1px rgba(255,255,255,.45) inset;transition:opacity .08s ease}.draw-eraser-cursor.show{opacity:.72}
.draw-readonly .draw-toolbar{opacity:.52;pointer-events:none}
@media(max-width:1100px){.draw-tool{min-width:48px!important;padding:0 7px!important}.draw-tool span{font-size:9px}.draw-prop span{display:none}.draw-size-control input{width:86px!important}.draw-opacity-control input,.draw-pressure-control input{width:68px!important}}
@media(max-width:760px){.draw-toolbar{padding:6px!important}.draw-tool{min-width:38px!important;width:38px!important;padding:0!important}.draw-tool span{display:none}.draw-tool.active{width:auto!important;padding:0 8px!important}.draw-tool.active span{display:inline}.draw-properties-row{overflow-x:auto;scrollbar-width:none}.draw-properties-row::-webkit-scrollbar{display:none}.draw-colors{gap:4px!important}.draw-color{width:20px!important;height:20px!important;flex-basis:20px}.draw-custom-color{width:22px!important;height:22px!important;flex-basis:22px}.draw-zoom-controls{position:static!important;box-shadow:none!important}.draw-hint{display:none!important}}

/* =========================================================
   v2.0.34 — Infinite Draw / Artboard / iPad Pen UX
   ========================================================= */
body.draw-mode .content{overflow:hidden}
.draw-shell{min-width:0}
.draw-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:7px 8px!important;overflow:visible!important;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.draw-tools-row,.draw-properties-row,.draw-view-row{display:flex;align-items:center;gap:7px;min-width:0}
.draw-tools-row{min-height:38px}.draw-properties-row,.draw-view-row{min-height:34px;border-top:1px solid rgba(225,222,215,.72);padding-top:6px}
.draw-tool-main{gap:4px!important;overflow-x:auto;scrollbar-width:none;padding:1px 0}.draw-tool-main::-webkit-scrollbar,.draw-properties-row::-webkit-scrollbar,.draw-view-row::-webkit-scrollbar{display:none}
.draw-tool{width:auto!important;min-width:64px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 9px!important;border-radius:11px!important;white-space:nowrap;touch-action:manipulation;border:1px solid transparent!important}
.draw-tool i{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;font-style:normal;font-size:14px;line-height:1;color:#071632;background:linear-gradient(145deg,#f5f7fb,#dfe8f7);box-shadow:inset 0 0 0 1px rgba(7,22,50,.06)}
.draw-tool span{font-size:10px;font-weight:700;letter-spacing:-.01em}.draw-tool:not(.active){color:#555a56}.draw-tool.active{background:#eef4ff!important;color:#071632!important;border-color:#cddcf3!important}.draw-tool.active i{background:linear-gradient(145deg,#b9d6ff,#8ebcf4);box-shadow:inset 0 0 0 1px rgba(7,22,50,.12),0 2px 5px rgba(45,91,148,.12)}
.draw-tool:hover{background:#f6f8fb!important;color:#071632!important}
.draw-actions{gap:4px!important}.draw-action{touch-action:manipulation}.draw-clear{font-size:20px!important;font-weight:300!important}
.draw-colors{gap:5px!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.draw-colors::-webkit-scrollbar{display:none}.draw-color{width:22px!important;height:22px!important;flex:0 0 22px}.draw-custom-color{width:24px!important;height:24px!important;flex:0 0 24px;background:conic-gradient(#ef4444,#f59e0b,#eab308,#22c55e,#06b6d4,#3b82f6,#8b5cf6,#ec4899,#ef4444)!important;border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.15)!important}.draw-custom-color:after{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--draw-custom,#222);pointer-events:none}.draw-color-spectrum{display:none}
.draw-prop{display:grid!important;grid-template-columns:auto minmax(72px,110px) 34px;align-items:center;gap:6px;flex:0 0 auto;font-size:9px;color:#727571;white-space:nowrap}.draw-prop>span{display:inline!important;min-width:max-content;font-weight:650;color:#666a66}.draw-prop input[type="range"]{width:100%!important;min-width:72px;accent-color:#333;touch-action:none}.draw-prop output{min-width:30px;text-align:right;color:#555;font-size:9px;font-variant-numeric:tabular-nums}.draw-size-control{grid-template-columns:auto minmax(88px,120px) 30px!important}
.draw-properties-row .hidden-prop{display:none!important}.draw-eraser-options{display:none;align-items:center;gap:6px;font-size:9px;color:#6f726e;white-space:nowrap}.draw-eraser-options.show{display:flex}.draw-eraser-options span{font-weight:650}.draw-eraser-options select,.draw-setting select,.draw-compact-select select{height:31px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 26px 0 9px;color:#4f534e;font-size:10px}
.draw-compact-select,.draw-setting{display:flex;align-items:center;gap:6px;color:#737671;font-size:9px;white-space:nowrap}.draw-compact-select>span,.draw-setting>span{font-weight:650;color:#666a66}.draw-paper-select{height:31px!important}
.draw-view-row{overflow-x:auto;scrollbar-width:none}.draw-view-toggle{display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:10px;background:#faf9f6;flex:0 0 auto}.draw-view-toggle button{height:27px;border:0;border-radius:7px;background:transparent;padding:0 9px;color:#737671;font-size:9px;font-weight:650;cursor:pointer}.draw-view-toggle button.active{background:#fff;color:#222;box-shadow:0 1px 4px rgba(0,0,0,.07)}.draw-view-toggle button:disabled{opacity:.34;cursor:not-allowed}.draw-quality select{min-width:88px}.draw-setting select:disabled{opacity:.45}
.draw-zoom-controls{margin-left:auto;flex:0 0 auto}.draw-hint{font-size:9px!important;color:#959893!important}
.draw-viewport{position:relative!important;flex:1;min-height:420px;overflow:hidden!important;border:1px solid var(--line);border-radius:18px;background:#f0efeb!important;touch-action:none!important;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;cursor:crosshair;isolation:isolate}
.draw-viewport.draw-artboard-view{background:#deddd9!important}
.draw-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;touch-action:none!important;-webkit-user-select:none;user-select:none}.draw-base-canvas{z-index:1}.draw-live-canvas{z-index:2;pointer-events:none;background:transparent!important}
.draw-eraser-cursor{z-index:3}
.draw-readonly .draw-toolbar{opacity:.52;pointer-events:none}

@media(max-width:1180px){
  .draw-toolbar{gap:5px!important}
  .draw-tool{min-width:50px!important;padding:0 7px!important}.draw-tool span{font-size:9px}
  .draw-properties-row,.draw-view-row{overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
  .draw-prop{grid-template-columns:auto 78px 31px!important}.draw-size-control{grid-template-columns:auto 92px 28px!important}
  .draw-prop>span{display:inline!important;font-size:9px!important}
  .draw-setting>span,.draw-compact-select>span{display:inline!important}
}
@media(max-width:900px){
  body.draw-mode .content{padding:14px 12px 12px}
  .draw-toolbar{border-radius:12px!important;padding:6px!important}
  .draw-tool{min-width:42px!important;height:34px!important;padding:0 6px!important}.draw-tool i{width:22px;height:22px}.draw-tool span{font-size:8.5px}
  .draw-prop{grid-template-columns:auto 70px 29px!important}.draw-size-control{grid-template-columns:auto 82px 27px!important}.draw-prop>span{display:inline!important}
  .draw-hint{display:none!important}.draw-viewport{border-radius:14px;min-height:360px}
}
@media(max-width:680px){
  body.draw-mode .content{padding:10px 7px 8px}.draw-page-head .page-icon-btn{display:none}.draw-page-head .page-title{font-size:26px}
  .draw-tool{min-width:38px!important;width:38px!important;padding:0!important}.draw-tool span{display:none}.draw-tool.active{width:auto!important;padding:0 8px!important}.draw-tool.active span{display:inline}
  .draw-prop{grid-template-columns:auto 72px 28px!important}.draw-size-control{grid-template-columns:auto 80px 28px!important}.draw-prop>span{display:inline!important;font-size:8.5px!important}
  .draw-setting>span,.draw-compact-select>span{font-size:8.5px}.draw-view-toggle button{padding:0 7px}
  .draw-zoom-controls{position:static!important;box-shadow:none!important}
}

/* =========================================================
   v2.0.35 — Floating Draw Tools / clean infinite canvas
   ========================================================= */
body.draw-mode .content{overflow:hidden}
.draw-shell{position:relative;gap:0!important}
.draw-hint,.draw-toolbar{display:none!important}
.draw-viewport{position:relative!important;flex:1;min-height:440px;overflow:hidden!important;border:0!important;border-radius:0!important;background:#fbfaf7!important;touch-action:none!important;overscroll-behavior:contain;isolation:isolate}
.draw-viewport.draw-canvas-view{background:#fbfaf7!important;box-shadow:none!important}
.draw-viewport.draw-artboard-view{background:#deddd9!important}
.draw-canvas{z-index:1}.draw-live-canvas{z-index:2!important}.draw-eraser-cursor{z-index:9!important}

.draw-floating-ui{position:absolute;left:14px;top:14px;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.draw-floating-ui>*{pointer-events:auto}
.draw-quickbar{height:42px;display:flex;align-items:center;gap:4px;padding:4px 5px;border:1px solid rgba(218,214,206,.92);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 5px 20px rgba(27,25,22,.09);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.draw-quick-tool,.draw-quick-color,.draw-quick-size,.draw-quick-action,.draw-quick-zoom button{height:32px;border:0;border-radius:9px;background:transparent;color:#4f534e;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.draw-quick-tool:hover,.draw-quick-color:hover,.draw-quick-size:hover,.draw-quick-action:hover,.draw-quick-zoom button:hover{background:#f4f3ef;color:#20221f}
.draw-quick-tool{gap:6px;padding:0 9px 0 6px;min-width:88px}.draw-quick-tool>i{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(145deg,#b9d6ff,#8ebcf4);color:#071632;font-size:14px;font-style:normal;box-shadow:inset 0 0 0 1px rgba(7,22,50,.1)}.draw-quick-tool>span{font-size:10px;font-weight:750}.draw-quick-tool>b{font-size:9px;font-weight:500;color:#989b96;margin-left:1px}
.draw-quick-color{width:32px}.draw-quick-color>i{width:19px;height:19px;border-radius:50%;background:var(--draw-quick-color,#222);box-shadow:0 0 0 1px rgba(0,0,0,.12),0 0 0 2px #fff inset}
.draw-quick-size{gap:4px;padding:0 8px}.draw-quick-size span{font-size:9px;color:#8a8d88}.draw-quick-size b{font-size:10px;color:#3e423e;font-variant-numeric:tabular-nums}
.draw-quick-action{width:32px;font-size:16px}.draw-quick-sep{width:1px;height:19px;background:#e5e2dc;margin:0 1px}
.draw-quick-zoom{display:flex;align-items:center;gap:1px}.draw-quick-zoom button{width:29px;font-size:13px}.draw-quick-zoom .draw-zoom-value{width:48px;font-size:9px;font-weight:750;font-variant-numeric:tabular-nums}

.draw-tool-popover{width:min(390px,calc(100vw - 36px));max-height:min(72vh,680px);overflow:hidden;border:1px solid rgba(216,212,204,.96);border-radius:17px;background:rgba(255,255,255,.98);box-shadow:0 18px 54px rgba(27,25,22,.16),0 2px 8px rgba(27,25,22,.06);transform-origin:top left;animation:drawPanelIn .14s ease-out}
@keyframes drawPanelIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.draw-tool-popover[hidden]{display:none!important}
.draw-panel-head{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 15px;border-bottom:1px solid #ece9e3}.draw-panel-head>div{display:flex;flex-direction:column;gap:1px}.draw-panel-head strong{font-size:12px;color:#2d302d}.draw-panel-head span{font-size:9px;color:#9a9d98}.draw-panel-close{width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:#7f827e;font-size:18px;font-weight:300;cursor:pointer}.draw-panel-close:hover{background:#f4f3ef;color:#262825}
.draw-panel-scroll{max-height:calc(min(72vh,680px) - 50px);overflow:auto;padding:12px;scrollbar-width:thin;overscroll-behavior:contain}
.draw-tool-main{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px!important;overflow:visible!important;padding:0!important}
.draw-tool-main .draw-tool{width:100%!important;min-width:0!important;height:57px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:5px 3px!important;border:1px solid #ebe8e1!important;border-radius:12px!important;background:#fbfaf8!important;color:#515550!important;white-space:normal!important}
.draw-tool-main .draw-tool i{width:25px;height:25px;border-radius:8px;font-size:14px}.draw-tool-main .draw-tool span{display:block!important;font-size:9px!important;line-height:1!important;font-weight:700!important;text-align:center}.draw-tool-main .draw-tool.active{background:#eef4ff!important;border-color:#c9daf3!important;color:#071632!important}.draw-tool-main .draw-tool:hover{background:#f6f8fb!important;transform:translateY(-1px)}

.draw-panel-section{margin-top:12px;padding-top:11px;border-top:1px solid #efede8}.draw-panel-section-title{font-size:9px;font-weight:750;color:#777b76;margin-bottom:8px}.draw-tool-popover .draw-colors{display:flex!important;gap:7px!important;overflow:visible!important;flex-wrap:wrap!important}.draw-tool-popover .draw-color{width:24px!important;height:24px!important;flex-basis:24px!important}.draw-tool-popover .draw-custom-color{width:26px!important;height:26px!important;flex-basis:26px!important}
.draw-slider-stack{display:flex;flex-direction:column;gap:10px}.draw-tool-popover .draw-prop{width:100%;display:grid!important;grid-template-columns:65px minmax(0,1fr) 38px!important;align-items:center;gap:8px;font-size:9px}.draw-tool-popover .draw-prop>span{display:inline!important;font-size:9px!important;font-weight:700;color:#626661}.draw-tool-popover .draw-prop input[type="range"]{width:100%!important;min-width:0!important;touch-action:none}.draw-tool-popover .draw-prop output{text-align:right;min-width:35px;font-variant-numeric:tabular-nums}.draw-tool-popover .draw-eraser-options{width:100%;justify-content:space-between}.draw-tool-popover .draw-eraser-options select{min-width:160px}
.draw-advanced-toggle{width:100%;height:37px;margin-top:12px;padding:0 10px;border:1px solid #ebe8e1;border-radius:11px;background:#faf9f6;color:#5a5e59;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;cursor:pointer}.draw-advanced-toggle:hover{background:#f5f3ef}.draw-advanced-toggle b{font-size:9px;color:#999c97;transition:transform .15s ease}.draw-advanced-toggle[aria-expanded="true"] b{transform:rotate(180deg)}
.draw-advanced-panel{margin-top:8px;padding:11px;border:1px solid #ece9e3;border-radius:12px;background:#fcfbf9}.draw-advanced-panel[hidden]{display:none!important}.draw-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.draw-tool-popover .draw-setting{display:flex;flex-direction:column;align-items:stretch;gap:5px;font-size:9px}.draw-tool-popover .draw-setting>span{font-size:9px!important;font-weight:700;color:#696d68}.draw-tool-popover .draw-setting select{width:100%;height:33px}.draw-advanced-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid #ece9e3}.draw-tool-popover .draw-view-toggle{margin:0}.draw-clear-button{height:31px;border:0;border-radius:9px;background:#fff2f3;color:#9b4451;padding:0 10px;font-size:9px;font-weight:700;cursor:pointer}.draw-clear-button:hover{background:#fbe5e8}

.draw-readonly .draw-floating-ui{opacity:.55;pointer-events:none}

@media(max-width:900px){
  body.draw-mode .content{padding:14px 12px 12px}
  .draw-floating-ui{left:10px;top:10px}
  .draw-tool-popover{width:min(360px,calc(100vw - 28px));max-height:68vh}.draw-panel-scroll{max-height:calc(68vh - 50px)}
  .draw-quick-tool{min-width:42px;width:42px;padding:0}.draw-quick-tool>span,.draw-quick-tool>b{display:none}.draw-quick-size span{display:none}.draw-quick-size{padding:0 7px}
}
@media(max-width:620px){
  body.draw-mode .content{padding:10px 7px 8px}
  .draw-floating-ui{left:7px;right:7px;top:7px;align-items:stretch}
  .draw-quickbar{width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.draw-quickbar::-webkit-scrollbar{display:none}
  .draw-tool-popover{width:min(350px,calc(100vw - 14px))}.draw-tool-main{grid-template-columns:repeat(4,minmax(0,1fr))}.draw-tool-main .draw-tool{height:54px!important}
  .draw-advanced-grid{grid-template-columns:1fr}.draw-advanced-bottom{align-items:stretch;flex-direction:column}.draw-tool-popover .draw-view-toggle{width:100%}.draw-tool-popover .draw-view-toggle button{flex:1}.draw-clear-button{width:100%}
  .draw-quick-zoom .draw-zoom-value{width:42px}.draw-quick-action{width:30px}.draw-quick-color{width:30px}
}

/* =========================================================
   v2.0.36 — Compact movable draw toolbar + master icon set
   ========================================================= */
.draw-master-icon{display:block;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.draw-floating-ui{gap:7px!important;will-change:left,top}
.draw-floating-ui.is-dragging .draw-quickbar{box-shadow:0 9px 28px rgba(27,25,22,.16)!important;transform:scale(1.01)}
.draw-floating-ui.draw-panel-up{flex-direction:column-reverse}
.draw-floating-ui.draw-panel-up .draw-tool-popover{transform-origin:bottom left}

.draw-quickbar{height:32px!important;gap:1px!important;padding:2px 3px!important;border-radius:11px!important;box-shadow:0 4px 16px rgba(27,25,22,.085)!important;transition:box-shadow .14s ease,transform .14s ease}
.draw-quick-tool,.draw-quick-color,.draw-quick-size,.draw-quick-action,.draw-quick-zoom button,.draw-drag-handle{height:26px!important;border-radius:7px!important}
.draw-quick-tool{min-width:60px!important;width:60px!important;gap:3px!important;padding:0 4px!important;overflow:hidden}
.draw-quick-tool>i{width:21px!important;height:21px!important;flex:0 0 21px!important;display:grid!important;place-items:center!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#071632!important;font-style:normal}
.draw-quick-tool>i .draw-tool-icon{width:21px!important;height:21px!important}
.draw-quick-tool>span{min-width:0;max-width:27px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px!important;font-weight:750!important}
.draw-quick-tool>b{font-size:7px!important;margin-left:auto!important}
.draw-quick-color{position:relative;width:24px!important;min-width:24px!important;padding:0!important}
.draw-quick-color .draw-quick-color-icon{width:18px;height:18px}
.draw-quick-color>i[data-draw-quick-color]{position:absolute;right:2px;bottom:2px;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--draw-quick-color,#222)!important;box-shadow:0 0 0 1px #fff,0 0 0 1.5px rgba(0,0,0,.13)!important}
.draw-quick-size{width:34px!important;min-width:34px!important;gap:2px!important;padding:0 3px!important}
.draw-quick-size span{font-size:7px!important;color:#91948f!important;max-width:18px;overflow:hidden}
.draw-quick-size b{font-size:9px!important}
.draw-quick-action{width:24px!important;min-width:24px!important;padding:0!important;font-size:0!important}
.draw-quick-action .draw-master-icon{width:16px;height:16px}
.draw-quick-sep{height:15px!important;margin:0!important;background:#e5e2dc!important}
.draw-quick-zoom{gap:0!important}
.draw-quick-zoom button{width:22px!important;min-width:22px!important;padding:0!important;font-size:0!important}
.draw-quick-zoom button .draw-master-icon{width:15px;height:15px}
.draw-quick-zoom .draw-zoom-value{width:34px!important;min-width:34px!important;font-size:8px!important;font-weight:750!important}
.draw-quick-zoom [data-draw-fit]{width:24px!important;min-width:24px!important}
.draw-quick-zoom [data-draw-fit] .draw-master-icon{width:17px;height:17px}
.draw-drag-handle{position:relative;width:18px;min-width:18px;padding:0;border:0;background:transparent;color:#a0a39e;cursor:grab;touch-action:none}
.draw-drag-handle:active{cursor:grabbing}
.draw-drag-handle:hover{background:#f4f3ef}
.draw-drag-handle>span,.draw-drag-handle>span:before,.draw-drag-handle>span:after{content:"";display:block;width:2px;height:2px;border-radius:50%;background:currentColor;box-shadow:0 5px 0 currentColor}
.draw-drag-handle>span{position:absolute;left:6px;top:8px}
.draw-drag-handle>span:before{position:absolute;left:4px;top:0}
.draw-drag-handle>span:after{display:none}

.draw-tool-main .draw-tool{height:62px!important;padding:5px 3px!important;gap:3px!important}
.draw-tool-main .draw-tool i{width:34px!important;height:34px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:grid!important;place-items:center!important}
.draw-tool-main .draw-tool i .draw-tool-icon{width:31px!important;height:31px!important}
.draw-tool-main .draw-tool .draw-tool-glyph{font-size:17px;line-height:1}
.draw-tool-main .draw-tool.active{box-shadow:0 0 0 1px rgba(75,131,245,.08) inset!important}
.draw-tool-main .draw-tool span{font-size:8.5px!important}

/* Master ARTIZS.NOTE icons in Add Module */
.module-option i.module-icon{width:44px!important;height:44px!important;border-radius:12px!important;background:#fafafa!important;color:#111827!important;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.module-option i.module-icon .master-module-icon{width:34px;height:34px;display:block;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.module-option:hover i.module-icon{background:#fff!important;box-shadow:inset 0 0 0 1px rgba(75,131,245,.12),0 3px 10px rgba(18,30,50,.05)}

/* Eraser cursor: clear, accurate and still subtle */
.draw-eraser-cursor{border:1px solid rgba(24,33,48,.55)!important;background:rgba(255,255,255,.18)!important;box-shadow:0 0 0 1px rgba(255,255,255,.72) inset!important;pointer-events:none!important}
.draw-current-eraser .draw-viewport{cursor:none!important}

@media(max-width:980px){
  .draw-quickbar{height:34px!important}
  .draw-quick-tool,.draw-quick-color,.draw-quick-size,.draw-quick-action,.draw-quick-zoom button,.draw-drag-handle{height:28px!important}
  .draw-quick-tool{min-width:45px!important;width:45px!important}.draw-quick-tool>span{display:none!important}.draw-quick-tool>b{display:block!important}
  .draw-quick-size span{display:none!important}.draw-quick-size{width:27px!important;min-width:27px!important}
  .draw-quick-action{width:27px!important;min-width:27px!important}.draw-quick-color{width:27px!important;min-width:27px!important}
  .draw-quick-zoom button{width:24px!important;min-width:24px!important}.draw-quick-zoom .draw-zoom-value{width:36px!important;min-width:36px!important}
  .draw-drag-handle{width:20px;min-width:20px}
}
@media(max-width:680px){
  .draw-floating-ui{left:7px;right:auto!important;top:7px;align-items:flex-start!important;max-width:calc(100% - 14px)}
  .draw-quickbar{max-width:calc(100vw - 14px)!important;overflow-x:auto!important;scrollbar-width:none}
  .draw-quickbar::-webkit-scrollbar{display:none}
}
.master-icon-btn img{width:18px;height:18px;object-fit:contain;display:block;pointer-events:none}
.master-icon-btn:disabled img{opacity:.35}
.richbar .richbar-master-icon{width:19px;height:19px;display:block;object-fit:contain;pointer-events:none}
.new-page-kind-icon img{width:30px;height:30px;display:block;object-fit:contain;pointer-events:none}

/* =========================================================
   v2.0.37 — Separate Page/Canvas settings + true tool icons
   ========================================================= */
.draw-tool-popover{width:min(340px,calc(100vw - 36px))!important;max-height:min(66vh,560px)!important}
.draw-panel-scroll{padding:11px 12px 12px!important}
.draw-tool-main{gap:6px!important}
.draw-tool-main .draw-tool{height:58px!important}
.draw-tool-main .draw-tool i{width:32px!important;height:32px!important}
.draw-tool-main .draw-tool i .draw-tool-icon{width:30px!important;height:30px!important}
.draw-tool-main .draw-tool span{font-size:8px!important}
.draw-slider-stack{gap:8px!important}
.draw-quality-row{display:grid;grid-template-columns:65px minmax(0,1fr);align-items:center;gap:8px;width:100%;font-size:9px}
.draw-quality-row>span{font-size:9px;font-weight:700;color:#626661}
.draw-quality-row select{width:100%;height:30px;border:1px solid #e6e3dc;border-radius:8px;background:#fff;padding:0 27px 0 8px;color:#555a56;font-size:9px}
.draw-quality-row.hidden-prop{display:none!important}

.draw-page-settings-ui{position:absolute;right:14px;top:14px;z-index:31;display:flex;flex-direction:column;align-items:flex-end;gap:7px;pointer-events:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.draw-page-settings-ui>*{pointer-events:auto}
.draw-page-settings-button{width:36px;height:36px;border:1px solid rgba(220,217,210,.98);border-radius:11px;background:rgba(255,255,255,.97);display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 4px 16px rgba(27,25,22,.085);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.draw-page-settings-button:hover{background:#fff;box-shadow:0 7px 20px rgba(27,25,22,.12);transform:translateY(-1px)}
.draw-page-settings-button[aria-expanded="true"]{background:#eef4ff;border-color:#c9daf3;box-shadow:0 0 0 1px rgba(75,131,245,.08) inset,0 6px 18px rgba(27,25,22,.09)}
.draw-page-settings-icon{width:25px;height:25px}
.draw-page-settings-panel{width:min(300px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(216,212,204,.96);border-radius:15px;background:rgba(255,255,255,.985);box-shadow:0 18px 54px rgba(27,25,22,.16),0 2px 8px rgba(27,25,22,.06);animation:drawPanelIn .14s ease-out;transform-origin:top right}
.draw-page-settings-panel[hidden]{display:none!important}
.draw-page-settings-head{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px;border-bottom:1px solid #ece9e3}
.draw-page-settings-head>div{display:flex;flex-direction:column;gap:1px}.draw-page-settings-head strong{font-size:12px;color:#2d302d}.draw-page-settings-head span{font-size:9px;color:#9a9d98}
.draw-page-settings-body{padding:12px}
.draw-page-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.draw-page-settings-grid .draw-setting{display:flex;flex-direction:column;gap:5px;min-width:0}.draw-page-settings-grid .draw-setting:last-child{grid-column:1/-1}
.draw-page-settings-grid .draw-setting>span{font-size:9px;font-weight:700;color:#696d68}
.draw-page-settings-grid .draw-setting select{width:100%;height:33px;border:1px solid #e5e2dc;border-radius:9px;background:#fff;padding:0 28px 0 9px;color:#555a56;font-size:9px}
.draw-page-settings-section{margin-top:11px;padding-top:10px;border-top:1px solid #efede8}
.draw-page-settings-label{display:block;margin-bottom:7px;font-size:9px;font-weight:700;color:#696d68}
.draw-page-settings-panel .draw-view-toggle{display:flex;width:100%;padding:2px;border:1px solid #e5e2dc;border-radius:9px;background:#faf9f6}
.draw-page-settings-panel .draw-view-toggle button{flex:1;height:29px;border:0;border-radius:7px;background:transparent;color:#777b76;font-size:9px;font-weight:700;cursor:pointer}
.draw-page-settings-panel .draw-view-toggle button.active{background:#fff;color:#171a17;box-shadow:0 1px 4px rgba(27,25,22,.08)}
.draw-page-settings-panel .draw-view-toggle button:disabled{opacity:.35;cursor:not-allowed}
.draw-page-settings-danger{display:flex;justify-content:flex-end;margin-top:11px;padding-top:10px;border-top:1px solid #efede8}
.draw-page-settings-panel .draw-clear-button{height:31px;border:0;border-radius:9px;background:#fff2f3;color:#9b4451;padding:0 10px;font-size:9px;font-weight:700;cursor:pointer}
.draw-page-settings-panel .draw-clear-button:hover{background:#fbe5e8}
.draw-readonly .draw-page-settings-ui{opacity:.55;pointer-events:none}

/* Marker is solid; highlighter should read as a softer translucent tool at a glance. */
.draw-tool[data-draw-tool="marker"] i{filter:saturate(1.04)}
.draw-tool[data-draw-tool="highlighter"] i{filter:saturate(.82) brightness(1.06)}

@media(max-width:900px){
  .draw-page-settings-ui{right:10px;top:10px}
  .draw-page-settings-button{width:34px;height:34px;border-radius:10px}.draw-page-settings-icon{width:23px;height:23px}
  .draw-tool-popover{width:min(330px,calc(100vw - 28px))!important}
}
@media(max-width:620px){
  .draw-page-settings-ui{right:7px;top:7px}
  .draw-page-settings-panel{width:min(290px,calc(100vw - 14px))}
  .draw-page-settings-grid{grid-template-columns:1fr}
  .draw-page-settings-grid .draw-setting:last-child{grid-column:auto}
  .draw-page-settings-danger .draw-clear-button{width:100%}
  .draw-tool-popover{width:min(330px,calc(100vw - 14px))!important}
}


/* =========================================================
   v2.0.38 — Header Page Settings + crisp real-tool SVG icons
   ========================================================= */
body.draw-mode .draw-page-head{
  position:relative;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
body.draw-mode .draw-page-head .page-title-wrap{min-width:0;flex:1}
.draw-page-settings-ui{
  position:relative!important;
  right:auto!important;
  top:auto!important;
  z-index:45;
  flex:0 0 auto;
  display:block;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
}
.draw-page-settings-button{
  width:38px!important;
  height:38px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#3f454d;
  display:grid;
  place-items:center;
  padding:0!important;
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease,color .14s ease!important;
}
.draw-page-settings-button:hover{
  transform:none!important;
  background:#f4f3ef!important;
  border-color:#ebe8e1!important;
  box-shadow:none!important;
  color:#1f2937;
}
.draw-page-settings-button[aria-expanded="true"]{
  background:#f1f3f5!important;
  border-color:#e2e5e9!important;
  box-shadow:none!important;
  color:#111827;
}
.draw-page-settings-icon{width:20px!important;height:20px!important;display:block}
.draw-page-settings-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:70;
  width:min(300px,calc(100vw - 28px));
  transform-origin:top right;
}
.draw-readonly + * .draw-page-settings-ui,
.draw-page-settings-ui:has(button:disabled){opacity:.55;pointer-events:none}

/* Tool icons are true SVG line icons. No raster scaling, shadow, blur or glow. */
.draw-master-icon.draw-tool-icon{
  width:28px!important;
  height:28px!important;
  display:block!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:none!important;
  opacity:1!important;
}
.draw-tool-main .draw-tool{
  height:58px!important;
  padding:5px 3px!important;
  background:#fbfaf8!important;
  border-color:#ebe8e1!important;
}
.draw-tool-main .draw-tool i{
  width:32px!important;
  height:32px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.draw-tool-main .draw-tool.active{
  background:#f0f4fa!important;
  border-color:#cfd9e7!important;
  color:#1f2937!important;
  box-shadow:none!important;
}
.draw-tool-main .draw-tool:hover{background:#f5f4f1!important;transform:none!important}
.draw-tool-main .draw-tool span{font-size:8.5px!important;color:#555b62}
.draw-tool-main .draw-tool.active span{color:#20262d}
/* Highlighter remains visually softer than marker while staying monochrome. */
.draw-tool[data-draw-tool="highlighter"] .draw-tool-icon{opacity:.62!important}
.draw-tool[data-draw-tool="marker"] .draw-tool-icon{opacity:1!important}

@media(max-width:680px){
  body.draw-mode .draw-page-head{gap:8px;margin-bottom:9px}
  .draw-page-settings-button{width:34px!important;height:34px!important;border-radius:9px!important}
  .draw-page-settings-icon{width:19px!important;height:19px!important}
  .draw-page-settings-panel{right:0;top:calc(100% + 6px);width:min(290px,calc(100vw - 14px))}
}

/* =========================================================
   v2.0.39 — Colorful crisp drawing icons + larger minimal page control
   ========================================================= */
.draw-page-settings-button{
  width:44px!important;
  height:44px!important;
  border-radius:11px!important;
}
.draw-page-settings-icon{
  width:25px!important;
  height:25px!important;
}

/* Drawing tools: palette-family color language, but SVG-sharp at UI scale. */
.draw-master-icon.draw-tool-icon{
  width:31px!important;
  height:31px!important;
  filter:none!important;
  opacity:1!important;
  image-rendering:auto!important;
}
.draw-tool-main .draw-tool{
  height:60px!important;
  border-color:#e8e5df!important;
  background:#fbfaf8!important;
}
.draw-tool-main .draw-tool i{
  width:35px!important;
  height:35px!important;
}
.draw-tool-main .draw-tool.active{
  background:#eef5ff!important;
  border-color:#bfd5f5!important;
  box-shadow:0 0 0 1px rgba(75,131,245,.04) inset!important;
}
.draw-tool-main .draw-tool:hover{
  background:#f6f8fb!important;
  border-color:#dfe5ec!important;
}
.draw-tool[data-draw-tool="highlighter"] .draw-tool-icon{opacity:1!important}
.draw-tool[data-draw-tool="marker"] .draw-tool-icon{opacity:1!important}
.draw-quick-tool>i .draw-tool-icon{
  filter:none!important;
  opacity:1!important;
}

@media(max-width:680px){
  .draw-page-settings-button{width:40px!important;height:40px!important;border-radius:10px!important}
  .draw-page-settings-icon{width:23px!important;height:23px!important}
  .draw-tool-main .draw-tool{height:58px!important}
  .draw-tool-main .draw-tool i{width:33px!important;height:33px!important}
  .draw-master-icon.draw-tool-icon{width:29px!important;height:29px!important}
}

/* =========================================================
   v2.0.40 — Wider page icon + clearly distinct marker/highlighter
   ========================================================= */
.draw-page-settings-button{
  width:46px!important;
  height:46px!important;
  border-radius:12px!important;
}
.draw-page-settings-icon{
  width:27px!important;
  height:27px!important;
}
/* Marker and highlighter now use deliberately different silhouettes in SVG.
   Keep both full-opacity in the picker so the difference comes from form,
   not from artificially fading one icon. */
.draw-tool[data-draw-tool="marker"] .draw-tool-icon,
.draw-tool[data-draw-tool="highlighter"] .draw-tool-icon{
  opacity:1!important;
  filter:none!important;
}
@media(max-width:680px){
  .draw-page-settings-button{width:42px!important;height:42px!important}
  .draw-page-settings-icon{width:25px!important;height:25px!important}
}

/* =========================================================
   v2.0.41 — Smooth stroke engine + final tool icon polish
   ========================================================= */
.draw-page-settings-icon{width:28px!important;height:28px!important}
.draw-tool-main .draw-tool .draw-tool-icon{filter:none!important;image-rendering:auto!important}
@media(max-width:680px){.draw-page-settings-icon{width:26px!important;height:26px!important}}

/* =========================================================
   v2.0.47 — deployment cache hotfix
   ========================================================= */
/* The drawing surface must fully own Pencil/touch interaction on iPad Safari. */
.draw-viewport,
.draw-canvas,
.draw-viewport canvas{
  touch-action:none!important;
  overscroll-behavior:contain!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
  -webkit-user-drag:none!important;
}
.draw-viewport *{
  -webkit-touch-callout:none!important;
}

/* Stroke smoothing is automatic now; legacy controls must never reappear. */
.draw-quality-row,.draw-quality{display:none!important}

/* Keep the colorful tool art crisp and large enough to read at a glance. */
.draw-tool-main .draw-tool i{overflow:visible!important}
.draw-tool-main .draw-tool .draw-tool-icon{
  width:32px!important;
  height:32px!important;
  filter:none!important;
  opacity:1!important;
  image-rendering:auto!important;
}
.draw-tool[data-draw-tool="hand"] .draw-tool-icon{filter:none!important}

/* Extra room keeps paint swatches behind Brush/Marker/Highlighter visible. */
.draw-tool-main .draw-tool[data-draw-tool="brush"] i,
.draw-tool-main .draw-tool[data-draw-tool="marker"] i,
.draw-tool-main .draw-tool[data-draw-tool="highlighter"] i{width:35px!important;height:35px!important}
.draw-tool-main .draw-tool[data-draw-tool="brush"] .draw-tool-icon,
.draw-tool-main .draw-tool[data-draw-tool="marker"] .draw-tool-icon,
.draw-tool-main .draw-tool[data-draw-tool="highlighter"] .draw-tool-icon{width:34px!important;height:34px!important}


/* v2.0.57 — boot watchdog/recovery + v2.0.57 iPad Draw Mode lock */
.boot-splash{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fbfaf7;color:#747773;font-size:12px;letter-spacing:.01em;transition:opacity .16s ease}
.boot-splash img{width:min(220px,52vw);height:auto;display:block}
.boot-splash.hidden{display:none}
body.booting #landing,body.booting #app,body.booting #authLayer{visibility:hidden!important}
body.draw-mode{overscroll-behavior:none}
body.draw-mode .app-main,body.draw-mode .app-main *,body.draw-mode .app-topbar,body.draw-mode .app-topbar *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
body.draw-mode .app-main{touch-action:none;overscroll-behavior:none}
body.draw-mode input,body.draw-mode textarea,body.draw-mode select,body.draw-mode [contenteditable="true"]{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important;touch-action:auto}
body.draw-mode .draw-viewport,body.draw-mode .draw-canvas{touch-action:none!important;-webkit-user-drag:none!important}

/* v2.0.57 — boot can recover instead of hanging forever */
.boot-splash #bootMessage{min-height:18px}
.boot-recovery{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:min(420px,86vw);text-align:center}
.boot-recovery.hidden{display:none!important}
.boot-recovery small{font-size:12px;line-height:1.55;color:#7a7d78}
.boot-recovery-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.boot-recovery-actions .btn{min-height:38px;padding:8px 14px}
body.boot-recovering #landing,body.boot-recovering #app,body.boot-recovering #authLayer{visibility:hidden!important}

/* v2.0.57 — persistent login */
.auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:#62666d;cursor:pointer;user-select:none}
.auth-remember input{width:16px;height:16px;margin:0;accent-color:#222}


/* =========================================================
   v2.0.65 — Apple Pencil UI ownership + realtime input safety
   ========================================================= */
body.draw-mode [data-draw-ui],
body.draw-mode [data-draw-ui] *,
body.draw-mode [data-draw-page-settings-ui],
body.draw-mode [data-draw-page-settings-ui] *{
  pointer-events:auto;
  touch-action:manipulation;
}
body.draw-mode .draw-viewport,
body.draw-mode .draw-canvas{
  touch-action:none!important;
}

/* ==========================================================
   v2.0.74 — Checklist keyboard + multiline paste UX
   ========================================================== */
.checkitem{align-items:flex-start}
.checkitem input[type="checkbox"]{margin-top:3px;flex:0 0 auto}
.checkitem [data-check-text]{
  min-width:0;
  min-height:22px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.55;
  cursor:text;
}
.checkitem [data-check-text]:empty:before{
  content:'รายการใหม่';
  color:#b0b2ae;
  pointer-events:none;
}


/* ==========================================================
   v2.0.75 — Editable module titles / table columns / board icons / calendar weekdays
   ========================================================== */
.block-title-edit{
  min-width:32px;max-width:min(58%,520px);font-size:12px;font-weight:800;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;outline:0;
  border-radius:6px;padding:3px 4px;margin-left:-4px;cursor:text;
}
.block-title-edit:hover{background:#f6f5f2}
.block-title-edit:focus{background:#fff;border:1px solid #d8d4cd;padding:2px 3px;overflow:visible;text-overflow:clip}

.table-column-head-inner{display:flex;align-items:center;gap:5px;min-width:0}
.table-column-icon{flex:0 0 auto;font-size:12px;line-height:1}
.table-column-grab{color:#b9b9b5;font-size:12px;line-height:1;cursor:grab;user-select:none;padding:3px 1px}
.table-column-grab:active{cursor:grabbing}
.data-table th[data-column-head]{position:relative;transition:background .12s ease}
.data-table th.is-column-dragging{opacity:.45}
.data-table th.is-column-drop-before:before,.data-table th.is-column-drop-after:after{content:'';position:absolute;top:4px;bottom:4px;width:2px;background:var(--accent);border-radius:2px}
.data-table th.is-column-drop-before:before{left:0}.data-table th.is-column-drop-after:after{right:0}
.side-item-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px;color:currentColor}
.side-item-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.side-item:hover .side-item-icon,.side-item.active .side-item-icon{color:inherit}
.table-column-resize{position:absolute;z-index:3;top:0;right:-4px;bottom:0;width:10px;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}
.table-column-resize:after{content:'';position:absolute;top:8px;bottom:8px;left:4px;width:2px;border-radius:2px;background:transparent;transition:background .12s ease}
.data-table th[data-column-head]:hover .table-column-resize:after,.table-column-resize:hover:after{background:color-mix(in srgb,var(--accent) 68%,transparent)}
.column-order-actions{display:flex;gap:8px;flex-wrap:wrap}
.column-order-actions .btn{flex:1}
.restore-columns{display:grid;gap:8px;padding-top:3px}
.restore-column-list{display:flex;gap:7px;flex-wrap:wrap}

.kan-status-icon{font-size:12px;line-height:1;flex:0 0 auto}
.status-icon-row{display:grid;gap:8px}
.status-icon-input{width:86px!important;text-align:center;font-size:18px}
.status-icon-presets{display:flex;gap:6px;flex-wrap:wrap}
.status-icon-choice{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;font-size:15px}
.status-icon-choice:hover,.status-icon-choice.active{border-color:#222;background:#f7f6f3}
.status-manage-list{display:grid;gap:7px;margin-top:16px;max-height:42vh;overflow:auto;padding-right:2px}
.status-manage-row{display:flex;align-items:center;gap:8px;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff}
.status-manage-color{width:9px;height:9px;border-radius:50%;background:var(--status-color);flex:0 0 9px}
.status-manage-row>.field{min-width:0;flex:1}
.status-manage-actions{display:flex;gap:3px;flex:0 0 auto}
.status-order-btn{width:29px;height:29px;border:1px solid transparent;border-radius:8px;background:#f7f6f3;color:#555;cursor:pointer;font-size:15px;line-height:1}
.status-order-btn:hover:not(:disabled){border-color:#d8d5ce;background:#fff;color:#222}
.status-order-btn:disabled{opacity:.35;cursor:default}
.status-remove-btn{font-size:19px;color:#9b5050}
.status-manage-add{display:flex;gap:8px;margin-top:10px}.status-manage-add .field{min-width:0;flex:1}.status-manage-add .btn{white-space:nowrap}

.cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:5px}
.cal-weekday{font-size:10px;font-weight:800;color:#787b77;text-align:center;padding:4px 2px;white-space:nowrap}
.cal-weekday.is-weekend{color:#9c7b83}
.block[data-type="calendar"] .cal-day.is-weekend:not(.is-empty){background:#fdfbf9}

/* v2.0.76 — Data linker cleanup / safer dataset cards */
.dataset-linker-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.dataset-choice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}
.dataset-choice-row .dataset-choice{width:100%;min-width:0}
.dataset-choice-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.dataset-choice-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dataset-choice-main small{font-size:9px;color:#9a9d98;font-weight:500}
.dataset-choice-actions{display:flex;align-items:center;gap:4px}
.dataset-rename-btn,.dataset-delete-btn{width:32px;min-width:32px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#777;font-size:14px}
.dataset-rename-btn:hover{background:#f7f8fa;color:var(--ink)}
.dataset-delete-btn{border:1px solid var(--line);border-radius:10px;background:#fff;color:#a34b58;font-size:16px}
.dataset-delete-btn:hover{background:#fff4f5;border-color:#efcfd4}
.dataset-empty-note{padding:18px;border:1px dashed var(--line);border-radius:12px;color:#999;text-align:center;font-size:11px}

/* ==========================================================
   v2.0.77 — Preserve intentional blank lines
   ========================================================== */
.paper-text{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere;
}
.richtext{
  white-space:pre-wrap;
}


/* ==========================================================
   v2.0.79 — Scoped editors, Multi-Link, responsive Calendar
   ========================================================== */
.block[data-type="link"]{min-height:120px;max-height:none}
.block[data-type="link"] .block-body{min-height:0}
.link-multi-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px 18px}
.link-list{display:grid;gap:7px;min-height:0}
.link-empty{min-height:48px;display:flex;align-items:center;padding:0 4px;color:#999d98;font-size:11px}
.link-item{display:grid;grid-template-columns:28px minmax(0,1fr) 30px 30px;gap:7px;align-items:center;min-height:52px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.82);padding:5px 6px;transition:border-color .14s ease,background .14s ease,opacity .14s ease}
.link-item:hover{border-color:#d7d3cc;background:#fff}
.link-item.is-link-dragging{opacity:.42}
.link-item.is-link-drop{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,#fff)}
.link-item-grab,.link-item-edit,.link-item-delete{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#989c97;display:grid;place-items:center}
.link-item-grab{cursor:grab;font-size:14px}.link-item-grab:active{cursor:grabbing}
.link-item-edit:hover{background:#f4f3ef;color:#555}.link-item-delete:hover{background:#fff1f3;color:#c34e60}
.link-item-main{min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--ink);text-decoration:none}
.link-item-main b,.link-item-main small{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.link-item-main b{font-size:12px}.link-item-main small{font-size:9px;color:#979b96;font-weight:500}
.link-add-form{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(170px,1.25fr);gap:8px;padding:10px;border:1px dashed #dad6cf;border-radius:12px;background:#fcfbf8}
.link-add-form.is-hidden{display:none}
.link-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}
.link-add-btn{align-self:flex-start}.link-add-btn.is-hidden{display:none}
.block[data-type="link"][data-manual-height="1"] .link-multi-body{overflow:auto}

/* Calendar day grid consumes the resized height. */
.calendar-block{display:flex;flex-direction:column}
.calendar-block .block-head{flex:0 0 44px}
.calendar-block .calendar-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.calendar-block .cal-toolbar,.calendar-block .cal-weekdays,.calendar-block .cal-add{flex:0 0 auto}
.calendar-block .cal-month{flex:1 1 auto;min-height:calc(var(--calendar-weeks,5) * 54px);grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--calendar-weeks,5),minmax(54px,1fr));align-items:stretch}
.calendar-block .cal-day{min-height:0!important;height:auto;display:flex;flex-direction:column;overflow:hidden}
.calendar-block .cal-events{flex:1 1 auto;min-height:0;overflow:hidden;align-content:start}
.calendar-block[data-manual-height="1"] .calendar-body{overflow:hidden!important;padding-bottom:13px!important}
.calendar-block[data-manual-height="1"] .cal-month{min-height:0;grid-template-rows:repeat(var(--calendar-weeks,5),minmax(0,1fr))}

@media(max-width:680px){
  .link-add-form{grid-template-columns:1fr}
  .link-form-actions{grid-column:1}
}


/* ==========================================================
   v2.0.80 — Script-friendly record editor
   ========================================================== */
.modal.item-editor-modal{
  width:min(760px,calc(100vw - 32px));
  max-height:92vh;
}
.item-editor-form{
  gap:14px;
}
.item-notes-section{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.item-notes-label{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.item-notes-focus-btn{
  border:0;
  background:transparent;
  color:#777c77;
  font-size:10px;
  font-weight:700;
  padding:3px 5px;
  border-radius:7px;
  cursor:pointer;
}
.item-notes-focus-btn:hover{background:#f4f3ef;color:#333}
.item-script-textarea{
  width:100%;
  min-height:300px;
  max-height:58vh;
  resize:vertical;
  overflow:auto;
  line-height:1.7;
  font-size:14px;
  white-space:pre-wrap;
  tab-size:2;
}
.item-extra-grid{
  align-items:start;
}
.item-performance{
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbfaf7;
  overflow:hidden;
}
.item-performance>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 13px;
  user-select:none;
}
.item-performance>summary::-webkit-details-marker{display:none}
.item-performance>summary:after{
  content:'⌄';
  color:#8b8f8a;
  font-size:14px;
  transition:transform .15s ease;
}
.item-performance[open]>summary:after{transform:rotate(180deg)}
.item-performance>summary span{
  font-size:11px;
  font-weight:800;
  color:#3d413d;
}
.item-performance>summary small{
  margin-left:auto;
  color:#969a95;
  font-size:9px;
  font-weight:500;
}
.item-performance>.item-extra-grid{
  border-top:1px solid var(--line);
  padding:13px;
}

/* Focus mode: turn the same modal into a real Script editor without
   losing the draft or opening a second editor. */
.modal.item-editor-modal.is-script-focus{
  width:min(1040px,calc(100vw - 28px));
  height:min(92vh,920px);
  max-height:92vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.item-editor-modal.is-script-focus .item-editor-head p{
  display:none;
}
.item-editor-modal.is-script-focus .item-editor-form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.item-editor-modal.is-script-focus .item-main-meta,
.item-editor-modal.is-script-focus .item-normal-extras,
.item-editor-modal.is-script-focus .item-performance{
  display:none!important;
}
.item-editor-modal.is-script-focus .item-title-field{
  flex:0 0 auto;
}
.item-editor-modal.is-script-focus .item-notes-section{
  flex:1 1 auto;
  min-height:0;
}
.item-editor-modal.is-script-focus .item-script-textarea{
  flex:1 1 auto;
  height:auto!important;
  min-height:0;
  max-height:none;
  resize:none;
  font-size:16px;
  line-height:1.8;
}
.item-editor-modal.is-script-focus .item-editor-actions{
  flex:0 0 auto;
  margin-top:14px;
}

/* Multi-Link content always stays in normal flow.
   A user-resized Link height is a minimum, never a clipping viewport. */
.block[data-type="link"][data-manual-height="1"]{
  height:auto!important;
  max-height:none!important;
}
.block[data-type="link"][data-manual-height="1"] .block-body,
.block[data-type="link"][data-manual-height="1"] .link-multi-body{
  overflow:visible!important;
  height:auto!important;
}
.block[data-type="link"] .link-list,
.block[data-type="link"] .link-add-btn{
  position:relative;
  flex:0 0 auto;
}

@media(max-width:680px){
  .modal.item-editor-modal{
    width:calc(100vw - 18px);
    padding:16px;
  }
  .item-form-grid{
    grid-template-columns:1fr;
  }
  .item-script-textarea{
    min-height:250px;
    max-height:52vh;
  }
  .item-editor-modal.is-script-focus{
    width:calc(100vw - 12px);
    height:94vh;
    max-height:94vh;
  }
}


/* ==========================================================
   v2.0.81 — Rich Script Editor
   ========================================================== */
.item-script-shell{
  border:1px solid #cfd4db;
  border-radius:13px;
  background:#fff;
  overflow:visible;
  box-shadow:0 0 0 3px rgba(75,131,245,.08);
}
.item-script-toolbar{
  position:sticky;
  top:0;
  z-index:6;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  margin:0;
  padding:7px 8px;
  border-bottom:1px solid var(--line);
  border-radius:12px 12px 0 0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
}
.item-script-toolbar button{
  height:30px;
  min-width:30px;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:#333;
  font-size:11px;
}
.item-script-toolbar button:hover{
  background:#f6f5f2;
  border-color:#d3cfc7;
}
.item-script-toolbar .highlight-wrap{
  position:relative;
}
.item-script-toolbar .highlight-menu{
  top:34px;
  left:0;
}
.script-toolbar-sep{
  width:1px;
  height:20px;
  margin:0 2px;
  background:#e4e1db;
}
.item-script-editor{
  min-height:300px;
  max-height:58vh;
  overflow:auto;
  padding:14px 14px 18px;
  outline:0;
  font-size:14px;
  line-height:1.75;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  resize:vertical;
}
.item-script-editor:empty:before{
  content:attr(data-placeholder);
  color:#a6aaa5;
  pointer-events:none;
}
.item-script-editor h1{
  margin:16px 0 8px;
  font-size:24px;
  line-height:1.3;
}
.item-script-editor h2{
  margin:14px 0 7px;
  font-size:19px;
  line-height:1.35;
}
.item-script-editor ul,
.item-script-editor ol{
  margin:8px 0;
  padding-left:26px;
}
.item-script-editor blockquote{
  margin:10px 0;
  padding:8px 12px;
  border-left:3px solid #d8d3ca;
  background:#faf8f4;
  color:#5b5f5a;
}
.item-script-editor a{
  color:#356fd7;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Focus Mode keeps the formatting toolbar visible while writing. */
.item-editor-modal.is-script-focus .item-script-shell{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.item-editor-modal.is-script-focus .item-script-toolbar{
  flex:0 0 auto;
}
.item-editor-modal.is-script-focus .item-script-editor{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  height:auto!important;
  resize:none;
  font-size:16px;
  line-height:1.8;
}

/* Mobile toolbar stays scrollable instead of wrapping into a tall wall. */
@media(max-width:680px){
  .item-script-toolbar{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .item-script-toolbar::-webkit-scrollbar{display:none}
  .item-script-editor{
    min-height:250px;
    max-height:54vh;
  }
}


/* ==========================================================
   v2.0.82 — Central Media Library + Albums
   ========================================================== */
.item-media-section{display:grid;gap:10px;padding-top:2px}
.item-media-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.item-media-head>div{display:grid;gap:2px}
.item-media-head b{font-size:11px}.item-media-head small{font-size:9px;color:#92968f;font-weight:500}
.item-media-head>span{min-width:26px;height:24px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:9px;font-weight:800}
.item-media-album-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.item-media-album-row label{display:grid;gap:5px}.item-media-album-row label>span{font-size:9px;font-weight:700;color:#696d68}
.item-media-drop{min-height:112px;border:1.5px dashed #d7d2c9;border-radius:14px;background:#fbfaf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.15s ease;outline:0}
.item-media-drop:hover,.item-media-drop:focus,.item-media-drop.is-dragover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.item-media-drop.is-uploading{opacity:.6;pointer-events:none}
.item-media-drop-icon{width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:20px;color:#777}
.item-media-drop b{font-size:11px}.item-media-drop span{font-size:9px;color:#92968f}
.item-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.item-media-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.item-media-preview{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#f2f1ed;cursor:zoom-in}
.item-media-preview img{width:100%;height:100%;display:block;object-fit:cover}
.item-media-meta{display:grid;gap:1px;padding:7px 27px 7px 8px;min-width:0}
.item-media-meta b,.item-media-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item-media-meta b{font-size:9px}.item-media-meta small{font-size:8px;color:#9a9d98}
.item-media-remove{position:absolute;right:5px;bottom:7px;width:22px;height:22px;border:0;border-radius:7px;background:#fff;color:#9a5862;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.item-editor-modal.is-script-focus .item-media-section{display:none!important}

.album-block-body{display:flex;flex-direction:column;gap:9px;min-height:0}
.album-module-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}
.album-module-head b{font-size:11px}.album-module-head span{font-size:9px;color:#969a95}
.album-module-grid{display:grid;grid-template-columns:repeat(var(--album-cols,3),minmax(0,1fr));gap:10px;align-content:start}
.album-gap-small{gap:4px}.album-gap-medium{gap:10px}.album-gap-large{gap:18px}
.album-media-item{min-width:0;padding:0;border:0;border-radius:10px;background:#f3f2ef;overflow:hidden;text-align:left;cursor:zoom-in}
.album-media-item img{width:100%;aspect-ratio:1/1;display:block;background:#eee}
.album-fit-fit img{object-fit:contain;background:#fff}.album-fit-fill img{object-fit:cover}
.album-media-item span{display:block;padding:6px 7px;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;border-top:1px solid var(--line)}
.album-module-empty{grid-column:1/-1;min-height:110px;border:1px dashed var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9a9d98;font-size:10px;text-align:center;padding:14px}
.album-module-empty-pick{display:flex;flex-direction:column;gap:6px;min-height:180px}.album-module-empty-pick b{font-size:13px;color:#3c403c}.album-module-empty-pick span{max-width:340px;line-height:1.5}
.album-module-settings label{display:grid;gap:5px}.album-module-settings label>span{font-size:9px;font-weight:700;color:#696d68}
.album-show-name-row{display:flex!important}

@media(max-width:680px){
 .item-media-album-row{grid-template-columns:1fr}
 .item-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .album-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.item-media-drop-actions{display:flex;gap:7px;margin-top:5px;flex-wrap:wrap;justify-content:center}
.item-media-library-picker{border:1px solid var(--line);border-radius:13px;background:#fbfaf7;padding:9px;display:grid;gap:8px}
.item-media-library-picker.hidden{display:none}
.item-media-library-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}
.item-media-library-head b{font-size:10px}
.item-media-library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:280px;overflow:auto}
.item-media-library-card{min-width:0;padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;text-align:left}
.item-media-library-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}
.item-media-library-card span{display:block;padding:5px 6px;font-size:8px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-media-library-card:hover{border-color:var(--accent)}
.item-media-library-empty{grid-column:1/-1;padding:20px;text-align:center;color:#999;font-size:9px}
@media(max-width:680px){.item-media-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* ==========================================================
   v2.0.83 — Simple Media UX + Inline Album Selector
   ========================================================== */
.item-media-simple{
  gap:9px;
}
.item-media-simple .item-media-head{
  align-items:center;
}
.item-media-simple .item-media-head>b{
  font-size:12px;
}
.item-media-simple .item-media-head>span{
  min-width:auto;
  height:auto;
  padding:4px 8px;
  border:0;
  background:#f4f3ef;
  color:#767b75;
  font-size:9px;
}
.item-media-drop-simple{
  min-height:92px;
  gap:7px;
  padding:14px;
}
.item-media-drop-simple .item-media-drop-icon{
  width:30px;
  height:30px;
  font-size:18px;
}
.item-media-drop-simple>b{
  font-size:11px;
}
.item-media-drop-simple .item-media-drop-actions{
  margin-top:1px;
}
.item-media-drop-simple .btn{
  min-height:32px;
  padding:0 11px;
}
.item-media-drop-simple .primary-soft{
  background:#f1f3f0;
  border-color:#e3e5e0;
  color:#222;
}
.item-media-drop-simple .primary-soft:hover{
  background:#e9ece7;
}
.item-media-album-simple{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:9px;
  align-items:center;
}
.item-media-album-simple>span{
  font-size:9px;
  font-weight:800;
  color:#6e736d;
}
.item-media-album-simple .field{
  min-height:36px;
}

/* Album selector is always visible directly in the module. */
.album-inline-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
}
.album-inline-picker label{
  display:grid;
  gap:5px;
}
.album-inline-picker label>span{
  font-size:9px;
  font-weight:800;
  color:#6d726c;
}
.album-inline-picker .field{
  min-height:36px;
}
.album-inline-count{
  min-height:36px;
  display:flex;
  align-items:center;
  white-space:nowrap;
  padding:0 3px 0 2px;
  color:#929691;
  font-size:9px;
  font-weight:700;
}
.album-module-empty-simple{
  min-height:96px;
}
.album-display-settings{
  margin-top:auto;
  align-self:flex-start;
  width:auto;
}

@media(max-width:680px){
  .item-media-album-simple{
    grid-template-columns:1fr;
    gap:5px;
  }
  .album-inline-picker{
    grid-template-columns:1fr;
  }
  .album-inline-count{
    min-height:auto;
  }
}


/* ==========================================================
   v2.0.84 — Per-image Album assignment + Unified Gallery source
   ========================================================== */

/* Content Details: every image owns its album choice. */
.item-media-card-with-album{
  align-items:start;
}
.item-media-card-with-album .item-media-meta{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.item-media-card-album{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  margin-top:5px;
}
.item-media-card-album>span{
  color:#888d87;
  font-size:8px;
  font-weight:800;
}
.item-media-card-album .field{
  min-height:30px;
  height:30px;
  padding:0 26px 0 8px;
  font-size:9px;
}
.item-media-album-simple{
  grid-template-columns:128px minmax(0,1fr);
}
.item-media-album-simple>span{
  white-space:nowrap;
}

/* Gallery is now the one image collection module. */
.gallery-unified-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.gallery-source-row{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.gallery-source-row>span{
  font-size:9px;
  font-weight:800;
  color:#717670;
}
.gallery-source-row .field{
  min-height:36px;
}
.gallery-unified-body .gallery-grid{
  grid-template-columns:repeat(var(--gallery-cols,3),minmax(0,1fr));
}
.gallery-gap-small{gap:4px!important}
.gallery-gap-medium{gap:8px!important}
.gallery-gap-large{gap:14px!important}

.gallery-central-item{
  border:0;
  padding:0;
  cursor:zoom-in;
  text-align:left;
}
.gallery-item{
  position:relative;
  display:flex;
  flex-direction:column;
}
.gallery-item>img{
  min-height:0;
  flex:1 1 auto;
}
.gallery-item-name{
  display:block;
  flex:0 0 auto;
  padding:5px 7px;
  border-top:1px solid var(--line);
  background:#fff;
  color:#555a55;
  font-size:8px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gallery-source-empty{
  grid-column:1/-1;
  min-height:100px;
  border:1px dashed #ddd8cf;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:#989c97;
  font-size:10px;
  text-align:center;
  padding:16px;
}

@media(max-width:680px){
  .item-media-album-simple,
  .gallery-source-row{
    grid-template-columns:1fr;
  }
  .item-media-card-album{
    grid-template-columns:1fr;
    gap:3px;
  }
}


/* ==========================================================
   v2.0.85 — Mixed Media + Plesk Video Storage
   ========================================================== */
.item-media-v2085{gap:9px}
.item-media-v2085 .item-media-head{align-items:center}

.item-media-addbar{
  position:relative;
  min-height:54px;
  border:1px dashed #d8d4cc;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#fbfaf7;
  transition:.14s ease;
}
.item-media-addbar.is-dragover{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 4%,#fff);
}
.item-media-addbar.is-uploading{opacity:.62;pointer-events:none}
.item-media-addbar>span{font-size:9px;color:#a0a49f}
.item-media-add-main{
  border:0;
  background:transparent;
  color:#222;
  font-size:11px;
  font-weight:800;
  padding:9px 10px;
  border-radius:9px;
}
.item-media-add-main:hover{background:#f0efeb}
.item-media-add-menu{
  position:absolute;
  z-index:12;
  top:47px;
  left:50%;
  transform:translateX(-50%);
  min-width:190px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  box-shadow:0 14px 35px rgba(0,0,0,.12);
  display:grid;
  gap:3px;
}
.item-media-add-menu.hidden{display:none}
.item-media-add-menu button{
  border:0;
  border-radius:8px;
  background:transparent;
  text-align:left;
  padding:9px 10px;
  font-size:10px;
  font-weight:700;
}
.item-media-add-menu button:hover{background:#f5f4f1}
.item-media-v2085 .item-media-album-simple{
  grid-template-columns:54px minmax(0,1fr);
}

.item-media-card{overflow:visible}
.item-media-more{
  position:absolute;
  right:5px;
  top:5px;
  width:26px;
  height:26px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:8px;
  background:rgba(255,255,255,.93);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  font-weight:900;
}
.item-media-card-menu{
  position:absolute;
  z-index:14;
  top:34px;
  right:5px;
  width:min(220px,calc(100% - 10px));
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.14);
  display:grid;
  gap:7px;
}
.item-media-card-menu.hidden{display:none}
.item-media-card-menu label{display:grid;gap:3px}
.item-media-card-menu label>span{font-size:8px;font-weight:800;color:#7a7f79}
.item-media-card-menu .field{min-height:31px;height:31px;font-size:9px}
.item-media-card-menu .btn{min-height:31px;font-size:9px}

.item-media-video-thumb,
.item-media-library-video,
.gallery-video-thumb{
  width:100%;
  height:100%;
  min-height:92px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  background:linear-gradient(145deg,#202225,#111214);
  color:#fff;
}
.item-media-video-thumb{aspect-ratio:4/3}
.item-media-video-thumb .item-media-play,
.gallery-video-thumb>span,
.item-media-library-video>span{
  width:36px;height:36px;border-radius:999px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(4px);
  font-size:14px;
  padding-left:2px;
}
.item-media-video-thumb small,
.item-media-library-video small,
.gallery-video-thumb small{
  font-size:9px;
  color:rgba(255,255,255,.82);
}
.item-media-library-video{aspect-ratio:1/1;min-height:0}

.media-viewer-video{
  display:block;
  width:min(92vw,1280px);
  max-height:82vh;
  background:#000;
  border-radius:10px;
}
.media-viewer-video.hidden{display:none}

/* Gallery front stays clean: source selection lives in ⋯. */
.gallery-source-row{display:none!important}
.gallery-source-meta{
  margin:-1px 0 1px;
  color:#969b95;
  font-size:8px;
  font-weight:700;
}
.gallery-video-item{background:#111}
.gallery-video-thumb{aspect-ratio:1/1;min-height:0}
.gallery-central-item.gallery-video-item{cursor:pointer}

@media(max-width:680px){
  .item-media-addbar{justify-content:flex-start;padding:0 10px}
  .item-media-addbar>span{display:none}
  .item-media-add-menu{left:8px;transform:none}
}


/* ==========================================================
   v2.0.86 — Clean Media Viewer + Central Gallery Media
   ========================================================== */

/* Gallery tiles are visual-only: no filenames, lines or hover actions. */
.gallery-clean-body{gap:8px}
.gallery-clean-item{
  display:block;
  position:relative;
  overflow:hidden;
  padding:0;
  border:0!important;
  border-radius:8px;
  background:#f4f4f1;
  cursor:zoom-in;
  text-align:left;
}
.gallery-clean-item>img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
}
.gallery-display-fit .gallery-clean-item>img{object-fit:contain}
.gallery-display-crop .gallery-clean-item>img{object-fit:cover}
.gallery-clean-item:hover{opacity:.95}
.gallery-clean-item:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 58%,transparent);
  outline-offset:2px;
}
.gallery-clean-body .gallery-item-name,
.gallery-clean-body .gallery-hover-tools,
.gallery-clean-body .gallery-source-meta{
  display:none!important;
}
.gallery-clean-body .gallery-grid{
  align-items:start;
}
.gallery-clean-body .gallery-video-thumb{
  min-height:110px;
}

/* Content Media cards keep a small remove control for replacing copied attachments. */
.item-media-card-clean{
  overflow:hidden;
  border-radius:10px;
}
.item-media-card-clean .item-media-preview{
  display:block;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
}
.item-media-card-clean .item-media-preview>img{
  display:block;
  width:100%;
}

.item-media-card-clean .item-media-remove-overlay{
  position:absolute;
  z-index:2;
  top:6px;
  right:6px;
  bottom:auto;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(35,38,34,.1);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#4b4f49;
  box-shadow:0 1px 5px rgba(25,25,20,.16);
  font:600 17px/1 system-ui,sans-serif;
  cursor:pointer;
}
.item-media-card-clean .item-media-remove-overlay:hover{
  background:#fff;
  color:#a43f48;
  box-shadow:0 2px 8px rgba(25,25,20,.2);
}
.item-media-card-clean .item-media-remove-overlay:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.item-file-extra{display:grid;gap:7px;min-width:0}
.item-file-extra-title{font-size:10px;font-weight:700;color:#696d68}
.item-file-extra-list{display:grid;gap:5px;min-width:0}
.item-file-extra-row{display:flex;align-items:center;gap:6px;min-width:0;padding:5px 6px;border:1px solid var(--line);border-radius:9px;background:#fff}
.item-file-extra-name{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:2px;border:0;background:transparent;color:inherit;text-align:left;font:inherit}
button.item-file-extra-name{cursor:pointer}
.item-file-extra-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.item-file-extra-name:disabled{color:#9a9d98}
.item-file-extra-remove{flex:0 0 24px;width:24px;height:24px;border:0;border-radius:7px;background:#f5f4f0;color:#737770;font-size:16px;cursor:pointer}
.item-file-extra-remove:hover{background:#fff0f0;color:#a43f48}
.item-file-extra-row.is-pending{border-style:dashed;background:#fbfaf7}
.item-file-extra-empty{padding:3px 2px;color:#969a95;font-size:10px}
.item-file-extra-add{width:max-content;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px dashed #d7d2c9;border-radius:9px;color:#565b54;font-size:10px;font-weight:700;cursor:pointer}
.item-file-extra-add:hover{border-color:var(--accent);background:#fbfaf7}
.item-file-extra-add input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.item-media-card-clean .item-media-meta,
.item-media-card-clean .item-media-more,
.item-media-card-clean .item-media-card-menu{
  display:none!important;
}

/* Viewer: only Close + 3-dot on the surface. */
.media-viewer-more{
  position:absolute;
  z-index:5;
  top:26px;
  right:82px;
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:24px;
  line-height:1;
  letter-spacing:2px;
  opacity:.78;
}
.media-viewer-more:hover{opacity:1;background:rgba(255,255,255,.13)}
.media-viewer-more:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:3px}

.media-viewer-download{display:none!important}
.media-viewer-caption{display:none!important}

.media-viewer-menu{
  position:absolute;
  z-index:8;
  top:70px;
  right:76px;
  width:190px;
  padding:6px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(29,30,31,.96);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
}
.media-viewer-menu.hidden{display:none}
.media-viewer-menu button{
  display:block;
  width:100%;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#fff;
  text-align:left;
  padding:10px 11px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.media-viewer-menu button:hover{background:rgba(255,255,255,.09)}
.media-viewer-menu button.danger-text{color:#ffb5bd}

.media-viewer-info{
  position:absolute;
  z-index:7;
  top:76px;
  right:28px;
  width:min(340px,calc(100vw - 40px));
  max-height:calc(100vh - 120px);
  overflow:auto;
  padding:14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(29,30,31,.96);
  color:#fff;
  box-shadow:0 20px 55px rgba(0,0,0,.30);
  backdrop-filter:blur(18px);
}
.media-viewer-info.hidden{display:none}
.media-viewer-info-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.media-viewer-info-head>b{font-size:12px}
.media-viewer-info-head button{
  width:28px;height:28px;border:0;border-radius:8px;
  background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer;
}
.media-info-title{
  margin-bottom:12px;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.media-info-list{
  display:grid;
  gap:0;
  margin:0;
}
.media-info-list>div{
  display:grid;
  grid-template-columns:105px minmax(0,1fr);
  gap:10px;
  padding:8px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.media-info-list dt{
  color:rgba(255,255,255,.52);
  font-size:9px;
  font-weight:700;
}
.media-info-list dd{
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:10px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

@media(max-width:600px){
  .media-viewer-more{top:16px;right:62px}
  .media-viewer-menu{top:60px;right:12px}
  .media-viewer-info{top:60px;right:12px;left:12px;width:auto;max-height:calc(100vh - 120px)}
}


/* ==========================================================
   v2.0.88 — Simple Channels + Format chips
   ========================================================== */
.item-choice-field{
  position:relative;
  min-width:0;
  display:grid;
  gap:6px;
}
.item-choice-label{
  color:#747872;
  font-size:9px;
  font-weight:800;
}
.item-choice-row{
  min-height:39px;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  padding:5px 7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.item-choice-chips{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  min-width:0;
}
.item-choice-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:26px;
  padding:0 7px 0 9px;
  border-radius:999px;
  background:#f1f1ee;
  color:#353834;
  font-size:9px;
  font-weight:750;
  line-height:1;
  white-space:nowrap;
}
.item-choice-chip button{
  width:17px;
  height:17px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#969a94;
  font-size:13px;
  line-height:15px;
  cursor:pointer;
}
.item-choice-chip button:hover{
  background:#deded9;
  color:#30332f;
}
.item-choice-add{
  flex:0 0 auto;
  min-height:26px;
  padding:0 7px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#767a75;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.item-choice-add:hover{
  background:#f3f3f0;
  color:#2e312e;
}
.item-choice-popover{
  position:absolute;
  z-index:20;
  top:calc(100% + 5px);
  left:0;
  width:min(300px,calc(100vw - 56px));
  padding:7px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 38px rgba(24,25,24,.13);
}
.item-choice-popover.hidden{display:none}
.item-choice-options{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.item-choice-option,
.item-choice-custom{
  min-height:29px;
  padding:0 9px;
  border:1px solid #e6e5e0;
  border-radius:8px;
  background:#fafaf8;
  color:#494d48;
  font-size:9px;
  font-weight:750;
  cursor:pointer;
}
.item-choice-option:hover,
.item-choice-custom:hover{
  background:#f1f1ee;
}
.item-choice-option.is-selected{
  border-color:#cfd2cc;
  background:#e9ebe7;
  color:#20231f;
}
.item-choice-option.is-selected::after{
  content:' ✓';
  font-weight:900;
}
.item-choice-custom{
  width:100%;
  margin-top:7px;
  border-color:transparent;
  background:transparent;
  text-align:left;
  color:#777b75;
}
.item-choice-field input[data-choice-store]{display:none!important}
.item-choice-add-custom{display:flex;align-items:center;gap:6px;margin-top:7px;padding-top:7px;border-top:1px solid #efeee9}
.item-choice-add-custom .field{height:31px;min-width:0;flex:1;padding:0 8px;font-size:10px}
.item-choice-add-custom .item-choice-custom{width:auto;flex:0 0 auto;margin:0;padding:0 9px;white-space:nowrap}

@media(max-width:680px){
  .item-choice-popover{
    right:0;
    width:auto;
  }
}


/* v2.0.89 — Rich Text Checklist */
.item-script-toolbar [data-script-checklist].active{background:#eeefeb;border-color:#cfd2cc;color:#242724}
.item-script-checklist{display:flex;align-items:flex-start;gap:9px;margin:4px 0;min-height:25px;line-height:1.7}
.item-script-checkbox{flex:0 0 auto;width:16px;height:16px;margin:4px 0 0;cursor:pointer;accent-color:#282b28}
.item-script-checktext{flex:1 1 auto;min-width:0;outline:0;overflow-wrap:anywhere}
.item-script-checklist.done .item-script-checktext{color:#9a9d98;text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#aeb1ac}
.item-script-checklist + .item-script-checklist{margin-top:2px}

/* v2.0.89.1 — Checklist visibility hotfix */
.item-script-toolbar [data-script-checklist]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 auto!important;
  order:6!important;
  min-width:34px!important;
}


/* ==========================================================
   v2.0.89.3 — Checklist inside the normal website Text module
   ========================================================== */
.richbar [data-rich-checklist]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:34px;
  font-size:17px;
  line-height:1;
}
.richbar [data-rich-checklist].active{
  background:#eeefeb;
  border-color:#cfd2cc;
  color:#242724;
}
.richtext .rich-check-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  min-height:26px;
  margin:4px 0;
  line-height:1.65;
}
.richtext .rich-check-box{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:4px 0 0;
  cursor:pointer;
  accent-color:#2b2e2a;
}
.richtext .rich-check-text{
  flex:1 1 auto;
  min-width:0;
  outline:0;
  overflow-wrap:anywhere;
}
.richtext .rich-check-row.done .rich-check-text{
  color:#9a9d98;
  text-decoration:line-through;
  text-decoration-thickness:1px;
  text-decoration-color:#aeb1ac;
}
.richtext .rich-check-row + .rich-check-row{margin-top:2px}
.page-row{padding-left:calc(10px + var(--page-indent,0px))}.page-tree-toggle{width:15px;height:22px;flex:0 0 15px;border:0;background:transparent;color:var(--muted);padding:0;font-size:16px;line-height:1;opacity:.5}.page-tree-toggle.has-children{opacity:1;cursor:pointer}.page-row-icon{width:15px;flex:0 0 15px;text-align:center}.page-children{position:relative}.table-tools{display:flex;align-items:center;gap:10px;margin-bottom:10px}.table-source-files{position:relative;font-size:11px;color:var(--muted)}.table-source-files summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface)}.table-source-files>div{position:absolute;z-index:5;top:calc(100% + 5px);left:0;min-width:190px;max-width:300px;padding:7px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-soft)}.table-source-files button{display:block;width:100%;padding:7px 8px;text-align:left;border:0;border-radius:7px;background:transparent;font-size:11px}.table-source-files button:hover{background:var(--surface-2)}.table-file-cell{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;min-width:90px;max-width:100%}.table-file-chip{display:inline-flex;align-items:center;gap:2px;min-width:0;flex:0 1 auto;max-width:190px;padding:3px 5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font-size:10px}.table-file-chip>button:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;color:inherit;text-align:left}.table-file-external{text-decoration:none;color:var(--accent)}.table-file-remove{border:0;background:transparent;color:var(--muted);padding:0 2px}.table-file-add{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:7px;cursor:pointer;color:var(--muted)}.table-file-add input{display:none}.excel-import-sheet{display:grid;gap:13px;margin-top:15px}.excel-import-sheet>label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.excel-preview{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.excel-preview table{border-collapse:collapse;min-width:100%;font-size:10px}.excel-preview th,.excel-preview td{max-width:190px;padding:7px 9px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.excel-preview th{background:var(--surface-2)}.excel-mapping{display:grid;gap:7px}.excel-mapping>b{font-size:12px}.excel-map-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(120px,1fr) minmax(105px,.8fr);gap:7px;align-items:center}.excel-map-row>span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-tree-toggle.has-children::before{content:'▶';display:block;font-size:9px;line-height:1;color:var(--ink);transform:rotate(0deg);transition:transform .12s ease}.page-tree-toggle.has-children[aria-expanded="true"]::before{transform:rotate(90deg)}.page-tree-toggle:not(.has-children)::before{content:''}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(112,116,112,.5) transparent;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.table-scroll::-webkit-scrollbar{height:9px}.table-scroll::-webkit-scrollbar-thumb{background:rgba(112,116,112,.5);border-radius:999px}.table-scroll::-webkit-scrollbar-track{background:transparent}.table-scroll .data-table{width:max-content;min-width:100%;table-layout:auto}.table-scroll .data-table th,.table-scroll .data-table td{min-width:128px;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-scroll .data-table th[data-column-head="title"],.table-scroll .data-table td:first-child{min-width:76px}.table-scroll .data-table th[data-column-head="statusId"]{min-width:136px}.table-scroll .data-table th[data-column-head="startDate"]{min-width:122px}.table-scroll .data-table th[data-column-head="priority"]{min-width:108px}.table-scroll .data-table th.table-actions-head,.table-scroll .data-table td.table-row-actions{min-width:68px;width:68px}.source-file-list{display:grid;gap:8px;margin-top:16px}.source-file-entry{display:flex;align-items:center;gap:9px;text-align:left}.source-file-entry span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.table-scroll .data-table th[data-column-head],.table-scroll .data-table td[data-column-cell]{min-width:0!important;max-width:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.table-scroll .data-table input,.table-scroll .data-table select{min-width:0!important;max-width:100%;box-sizing:border-box}

/* Data export format picker */
.export-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}
.export-format-choice{min-height:76px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.export-format-choice:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,#fff)}
.export-format-choice b,.export-format-choice small{display:block}
.export-format-choice b{font-size:12px;color:var(--ink)}
.export-format-choice small{margin-top:5px;font-size:10px;line-height:1.4;color:var(--muted)}
.export-orientation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:11px;color:var(--muted)}
.export-orientation .field{width:160px}
@media(max-width:420px){.export-format-grid{grid-template-columns:1fr}.export-orientation{align-items:flex-start;flex-direction:column}.export-orientation .field{width:100%}}
.export-format-choice[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}
.export-option-pane{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);display:grid;gap:9px}
.export-option-pane> b{font-size:12px;margin-bottom:1px}
.export-option-pane>label:not(.export-orientation){display:flex;align-items:center;gap:9px;min-height:27px;font-size:11px;color:var(--text)}
.export-option-pane input[type="checkbox"]{width:16px;height:16px;flex:0 0 16px;accent-color:var(--accent)}
.export-option-pane input[type="checkbox"]:disabled+span{opacity:.48}
.export-option-pane .export-orientation{margin:0}
.export-option-pane .modal-actions{margin-top:5px}

.excel-file-summary{display:flex;align-items:center;gap:7px;min-width:0;margin:5px 0 0;font-size:11px;color:var(--muted)}
.excel-file-badge{flex:0 0 auto;padding:2px 5px;border-radius:5px;background:#eaf4ec;color:#287a43;font-size:9px;font-weight:700;letter-spacing:.02em}
.excel-file-name{min-width:0;max-width:min(42vw,340px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}

/* v2.0.90.7 — keep Grid and Free page scrolling inside the app content area. */
body.editor-mode:not(.infinite-mode):not(.draw-mode) .app-main{
  height:100vh;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(112,116,112,.55) transparent;
}
body.editor-mode:not(.infinite-mode):not(.draw-mode) .app-main::-webkit-scrollbar{width:10px}
body.editor-mode:not(.infinite-mode):not(.draw-mode) .app-main::-webkit-scrollbar-thumb{background:rgba(112,116,112,.55);border:2px solid transparent;border-radius:999px;background-clip:padding-box}
body.editor-mode:not(.infinite-mode):not(.draw-mode) .app-main::-webkit-scrollbar-track{background:transparent}

/* Table heading controls: keep the header clean and signal drag through the cursor. */
.table-column-grab{display:none!important}
.data-table .table-head-button{cursor:grab;user-select:none;-webkit-user-drag:element}
.data-table .table-head-button:active,.data-table th.is-column-dragging .table-head-button{cursor:grabbing}
.column-menu-list{display:grid;gap:7px;margin-top:15px}
.column-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer}
.column-menu-item:hover{background:var(--surface-2);border-color:#d8d8d8}
.column-menu-item>span:first-child{display:grid;gap:3px}
.column-menu-item b{font-size:13px;font-weight:650}
.column-menu-item small{font-size:11px;color:var(--muted)}
.column-menu-value{font-size:20px;color:var(--muted)}
.column-icon-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}
.column-icon-picker .status-icon-choice{width:40px;height:40px;justify-self:center;font-size:18px}
/* v2.0.91 — discreet text editing and file/table controls */
.richbar{display:none}.block:has([data-edit-html]:focus) .richbar,.block:has(.richbar:focus-within) .richbar{display:flex}
.file-folder-drop{min-height:150px;border:1px dashed #d8dce5;border-radius:14px;padding:14px;background:#fbfcfe;transition:.15s}.file-folder-drop.is-dragover,.canvas-grid.is-file-drop,.free-canvas.is-file-drop,.infinite-space.is-file-drop{outline:2px solid #8eaef0;background-color:#f4f8ff}.file-folder-empty{min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#7b8290}.file-folder-empty>span{font-size:24px}.file-folder-empty small{font-size:11px}.file-folder-list{display:grid;gap:5px}.file-folder-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;background:#fff}.file-folder-type{min-width:38px;padding:5px 4px;background:#eef2f8;border-radius:6px;text-align:center;font-size:9px;font-weight:800;color:#54647e}.file-folder-row button{border:0;background:transparent;text-align:left;cursor:pointer}.file-folder-row button[data-folder-open]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-folder-row small{font-size:10px;color:#9197a2}.file-drop-actions{display:grid;gap:10px;margin-top:18px}.file-drop-choice{display:grid;gap:4px;padding:13px;border:1px solid #e7e9ed;background:#fff;border-radius:12px;text-align:left;cursor:pointer}.file-drop-choice:hover{border-color:#b8c9ec;background:#f8faff}.file-drop-choice small{font-size:11px;color:#7c8491}.file-drop-existing{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #e7e9ed;border-radius:12px}.file-drop-existing span{flex:1}.file-drop-existing .field{max-width:180px}.table-multiselect{position:relative;display:flex;align-items:center;gap:4px;min-height:28px;flex-wrap:wrap}.table-multiselect>span{font-size:10px;border-radius:5px;background:#edf2fa;padding:3px 6px}.table-multiselect>button{border:0;background:transparent;margin-left:auto;cursor:pointer}.table-multiselect-menu{position:absolute;top:100%;left:0;min-width:150px;max-height:180px;overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:7px;z-index:30;box-shadow:0 8px 25px #1522381a}.table-multiselect-menu label{display:flex;align-items:center;gap:6px;padding:4px;white-space:nowrap}.table-multiselect-menu input{width:auto!important}
.page-row{cursor:grab}.page-row:active{cursor:grabbing}.page-row.is-page-dragging{opacity:.45}.page-row.is-page-drop{outline:2px solid #8eaef0;background:#f4f8ff}.page-list.is-page-root-drop{background:#f4f8ff;outline:2px dashed #8eaef0;border-radius:10px}.content.is-file-drop{outline:2px dashed #8eaef0;outline-offset:-5px;border-radius:16px}
.table-multiselect-menu{position:fixed;top:auto;left:auto}
.modal.column-option-modal{width:min(500px,100%);padding:20px}
.column-options-editor{display:grid;gap:8px;margin-top:6px}
.column-options-list{display:grid;gap:6px;max-height:220px;overflow:auto;padding:1px 3px 1px 0}
.column-option-row{display:flex;align-items:center;gap:7px}
.column-option-row .field{height:35px;min-width:0;flex:1}
.column-option-row>[data-column-option-remove]{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:8px;background:transparent;color:#858983;font-size:19px;cursor:pointer}
.column-option-row>[data-column-option-remove]:hover{background:#f5eeee;color:#bd4652}
.column-option-add{justify-self:start;height:32px;padding:0 10px;border:1px dashed var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:11px;cursor:pointer}
.column-option-add:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,#fff)}


/* v2.0.91.11 — ARTIZS AI side panel */
.ai-topbar-btn{height:34px;padding:0 11px;border:1px solid var(--line);background:#fff;color:#222;gap:6px;font-weight:750}
.ai-topbar-btn:hover{background:#f6f5f1;border-color:#d8d5ce}
.ai-spark{font-size:14px;line-height:1}
.ai-panel{position:fixed;z-index:34;right:0;top:var(--topbar);bottom:0;width:min(410px,100vw);background:#fff;border-left:1px solid var(--line);box-shadow:-14px 0 36px rgba(35,32,27,.08);transform:translateX(105%);transition:transform .2s ease;display:flex;flex-direction:column;overflow:hidden}
.ai-panel.open{transform:translateX(0)}
body.ai-panel-open .app-main{margin-right:min(410px,100vw);transition:margin-right .2s ease}
.ai-panel-head{height:64px;flex:0 0 auto;padding:0 14px 0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.ai-panel-head>div{display:grid;gap:3px}.ai-panel-head b{font-size:14px;display:flex;align-items:center;gap:7px}.ai-panel-head small{font-size:10px;color:var(--muted)}
.ai-connection-card{margin:12px 12px 0;border:1px solid #e9e6df;border-radius:14px;background:#fbfaf7;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ai-connection-card>div{display:grid;gap:2px}.ai-connection-card b{font-size:11px}.ai-connection-card span{font-size:9px;line-height:1.35;color:var(--muted)}
.ai-connection-card .btn{white-space:nowrap}
.ai-context-row{padding:10px 12px 4px;display:flex;align-items:end;justify-content:space-between;gap:10px}
.ai-context-row label{font-size:9px;color:var(--muted);display:grid;gap:5px}.ai-context-row>span{font-size:8px;color:#a0a39f;text-align:right;max-width:130px;line-height:1.35}
.ai-context-select{height:34px;min-width:150px;font-size:10px}
.ai-quick-actions{padding:6px 12px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.ai-quick-actions::-webkit-scrollbar{display:none}
.ai-quick-actions button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 9px;font-size:9px;color:#4b4e4a;cursor:pointer}.ai-quick-actions button:hover{background:#f7f6f2}
.ai-conversation{flex:1;min-height:120px;overflow:auto;padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.ai-empty{margin:auto;text-align:center;color:#777;max-width:230px;display:grid;justify-items:center;gap:7px}.ai-empty>span{width:36px;height:36px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:#fbfaf7;color:#222}.ai-empty b{font-size:12px}.ai-empty p{margin:0;font-size:10px;line-height:1.55;color:#8a8d88}
.ai-message{max-width:92%;display:grid;gap:4px}.ai-message.user{align-self:flex-end}.ai-message.assistant{align-self:flex-start}
.ai-message-role{font-size:8px;color:#9a9d98;padding:0 3px}.ai-message.user .ai-message-role{text-align:right}
.ai-message-text{font-size:11px;line-height:1.55;border:1px solid var(--line);border-radius:14px;padding:9px 11px;background:#fbfaf7;color:#2e312e;word-break:break-word}
.ai-message.user .ai-message-text{background:#eef4ff;border-color:#dce8fb}
.ai-result-actions{padding:0 12px 7px;display:flex;gap:7px}
.ai-composer{margin:0 12px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px;display:flex;align-items:flex-end;gap:8px;box-shadow:0 5px 18px rgba(35,32,27,.04)}
.ai-composer textarea{flex:1;min-height:58px;max-height:150px;resize:vertical;border:0;outline:0;background:transparent;font:inherit;font-size:11px;line-height:1.45;color:#2d302d}
.ai-composer .btn{height:34px;flex:0 0 auto}
.ai-settings-link{border:0;background:transparent;color:#7e817c;font-size:9px;padding:0 12px 10px;text-align:left;cursor:pointer}.ai-settings-link:hover{color:#303330}
.ai-settings-copy{font-size:10px;line-height:1.55;color:var(--muted);margin:0 0 12px}
@media(max-width:900px){.ai-panel{width:100vw;top:var(--topbar)}body.ai-panel-open .app-main{margin-right:0}.ai-topbar-btn span:last-child{display:none}.ai-topbar-btn{width:34px;padding:0;justify-content:center}}

/* v2.0.91.12 — editable A4 view and non-overlapping Paper editing */
.a4-view-btn{min-width:42px;padding:0 9px;font-size:10px;font-weight:750;letter-spacing:.02em}
.a4-view-btn.active{background:#222;color:#fff;border-color:#222}
.page-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.a4-page-btn{height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 11px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.a4-page-btn:hover{border-color:#bfc8dc;background:#f8faff}
.a4-page-btn.active{background:#222;color:#fff;border-color:#222}
body.a4-view-mode .content.a4-page-content{max-width:794px;min-height:1123px;margin:24px auto 80px;padding:42px 52px 72px;background:#fff;border:1px solid #e7e3dc;border-radius:4px;box-shadow:0 14px 48px rgba(44,39,31,.12)}
body.a4-view-mode .content.a4-page-content .page-head{margin-bottom:22px}
body.a4-view-mode .content.a4-page-content .canvas-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
body.a4-view-mode .content.a4-page-content .block{box-shadow:none;border-color:#e8e5df}
body.a4-view-mode .content.a4-page-content .free-canvas{min-height:1000px;background-image:none}
.paper-body{padding-top:10px!important}
.block.text-module.text-editing .text-richbar,.block.text-module:has(.text-richbar:focus-within) .text-richbar,.paper-block.paper-editing .paper-richbar,.paper-richbar:focus-within{position:sticky!important;top:0!important;inset-inline:auto!important;z-index:16;display:flex!important;width:max-content;max-width:100%;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:3px;padding:3px 4px;margin:0 0 8px;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(8px);border:0!important;border-radius:7px;box-shadow:0 2px 6px rgba(34,32,28,.07)!important}
.paper-richbar{display:none!important}
.block.text-module .text-richbar>button,.block.text-module .text-richbar .highlight-trigger,.paper-richbar>button,.paper-richbar .highlight-trigger{box-sizing:border-box;width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;border:0!important;border-radius:6px!important;background:transparent!important;color:#686a65;box-shadow:none!important;cursor:pointer;transition:background .14s ease,color .14s ease}
.block.text-module .text-richbar>button:hover,.block.text-module .text-richbar .highlight-trigger:hover,.paper-richbar>button:hover,.paper-richbar .highlight-trigger:hover{background:#f0efeb!important;color:#252721}
.block.text-module .text-richbar>button.active,.paper-richbar>button.active{background:#e8e6df!important;color:#20221e}
.module-a4-btn{min-width:58px!important;padding:0 9px!important;font-size:10px;font-weight:700;color:#3f4540}
.module-a4-btn.active{background:#222!important;border-color:#222!important;color:#fff}
.paper-canvas{position:relative;min-height:260px;overflow:visible;padding:0 5px 26px}
.paper-item{position:absolute;left:0;top:0;right:3%;min-height:34px;padding-left:22px;z-index:2}
.paper-text-layer{min-height:31px;width:100%;padding:2px 4px;font-family:var(--font-hand);font-size:17px;line-height:1.9;white-space:pre-wrap;outline:0;overflow-wrap:anywhere}
.paper-text-layer:empty:before{content:''}
.paper-move-handle{position:absolute;left:0;top:6px;width:19px;height:24px;border:0;border-radius:6px;background:transparent;color:#98958c;opacity:0;cursor:grab;font-size:16px;line-height:1;z-index:4}
.paper-item:hover .paper-move-handle,.paper-item:focus-within .paper-move-handle{opacity:1}
.paper-move-handle:active{cursor:grabbing;background:rgba(0,0,0,.06)}
.paper-block.paper-editing .paper-richbar,.paper-richbar:focus-within{display:flex!important}
.paper-block>.block-head,.paper-block .paper-richbar{background-color:var(--paper-local,var(--paper))!important;background-image:none!important}
.paper-block>.block-head{border-bottom-color:color-mix(in srgb,var(--paper-local,var(--paper)) 72%,#bdb4a4)}
.paper-block .module-a4-head-btn{background:var(--paper-local,var(--paper))!important;border-color:color-mix(in srgb,var(--paper-local,var(--paper)) 70%,#aaa08f)!important;color:#454138}
.paper-block .module-a4-head-btn:hover{background:color-mix(in srgb,var(--paper-local,var(--paper)) 82%,#c9bdab)!important}
.paper-block .paper-richbar{box-shadow:none!important;border-radius:0;padding-inline:4px}
.paper-block .paper-richbar>button,.paper-block .paper-richbar .highlight-trigger{color:#6a645a}
.paper-block .paper-richbar>button:hover,.paper-block .paper-richbar .highlight-trigger:hover{background:color-mix(in srgb,var(--paper-local,var(--paper)) 78%,#bdb4a4)!important;color:#39352f}
.block.is-module-a4[data-type="text"] .block-body,.block.is-module-a4[data-type="paper"] .block-body{background:#f2f1ed;padding:22px!important}
.block.is-module-a4[data-type="text"] .richtext{box-sizing:border-box;max-width:794px;min-height:1123px;margin:0 auto;padding:52px 58px 76px;background:#fff;border:1px solid #e5e1d9;box-shadow:0 12px 34px rgba(44,39,31,.12);font-size:15px}
.block.is-module-a4[data-type="paper"] .paper-canvas{box-sizing:border-box;max-width:794px;min-height:1123px!important;margin:0 auto;padding:52px 58px 76px;background-color:var(--paper-local,var(--paper));border:1px solid #e5e1d9;box-shadow:0 12px 34px rgba(44,39,31,.12)}
.block.is-module-a4[data-type="paper"] .paper-item{right:7%}
.module-a4-head-btn{height:28px;min-width:42px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:10px;font-weight:750;line-height:1;cursor:pointer;white-space:nowrap}
.module-a4-head-btn:hover{border-color:#bfc8dc;background:#f8faff}
.module-a4-head-btn.active{background:#222;color:#fff;border-color:#222}
body.module-a4-open{overflow:hidden}
body.module-a4-open .modal-bg{z-index:160}
.module-a4-overlay{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:32px 24px;background:rgba(16,17,17,.88);backdrop-filter:blur(10px)}
.module-a4-stage{width:min(940px,calc(100vw - 48px));height:min(1220px,calc(100dvh - 64px));min-height:0;display:flex;align-items:stretch;justify-content:center}
.module-a4-stage>.block.is-module-a4{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;display:flex;flex-direction:column;overflow:hidden!important;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.module-a4-stage>.block.is-module-a4>.block-head{flex:0 0 44px;background:#fff}
.module-a4-stage>.block.is-module-a4[data-type="paper"]>.block-head{background:var(--paper-local,var(--paper))!important;background-image:none!important;border-bottom-color:color-mix(in srgb,var(--paper-local,var(--paper)) 72%,#bdb4a4)}
.module-a4-stage>.block.is-module-a4>.block-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.module-a4-stage>.block.is-module-a4{overflow:clip!important}
.module-a4-stage>.block.is-module-a4[data-type="text"] .richtext,.module-a4-stage>.block.is-module-a4[data-type="paper"] .paper-canvas{margin:0 auto}
.module-a4-overlay-close{position:absolute;top:12px;right:16px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;font-weight:300;line-height:1;cursor:pointer}
.module-a4-overlay-close:hover{background:rgba(255,255,255,.22)}
.block[data-type="text"],.block[data-type="paper"]{overflow:clip}
@media(max-width:900px){.module-a4-overlay{padding:56px 12px 16px}.module-a4-stage{width:100%;height:calc(100dvh - 72px)}.module-a4-overlay-close{top:8px;right:10px}}
@media(max-width:680px){.block.is-module-a4[data-type="text"] .block-body,.block.is-module-a4[data-type="paper"] .block-body{padding:12px!important}.block.is-module-a4[data-type="text"] .richtext,.block.is-module-a4[data-type="paper"] .paper-canvas{min-height:760px!important;padding:30px 24px 48px}.paper-text-layer{font-size:16px}.paper-item{right:1%}}

/* v2.0.91.23 interaction fixes */
.app-topbar .layout-switch{position:relative;z-index:19;pointer-events:auto}.app-topbar .layout-switch button{position:relative;z-index:1;cursor:pointer;pointer-events:auto}.table-file-cell>.table-file-chip{overflow:hidden}.table-file-chip>button:first-child{flex:1 1 auto}.status-manage-color-wrap{position:relative;width:20px;height:20px;flex:0 0 20px;cursor:pointer}.status-manage-color{display:block;width:15px;height:15px;border-radius:50%;background:var(--status-color);box-shadow:0 0 0 1px #d8d5cf;cursor:pointer}.status-manage-color-wrap input[type=color]{position:absolute;inset:0;width:20px;height:20px;opacity:0;cursor:pointer}.column-option-actions{display:flex;gap:2px;flex:0 0 auto}.column-option-actions button{width:27px;height:28px;border:0;border-radius:7px;background:transparent;color:#747a74;font-size:14px;cursor:pointer}.column-option-actions button:hover:not(:disabled){background:#f1f2f1;color:var(--ink)}.column-option-actions button:disabled{opacity:.32;cursor:default}.column-option-row>[data-column-option-remove]{width:28px;height:28px;flex:0 0 28px}.table-multiselect-menu{z-index:1000;position:fixed;min-width:170px;max-width:min(280px,calc(100vw - 16px));box-shadow:0 10px 32px rgba(21,34,56,.18)}
.table-multiselect>button[data-multi-open]{display:grid;place-items:center;width:20px;height:24px;padding:0;flex:0 0 20px;color:#252823}
.table-multiselect>button[data-multi-open] svg{display:block;width:10px;height:6px}
