/* V197 Heirloom Library: an open facing page, an inner gutter and a continuous
   page block. Construction stays behind the original writing plane. */
@media screen {
body[data-world-family='heirloom-library'] {
  --lib-cloth:#642933; --lib-shadow:#381a23; --lib-foil:#c5a16c;
  --lib-page:#dfcfad;
  --lib-dot:url('assets/world-rework/heirloom-library/oxblood-ivory/dots-light.svg');
  --lib-cover-top:27px; --lib-cover-right:34px;
  --lib-cover-bottom:35px; --lib-cover-left:57px;
  --ui-control-radius: 2px;
}
body[data-world-family='heirloom-library'] .editor-scroll {
  background-image:linear-gradient(112deg,rgb(255 233 188 / .12),transparent 42%,rgb(47 29 23 / .18)),repeating-linear-gradient(90deg,transparent 0 79px,rgb(42 29 25 / .035) 80px 81px);
}
body[data-world-family='heirloom-library'] .ink-stage { margin-top:55px; margin-bottom:76px; }
body[data-world-family='heirloom-library'] .world-surround { z-index:-1; }
/* A single silhouette prevents cloth rails from producing stepped corners. */
body[data-world-family='heirloom-library'] .world-surround-upper {
  inset:calc(-1 * var(--lib-cover-top)) calc(-1 * var(--lib-cover-right)) calc(-1 * var(--lib-cover-bottom)) calc(-1 * var(--lib-cover-left));
  width:auto; height:auto; border:1px solid var(--lib-shadow); border-radius:13px 9px 9px 13px;
  background:linear-gradient(90deg,rgb(0 0 0 / .18),transparent 12%,transparent 96%,rgb(0 0 0 / .14)),var(--lib-endpaper, none) center / 240px 240px repeat;
  box-shadow:1px 7px 11px rgb(26 18 17 / .24),inset 0 1px 1px rgb(255 240 197 / .24),inset 0 -3px 0 rgb(0 0 0 / .14);
}
body[data-world-family='heirloom-library'] .world-surround .world-surround-upper {background-repeat:no-repeat,repeat;}
body[data-world-family='heirloom-library'] .world-surround-upper::after {
  content:"";position:absolute;inset:7px 7px 8px 7px;
  border:1px solid color-mix(in srgb,var(--lib-foil) 43%,transparent);border-radius:4px;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--lib-shadow) 38%,transparent);
}
/* A glimpse of the facing pages bends into the inner gutter. The writing
   plane and its authored coordinates stay in place. */
body[data-world-family='heirloom-library'] .world-surround-left {
  left:calc(-1 * var(--lib-cover-left) + 2px);top:-3px;bottom:-3px;
  width:calc(var(--lib-cover-left) + 6px);border:0;border-radius:0;
  background:url('assets/world-rework/v200/library-facing-pages.svg') center / 100% 100% no-repeat;
  box-shadow:none;filter:drop-shadow(-2px 2px 2px rgb(26 18 17 / .2));
}
body[data-world-family='heirloom-library'] .world-surround-left::before,
body[data-world-family='heirloom-library'] .world-surround-left::after {content:none;}
/* Full sheets share curved corners; the visible page edges continue around
   the fore-edge and foot rather than ending as a separate striped column. */
body[data-world-family='heirloom-library'] .world-surround-lower {
  inset:-5px -11px -10px -5px;width:auto;height:auto;
  border:1px solid color-mix(in srgb,var(--lib-page) 68%,var(--lib-shadow));
  border-radius:18px 17px 17px 18px;background:var(--lib-page);
  /* R5: the fore-edge is fine graded page lines (lighter toward the open page), not bands. */
  box-shadow:1px 1px 0 color-mix(in srgb,var(--lib-page) 82%,#8a8270),2px 2px 0 var(--lib-page),3px 3px 0 color-mix(in srgb,var(--lib-page) 78%,#8a8270),4px 4px 0 var(--lib-page),5px 5px 0 color-mix(in srgb,var(--lib-page) 74%,#8a8270),6px 6px 0 var(--lib-page),7px 7px 0 color-mix(in srgb,var(--lib-page) 70%,#8a8270),8px 8px 0 var(--lib-page),9px 9px 0 color-mix(in srgb,var(--lib-page) 66%,#8a8270),10px 10px 0 var(--lib-page),11px 11px 0 color-mix(in srgb,var(--lib-page) 53%,var(--lib-shadow)),12px 13px 3px rgb(22 17 13 / .17);
}
body[data-world-family='heirloom-library'] .world-surround-right {
  display:block;left:-8px;right:auto;top:2px;bottom:2px;width:15px;border-radius:50% / 13px;
  background:linear-gradient(90deg,transparent,rgb(12 11 8 / .29) 48%,rgb(12 11 8 / .4) 69%,transparent);
}
/* R6: the writing page is bound at the gutter, so its spine-side corners are square; only the
   fore-edge corners round (a rounded gutter corner showed the cover as a dome beside the curl). */
body[data-world-family='heirloom-library'] :is(.note-editor, .theme-board-underlay) { border-radius: 0 var(--world-board-radius) var(--world-board-radius) 0; }
body[data-world-family='heirloom-library'] .theme-board-underlay { box-shadow:-5px 0 9px -6px rgb(24 18 11 / .46),1px 2px 2px rgb(24 18 11 / .18); }
body[data-world-family='heirloom-library'][data-world-motif='midnight-library'] {
  --lib-cloth:#263848;--lib-shadow:#152331;--lib-foil:#98aaba;--lib-page:#d2d3c5;
}
body[data-world-family='heirloom-library'][data-world-motif='forest-bookcloth'] {
  --lib-cloth:#3d5543;--lib-shadow:#253a2c;--lib-foil:#8c9b71;--lib-page:#d6d1b2;
}
body[data-world-family='heirloom-library'][data-theme='dark'] .editor-scroll {
  background-image:linear-gradient(105deg,rgb(214 151 79 / .22),transparent 38%,rgb(9 17 29 / .3) 82%);
}
/* R5: at night both pages of the book share the lamplit writing page's low value (a pale grey
   facing page beside a dark page disagreed), and the gutter light strip, which ended in a hard
   rectangle over the cover, is gone. */
/* --lib-night: the dark page this book is opened to (the night page, or the chalk page). */
body[data-world-family='heirloom-library'][data-theme='dark'] {--lib-night:var(--paper);}
body[data-world-family='heirloom-library'][data-paper='chalkboard'] {--lib-night:color-mix(in srgb,var(--lib-cloth) 40%,#2b2725);}
/* R6: the night page block is the same paper as the opened page, a step lighter, with its
   leaf lines still visible; a desaturated cream mix read as a grey picture-frame bezel. */
body[data-world-family='heirloom-library']:is([data-theme='dark'],[data-paper='chalkboard']) .world-surround-lower {--lib-page:color-mix(in oklab,var(--lib-night) 84%,#f0dfbd);--lib-leaf-line:color-mix(in oklab,var(--lib-page) 92%,#000);}
body[data-world-family='heirloom-library']:is([data-theme='dark'],[data-paper='chalkboard']) .world-surround-left {filter:drop-shadow(-2px 2px 2px rgb(0 0 0 / .3));}
/* The facing page is painted in the opened page's own night colour, shaded across its curl
   (a colour blend over the cream art stayed grey, because the night page has little chroma). */
body[data-world-family='heirloom-library']:is([data-theme='dark'],[data-paper='chalkboard']) .world-surround-left::after {
  content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--lib-night) 72%,#000),color-mix(in srgb,var(--lib-night) 94%,#fff) 34%,color-mix(in srgb,var(--lib-night) 90%,#fff) 58%,color-mix(in srgb,var(--lib-night) 70%,#000));
  -webkit-mask:url('assets/world-rework/v200/library-facing-pages.svg') center / 100% 100% no-repeat;mask:url('assets/world-rework/v200/library-facing-pages.svg') center / 100% 100% no-repeat;
}
/* The page rim is drawn from the page itself at night, so no dimmed cream ring (or khaki rim
   on Navy) appears around the dark page. */
body[data-world-family='heirloom-library']:is([data-theme='dark'],[data-paper='chalkboard']) .theme-frame {display:none;}
body[data-world-family='heirloom-library']:is([data-theme='dark'],[data-paper='chalkboard']) .theme-board-underlay {box-shadow:0 0 0 1.5px color-mix(in oklab,var(--lib-night) 90%,#f0dfbd),-5px 0 9px -6px rgb(0 0 0 / .5);}
body[data-world-family='heirloom-library'][data-theme='dark'] .world-night-light {display:none;}
@media(max-width:600px) {
  body[data-world-family='heirloom-library'] {--lib-cover-top:18px;--lib-cover-right:23px;--lib-cover-bottom:25px;--lib-cover-left:29px;}
  body[data-world-family='heirloom-library'] .ink-stage {margin-top:42px;margin-bottom:55px;}
  body[data-world-family='heirloom-library'] .world-surround-upper {border-radius:8px 6px 6px 8px;background-size:auto,190px 190px;}
  body[data-world-family='heirloom-library'] .world-surround-upper::after {inset:5px 5px 6px 5px;}
  /* The facing sheet meets the writing page's head and foot; its SVG has no vertical padding. */
  body[data-world-family='heirloom-library'] .world-surround-left {background-image:url('assets/world-rework/v200/library-facing-pages-compact.svg');left:calc(-1 * var(--lib-cover-left) + 2px);width:calc(var(--lib-cover-left) + 1px);}
  body[data-world-family='heirloom-library']:is([data-theme='dark'],[data-paper='chalkboard']) .world-surround-left::after {-webkit-mask-image:url('assets/world-rework/v200/library-facing-pages-compact.svg');mask-image:url('assets/world-rework/v200/library-facing-pages-compact.svg');}
  body[data-world-family='heirloom-library'] .world-surround-lower {inset:-3px -6px -7px -2px;border-radius:12px;box-shadow:1px 1px 0 #9b9480,3px 3px 0 var(--lib-page),4px 4px 0 #ada58e,6px 6px 0 var(--lib-page),7px 7px 0 color-mix(in srgb,var(--lib-page) 53%,var(--lib-shadow)),9px 10px 3px rgb(22 17 13 / .16);}
  body[data-world-family='heirloom-library'] .notebook-tabs .workspace-tab {font-family:var(--world-font-navigation);font-size:12.5px;}
}
}

@media screen {
body[data-world-family='heirloom-library'][data-paper='blank'] .theme-material-grain {opacity:.25;}
body[data-world-family='heirloom-library'][data-paper='ruled'] .note-editor {
  background-image:linear-gradient(90deg,transparent 0 51px,color-mix(in srgb,var(--world-rule) 38%,transparent) 51px 52px,transparent 52px 54px,color-mix(in srgb,var(--world-rule) 38%,transparent) 54px 55px,transparent 55px),repeating-linear-gradient(180deg,transparent 0 31px,color-mix(in srgb,var(--world-rule) 40%,transparent) 31px 32px);
}
body[data-world-family='heirloom-library'][data-paper='dots'] .note-editor {background-image:var(--lib-dot);background-size:24px 24px;}
body[data-world-family='heirloom-library'][data-paper='grid'] .note-editor {
  background-image:linear-gradient(90deg,transparent 0 53px,color-mix(in srgb,var(--world-rule) 52%,transparent) 53px 54px,transparent 54px),linear-gradient(180deg,color-mix(in srgb,var(--world-rule) 18%,transparent) 0 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--world-rule) 18%,transparent) 0 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--world-rule) 40%,transparent) 0 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--world-rule) 40%,transparent) 0 1px,transparent 1px);
  background-size:100% 100%,24px 24px,24px 24px,120px 120px,120px 120px;
}

}
/* Generated motif asset bindings. */
@media screen {
body[data-world-family='heirloom-library'][data-world-motif='oxblood-ivory'] {
  --world-rail-top:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/rail-top.svg');
  --world-rail-bottom:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/rail-bottom.svg');
  --world-rail-left:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/rail-left.svg');
  --world-rail-right:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/rail-right.svg');
  --world-corner-tl:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/corner-tl-gutter.svg');
  --world-corner-tr:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/corner-tr.svg');
  --world-corner-bl:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/corner-bl-gutter.svg');
  --world-corner-br:url('assets/world-rework/v194/heirloom-library/oxblood-ivory/corner-br.svg');
  --lib-dot:url('assets/world-rework/heirloom-library/oxblood-ivory/dots-light.svg');
}
body[data-world-family='heirloom-library'][data-world-motif='oxblood-ivory'][data-theme='dark'] {--lib-dot:url('assets/world-rework/heirloom-library/oxblood-ivory/dots-dark.svg');}
body[data-world-family='heirloom-library'][data-world-motif='midnight-library'] {
  --world-rail-top:url('assets/world-rework/v194/heirloom-library/midnight-library/rail-top.svg');
  --world-rail-bottom:url('assets/world-rework/v194/heirloom-library/midnight-library/rail-bottom.svg');
  --world-rail-left:url('assets/world-rework/v194/heirloom-library/midnight-library/rail-left.svg');
  --world-rail-right:url('assets/world-rework/v194/heirloom-library/midnight-library/rail-right.svg');
  --world-corner-tl:url('assets/world-rework/v194/heirloom-library/midnight-library/corner-tl-gutter.svg');
  --world-corner-tr:url('assets/world-rework/v194/heirloom-library/midnight-library/corner-tr.svg');
  --world-corner-bl:url('assets/world-rework/v194/heirloom-library/midnight-library/corner-bl-gutter.svg');
  --world-corner-br:url('assets/world-rework/v194/heirloom-library/midnight-library/corner-br.svg');
  --lib-dot:url('assets/world-rework/heirloom-library/midnight-library/dots-light.svg');
}
body[data-world-family='heirloom-library'][data-world-motif='midnight-library'][data-theme='dark'] {--lib-dot:url('assets/world-rework/heirloom-library/midnight-library/dots-dark.svg');}
body[data-world-family='heirloom-library'][data-world-motif='forest-bookcloth'] {
  --world-rail-top:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/rail-top.svg');
  --world-rail-bottom:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/rail-bottom.svg');
  --world-rail-left:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/rail-left.svg');
  --world-rail-right:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/rail-right.svg');
  --world-corner-tl:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/corner-tl-gutter.svg');
  --world-corner-tr:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/corner-tr.svg');
  --world-corner-bl:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/corner-bl-gutter.svg');
  --world-corner-br:url('assets/world-rework/v194/heirloom-library/forest-bookcloth/corner-br.svg');
  --lib-dot:url('assets/world-rework/heirloom-library/forest-bookcloth/dots-light.svg');
}
body[data-world-family='heirloom-library'][data-world-motif='forest-bookcloth'][data-theme='dark'] {--lib-dot:url('assets/world-rework/heirloom-library/forest-bookcloth/dots-dark.svg');}
}

/* Small material grip; board resize interaction remains shared. R6: it hangs from the cover's
   foot edge rather than on the desk below the book. */
body[data-world-family='heirloom-library'] .ink-stage { --world-grip-y: calc(var(--lib-cover-bottom) - 18px); }
body[data-world-family="heirloom-library"] .board-resize-handle {
  background: url("assets/worlds-v207/heirloom-library/handle-oxblood-ivory.svg") center / contain no-repeat;
}
body[data-world-family="heirloom-library"][data-world-motif="midnight-library"] .board-resize-handle { background-image: url("assets/worlds-v207/heirloom-library/handle-midnight-library.svg"); }
body[data-world-family="heirloom-library"][data-world-motif="forest-bookcloth"] .board-resize-handle { background-image: url("assets/worlds-v207/heirloom-library/handle-forest-bookcloth.svg"); }
@media (max-width: 600px) {
  /* The Forest bookmark hangs well clear of the grip on phones. */
  body[data-world-family='heirloom-library'][data-world-motif='forest-bookcloth'] .world-surround .world-surround-upper::before { right: 16%; }
}

