/* The bookmark room: forest, refractive glass and a beating sculptural heart. */
.bookmark-desk .bd-desk {
 --bd-panel-inset:105px 30px 55px;--bd-panel-radius:42px;--bd-ink:#fcfdff;--bd-muted:#e1e7f2c9;--bd-line:#e1eaff38;--bd-card:#c4d8ff16;--bd-highlight:#ffffff50;
 position:relative;display:grid;grid-template-columns:minmax(250px,.95fr) minmax(360px,1.3fr) minmax(230px,.85fr);
 align-items:center;gap:24px;max-width:1390px;min-height:760px;margin:30px auto 72px;padding:115px 65px 50px;
 isolation:isolate;border:1px solid #c8d8f14d;border-radius:38px;color:var(--bd-ink);
 background:linear-gradient(180deg,#15253b0a,#0f143536),url('./bookmark-heart/enchanted-forest.webp') center/cover;
 box-shadow:0 28px 80px #2b35642b;
}
html[data-theme=dark] .bookmark-desk .bd-desk {box-shadow:0 28px 80px #01051088;border-color:#afcaff27;background-image:linear-gradient(180deg,#0c173a18,#090d2d50),url('./bookmark-heart/enchanted-forest.webp');}
.bd-desk::before {content:'';position:absolute;z-index:-1;inset:var(--bd-panel-inset);border-radius:var(--bd-panel-radius);background:url('./bookmark-heart/panel-texture.webp') center/100% 100%;backdrop-filter:blur(26px) saturate(.82);-webkit-backdrop-filter:blur(26px) saturate(.82);box-shadow:inset 0 1px #ffffff45,inset 0 0 0 1px #dbe9ff14,0 0 32px #b2c5ff22;pointer-events:none;}
.bd-desk::after {content:'';position:absolute;z-index:-1;width:70%;height:32%;left:17%;bottom:1%;background:radial-gradient(ellipse,#aab2ff70,transparent 67%);filter:blur(20px);pointer-events:none;}
.bd-desk :is(button,input) {font:inherit;}.bd-desk button {cursor:pointer;}.bd-desk :is(button,a,input):focus-visible {outline:2px solid #c7efff;outline-offset:5px;}
.bd-copy {position:relative;z-index:3;align-self:center;min-width:0;padding:0;}
.bd-kicker {font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.17em;color:#e6f4ffba;margin:0 0 19px;}
.motion-site .bd-desk h1.bd-title {margin:0 0 28px;color:#fff;font-family:inherit;font-weight:400;font-size:clamp(36px,3.7vw,53px);line-height:1.19;letter-spacing:-.055em;text-shadow:0 3px 22px #091a4933;}
.bd-title>span {display:block;color:inherit;}
.bd-search-card {position:relative;padding:27px 23px 24px;border-radius:29px;background:url('./bookmark-heart/card-texture.webp') center/100% 100%;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px #ffffff45,inset 0 0 0 1px #ffffff12,0 20px 40px #10173415;}
.bd-card-heading {margin:0;font-size:20px;line-height:1.4;font-weight:450;color:#fff;letter-spacing:-.02em;}
.bd-description {white-space:pre-line;font-size:12px;line-height:1.95;color:var(--bd-muted);margin:16px 0 27px;}
.bd-search {display:flex;align-items:center;gap:7px;min-width:0;padding:6px 6px 6px 11px;border-radius:50px;border:1px solid #ffffff45;background:#eff6ff15;box-shadow:inset 0 1px #ffffff25;}
.bd-search:focus-within {border-color:#d3edff;background:#eff6ff20;}.bd-search-symbol {font-size:24px;line-height:1;color:#e9f5ff;}
.bd-input {width:100%;min-width:0;padding:8px 0;border:0;outline:none!important;background:transparent;font-size:12px!important;color:#fff;}.bd-input::placeholder {color:#f0f5ffbd;opacity:1;}
.bd-submit {width:33px;height:33px;flex:none;border:1px solid #fff4;border-radius:50%;background:#edf4ff30;color:#fff;font-size:21px!important;line-height:1;transition:transform .3s,background .3s;}.bd-submit:hover {transform:rotate(8deg);background:#edf4ff50;}
.bd-chips {display:flex;gap:6px;flex-wrap:wrap;margin-top:15px;}.bd-chips button {font-size:10px!important;border:1px solid #eaf3ff45;border-radius:50px;padding:6px 9px;min-height:32px;background:transparent;color:#f2f7ff;transition:background .2s,translate .2s;}.bd-chips button:hover {background:#fff2;translate:0 -2px;}
.bd-scene {--bd-rx:0deg;--bd-ry:0deg;position:relative;min-width:0;height:510px;perspective:1100px;align-self:center;z-index:2;}
.bd-sculpture {position:absolute;inset:-108px -68px -18px;transform:rotateX(var(--bd-rx)) rotateY(var(--bd-ry));transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.8,.2,1);}
.bd-heart-stage {position:absolute;inset:0;}.bd-heart-stage>:is(img,canvas) {position:absolute;inset:0;display:block;width:100%;height:100%;}
.bd-heart-poster {object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 0 24px #bbd1ff50);transition:opacity .45s;}.bd-heart-canvas {opacity:0;transition:opacity .45s;}.bd-heart-live .bd-heart-canvas {opacity:1;}.bd-heart-live .bd-heart-poster {opacity:0;}
.bd-ground {position:absolute;left:50%;bottom:-3px;width:100%;height:130px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#bfc8ff85,transparent 65%);filter:blur(28px);pointer-events:none;}
.bd-scene-caption {position:absolute;z-index:3;left:40%;bottom:5px;width:245px;padding:18px 21px;margin:0;border-radius:8px 25px 25px 25px;background:linear-gradient(115deg,#acb9f017,#ecd9fd36);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff32;color:#fff;font-size:13px;line-height:1.8;letter-spacing:.02em;}
.bd-scene-caption span {display:inline-block;color:#fff;margin-right:7px;animation:bd-spark 1.75s ease-in-out infinite;}
.bd-side {position:relative;z-index:3;align-self:center;display:grid;gap:16px;padding-top:25px;min-width:0;}
.bd-stats {padding:12px 5px 0;}.bd-mini-label {margin:0 0 16px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.15em;color:var(--bd-muted);font-weight:500;}
.bd-metrics {display:flex;align-items:center;gap:26px;}.bd-metric {display:flex;flex-direction:column;gap:5px;}.bd-metric+.bd-metric {padding-left:25px;border-left:1px solid var(--bd-line);}.bd-metric strong {font-family:'Plus Jakarta Sans',sans-serif;font-size:47px;font-weight:400;line-height:1.1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#fff;}.bd-metric span {color:var(--bd-muted);font-size:11px;}.bd-stats-note {font-size:11px;color:var(--bd-muted);margin:17px 0 0;}
.bd-pulse {height:105px;margin:0 -14px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0 26px,#d0e5ff0c 26px 27px),repeating-linear-gradient(0deg,transparent 0 26px,#d0e5ff0c 26px 27px);mask-image:linear-gradient(90deg,transparent,#000 12% 88%,transparent);}
.bd-pulse svg {width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round;}.bd-wave-base {stroke:#e3eeff8c;stroke-width:1.5;}.bd-wave-light {stroke:#d0f7ff;stroke-width:3;stroke-dasharray:62 490;animation:bd-wave 3.5s linear infinite;filter:drop-shadow(0 0 4px #8ae6ff);}
.bd-picks {padding:15px 17px 5px;border-radius:24px;background:#b6c9f010;border:1px solid #e3edff20;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.bd-picks .bd-mini-label {margin-bottom:5px;}
.bd-pick {display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--bd-line);padding:12px 0;transition:translate .3s;}.bd-pick:last-child {border:0;}.bd-pick .tile-icon {width:32px;height:32px;min-width:32px;border-radius:11px;font-size:11px;background:#e8f1ffdb;box-shadow:none;}.bd-pick .tile-icon img {width:24px;height:24px;object-fit:contain;}.bd-pick .bd-site-copy {min-width:0;flex:1;}.bd-pick strong {display:block;font-size:12px;font-weight:500;line-height:1.4;color:#fff;}.bd-pick small {display:block;font-size:10px;color:var(--bd-muted);margin-top:4px;}.bd-pick .bd-arrow {color:#e2eeff;font-size:16px;}.bd-pick:hover {translate:3px 0;}
.bd-bottom {position:relative;z-index:3;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0 0;border-top:1px solid #e4edff26;}
.bd-browse {display:flex;align-items:center;gap:12px;background:transparent;border:0;color:#fff;padding:0;text-align:left;font-size:12px!important;}.bd-browse-icon {width:33px;height:33px;display:grid;place-items:center;border-radius:50%;border:1px solid #dce8ff45;background:#e4eeff16;transition:translate .3s;}.bd-browse:hover .bd-browse-icon {translate:0 3px;}.bd-browse small {color:#f0f5ff9c;font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.07em;margin-left:4px;}.bd-private {flex:none;font-size:11px;color:#f1f5ffcb;padding:8px 0 8px 10px;}
.bookmark-desk .bf-intro h2 {font-size:26px;}.bookmark-desk .bf-eyebrow {font-size:9px;}
@keyframes bd-wave {to {stroke-dashoffset:-552;}}@keyframes bd-spark {0%,100% {opacity:.7;transform:scale(.85);}25% {opacity:1;transform:scale(1.13);}}
.bd-static *, .bd-static *::before,.bd-static *::after {animation:none!important;transition:none!important;}.bd-static .bd-sculpture {transform:none;}.bd-offscreen *, .bd-hidden * {animation-play-state:paused!important;}
@media(min-width:1450px) {.bookmark-desk .shell {max-width:1470px;width:100%;}.bd-scene {height:540px;}.bd-sculpture {inset:-120px -70px -20px;}.bookmark-desk .bd-desk {min-height:820px;padding-top:135px;padding-bottom:65px;}}
@media(max-width:1100px) and (min-width:721px) {
 .bookmark-desk .bd-desk {grid-template-columns:minmax(240px,.9fr) minmax(330px,1.2fr);padding:90px 45px 45px;gap:25px;}.bookmark-desk .bd-desk {--bd-panel-inset:70px 22px 30px;}.bd-scene {height:485px;}.bd-sculpture {inset:-75px -32px 0;}.bd-scene-caption {left:20%;width:240px;bottom:0;}
 .bd-side {grid-column:1/-1;grid-template-columns:1fr 1fr;gap:20px;padding-top:5px;}.bd-stats {grid-column:1;grid-row:1;padding:15px 10px;}.bd-pulse {grid-column:1;grid-row:2;height:60px;margin-top:-30px;}.bd-picks {grid-column:2;grid-row:1/3;align-self:center;}.bd-metric strong {font-size:37px;}.bd-bottom {margin-top:0;}.bd-browse small {display:none;}
}
@media(max-width:720px) {
 .bookmark-desk .bd-desk {grid-template-columns:minmax(0,1fr);padding:40px 24px 30px;gap:0;border-radius:28px;margin-top:42px;margin-bottom:45px;overflow:hidden;background-position:46% center;}.bookmark-desk .bd-desk {--bd-panel-inset:20px 12px 18px;--bd-panel-radius:24px;}.bd-desk::before {backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);}.bd-desk::after {height:50%;width:100%;left:0;bottom:18%;}
 .bd-copy {display:contents;}.bd-kicker {grid-row:1;font-size:8px;margin:0 8px 15px;}.motion-site .bd-desk h1.bd-title {grid-row:2;font-size:39px;line-height:1.18;margin:0 8px;}.bd-title>span {display:inline;}.bd-title>span+span::before {content:' ';}
 .bd-scene {grid-row:3;height:410px;margin:8px -6px 25px;}.bd-sculpture {inset:-5px -10px 0;}.bd-ground {bottom:-12px;}.bd-scene-caption {left:auto;right:0;bottom:0;width:205px;font-size:11px;padding:13px 16px;}
 .bd-search-card {grid-row:4;margin:0 0 25px;padding:24px 20px;border-radius:25px;}.bd-card-heading {font-size:20px;}.bd-description {font-size:12px;margin:12px 0 18px;}.bd-search {max-width:100%;}.bd-input {font-size:13px!important;}.bd-submit {width:37px;height:37px;}.bd-chips button {min-height:36px;}
 .bd-side {grid-row:5;padding:0;gap:12px;}.bd-stats {display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 10px;column-gap:10px;}.bd-mini-label {font-size:8px;}.bd-stats .bd-mini-label {margin:0;}.bd-stats-note {grid-column:1;grid-row:2;margin:6px 0 0;font-size:10px;}.bd-metrics {grid-column:2;grid-row:1/3;gap:18px;}.bd-metric+.bd-metric {padding-left:18px;}.bd-metric strong {font-size:33px;}.bd-metric span {font-size:9px;}.bd-pulse {height:65px;margin:0;}
 .bd-picks {display:grid;grid-template-columns:1fr 1fr;gap:0 10px;padding:15px 15px 7px;border-radius:22px;}.bd-picks .bd-mini-label {grid-column:1/-1;}.bd-pick {padding:10px 0;border:0;gap:8px;}.bd-pick .tile-icon {width:27px;height:27px;min-width:27px;}.bd-pick .tile-icon img {width:22px;height:22px;}.bd-pick strong {font-size:11px;}.bd-pick small {font-size:8px;}.bd-pick .bd-arrow {display:none;}
 .bd-bottom {grid-row:6;margin-top:24px;gap:8px;}.bd-browse {font-size:10px!important;gap:7px;}.bd-browse small {display:none;}.bd-private {font-size:10px;}.bd-browse-icon {width:27px;height:27px;}.bookmark-desk .bf-intro h2 {font-size:23px;}
}
@media(max-width:370px) {.bookmark-desk .bd-desk {padding-left:20px;padding-right:20px;}.motion-site .bd-desk h1.bd-title {font-size:32px;}.bd-scene {height:350px;}.bd-search-card {padding:22px 16px;}.bd-metrics {gap:13px;}.bd-metric+.bd-metric {padding-left:13px;}.bd-metric strong {font-size:29px;}.bd-picks {padding-inline:12px;}.bd-pick {gap:6px;}.bd-pick strong {font-size:10px;}}
@media(prefers-reduced-motion:reduce) {.bd-desk *,.bd-desk *::before,.bd-desk *::after {animation:none!important;transition:none!important;}}
/* Keep the glass caption below the whole heart silhouette. */
.bookmark-desk .bd-heart-scene { margin-bottom:90px; }
.bookmark-desk .bd-scene-caption { left:50%;right:auto;top:calc(100% + 24px);bottom:auto;transform:translateX(-50%);width:max-content;max-width:100%;text-align:center; }
.bd-heart-live .bd-heart-canvas { cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none; }
.bd-heart-dragging .bd-heart-canvas { cursor:grabbing; }
.bd-heart-canvas:focus-visible { outline:1px solid #d5eeff88;outline-offset:3px;border-radius:28px; }

/* Give the bookmark content breathing room below the fixed navigation. */
.bookmark-desk main#main { padding-top:calc(6.5rem + 80px); }
@media(max-width:800px) { .bookmark-desk main#main { padding-top:40px; } }

/* Temporary visual slices dissolve into the real glass surface after entry. */
.bookmark-desk .bd-desk.bd-entering {background:none;border-color:transparent;box-shadow:none;overflow:clip;}
.bd-entering::before,.bd-entering::after {opacity:0;}
.bd-assembly-backdrop {position:absolute;inset:0;z-index:-2;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#15253b0a,#0f143536),url('./bookmark-heart/enchanted-forest.webp') center/cover;box-shadow:inset 0 0 0 1px #c8d8f14d;}
html[data-theme=dark] .bd-assembly-backdrop {background-image:linear-gradient(180deg,#0c173a18,#090d2d50),url('./bookmark-heart/enchanted-forest.webp');}
.bd-assembly-slice {position:absolute;inset:var(--bd-panel-inset);z-index:-1;border-radius:var(--bd-panel-radius);pointer-events:none;background:url('./bookmark-heart/panel-texture.webp') center/100% 100%;backdrop-filter:blur(26px) saturate(.82);-webkit-backdrop-filter:blur(26px) saturate(.82);box-shadow:inset 0 1px #ffffff45,inset 0 0 0 1px #dbe9ff14;will-change:transform,opacity;}
@media(max-width:720px) {.bd-assembly-backdrop {background-position:46% center;}.bd-assembly-slice {backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);}}
