.links-page{background:#f7f8fb;color:#151826}.links-library{height:auto;min-height:0;padding:4px 0 10px;background:linear-gradient(180deg,#fff 0,#f7f8fb 100%);box-sizing:border-box}.links-library-inner{width:100%;max-width:none!important;height:auto;min-height:0;display:block;padding-left:18px!important;padding-right:18px!important;box-sizing:border-box}.links-intro{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 4px}.links-intro h1{margin:0;color:#111522;font-size:clamp(1.12rem,1.35vw,1.38rem);line-height:1.05;letter-spacing:-.025em;font-weight:800}.links-intro p{margin:0;color:#636b79;font-size:.72rem;line-height:1.2}.profile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,210px));gap:6px;margin-bottom:5px}.profile-tab{min-height:30px;padding:0 14px;border:1px solid rgba(0,0,97,.14);border-radius:8px;background:#fff;color:#272c3b;font:inherit;font-size:.74rem;font-weight:800;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,71,.04);transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.profile-tab:hover,.profile-tab:focus-visible{border-color:rgba(0,0,97,.34);transform:translateY(-1px)}.profile-tab.active{background:#000061;border-color:#000061;color:#fff;box-shadow:0 12px 30px rgba(0,0,97,.18)}.book-panel{width:100%;height:auto;min-height:0;display:grid;grid-template-rows:36px auto 36px;border:1px solid rgba(0,0,97,.12);border-radius:14px;overflow:hidden;background:#101522;box-shadow:0 20px 54px rgba(0,0,71,.12)}.book-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 10px 0 16px;background:#fff;border-bottom:1px solid rgba(0,0,97,.10)}.book-topbar strong{color:#161a27;font-size:.8rem}.book-download{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(0,0,97,.14);border-radius:8px;background:#f7f8fa;color:#000061;font-size:.66rem;font-weight:800;transition:.18s ease}.book-download:hover,.book-download:focus-visible{background:#000061;border-color:#000061;color:#fff}.book-download svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.book-stage{position:relative;width:100%;height:auto;min-height:0;display:grid;place-items:center;overflow:hidden;padding:0;background:radial-gradient(circle at 50% 36%,#373d4d 0%,#242938 42%,#121724 100%);outline:none}.book-shell{position:relative;width:auto;height:auto;max-width:100%;max-height:none;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;perspective:2200px;filter:drop-shadow(0 24px 30px rgba(0,0,0,.34));isolation:isolate}.book-page-slot{position:relative;display:grid;place-items:center;min-width:0;height:100%;background:#fff;overflow:hidden}.book-page-slot img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;user-select:none}.book-page-slot.blank{background:transparent;box-shadow:none}.book-page-slot.blank img{display:none}.book-left{border-radius:8px 0 0 8px;box-shadow:inset -24px 0 30px -30px rgba(0,0,0,.9)}.book-right{border-radius:0 8px 8px 0;box-shadow:inset 24px 0 30px -30px rgba(0,0,0,.9)}.book-spine{position:absolute;z-index:8;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(0,0,0,.36),rgba(255,255,255,.28),rgba(0,0,0,.30));box-shadow:0 0 22px rgba(0,0,0,.22);pointer-events:none}.book-turn{position:absolute;z-index:12;top:0;bottom:0;width:50%;display:none;transform-style:preserve-3d;will-change:transform}.book-turn.active{display:block}.book-turn.turn-next{left:50%;transform-origin:left center;animation:pageTurnNext .72s cubic-bezier(.34,.02,.16,1) forwards}.book-turn.turn-prev{left:0;transform-origin:right center;animation:pageTurnPrev .72s cubic-bezier(.34,.02,.16,1) forwards}.book-turn-face{position:absolute;inset:0;overflow:hidden;background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden}.book-turn-face img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}.book-turn-front{box-shadow:inset 24px 0 32px -34px rgba(0,0,0,.8),12px 0 24px rgba(0,0,0,.12)}.book-turn-back{transform:rotateY(180deg);box-shadow:inset -24px 0 32px -34px rgba(0,0,0,.8),-12px 0 24px rgba(0,0,0,.12)}.book-turn.turn-next .book-turn-front:after,.book-turn.turn-prev .book-turn-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.03),transparent 42%,rgba(0,0,0,.18));mix-blend-mode:multiply}.book-turn.turn-prev .book-turn-front:after,.book-turn.turn-next .book-turn-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,rgba(0,0,0,.03),transparent 42%,rgba(0,0,0,.18));mix-blend-mode:multiply}@keyframes pageTurnNext{0%{transform:rotateY(0deg)}45%{transform:rotateY(-82deg)}55%{transform:rotateY(-98deg)}100%{transform:rotateY(-180deg)}}@keyframes pageTurnPrev{0%{transform:rotateY(0deg)}45%{transform:rotateY(82deg)}55%{transform:rotateY(98deg)}100%{transform:rotateY(180deg)}}.book-edge{position:absolute;z-index:20;top:50%;transform:translateY(-50%);width:46px;height:74px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(8px);cursor:pointer;transition:.18s ease}.book-edge:hover,.book-edge:focus-visible{background:rgba(255,255,255,.19);border-color:rgba(255,255,255,.24)}.book-edge span{font-size:2rem;line-height:1}.book-edge-prev{left:14px}.book-edge-next{right:14px}.book-edge:disabled{opacity:.22;cursor:default}.book-loading{position:absolute;z-index:30;display:none;align-items:center;gap:9px;padding:9px 13px;border-radius:999px;background:rgba(0,0,0,.60);color:#fff;font-size:.69rem}.book-loading.show{display:flex}.book-loading span{width:14px;height:14px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:bookSpin .7s linear infinite}.book-loading em{font-style:normal}.book-controls{display:grid;grid-template-columns:1fr minmax(170px,380px) 1fr;align-items:center;gap:12px;padding:3px 10px;background:#fff;border-top:1px solid rgba(0,0,97,.10)}.book-nav{justify-self:start;min-height:34px;padding:0 12px;border:1px solid rgba(0,0,97,.13);border-radius:8px;background:#fff;color:#000061;display:inline-flex;align-items:center;gap:7px;font-size:.66rem;font-weight:800;cursor:pointer}.book-nav:last-child{justify-self:end}.book-nav:hover,.book-nav:focus-visible{background:#f5f6fa;border-color:rgba(0,0,97,.28)}.book-nav svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.book-nav:disabled{opacity:.34;cursor:default}.book-progress{text-align:center}.book-progress strong{display:block;color:#323849;font-size:.69rem}.book-progress-track{height:3px;margin-top:6px;border-radius:99px;background:#e4e7ed;overflow:hidden}.book-progress-track span{display:block;height:100%;width:0;background:#c10a0a;transition:width .2s ease}@keyframes bookSpin{to{transform:rotate(360deg)}}html[dir="rtl"] .book-download svg{transform:none}@media(max-width:900px){.links-library{padding:4px 0 8px}.links-library-inner{padding-left:12px!important;padding-right:12px!important}.profile-tabs{grid-template-columns:1fr 1fr}}@media(max-width:700px){.links-library{height:auto;padding:3px 0 6px}.links-library-inner{padding-left:8px!important;padding-right:8px!important}.links-intro{display:block;margin-bottom:3px}.links-intro h1{font-size:1.22rem}.links-intro p{margin-top:2px;font-size:.72rem;line-height:1.25}.profile-tabs{gap:5px;margin-bottom:4px}.profile-tab{min-height:32px;padding:0 8px;font-size:.69rem}.book-panel{grid-template-rows:34px auto 34px;border-radius:10px}.book-topbar{padding:0 7px 0 10px}.book-topbar strong{font-size:.72rem}.book-download{min-height:30px;padding:0 8px}.book-download span{display:none}.book-stage{padding:0}.book-shell{grid-template-columns:1fr;perspective:1600px}.book-left,.book-spine{display:none!important}.book-right{display:grid!important;border-radius:6px;box-shadow:none}.book-turn{width:100%;left:0!important}.book-turn.turn-next{transform-origin:left center}.book-turn.turn-prev{transform-origin:right center}.book-edge{width:34px;height:56px;border-radius:10px}.book-edge-prev{left:3px}.book-edge-next{right:3px}.book-controls{grid-template-columns:auto 1fr auto;gap:8px;padding:4px 8px}.book-nav{width:34px;min-height:30px;padding:0;justify-content:center}.book-nav span{display:none}.book-progress{min-width:0}.book-progress strong{font-size:.62rem}}@media(prefers-reduced-motion:reduce){.profile-tab,.book-download,.book-edge,.book-nav,.book-progress-track span{transition:none}.book-turn.turn-next,.book-turn.turn-prev{animation-duration:.01ms}.book-loading span{animation:none}}


/* P1.5A V7, deterministic single-screen layout.
   The Links library occupies exactly the viewport below the sticky site header.
   The booklet stage consumes the remaining grid space; JS fits the spread to
   stage width/height only, so sizing never depends on scroll position. */
.links-library{
  height:calc(100dvh - var(--header));
  min-height:0;
  padding:4px 0 6px;
  overflow:hidden;
}
.links-library-inner{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  align-content:stretch;
  gap:4px;
}
.links-intro{margin:0;min-height:0}
.profile-tabs{margin:0;min-height:0}
.book-panel{
  height:100%;
  min-height:0;
  grid-template-rows:34px minmax(0,1fr) 34px;
}
.book-stage{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.book-shell{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
}
@media(max-width:880px){
  .links-library{height:calc(100dvh - var(--header));min-height:0}
}
@media(max-width:700px){
  .links-library{height:calc(100dvh - var(--header));min-height:0;padding:3px 0 4px}
  .links-library-inner{gap:3px}
  .book-panel{grid-template-rows:32px minmax(0,1fr) 32px}
}


/* P1.5A V9, desktop profile heading + centered tabs in one compact row. */
.links-library-inner{
  grid-template-rows:auto minmax(0,1fr);
}
.links-headrow{
  min-width:0;
}
@media(min-width:901px){
  .links-headrow{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:18px;
    margin:0;
    min-height:48px;
  }
  .links-intro{
    display:block;
    margin:0;
    min-width:0;
    align-self:center;
  }
  .links-intro h1{
    font-size:clamp(1.12rem,1.28vw,1.34rem);
    line-height:1.05;
  }
  .links-intro p{
    margin-top:3px;
    max-width:430px;
    font-size:.68rem;
    line-height:1.18;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .profile-tabs{
    grid-column:2;
    align-self:center;
    justify-self:center;
    grid-template-columns:repeat(2,minmax(190px,220px));
    gap:9px;
    margin:0;
  }
  .profile-tab{
    min-height:42px;
    padding:0 22px;
    border-radius:10px;
    font-size:.78rem;
  }
  .links-headrow-balance{
    grid-column:3;
    min-width:0;
  }
}
@media(max-width:900px){
  .links-headrow{
    display:block;
  }
  .links-headrow-balance{
    display:none;
  }
  .profile-tabs{
    margin-bottom:5px;
  }
}
