@font-face{font-family:"Pretendard";src:url("./PretendardVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Sans KR";src:url("./NotoSansKR-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"KoPubWorld Batang";src:url("./KoPubWorldBatangLight.ttf") format("truetype");font-weight:300}
@font-face{font-family:"KoPubWorld Batang";src:url("./KoPubWorldBatangMedium.ttf") format("truetype");font-weight:500}
@font-face{font-family:"KoPubWorld Batang";src:url("./KoPubWorldBatangBold.ttf") format("truetype");font-weight:700}
@font-face{font-family:"KoPubWorld Dotum";src:url("./KoPubWorldDotumLight.ttf") format("truetype");font-weight:300}
@font-face{font-family:"KoPubWorld Dotum";src:url("./KoPubWorldDotumMedium.ttf") format("truetype");font-weight:500}
@font-face{font-family:"KoPubWorld Dotum";src:url("./KoPubWorldDotumBold.ttf") format("truetype");font-weight:700}

:root{
  --line:#e6e2db;--text:#2e2c29;--muted:#918d86;--panel:#fbfaf8;--work:#dedbd4;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Pretendard","Noto Sans KR",sans-serif;color:var(--text);background:var(--work);overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
.app{height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr) 360px}
.sidebar,.right-panel{background:rgba(250,249,247,.97);backdrop-filter:blur(16px)}
.sidebar{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;overflow:hidden}
.brand{display:flex;gap:10px;align-items:center;padding:2px 8px 18px}
.brand-mark{width:30px;height:30px;border:1px solid #d7d2ca;border-radius:9px;display:grid;place-items:center;background:white}
.brand-title{font-size:12px;font-weight:800;letter-spacing:.12em}
.brand-sub{font-size:9px;color:var(--muted);margin-top:2px}
.add-slot{border:0;border-radius:9px;background:#2d2b28;color:white;padding:10px;font-size:11px;font-weight:700;margin-bottom:16px}
.section-label{font-size:9px;color:#aaa59d;letter-spacing:.14em;padding:0 8px 7px}
.slot-list{display:flex;flex-direction:column;gap:5px;overflow:auto}
.slot-card{position:relative;display:grid;grid-template-columns:1fr 26px;gap:6px;align-items:center;border:1px solid transparent;border-radius:9px;background:transparent;padding:7px}
.slot-card.active{background:white;border-color:var(--line);box-shadow:0 3px 12px rgba(0,0,0,.04)}
.slot-main{border:0;background:transparent;text-align:left;min-width:0;padding:2px}
.slot-no{font-size:9px;color:#aaa59d;letter-spacing:.1em}
.slot-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.slot-preview{font-size:9px;color:#a29e96;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.slot-more{width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:#8d8982}
.slot-more:hover{background:#efede8}
.sidebar-bottom{margin-top:auto;display:grid;gap:6px}
.subtle-btn{border:1px solid var(--line);border-radius:7px;background:white;color:#706c65;padding:8px;font-size:10px;text-align:center}
.file-label{cursor:pointer}
.main{min-width:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}
.topbar{height:58px;flex:0 0 58px;padding:0 20px;background:rgba(255,255,255,.86);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.slot-label{font-size:10px;font-weight:800;letter-spacing:.12em}
.save-status{font-size:9px;color:#9b978f;margin-top:2px}
.top-actions{display:flex;gap:6px;align-items:center}
.top-btn{border:1px solid var(--line);border-radius:7px;background:white;color:#5e5a54;padding:8px 11px;font-size:10px}
.top-btn.primary{background:#2d2b28;color:white;border-color:#2d2b28}
.save-wrap{position:relative}
.save-menu{display:none;position:absolute;right:0;top:38px;min-width:100px;padding:5px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 12px 28px rgba(0,0,0,.12);z-index:50}
.save-menu.open{display:grid}
.save-menu button{border:0;background:transparent;text-align:left;padding:7px 9px;border-radius:5px;font-size:10px}
.save-menu button:hover{background:#f0ede8}
.workspace{flex:1;min-height:0;padding:16px 22px;display:grid;place-items:center;overflow:hidden}
.paper{position:relative;width:min(calc((100vh - 122px)*.707),calc(100vw - 220px - 360px - 70px));height:min(calc(100vh - 122px),calc((100vw - 220px - 360px - 70px)*1.4142));min-width:420px;min-height:594px;max-width:720px;aspect-ratio:210/297;background:#fff;box-shadow:0 16px 52px rgba(40,35,30,.17);border:1px solid rgba(210,205,197,.8);border-radius:6px;padding:clamp(28px,4vh,50px) clamp(34px,4vw,58px) 26px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.paper-effect,.symbol-layer{position:absolute;inset:0;pointer-events:none;z-index:-1}
.title-input,.subtitle-input{border:0;background:transparent;outline:0;width:100%;color:inherit}
.title-input{font-family:inherit;font-size:clamp(24px,2.3vw,31px);font-weight:800;padding:0 0 5px}
.subtitle-input{font-family:inherit;font-size:13px;color:#77726b;padding:0 0 15px;border-bottom:1px solid rgba(120,110,100,.16)}
.editor{flex:1;min-height:0;overflow:auto;outline:0;padding:22px 1px 18px;font-family:var(--editor-font,"Pretendard");font-size:var(--editor-size,16px);letter-spacing:var(--editor-letter,0em);line-height:var(--editor-line,1.78);word-break:break-word}
.editor:empty:before{content:attr(data-placeholder);color:#b7b2aa}
.editor p,.editor div,.editor h1,.editor h2,.editor h3,.editor blockquote,.editor ul,.editor ol{
  margin-top:0!important;
  margin-bottom:var(--editor-para,0px)!important;
}
.editor-readonly{cursor:pointer;user-select:text}
.editor-readonly:hover{outline:1px dashed rgba(92,82,71,.22);outline-offset:-4px}
.text-editor-modal{position:fixed;inset:0;z-index:260;background:rgba(43,39,35,.42);backdrop-filter:blur(4px);padding:22px;display:grid;place-items:center}
.text-editor-modal[hidden]{display:none!important}
.text-editor-dialog{width:min(980px,calc(100vw - 44px));height:min(820px,calc(100vh - 44px));display:flex;flex-direction:column;border:1px solid rgba(120,110,100,.2);border-radius:14px;background:#f8f6f2;box-shadow:0 24px 70px rgba(35,30,26,.25);overflow:hidden}
.text-editor-head{min-height:76px;padding:14px 18px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.text-editor-head h2{margin:2px 0 0;font-size:18px}.text-editor-head p{margin:4px 0 0;font-size:9px;color:#969087}.text-editor-head-actions{display:flex;gap:7px}
.text-editor-toolbar{min-height:44px;padding:7px 18px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);background:#fbfaf8}
.text-editor-toolbar>span{width:1px;height:20px;background:var(--line);margin:0 3px}
.text-editor-toolbar button{min-width:34px;height:29px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#5f5952;font-size:10px;cursor:pointer}
.text-editor-body{flex:1;min-height:0;padding:22px 24px;overflow:hidden}
.text-editor-surface{width:100%;height:100%;padding:32px 40px;overflow:auto;border:1px solid #e2ddd5;border-radius:10px;background:#fff;outline:none;box-shadow:0 8px 28px rgba(50,44,38,.06);white-space:pre-wrap;overflow-wrap:anywhere}
.text-editor-surface:empty::before{content:attr(data-placeholder);color:#b4aea6}
.text-editor-surface p,.text-editor-surface div,.text-editor-surface h1,.text-editor-surface h2,.text-editor-surface h3,.text-editor-surface blockquote,.text-editor-surface ul,.text-editor-surface ol{margin-top:0;margin-bottom:var(--editor-para,0px)}
.text-editor-surface *:not(.text-highlight[data-highlight="1"]){background:none!important;background-color:transparent!important;background-image:none!important}
.text-editor-foot{height:38px;padding:0 20px;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b857d}
.editor h1{font-size:1.9em}.editor h2{font-size:1.55em}.editor h3{font-size:1.25em}
.editor blockquote{padding:8px 14px;border-left:3px solid #bdb7ae;background:rgba(255,255,255,.35);color:#726e67}
.paper-footer{min-height:30px;border-top:1px solid rgba(120,110,100,.12);display:flex;align-items:flex-end;justify-content:center;font-size:9px;letter-spacing:.14em;color:#817c75}
.statusbar{height:30px;flex:0 0 30px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.8);border-top:1px solid var(--line);font-size:9px;color:#858078}
.right-panel{border-left:1px solid var(--line);height:100vh;overflow:auto;padding:18px 18px 30px}
.panel-head{padding:0 2px 12px}
.panel-kicker{font-size:8px;letter-spacing:.16em;color:#aaa59d}
.panel-head h2,.modal-head h2{font-size:19px;margin:3px 0 0}
.tabs{position:sticky;top:-18px;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:10px 0;background:rgba(250,249,247,.98)}
.tab{border:1px solid var(--line);border-radius:7px;background:white;padding:8px 4px;font-size:10px;color:#757169;font-weight:700}
.tab.active{background:#2d2b28;color:white;border-color:#2d2b28}
.panel-body{display:none}.panel-body.active{display:block}
.panel-section{padding:14px 2px;border-bottom:1px solid var(--line)}
.panel-section h3{font-size:11px;margin:0 0 10px}
.field{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:center;margin:7px 0;font-size:10px;color:#77726b}
.field select,.field input[type=number]{width:100%;border:1px solid var(--line);border-radius:6px;background:white;padding:7px;color:#514d47}
.button-grid{display:grid;gap:6px;margin:8px 0}.button-grid.four{grid-template-columns:repeat(4,1fr)}.button-grid.two{grid-template-columns:repeat(2,1fr)}
.button-grid button,.wide-btn{border:1px solid var(--line);border-radius:6px;background:white;padding:8px 5px;font-size:10px;color:#625e58}
.button-grid button:hover,.wide-btn:hover{background:#efede8}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.color-grid label{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:6px;background:white;padding:7px;font-size:9px;color:#77726b}
.color-grid input{width:28px;height:22px;border:0;padding:0;background:transparent}
.range-field{display:grid;grid-template-columns:72px 1fr 44px;align-items:center;gap:7px;margin:8px 0;font-size:9px;color:#77726b}.range-field input{width:100%}.range-field output{text-align:right;color:#8e8981}
.upload{display:block;border:1px dashed #cfc9c0;border-radius:7px;background:white;padding:9px;text-align:center;font-size:10px;color:#716c65;cursor:pointer}
.asset-list{display:grid;gap:5px;margin-top:8px}.asset-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:6px;padding:7px;background:white;font-size:9px}.asset-row button{border:0;background:transparent;color:#aa6262}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:10px}.segmented button{border:1px solid var(--line);border-radius:6px;background:white;padding:7px;font-size:9px}.segmented button.active{background:#2d2b28;color:white;border-color:#2d2b28}
.paper-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.effect-btn{border:1px solid var(--line);border-radius:6px;background:white;padding:8px;font-size:9px}.effect-btn.active{background:#2d2b28;color:white}
.symbol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.symbol-grid button{height:34px;border:1px solid var(--line);border-radius:6px;background:white;font-size:15px}
.hint{font-size:9px;color:#9b968e;line-height:1.5}.wide-btn{width:100%;margin-top:7px}
.slot-menu{position:fixed;z-index:100;min-width:130px;padding:5px;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 14px 35px rgba(0,0,0,.14)}
.slot-menu button{width:100%;border:0;background:transparent;text-align:left;padding:7px 9px;border-radius:5px;font-size:10px}.slot-menu button:hover{background:#f0ede8}.slot-menu .danger{color:#a45f5f}
.modal{position:fixed;inset:0;z-index:200}.modal-backdrop{position:absolute;inset:0;background:rgba(30,27,24,.42);backdrop-filter:blur(4px)}.modal-dialog{position:absolute;inset:24px;border-radius:13px;background:#f7f5f1;display:flex;flex-direction:column;overflow:hidden}.modal-head{height:62px;padding:10px 16px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-actions{display:flex;gap:6px;align-items:center}.close-btn{border:0;background:transparent;font-size:24px;color:#777}.modal-stage{flex:1;overflow:auto;background:#d8d4cd;padding:28px;display:grid;justify-items:center}.modal-stage .paper{width:794px!important;height:auto!important;min-height:1123px!important;max-width:none!important;min-width:0!important;aspect-ratio:auto!important;overflow:visible!important;padding:70px 72px 45px!important}.modal-stage .editor{min-height:820px!important;height:auto!important;overflow:visible!important;font-size:16px!important}
.effect-grain{background-image:radial-gradient(rgba(70,60,50,.11) .55px,transparent .8px);background-size:4px 4px}
.effect-lines{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,rgba(70,80,100,.12) 28px)}
.effect-grid{background-image:linear-gradient(rgba(80,80,80,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(80,80,80,.09) 1px,transparent 1px);background-size:22px 22px}
.effect-dots{background-image:radial-gradient(rgba(70,70,70,.15) 1px,transparent 1px);background-size:18px 18px}
.effect-vignette{box-shadow:inset 0 0 80px rgba(65,55,45,.2)}
.paper-deco{position:absolute;color:rgba(55,50,45,.45);font-family:Georgia,serif}.deco-corner{inset:16px;font-size:25px}.deco-corner:before{content:"⌜";position:absolute;left:0;top:0}.deco-corner:after{content:"⌟";position:absolute;right:0;bottom:0}.deco-divider{left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;letter-spacing:.35em}.deco-divider:before{content:"— ✦ —"}.deco-topmark{left:50%;top:18px;transform:translateX(-50%);font-size:15px}.deco-topmark:before{content:"◇"}.deco-bottommark{left:50%;bottom:18px;transform:translateX(-50%);font-size:15px}.deco-bottommark:before{content:"◇"}
.export-host{position:fixed;left:-20000px;top:0;width:900px;pointer-events:none}.export-host .paper{width:794px!important;height:auto!important;min-height:1123px!important;max-width:none!important;min-width:0!important;aspect-ratio:auto!important;overflow:visible!important;padding:70px 72px 45px!important}.export-host .editor{min-height:820px!important;height:auto!important;overflow:visible!important;font-size:16px!important}
@media(max-width:1100px){.app{grid-template-columns:190px minmax(0,1fr) 330px}.paper{min-width:360px;width:min(calc((100vh - 122px)*.707),calc(100vw - 190px - 330px - 50px))}}


/* ===== V11 larger settings / nicer slots / page navigation / width scale ===== */
.right-panel {
  font-size: 12px;
  padding: 20px 20px 36px;
}
.panel-head h2 { font-size: 22px; }
.tabs { padding: 12px 0; gap: 7px; }
.tab {
  padding: 11px 6px;
  font-size: 11px;
  border-radius: 9px;
}
.panel-section {
  padding: 18px 3px;
}
.panel-section h3 {
  font-size: 13px;
  margin-bottom: 13px;
}
.field {
  grid-template-columns: 86px 1fr;
  gap: 10px;
  margin: 10px 0;
  font-size: 11px;
}
.field select,
.field input[type=number] {
  padding: 9px 10px;
  font-size: 11px;
}
.button-grid {
  gap: 7px;
  margin: 10px 0;
}
.button-grid button,
.wide-btn {
  padding: 10px 6px;
  font-size: 11px;
}
.color-grid label {
  padding: 9px;
  font-size: 10px;
}
.range-field {
  grid-template-columns: 82px 1fr 50px;
  gap: 8px;
  margin: 11px 0;
  font-size: 10px;
}
.upload {
  padding: 11px;
  font-size: 11px;
}
.segmented button,
.effect-btn {
  padding: 9px;
  font-size: 10px;
}
.symbol-grid button {
  height: 38px;
  font-size: 17px;
}

/* prettier slot cards */
.slot-card {
  grid-template-columns: 1fr 30px;
  padding: 8px;
  border-radius: 12px;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.slot-card:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.7);
}
.slot-card.active {
  background: linear-gradient(180deg,#ffffff,#faf8f4);
  border-color: #d9d4cb;
  box-shadow: 0 7px 18px rgba(40,35,30,.07);
}
.slot-main {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  column-gap: 8px;
  align-items: start;
}
.slot-badge {
  grid-row: 1 / span 3;
  width: 31px;
  height: 31px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #efede8;
  color: #6e6962;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}
.slot-card.active .slot-badge {
  background: #2d2b28;
  color: white;
}
.slot-no {
  font-size: 8px;
  margin-top: 1px;
}
.slot-name {
  font-size: 12px;
  margin-top: 1px;
}
.slot-preview {
  font-size: 9px;
  margin-top: 3px;
}
.slot-more {
  width: 29px;
  height: 29px;
  border-radius: 8px;
  font-size: 16px;
}

/* page navigation */
.top-left-meta {
  display: grid;
  gap: 2px;
}
.page-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 1px;
}
.page-nav span {
  min-width: 74px;
  text-align: center;
  font-size: 8px;
  color: #8c877f;
  letter-spacing: .08em;
}
.page-nav-btn {
  width: 22px;
  height: 20px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: white;
  color: #6a655e;
  padding: 0;
  font-size: 13px;
  line-height: 1;
}
.page-nav-btn:hover { background: #efede8; }
.page-nav-btn.add { color: #4f6c5a; }
.page-nav-btn.danger { color: #a45f5f; }

/* width scale is applied per text run through transform wrapper */
.editor .width-scale {
  display: inline-block;
  transform-origin: left center;
}

@media(max-width:1150px){
  .right-panel{padding:18px 16px 30px}
}


/* ===== V12 edit scope toggle ===== */
.edit-scope-section {
  padding-top: 10px;
}
.edit-scope-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.scope-btn {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  color: #6d6861;
  padding: 10px 8px;
  font-size: 11px;
  font-weight: 700;
}
.scope-btn.active {
  background: #2d2b28;
  color: white;
  border-color: #2d2b28;
}
.edit-scope-section .hint {
  margin: 8px 0 0;
}


/* ===== V13 paragraph divider ornaments ===== */
.paragraph-divider {
  display: block;
  width: 100%;
  text-align: center;
  color: inherit;
  font-family: Georgia, "KoPubWorld Batang", serif;
  user-select: text;
  white-space: pre;
}
.paragraph-divider::before,
.paragraph-divider::after {
  content: "";
}
.paragraph-divider[data-ornament="—"] {
  letter-spacing: .25em;
}
.paragraph-divider[data-ornament="···"] {
  letter-spacing: .35em;
}


/* ===== V14 fixes / custom ornaments / stronger add-page ===== */
.add-page-strong{
  height:24px;
  border:0;
  border-radius:7px;
  padding:0 10px;
  background:#2d2b28;
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 3px 9px rgba(0,0,0,.08);
}
.add-page-strong:hover{background:#171614}

.field input[type=text]{
  width:100%;
  border:1px solid var(--line);
  border-radius:6px;
  background:white;
  padding:9px 10px;
  font-size:11px;
  color:#514d47;
}

.custom-page-deco{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:0;
  max-width:80%;
  text-align:center;
  pointer-events:none;
}
.custom-page-deco.top{top:18px}
.custom-page-deco.bottom{bottom:18px}
.custom-page-deco.text{
  font-family:Georgia,"KoPubWorld Batang",serif;
  color:rgba(55,50,45,.55);
  white-space:pre-wrap;
}
.custom-page-deco.image img{
  display:block;
  width:100%;
  height:auto;
}


/* ===== V15 editing reliability / slot modal / preview / export fixes ===== */
.visually-hidden-status{
  display:none !important;
}

/* Default text is intentionally compact: Pretendard 12pt */
.editor{
  font-size:var(--editor-size,12pt);
  color:var(--editor-color,#3f3d3b);
}


.scope-btn{
  font-size:12px;
  padding:12px 9px;
}
.edit-scope-section .hint{
  font-size:10px;
  line-height:1.6;
}

.slot-dialog{
  position:absolute;
  width:min(440px,calc(100vw - 36px));
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:16px;
  overflow:hidden;
  background:#faf9f6;
  box-shadow:0 25px 80px rgba(0,0,0,.24);
}
.slot-modal-head{
  height:70px;
}
.slot-dialog-body{
  padding:20px;
}
.slot-modal-preview{
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:linear-gradient(180deg,#fff,#f7f4ef);
  margin-bottom:16px;
}
.slot-modal-badge{
  width:48px;height:48px;border-radius:13px;
  display:grid;place-items:center;
  background:#2d2b28;color:white;
  font-weight:800;font-size:13px;
}
.slot-modal-label{font-size:11px;font-weight:800;letter-spacing:.1em}
.slot-modal-pages{font-size:10px;color:#99938b;margin-top:4px}
.modal-field{display:grid;gap:7px;margin:12px 0}
.modal-field span{font-size:10px;color:#7c776f}
.modal-field input{
  width:100%;border:1px solid var(--line);border-radius:8px;
  background:white;padding:11px 12px;font-size:12px;outline:none
}
.slot-modal-actions-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px
}
.slot-modal-actions-grid button{
  border:1px solid var(--line);border-radius:8px;background:white;
  padding:11px 8px;font-size:11px;color:#615c55
}
.slot-modal-actions-grid button:hover{background:#efede8}
.slot-modal-actions-grid .danger{color:#a05656}

.preview-page-label{
  min-width:54px;
  text-align:center;
  font-size:10px;
  color:#77726b;
}
.modal-stage{
  place-items:start center;
}
.modal-stage #previewHost{
  width:min(794px,100%);
}
.modal-stage #previewHost .paper{
  width:100%!important;
  min-width:0!important;
}
.preview-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* Export title/subtitle are divs, not inputs, to avoid html2canvas clipping */
.export-title{
  width:100%;
  font-family:inherit;
  font-size:32px;
  line-height:1.25;
  font-weight:800;
  color:inherit;
  margin:0 0 7px;
  min-height:40px;
  overflow:visible;
}
.export-subtitle{
  width:100%;
  font-family:inherit;
  font-size:14px;
  line-height:1.5;
  color:#77726b;
  padding:0 0 16px;
  border-bottom:1px solid rgba(120,110,100,.16);
  min-height:24px;
  overflow:visible;
}
.export-host .paper{
  padding-top:78px!important;
}
.export-host .editor{
  padding-top:28px!important;
  padding-bottom:42px!important;
}


/* ===== V16 font application / batch apply / spacing / symbol palette / document styling ===== */
.batch-apply-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.batch-apply{
  border:1px solid var(--line);
  border-radius:8px;
  padding:11px 8px;
  background:white;
  color:#625d56;
  font-size:11px;
  font-weight:750;
}
.batch-apply.primary{
  background:#2d2b28;
  color:white;
  border-color:#2d2b28;
}
.bg-options{display:none}
.bg-options.active{display:block}

.symbol-scroll{
  max-height:230px;
  overflow-y:auto;
  padding:8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  scrollbar-width:thin;
}
.star-flower-grid{
  grid-template-columns:repeat(6,1fr);
}
.star-flower-grid button{
  height:36px;
  font-size:18px;
}
.paper::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  inset:var(--paper-frame-inset,0px);
  border:var(--paper-frame-border,0 solid transparent);
  border-radius:inherit;
}
.paper.frame-simple{--paper-frame-border:1px solid var(--paper-frame-color,#bdb5a8)}
.paper.frame-double{--paper-frame-border:3px double var(--paper-frame-color,#bdb5a8)}
.paper.frame-corner::after{
  border:1px solid transparent;
  background:
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) left top/28px 1px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) left top/1px 28px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) right top/28px 1px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) right top/1px 28px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) left bottom/28px 1px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) left bottom/1px 28px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) right bottom/28px 1px no-repeat,
    linear-gradient(var(--paper-frame-color,#bdb5a8),var(--paper-frame-color,#bdb5a8)) right bottom/1px 28px no-repeat;
}


/* ===== V17 simpler text editing + better preview ===== */
.section-apply-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:11px;
}
.section-apply{
  border:1px solid var(--line);
  border-radius:8px;
  padding:11px 8px;
  background:white;
  color:#625d56;
  font-size:11px;
  font-weight:750;
}
.section-apply.primary,
.primary-wide{
  background:#2d2b28 !important;
  color:white !important;
  border-color:#2d2b28 !important;
}
.panel-section .hint{
  margin-top:9px;
}

/* Corner frame sits farther inside the paper */
.paper.frame-corner{
  --paper-frame-inset: max(18px, var(--paper-user-frame-inset, 18px));
}
.paper.frame-corner::after{
  inset:var(--paper-frame-inset,18px);
}

/* Full-page preview: one whole page fits in the popup */
.modal-dialog.preview-fit-dialog{
  inset:16px;
}
.modal-stage.preview-fit-stage{
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:16px;
}
#previewHost.preview-fit-host{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}
#previewHost.preview-fit-host .paper{
  transform-origin:center center !important;
  flex-shrink:0;
}

/* Selection-format wrappers */
.editor .selection-style{
  display:inline;
}


/* ===== V18 selection-first editing / draggable slots / automatic pagination ===== */
.editor{
  overflow:hidden !important;
  overscroll-behavior:none;
}
.color-grid input[type="color"]{cursor:pointer}
.slot-card[draggable="true"]{cursor:grab}
.slot-card.dragging{opacity:.45;transform:scale(.98)}
.slot-card.drag-over{
  border-color:#8f887f !important;
  box-shadow:0 0 0 2px rgba(70,65,60,.08);
}
.slot-image-thumb{
  grid-row:1 / span 3;
  width:31px;height:31px;border-radius:9px;object-fit:cover;background:#efede8;
}
.slot-modal-image-wrap{
  width:48px;height:48px;position:relative;flex:0 0 48px;
}
.slot-modal-image{
  width:48px;height:48px;border-radius:13px;object-fit:cover;
  position:absolute;inset:0;background:#efede8;
}
.slot-image-controls{
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:12px;
}
.slot-image-controls .subtle-btn{white-space:nowrap}
.slot-drag-hint{margin:11px 0 0}
.compact-dialog{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(420px,calc(100vw - 32px));border-radius:14px;overflow:hidden;
  background:#faf9f6;box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.compact-dialog-body{padding:18px}
.compact-actions{display:flex;justify-content:flex-end;margin-top:14px}
#previewModal .modal-dialog{
  inset:28px;max-width:1100px;max-height:calc(100vh - 56px);margin:auto;
}
#previewModal .modal-stage{
  overflow:hidden !important;padding:18px;display:grid;place-items:center;
}
#previewHost{
  position:relative;width:100%;height:100%;display:grid;place-items:center;
}
#previewHost .paper{
  flex:none;transform-origin:center center !important;
  box-shadow:0 14px 42px rgba(40,35,30,.18) !important;
}
.export-host .paper{
  width:794px!important;height:1123px!important;min-height:1123px!important;
  max-height:1123px!important;overflow:hidden!important;
}
.export-host .editor{overflow:hidden!important}


/* ===== V19 fixes ===== */
#previewHost .paper{
  transform-origin:center center !important;
}

/* ensure highlighted spans can be fully cleared */
.editor span[style*="background-color"]{
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}


/* ===== V20 background paper-effect placement ===== */
[data-panel="background"] .paper-presets{
  margin-top:10px;
}
[data-panel="background"] .panel-section:last-child{
  border-bottom:0;
}


/* ===== V21 ===== */
.paper{overflow:hidden!important}
.editor{overflow:hidden!important;contain:paint;clip-path:inset(0)}
.editor .text-highlight,.editor .selection-style{
  display:inline!important;position:static!important;float:none!important;
  width:auto!important;max-width:none!important;
}
.preview-zoom-group{display:inline-flex;align-items:center;gap:4px;margin:0 3px}
.preview-zoom-label{min-width:48px;text-align:center}
.workspace{transition:background-color .22s ease}


/* ===== V23 stability fixes ===== */
:root{ --paper-effect-rgb:143,136,127; }

.paper{
  overflow:hidden !important;
  isolation:isolate;
}
.editor{
  overflow:hidden !important;
  min-height:0 !important;
}
.editor mark.text-highlight,
.editor span.text-highlight{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  height:auto !important;
  line-height:inherit !important;
  position:static !important;
  float:none !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.paper-effect.effect-grain{
  background-image:radial-gradient(rgba(var(--paper-effect-rgb),.42) .55px,transparent .8px) !important;
}
.paper-effect.effect-lines{
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,rgba(var(--paper-effect-rgb),.42) 28px) !important;
}
.paper-effect.effect-grid{
  background-image:
    linear-gradient(rgba(var(--paper-effect-rgb),.34) 1px,transparent 1px),
    linear-gradient(90deg,rgba(var(--paper-effect-rgb),.34) 1px,transparent 1px) !important;
}
.paper-effect.effect-dots{
  background-image:radial-gradient(rgba(var(--paper-effect-rgb),.55) 1px,transparent 1px) !important;
}
.paper-effect.effect-vignette{
  box-shadow:inset 0 0 80px rgba(var(--paper-effect-rgb),.48) !important;
}
#previewModal .modal-stage{
  overflow:hidden !important;
  padding:22px !important;
  display:grid !important;
  place-items:center !important;
}
#previewHost{
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}
#previewHost .paper{
  overflow:hidden !important;
  flex:none !important;
}
#previewHost .editor,
.modal-stage #previewHost .editor{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:hidden !important;
  contain:paint !important;
}
#slotModalName[readonly]{
  background:#f2f0eb;
  color:#77726b;
}
#slotModalDeleteBtn{ color:#a05656; }


/* ===== V24 ===== */
#previewModal .modal-stage{
  padding:10px !important;
}


/* ===== V25 automatic palette controls ===== */
.check-field{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 10px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:#77726b;
  font-size:10px;
}
.check-field input[type="checkbox"]{
  width:15px;
  height:15px;
  accent-color:#2d2b28;
}
.auto-color-active input[type="color"]{
  opacity:.62;
}


/* ===== V26 auto-color UI / two-step save ===== */
.check-field{
  border:0 !important;
  background:transparent !important;
  padding:2px 0 !important;
  margin:7px 0 10px !important;
}

.save-menu-step{
  min-width:170px;
}
.save-step{
  display:none;
}
.save-step.active{
  display:grid;
}
.save-menu-title{
  font-size:9px;
  font-weight:800;
  color:#5e5952;
  letter-spacing:.06em;
  padding:6px 9px 5px;
}
.save-menu-sub{
  font-size:8px;
  color:#99938b;
  padding:0 9px 5px;
}
.save-menu-head{
  display:flex;
  align-items:flex-start;
  gap:4px;
}
.save-back-btn{
  width:26px;
  flex:0 0 26px;
  padding:5px 2px !important;
  text-align:center !important;
  font-size:15px !important;
}


/* ===== V27 highlight / indent fixes ===== */
.editor .highlight-cleared{
  background:transparent !important;
  display:inline !important;
  padding:0 !important;
  margin:0 !important;
  line-height:inherit !important;
}


/* ===== V28 ===== */
.editor .highlight-cleared{
  background:transparent !important;
  background-color:transparent !important;
}


/* ===== V29 ===== */
.editor mark.text-highlight{
  display:inline !important;
  padding:0 !important;
  margin:0 !important;
}


/* ===== V30 highlight stability ===== */
.editor span.text-highlight[data-highlight="1"]{
  display:inline !important;
  position:static !important;
  float:none !important;
  clear:none !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  line-height:inherit !important;
  vertical-align:baseline !important;
  white-space:inherit !important;
  transform:none !important;
  box-shadow:none !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}


/* ===== V31 distribution defaults / settings pack / divider spacing ===== */
.sidebar-tool-label{
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  color:#9a948c;
  margin:2px 2px 5px;
}
.sidebar-tool-divider{
  height:1px;
  background:var(--line);
  margin:6px 0;
}
.paragraph-divider-spacer{
  display:block;
  min-height:1em;
  height:1em;
  line-height:1em;
  pointer-events:none;
}


/* ===== V32 permanent site source credit ===== */










@media (max-width:700px){
  

  
}


/* ===== V33 click-safety / source credit ===== */


/* Never allow a fixed helper layer to cover the workspace. */



/* ===== V34 document source + click stability ===== */
.paper-footer{
  position:relative;
}

.paper-source-credit{
  position:absolute;
  right:0;
  bottom:0;
  max-width:72%;
  text-align:right;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  font-family:Pretendard,system-ui,sans-serif;
  font-size:7px;
  font-weight:500;
  line-height:1;
  letter-spacing:.02em;
  color:rgba(70,65,60,.38);

  pointer-events:none;
  user-select:none;
}

/* No browser-viewport source badge exists in this version. */


/* ===== V36 patch notice ===== */
.patch-notice-modal{
  position:fixed;
  inset:0;
  z-index:120000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(35,32,29,.30);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.patch-notice-modal[hidden]{
  display:none !important;
}
.patch-notice-card{
  width:min(360px,calc(100vw - 40px));
  padding:25px 24px 21px;
  border:1px solid rgba(80,74,67,.13);
  border-radius:14px;
  background:#fbfaf7;
  box-shadow:0 20px 65px rgba(36,31,27,.18);
  text-align:center;
  font-family:Pretendard,system-ui,sans-serif;
}
.patch-notice-mark{
  margin-bottom:9px;
  font-size:16px;
  color:#777067;
}
.patch-notice-card h2{
  margin:0 0 11px;
  font-size:15px;
  font-weight:800;
  color:#3f3b37;
}
.patch-notice-card p{
  margin:0;
  font-size:11px;
  line-height:1.75;
  color:#77716a;
  white-space:pre-line;
}
.patch-notice-actions{
  display:flex;
  justify-content:center;
  margin-top:19px;
}
.patch-notice-actions button{
  min-width:90px;
}


/* ===== V37 developer notice archive ===== */
.developer-notice-modal{
  position:fixed;
  inset:0;
  z-index:125000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(35,32,29,.28);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.developer-notice-modal[hidden]{display:none!important}

.developer-notice-card{
  width:min(560px,calc(100vw - 40px));
  max-height:min(720px,calc(100vh - 48px));
  overflow:hidden;
  border:1px solid rgba(80,74,67,.13);
  border-radius:14px;
  background:#fbfaf7;
  box-shadow:0 22px 70px rgba(36,31,27,.20);
  font-family:Pretendard,system-ui,sans-serif;
}

.developer-notice-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:19px 20px 14px;
  border-bottom:1px solid rgba(80,74,67,.09);
}
.developer-notice-head h2{
  margin:2px 0 0;
  font-size:16px;
  color:#3f3b37;
}
.developer-notice-kicker{
  font-size:8px;
  letter-spacing:.16em;
  font-weight:800;
  color:#9a948d;
}

.developer-notice-list{
  max-height:600px;
  overflow:auto;
  padding:12px;
}
.developer-notice-item{
  padding:14px 15px;
  border:1px solid rgba(80,74,67,.09);
  border-radius:10px;
  background:#fff;
}
.developer-notice-item+.developer-notice-item{margin-top:8px}
.developer-notice-item-meta{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:#9a948d;
  font-size:8px;
}
.developer-notice-item-meta time{margin-left:auto}
.developer-notice-current{
  padding:2px 5px;
  border-radius:999px;
  background:#eeece7;
  color:#665f58;
  font-weight:800;
}
.developer-notice-item h3{
  margin:0 0 6px;
  font-size:12px;
  color:#48433e;
}
.developer-notice-item p{
  margin:0;
  white-space:pre-line;
  font-size:10px;
  line-height:1.65;
  color:#77716a;
}
.developer-notice-empty{
  padding:40px 12px;
  text-align:center;
  color:#99938b;
  font-size:10px;
}


/* ===== V39 preview/export footer ===== */
#previewHost .paper-source-credit,
.export-host .paper-source-credit{
  display:block !important;
  right:0 !important;
  left:auto !important;
  text-align:right !important;
}
#previewHost .paper-footer > span:not(.paper-source-credit),
.export-host .paper-footer > span:not(.paper-source-credit){
  display:none !important;
}


/* ===== V40 hidden developer notice manager ===== */
.developer-hidden-button{
  position:fixed;
  top:0;
  left:0;
  z-index:119999;
  width:24px;
  height:24px;
  padding:0;
  margin:0;
  border:0;
  outline:0;
  background:transparent;
  opacity:0;
  cursor:default;
}

/* Completely invisible in the normal UI, but still clickable. */
.developer-hidden-button:focus,
.developer-hidden-button:hover,
.developer-hidden-button:active{
  opacity:0;
  background:transparent;
  outline:0;
}

.developer-notice-card-wide{
  width:min(650px,calc(100vw - 40px));
}

.developer-notice-tabs{
  display:flex;
  gap:4px;
  padding:10px 14px 0;
  border-bottom:1px solid rgba(80,74,67,.09);
}
.developer-notice-tab{
  padding:8px 12px;
  border:0;
  border-radius:7px 7px 0 0;
  background:transparent;
  color:#99938b;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.developer-notice-tab.active{
  background:#f0eee9;
  color:#4b4640;
}

.developer-notice-panel{
  display:none;
  padding:16px;
}
.developer-notice-panel.active{
  display:block;
}

.developer-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.developer-form-wide{
  grid-column:1 / -1;
}
.developer-form-grid textarea{
  width:100%;
  resize:vertical;
  min-height:110px;
  font:inherit;
  line-height:1.55;
}

.developer-enabled-check{
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0 4px;
  color:#716b64;
  font-size:10px;
}
.developer-enabled-check input{
  width:14px;
  height:14px;
}

.developer-notice-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}
.developer-notice-help{
  margin:12px 0 0;
  padding:10px 11px;
  border-radius:8px;
  background:#f3f1ed;
  color:#8a847d;
  font-size:9px;
  line-height:1.6;
}

@media (max-width:700px){
  .developer-form-grid{
    grid-template-columns:1fr;
  }
  .developer-form-wide{
    grid-column:auto;
  }
}


/* ===== V41 preview/export footer restore ===== */
#previewHost .paper-footer > span,
.export-host .paper-footer > span{
  display:inline !important;
}

#previewHost .paper-source-credit,
.export-host .paper-source-credit{
  display:block !important;
  right:0 !important;
  left:auto !important;
  text-align:right !important;
}


/* ===== V47 preview repair ===== */
.preview-save-wrap{
  position:relative;
}
#previewSaveMenu{
  right:0;
  top:38px;
  min-width:170px;
  z-index:135000;
}
#previewSaveMenu .save-step{
  display:none;
}
#previewSaveMenu .save-step.active{
  display:grid;
}

/* Copy confirmation */
.preview-action-toast{
  position:absolute;
  top:58px;
  right:18px;
  z-index:135500;
  max-width:300px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  box-shadow:0 10px 28px rgba(36,31,27,.12);
  color:#716b64;
  font-size:9px;
  line-height:1.55;
  pointer-events:none;
}

#previewHost .paper-footer > span,
.export-host .paper-footer > span{
  display:inline !important;
}
#previewHost .paper-source-credit,
.export-host .paper-source-credit{
  display:block !important;
  right:0 !important;
  left:auto !important;
  text-align:right !important;
}


/* ===== V48 preview hard repair ===== */
.preview-toolbar{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:nowrap;
}

.preview-save-wrap{
  position:relative;
}

#previewSaveMenu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:140000;
  min-width:170px;
}

#previewSaveMenu:not(.open){
  display:none !important;
}

#previewSaveMenu.open{
  display:block !important;
}

#previewSaveMenu .save-step{
  display:none !important;
}

#previewSaveMenu .save-step.active{
  display:grid !important;
}

.preview-action-toast{
  position:absolute;
  top:58px;
  right:18px;
  z-index:140500;
  max-width:310px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfaf7;
  box-shadow:0 10px 28px rgba(36,31,27,.12);
  color:#716b64;
  font-size:9px;
  line-height:1.55;
  pointer-events:none;
}


/* ===== V50 document templates & advanced layout ===== */
.tabs{
  grid-template-columns:repeat(4,1fr) !important;
}

.template-preview-row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  align-items:center;
  margin-top:8px;
}
.template-mini-preview{
  width:54px;
  height:76px;
  margin:auto;
  border:1px solid #d3cec6;
  border-radius:4px;
  background:#fff;
  box-shadow:0 4px 12px rgba(40,35,30,.08);
  position:relative;
  transition:width .2s ease,height .2s ease;
}
.template-mini-title{
  position:absolute;
  left:9px;right:9px;top:10px;
  height:4px;border-radius:3px;background:#bbb5ad;
}
.template-mini-lines{
  position:absolute;
  left:9px;right:9px;top:22px;bottom:9px;
  background:repeating-linear-gradient(to bottom,#ddd8d1 0,#ddd8d1 1px,transparent 1px,transparent 7px);
}

.layout-subhead{
  margin:14px 0 7px;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  color:#77716a;
}
.layout-check{
  margin-top:2px !important;
}
.custom-position-grid{
  display:none;
}
.custom-position-grid.active{
  display:block;
}

/* The title/subtitle are managed as free-position layers. */
.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  position:absolute;
  z-index:4;
  width:64%;
  margin:0;
  border:0;
  background:transparent;
  box-sizing:border-box;
}
.paper.layout-enabled .title-input{
  padding:0;
}
.paper.layout-enabled .subtitle-input{
  padding:0 0 5px;
  border-bottom:1px solid rgba(120,110,100,.16);
}

/* body layout */
.paper.layout-enabled .editor{
  position:relative;
  z-index:2;
  padding-top:24px;
  column-fill:auto;
  column-rule:0;
  transition:column-gap .15s ease;
}
.paper.layout-enabled.layout-heading-top .editor{
  padding-top:96px;
}
.paper.layout-enabled.layout-no-heading .editor{
  padding-top:18px;
}

/* Multi-column */
.paper.layout-enabled .editor.layout-columns{
  column-fill:auto;
}

/* Vertical writing */
.paper.layout-enabled .editor.writing-vertical{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  word-break:normal;
  overflow-wrap:normal;
}
.paper.layout-enabled .editor.writing-horizontal{
  writing-mode:horizontal-tb;
}

/* Smaller template padding */
.paper[data-document-template="postcard"],
.paper[data-document-template="card"],
.paper[data-document-template="square"]{
  padding:28px 34px 22px !important;
}
.paper[data-document-template="card"] .paper-footer,
.paper[data-document-template="postcard"] .paper-footer{
  min-height:22px;
}

/* Preview/export must obey dynamic dimensions rather than old A4 CSS. */
#previewHost .paper.layout-enabled,
.export-host .paper.layout-enabled{
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
}
#previewHost .paper.layout-enabled .editor,
.export-host .paper.layout-enabled .editor{
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
}

@media(max-width:1180px){
  .tabs{gap:3px}
  .tab{font-size:8px;padding-left:3px;padding-right:3px}
}


/* ===== V51 heading group / body avoidance ===== */
.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  width:68%;
}

.paper.layout-enabled.heading-large-first .title-input{
  font-size:clamp(26px,4.2vw,42px) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
}

.paper.layout-enabled.heading-large-first .subtitle-input{
  font-size:clamp(13px,1.8vw,18px) !important;
  line-height:1.35 !important;
  margin-top:10px !important;
}

.paper.layout-enabled.body-clear-top .editor{
  padding-top:132px !important;
}

.paper.layout-enabled.body-clear-center .editor{
  padding-top:38px !important;
  padding-bottom:145px !important;
}

.paper.layout-enabled.body-clear-bottom .editor{
  padding-top:28px !important;
  padding-bottom:150px !important;
}

/* Landscape needs a little more breathing room because title lines are wider. */
.paper.layout-enabled[data-document-orientation="landscape"].body-clear-top .editor{
  padding-top:118px !important;
}

.paper.layout-enabled[data-document-orientation="landscape"].heading-large-first.body-clear-top .editor{
  padding-top:150px !important;
}

.paper.layout-enabled[data-document-orientation="landscape"].heading-large-first.body-clear-center .editor{
  padding-bottom:175px !important;
}

.paper.layout-enabled[data-document-orientation="landscape"].heading-large-first.body-clear-bottom .editor{
  padding-bottom:180px !important;
}


/* ===== V52 paragraph divider line ===== */
.paragraph-divider{
  position:relative;
}

.paragraph-divider.with-line{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
}

.paragraph-divider.with-line::before,
.paragraph-divider.with-line::after{
  content:"";
  display:block;
  flex:1 1 auto;
  height:1px;
  background:currentColor;
  opacity:var(--divider-line-opacity,.35);
  min-width:18px;
}

.paragraph-divider.with-line:empty::after{
  display:block;
}

.paragraph-divider.with-line[data-ornament=""]{
  gap:0;
}


/* ===== V53 column-aware divider + heading/body alignment ===== */

/* Divider remains inside the column in multi-column horizontal text. */
.paper.layout-enabled .editor.writing-horizontal .paragraph-divider{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box;
  text-align:center;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  column-span:none;
}
.paper.layout-enabled .editor.writing-horizontal .paragraph-divider.with-line{
  display:flex !important;
  justify-content:center;
  align-items:center;
}

/* The blank line around a divider must also stay in that same column. */
.paper.layout-enabled .editor.writing-horizontal .paragraph-divider-spacer{
  width:100%;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
}

/* Heading/body share the same horizontal content start. */
.paper.layout-enabled{
  --heading-body-left:18%;
  --heading-body-right:8%;
  --heading-clear-top:128px;
  --heading-clear-bottom:150px;
}

.paper.layout-enabled .editor.writing-horizontal{
  padding-left:var(--heading-body-left) !important;
  padding-right:var(--heading-body-right) !important;
  box-sizing:border-box;
}

.paper.layout-enabled.layout-no-heading .editor.writing-horizontal{
  padding-left:7% !important;
  padding-right:7% !important;
}

.paper.layout-enabled.body-clear-top .editor{
  padding-top:var(--heading-clear-top) !important;
  padding-bottom:28px !important;
}
.paper.layout-enabled.body-clear-center .editor{
  padding-top:34px !important;
  padding-bottom:var(--heading-clear-bottom) !important;
}
.paper.layout-enabled.body-clear-bottom .editor{
  padding-top:28px !important;
  padding-bottom:var(--heading-clear-bottom) !important;
}

/* Compact templates need proportionally tighter spacing while keeping separation. */
.paper[data-document-template="postcard"],
.paper[data-document-template="card"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="ticket"]{
  --heading-clear-top:92px;
  --heading-clear-bottom:104px;
}

.paper[data-document-template="postcard"].heading-large-first,
.paper[data-document-template="card"].heading-large-first,
.paper[data-document-template="widecard"].heading-large-first,
.paper[data-document-template="minicard"].heading-large-first,
.paper[data-document-template="ticket"].heading-large-first{
  --heading-clear-top:116px;
  --heading-clear-bottom:126px;
}

/* More templates */
.paper[data-document-template="a5"],
.paper[data-document-template="b5"],
.paper[data-document-template="letter"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="ticket"]{
  padding:30px 36px 23px !important;
}


/* ===== V55 refined title/subtitle layout ===== */
.paper.layout-enabled{
  --heading-left:6%;
  --heading-right:6%;
}

.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  left:var(--heading-left) !important;
  right:var(--heading-right) !important;
  width:auto !important;
  max-width:none !important;
}

/* Title gets more visual presence and breathing room. */
.paper.layout-enabled .title-input{
  padding:0 2px 5px !important;
  letter-spacing:-.025em;
  line-height:1.14 !important;
}

/* Subtitle stretches wider and reads like a clean subheading rule. */
.paper.layout-enabled .subtitle-input{
  padding:2px 2px 10px !important;
  border-bottom:1px solid rgba(105,98,90,.18) !important;
  line-height:1.45 !important;
}

/* Body sits clearly below/away from title block. */
.paper.layout-enabled.body-clear-top .editor.writing-horizontal{
  padding-top:var(--heading-clear-top) !important;
}
.paper.layout-enabled.body-clear-center .editor.writing-horizontal{
  padding-top:34px !important;
  padding-bottom:var(--heading-clear-bottom) !important;
}
.paper.layout-enabled.body-clear-bottom .editor.writing-horizontal{
  padding-bottom:var(--heading-clear-bottom) !important;
}

/* 2/3 columns: heading is centered over the whole page, body starts below it. */
.paper.layout-enabled.heading-columns .title-input,
.paper.layout-enabled.heading-columns .subtitle-input{
  text-align:center !important;
  left:8% !important;
  right:8% !important;
}

.paper.layout-enabled[data-column-count="2"] .title-input{
  font-size:clamp(23px,3.2vw,34px) !important;
}
.paper.layout-enabled[data-column-count="3"] .title-input{
  font-size:clamp(21px,2.8vw,31px) !important;
}

.paper.layout-enabled[data-column-count="2"] .subtitle-input,
.paper.layout-enabled[data-column-count="3"] .subtitle-input{
  max-width:none !important;
}

/* Preserve generous margins on landscape/wide formats. */
.paper.layout-enabled[data-document-orientation="landscape"] .title-input,
.paper.layout-enabled[data-document-orientation="landscape"] .subtitle-input{
  left:7% !important;
  right:7% !important;
}

.paper.layout-enabled[data-document-orientation="landscape"].heading-columns .title-input,
.paper.layout-enabled[data-document-orientation="landscape"].heading-columns .subtitle-input{
  left:9% !important;
  right:9% !important;
}

/* Compact templates: still elegant, but don't consume half the card. */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="ticket"] .title-input{
  font-size:clamp(18px,2.8vw,28px) !important;
}

.paper[data-document-template="postcard"] .subtitle-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="ticket"] .subtitle-input{
  padding-bottom:7px !important;
}


/* ===== V56 template-specific controls / clean resize ===== */
.template-layout-box{
  margin:12px 0 4px;
  padding:11px 10px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(255,255,255,.46);
}

.paper.layout-enabled .editor{
  box-sizing:border-box !important;
}

/* Keep content inside page, but pagination is responsible for overflow. */
.paper.layout-enabled{
  overflow:hidden !important;
}

.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  overflow:visible !important;
  white-space:normal !important;
}

/* Give body a little safety space so the last line is not visually cut. */
.paper.layout-enabled .editor.writing-horizontal{
  padding-bottom:34px !important;
}

.paper.layout-enabled.layout-no-heading .editor.writing-horizontal{
  padding-top:24px !important;
}

.paper.layout-enabled .editor.writing-vertical{
  padding:7% 8% 9% !important;
}

/* V57 */
.paper.layout-enabled{--body-left:9%;--body-right:9%;--heading-clear-center:168px;}
.paper.layout-enabled .editor.writing-horizontal,.paper.layout-enabled .editor.layout-columns{padding-left:var(--body-left)!important;padding-right:var(--body-right)!important;margin-left:0!important;margin-right:0!important;}
.paper.layout-enabled.body-clear-top .editor.writing-horizontal{padding-top:var(--heading-clear-top)!important;padding-bottom:34px!important;}
.paper.layout-enabled.body-clear-center .editor.writing-horizontal{padding-top:30px!important;padding-bottom:var(--heading-clear-center)!important;}
.paper.layout-enabled.body-clear-bottom .editor.writing-horizontal{padding-top:28px!important;padding-bottom:var(--heading-clear-bottom)!important;}
.paper.layout-enabled .title-input,.paper.layout-enabled .subtitle-input{left:var(--heading-left)!important;right:var(--heading-right)!important;max-width:none!important;}
.paper.layout-enabled .editor.writing-vertical{padding:8% 9% 9%!important;margin:0!important;}


/* ===== V58 header logo sparkle centering ===== */
.brand-logo,
.logo-mark,
.site-logo-mark,
.header-logo-mark{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

.brand-logo > *,
.logo-mark > *,
.site-logo-mark > *,
.header-logo-mark > *{
  margin:0 !important;
  position:static !important;
  transform:none !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

/* Current header mark fallback: center any sparkle glyph inside the small rounded logo box. */
.app-brand .brand-icon,
.brand .brand-icon,
.logo .brand-icon,
.site-brand .brand-icon{
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
}

.app-brand .brand-icon::before,
.brand .brand-icon::before,
.logo .brand-icon::before,
.site-brand .brand-icon::before{
  line-height:1 !important;
  margin:0 !important;
  transform:none !important;
  position:static !important;
}


/* ===== V59 page composition ===== */
.paper.layout-enabled{
  --body-left:7%;
  --body-right:9%;
}

/* Body sits a little farther left and uses more of the page width. */
.paper.layout-enabled .editor.writing-horizontal,
.paper.layout-enabled .editor.layout-columns{
  padding-left:var(--body-left) !important;
  padding-right:var(--body-right) !important;
}

/* Lightweight automatic-page notice. */
.auto-page-toast{
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translate(-50%,10px);
  z-index:99999;
  padding:9px 14px;
  border:1px solid rgba(60,55,50,.12);
  border-radius:9px;
  background:rgba(38,36,34,.90);
  color:#fff;
  font-size:12px;
  line-height:1.35;
  letter-spacing:-.01em;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.auto-page-toast.show{
  opacity:1;
  transform:translate(-50%,0);
}




/* ===== V62 canonical document geometry ===== */
.paper.layout-enabled{
  --rule-left:4.5%;
  --rule-right:6.5%;
  --body-left:5.4%;
  --body-right:7.2%;
  --heading-safe-top:150px;
  --heading-safe-center:310px;
  --heading-safe-bottom:210px;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* Title and subtitle use the subtitle rule as the visible guide. */
.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  position:absolute !important;
  left:var(--rule-left) !important;
  right:var(--rule-right) !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
  box-sizing:border-box !important;
  z-index:4 !important;
}

.paper.layout-enabled .subtitle-input{
  padding-left:0 !important;
  padding-right:0 !important;
  padding-bottom:8px !important;
  border-bottom:1px solid rgba(105,98,90,.20) !important;
}

/* Body starts almost at the subtitle rule left edge.
   This is intentionally much farther left than previous versions. */
.paper.layout-enabled .editor.writing-horizontal,
.paper.layout-enabled .editor.layout-columns{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
  padding-left:var(--body-left) !important;
  padding-right:var(--body-right) !important;
  overflow:hidden !important;
}

/* Top heading: body begins just under subtitle/rule area. */
.paper.layout-enabled.body-clear-top .editor.writing-horizontal,
.paper.layout-enabled.body-clear-top .editor.layout-columns{
  padding-top:var(--heading-safe-top) !important;
  padding-bottom:30px !important;
}

/* Center heading: reserve a real upper block.
   Body starts BELOW the centered title/subtitle, never behind it. */
.paper.layout-enabled.body-clear-center .editor.writing-horizontal,
.paper.layout-enabled.body-clear-center .editor.layout-columns{
  padding-top:var(--heading-safe-center) !important;
  padding-bottom:30px !important;
}

/* Bottom heading: title sits near the bottom, body ends before it. */
.paper.layout-enabled.body-clear-bottom .editor.writing-horizontal,
.paper.layout-enabled.body-clear-bottom .editor.layout-columns{
  padding-top:24px !important;
  padding-bottom:var(--heading-safe-bottom) !important;
}

.paper.layout-enabled.layout-no-heading .editor.writing-horizontal,
.paper.layout-enabled.layout-no-heading .editor.layout-columns{
  padding-top:22px !important;
  padding-left:var(--body-left) !important;
  padding-right:var(--body-right) !important;
  padding-bottom:30px !important;
}

/* Multi-column layout only splits the already-left-aligned body box. */
.paper.layout-enabled .editor.layout-columns{
  column-fill:auto !important;
}

/* Vertical writing uses similarly small left/right insets. */
.paper.layout-enabled .editor.writing-vertical{
  box-sizing:border-box !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:7% 7% 8% 5.5% !important;
  overflow:hidden !important;
}


/* ===== V63 automatic heading/body rhythm ===== */
.paper.layout-enabled.body-clear-top .editor.writing-horizontal,
.paper.layout-enabled.body-clear-top .editor.layout-columns{
  padding-top:var(--heading-safe-top) !important;
}

/* Fine adjustment is secondary; automatic layout remains the default. */
.compact-hint{
  margin-top:-4px !important;
  opacity:.72;
}








/* ===== V68 safe body inset positioning ===== */
.paper.layout-enabled{
  --body-frame-left:3.2%;
  --body-frame-right:5.2%;
}

/* The body itself uses the safe inset. No transforms, so text cannot be clipped. */
.paper.layout-enabled .editor.writing-horizontal,
.paper.layout-enabled .editor.layout-columns{
  padding-left:var(--body-frame-left) !important;
  padding-right:var(--body-frame-right) !important;
  overflow:hidden !important;
}

/* Body blocks stay in normal document flow. */
.paper.layout-enabled .editor > p,
.paper.layout-enabled .editor > blockquote,
.paper.layout-enabled .editor > ul,
.paper.layout-enabled .editor > ol,
.paper.layout-enabled .editor > h1,
.paper.layout-enabled .editor > h2,
.paper.layout-enabled .editor > h3,
.paper.layout-enabled .editor > h4,
.paper.layout-enabled .editor > h5,
.paper.layout-enabled .editor > h6,
.paper.layout-enabled .editor > div:not(.paragraph-divider):not(.paragraph-divider-spacer){
  position:static !important;
  transform:none !important;
  left:auto !important;
  width:auto !important;
  max-width:none !important;
}

/* Divider remains independent and centered/aligned by its own control. */
.paper.layout-enabled .editor > .paragraph-divider,
.paper.layout-enabled .editor > .paragraph-divider-spacer{
  transform:none !important;
  left:0 !important;
  width:100% !important;
  max-width:100% !important;
}


/* ===== V69 editable body margin ===== */
.paper.layout-enabled{
  --body-frame-left:2%;
  --body-frame-right:3%;
}

/* ===== V70 document margin ===== */
.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  width:auto !important;
  max-width:none !important;
}

/* ===== V71 document margin popup ===== */
.template-margin-launcher{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.template-margin-launcher .layout-subhead{margin:0 0 3px!important;padding:0!important;border:0!important}.margin-summary{font-size:9px;color:#8a837b}.margin-dialog{width:min(520px,calc(100vw - 28px))}.margin-modal-body{padding:18px}.margin-preset-section,.margin-detail-section{padding:14px 0}.margin-preset-section h3,.margin-detail-section h3{margin:0 0 10px;font-size:11px}.margin-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.margin-preset-btn{display:grid;gap:3px;text-align:left;padding:12px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5d5751;cursor:pointer}.margin-preset-btn strong{font-size:11px}.margin-preset-btn span{font-size:8px;color:#9a938b}.margin-preset-btn.active{border-color:#7c756d;box-shadow:inset 0 0 0 1px #7c756d}.margin-detail-section{border-top:1px solid var(--line)}.margin-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.margin-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.number-field{display:grid;gap:5px;font-size:9px}.number-field>div{display:flex;align-items:center;gap:5px}.number-field input{width:100%;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;box-sizing:border-box}.number-field div span{font-size:8px;color:#938c84}.margin-modal-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:14px;border-top:1px solid var(--line)}
/* divider is always geometrically centered, independent of margins/body shift */
.paper.layout-enabled .editor>.paragraph-divider{position:relative!important;left:0!important;right:0!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;text-align:center!important;justify-content:center!important;transform:none!important}.paper.layout-enabled .editor>.paragraph-divider.with-line{display:flex!important;align-items:center!important;justify-content:center!important}.paper.layout-enabled .editor>.paragraph-divider.with-line::before,.paper.layout-enabled .editor>.paragraph-divider.with-line::after{flex:1 1 auto!important}


/* ===== V74 document margin launcher ===== */
.template-margin-launcher{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.margin-launch-btn{
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr 16px;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:rgba(255,255,255,.58);
  color:#5f5953;
  cursor:pointer;
  text-align:left;
}
.margin-launch-btn:hover{
  background:#fff;
  border-color:#c4bdb5;
}
.margin-launch-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  position:relative;
}
.margin-page-outline{
  position:absolute;
  width:19px;
  height:24px;
  border:1px solid #918980;
  border-radius:2px;
  box-sizing:border-box;
  background:#fff;
}
.margin-page-inner{
  position:absolute;
  width:11px;
  height:16px;
  border:1px dashed #c5bdb4;
  border-radius:1px;
  box-sizing:border-box;
}
.margin-launch-copy{
  display:grid;
  gap:2px;
}
.margin-launch-copy strong{
  font-size:10px;
  font-weight:700;
}
.margin-launch-copy small{
  font-size:8px;
  color:#9a928a;
}
.margin-launch-chevron{
  font-size:16px;
  color:#9e968e;
}

/* ===== V74 margin modal ===== */
.margin-dialog{
  width:min(560px,calc(100vw - 28px));
  max-height:min(760px,calc(100vh - 40px));
  overflow:auto;
}
.margin-modal-body{
  padding:4px 18px 18px;
}
.margin-preset-section,
.margin-detail-section{
  padding:14px 0;
}
.margin-detail-section{
  border-top:1px solid var(--line);
}
.margin-section-title h3,
.margin-detail-head h3{
  margin:0 0 3px;
  font-size:11px;
}
.margin-section-title p,
.margin-detail-head p{
  margin:0;
  font-size:8px;
  color:#9a938b;
  line-height:1.5;
}
.margin-preset-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.margin-preset-btn{
  display:grid;
  justify-items:center;
  gap:7px;
  padding:11px 8px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  color:#5e5852;
}
.margin-preset-btn.active{
  border-color:#827970;
  box-shadow:inset 0 0 0 1px #827970;
}
.margin-preset-preview{
  width:30px;
  height:38px;
  border:1px solid #b8b0a7;
  border-radius:2px;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  background:#fff;
}
.margin-preset-preview i{
  display:block;
  border:1px solid #d0c8bf;
  box-sizing:border-box;
}
.narrow-preview i{width:24px;height:32px}
.normal-preview i{width:20px;height:28px}
.wide-preview i{width:14px;height:22px}
.margin-preset-btn strong{font-size:9px}

.margin-detail-head{margin-bottom:10px}
.margin-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px 10px;
}
.number-field{
  display:grid;
  gap:5px;
  font-size:9px;
}
.number-field > div{
  display:flex;
  align-items:center;
  gap:5px;
}
.number-field input{
  width:100%;
  min-width:0;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  box-sizing:border-box;
}
.number-field div span{
  font-size:8px;
  color:#938c84;
}
.body-margin-section{
  margin-left:-18px;
  margin-right:-18px;
  padding-left:18px;
  padding-right:18px;
  background:rgba(249,247,244,.58);
}
.margin-modal-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.margin-modal-action-right{
  display:flex;
  gap:7px;
}

/* ===== V74 page/body margin geometry ===== */
.paper.layout-enabled{
  --body-inner-top:0%;
  --body-inner-bottom:0%;
  --header-margin:0%;
  --footer-margin:0%;
}
.paper.layout-enabled .editor.writing-horizontal,
.paper.layout-enabled .editor.layout-columns{
  padding-left:var(--body-frame-left) !important;
  padding-right:var(--body-frame-right) !important;
}
.paper.layout-enabled.body-clear-top .editor.writing-horizontal,
.paper.layout-enabled.body-clear-top .editor.layout-columns{
  padding-top:calc(var(--heading-safe-top) + var(--body-inner-top)) !important;
  padding-bottom:calc(30px + var(--body-inner-bottom)) !important;
}
.paper.layout-enabled.body-clear-center .editor.writing-horizontal,
.paper.layout-enabled.body-clear-center .editor.layout-columns{
  padding-top:calc(var(--heading-safe-center) + var(--body-inner-top)) !important;
  padding-bottom:calc(30px + var(--body-inner-bottom)) !important;
}
.paper.layout-enabled.body-clear-bottom .editor.writing-horizontal,
.paper.layout-enabled.body-clear-bottom .editor.layout-columns{
  padding-top:calc(24px + var(--body-inner-top)) !important;
  padding-bottom:calc(var(--heading-safe-bottom) + var(--body-inner-bottom)) !important;
}
.paper.layout-enabled.layout-no-heading .editor.writing-horizontal,
.paper.layout-enabled.layout-no-heading .editor.layout-columns{
  padding-top:calc(22px + var(--body-inner-top)) !important;
  padding-bottom:calc(30px + var(--body-inner-bottom)) !important;
}

/* Divider ornament is always centered and ignores body/page margin movement. */
.paper.layout-enabled .editor > .paragraph-divider,
.paper.layout-enabled .editor > .paragraph-divider-spacer{
  left:0 !important;
  right:0 !important;
  transform:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.paper.layout-enabled .editor > .paragraph-divider{
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
  justify-content:center !important;
}
.paper.layout-enabled .editor > .paragraph-divider.with-line{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.paper.layout-enabled .editor > .paragraph-divider.with-line::before,
.paper.layout-enabled .editor > .paragraph-divider.with-line::after{
  flex:1 1 auto !important;
}


/* ===== V75 margin live preview / modal separation ===== */
#documentMarginModal .margin-dialog{
  border:1px solid rgba(91,82,74,.42) !important;
  border-radius:12px !important;
  background:#fbfaf7 !important;
  box-shadow:
    0 22px 60px rgba(43,37,32,.22),
    0 0 0 1px rgba(255,255,255,.72) inset !important;
  overflow:hidden;
}

#documentMarginModal .modal-head{
  border-bottom:1px solid rgba(110,100,90,.18) !important;
  background:rgba(255,255,255,.66);
}

#documentMarginModal .margin-modal-body{
  background:#fbfaf7;
}

#documentMarginModal .margin-preset-section,
#documentMarginModal .margin-detail-section{
  position:relative;
}

#documentMarginModal .margin-detail-section{
  border-top:1px solid rgba(118,108,98,.20) !important;
}

#documentMarginModal .body-margin-section{
  border-top:1px solid rgba(108,98,89,.28) !important;
  border-bottom:1px solid rgba(118,108,98,.14);
  background:rgba(244,241,237,.72) !important;
}

#documentMarginModal .margin-modal-actions{
  margin-top:2px;
  border-top:1px solid rgba(108,98,89,.25) !important;
}

#documentMarginModal .number-field input:focus{
  outline:none;
  border-color:#8d8379;
  box-shadow:0 0 0 2px rgba(141,131,121,.12);
}

#documentMarginModal .margin-preset-btn{
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

#documentMarginModal .margin-preset-btn:hover{
  background:#f8f6f2;
}


/* ===== V76 subtitle alignment refinement ===== */
.paper.layout-enabled .subtitle-input{
  opacity:.82;
}

/* Left/right aligned subtitle gets a small visual inset automatically.
   Center stays exactly centered. */
.paper.layout-enabled .title-input,
.paper.layout-enabled .subtitle-input{
  box-sizing:border-box !important;
}


/* ===== V81 template heading normalization ===== */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="square"] .title-input,
.paper[data-document-template="ticket"] .title-input{
  line-height:1.08 !important;
}
.paper[data-document-template="postcard"] .subtitle-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="square"] .subtitle-input,
.paper[data-document-template="ticket"] .subtitle-input{
  line-height:1.28 !important;
  padding-bottom:6px !important;
}


/* ===== V82 compact template heading reset ===== */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="square"] .title-input,
.paper[data-document-template="ticket"] .title-input{
  line-height:1.06 !important;
  letter-spacing:-.02em !important;
}

.paper[data-document-template="postcard"] .subtitle-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="square"] .subtitle-input,
.paper[data-document-template="ticket"] .subtitle-input{
  line-height:1.22 !important;
  padding-top:0 !important;
  padding-bottom:5px !important;
}

/* Keep title/subtitle visually inside the page for small formats. */
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  max-width:92% !important;
}


/* ===== V83 compact template unified frame ===== */
.paper[data-document-template="postcard"],
.paper[data-document-template="card"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="square"],
.paper[data-document-template="ticket"]{
  --compact-frame-left:6%;
  --compact-frame-right:6%;
}

/* Title/subtitle/body all share the same frame on compact formats. */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="postcard"] .subtitle-input,
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="square"] .title-input,
.paper[data-document-template="square"] .subtitle-input,
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Remove any legacy centering/translation drift. */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="square"] .title-input,
.paper[data-document-template="ticket"] .title-input{
  transform:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Body cannot protrude outside the compact content frame. */
.paper[data-document-template="postcard"] .editor.writing-horizontal,
.paper[data-document-template="card"] .editor.writing-horizontal,
.paper[data-document-template="widecard"] .editor.writing-horizontal,
.paper[data-document-template="minicard"] .editor.writing-horizontal,
.paper[data-document-template="square"] .editor.writing-horizontal,
.paper[data-document-template="ticket"] .editor.writing-horizontal,
.paper[data-document-template="postcard"] .editor.layout-columns,
.paper[data-document-template="card"] .editor.layout-columns,
.paper[data-document-template="widecard"] .editor.layout-columns,
.paper[data-document-template="minicard"] .editor.layout-columns,
.paper[data-document-template="square"] .editor.layout-columns,
.paper[data-document-template="ticket"] .editor.layout-columns{
  padding-left:var(--body-frame-left) !important;
  padding-right:var(--body-frame-right) !important;
}


/* ===== V84 compact + letter layout stabilization ===== */

/* Compact formats share one exact horizontal content frame. */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="postcard"] .subtitle-input,
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="square"] .title-input,
.paper[data-document-template="square"] .subtitle-input,
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  box-sizing:border-box !important;
  transform:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.paper[data-document-template="postcard"] .editor.writing-horizontal,
.paper[data-document-template="card"] .editor.writing-horizontal,
.paper[data-document-template="widecard"] .editor.writing-horizontal,
.paper[data-document-template="minicard"] .editor.writing-horizontal,
.paper[data-document-template="square"] .editor.writing-horizontal,
.paper[data-document-template="ticket"] .editor.writing-horizontal,
.paper[data-document-template="postcard"] .editor.layout-columns,
.paper[data-document-template="card"] .editor.layout-columns,
.paper[data-document-template="widecard"] .editor.layout-columns,
.paper[data-document-template="minicard"] .editor.layout-columns,
.paper[data-document-template="square"] .editor.layout-columns,
.paper[data-document-template="ticket"] .editor.layout-columns{
  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* Portrait ticket needs document-like vertical rhythm, not landscape ticket rhythm. */
.paper[data-document-template="ticket"][data-document-orientation="portrait"] .title-input{
  line-height:1.08 !important;
}
.paper[data-document-template="ticket"][data-document-orientation="portrait"] .subtitle-input{
  line-height:1.22 !important;
}

/* Letter: body is intentionally more inward than V80/V83. */
.paper[data-document-template="letter"] .editor.writing-horizontal,
.paper[data-document-template="letter"] .editor.layout-columns{
  box-sizing:border-box !important;
}


/* ===== V85 title + subtitle unified heading block ===== */
/* The subtitle is visually part of the title on every document template. */
.paper.layout-enabled .title-input{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.paper.layout-enabled .subtitle-input{
  margin-top:0 !important;
  padding-top:1px !important;
  line-height:1.15 !important;
}

/* Keep the title/subtitle rule close to the subtitle rather than floating away. */
.paper.layout-enabled .subtitle-input{
  padding-bottom:5px !important;
}

/* Compact templates need an even tighter heading rhythm. */
.paper[data-document-template="postcard"] .subtitle-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="square"] .subtitle-input,
.paper[data-document-template="ticket"] .subtitle-input{
  padding-top:0 !important;
  padding-bottom:4px !important;
  line-height:1.12 !important;
}








/* ===== V91 polished card family ===== */

/* Card-family title + subtitle on the same row */
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  right:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border-bottom:0 !important;
  transform:none !important;
  box-sizing:border-box !important;
}

.paper[data-document-template="card"] .title-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="ticket"] .title-input{
  line-height:1 !important;
  font-weight:700 !important;
}

.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="ticket"] .subtitle-input{
  line-height:1 !important;
  opacity:.62 !important;
}

/* Shared line under title+subtitle row */
.paper[data-document-template="card"]::before,
.paper[data-document-template="widecard"]::before,
.paper[data-document-template="minicard"]::before,
.paper[data-document-template="ticket"]::before{
  content:"";
  position:absolute;
  left:var(--rule-left);
  right:var(--rule-right);
  top:var(--card-heading-rule-top);
  border-top:1px solid rgba(105,98,90,.22);
  z-index:3;
  pointer-events:none;
}

/* Card shapes */
.paper[data-document-template="card"]{
  border-radius:12px !important;
  overflow:hidden !important;
}

.paper[data-document-template="widecard"]{
  border-radius:11px !important;
  overflow:hidden !important;
}

.paper[data-document-template="minicard"]{
  border-radius:11px !important;
  overflow:hidden !important;
}

/* Ticket: cleaner notches, only one centered notch on each side */
.paper[data-document-template="ticket"]{
  border-radius:9px !important;
  overflow:visible !important;
  position:relative !important;
}

.paper[data-document-template="ticket"]::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:20;
  background:
    radial-gradient(circle at 0 50%, var(--workspace-bg,#d5d1cb) 0 18px, transparent 19px),
    radial-gradient(circle at 100% 50%, var(--workspace-bg,#d5d1cb) 0 18px, transparent 19px);
  border-radius:9px;
}

/* subtle perforation guide near ticket edges */
.paper[data-document-template="ticket"] .editor::before,
.paper[data-document-template="ticket"] .editor::after{
  content:"";
  position:absolute;
  top:12%;
  bottom:12%;
  border-left:1px dashed rgba(120,112,104,.18);
  pointer-events:none;
}
.paper[data-document-template="ticket"] .editor::before{left:4.2%}
.paper[data-document-template="ticket"] .editor::after{right:4.2%}

/* Footer/page number: page number is ALWAYS centered in the paper */
.paper .page-number,
.paper .page-number-preview,
.paper #pageNumberPreview,
.paper [data-page-number],
#pageNumberPreview{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:auto !important;
}

/* Source can stay right-aligned without affecting page number */
.paper .source-credit,
.paper .site-source,
.paper [data-source-credit]{
  position:absolute !important;
  right:var(--rule-right,6%) !important;
  left:auto !important;
  text-align:right !important;
}

/* Body frame remains balanced */
.paper[data-document-template="card"] .editor.writing-horizontal,
.paper[data-document-template="widecard"] .editor.writing-horizontal,
.paper[data-document-template="minicard"] .editor.writing-horizontal,
.paper[data-document-template="ticket"] .editor.writing-horizontal,
.paper[data-document-template="card"] .editor.layout-columns,
.paper[data-document-template="widecard"] .editor.layout-columns,
.paper[data-document-template="minicard"] .editor.layout-columns,
.paper[data-document-template="ticket"] .editor.layout-columns{
  padding-left:var(--body-frame-left) !important;
  padding-right:var(--body-frame-right) !important;
  box-sizing:border-box !important;
}


/* ===== V92 card heading spacing + refined ticket ===== */

/* More breathing room between heading row and the underline. */
.paper[data-document-template="card"]::before,
.paper[data-document-template="widecard"]::before,
.paper[data-document-template="minicard"]::before,
.paper[data-document-template="ticket"]::before{
  top:var(--card-heading-rule-top) !important;
}

/* Card body top follows the actual heading-gap calculation. */
.paper[data-document-template="card"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="widecard"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="minicard"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="ticket"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="card"].body-clear-top .editor.layout-columns,
.paper[data-document-template="widecard"].body-clear-top .editor.layout-columns,
.paper[data-document-template="minicard"].body-clear-top .editor.layout-columns,
.paper[data-document-template="ticket"].body-clear-top .editor.layout-columns{
  padding-top:var(--heading-safe-top) !important;
}

/* Ticket reference shape */
.paper[data-document-template="ticket"]{
  position:relative !important;
  border-radius:10px !important;
  overflow:visible !important;
}

/* Main ticket cut-outs:
   centered semicircular notches + small corner bites. */
.paper[data-document-template="ticket"]::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:30;
  background:
    /* large middle notches */
    radial-gradient(circle at 0 50%, var(--workspace-bg,#d5d1cb) 0 20px, transparent 21px),
    radial-gradient(circle at 100% 50%, var(--workspace-bg,#d5d1cb) 0 20px, transparent 21px),

    /* small top/bottom corner bites */
    radial-gradient(circle at 0 0, var(--workspace-bg,#d5d1cb) 0 10px, transparent 11px),
    radial-gradient(circle at 100% 0, var(--workspace-bg,#d5d1cb) 0 10px, transparent 11px),
    radial-gradient(circle at 0 100%, var(--workspace-bg,#d5d1cb) 0 10px, transparent 11px),
    radial-gradient(circle at 100% 100%, var(--workspace-bg,#d5d1cb) 0 10px, transparent 11px);
  border-radius:10px;
}

/* Perforation lines just inside ticket notches */
.paper[data-document-template="ticket"] .editor::before,
.paper[data-document-template="ticket"] .editor::after{
  content:"";
  position:absolute;
  top:8%;
  bottom:8%;
  width:0;
  border-left:2px dashed rgba(124,115,106,.16);
  pointer-events:none;
  z-index:1;
}
.paper[data-document-template="ticket"] .editor::before{
  left:5.4%;
}
.paper[data-document-template="ticket"] .editor::after{
  right:5.4%;
}

/* keep ticket content safely inside the perforation guides */
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  z-index:4 !important;
}

/* Footer separation remains clean */
.paper[data-document-template="ticket"] .footer-rule,
.paper[data-document-template="ticket"] [data-footer-rule]{
  left:var(--rule-left) !important;
  right:var(--rule-right) !important;
}


/* ===== V93 template visual polish ===== */

/* Unified paper finish */
.paper[data-document-template="postcard"],
.paper[data-document-template="card"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="square"],
.paper[data-document-template="ticket"]{
  background:#fbfaf7 !important;
  border:1px solid rgba(110,102,94,.07) !important;
  box-shadow:
    0 18px 38px rgba(57,51,46,.11),
    0 2px 8px rgba(57,51,46,.05) !important;
}

/* Each format keeps a slightly different silhouette */
.paper[data-document-template="postcard"]{
  border-radius:9px !important;
  overflow:hidden !important;
}
.paper[data-document-template="card"]{
  border-radius:12px !important;
  overflow:hidden !important;
}
.paper[data-document-template="widecard"]{
  border-radius:11px !important;
  overflow:hidden !important;
}
.paper[data-document-template="minicard"]{
  border-radius:10px !important;
  overflow:hidden !important;
}
.paper[data-document-template="square"]{
  border-radius:10px !important;
  overflow:hidden !important;
}

/* Softer rules */
.paper[data-document-template="postcard"]::before,
.paper[data-document-template="card"]::before,
.paper[data-document-template="widecard"]::before,
.paper[data-document-template="minicard"]::before,
.paper[data-document-template="square"]::before{
  border-color:rgba(105,98,90,.16) !important;
}

/* Postcard heading: title and subtitle are a true vertical pair */
.paper[data-document-template="postcard"] .title-input,
.paper[data-document-template="postcard"] .subtitle-input{
  left:var(--rule-left) !important;
  right:var(--rule-right) !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.paper[data-document-template="postcard"] .subtitle-input{
  line-height:1.08 !important;
  padding-top:0 !important;
  padding-bottom:5px !important;
}

/* =========================================================
   REAL TICKET SHAPE
   Transparent holes are cut out using CSS mask.
   No workspace/background-color painting is used.
   ========================================================= */

.paper[data-document-template="ticket"]{
  position:relative !important;
  border-radius:9px !important;
  overflow:hidden !important;

  /* Each mask layer is black except for one transparent circular bite.
     Intersecting them preserves every transparent hole. */
  -webkit-mask:
    radial-gradient(circle at 0% 50%, transparent 0 20px, #000 21px),
    radial-gradient(circle at 100% 50%, transparent 0 20px, #000 21px),
    radial-gradient(circle at 0% 0%, transparent 0 7px, #000 8px),
    radial-gradient(circle at 100% 0%, transparent 0 7px, #000 8px),
    radial-gradient(circle at 0% 100%, transparent 0 7px, #000 8px),
    radial-gradient(circle at 100% 100%, transparent 0 7px, #000 8px);
  -webkit-mask-composite: source-in, source-in, source-in, source-in, source-in;

  mask:
    radial-gradient(circle at 0% 50%, transparent 0 20px, #000 21px),
    radial-gradient(circle at 100% 50%, transparent 0 20px, #000 21px),
    radial-gradient(circle at 0% 0%, transparent 0 7px, #000 8px),
    radial-gradient(circle at 100% 0%, transparent 0 7px, #000 8px),
    radial-gradient(circle at 0% 100%, transparent 0 7px, #000 8px),
    radial-gradient(circle at 100% 100%, transparent 0 7px, #000 8px);
  mask-composite:intersect;
}

/* Kill old fake-background notch overlay */
.paper[data-document-template="ticket"]::after{
  content:none !important;
  background:none !important;
}

/* Ticket's heading rule remains clean and unbroken */
.paper[data-document-template="ticket"]::before{
  content:"" !important;
  position:absolute !important;
  left:var(--rule-left) !important;
  right:var(--rule-right) !important;
  top:var(--card-heading-rule-top) !important;
  border-top:1px solid rgba(105,98,90,.17) !important;
  z-index:3 !important;
  pointer-events:none !important;
}

/* Perforation guides: subtle and elegant */
.paper[data-document-template="ticket"] .editor::before,
.paper[data-document-template="ticket"] .editor::after{
  content:"" !important;
  position:absolute !important;
  top:10% !important;
  bottom:10% !important;
  width:0 !important;
  border-left:1px dashed rgba(118,109,101,.16) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.paper[data-document-template="ticket"] .editor::before{
  left:5.2% !important;
}
.paper[data-document-template="ticket"] .editor::after{
  right:5.2% !important;
}

/* Slightly larger inner safe area for ticket content */
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  z-index:4 !important;
}


/* ===== V94 exact reference template redesign ===== */

/* Shared finish */
.paper[data-document-template="card"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="ticket"]{
  background:#fbfaf7 !important;
  border:1px solid rgba(102,94,86,.055) !important;
  box-shadow:0 14px 34px rgba(52,47,43,.10),0 2px 7px rgba(52,47,43,.035) !important;
}

/* Correct silhouettes */
.paper[data-document-template="card"]{
  border-radius:11px !important;
  overflow:hidden !important;
}
.paper[data-document-template="widecard"]{
  border-radius:10px !important;
  overflow:hidden !important;
}
.paper[data-document-template="minicard"]{
  border-radius:10px !important;
  overflow:hidden !important;
}

/* Title + subtitle are on ONE row, like the supplied reference */
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="ticket"] .title-input,
.paper[data-document-template="ticket"] .subtitle-input{
  right:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  border-bottom:0 !important;
  box-sizing:border-box !important;
}
.paper[data-document-template="card"] .title-input,
.paper[data-document-template="widecard"] .title-input,
.paper[data-document-template="minicard"] .title-input,
.paper[data-document-template="ticket"] .title-input{
  line-height:1 !important;
  font-weight:700 !important;
}
.paper[data-document-template="card"] .subtitle-input,
.paper[data-document-template="widecard"] .subtitle-input,
.paper[data-document-template="minicard"] .subtitle-input,
.paper[data-document-template="ticket"] .subtitle-input{
  line-height:1 !important;
  opacity:.62 !important;
}

/* One long rule below the heading row */
.paper[data-document-template="card"]::before,
.paper[data-document-template="widecard"]::before,
.paper[data-document-template="minicard"]::before,
.paper[data-document-template="ticket"]::before{
  content:"" !important;
  position:absolute !important;
  left:var(--rule-left) !important;
  right:var(--rule-right) !important;
  top:var(--reference-heading-rule-top) !important;
  border-top:1px solid rgba(99,92,84,.20) !important;
  z-index:3 !important;
  pointer-events:none !important;
}

/* Body is compact and starts close under the heading rule */
.paper[data-document-template="card"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="widecard"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="minicard"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="ticket"].body-clear-top .editor.writing-horizontal,
.paper[data-document-template="card"].body-clear-top .editor.layout-columns,
.paper[data-document-template="widecard"].body-clear-top .editor.layout-columns,
.paper[data-document-template="minicard"].body-clear-top .editor.layout-columns,
.paper[data-document-template="ticket"].body-clear-top .editor.layout-columns{
  padding-top:var(--heading-safe-top) !important;
  padding-left:var(--body-frame-left) !important;
  padding-right:var(--body-frame-right) !important;
}

/* TRUE TRANSPARENT ticket shape. SVG mask creates actual holes. */
.paper[data-document-template="ticket"]{
  position:relative !important;
  border-radius:0 !important;
  overflow:hidden !important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201000%20500'%3E%0A%3Cpath%20fill%3D'black'%20fill-rule%3D'evenodd'%20d%3D'%0AM18%200%20H982%0AQ1000%200%201000%2018%20V210%0AA40%2040%200%200%200%201000%20290%20V482%0AQ1000%20500%20982%20500%20H18%0AQ0%20500%200%20482%20V290%0AA40%2040%200%200%200%200%20210%20V18%0AQ0%200%2018%200%20Z%0AM0%200%20A15%2015%200%200%201%2015%2015%20A15%2015%200%200%201%200%2030%20Z%0AM1000%200%20A15%2015%200%200%200%20985%2015%20A15%2015%200%200%200%201000%2030%20Z%0AM0%20500%20A15%2015%200%200%200%2015%20485%20A15%2015%200%200%200%200%20470%20Z%0AM1000%20500%20A15%2015%200%200%201%20985%20485%20A15%2015%200%200%201%201000%20470%20Z%0A'%2F%3E%3C%2Fsvg%3E") !important;
  -webkit-mask-size:100% 100% !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201000%20500'%3E%0A%3Cpath%20fill%3D'black'%20fill-rule%3D'evenodd'%20d%3D'%0AM18%200%20H982%0AQ1000%200%201000%2018%20V210%0AA40%2040%200%200%200%201000%20290%20V482%0AQ1000%20500%20982%20500%20H18%0AQ0%20500%200%20482%20V290%0AA40%2040%200%200%200%200%20210%20V18%0AQ0%200%2018%200%20Z%0AM0%200%20A15%2015%200%200%201%2015%2015%20A15%2015%200%200%201%200%2030%20Z%0AM1000%200%20A15%2015%200%200%200%20985%2015%20A15%2015%200%200%200%201000%2030%20Z%0AM0%20500%20A15%2015%200%200%200%2015%20485%20A15%2015%200%200%200%200%20470%20Z%0AM1000%20500%20A15%2015%200%200%201%20985%20485%20A15%2015%200%200%201%201000%20470%20Z%0A'%2F%3E%3C%2Fsvg%3E") !important;
  mask-size:100% 100% !important;
  mask-repeat:no-repeat !important;
}

/* Kill every old fake notch layer */
.paper[data-document-template="ticket"]::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* Ticket perforation guides */
.paper[data-document-template="ticket"] .editor::before,
.paper[data-document-template="ticket"] .editor::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:7% !important;
  bottom:7% !important;
  width:0 !important;
  border-left:1px dashed rgba(112,104,96,.18) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.paper[data-document-template="ticket"] .editor::before{left:5.0% !important;}
.paper[data-document-template="ticket"] .editor::after{right:5.0% !important;}

/* Page number ALWAYS exact center */
.paper .page-number,
.paper .page-number-preview,
.paper #pageNumberPreview,
.paper [data-page-number],
#pageNumberPreview{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  margin:0 !important;
  width:auto !important;
}


/* ===== V95 postcard heading spacing ===== */
.paper[data-document-template="postcard"] .subtitle-input{
  line-height:1.10 !important;
  padding-top:1px !important;
}


/* ===== V95 refined ticket shape ===== */
.paper[data-document-template="ticket"]{
  position:relative !important;
  overflow:hidden !important;
  border-radius:8px !important;

  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201000%20500'%3E%0A%3Cpath%20fill%3D'white'%20d%3D'%0AM18%200%0AH982%0AQ1000%200%201000%2018%0AV210%0AA40%2040%200%200%200%201000%20290%0AV482%0AQ1000%20500%20982%20500%0AH18%0AQ0%20500%200%20482%0AV290%0AA40%2040%200%200%200%200%20210%0AV18%0AQ0%200%2018%200%0AZ'%2F%3E%0A%3C%2Fsvg%3E") !important;
  -webkit-mask-size:100% 100% !important;
  -webkit-mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;

  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%201000%20500'%3E%0A%3Cpath%20fill%3D'white'%20d%3D'%0AM18%200%0AH982%0AQ1000%200%201000%2018%0AV210%0AA40%2040%200%200%200%201000%20290%0AV482%0AQ1000%20500%20982%20500%0AH18%0AQ0%20500%200%20482%0AV290%0AA40%2040%200%200%200%200%20210%0AV18%0AQ0%200%2018%200%0AZ'%2F%3E%0A%3C%2Fsvg%3E") !important;
  mask-size:100% 100% !important;
  mask-repeat:no-repeat !important;
  mask-position:center !important;
}

/* Remove all older fake/corner overlays */
.paper[data-document-template="ticket"]::after{
  content:none !important;
  display:none !important;
}

/* Clean perforation guides */
.paper[data-document-template="ticket"] .editor::before,
.paper[data-document-template="ticket"] .editor::after{
  content:"" !important;
  position:absolute !important;
  top:10% !important;
  bottom:10% !important;
  width:0 !important;
  border-left:1px dashed rgba(115,107,99,.15) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.paper[data-document-template="ticket"] .editor::before{left:5.8% !important;}
.paper[data-document-template="ticket"] .editor::after{right:5.8% !important;}

/* Keep all content inside the perforation zone */
.paper[data-document-template="ticket"]{
  --rule-left:8% !important;
  --rule-right:8% !important;
  --body-frame-left:9% !important;
  --body-frame-right:9% !important;
}


/* ===== V95 template polish ===== */
.paper[data-document-template="postcard"],
.paper[data-document-template="card"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="square"]{
  background:#fbfaf7 !important;
  border:1px solid rgba(95,87,80,.045) !important;
  box-shadow:0 14px 30px rgba(52,47,43,.09),0 2px 6px rgba(52,47,43,.035) !important;
}

.paper[data-document-template="postcard"]{border-radius:10px !important}
.paper[data-document-template="card"]{border-radius:12px !important}
.paper[data-document-template="widecard"]{border-radius:11px !important}
.paper[data-document-template="minicard"]{border-radius:11px !important}
.paper[data-document-template="square"]{border-radius:10px !important}

/* fixed-base templates should visually feel landscape/default */
.paper[data-document-template="postcard"],
.paper[data-document-template="card"],
.paper[data-document-template="widecard"],
.paper[data-document-template="minicard"],
.paper[data-document-template="square"]{
  overflow:hidden !important;
}


/* ===== V99 unified preview/export rendering ===== */

/* Old builds hard-coded every export to A4 (794x1123) and changed padding/font-size.
   Export dimensions are now set inline from layoutExportSpec(). */
.export-host{
  position:fixed !important;
  left:-30000px !important;
  top:0 !important;
  width:auto !important;
  height:auto !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.export-host .paper.render-clone,
.export-host .paper.export-render-clone{
  padding:0 !important;
  overflow:hidden !important;
  flex:none !important;
}

/* Never override the document's calculated editor layout during export. */
.export-host .paper.render-clone .editor,
.export-host .paper.export-render-clone .editor{
  font-size:inherit !important;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
}

/* Old export-title / export-subtitle rules are no longer used.
   Keep them inert in case an older DOM snapshot survives. */
.export-host .export-title,
.export-host .export-subtitle{
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* Read-only input clones must render exactly like live title inputs. */
.render-clone .title-input,
.render-clone .subtitle-input{
  appearance:none !important;
  -webkit-appearance:none !important;
  background:transparent !important;
  outline:0 !important;
  box-sizing:border-box !important;
}

/* Preview and export use the actual template geometry. */
#previewHost .paper.render-clone,
.export-host .paper.render-clone{
  box-sizing:border-box !important;
}

/* Footer: page number independent from source, always center. */
.render-clone .paper-footer{
  position:absolute !important;
}
.render-clone .paper-footer > span:not(.paper-source-credit){
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.render-clone .paper-source-credit{
  position:absolute !important;
  right:0 !important;
  left:auto !important;
  transform:none !important;
  text-align:right !important;
  white-space:nowrap !important;
}


/* ===== V100 preview = export geometry ===== */

/* Export host is only an offscreen mounting surface.
   It must never resize the document or change typography/layout. */
.export-host{
  position:fixed !important;
  left:-30000px !important;
  top:0 !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}

.export-host .paper.render-clone{
  flex:none !important;
  padding:0 !important;
  margin:0 !important;
  transform:none !important;
  max-width:none !important;
  max-height:none !important;
  overflow:hidden !important;
}

/* No export-only title or subtitle geometry. */
.export-host .title-input,
.export-host .subtitle-input{
  box-sizing:border-box !important;
}

/* Do not apply historical export font-size/padding overrides. */
.export-host .editor{
  min-height:0 !important;
  overflow:hidden !important;
}

/* Saving should visually match preview exactly. */
#previewHost .paper.render-clone,
.export-host .paper.render-clone{
  transform-origin:center center !important;
}


/* ===== V101 export title clipping repair ===== */

/* html2canvas can clip native input glyphs.
   Export text layers preserve the final preview box but allow overflow. */
.export-host .export-text-layer{
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-text-fill-color:currentColor !important;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}

/* Prevent any historical title-input fixed heights from clipping converted layers. */
.export-host .title-input.export-text-layer,
.export-host .subtitle-input.export-text-layer{
  max-height:none !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
}

/* Keep export paper clipping at document edge only, not at title text box. */
.export-host .paper.render-clone{
  overflow:hidden !important;
}
/* V132: page flow controls and exact live-paper preview */
.editor *:not(.text-highlight[data-highlight="1"]){
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
}
.capacity-probe-paper{z-index:-99999!important;contain:none!important}
html:has(#pageAutoBalance:checked) .paper.layout-enabled.body-clear-top .editor.writing-horizontal,
html:has(#pageAutoBalance:checked) .paper.layout-enabled.body-clear-top .editor.layout-columns{
  padding-bottom:18px!important;
}
.paper.layout-enabled[data-column-count="1"] .editor,
.paper.layout-enabled .editor.writing-horizontal:not(.layout-columns){
  column-count:auto!important;
  column-width:auto!important;
  columns:auto!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.page-delete-btn{
  height:30px;padding:0 13px;border:1px solid #e6bdb9;border-radius:8px;
  background:#fff9f8;color:#a45f5f;font-size:9px;font-weight:700;line-height:1;cursor:pointer;
}
.page-flow-settings{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 0;border-top:1px solid var(--line);
}
.page-flow-setting-copy{display:grid;gap:4px;min-width:0}
.page-flow-setting-copy strong{font-size:11px;color:#4d4943}
.page-flow-setting-copy small{font-size:9px;line-height:1.5;color:#8e8880}
.switch-control{position:relative;flex:0 0 auto;width:38px;height:22px}
.switch-control input{position:absolute;opacity:0;pointer-events:none}
.switch-control span{display:block;width:100%;height:100%;border-radius:999px;background:#d6d0c8;transition:.18s}
.switch-control span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002;transition:.18s}
.switch-control input:checked+span{background:#8b7761}
.switch-control input:checked+span::after{transform:translateX(16px)}
.char-flow-choice{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;color:#635d56}
.char-flow-choice input{accent-color:#8b7761}
#previewHost .paper.exact-live-clone,
.modal-stage #previewHost .paper.exact-live-clone{
  min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;overflow:hidden!important;
}
#previewHost .paper.exact-live-clone .editor,
.modal-stage #previewHost .paper.exact-live-clone .editor{
  min-height:0!important;overflow:hidden!important;font-size:inherit;
}

/* v141 — 참고 편집기처럼 왼쪽 입력 + 중앙 실시간 문서 */
.app{grid-template-columns:minmax(330px,390px) minmax(430px,1fr) 340px!important}
.live-editor-panel{padding:0!important;background:#f7f5f1;overflow:hidden}
.live-editor-panel .brand{flex:0 0 58px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.inline-text-editor{width:100%!important;height:calc(100vh - 58px)!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#f7f5f1}
.inline-text-editor .text-editor-head{min-height:72px;padding:12px 14px}
.inline-text-editor .text-editor-head h2{font-size:16px}
.inline-text-editor .text-editor-head .top-btn{white-space:nowrap;padding:8px 10px}
.inline-text-editor .text-editor-toolbar{padding:7px 10px;overflow-x:auto}
.inline-text-editor .text-editor-toolbar button{min-width:30px;padding:0 7px}
.inline-text-editor .text-editor-body{padding:12px;overflow:hidden}
.inline-text-editor .text-editor-surface{padding:22px 20px;border-radius:8px;box-shadow:none;white-space:pre-wrap;overflow-wrap:anywhere}
.inline-text-editor .text-editor-foot{padding:0 12px;gap:10px}
.inline-text-editor .text-editor-foot span:last-child{text-align:right}
.top-left-meta{display:flex!important;align-items:center!important;gap:8px!important}
.top-slot-wrap{position:relative}
.top-slots-btn{font-weight:800;color:#4d4842}
.top-slots-menu{position:absolute;z-index:180;top:40px;left:0;width:300px;max-height:calc(100vh - 88px);padding:10px;border:1px solid var(--line);border-radius:11px;background:#fbfaf8;box-shadow:0 16px 44px rgba(38,32,27,.18);overflow:auto}
.top-slots-menu[hidden]{display:none!important}
.top-slots-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 9px;font-size:11px}
.top-slots-head .add-slot{margin:0;padding:8px 10px}
.top-slots-menu .slot-list{max-height:52vh;padding-right:2px}
.top-slots-menu .sidebar-bottom{grid-template-columns:1fr 1fr;margin-top:10px}
.workspace{padding:14px!important}
.paper{width:min(calc((100vh - 118px)*.707),calc(100vw - 390px - 340px - 42px))!important;height:min(calc(100vh - 118px),calc((100vw - 390px - 340px - 42px)*1.4142))!important;min-width:340px!important;min-height:481px!important}
.editor-readonly{cursor:text}
@media(max-width:1250px){
  .app{grid-template-columns:330px minmax(380px,1fr) 300px!important}
  .paper{width:min(calc((100vh - 118px)*.707),calc(100vw - 330px - 300px - 34px))!important;height:min(calc(100vh - 118px),calc((100vw - 330px - 300px - 34px)*1.4142))!important}
}
@media(max-width:980px){
  body{overflow:auto}
  .app{height:auto;min-height:100vh;grid-template-columns:minmax(300px,42vw) minmax(390px,1fr)!important}
  .right-panel{display:none}
  .paper{width:min(calc((100vh - 118px)*.707),calc(58vw - 34px))!important;height:min(calc(100vh - 118px),calc((58vw - 34px)*1.4142))!important}
}

/* v143 — 작업 문서 + 오른쪽 통합 편집 패널 */
.app{
  grid-template-columns:minmax(500px,1fr) minmax(440px,500px)!important;
  background:#e8e4dd!important;
}
.sidebar{display:none!important}
.main{
  grid-column:1!important;grid-row:1!important;
  min-width:0;background:#e8e4dd!important;
}
.right-panel{
  display:block!important;grid-column:2!important;grid-row:1!important;
  width:auto!important;height:100vh!important;
  padding:0 20px 36px!important;
  border-right:0!important;border-left:1px solid #e1dcd4!important;
  background:#faf9f6!important;
}
.settings-brand{height:62px!important;margin:0 -20px!important;padding:0 22px!important}
.panel-head{display:flex;align-items:end;justify-content:space-between;padding:18px 2px 10px!important}
.panel-head::after{content:"문서와 설정을 한곳에서 편집합니다";padding-bottom:2px;font-size:9px;color:#a29a91}
.tabs{
  top:62px!important;margin:0 -2px!important;padding:8px 2px 13px!important;
  grid-template-columns:repeat(4,1fr)!important;
}
.panel-body[data-panel="text"].active{display:flex!important;flex-direction:column;gap:0}
.panel-body[data-panel="text"]>.inline-text-editor{order:-1}
.inline-text-editor{
  width:100%!important;height:clamp(400px,55vh,620px)!important;
  margin:0 0 14px!important;
  border:1px solid #e2ddd5!important;border-radius:12px!important;
  background:#f5f2ed!important;box-shadow:0 8px 24px rgba(54,46,39,.055)!important;
  overflow:hidden!important;
}
.inline-text-editor .text-editor-head{
  min-height:74px!important;padding:12px 14px!important;background:#fff!important;
}
.inline-text-editor .text-editor-head .eyebrow{font-size:8px;letter-spacing:.14em;color:#a1907e}
.inline-text-editor .text-editor-head h2{font-size:16px!important;margin-top:1px!important}
.inline-text-editor .text-editor-head p{margin-top:3px!important}
.inline-text-editor .text-editor-toolbar{min-height:44px!important;padding:7px 10px!important}
.inline-text-editor .text-editor-toolbar button{min-width:29px!important;height:29px!important;padding:0 7px!important}
.inline-text-editor .text-editor-body{padding:10px!important;background:#f4f1ec!important}
.inline-text-editor .text-editor-surface{
  padding:20px 18px!important;border-radius:8px!important;border-color:#e5e0d8!important;
  box-shadow:none!important;
}
.inline-text-editor .text-editor-foot{height:36px!important;padding:0 11px!important}
.inline-text-editor .text-editor-foot span:last-child{max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel-body[data-panel="text"]>.panel-section{
  margin:0;padding:16px 3px!important;border-top:1px solid #e8e3db;border-bottom:0!important;
}
.panel-body[data-panel="text"]>.panel-section:first-of-type{border-top:0}
.workspace{padding:22px 28px!important;background:#e8e4dd!important}
.paper{
  width:min(calc((100vh - 134px)*.707),calc(100vw - 500px - 78px))!important;
  height:min(calc(100vh - 134px),calc((100vw - 500px - 78px)*1.4142))!important;
  min-width:390px!important;min-height:552px!important;
  border-radius:11px!important;box-shadow:0 20px 56px rgba(57,49,42,.16)!important;
}
.topbar{padding:0 22px!important}
.top-slots-menu{width:320px!important}
@media(max-width:1200px){
  .app{grid-template-columns:minmax(440px,1fr) 430px!important}
  .right-panel{padding-left:16px!important;padding-right:16px!important}
  .settings-brand{margin-left:-16px!important;margin-right:-16px!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 430px - 58px))!important;height:min(calc(100vh - 134px),calc((100vw - 430px - 58px)*1.4142))!important;min-width:350px!important;min-height:495px!important}
}
@media(max-width:860px){
  body{overflow:auto!important}
  .app{grid-template-columns:minmax(420px,1fr) 390px!important;min-width:810px}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 390px - 48px))!important;height:min(calc(100vh - 134px),calc((100vw - 390px - 48px)*1.4142))!important;min-width:330px!important;min-height:467px!important}
}

/* v144 — 통합 패널의 min-content 폭주와 작업 화면 축소 긴급 수정 */
html,body{width:100%;max-width:100vw;overflow:hidden!important}
.app{
  width:100vw!important;max-width:100vw!important;
  grid-template-columns:minmax(0,1fr) 470px!important;
  overflow:hidden!important;
}
.main{
  width:auto!important;min-width:0!important;max-width:none!important;
  overflow:hidden!important;
}
.right-panel{
  width:470px!important;min-width:0!important;max-width:470px!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  contain:inline-size;
}
.right-panel *{min-width:0}
.panel-body,.panel-section,.inline-text-editor,.text-editor-head,.text-editor-toolbar,.text-editor-body,.text-editor-surface{max-width:100%!important}
.inline-text-editor{
  height:clamp(330px,42vh,450px)!important;
  min-height:330px!important;max-height:450px!important;
}
.inline-text-editor .text-editor-body{min-height:0!important}
.inline-text-editor .text-editor-surface{min-width:0!important;width:100%!important;overflow-x:hidden!important}
.inline-text-editor .text-editor-toolbar{flex-wrap:wrap!important;height:auto!important}
.inline-text-editor .text-editor-foot span:last-child{display:none!important}
.topbar{min-width:0!important;gap:12px!important}
.top-left-meta{flex:1 1 auto!important;overflow:hidden!important;white-space:nowrap!important}
.top-actions{flex:0 0 auto!important}
.page-nav{min-width:0!important;flex-wrap:nowrap!important}
.workspace{min-width:0!important;overflow:hidden!important}
.paper{
  width:min(calc((100vh - 134px)*.707),calc(100vw - 470px - 76px))!important;
  height:min(calc(100vh - 134px),calc((100vw - 470px - 76px)*1.4142))!important;
  min-width:380px!important;min-height:537px!important;
}
@media(max-width:1200px){
  .app{grid-template-columns:minmax(0,1fr) 420px!important}
  .right-panel{width:420px!important;max-width:420px!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 420px - 56px))!important;height:min(calc(100vh - 134px),calc((100vw - 420px - 56px)*1.4142))!important;min-width:340px!important;min-height:481px!important}
}
@media(max-width:820px){
  .app{min-width:760px!important;grid-template-columns:minmax(380px,1fr) 380px!important}
  .right-panel{width:380px!important;max-width:380px!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 380px - 42px))!important;height:min(calc(100vh - 134px),calc((100vw - 380px - 42px)*1.4142))!important;min-width:320px!important;min-height:453px!important}
}

/* v142 — 설정 / 작업 문서 / 본문 편집 순서와 전체 시각 정돈 */
.app{
  grid-template-columns:340px minmax(430px,1fr) minmax(350px,390px)!important;
  background:#e7e3dc;
}
.right-panel{
  grid-column:1;grid-row:1;
  border-left:0!important;border-right:1px solid #e4dfd7;
  padding:0 18px 30px!important;
  background:#faf9f6;
  scrollbar-width:thin;
}
.main{grid-column:2;grid-row:1;background:#e7e3dc}
.live-editor-panel{
  grid-column:3;grid-row:1;
  border-right:0!important;border-left:1px solid #e4dfd7;
  background:#f8f6f2!important;
}
.settings-brand{
  position:sticky;top:0;z-index:30;
  height:64px;margin:0 -18px 0;padding:0 20px!important;
  border-bottom:1px solid #e7e2da;background:rgba(255,255,255,.96)!important;
}
.settings-brand .brand-mark{border:0;background:#f1ede6;color:#806d59}
.panel-head{padding:20px 2px 12px!important}
.panel-head h2{font-size:18px!important;letter-spacing:-.02em}
.panel-kicker{color:#a19180!important}
.tabs{
  top:64px!important;grid-template-columns:repeat(4,1fr)!important;
  gap:4px!important;margin:0 -2px;padding:8px 2px 12px!important;
  background:rgba(250,249,246,.97)!important;
}
.tab{padding:9px 3px!important;border-color:#e6e1d9!important;border-radius:8px!important;background:#fff!important}
.tab.active{background:#322e2a!important;border-color:#322e2a!important;color:#fff!important;box-shadow:0 4px 12px rgba(48,42,36,.12)}
.panel-section{padding:15px 2px!important}
.panel-section h3{margin-bottom:11px!important;font-size:12px!important}
.field{margin:8px 0!important}
.field select,.field input[type=number],.button-grid button,.wide-btn,.color-grid label{
  border-color:#e5e0d8!important;border-radius:8px!important;box-shadow:none!important;
}
.inline-text-editor{height:100vh!important;background:#f8f6f2!important}
.inline-text-editor .text-editor-head{
  min-height:88px!important;padding:16px 16px 14px!important;
  background:#fff!important;border-bottom:1px solid #e5e0d8!important;
}
.inline-text-editor .text-editor-head h2{font-size:18px!important;letter-spacing:-.025em}
.inline-text-editor .text-editor-head p{font-size:10px!important}
.inline-text-editor .text-editor-head .primary{
  border-radius:9px!important;background:#806d59!important;border-color:#806d59!important;
  box-shadow:0 5px 14px rgba(96,79,62,.15);
}
.inline-text-editor .text-editor-toolbar{
  min-height:48px!important;padding:8px 12px!important;gap:5px!important;background:#faf9f6!important;
}
.inline-text-editor .text-editor-toolbar button{
  height:30px!important;border-color:#e5e0d8!important;border-radius:7px!important;background:#fff!important;
}
.inline-text-editor .text-editor-body{padding:14px!important;background:#f3f0ea!important}
.inline-text-editor .text-editor-surface{
  padding:24px 22px!important;border:1px solid #e2ddd5!important;border-radius:10px!important;
  background:#fff!important;box-shadow:0 8px 24px rgba(56,48,40,.055)!important;
}
.inline-text-editor .text-editor-foot{height:42px!important;background:#fff!important;border-color:#e5e0d8!important;color:#8d857c!important}
.topbar{
  height:64px!important;flex-basis:64px!important;padding:0 16px!important;
  border-color:#e3ded6!important;background:rgba(255,255,255,.94)!important;
}
.top-left-meta{min-width:0;gap:7px!important}
.page-nav{gap:5px!important}
.page-nav-btn,.add-page-strong,.page-delete-btn,.top-btn{border-radius:8px!important}
.top-slots-btn{background:#f5f1eb!important;border-color:#ddd5cb!important;color:#594d41!important}
.workspace{padding:20px!important;background:#e7e3dc!important}
.paper{
  width:min(calc((100vh - 130px)*.707),calc(100vw - 340px - 390px - 54px))!important;
  height:min(calc(100vh - 130px),calc((100vw - 340px - 390px - 54px)*1.4142))!important;
  min-width:340px!important;min-height:481px!important;
  border-color:rgba(205,198,188,.72)!important;border-radius:10px!important;
  box-shadow:0 18px 48px rgba(59,51,43,.16)!important;
}
.statusbar{background:rgba(255,255,255,.86)!important;border-color:#dfd9d0!important}
.top-slots-menu{left:0!important;border-color:#ddd6cd!important;background:#fff!important}
@media(max-width:1280px){
  .app{grid-template-columns:300px minmax(390px,1fr) 330px!important}
  .paper{width:min(calc((100vh - 130px)*.707),calc(100vw - 300px - 330px - 44px))!important;height:min(calc(100vh - 130px),calc((100vw - 300px - 330px - 44px)*1.4142))!important}
  .page-delete-btn{font-size:0!important;width:30px!important;padding:0!important}
  .page-delete-btn::before{content:"−";font-size:16px}
}
@media(max-width:980px){
  .app{grid-template-columns:minmax(390px,1fr) minmax(320px,40vw)!important}
  .right-panel{display:none!important}
  .main{grid-column:1!important}
  .live-editor-panel{grid-column:2!important}
  .paper{width:min(calc((100vh - 130px)*.707),calc(60vw - 38px))!important;height:min(calc(100vh - 130px),calc((60vw - 38px)*1.4142))!important}
}

/* v144 FINAL — 반드시 모든 legacy 레이아웃 규칙 뒤에서 적용 */
html,body{width:100%!important;max-width:100vw!important;overflow:hidden!important}
.app{width:100vw!important;max-width:100vw!important;grid-template-columns:minmax(0,1fr) 470px!important;overflow:hidden!important;background:#e8e4dd!important}
.sidebar{display:none!important}
.main{display:flex!important;grid-column:1!important;grid-row:1!important;width:auto!important;min-width:0!important;max-width:none!important;overflow:hidden!important;background:#e8e4dd!important}
.right-panel{display:block!important;grid-column:2!important;grid-row:1!important;width:470px!important;min-width:0!important;max-width:470px!important;padding:0 20px 36px!important;border-left:1px solid #e1dcd4!important;border-right:0!important;overflow-x:hidden!important;overflow-y:auto!important;background:#faf9f6!important;contain:inline-size}
.right-panel *{min-width:0}
.settings-brand{height:62px!important;margin:0 -20px!important;padding:0 22px!important}
.panel-body,.panel-section,.inline-text-editor,.text-editor-head,.text-editor-toolbar,.text-editor-body,.text-editor-surface{max-width:100%!important}
.panel-body[data-panel="text"].active{display:flex!important;flex-direction:column!important}
.inline-text-editor{width:100%!important;height:clamp(330px,42vh,450px)!important;min-height:330px!important;max-height:450px!important;margin:0 0 14px!important}
.inline-text-editor .text-editor-body{min-height:0!important}
.inline-text-editor .text-editor-surface{width:100%!important;min-width:0!important;overflow-x:hidden!important}
.inline-text-editor .text-editor-toolbar{height:auto!important;flex-wrap:wrap!important}
.inline-text-editor .text-editor-foot span:last-child{display:none!important}
.topbar{min-width:0!important;gap:12px!important;padding:0 22px!important}
.top-left-meta{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;white-space:nowrap!important}
.top-actions{flex:0 0 auto!important}
.page-nav{min-width:0!important;flex-wrap:nowrap!important}
.workspace{min-width:0!important;padding:22px 28px!important;overflow:hidden!important;background:#e8e4dd!important}
.paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 470px - 76px))!important;height:min(calc(100vh - 134px),calc((100vw - 470px - 76px)*1.4142))!important;min-width:380px!important;min-height:537px!important}
@media(max-width:1200px){
  .app{grid-template-columns:minmax(0,1fr) 420px!important}
  .right-panel{display:block!important;grid-column:2!important;width:420px!important;max-width:420px!important;padding-left:16px!important;padding-right:16px!important}
  .main{grid-column:1!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 420px - 56px))!important;height:min(calc(100vh - 134px),calc((100vw - 420px - 56px)*1.4142))!important;min-width:340px!important;min-height:481px!important}
}
@media(max-width:820px){
  .app{min-width:760px!important;grid-template-columns:minmax(380px,1fr) 380px!important}
  .right-panel{display:block!important;grid-column:2!important;width:380px!important;max-width:380px!important}
  .main{grid-column:1!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 380px - 42px))!important;height:min(calc(100vh - 134px),calc((100vw - 380px - 42px)*1.4142))!important;min-width:320px!important;min-height:453px!important}
}

/* v145 FINAL — 글 편집 카드 안으로 모든 본문 서식 통합 */
.panel-body[data-panel="text"].active{display:block!important}
.panel-body[data-panel="text"]>.inline-text-editor{
  height:clamp(600px,74vh,760px)!important;
  min-height:600px!important;max-height:760px!important;
  margin-bottom:18px!important;
}
.inline-text-editor .text-editor-head{min-height:70px!important;padding:11px 14px!important}
.inline-text-editor .text-editor-toolbar{flex:0 0 auto!important;padding:7px 10px!important;border-bottom:1px solid #e7e2da!important}
.text-editor-quick-type{
  flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;
  padding:9px 10px;background:#fff;border-bottom:1px solid #e7e2da;
}
.text-editor-quick-type .field{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:6px!important;margin:0!important;font-size:9px!important}
.text-editor-quick-type .field select,.text-editor-quick-type .field input{
  width:100%!important;height:32px!important;padding:5px 8px!important;border:1px solid #e2ddd5!important;border-radius:7px!important;background:#faf9f6!important;font-size:10px!important;
}
.integrated-type-settings{
  flex:0 0 auto;border-bottom:1px solid #e4dfd7;background:#faf9f6;
}
.integrated-type-settings>summary{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:40px;padding:0 30px 0 12px;cursor:pointer;list-style:none;color:#5d554d;
}
.integrated-type-settings>summary::-webkit-details-marker{display:none}
.integrated-type-settings>summary::after{content:"⌄";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:#8c8176}
.integrated-type-settings[open]>summary::after{content:"⌃"}
.integrated-type-settings>summary span{font-size:10px;font-weight:800}
.integrated-type-settings>summary small{font-size:8px;color:#9c948b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.integrated-type-settings[open]{max-height:300px;overflow:auto;scrollbar-width:thin}
.integrated-type-settings-body{padding:0 12px 12px}
.integrated-type-settings-body .panel-section{padding:12px 1px!important;border-top:1px solid #ebe6df!important;border-bottom:0!important}
.integrated-type-settings-body .panel-section:first-child{border-top:0!important}
.integrated-type-settings-body .panel-section h3{margin:0 0 9px!important;font-size:10px!important}
.integrated-type-settings-body .hint{margin:8px 0 0!important}
.integrated-type-settings-body .button-grid{margin:6px 0!important}
.integrated-type-settings-body .button-grid button{padding:7px 4px!important}
.integrated-type-settings-body .range-field{margin:7px 0!important}
.inline-text-editor .text-editor-body{flex:1 1 auto!important;min-height:260px!important;padding:11px!important}
.inline-text-editor .text-editor-surface{padding:24px 22px!important}
.inline-text-editor .text-editor-foot{flex:0 0 36px!important}
@media(max-height:820px){
  .panel-body[data-panel="text"]>.inline-text-editor{height:650px!important;min-height:650px!important}
  .integrated-type-settings[open]{max-height:240px}
}

/* v146 FINAL — 슬롯 전체 본문 편집 + 넓은 실시간 패널 */
.app{grid-template-columns:minmax(0,1fr) 560px!important}
.right-panel{width:560px!important;max-width:560px!important}
.panel-head{padding-top:14px!important;padding-bottom:8px!important}
.tabs{padding-top:6px!important;padding-bottom:10px!important}
.panel-body[data-panel="text"]>.inline-text-editor{
  height:clamp(680px,80vh,830px)!important;
  min-height:680px!important;max-height:830px!important;
}
.live-sync-status{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  height:30px;padding:0 10px;border:1px solid #d9e5d7;border-radius:999px;
  background:#f3f8f2;color:#61765f;font-size:9px;font-weight:800;
}
.live-sync-status:disabled{opacity:1;cursor:default}
.inline-text-editor .text-editor-head{min-height:66px!important}
.inline-text-editor .text-editor-body{min-height:360px!important;padding:12px!important}
.inline-text-editor .text-editor-surface{padding:26px 24px!important}
.integrated-type-settings-body .panel-section:first-child>.button-grid.four{display:none!important}
#applyFontSectionBtn{display:none!important}
.section-apply-row:has(#applyFontSectionBtn){display:block!important}
.section-apply-row:has(#applyFontSectionBtn) #resetFormatBtn{width:100%!important}
.integrated-type-settings-body .panel-section:nth-child(2)>.button-grid.four{display:none!important}
.integrated-type-settings-body button[data-cmd="insertUnorderedList"]{display:none!important}
.integrated-type-settings-body .panel-section:nth-child(2)>.button-grid.two{grid-template-columns:repeat(3,1fr)!important}
.paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 560px - 76px))!important;height:min(calc(100vh - 134px),calc((100vw - 560px - 76px)*1.4142))!important}
@media(max-width:1300px){
  .app{grid-template-columns:minmax(0,1fr) 500px!important}
  .right-panel{width:500px!important;max-width:500px!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 500px - 58px))!important;height:min(calc(100vh - 134px),calc((100vw - 500px - 58px)*1.4142))!important}
}
@media(max-width:1050px){
  .app{grid-template-columns:minmax(0,1fr) 450px!important}
  .right-panel{width:450px!important;max-width:450px!important}
  .panel-body[data-panel="text"]>.inline-text-editor{height:720px!important;min-height:680px!important}
  .paper{width:min(calc((100vh - 134px)*.707),calc(100vw - 450px - 48px))!important;height:min(calc(100vh - 134px),calc((100vw - 450px - 48px)*1.4142))!important;min-width:330px!important;min-height:467px!important}
}

/* v147 FINAL — 붙여넣은 구조 서식을 전체 본문 편집창에서도 시각화 */
.text-editor-surface h1,.text-editor-surface h2,.text-editor-surface h3{
  font-family:inherit;color:inherit;line-height:1.35;font-weight:700;
}
.text-editor-surface h1{font-size:1.9em;margin:1.1em 0 .55em!important}
.text-editor-surface h2{font-size:1.55em;margin:1em 0 .5em!important}
.text-editor-surface h3{font-size:1.25em;margin:.9em 0 .45em!important}
.text-editor-surface blockquote,
.text-editor-surface [data-node-type="blockquote"],
.text-editor-surface [data-type="blockquote"]{
  display:block;margin:1.05em 0!important;padding:.7em 1em!important;
  border:0!important;border-left:3px solid #b9aa98!important;
  color:#6f675f!important;background:transparent!important;
}
.text-editor-surface blockquote>p:first-child{margin-top:0!important}
.text-editor-surface blockquote>p:last-child{margin-bottom:0!important}
.text-editor-surface ul,.text-editor-surface ol{margin:.75em 0!important;padding-left:1.7em!important}
.text-editor-surface li{margin:.2em 0!important;padding-left:.15em}
.text-editor-surface hr{height:1px;margin:1.5em 0;border:0;border-top:1px solid #d7d0c7;background:transparent!important}
.text-editor-surface a{color:#755f4c;text-decoration:underline;text-underline-offset:2px}
.text-editor-surface pre{
  margin:1em 0;padding:12px 14px;border:1px solid #ded8d0;border-radius:7px;
  color:#554f49;background:transparent!important;white-space:pre-wrap;
}
.text-editor-surface code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}
.text-editor-surface strong,.text-editor-surface b{font-weight:700}
.text-editor-surface em,.text-editor-surface i{font-style:italic}
.text-editor-surface u{text-underline-offset:2px}
.text-editor-surface span.text-highlight[data-highlight="1"]{background:var(--highlight-color,#fff2a8)!important}

/* v148 FINAL — 작업 문서 구조 요소는 내용 높이만 사용 */
.paper .editor p,
.paper .editor blockquote,
.paper .editor li,
.paper .editor h1,.paper .editor h2,.paper .editor h3,
.paper .editor h4,.paper .editor h5,.paper .editor h6,
.paper .editor ul,.paper .editor ol{
  height:auto!important;min-height:0!important;max-height:none!important;
}
.paper .editor blockquote,
.paper .editor [data-node-type="blockquote"],
.paper .editor [data-type="blockquote"]{
  display:block!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:1.05em 0!important;padding:.7em 1em!important;
  border:0!important;border-left:3px solid #b9aa98!important;
  color:#6f675f!important;background:transparent!important;
}
.paper .editor blockquote>p:first-child{margin-top:0!important}
.paper .editor blockquote>p:last-child{margin-bottom:0!important}
.paper .editor blockquote br:last-child{display:none!important}

/* v149 FINAL — canonical A4 geometry, fixed workspace, polished inspector */
:root{--work:#e8e4dd!important;--panel:#fbfaf7;--line:#e4ded6}
body,.app,.main,.workspace{background-color:#e8e4dd!important}
.workspace{background-image:none!important}

/* A4 uses one coordinate system: paper edge -> shared content frame -> footer. */
.paper.layout-enabled[data-document-template="a4"]{
  position:relative!important;padding:0!important;overflow:hidden!important;
  box-sizing:border-box!important;
}
.paper.layout-enabled[data-document-template="a4"] .title-input,
.paper.layout-enabled[data-document-template="a4"] .subtitle-input{
  left:var(--rule-left)!important;right:var(--rule-right)!important;width:auto!important;
  box-sizing:border-box!important;
}
.paper.layout-enabled[data-document-template="a4"] .editor{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-height:0!important;max-height:none!important;margin:0!important;box-sizing:border-box!important;
  padding-left:var(--body-frame-left)!important;padding-right:var(--body-frame-right)!important;
  padding-bottom:calc(var(--page-margin-bottom) + 34px)!important;
  overflow:hidden!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.layout-columns{
  padding-top:max(var(--heading-safe-top),var(--page-margin-top))!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-center .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-center .editor.layout-columns{
  padding-top:var(--heading-safe-center)!important;
  padding-bottom:calc(var(--page-margin-bottom) + 34px)!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-bottom .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-bottom .editor.layout-columns{
  padding-top:var(--page-margin-top)!important;
  padding-bottom:max(var(--heading-safe-bottom),calc(var(--page-margin-bottom) + 34px))!important;
}
.paper.layout-enabled[data-document-template="a4"].layout-no-heading .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].layout-no-heading .editor.layout-columns{
  padding-top:var(--page-margin-top)!important;
  padding-bottom:calc(var(--page-margin-bottom) + 34px)!important;
}
.paper.layout-enabled[data-document-template="a4"] .paper-footer{
  position:absolute!important;z-index:6!important;
  left:var(--rule-left)!important;right:var(--rule-right)!important;bottom:var(--footer-margin)!important;
  width:auto!important;height:28px!important;min-height:28px!important;margin:0!important;padding:0!important;
  background:transparent!important;
}

/* Inspector follows the one-card editorial system from the redesign. */
.right-panel{background:#fbfaf7!important;padding:0 18px 32px!important}
.settings-brand{margin:0 -18px!important;height:58px!important;padding:0 20px!important}
.panel-head{padding:13px 2px 8px!important}
.panel-head h2{font-size:17px!important}
.panel-head::after{font-size:8px!important;color:#a0988e!important}
.tabs{top:58px!important;gap:5px!important;padding:6px 0 10px!important;background:#fbfaf7!important}
.tab{height:34px!important;padding:0 5px!important;border-radius:9px!important}
.tab.active{box-shadow:none!important}
.panel-body>.panel-section,
.integrated-type-settings-body>.panel-section{
  border-color:#e9e4dd!important;
}
.panel-body[data-panel="document"]>.panel-section,
.panel-body[data-panel="background"]>.panel-section,
.panel-body[data-panel="symbol"]>.panel-section{
  margin:0 0 10px!important;padding:14px!important;border:1px solid #e5dfd7!important;
  border-radius:11px!important;background:#fff!important;
}
.background-scope-notice{
  display:grid;gap:10px;margin:0 0 10px;padding:13px 14px;border:1px solid #e1d9cf;
  border-radius:11px;background:#f4efe7;color:#5f564d;
}
.background-scope-notice>div:first-child{display:grid;gap:3px}
.background-scope-notice strong{font-size:11px}
.background-scope-notice span{font-size:8px;color:#8f867d;line-height:1.45}
.workspace-lock-chip{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;background:#e8e4dd}
.workspace-lock-chip b{font-size:9px;color:#645b52}
.panel-body[data-panel="text"]>.inline-text-editor{border-radius:12px!important;box-shadow:none!important}
.text-editor-quick-type{background:#fff!important}
.integrated-type-settings{background:#faf8f4!important}
.topbar{background:rgba(255,255,255,.96)!important;border-color:#ddd7cf!important}
.paper{box-shadow:0 18px 46px rgba(57,49,42,.15)!important}

/* v150 FINAL — real footer boundary + font/body/paragraph editor hierarchy */
.paper.layout-enabled[data-document-template="a4"] .editor{
  top:0!important;right:0!important;left:0!important;
  bottom:calc(var(--page-margin-bottom) + 34px)!important;
  height:auto!important;min-height:0!important;
  padding-bottom:0!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-center .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-center .editor.layout-columns{
  padding-bottom:0!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-bottom .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-bottom .editor.layout-columns{
  padding-bottom:var(--heading-safe-bottom)!important;
}
.paper.layout-enabled[data-document-template="a4"].layout-no-heading .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].layout-no-heading .editor.layout-columns{
  padding-bottom:0!important;
}

.font-edit-suite{
  flex:0 0 auto;border-bottom:1px solid #e2ddd5;background:#fff;
}
.font-edit-suite>header{
  min-height:38px;padding:9px 12px 7px;border-bottom:1px solid #eee9e2;
  display:flex;align-items:center;justify-content:space-between;
}
.font-edit-suite>header>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.font-edit-suite>header strong{font-size:11px;color:#4e4842}
.font-edit-suite>header small{font-size:8px;color:#9a9289;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.font-edit-suite-body{padding:0 10px 10px}
.font-edit-suite .text-editor-quick-type{margin:0 -10px;padding:8px 10px!important;border-bottom:1px solid #eee9e2}
.font-command-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:9px 0 7px}
.font-command-row button,.paragraph-command-row button{
  height:30px;border:1px solid #e3ddd5;border-radius:7px;background:#fff;color:#59534d;font-size:10px;
}
.font-command-row button:hover,.paragraph-command-row button:hover{background:#f4f0ea}
.font-controls-section,.custom-font-controls-section{
  margin:0!important;padding:8px 0!important;border:0!important;border-top:1px solid #eee9e2!important;background:transparent!important;
}
.font-controls-section>h3{display:none!important}
.font-controls-section>.button-grid.four{display:none!important}
.font-controls-section .color-grid{margin:0 0 6px!important}
.font-controls-section .button-grid.two{margin:6px 0!important}
.font-controls-section .section-apply-row{margin-top:6px!important}
.font-controls-section .hint{display:none!important}
.custom-font-controls-section{display:grid!important;grid-template-columns:86px 1fr;align-items:start;gap:8px}
.custom-font-controls-section>h3{margin:8px 0 0!important;font-size:9px!important;color:#777067}
.custom-font-controls-section .upload{margin:0!important;padding:8px!important}
.custom-font-controls-section .asset-list{grid-column:2;margin-top:4px!important}

.inline-text-editor .text-editor-body{flex:1 1 auto!important;min-height:300px!important;padding:12px!important}
.paragraph-settings{flex:0 0 auto;border-top:1px solid #e2ddd5;background:#faf8f4}
.paragraph-settings>summary{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:42px;padding:0 32px 0 12px;cursor:pointer;list-style:none;
}
.paragraph-settings>summary::-webkit-details-marker{display:none}
.paragraph-settings>summary::after{content:"⌄";position:absolute;right:13px;color:#857c73}
.paragraph-settings[open]>summary::after{content:"⌃"}
.paragraph-settings>summary span{font-size:10px;font-weight:800;color:#514b45}
.paragraph-settings>summary small{font-size:8px;color:#9b938a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paragraph-settings[open]{max-height:300px;overflow:auto;scrollbar-width:thin}
.paragraph-settings-body{padding:0 11px 12px}
.paragraph-command-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 0}
.paragraph-settings-body .panel-section{margin:0!important;padding:11px 0!important;border:0!important;border-top:1px solid #ebe6df!important;background:transparent!important}
.paragraph-settings-body .panel-section h3{margin:0 0 9px!important;font-size:10px!important}
.paragraph-controls-section>.button-grid.four{display:none!important}
.paragraph-controls-section button[data-cmd="insertUnorderedList"]{display:none!important}
.paragraph-controls-section>.button-grid.two{grid-template-columns:repeat(3,1fr)!important}
.spacing-controls-section .range-field{margin:7px 0!important}
.quick-controls-section .button-grid{margin:0!important}

/* Old catch-all group is no longer part of the active UI. */
.integrated-type-settings{display:none!important}
@media(max-height:850px){
  .panel-body[data-panel="text"]>.inline-text-editor{height:calc(100vh - 142px)!important;min-height:660px!important}
  .font-edit-suite-body{padding-bottom:7px}
  .font-controls-section,.custom-font-controls-section{padding-top:6px!important;padding-bottom:6px!important}
}

/* v151 FINAL — quote tools and a matching body/footer safety frame */
.quote-controls-section{padding:10px 0!important;border-top:1px solid #ebe6df}
.quote-controls-section h3{margin:0 0 8px!important;font-size:10px!important;color:#514b45}
.quote-command-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.quote-command-row button{
  height:31px;border:1px solid #ddd6cd;border-radius:7px;background:#fff;color:#5c554e;
  font-size:9px;font-weight:700;cursor:pointer;
}
.quote-command-row button:hover{border-color:#a99784;background:#f5f0ea}

.text-editor-surface blockquote[data-quote-style],
.paper .editor blockquote[data-quote-style]{
  position:relative!important;display:block!important;height:auto!important;min-height:0!important;
  color:inherit!important;box-sizing:border-box!important;
}
.text-editor-surface blockquote[data-quote-style="bar"],
.paper .editor blockquote[data-quote-style="bar"]{
  margin:1.05em 0!important;padding:.55em 1em!important;border:0!important;
  border-left:3px solid #a99580!important;border-radius:0!important;background:transparent!important;
}
.text-editor-surface blockquote[data-quote-style="box"],
.paper .editor blockquote[data-quote-style="box"]{
  margin:1.05em 0!important;padding:.9em 1.05em!important;border:1px solid #d8cec2!important;
  border-radius:8px!important;background:rgba(245,240,233,.62)!important;
}
.text-editor-surface blockquote[data-quote-style="marks"],
.paper .editor blockquote[data-quote-style="marks"]{
  margin:1.2em 0!important;padding:.95em 1.4em .75em!important;border:0!important;
  text-align:center!important;background:transparent!important;
}
.text-editor-surface blockquote[data-quote-style="marks"]::before,
.paper .editor blockquote[data-quote-style="marks"]::before{
  content:"“";display:block;height:.55em;margin:0 0 .2em;color:#ae9983;
  font-family:Georgia,serif;font-size:2.5em;font-weight:700;line-height:.65;
}

/* The first text baseline and the final usable baseline keep the same visual inset. */
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.layout-columns{
  padding-top:calc(var(--heading-safe-top) + 10px)!important;
}
.paper.layout-enabled[data-document-template="a4"] .editor{
  bottom:calc(var(--page-margin-bottom) + 40px)!important;
}

/* v152 FINAL — quiet type toolbar, inline quotes, paragraph controls at the bottom */
.font-edit-suite>header{display:none!important}
.font-edit-suite{border-bottom:0!important}
.font-edit-suite-body{padding-top:8px!important}
.inline-text-editor>.quote-controls-section{
  flex:0 0 auto;padding:8px 10px!important;border-top:1px solid #eee9e2!important;
  border-bottom:1px solid #e4ded6!important;background:#faf8f4!important;
}
.inline-text-editor>.quote-controls-section h3{
  display:inline-block;margin:0 10px 0 0!important;vertical-align:middle;font-size:9px!important;
}
.inline-text-editor>.quote-controls-section .quote-command-row{
  display:inline-grid;width:calc(100% - 42px);grid-template-columns:repeat(4,1fr);vertical-align:middle;
}
.inline-text-editor>.paragraph-settings{order:20;margin-top:auto!important;border-top:1px solid #dcd5cc!important}
.inline-text-editor>.text-editor-foot{order:19}
.paragraph-settings>summary{min-height:38px!important}
.paragraph-settings[open]{max-height:340px}
.spacing-controls-section output{min-width:46px;text-align:right;font-variant-numeric:tabular-nums}

/* v153 FINAL — footer-based symmetric page rhythm; decorations never reserve text space */
.paper.layout-enabled[data-document-template="a4"]{
  --body-footer-gap:22px;
}
.paper.layout-enabled[data-document-template="a4"] .editor{
  bottom:calc(var(--footer-margin) + 28px + var(--body-footer-gap))!important;
}
.paper.layout-enabled[data-document-template="a4"] .custom-page-deco,
.paper.layout-enabled[data-document-template="a4"] .paper-deco{
  position:absolute!important;pointer-events:none!important;
  max-height:none!important;contain:layout paint!important;
}

/* v154 FINAL — Postype-like one-line editor toolbar and speech bubbles */
.font-edit-suite{display:none!important}
.postype-editor-toolbar{
  flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-height:44px;padding:6px 8px;
  border-top:1px solid #ece7e0;border-bottom:1px solid #ded8d0;background:#fff;
  overflow:visible;white-space:nowrap;
}
.postype-editor-toolbar .toolbar-row-break{flex-basis:100%;height:0;margin:0;padding:0}
.postype-editor-toolbar button,
.postype-editor-toolbar select,
.postype-editor-toolbar input{
  flex:0 0 auto;height:30px;border:0;border-radius:5px;background:transparent;color:#3f3b37;
  font-size:10px;line-height:1;box-sizing:border-box;
}
.postype-editor-toolbar button{min-width:29px;padding:0 7px;cursor:pointer}
.postype-editor-toolbar button:hover,.postype-editor-toolbar select:hover{background:#f2eee8}
.postype-editor-toolbar select{padding:0 22px 0 7px;border-right:1px solid #eee8e1}
.postype-editor-toolbar .toolbar-block-style{width:72px}
.postype-editor-toolbar .toolbar-font-family{width:118px}
.postype-editor-toolbar .toolbar-font-size{width:48px;padding:0 5px;border:1px solid #e2dcd4;text-align:center}
.postype-editor-toolbar .toolbar-color{
  width:28px;padding:4px;border:0;background:#fff;cursor:pointer;
}
.postype-editor-toolbar .toolbar-highlight-apply{color:#b08b30}
.postype-editor-toolbar::before{content:"＋";display:grid;place-items:center;flex:0 0 25px;color:#6d665f;font-size:17px}
.inline-text-editor>.quote-controls-section{display:none!important}

.text-editor-surface [data-bubble-style],
.paper .editor [data-bubble-style]{
  position:relative!important;display:block!important;width:fit-content!important;max-width:88%!important;
  margin:1em 0!important;padding:.72em 1em!important;border:1px solid #d8d1c8!important;
  border-radius:13px!important;background:#fff!important;color:inherit!important;box-sizing:border-box!important;
}
.text-editor-surface [data-bubble-style]::after,
.paper .editor [data-bubble-style]::after{
  content:"";position:absolute;bottom:-7px;width:13px;height:13px;background:#fff;
  border-bottom:1px solid #d8d1c8;transform:rotate(45deg);
}
.text-editor-surface [data-bubble-style="left"],
.paper .editor [data-bubble-style="left"]{margin-right:auto!important}
.text-editor-surface [data-bubble-style="left"]::after,
.paper .editor [data-bubble-style="left"]::after{left:17px;border-right:1px solid #d8d1c8}
.text-editor-surface [data-bubble-style="right"],
.paper .editor [data-bubble-style="right"]{margin-left:auto!important;text-align:left!important;background:#f4efe8!important}
.text-editor-surface [data-bubble-style="right"]::after,
.paper .editor [data-bubble-style="right"]::after{right:17px;border-right:1px solid #d8d1c8;background:#f4efe8}

/* v155 FINAL — visual quote picker and stable two-row toolbar */
.postype-editor-toolbar{position:relative;align-content:center;column-gap:4px;row-gap:4px;padding:7px 9px!important}
.postype-editor-toolbar>*{align-self:center}
.toolbar-quote-picker{position:relative;flex:0 0 auto}
.postype-editor-toolbar .toolbar-quote-trigger{
  display:flex;align-items:center;justify-content:center;gap:4px;min-width:72px!important;padding:0 6px!important;
}
.toolbar-quote-trigger b{font-family:Georgia,serif;font-size:15px;line-height:1}
.toolbar-quote-trigger span{font-size:9px;font-weight:700}
.toolbar-quote-trigger i{font-size:8px;font-style:normal;color:#817970}
.toolbar-quote-menu{
  position:absolute;z-index:80;top:35px;left:50%;width:132px;padding:7px;transform:translateX(-50%);
  border:1px solid #e2ddd6;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(45,39,34,.16);
}
.toolbar-quote-menu[hidden]{display:none!important}
.postype-editor-toolbar .toolbar-quote-menu button{
  display:grid;grid-template-columns:58px 1fr;align-items:center;width:100%;height:39px!important;padding:3px 5px!important;
  border-radius:8px!important;text-align:left;
}
.postype-editor-toolbar .toolbar-quote-menu button:hover{background:#f5f2ee!important}
.toolbar-quote-menu em{font-size:8px;font-style:normal;color:#766e66}
.quote-preview{display:grid;place-items:center;width:52px;min-height:26px;color:#393530;font-size:9px;box-sizing:border-box}
.quote-preview-marks{font-family:Georgia,serif;font-size:22px;font-weight:700}
.quote-preview-classic{font-family:Georgia,serif;font-size:10px;font-weight:700}
.quote-preview-bar{justify-content:start;padding-left:8px;border-left:2px solid #a99580}
.quote-preview-box{border:1px solid #ddd6ce;border-radius:5px}
.quote-preview-soft{border-radius:14px;background:#f1efec}
.quote-preview-accent{position:relative;border-radius:14px;background:#3d74ee;color:#fff}
.quote-preview-accent::after{content:"";position:absolute;right:1px;bottom:-3px;border:5px solid transparent;border-top-color:#3d74ee;transform:rotate(-20deg)}
.toolbar-quote-menu .quote-clear{border-top:1px solid #eee9e3;border-radius:0!important;margin-top:3px}
.toolbar-quote-menu .quote-clear>span{display:grid;place-items:center;font-size:16px;color:#8e8881}

.text-editor-surface blockquote[data-quote-style="classic"],
.paper .editor blockquote[data-quote-style="classic"]{
  margin:1.05em 0!important;padding:.65em 1em!important;border:0!important;background:transparent!important;font-style:italic;
}
.text-editor-surface blockquote[data-quote-style="classic"]::before,
.paper .editor blockquote[data-quote-style="classic"]::before{content:"❝";margin-right:.45em;color:#a99580;font-family:Georgia,serif;font-size:1.2em}
.text-editor-surface blockquote[data-quote-style="soft"],
.paper .editor blockquote[data-quote-style="soft"]{
  margin:1.05em 0!important;padding:.8em 1.1em!important;border:0!important;border-radius:999px!important;background:#f1efec!important;
}
.text-editor-surface blockquote[data-quote-style="accent"],
.paper .editor blockquote[data-quote-style="accent"]{
  margin:1.05em 0!important;padding:.8em 1.1em!important;border:0!important;border-radius:999px!important;background:#3d74ee!important;color:#fff!important;
}

/* v156 FINAL — contiguous multi-paragraph quotes and quote-native bubbles */
.text-editor-surface blockquote[data-quote-style="soft"],
.text-editor-surface blockquote[data-quote-style="accent"],
.paper .editor blockquote[data-quote-style="soft"],
.paper .editor blockquote[data-quote-style="accent"]{position:relative!important;width:fit-content!important;max-width:92%!important}
.text-editor-surface blockquote[data-quote-style="soft"]::after,
.paper .editor blockquote[data-quote-style="soft"]::after{
  content:"";position:absolute;left:18px;bottom:-6px;border:7px solid transparent;border-top-color:#f1efec;transform:rotate(12deg);
}
.text-editor-surface blockquote[data-quote-style="accent"]::after,
.paper .editor blockquote[data-quote-style="accent"]::after{
  content:"";position:absolute;right:18px;bottom:-6px;border:7px solid transparent;border-top-color:#3d74ee;transform:rotate(-12deg);
}
.text-editor-surface blockquote[data-quote-style]>p,
.paper .editor blockquote[data-quote-style]>p{margin-top:0!important}
.text-editor-surface blockquote[data-quote-style]>p:last-child,
.paper .editor blockquote[data-quote-style]>p:last-child{margin-bottom:0!important}

/* v157 FINAL — heading editor, exact body rhythm, and reduced paragraph controls */
.heading-editor-strip{
  flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 82px;gap:7px;
  padding:8px 10px;border-bottom:1px solid #e3ddd6;background:#faf9f6;
}
.heading-editor-strip label{
  min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:5px;
  height:32px;padding:0 7px;border:1px solid #e2dcd4;border-radius:7px;background:#fff;
}
.heading-editor-strip label>span{font-size:8px;font-weight:800;color:#817a72;white-space:nowrap}
.heading-editor-strip input{min-width:0;width:100%;height:27px;padding:0;border:0;outline:0;background:transparent;font-size:10px;color:#3f3a35}
.heading-editor-strip .heading-size-field{grid-template-columns:1fr 30px 10px;padding-right:5px}
.heading-editor-strip .heading-size-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.heading-editor-strip .heading-size-field input{text-align:right;font-variant-numeric:tabular-nums}
.heading-editor-strip .heading-size-field em{font-size:8px;font-style:normal;color:#999188}

.text-editor-surface{white-space:normal!important;line-height:var(--editor-line,1.45)!important}
.text-editor-surface>p,.text-editor-surface>div,
.text-editor-surface blockquote[data-quote-style]>p,
.text-editor-surface blockquote[data-quote-style]>div{
  min-height:0!important;height:auto!important;margin-top:0!important;margin-bottom:var(--editor-para,0px)!important;
}
.text-editor-surface br{line-height:inherit}
.paper.layout-enabled .title-input{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.paper.layout-enabled .subtitle-input{display:block!important;margin-top:0!important}

.paragraph-settings>summary small{font-size:0!important}
.paragraph-settings>summary small::after{content:"자간 · 행간 · 문단 간격 · 장평 · 사용자 폰트";font-size:8px}
.paragraph-settings-body>.paragraph-controls-section,
.paragraph-settings-body>.quick-controls-section,
.paragraph-command-row{display:none!important}
.spacing-controls-section{border-top:0!important}

/* v158 FINAL — usable heading controls, lean spacing panel, rebuilt slots */
.heading-editor-strip{
  grid-template-columns:minmax(0,1fr) 154px!important;grid-template-rows:34px 34px;gap:6px!important;padding:8px 10px!important;
}
.heading-editor-strip .heading-title-field{grid-column:1;grid-row:1}
.heading-editor-strip .heading-size-field{grid-column:2;grid-row:1;grid-template-columns:24px minmax(0,1fr) 34px!important}
.heading-editor-strip .heading-subtitle-field{grid-column:1/-1;grid-row:2}
.heading-editor-strip .heading-size-field span{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important}
.heading-editor-strip .heading-size-field input[type="range"]{height:4px;accent-color:#7e6d5d}
.heading-editor-strip .heading-size-field output{font-size:8px;color:#706960;text-align:right;font-variant-numeric:tabular-nums}
.heading-editor-strip input[type="text"]{text-overflow:clip!important;white-space:nowrap}

.paragraph-controls-section,.quick-controls-section{display:none!important}
.paragraph-settings-body{padding-top:0!important}
.paragraph-settings-body .spacing-controls-section>h3{display:none!important}
.paragraph-settings-body .spacing-controls-section .hint{display:none!important}
.paragraph-settings[open]{max-height:280px!important}
.spacing-controls-section .range-field{grid-template-columns:58px minmax(0,1fr) 42px!important;margin:9px 0!important}

.top-slots-menu{
  width:340px!important;padding:8px!important;border:1px solid #ddd6cd!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 18px 48px rgba(42,35,29,.18)!important;
}
.top-slots-head{height:42px;padding:0 5px 7px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee9e3}
.top-slots-head b{font-size:11px;color:#423d38}
.top-slots-head .add-slot{margin:0!important;padding:7px 10px!important;border-radius:7px!important;font-size:9px!important}
.top-slots-menu .slot-list{display:grid!important;gap:5px!important;padding:7px 0!important}
.top-slots-menu .slot-card{
  min-height:58px!important;padding:6px!important;border:1px solid transparent!important;border-radius:10px!important;background:#faf9f6!important;
  transform:none!important;box-shadow:none!important;
}
.top-slots-menu .slot-card:hover{border-color:#ddd6cd!important;background:#fff!important}
.top-slots-menu .slot-card.active{border-color:#8f7b67!important;background:#f5f0e9!important}
.top-slots-menu .slot-main{grid-template-columns:34px minmax(0,1fr)!important;column-gap:9px!important;padding:2px!important}
.top-slots-menu .slot-badge{width:34px!important;height:34px!important;border-radius:9px!important}
.top-slots-menu .slot-name{font-size:11px!important;line-height:1.25}
.top-slots-menu .slot-preview{font-size:8px!important;line-height:1.3;max-width:220px}
.top-slots-menu .slot-more{width:28px!important;height:28px!important;border-radius:7px!important}

.slot-editor-modal[hidden]{display:none!important}
.slot-editor-modal:not([hidden]){display:block!important;position:fixed!important;inset:0!important;z-index:12000!important}
.slot-editor-modal .modal-backdrop{position:absolute!important;inset:0!important;background:rgba(38,33,29,.38)!important;backdrop-filter:blur(5px)}
.slot-editor-modal .slot-dialog{z-index:1;width:min(420px,calc(100vw - 32px))!important;border:1px solid #ded8d0!important;border-radius:16px!important}
.slot-editor-modal .slot-modal-preview{padding:12px!important;margin-bottom:12px!important}
.slot-editor-modal .slot-image-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.slot-editor-modal .slot-image-controls .upload,.slot-editor-modal .slot-image-controls button{margin:0!important;padding:9px!important;font-size:9px!important}
.slot-editor-modal .slot-modal-actions-grid{grid-template-columns:1fr 1fr 1fr!important}
.slot-editor-modal .slot-modal-actions-grid button{padding:10px 5px!important;font-size:10px!important}

/* v159 FINAL — the title rule and footer rule are exact vertical mirrors */
.paper.layout-enabled[data-document-template="a4"].body-clear-top{
  --symmetric-footer-offset:max(0px,calc(var(--stacked-heading-rule-top) - 28px));
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .paper-footer{
  bottom:var(--symmetric-footer-offset)!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor{
  bottom:calc(var(--symmetric-footer-offset) + 28px + var(--body-footer-gap))!important;
}

/* v160 FINAL — optical correction: lower the complete heading group, not only its text */
.paper.layout-enabled[data-document-template="a4"].body-clear-top .title-input,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .subtitle-input{
  transform:translateY(10px)!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.layout-columns{
  padding-top:calc(var(--heading-safe-top) + 20px)!important;
}

/* v161 FINAL — symbols live in the continuously scrollable body editor */
.tabs{grid-template-columns:repeat(3,1fr)!important}
.panel-body[data-panel="text"]>.integrated-symbol-section{
  display:block!important;margin:0 0 12px!important;padding:15px!important;
  border:1px solid #e5dfd7!important;border-radius:12px!important;background:#fff!important;
}
.panel-body[data-panel="text"]>.integrated-symbol-section:first-of-type{margin-top:2px!important}
.integrated-symbol-section h3{margin:0 0 12px!important;font-size:11px!important;color:#403b36!important}
.integrated-symbol-section .symbol-scroll{
  max-height:none!important;height:auto!important;overflow:visible!important;padding:0!important;
}
.integrated-symbol-section .symbol-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important}
.integrated-symbol-section .symbol-grid button{height:34px!important;border-radius:8px!important}
.paragraph-settings{overflow:visible!important;max-height:none!important}
.paragraph-settings>summary{cursor:default!important}
.paragraph-settings>summary::after{display:none!important}
.paragraph-settings-body{display:block!important}

/* v162 FINAL — reliable slots/autosave and true optical top/bottom balance */
.developer-hidden-button{display:none!important;pointer-events:none!important}
.save-status.visually-hidden-status{
  display:inline-flex!important;align-items:center!important;min-height:20px!important;
  color:#7c8b70!important;font-size:8px!important;white-space:nowrap!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .title-input,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .subtitle-input{
  transform:translateY(18px)!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.layout-columns{
  padding-top:calc(var(--heading-safe-top) + 28px)!important;
}

/* v163 FINAL — final 6px optical heading correction */
.paper.layout-enabled[data-document-template="a4"].body-clear-top .title-input,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .subtitle-input{
  transform:translateY(24px)!important;
}
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.writing-horizontal,
.paper.layout-enabled[data-document-template="a4"].body-clear-top .editor.layout-columns{
  padding-top:calc(var(--heading-safe-top) + 34px)!important;
}
