/* Folder gallery is scoped to public bookmarks. The shared header and backdrop stay intact. */
.bookmark-folders .bf-library {
  --bf-ink:#29344e;--bf-muted:#727d96;--bf-line:#8c9cc72e;--bf-glass:#ffffff55;
  --bf-input:#ffffff70;--bf-paper:#f8faff;--bf-paper-ink:#3f4968;
  position:relative;width:min(100%,1180px);margin:20px auto 70px;scroll-margin-top:125px;isolation:isolate;overflow-x:clip;overflow-anchor:none;
}
html[data-theme=dark] .bookmark-folders .bf-library {
  --bf-ink:#eaf0ff;--bf-muted:#a1aecb;--bf-line:#93abe72b;--bf-glass:#19243c55;
  --bf-input:#13203985;--bf-paper:#dce7fc;--bf-paper-ink:#344565;
}
.bf-library [hidden] { display:none!important; }
.bf-library button,.bf-library input { font:inherit; }
.bf-library button { cursor:pointer; }
.bf-library :is(button,a,input):focus-visible { outline:2px solid #7f91f5;outline-offset:5px; }
.bf-intro { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px; }
.bf-eyebrow { color:#8b80bd;font-size:10px;letter-spacing:.22em;font-weight:700;margin:0 0 12px; }
.bf-intro h2 { color:var(--bf-ink);font-size:clamp(25px,3vw,35px);line-height:1.45;font-weight:700;letter-spacing:-.025em;margin:0 0 10px; }
.bf-intro-copy { font-size:14px;line-height:1.8;color:var(--bf-muted);margin:0; }
.bf-total { flex-shrink:0;font-size:12px;color:var(--bf-muted);padding-bottom:4px; }
.bf-toolbar { display:flex;align-items:center;gap:12px; }
.bf-search-box { display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:58px;padding:0 20px;
  background:var(--bf-input);border:1px solid var(--bf-line);border-radius:22px;box-shadow:inset 0 1px #ffffff32,0 8px 26px #5463b008;backdrop-filter:blur(18px); }
.bf-search-box:focus-within { border-color:#929ce7;box-shadow:0 0 0 3px #909ce510; }
.bf-search-icon { font-size:27px;color:#8190ba;line-height:1; }
.bf-search { border:0;background:none;width:100%;min-width:0;color:var(--bf-ink);padding:16px 0;font-size:14px!important;outline:none!important; }
.bf-search::placeholder { color:var(--bf-muted);opacity:.8; }
.bf-search::-webkit-search-cancel-button { display:none; }
.bf-search-clear { border:0;border-radius:10px;color:var(--bf-muted);background:transparent;font-size:12px!important;white-space:nowrap;padding:10px 4px; }
.bf-all { flex-shrink:0;border:1px solid var(--bf-line);color:var(--bf-ink);background:var(--bf-glass);border-radius:22px;min-height:58px;padding:0 24px;font-size:13px!important;backdrop-filter:blur(18px);transition:background .25s; }
.bf-all:hover { background:#9b9bec22; }
.bf-quick { display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:18px 0 4px; }
.bf-quick-label { color:var(--bf-muted);font-size:11px;letter-spacing:.08em;margin-right:6px; }
.bf-quick-link { display:inline-flex;align-items:center;gap:7px;color:var(--bf-ink);font-size:11px;min-height:34px;padding:5px 10px 5px 6px;
  border:1px solid transparent;border-radius:50px;background:var(--bf-glass);transition:background .2s,translate .2s; }
.bf-quick-link:hover { background:#9f9fe72b;translate:0 -2px; }
.bf-quick-link .tile-icon { width:23px!important;height:23px!important;min-width:23px;font-size:9px!important;border-radius:8px!important;box-shadow:none!important; }
.bf-quick-link .tile-icon img { width:18px!important;height:18px!important; }
.bf-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;margin-top:34px;align-items:start; }
.bf-folder { --folder-rgb:137,153,243;--folder-deep:#8993d8;--folder-highlight:#b7c8ff;--drift-x:0px;--drift-y:0px;--paper-spread:25px;
  position:relative;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;padding:42px 8px 18px;
  border:1px solid transparent;border-radius:24px;background:transparent;color:var(--bf-ink);text-align:center;perspective:1000px;
  transition:background .3s,border-color .3s;touch-action:manipulation;-webkit-tap-highlight-color:transparent; }
.bf-tone-1 { --folder-rgb:190,140,224;--folder-deep:#aa81c4;--folder-highlight:#e8c6fa; }
.bf-tone-2 { --folder-rgb:129,173,228;--folder-deep:#689cc9;--folder-highlight:#bce2ff; }
.bf-tone-3 { --folder-rgb:225,147,188;--folder-deep:#c281a6;--folder-highlight:#ffcce8; }
.bf-tone-4 { --folder-rgb:157,150,225;--folder-deep:#9587c6;--folder-highlight:#d7d3ff; }
.bf-folder-scene { position:relative;display:block;width:210px;max-width:100%;height:146px;perspective:900px;transform-style:preserve-3d; }
.bf-folder-shadow { position:absolute;inset:auto 6px -10px;height:35px;border-radius:50%;background:rgba(var(--folder-rgb),.28);filter:blur(18px);transition:scale .5s,opacity .5s; }
.bf-folder-back { position:absolute;inset:14px 0 0;border-radius:8px 16px 17px 17px;
  background:linear-gradient(145deg,rgba(var(--folder-rgb),.78),rgba(var(--folder-rgb),.4));border:1px solid rgba(var(--folder-rgb),.65);
  box-shadow:inset 0 1px 0 #fff8,inset 0 -1px 0 rgba(var(--folder-rgb),.5); }
.bf-folder-back::before { content:'';position:absolute;top:-15px;left:-1px;width:43%;height:21px;background:var(--folder-deep);border-radius:11px 18px 0 0;border-top:1px solid #ffffff85; }
.bf-papers { position:absolute;inset:0;pointer-events:none; }
.bf-paper { position:absolute;left:14%;bottom:10px;width:72%;height:112px;padding:14px 12px;background:linear-gradient(145deg,#fff,var(--bf-paper));
  border:1px solid #ffffffbd;border-radius:9px;box-shadow:0 3px 10px #222e4920;text-align:left;transform-origin:50% 100%;
  transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .5s; }
.bf-paper-0 { transform:translate(-8px,-13px) rotate(-7deg); }
.bf-paper-1 { transform:translate(8px,-19px) rotate(6deg); }
.bf-paper-2 { transform:translate(0,-6px) rotate(0); }
.bf-paper .tile-icon { width:27px!important;height:27px!important;min-width:27px;border-radius:8px!important;font-size:10px!important;box-shadow:none!important; }
.bf-paper .tile-icon img { width:22px!important;height:22px!important; }
.bf-paper-title { display:block;font-size:10px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bf-paper-ink);margin-top:8px; }
.bf-paper-line { display:block;height:3px;width:72%;background:#7283ac26;margin-top:9px;border-radius:3px; }
.bf-paper-line.short { margin-top:5px;width:42%; }
.bf-folder-front { position:absolute;inset:34px 0 0;border:1px solid #ffffff90;border-radius:15px 15px 18px 18px;
  background:linear-gradient(145deg,rgba(var(--folder-rgb),.64),rgba(var(--folder-rgb),.32) 60%,rgba(var(--folder-rgb),.62));
  box-shadow:inset 0 1px 1px #fff9,inset 0 -1px #fff4,0 12px 20px rgba(var(--folder-rgb),.2);
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  transform-origin:50% 100%;transform:rotateX(0);transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.bf-folder-front::after { content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(130deg,#ffffff30,transparent 42%,#ffffff15);pointer-events:none; }
.bf-folder-serial { position:absolute;top:16px;left:16px;font-size:7px;font-weight:700;letter-spacing:.12em;color:#fff;opacity:.9; }
.bf-folder-monogram { position:absolute;bottom:15px;left:16px;font-size:28px;line-height:1;color:#fff;text-shadow:0 2px 4px #768bc52b; }
.bf-folder-stamp { position:absolute;bottom:17px;right:15px;font-size:8px;color:#fff;letter-spacing:.16em; }
.bf-folder-label { display:flex;align-items:center;gap:9px;margin-top:24px;line-height:1.5; }
.bf-folder-label strong { font-size:15px;font-weight:650; }
.bf-folder-label > span { font-size:10px;color:var(--bf-muted); }
.bf-folder-hint { color:var(--bf-muted);font-size:10px;margin-top:6px;opacity:.8; }
.bf-folder:is(.is-open,:focus-visible) { background:rgba(var(--folder-rgb),.07);border-color:rgba(var(--folder-rgb),.24); }
.bf-folder:is(.is-open,:focus-visible) .bf-folder-front { transform:rotateX(-36deg); }
.bf-folder:is(.is-open,:focus-visible) .bf-paper-0 { transform:translate(calc(0px - var(--paper-spread) + var(--drift-x)),calc(-47px + var(--drift-y))) rotate(-16deg); }
.bf-folder:is(.is-open,:focus-visible) .bf-paper-1 { transform:translate(calc(var(--paper-spread) + var(--drift-x)),calc(-54px + var(--drift-y))) rotate(14deg); }
.bf-folder:is(.is-open,:focus-visible) .bf-paper-2 { transform:translate(var(--drift-x),calc(-40px + var(--drift-y))) rotate(-2deg); }
.bf-folder.is-open .bf-folder-hint { color:var(--bf-ink); }
html[data-theme=dark] .bf-folder-front { border-color:rgba(var(--folder-rgb),.55);background:linear-gradient(145deg,rgba(var(--folder-rgb),.45),rgba(var(--folder-rgb),.17) 65%,rgba(var(--folder-rgb),.3));box-shadow:inset 0 1px #ffffff5a,inset 0 -1px #ffffff15,0 16px 24px #0003; }
html[data-theme=dark] .bf-folder-back { background:linear-gradient(135deg,rgba(var(--folder-rgb),.53),rgba(var(--folder-rgb),.18)); }
html[data-theme=dark] .bf-folder-back::before { opacity:.8; }
html[data-theme=dark] .bf-folder-shadow { opacity:.6; }
@media(hover:hover) and (pointer:fine) {
  .bf-folder:hover { background:rgba(var(--folder-rgb),.045); }
  .bf-folder:hover .bf-folder-front { transform:rotateX(-36deg); }
  .bf-folder:hover .bf-paper-0 { transform:translate(calc(0px - var(--paper-spread) + var(--drift-x)),calc(-47px + var(--drift-y))) rotate(-16deg); }
  .bf-folder:hover .bf-paper-1 { transform:translate(calc(var(--paper-spread) + var(--drift-x)),calc(-54px + var(--drift-y))) rotate(14deg); }
  .bf-folder:hover .bf-paper-2 { transform:translate(var(--drift-x),calc(-40px + var(--drift-y))) rotate(-2deg); }
  .bf-folder:hover .bf-folder-shadow { scale:1.1;opacity:.85; }
}
.bf-results { grid-column:1/-1;min-width:0;width:100%;margin:8px 0 20px;padding:27px 28px 30px;border:1px solid var(--bf-line);border-radius:28px;background:var(--bf-glass);
  box-shadow:inset 0 1px #ffffff45,0 18px 42px #35417a0a;backdrop-filter:blur(22px);scroll-margin-top:125px; }
.bf-library > .bf-results { margin-top:28px; }
.bf-result-header { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px; }
.bf-result-title { font-size:21px;font-weight:700;color:var(--bf-ink);margin:0 0 5px; }
.bf-result-count { font-size:12px;color:var(--bf-muted);margin:0;overflow-wrap:anywhere; }
.bf-close { flex-shrink:0;min-height:42px;padding:8px 14px;border:1px solid var(--bf-line);border-radius:50px;color:var(--bf-muted);background:var(--bf-glass);font-size:12px!important; }
.bf-close:hover { color:var(--bf-ink);background:#9d9ae622; }
.bookmark-folders .bf-results .destinations { padding:0!important;margin:0;scroll-margin-top:140px; }
.bf-results .section-heading { display:none!important; }
.bf-multiple-groups .section-heading { display:flex!important;align-items:center!important;flex-direction:row!important;margin:0 0 13px; }
.bf-multiple-groups .destinations + .destinations:not([hidden]) { margin-top:26px; }
.bf-multiple-groups .section-heading h2 { font-size:14px!important;color:var(--bf-muted)!important; }
.bf-multiple-groups .section-heading > span { display:none; }
.bookmark-folders .bf-results .card-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.bookmark-folders .bf-results .private-link { min-width:0;min-height:104px;padding:17px!important;gap:12px!important;border:1px solid var(--bf-line)!important;border-radius:18px!important;
  background:var(--bf-input)!important;box-shadow:inset 0 1px #ffffff2b!important;transform:none!important;transition:translate .2s,border-color .2s!important; }
.bookmark-folders .bf-results .private-link::before,.bookmark-folders .bf-results .private-link::after { display:none!important; }
.bookmark-folders .bf-results .private-link:hover { translate:0 -3px;border-color:#9d9de170!important; }
.bookmark-folders .bf-results .private-link > span:last-child { min-width:0; }
.bookmark-folders .bf-results .private-link strong { font-size:14px!important;line-height:1.5!important;color:var(--bf-ink)!important;overflow-wrap:anywhere; }
.bookmark-folders .bf-results .bookmark-description { margin-top:5px;font-size:11px!important;line-height:1.65;color:var(--bf-muted)!important; }
.bookmark-folders .bf-results .bookmark-host { margin-top:5px;font-size:10px!important;color:var(--bf-muted)!important;opacity:.65;overflow-wrap:anywhere; }
.bookmark-folders .bf-results .tile-icon { width:39px;height:39px;min-width:39px;border-radius:12px;align-self:flex-start; }
.bf-empty { text-align:center;padding:30px 10px 40px;color:var(--bf-muted); }
.bf-empty-icon { font-size:42px;opacity:.6; }
.bf-empty h4 { font-size:17px;color:var(--bf-ink);margin:10px 0; }.bf-empty p { font-size:13px;margin:0; }
.bf-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.bf-static *, .bf-static *::before, .bf-static *::after { transition:none!important;animation:none!important;scroll-behavior:auto!important; }
.bf-static .bf-folder:not(.is-open) .bf-folder-front { transform:none; }
.bf-static .bf-folder:not(.is-open) .bf-paper-0 { transform:translate(-8px,-13px) rotate(-7deg); }
.bf-static .bf-folder:not(.is-open) .bf-paper-1 { transform:translate(8px,-19px) rotate(6deg); }
.bf-static .bf-folder:not(.is-open) .bf-paper-2 { transform:translate(0,-6px); }
@media(max-width:1050px) {
  .bf-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
  .bookmark-folders .bf-results .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  .bf-intro { align-items:flex-start;flex-direction:column;gap:12px; }.bf-intro h2 { font-size:25px; }.bf-intro-copy { font-size:12px; }
  .bf-total { font-size:11px; }.bf-toolbar { gap:8px; }.bf-search-box { padding:0 13px;gap:8px;min-height:50px;border-radius:18px; }
  .bf-search { font-size:12px!important;padding:14px 0; }.bf-all { font-size:11px!important;padding:0 13px;min-height:50px;border-radius:18px; }
  .bf-quick { gap:7px; }.bf-quick-label { width:100%; }.bf-quick-link { font-size:10px; }
  .bf-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;margin-top:25px; }
  .bf-folder { --paper-spread:12px;padding:38px 10px 14px; }.bf-folder-scene { width:170px;height:125px; }
  .bf-folder-front { inset:29px 0 0; }.bf-paper { width:74%;left:13%;height:96px;padding:10px; }
  .bf-paper-title { font-size:8px; }.bf-paper-line { margin-top:6px; }.bf-folder-label { flex-direction:column;gap:1px;margin-top:19px; }
  .bf-folder-label strong { font-size:14px; }.bf-folder-serial { font-size:6px;left:12px;top:14px; }
  .bf-folder-stamp { font-size:6px;right:12px; }.bf-folder-monogram { left:12px;font-size:24px; }
  .bf-folder-hint { font-size:9px; }.bf-results { padding:20px 16px;border-radius:23px;scroll-margin-top:145px; }
  .bf-result-header { gap:10px;margin-bottom:18px; }.bf-result-title { font-size:19px; }.bf-result-count { font-size:11px; }
  .bf-close { font-size:11px!important;padding:6px 12px; }.bookmark-folders .bf-results .card-grid { grid-template-columns:1fr; }
  .bookmark-folders .bf-library { margin-top:10px;margin-bottom:40px; }
}
@media(max-width:370px) {
  .bf-folder { padding-left:5px;padding-right:5px; }.bf-folder-scene { height:111px; }.bf-folder-front { top:27px; }
  .bf-paper { height:85px; }.bf-paper .tile-icon { width:22px!important;height:22px!important;min-width:22px; }
  .bf-search-box { gap:6px;padding:0 10px; }.bf-all { padding:0 10px; }.bf-search-icon { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { .bf-library *, .bf-library *::before, .bf-library *::after { transition:none!important;animation:none!important; } }
/* Align the collection gallery with the forest hero and give each folder more presence. */
.bookmark-desk .bf-library { width:min(100%,1390px); }
@media(min-width:1101px) {
  .bookmark-desk .bf-grid { gap:22px 28px; }
  .bookmark-desk .bf-folder { padding:46px 16px 22px; }
  .bookmark-desk .bf-folder-scene { width:min(100%,260px);height:auto;aspect-ratio:210/146; }
  .bookmark-desk .bf-folder-back { top:9.6%; }
  .bookmark-desk .bf-folder-front { top:23.3%; }
  .bookmark-desk .bf-paper { height:76.7%;bottom:6.8%; }
  .bookmark-desk .bf-folder-label { margin-top:26px; }
  .bookmark-desk .bf-folder-label strong { font-size:17px; }
}
/* Selection stays visible after the pointer leaves; motion settles rather than looping. */
.bookmark-folders .bf-folder { transition:background .3s,border-color .3s,box-shadow .3s; }
.bookmark-folders .bf-folder.is-open {
  border-color:rgba(var(--folder-rgb),.5);
  background:linear-gradient(155deg,rgba(var(--folder-rgb),.13),rgba(var(--folder-rgb),.025));
  box-shadow:inset 0 1px 0 #ffffff55,0 9px 30px rgba(var(--folder-rgb),.1);
}
.bf-folder-label { position:relative; }
.bf-folder-label::after {
  content:'';position:absolute;left:16%;right:16%;bottom:-4px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--folder-deep),var(--folder-highlight),transparent);
  transform:scaleX(0);opacity:0;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .25s;
}
.bf-folder.is-open .bf-folder-label::after { transform:scaleX(1);opacity:1; }
.bf-folder.is-open .bf-folder-shadow { scale:1.12;opacity:.9; }
.bf-results { transform-origin:50% 0; }
.bookmark-folders .bf-results .private-link { position:relative;isolation:isolate;overflow:hidden;
  transition:translate .25s,border-color .25s,box-shadow .25s!important; }
.bookmark-folders .bf-results .private-link::after { content:'';display:block!important;position:absolute;inset:0;z-index:-1;
  border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#b8c5ff24,transparent 55%,#d9b7ef1a);
  opacity:0;transition:opacity .28s; }
.bookmark-folders .bf-results .private-link:is(:hover,:focus-visible)::after { opacity:1; }
.bookmark-folders .bf-results .private-link:focus-visible,
.bf-folder:focus-visible { outline:2px solid #8c91df;outline-offset:4px; }
.bookmark-folders .bf-results .private-link:active { translate:0 0; }
@media(hover:hover) and (pointer:fine) {
  .bookmark-folders .bf-results .private-link:hover { box-shadow:0 10px 26px #6776bb1c,inset 0 1px 0 #ffffff55!important; }
  .bookmark-folders .bf-results .private-link .tile-icon { transition:rotate .3s,scale .3s; }
  .bookmark-folders .bf-results .private-link:hover .tile-icon { rotate:-5deg;scale:1.06; }
}
.bf-static .private-link .tile-icon { rotate:0!important;scale:1!important; }
@media(prefers-reduced-motion:reduce) { .bf-library .private-link .tile-icon { rotate:0!important;scale:1!important; } }
