@media (min-width:1024px){html:has(.ecos-reader-app){zoom:1}}.ecos-reader-app{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#040605;--bg-2:#0b120d;--panel:#101411b8;--panel-solid:#111611;--ink:#f4f7e8;--muted:#f4f7e894;--line:#f4f7e824;--green:#dfff27;--green-2:#bfe900;--shadow:#00000094;--serif:"Recoleta", Georgia, serif;--sans:"Host Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif}.ecos-reader-app[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0f5ee;--bg-2:#dce9e1;--panel:#ffffffb8;--panel-solid:#fff;--ink:#151a16;--muted:#151a1694;--line:#151a1624;--shadow:#3d4c402e}.ecos-reader-app *{box-sizing:border-box}.ecos-reader-app [hidden]{display:none!important}.ecos-reader-app{scroll-behavior:smooth;background:radial-gradient(circle at 54% 28%, #c8f0001f, transparent 34vw), radial-gradient(circle at 80% 8%, #439fd61a, transparent 22vw), linear-gradient(180deg, var(--bg) 0%, #020302 100%);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--sans);margin:0;transition:background .32s,color .22s;overflow-x:clip}.ecos-reader-app[data-theme=light]{background:radial-gradient(circle at 54% 28%,#c8f00042,#0000 34vw),radial-gradient(circle at 80% 8%,#4c97c52e,#0000 24vw),linear-gradient(#f4f8f0 0%,#e5ece7 100%)}.ecos-reader-app button,.ecos-reader-app input,.ecos-reader-app textarea,.ecos-reader-app select{font:inherit}.ecos-reader-app button{color:inherit}.ecos-reader-app a{color:inherit;text-decoration:none}.grain{z-index:50;pointer-events:none;opacity:.12;mix-blend-mode:screen;background-image:linear-gradient(115deg,#ffffff12 0 1px,#0000 1px 5px),radial-gradient(circle,#ffffff14 0 1px,#0000 1px);background-size:7px 7px,11px 11px;position:fixed;inset:0}.ecos-reader-app[data-theme=light] .grain{opacity:.08;mix-blend-mode:multiply}.app-shell{min-height:100vh;transition:filter .5s,opacity .5s;overflow-x:clip}.app-shell.is-locked{filter:blur(16px)brightness(.36);pointer-events:none;-webkit-user-select:none;user-select:none}.topbar{z-index:1000;background:linear-gradient(#0610099e,#0610090f);height:92px;transition:opacity .18s,transform .22s,visibility .18s;position:fixed;top:0;left:0;right:0}.topbar:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(14px);pointer-events:none;position:absolute;inset:0}.topbar-inner{pointer-events:none;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;height:100%;padding:0 clamp(24px,4vw,56px);display:grid}.ecos-reader-app[data-theme=light] .topbar{background:linear-gradient(#eef6ebc7,#eef6eb1f)}.brand{cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-self:start;align-items:center;width:124px;padding:0;display:flex}.brand img{width:112px;height:auto;display:block}.ecos-reader-app[data-theme=light] .brand img{filter:brightness(0);width:112px}.ecos-reader-app[data-theme=light] .brand{box-shadow:none;background:0 0}.nav-pill{pointer-events:auto;background:#ffffff0e;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;justify-self:center;align-items:center;gap:8px;min-height:48px;padding:5px;display:flex;box-shadow:inset 0 1px #ffffff14,0 18px 42px #00000038}.ecos-reader-app[data-theme=light] .nav-pill{background:#ffffff8f;border-color:#151a161f;box-shadow:0 16px 38px #374b3a1f}.nav-pill button{min-width:132px;height:38px;color:var(--muted);cursor:pointer;letter-spacing:0;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:12px;font-weight:700;transition:background .18s,color .18s,transform .18s;display:inline-flex}.nav-pill button:hover{color:var(--ink)}.nav-pill button:focus-visible,.theme-toggle:focus-visible,.signin-chip:focus-visible,.profile-chip:focus-visible,.google-fallback:focus-visible,.primary-pill:focus-visible,.icon-button:focus-visible,.detail-close:focus-visible{outline:2px solid color-mix(in srgb, var(--green), transparent 18%);outline-offset:3px}.nav-pill button.is-active{background:var(--green);color:#10130c}.nav-icon{object-fit:contain;filter:brightness(0)invert();opacity:.58;flex:0 0 15px;width:15px;height:15px}.nav-icon.text-icon{filter:none;border:1px solid;border-radius:4px;place-items:center;font-size:8px;font-weight:800;line-height:1;display:inline-grid}.nav-pill button.is-active .nav-icon{filter:brightness(0);opacity:1}.ecos-reader-app[data-theme=light] .nav-icon{filter:brightness(0);opacity:.58}.ecos-reader-app[data-theme=light] .nav-pill button.is-active .nav-icon{filter:brightness(0);opacity:1}.top-actions{pointer-events:auto;justify-content:flex-end;justify-self:end;align-items:center;gap:14px;display:flex}.theme-toggle{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:34px;height:34px;display:grid;position:relative}.theme-toggle:hover{background:#ffffff17}.language-switcher{border:1px solid var(--line);pointer-events:auto;background:#ffffff14;border-radius:999px;align-items:center;height:34px;padding:3px;display:inline-flex}.language-switcher button{min-width:34px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:11px;font-weight:800;display:grid}.language-switcher button.is-active{background:var(--green);color:#071007}.ecos-reader-app[data-theme=light] .theme-toggle:hover{background:#151a1612}.theme-icon{object-fit:contain;filter:brightness(0)invert();opacity:.75;width:18px;height:18px}.ecos-reader-app[data-theme=light] .theme-icon{filter:brightness(0);opacity:.75}.signin-chip,.profile-chip{z-index:1;min-width:94px;height:42px;color:var(--ink);cursor:pointer;pointer-events:auto;background:#ffffff1f;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.ecos-reader-app .signin-chip{color:#11130e;background:#f7f7f0;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 36px #0003}.ecos-reader-app .signin-chip:hover{transform:translateY(-1px);box-shadow:0 18px 42px #00000047}.profile-menu{position:relative}.profile-chip{background:0 0;padding-left:4px}.avatar{color:#fff;background:radial-gradient(circle at 62% 28%,#ffe36d,#0000 28%),linear-gradient(135deg,#2c8f69,#1e3140);border:2px solid #c8f000a6;border-radius:999px;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:118px;overflow:hidden}.chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.profile-popover{border:1px solid var(--line);background:var(--panel-solid);min-width:238px;box-shadow:0 18px 44px var(--shadow);opacity:0;pointer-events:none;border-radius:8px;padding:12px;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-6px)}.profile-popover.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.profile-popover p,.profile-popover strong,.profile-popover a,.profile-popover button,.profile-status-pill{font-family:var(--sans)}.profile-popover p{color:var(--muted);margin:0 0 10px;font-size:12px}.profile-popover .profile-popover-kicker{letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800}.profile-popover strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.profile-status-pill{min-height:24px;color:var(--green);border:1px solid #dfff276b;border-radius:999px;align-items:center;margin:10px 0 12px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.profile-popover button,.profile-popover a{border:1px solid var(--line);cursor:pointer;width:100%;min-height:34px;color:var(--ink);background:0 0;border-radius:7px;justify-content:center;align-items:center;margin-top:6px;font-size:12px;font-weight:760;text-decoration:none;display:flex}.profile-popover a{color:var(--ink);background:#dfff271f;border-color:#dfff2757}.hero-scrollwrap{height:auto;position:relative}.hero-section{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:clamp(380px,56svh,520px);padding:clamp(108px,13vh,152px) 0 clamp(32px,5vh,64px);display:flex;position:relative;overflow:visible}.hero-scroll-hint{z-index:4;pointer-events:none;width:auto;min-height:32px;color:color-mix(in srgb, var(--ink), transparent 10%);opacity:.72;white-space:nowrap;align-items:center;gap:10px;transition:opacity .24s;display:inline-flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hero-scroll-hint__label{letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:900}.hero-scroll-hint__arrow{border:1px solid var(--line);border-radius:999px;flex:none;width:18px;height:28px;display:block;position:relative}.hero-scroll-hint__arrow:after{content:"";border-bottom:2px solid;border-right:2px solid;width:6px;height:6px;animation:1.55s ease-in-out infinite scrollHintArrow;position:absolute;top:7px;left:50%;transform:translate(-50%)rotate(45deg)}.hero-scroll-hint.is-faded{opacity:0}@keyframes scrollHintArrow{0%,to{opacity:.85;transform:translate(-50%)rotate(45deg)}60%{opacity:.2;transform:translate(-50%,10px)rotate(45deg)}}.hero-copy{z-index:3;text-align:center;pointer-events:none;place-items:center;width:min(90vw,980px);margin:clamp(70px,8vh,92px) auto 0;transition:opacity .32s,transform .32s;display:grid;position:relative}.micro-pill{border:1px solid var(--line);min-height:26px;color:var(--muted);letter-spacing:.28em;text-transform:uppercase;background:#ffffff09;border-radius:999px;align-items:center;gap:9px;padding:0 15px;font-size:10px;display:inline-flex}.pill-cursor-icon{opacity:.7;flex-shrink:0;animation:2s ease-in-out infinite cursorDrift}.kicker{color:var(--muted);font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;margin:18px 0 4px;font-size:11px;font-weight:700;line-height:1.4}.hero-copy h1{color:var(--ink);font-family:var(--serif);letter-spacing:0;max-width:920px;text-shadow:0 20px 64px var(--shadow);margin:0;font-size:clamp(58px,8.4vw,132px);font-weight:700;line-height:.94}.hero-copy .micro-pill{opacity:0;margin-top:36px;transition:opacity .6s,transform .6s;transform:translateY(6px)}.hero-copy .micro-pill.is-visible{opacity:1;transform:translateY(0)}.wall-stage{z-index:2;cursor:grab;perspective:1200px;transform-style:preserve-3d;touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-user-select:none;user-select:none;position:absolute;inset:92px 0 0;overflow:hidden}.wall-stage:active{cursor:grabbing}.wall-stage:before{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#0000001a 34%,#00000080 100%);height:34vh;position:absolute;inset:auto -10% 0}.ecos-reader-app[data-theme=light] .wall-stage:before{background:linear-gradient(#0000 0%,#f0f5ee47 30%,#e2ece2d1 100%)}.ambient-orbit{aspect-ratio:1;filter:blur(18px);opacity:.7;background:radial-gradient(circle,#d6f66d1f,#0000 52%),conic-gradient(#0000,#c8f00017,#0000 38%,#60b9e014,#0000 70%);border-radius:48%;width:56vw;max-width:860px;animation:18s linear infinite orbitSpin;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)rotate(8deg)}.wall-depth{height:54vh;min-height:360px;transform-style:preserve-3d;position:absolute;inset:auto -12vw -6vh;transform:rotateX(55deg)rotate(-13deg)translateZ(-70px)}.pub-card{--book-accent:#74a876;--book-glow:#dfff27;cursor:pointer;width:180px;height:233px;transform-style:preserve-3d;will-change:transform, opacity, filter;background:0 0;border-radius:9px;transition:filter .22s,box-shadow .22s;position:absolute;bottom:0;left:0;overflow:visible}.pub-card--placeholder{cursor:default;pointer-events:none}.pub-card--placeholder .pub-card-inner{border-color:color-mix(in srgb, var(--book-accent), transparent 72%);background:linear-gradient(135deg, color-mix(in srgb, var(--book-accent), transparent 72%), transparent 34%), linear-gradient(180deg, #ffffff14, #ffffff06);box-shadow:10px 16px 26px #00000047, -7px 3px 14px color-mix(in srgb, var(--book-glow), transparent 90%);opacity:.58;overflow:hidden}.pub-card--placeholder .pub-card-inner:after{background:linear-gradient(103deg,#ffffff1f,#0000 22% 72%,#ffffff14),repeating-linear-gradient(90deg,#ffffff09 0 1px,#0000 1px 11px)}.pub-card--placeholder.is-loading .pub-card-inner{opacity:.78;border-color:color-mix(in srgb, var(--green), transparent 60%);animation:1.8s ease-in-out infinite placeholderPulse}.pub-card--placeholder.is-loading .pub-card-inner:before{content:"";border-radius:inherit;background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--green), transparent 84%) 50%, transparent 70%);pointer-events:none;z-index:1;animation:1.6s ease-in-out infinite placeholderShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes placeholderPulse{0%,to{box-shadow:12px 18px 28px #0000005c, -8px 4px 16px color-mix(in srgb, var(--green), transparent 80%)}50%{box-shadow:12px 18px 32px #0006, -8px 4px 22px color-mix(in srgb, var(--green), transparent 68%)}}@keyframes placeholderShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.placeholder-mark,.placeholder-line{background:color-mix(in srgb, var(--ink), transparent 86%);border-radius:999px;display:block;position:absolute;transform:translateZ(3px)}.placeholder-mark{background:linear-gradient(135deg, color-mix(in srgb, var(--book-accent), white 12%), color-mix(in srgb, var(--book-accent), transparent 72%));border-radius:8px;width:32px;height:32px;top:18px;left:16px}.placeholder-line{height:8px;bottom:26px;left:16px;right:24px}.placeholder-line--wide{bottom:42px;right:42px}.pub-card-inner{border-radius:inherit;background:var(--panel-solid);width:100%;height:100%;transform-style:preserve-3d;box-shadow:12px 18px 28px #0000005c, -8px 4px 16px color-mix(in srgb, var(--book-glow), transparent 82%);border:1px solid #0000;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s,border .32s;position:relative}.pub-card.is-linear:hover .pub-card-inner{z-index:5000;border-color:#dfff27;transform:translateZ(44px)scale(1.12);box-shadow:0 0 32px #dfff2773,0 24px 56px #00000080}.pub-card-inner:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--book-accent), white 22%), color-mix(in srgb, var(--book-accent), black 30%));transform-origin:100%;border-radius:7px 0 0 7px;width:12px;position:absolute;inset:4px auto 4px -9px;transform:translateZ(-7px)rotateY(-24deg)}.pub-card-inner:after{content:"";pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(103deg,#ffffff47,#0000 24% 66%,#ffffff24),linear-gradient(90deg,#00000029,#0000 10%,#0000);border-radius:9px;position:absolute;inset:0}.pub-card-info{opacity:0;pointer-events:none;border-radius:inherit;background:linear-gradient(#0000 30%,#000000d9 100%);flex-direction:column;justify-content:flex-end;padding:16px;transition:opacity .32s;display:flex;position:absolute;inset:0;transform:translateZ(2px)}.pub-card.is-linear:hover .pub-card-info{opacity:1}.pub-info-title{font-family:var(--serif);color:#fff;margin:0;font-size:16px;font-weight:700;line-height:1.1;transition:transform .32s;transform:translateY(4px)}.pub-card.is-linear:hover .pub-info-title{transform:translateY(0)}.pub-info-meta{color:var(--green);text-transform:uppercase;letter-spacing:.12em;opacity:.8;justify-content:space-between;margin-top:8px;font-size:9px;font-weight:800;display:flex}.pub-card-inner img{border-radius:inherit;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;transform:translateZ(1px)}.book-shine{border-radius:inherit;pointer-events:none;opacity:.6;background:radial-gradient(circle at 70% 16%,#ffffff4d,#0000 18%);position:absolute;inset:0;transform:translateZ(2px)}.hero-hover-info{z-index:8;pointer-events:none;background:0 0;width:min(360px,100vw - 44px);position:absolute;top:clamp(112px,14vh,138px);right:clamp(22px,5vw,64px)}.hover-info-content{border:1px solid var(--line);background:color-mix(in srgb, var(--bg), transparent 14%);text-align:left;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;border-radius:8px;width:100%;padding:18px 20px;transition:opacity .4s,transform .4s cubic-bezier(.2,.8,.2,1);transform:translateY(10px);box-shadow:0 18px 50px #0000005c}.hero-hover-info:not([hidden]) .hover-info-content{opacity:1;transform:translateY(0)}.hover-title{font-family:var(--serif);color:var(--ink);letter-spacing:0;margin:0 0 10px;font-size:clamp(20px,1.8vw,25px);font-weight:700;line-height:1.18}.hero-book-meta{z-index:7;width:min(84vw,460px);color:var(--ink);text-align:center;pointer-events:none;opacity:0;text-shadow:0 16px 40px var(--shadow);gap:5px;padding:0 16px;transition:opacity .18s;display:grid;position:absolute;top:48%;left:50%;transform:translate(-50%,14px)}.hero-book-meta p,.hero-book-meta span{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.hero-book-meta h2{font-family:var(--serif);letter-spacing:0;margin:0;font-size:clamp(24px,3vw,40px);font-weight:700;line-height:1.05}.hover-author{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:10px;display:flex}.hover-avatar-wrap{background:var(--panel-solid);border:1px solid var(--line);border-radius:999px;width:28px;height:28px;position:relative;overflow:hidden}.hover-avatar{object-fit:cover;width:100%;height:100%}.hover-avatar-fallback{background:var(--green);color:#0e1208;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex;position:absolute;inset:0}.hover-author-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);letter-spacing:.02em;font-size:14px;font-weight:700;overflow:hidden}.hover-summary{max-width:none;color:var(--muted);margin:0;font-size:12.5px;font-weight:500;line-height:1.5}.videos-panel{background:radial-gradient(circle at 52% 16%, #c8f0002e, transparent 28vw), radial-gradient(circle at 88% 12%, #4c97c524, transparent 20vw), linear-gradient(180deg, var(--bg), var(--bg-2));min-height:100svh;padding:108px min(7vw,84px) 72px;display:none;position:relative;overflow:hidden}.videos-panel.is-visible{display:block}.stream-hero{text-align:center;grid-template-rows:auto auto 1fr;place-items:center;min-height:calc(100svh - 148px);display:grid;position:relative}.stream-title{font-family:var(--serif);letter-spacing:0;text-shadow:0 22px 62px #00000094;min-height:1.78em;margin:0;font-size:clamp(52px,7.6vw,112px);font-weight:700;line-height:.88}.stream-jukebox-controls{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0e;border-radius:999px;grid-template-columns:44px minmax(190px,auto) 44px;align-items:center;gap:10px;margin-top:22px;padding:6px;display:inline-grid}.stream-jukebox-controls button{min-height:42px;color:var(--ink);cursor:pointer;background:#ffffff14;border:0;border-radius:999px;font-weight:900}.stream-jukebox-controls button:not(.stream-play-now){font-size:28px;line-height:1}.stream-jukebox-controls .stream-play-now{background:var(--green);color:#071008;letter-spacing:.14em;text-transform:uppercase;padding:0 18px;font-size:12px}.stream-jukebox-controls button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px #00000038}.stream-deck{width:min(100vw,1160px);height:clamp(230px,33vh,330px);margin-top:clamp(8px,2vh,24px);position:relative}.stream-card{--collection-accent:var(--green);--deck-x:0px;--deck-y:0px;--deck-r:0deg;--deck-scale:1;aspect-ratio:.76;border:1px solid color-mix(in srgb, var(--collection-accent), transparent 68%);color:#fff;cursor:pointer;text-align:left;width:clamp(138px,14vw,190px);transform:translateX(calc(-50% + var(--deck-x))) translateY(var(--deck-y)) rotate(var(--deck-r)) scale(var(--deck-scale));transform-origin:bottom;background:#111;border-radius:8px;padding:0;transition:filter .22s,box-shadow .22s,transform .26s,border-color .22s;position:absolute;bottom:0;left:50%;overflow:hidden;box-shadow:0 24px 56px #0000006b}.stream-card:hover,.stream-card:focus-visible,.stream-card.is-active{border-color:var(--collection-accent);box-shadow:0 0 28px color-mix(in srgb, var(--collection-accent), transparent 58%), 0 28px 70px #00000080}.stream-card.is-active{transform:translateX(calc(-50% + var(--deck-x))) translateY(calc(var(--deck-y) - 10px)) rotate(var(--deck-r)) scale(calc(var(--deck-scale) + .04))}.stream-card img{object-fit:cover;filter:grayscale()brightness(.58);width:100%;height:100%;transition:filter .22s,transform .42s;display:block}.stream-card.is-active img,.stream-card:hover img,.stream-card:focus-visible img{filter:grayscale(0)brightness(.92);transform:scale(1.04)}.stream-card:after{content:"";pointer-events:none;background:linear-gradient(#0000 20%,#000000c2 100%);position:absolute;inset:0}.stream-card-glow{background:radial-gradient(circle at 55% 35%, color-mix(in srgb, var(--collection-accent), transparent 68%), transparent 42%);opacity:.42;pointer-events:none;position:absolute;inset:0}.stream-card-badge,.stream-card-type{z-index:2;color:#11130e;background:#ffffffb8;border-radius:999px;min-height:24px;padding:5px 9px;font-size:10px;font-weight:900;position:absolute;top:12px}.stream-card-badge{left:12px}.stream-card-type{right:12px}.stream-card-copy{z-index:2;gap:4px;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.stream-card-copy strong{font-family:var(--serif);font-size:clamp(18px,1.9vw,26px);font-weight:700;line-height:1.02}.stream-card-copy small{color:#ffffffbd;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.stream-now-panel{--collection-accent:var(--green);border:1px solid color-mix(in srgb, var(--collection-accent), transparent 66%);text-align:left;background:#ffffff0b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:min(860px,100%);margin-top:18px;padding:18px;display:grid;box-shadow:0 18px 52px #00000038}.stream-now-kicker{color:color-mix(in srgb, var(--collection-accent), white 8%);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:900;display:block}.stream-now-panel h3{font-family:var(--serif);margin:0;font-size:clamp(28px,4vw,46px);font-weight:700;line-height:.96}.stream-now-panel p{max-width:660px;color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.45}.stream-now-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.stream-now-actions button,.stream-now-actions a{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#ffffff12;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:850;text-decoration:none;display:inline-flex}.stream-now-actions button svg,.stream-now-actions a svg{flex:none}.stream-now-actions a{color:#fff;background:#f03;border-color:#0000}.stream-now-actions a:hover{color:#fff;background:#d6002b}.stream-now-actions button{background:var(--green);color:#071008;border-color:#0000}.stream-player-overlay{z-index:1300;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#000000a8;place-items:center;padding:clamp(24px,5vw,64px);display:grid;position:fixed;inset:0}.stream-player-close{z-index:2;border:1px solid var(--line);color:#fff;cursor:pointer;background:#ffffff1a;border-radius:999px;width:44px;height:44px;position:fixed;top:clamp(22px,4vw,54px);right:clamp(22px,4vw,54px)}.stream-player-close:before,.stream-player-close:after{content:"";background:currentColor;width:18px;height:1.5px;position:absolute;top:21px;left:13px}.stream-player-close:before{transform:rotate(45deg)}.stream-player-close:after{transform:rotate(-45deg)}.stream-player-shell{border:1px solid var(--line);background:color-mix(in srgb, var(--bg), black 10%);border-radius:8px;width:min(1120px,88vw);max-height:calc(100svh - 72px);overflow-y:auto;box-shadow:0 28px 90px #00000094}.stream-player-body{z-index:1;position:relative}.stream-player-frame{background:#000;width:100%;height:min(42svh,480px)}.stream-player-frame iframe{border:0;width:100%;height:100%;display:block}.stream-player-meta{gap:8px;padding:14px 20px 0;display:grid}.stream-player-kicker{color:var(--green);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:10px;font-weight:900}.stream-player-meta h3{font-family:var(--serif);margin:0;font-size:clamp(26px,3.4vw,46px);font-weight:700;line-height:.98}.stream-player-meta p:not(.stream-player-kicker){max-width:720px;color:var(--muted);margin:0;font-size:13px;line-height:1.42}.stream-player-stats{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.stream-player-stats span{min-height:28px;color:var(--ink);background:#ffffff17;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.stream-playlist-link{border:1px solid var(--line);min-height:34px;color:var(--ink);border-radius:999px;justify-content:center;justify-self:start;align-items:center;margin-top:4px;padding:0 12px;font-size:11px;font-weight:850;text-decoration:none;display:inline-flex}.stream-playlist-link:hover{border-color:#dfff2770}.episode-strip{gap:14px;padding:14px 20px 20px;display:flex;overflow-x:auto}.episode-card{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex:0 0 186px;gap:9px;padding:0;display:grid}.episode-card img{aspect-ratio:16/9;object-fit:cover;filter:brightness(.78)saturate(.86);border-radius:8px;width:100%;transition:filter .16s,transform .16s}.episode-card:hover img,.episode-card:focus-visible img,.episode-card.is-playing img{filter:brightness()saturate();transform:translateY(-2px)}.episode-card strong,.episode-card small{display:block}.episode-card strong{font-size:13px;line-height:1.25}.episode-card small{color:var(--muted);margin-top:3px;font-size:11px}.episode-card.is-playing strong{color:var(--green)}.stream-playlist-strip{gap:14px;padding:14px 20px 20px;display:flex;overflow-x:auto}.playlist-switch-card{border:1px solid var(--line);min-height:86px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0b;border-radius:8px;flex:0 0 204px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:8px;transition:border-color .16s,transform .16s,background .16s;display:grid}.playlist-switch-card img{aspect-ratio:1;object-fit:cover;filter:brightness(.82)saturate(.9);border-radius:6px;width:72px}.playlist-switch-card strong,.playlist-switch-card small{min-width:0;display:block}.playlist-switch-card strong{font-size:12px;line-height:1.2}.playlist-switch-card small{color:var(--muted);margin-top:4px;font-size:10px}.playlist-switch-card:hover,.playlist-switch-card:focus-visible,.playlist-switch-card.is-playing{background:#dfff2714;border-color:#dfff276b;transform:translateY(-2px)}@media (max-height:720px){.videos-panel{padding-top:92px;padding-bottom:48px}.stream-hero{min-height:calc(100svh - 122px)}.stream-title{font-size:clamp(44px,6.5vw,92px);line-height:.9}.stream-deck{height:clamp(196px,29vh,230px);margin-top:0}.stream-card{width:clamp(126px,13vw,170px)}.stream-card-copy strong{font-size:clamp(16px,1.6vw,22px)}}@media (min-width:720px) and (max-height:760px){.stream-player-body{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:stretch;display:grid}.stream-player-frame{aspect-ratio:16/9;height:auto;min-height:0}.stream-player-meta{align-content:center;padding:20px 22px 0}.episode-strip{grid-column:1/-1;padding-top:12px}.episode-card{flex-basis:170px}}.empty-panel-state{border:1px solid var(--line);min-height:220px;color:var(--muted);background:#ffffff0b;border-radius:8px;grid-column:1/-1;place-items:center;margin:0;font-size:14px;display:grid}.detail-overlay{--detail-accent:#74a876;--detail-glow:#dfff27;z-index:1100;background:color-mix(in srgb, var(--bg), black 16%);isolation:isolate;opacity:0;pointer-events:none;visibility:hidden;grid-template-columns:minmax(360px,46vw) 1fr;height:100dvh;min-height:100svh;transition:opacity .42s,transform .52s cubic-bezier(.2,.86,.22,1),visibility .42s;display:grid;position:fixed;inset:0;overflow:hidden;transform:translateY(28px)}.detail-overlay.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.detail-close{z-index:2;border:1px solid var(--line);cursor:pointer;background:#ffffff09;border-radius:999px;width:43px;height:43px;position:absolute;top:24px;right:24px}.detail-close:before,.detail-close:after{content:"";background:currentColor;width:16px;height:1px;position:absolute;top:20px;left:13px}.detail-close:before{transform:rotate(45deg)}.detail-close:after{transform:rotate(-45deg)}.detail-visual{background:#07090a;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.detail-aura{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--detail-glow), transparent 58%), transparent 70%);filter:blur(32px);opacity:.55;border-radius:50%;width:min(38vw,480px);height:min(38vw,480px);animation:7s ease-in-out infinite alternate blobDrift;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.detail-card-slot{perspective:1000px;width:332px;height:416px;position:relative}.detail-card-slot .pub-card{cursor:default;border-radius:14px;width:311px;height:402px;animation:4.8s ease-in-out infinite alternate cardFloat;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)rotateX(7deg)rotateY(-22deg)rotate(-7deg)!important}.detail-info{flex-direction:column;justify-content:flex-start;max-height:100vh;padding:64px min(8vw,88px) 40px min(7vw,72px);display:flex;overflow-y:auto}.detail-label,.reader-eyebrow{color:var(--muted);letter-spacing:.46em;text-transform:uppercase;margin:0 0 28px;font-size:11px}.detail-info h2{max-width:740px;font-family:var(--serif);margin:0;font-size:clamp(48px,6.2vw,78px);font-weight:700;line-height:.91}.detail-info>p:not(.detail-label){max-width:680px;color:var(--muted);margin:18px 0 0;font-size:16px;line-height:1.55}.detail-subtitle{font-style:italic;color:color-mix(in srgb, var(--ink), transparent 20%)!important}.detail-summary{color:var(--ink)!important}.detail-doc-meta{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;max-width:820px;margin-top:20px;display:grid}.detail-doc-meta p{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;gap:7px;min-height:78px;margin:0;padding:14px 16px;display:grid}.detail-doc-meta span,.detail-doc-section h3{color:var(--muted);letter-spacing:.26em;text-transform:uppercase;font-size:10px;font-weight:800}.detail-doc-meta strong{color:var(--ink);font-size:14px;line-height:1.35}.detail-tags{flex-wrap:wrap;gap:8px;max-width:820px;margin-top:16px;display:flex}.detail-tags span{min-height:30px;color:var(--ink);background:#ffffff24;border-radius:999px;align-items:center;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.detail-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.feature-card{border:1px solid var(--line);text-align:center;background:#ffffff0e;border-radius:8px;place-items:center;min-height:74px;display:grid}.feature-card strong{letter-spacing:.26em;text-transform:uppercase;margin-bottom:8px;font-size:11px;display:block}.feature-card span{color:var(--muted);letter-spacing:.26em;text-transform:uppercase;font-size:10px}.feature-card--authors,.feature-card--contributors{text-align:left;align-items:flex-start;gap:10px;place-items:unset;flex-direction:column;padding:14px 16px;display:flex}.feature-card--authors strong,.feature-card--contributors strong{margin-bottom:0}.author-list{flex-direction:column;gap:3px;width:100%;margin:0;padding:0;list-style:none;display:flex}.author-list li{color:var(--ink);font-size:12px;line-height:1.4}.feature-expand{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;transition:color .16s}.feature-expand:hover{color:var(--ink)}.contrib-bubbles{flex-wrap:wrap;gap:5px;display:flex}.contrib-bubble{border:1px solid var(--line);width:28px;height:28px;color:var(--ink);letter-spacing:0;background:#ffffff17;border-radius:999px;flex-shrink:0;place-items:center;font-size:9px;font-weight:700;display:grid}.contrib-bubble--more{color:var(--muted);background:#ffffff0a;font-size:8px}.contrib-bubble--lg{width:36px;height:36px;font-size:11px}.contrib-sheet{z-index:5;background:var(--panel-solid);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;max-height:68vh;transition:transform .42s cubic-bezier(.2,.86,.22,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -18px 48px #00000070}.contrib-sheet.is-open{transform:translateY(0)}.contrib-sheet-bar{border-bottom:1px solid var(--line);letter-spacing:.26em;text-transform:uppercase;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 22px;font-size:10px;font-weight:700;display:flex}.contrib-sheet-close{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0;font-size:22px;line-height:1;transition:color .16s}.contrib-sheet-close:hover{color:var(--ink)}.contrib-sheet-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px;padding:12px;display:grid;overflow-y:auto}.contrib-item{border-radius:8px;align-items:center;gap:11px;padding:9px 12px;transition:background .16s;display:flex}.contrib-item:hover{background:#ffffff0d}.contrib-item p{color:var(--ink);margin:0 0 2px;font-size:13px;line-height:1.2}.contrib-item>div>span{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:9px}.detail-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:48px;margin:20px 0 18px;padding-top:18px;display:grid}.detail-doc-section{border-top:1px solid var(--line);max-width:820px;margin-top:22px;padding-top:18px}.detail-doc-section h3{margin:0 0 14px}.detail-doc-section p{color:color-mix(in srgb, var(--ink), transparent 12%);margin:0 0 13px;font-size:14px;font-weight:500;line-height:1.55}.detail-institutions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.detail-institution-card{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:106px;padding:14px;display:flex}.detail-institution-card span{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:9px;font-weight:800}.detail-institution-card img{object-fit:contain;object-position:center center;filter:grayscale()brightness(2.2);max-width:150px;max-height:40px;display:block}.detail-institutions .detail-institution-card:not(.template-institution-card){text-align:center;justify-content:center;align-items:center;gap:12px}.ecos-reader-app[data-theme=light] .detail-institution-card img{filter:grayscale()brightness(.2)}.detail-institution-card .detail-institution-name{color:var(--ink);font-family:var(--serif);letter-spacing:0;text-transform:none;font-size:18px;font-weight:700}.detail-institutions .detail-institution-card:not(.template-institution-card):not(:has(>span:first-child)){justify-content:center;align-items:center}.stat span{color:var(--muted);letter-spacing:.3em;text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.stat strong{font-family:var(--serif);font-size:28px;font-weight:700}.primary-pill{cursor:pointer;letter-spacing:0;text-transform:none;-webkit-text-fill-color:#070808;background:#f4f4f0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:18px;width:100%;min-height:54px;font-size:13px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex;color:#070808!important}.primary-pill *{-webkit-text-fill-color:#070808;color:#070808!important}.primary-pill:hover{transform:translateY(-2px);box-shadow:0 16px 38px #ffffff1f}.secondary-pill{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#ffffff0f;border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-size:13px;font-weight:750;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.secondary-pill:hover:not(:disabled){background:#ffffff1f;border-color:#dfff2773;transform:translateY(-1px)}.secondary-pill.danger{color:#ffb3b3;border-color:#ff4d4d6b}.secondary-pill.danger:hover:not(:disabled){background:#ff4d4d29;border-color:#ff4d4dd1}.secondary-pill:disabled{cursor:not-allowed;opacity:.56}.detail-start{max-width:820px;margin-top:18px}.detail-access-request{color:#fff;cursor:pointer;letter-spacing:0;background:#ff6a3d;border:0;border-radius:999px;justify-content:center;align-items:center;width:100%;max-width:820px;min-height:54px;margin-top:12px;font-size:13px;font-weight:850;display:inline-flex}.detail-access-request:disabled{cursor:default;opacity:.72}.ai-enhance-button{margin-top:12px}.detail-ai-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-ai-actions .ai-enhance-button{margin-top:12px}.reader-view{background:radial-gradient(circle at 78% 14%, #c8f0001a, transparent 24vw), linear-gradient(180deg, var(--bg), var(--bg-2));min-height:100vh;padding:116px min(4vw,56px) 84px;display:none}.reader-view.is-visible{display:block}.reader-top{z-index:40;background:linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg), transparent 8%) 74%, transparent 100%);will-change:transform;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:22px;padding:10px 0 16px;transition:transform .24s,opacity .24s;display:grid;position:sticky;top:0}.reader-top--hidden{opacity:0;pointer-events:none;transform:translateY(-105%)}.icon-button{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:999px;place-items:center;width:44px;height:44px;display:grid;position:relative;overflow:visible}.icon-button span{background:currentColor;border-radius:999px;width:15px;height:1.5px;transition:transform .18s;display:block;position:relative}.icon-button span:before,.icon-button span:after{content:"";background:currentColor;border-radius:999px;width:8px;height:1.5px;transition:transform .18s;position:absolute;left:0}.icon-button span:before{transform-origin:0;top:0;transform:rotate(-45deg)}.icon-button span:after{transform-origin:0;bottom:0;transform:rotate(45deg)}.icon-button:hover span{transform:translate(-3px)}.icon-button:hover span:before{transform:rotate(-55deg)scaleX(1.05)}.icon-button:hover span:after{transform:rotate(55deg)scaleX(1.05)}.reader-top h2{font-family:var(--serif);margin:0;font-size:clamp(40px,6vw,82px);font-weight:700;line-height:.94}.reader-eyebrow{margin-bottom:10px}.reader-progress{background:color-mix(in srgb, currentColor, transparent 88%);border-radius:999px;grid-area:1/3/span 2;height:3px;overflow:hidden}.reader-progress--fixed{z-index:60;background:color-mix(in srgb, currentColor, transparent 92%);border-radius:0;grid-area:auto;width:100%;height:3px;position:fixed;top:0;left:0;right:0}.reader-progress span{border-radius:inherit;background:var(--green);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.reader-access-banner{background:#dfff2712;border:1px solid #dfff273d;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 8px;padding:14px 16px;display:flex}.reader-access-banner div{gap:3px;display:grid}.reader-access-banner strong{color:var(--ink);font-size:13px}.reader-access-banner span{color:var(--muted);font-size:12px}.reader-access-banner button{background:var(--green);color:#061006;cursor:pointer;white-space:nowrap;border:1px solid #dfff2766;border-radius:999px;min-height:38px;padding:0 14px;font-size:12px;font-weight:800}.reader-access-banner button:disabled{cursor:default;opacity:.7}.reader-actions{border:1px solid var(--line);white-space:nowrap;background:#ffffff0e;border-radius:999px;grid-area:2/2;justify-self:end;align-items:center;gap:8px;padding:5px;display:inline-flex}.reader-actions button{min-height:34px;color:var(--ink);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:11px;font-weight:800;transition:background .16s,color .16s,opacity .16s}.reader-actions button:hover:not(:disabled){background:var(--green);color:#071008}.reader-actions button:disabled{cursor:default;opacity:.35}.reader-actions span{min-width:48px;color:var(--muted);text-align:center;font-size:11px;font-weight:800}.reader-page-controls,.reader-zoom-controls{align-items:center;gap:4px;display:inline-flex}.reader-page-controls{padding-right:4px}.reader-zoom-controls{border-left:1px solid var(--line);padding-left:6px}.reader-zoom-value{min-width:52px}.reader-comment-inline{margin-left:4px;background:var(--green)!important;color:#071008!important}@media (min-width:981px){.reader-active .reader-view{padding-bottom:154px}.reader-active .reader-actions{z-index:120;-webkit-backdrop-filter:blur(18px)saturate(1.25);background:#080d09e6;border-color:#ffffff24;justify-content:center;width:min(760px,100vw - 40px);position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px #0000006b,inset 0 1px #ffffff14}.ecos-reader-app[data-theme=light].reader-active .reader-actions{background:#f8fcf4f0;border-color:#151a161f;box-shadow:0 18px 44px #374b3a29,inset 0 1px #ffffffb8}.reader-active .reader-page-controls{flex:auto;justify-content:center}.reader-active .reader-page-button{min-width:126px}}.reader-floating-comment{display:none}.reader-page{grid-template-columns:192px minmax(0,1fr) 280px;gap:clamp(22px,3vw,42px);margin-top:38px;display:grid}.reader-titleblock h2{font-family:var(--serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:min(760px,100%);margin:0;font-size:clamp(28px,3.4vw,48px);font-weight:500;line-height:1;display:-webkit-box;overflow:hidden}.reader-titleblock{grid-area:1/2;min-width:0}.reader-titleblock h2{overflow-wrap:normal}.reader-toc{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--green), transparent 55%) transparent;flex-direction:column;align-self:start;max-height:calc(100vh - 150px);padding-right:5px;display:flex;position:sticky;top:122px;overflow-y:auto}.reader-toc::-webkit-scrollbar{width:6px}.comments-list::-webkit-scrollbar{width:6px}.reader-toc::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--green), transparent 56%);border-radius:999px}.comments-list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--green), transparent 56%);border-radius:999px}.reader-toc-item{width:100%;padding:16px 0 16px calc(var(--toc-level,0) * 13px);border:0;border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--sans);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;font-size:13px;font-weight:600;line-height:1.35;transition:color .16s;display:block;position:relative}.reader-toc-item:hover,.reader-toc-item.is-active{color:var(--ink)}.reader-toc-item.is-active:after{content:"";background:var(--green);width:64%;height:2px;position:absolute;bottom:-1px;left:0}.reader-content{color:color-mix(in srgb, var(--ink), transparent 8%);font-family:var(--sans);-webkit-user-select:text;user-select:text;-webkit-touch-callout:none;font-size:clamp(15px,1.05vw,17px);line-height:1.65}.reader-content section{margin-bottom:64px;scroll-margin-top:130px}.reader-content section h3{font-family:var(--serif);letter-spacing:0;text-transform:uppercase;margin:0 0 22px;font-size:clamp(28px,2.6vw,38px);font-weight:700;line-height:1.05}.reader-content p{margin:0 0 18px}.reader-content--pdf{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--green), transparent 56%) transparent;max-width:100%;padding-bottom:8px;overflow-x:auto}.reader-pdf-document{gap:54px;display:grid}.reader-pdf-section{gap:18px;scroll-margin-top:140px;display:grid}.reader-pdf-section h3{display:none}.reader-pdf-canvas{background:#f8f8f1;border-radius:10px;width:fit-content;max-width:100%;margin:0 auto;overflow:hidden;box-shadow:0 22px 70px #0000006b}.reader-pdf-canvas .react-pdf__Page{color:#111;background:#fff;display:block;position:relative}.reader-pdf-canvas .react-pdf__Page canvas{max-width:none;display:block;height:auto!important}.reader-pdf-canvas .react-pdf__Page__textContent,.reader-pdf-canvas .textLayer{text-align:initial;transform-origin:0 0;-webkit-touch-callout:none;line-height:1;position:absolute;inset:0;overflow:hidden}.reader-pdf-canvas .react-pdf__Page__textContent span,.reader-pdf-canvas .textLayer span{color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.reader-pdf-canvas .react-pdf__Page__textContent br,.reader-pdf-canvas .textLayer br{color:#0000}.reader-pdf-canvas .react-pdf__Page__textContent ::selection,.reader-pdf-canvas .textLayer ::selection{background:color-mix(in srgb, var(--green), transparent 50%)}.reader-pdf-state{border:1px solid var(--line);min-height:180px;color:var(--muted);letter-spacing:.18em;text-align:center;text-transform:uppercase;background:#ffffff0d;border-radius:10px;place-items:center;padding:22px;font-size:12px;font-weight:800;display:grid}.reader-pdf-state--error{color:#ffd4c4;background:#ff623d17}.reader-pdf-state--inline{min-height:0;margin-bottom:24px}.reader-structured-page{color:#141714;background:#f7f5ec;border-radius:10px;width:min(100%,900px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 22px 70px #0000005c;container-type:inline-size}.reader-structured-line{color:#141714;white-space:pre;line-height:1.08;position:absolute;margin:0!important}.reader-structured-line span{color:inherit}.reader-content mark.user-highlight{background:color-mix(in srgb, var(--green), transparent 54%);color:inherit;cursor:pointer;border-radius:2px;padding:2px 0;transition:background .16s}.reader-content mark.user-highlight:hover,.reader-content mark.user-highlight.is-active{background:color-mix(in srgb, var(--green), transparent 36%)}.reader-content ::selection{background:color-mix(in srgb, var(--green), transparent 46%);color:inherit}.reader-comments{flex-direction:column;align-self:start;max-height:calc(100vh - 150px);display:flex;position:sticky;top:122px}.comments-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;display:flex}.comments-title{letter-spacing:.28em;text-transform:uppercase;color:var(--ink);font-size:11px;font-weight:700}.comments-title em{color:var(--muted);margin-left:4px;font-style:normal;font-weight:600}.comments-all-btn{color:var(--green);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700;transition:opacity .16s}.comments-all-btn:hover{opacity:.7}.comments-all-btn:disabled{cursor:default;opacity:.36}.comments-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--green), transparent 56%) transparent;flex-direction:column;flex:1;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.comments-empty{border:1px dashed color-mix(in srgb, var(--line), var(--green) 18%);text-align:center;background:#ffffff09;border-radius:10px;place-content:center;gap:6px;min-height:132px;padding:18px;display:grid}.comments-empty strong{color:var(--ink);font-size:13px}.comments-empty span{color:var(--muted);font-size:12px;line-height:1.35}.comments-hint{border-top:1px solid var(--line);color:var(--muted);margin:14px 0 0;padding-top:14px;font-size:12px;line-height:1.4}.comment-card{border:1px solid var(--line);cursor:pointer;background:linear-gradient(140deg,#dfff2709,#0000 34%),#ffffff08;border-radius:10px;padding:14px 16px;transition:background .18s,border-color .18s,transform .18s}.comment-card:hover{background:#ffffff0f}.comment-card.is-active{border-color:color-mix(in srgb, var(--green), transparent 30%);background:#dfff2724}.comment-card-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.comment-card-head>div{flex:1;min-width:0}.comment-avatar{border:1px solid color-mix(in srgb, var(--green), transparent 50%);color:#fff;background:linear-gradient(135deg,#2c8f69,#1e3140);border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:grid;overflow:hidden}.comment-avatar img{object-fit:cover;width:100%;height:100%}.comment-card-head strong{color:var(--ink);font-size:12px;line-height:1.2;display:block}.comment-time{color:var(--muted);letter-spacing:.04em;margin-top:2px;font-size:10px;display:block}.comment-status{min-height:22px;color:var(--green);letter-spacing:.08em;text-transform:uppercase;background:#dfff2729;border-radius:999px;flex:none;padding:4px 8px;font-size:9px;font-weight:900}.comment-card-body{color:color-mix(in srgb, var(--ink), transparent 14%);margin:0;font-size:13px;line-height:1.5}.comment-edit-box{resize:vertical;border:1px solid color-mix(in srgb, var(--green), transparent 52%);width:100%;min-height:88px;color:var(--ink);font:inherit;background:#0000003d;border-radius:8px;outline:none;padding:10px 12px;font-size:13px;line-height:1.45}.comment-edit-box:focus{border-color:color-mix(in srgb, var(--green), transparent 20%);box-shadow:0 0 0 3px #dfff271f}.comment-review-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.comment-review-actions button{border:1px solid var(--line);min-height:28px;color:var(--ink);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border-radius:999px;padding:0 10px;font-size:10px;font-weight:800}.comment-review-actions button:first-child{border-color:color-mix(in srgb, var(--green), transparent 35%);background:#dfff2724}.comment-review-actions button:disabled{cursor:not-allowed;opacity:.52}.comment-review-actions button.danger{color:#ffb3b3;background:#ff4d4d1a;border-color:#ff4d4d6b}.comment-review-actions button.danger:hover:not(:disabled){background:#ff4d4d2e;border-color:#ff4d4dd1}.comment-snippet{border-left:2px solid var(--green);color:color-mix(in srgb, var(--ink), transparent 10%);background:#ffffff12;border-radius:0 6px 6px 0;margin:0 0 10px;padding:8px 10px;font-size:12px;line-height:1.4}.reader-meta-footer{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:48px;margin:80px 0 0;padding:28px 0;display:grid}.reader-meta-footer p{flex-direction:column;gap:6px;margin:0;display:flex}.reader-meta-footer span{color:var(--muted);letter-spacing:.28em;text-transform:uppercase;font-size:10px;font-weight:700}.reader-meta-footer strong{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:700}.comment-bubble{z-index:1200;pointer-events:auto;position:fixed;transform:translate(-50%,calc(-100% - 10px))}.comment-bubble button{background:var(--green);cursor:pointer;letter-spacing:.04em;-webkit-text-fill-color:#061006;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 16px 40px #0000006b;color:#061006!important}.comment-bubble .bubble-icon{font-size:14px}.comment-modal{z-index:1300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000009e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.comment-modal-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid), black 8%);border-radius:12px;flex-direction:column;gap:14px;width:min(100%,480px);padding:22px;display:flex;box-shadow:0 28px 64px #0000008c}.comment-modal-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:0;display:flex}.comment-modal-head div{gap:4px;min-width:0;display:grid}.comment-modal-head span{letter-spacing:.28em;text-transform:uppercase;color:var(--ink);font-size:11px;font-weight:700}.comment-modal-head small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.comment-modal-close{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;font-size:18px;line-height:1}.comment-quote{border-left:3px solid var(--green);max-height:132px;color:color-mix(in srgb, var(--ink), transparent 8%);background:#ffffff14;border-radius:0 6px 6px 0;margin:0;padding:12px 14px;font-size:13px;line-height:1.5;overflow-y:auto}.comment-context-row,.comment-quick-actions{scrollbar-width:none;align-items:center;gap:8px;display:flex;overflow-x:auto}.comment-context-row::-webkit-scrollbar{display:none}.comment-quick-actions::-webkit-scrollbar{display:none}.comment-context-row span,.comment-quick-actions button{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#ffffff0d;border-radius:999px;flex:none;font-size:11px;font-weight:800}.comment-context-row span{padding:7px 10px}.comment-quick-actions button{cursor:pointer;min-height:34px;padding:0 13px}.comment-quick-actions button:active{transform:translateY(1px)}.comment-modal textarea{border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--sans);resize:vertical;background:#ffffff08;border-radius:8px;min-height:112px;padding:12px 14px;font-size:14px;line-height:1.5}.comment-modal textarea:focus{outline:2px solid color-mix(in srgb, var(--green), transparent 30%);outline-offset:2px}.comment-modal textarea[aria-invalid=true]{border-color:#ff846694}.comment-modal-meta{min-height:22px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:-4px;font-size:11px;display:flex}.comment-modal-meta strong{color:#ffbea8;text-align:right;font-size:11px;font-weight:700}.comment-modal-actions{justify-content:flex-end;gap:10px;margin-top:0;display:flex}.ghost-btn,.solid-btn{cursor:pointer;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:10px 18px;font-size:12px;font-weight:700}.ghost-btn{border:1px solid var(--line);color:var(--ink);background:0 0}.solid-btn{background:var(--green);-webkit-text-fill-color:#061006;border:0;color:#061006!important}.solid-btn:disabled{cursor:not-allowed;opacity:.48}.all-comments-overlay{z-index:75;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060907eb;padding:24px clamp(20px,5vw,64px) 64px;position:fixed;inset:0;overflow-y:auto}.ecos-reader-app[data-theme=light] .all-comments-overlay{background:#f5f8f0f0}.all-comments-head{z-index:1;border-bottom:1px solid var(--line);background:inherit;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0 18px;display:flex;position:sticky;top:0}.all-comments-head h3{font-family:var(--serif);margin:0;font-size:28px;font-weight:700}.all-comments-close{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;font-size:22px;line-height:1}.all-comments-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.all-comments-empty{border:1px solid var(--line);color:var(--muted);text-align:center;background:#ffffff0b;border-radius:10px;grid-column:1/-1;margin:0;padding:24px}.all-comments-grid .comment-card{cursor:default}.auth-screen{z-index:60;opacity:1;background:radial-gradient(circle at 50% 42%,#c8f00029,#0000 27vw),#0000008f;place-items:center;padding:28px;transition:opacity .36s,visibility .36s;display:grid;position:fixed;inset:0}.auth-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.auth-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0a0e0bdb;border-radius:10px;width:min(100%,430px);padding:30px;position:relative;box-shadow:0 28px 80px #0000008a}.auth-close{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;place-items:center;font-size:20px;line-height:1;transition:background .18s,color .18s;display:grid;position:absolute;top:14px;right:14px}.auth-close:hover{color:var(--ink);background:#ffffff14}.ecos-reader-app[data-theme=light] .auth-card{background:#ffffffd6}.auth-logo{width:152px;margin-bottom:30px;display:block}.ecos-reader-app[data-theme=light] .auth-logo{background:#09110cdb;border-radius:999px;width:128px;padding:10px 14px}.auth-kicker{color:var(--green);letter-spacing:.28em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:800}.auth-card h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:40px;font-weight:700;line-height:.98}.auth-copy,.auth-note{color:var(--muted);font-size:13px;line-height:1.55}.auth-copy{margin:16px 0 24px}.google-button-shell{min-height:44px}.google-button-shell.is-empty{display:none}.google-fallback{border:1px solid var(--line);color:#11130e;cursor:pointer;background:#f7f7f0;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:50px;font-size:14px;font-weight:800;display:inline-flex}.google-mark{color:#4285f4;background:#fff;border-radius:999px;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.auth-note{min-height:20px;margin:16px 0 0}.auth-error{color:#ffbea8;min-height:18px;margin:12px 0 0;font-size:12px}.ecos-reader-app.reader-active .hero-scrollwrap,.ecos-reader-app.reader-active .pubs-carousel-section,.ecos-reader-app.reader-active .library,.ecos-reader-app.reader-active .videos-panel,.ecos-reader-app.reader-active .myfiles-panel,.ecos-reader-app.reader-active .admin-panel{display:none}.ecos-reader-app.reader-active .topbar{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%)}.ecos-reader-app.videos-active .hero-scrollwrap,.ecos-reader-app.videos-active .pubs-carousel-section,.ecos-reader-app.videos-active .library,.ecos-reader-app.myfiles-active .hero-scrollwrap,.ecos-reader-app.myfiles-active .pubs-carousel-section,.ecos-reader-app.myfiles-active .library,.ecos-reader-app.admin-active .hero-scrollwrap,.ecos-reader-app.admin-active .pubs-carousel-section,.ecos-reader-app.admin-active .library,.ecos-reader-app.admin-active .videos-panel,.ecos-reader-app.admin-active .myfiles-panel{display:none!important}.ecos-reader-app.detail-active .wall-stage{pointer-events:none}.ecos-reader-app.detail-active{overscroll-behavior:contain}.library{z-index:6;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg-2), transparent 40%) 22%, var(--bg-2) 80%);grid-template-columns:minmax(170px,210px) minmax(0,1fr);gap:clamp(24px,3vw,44px);min-height:125vh;margin-top:0;padding:clamp(72px,8vh,88px) clamp(22px,4vw,56px) 104px;scroll-margin-top:96px;display:grid;position:relative}.library-sidebar{flex-direction:column;align-self:start;gap:30px;display:flex;position:sticky;top:116px}.filter-block h4{border-bottom:1px solid var(--line);color:var(--ink);letter-spacing:.28em;text-transform:uppercase;margin:0 0 14px;padding-bottom:12px;font-size:11px;font-weight:700}.filter-option{color:var(--muted);cursor:pointer;align-items:center;gap:10px;padding:6px 0;font-size:13px;transition:color .16s;display:flex}.filter-option:hover{color:var(--ink)}.filter-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--green);cursor:pointer;margin:0}.filter-row{align-items:center;gap:8px;display:inline-flex}.filter-original-mark{background:url(/ecos-reader/Isotipo%20-%20Ecos.svg) 50%/contain no-repeat;flex-shrink:0;width:22px;height:22px;display:inline-block}.library-heading{max-width:620px;margin-bottom:28px}.library-heading .kicker{margin-top:0;margin-bottom:6px}.library-heading h2{font-family:var(--serif);margin:0;font-size:clamp(34px,4vw,54px);font-weight:700;line-height:1}.library-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));align-items:start;gap:clamp(18px,2vw,28px);display:grid}.library-card{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:14px;padding:0;transition:transform .22s;display:flex;position:relative}.library-card:hover,.library-card:focus-visible{outline:0;transform:translateY(-4px)}.library-card-cover{aspect-ratio:773/1000;background:var(--panel-solid);border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 14px 32px #0000005c}.library-card:hover .library-card-cover{box-shadow:0 20px 42px #0000007a}.library-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.library-card--skeleton{cursor:default;pointer-events:none}.library-card--skeleton .library-card-cover{background:#ffffff0a}.ecos-reader-app[data-theme=light] .library-card--skeleton .library-card-cover{background:#151a160d}.skeleton-line{background:#ffffff0f;border-radius:4px;height:14px;margin-top:10px}.skeleton-line--sm{height:9px;margin-top:6px}.ecos-reader-app[data-theme=light] .skeleton-line{background:#151a160f}.skeleton-shimmer{position:relative;overflow:hidden}.skeleton-shimmer:after{content:"";background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--green), transparent 88%) 50%, transparent 70%);pointer-events:none;animation:1.6s ease-in-out infinite skeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}.ecos-reader-app[data-theme=light] .skeleton-shimmer:after{background:linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%)}@keyframes skeletonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.library-card-cat .library-card-new,.library-card-new{background:var(--green);color:#061006;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 2px 8px color-mix(in srgb, var(--green), transparent 55%);border:0;border-radius:999px;align-items:center;margin-left:8px;padding:3px 9px;font-size:9px;font-weight:900;line-height:1;animation:2.4s ease-in-out infinite newBadgePulse;display:inline-flex}@keyframes newBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.pub-card-new{z-index:10;background:var(--green);color:#061006;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:0 4px 14px color-mix(in srgb, var(--green), transparent 35%), 0 1px 3px #0000008c;pointer-events:none;border-radius:999px;padding:4px 10px;font-size:9px;font-weight:900;line-height:1;animation:2.4s ease-in-out infinite newBadgePulsePub;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes newBadgePulsePub{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.06)}}.library-card-title{font-family:var(--serif);color:var(--ink);margin:0;font-size:17px;font-weight:700;line-height:1.15}.library-card-cat{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;margin:4px 0 0;font-size:10px}.library-card-cat span{color:#a8d7ff;letter-spacing:.08em;border:1px solid #8fc7ff61;border-radius:999px;margin-left:8px;padding:2px 6px;display:inline-flex}.library-empty{color:var(--muted);margin-top:24px;font-size:14px}@keyframes cursorDrift{0%,to{transform:translate(0)}50%{transform:translate(7px)}}.tw-cursor{color:var(--green);animation:.9s step-end infinite twBlink}@keyframes twBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes orbitSpin{to{transform:translate(-50%,-50%)rotate(368deg)}}@keyframes blobDrift{0%{transform:translate(-2%,-2%)rotate(-8deg)scale(.94)}to{transform:translate(3%,2%)rotate(6deg)scale(1.03)}}@keyframes cardFloat{0%{margin-top:-16px}to{margin-top:18px}}@media (max-width:980px){.topbar{height:82px}.modal-overlay{align-items:end;padding:12px}.modal-content{border-radius:16px;max-height:calc(100vh - 24px);padding:22px}.cover-editor-row,.form-row,.localized-pdf-grid,.institution-row{grid-template-columns:1fr}.cover-upload-area{aspect-ratio:3/4;width:100%;height:auto;max-height:280px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn-primary,.modal-footer .btn-secondary{width:100%;min-height:48px}.topbar-inner{grid-template-columns:minmax(92px,1fr) auto auto;gap:12px;padding-inline:18px}.brand{width:92px}.brand img,.ecos-reader-app[data-theme=light] .brand img{width:88px}.nav-pill{justify-self:center;min-height:42px}.top-actions{justify-self:end}.nav-pill button{min-width:auto;height:32px;padding:0 12px;font-size:11px}.profile-name{display:none}.hero-copy{margin-top:16vh}.hero-copy h1{font-size:clamp(64px,18vw,118px)}.wall-depth{min-height:420px;inset-inline:-48vw;transform:rotateX(58deg)rotate(-15deg)translateZ(-70px)}.detail-overlay{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;grid-template-rows:auto auto;grid-template-columns:1fr;max-height:100dvh;overflow:hidden auto}.detail-visual{height:auto;min-height:0;padding:84px 0 32px}.detail-card-slot{width:clamp(220px,38vw,300px);height:clamp(280px,48vw,380px)}.detail-card-slot .pub-card{width:clamp(208px,36vw,286px);height:clamp(270px,46vw,368px)}.detail-info{max-height:none;padding:32px 28px 56px;overflow:visible}.detail-features,.detail-stats,.detail-doc-meta,.detail-institutions,.reader-page{grid-template-columns:1fr}.reader-top{grid-template-columns:46px 1fr;gap:14px;padding-bottom:12px}.reader-titleblock h2{font-size:clamp(28px,4.2vw,44px);line-height:1}.reader-eyebrow{letter-spacing:.34em;margin-bottom:7px}.reader-actions{grid-area:2/1/auto/-1;justify-content:space-between;justify-self:stretch;overflow-x:auto}.reader-actions button{flex:1 0 auto}.reader-progress{grid-area:3/1/auto/-1}.reader-view{padding:88px 24px 72px}.reader-page{gap:26px;margin-top:30px}.reader-toc{z-index:30;background:linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg), transparent 8%) 86%, transparent 100%);scrollbar-width:none;flex-direction:row;gap:8px;max-width:calc(100vw - 48px);margin-inline:-4px;padding:8px 4px 12px;display:flex;position:sticky;top:0;overflow:auto hidden}.reader-toc::-webkit-scrollbar{display:none}.reader-toc-item{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0a;border-radius:999px;flex:none;width:auto;max-width:240px;min-height:40px;overflow:hidden;padding:0 14px!important}.reader-toc-item.is-active{background:var(--green);color:#061006}.reader-toc-item.is-active:after{display:none}.reader-view--paged .reader-toc{z-index:1;padding-top:4px;position:relative;top:auto}.reader-comments{border:1px solid var(--line);background:#ffffff0a;border-radius:12px;min-height:220px;max-height:42vh;padding:16px;position:static}.hero-scrollwrap{height:220vh}.library{grid-template-columns:1fr;gap:36px;min-height:115vh;margin-top:0;padding:64px 24px 90px}.library-sidebar{flex-flow:wrap;gap:48px;position:static}.filter-block{flex:200px}.videos-panel{padding:92px 18px 56px}.stream-hero{min-height:calc(100svh - 112px)}.stream-jukebox-controls{grid-template-columns:40px minmax(150px,1fr) 40px;width:min(100%,420px)}.stream-jukebox-controls .stream-play-now{letter-spacing:.08em;padding-inline:10px}.stream-deck{width:100%;height:260px;overflow:hidden}.stream-card{width:148px}.stream-now-panel{grid-template-columns:1fr;width:100%}.stream-now-actions{justify-content:stretch}.stream-now-actions button,.stream-now-actions a{flex:140px}.stream-player-overlay{align-items:start;padding:76px 12px 14px}.stream-player-shell{width:100%;max-height:calc(100svh - 92px)}.stream-player-frame{aspect-ratio:16/9;height:auto}.playlist-switch-card{flex-basis:190px}}@media (max-width:620px){.topbar{height:124px}.topbar-inner{grid-template-rows:42px 42px;grid-template-columns:1fr auto;align-content:center;row-gap:10px;padding:10px 18px 12px}.brand{grid-area:1/1;width:78px}.brand img,.ecos-reader-app[data-theme=light] .brand img{width:74px}.nav-pill{grid-area:2/1/auto/-1;width:auto}.top-actions{grid-area:1/2;gap:6px}.nav-pill button{flex:1;height:32px;padding:0 8px;font-size:11px}.micro-pill{letter-spacing:.18em;max-width:82vw;font-size:8px}.hero-copy h1{font-size:clamp(54px,20vw,92px)}.hero-section{padding-top:132px}.hero-book-meta{width:min(86vw,380px)}.library{min-height:110vh;margin-top:0;padding-top:64px}.wall-depth{inset-inline:-86vw;bottom:-16vh}.pub-card{width:145px;height:188px}.detail-card-slot{transform:scale(.78)}.detail-info h2{font-size:clamp(44px,16vw,68px)}.feature-card{min-height:76px}.reader-view,.videos-panel{padding-inline:16px}.reader-view{padding-top:72px}.reader-titleblock h2{font-size:clamp(28px,10vw,44px);line-height:1}.reader-eyebrow{letter-spacing:.28em;margin-bottom:6px}.reader-actions{gap:4px;padding:4px}.reader-actions button{letter-spacing:.08em;min-height:32px;padding:0 9px;font-size:10px}.reader-actions span{min-width:42px}.reader-page{margin-top:18px}.reader-toc{max-width:calc(100vw - 32px)}.reader-pdf-document{gap:34px}.reader-pdf-section{gap:12px}.reader-pdf-section h3{margin-bottom:0;font-size:18px!important}.reader-pdf-canvas,.reader-structured-page{border-radius:7px;box-shadow:0 16px 42px #00000057}.reader-meta-footer{gap:18px;margin-top:42px}.comment-modal{background:#000000ad;place-items:end center;padding:0}.comment-modal-card{width:100%;max-height:88dvh;padding:10px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;overflow:hidden}.comment-modal-card:before{content:"";background:#ffffff47;border-radius:999px;align-self:center;width:44px;height:4px;margin-bottom:2px}.comment-modal-head small{max-width:calc(100vw - 96px)}.comment-quote{max-height:76px;font-size:12px}.comment-quick-actions{margin-right:-16px;padding-right:16px}.comment-modal textarea{resize:none;flex:auto;min-height:156px;max-height:34dvh;font-size:16px}.comment-modal-meta{align-items:flex-start}.comment-modal-actions{flex-direction:column-reverse}.ghost-btn,.solid-btn{width:100%;min-height:46px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.myfiles-panel{padding:96px 18px 64px}.user-publications-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.add-doc-card,.user-pub-card,.user-pub-card .user-pub-cover{width:100%}.add-doc-card,.user-pub-card .user-pub-cover{aspect-ratio:2/3;height:auto}.user-pub-info h4{white-space:normal}}@media (max-width:430px){.topbar{height:116px}.topbar-inner{padding-inline:14px}.nav-pill{justify-content:space-between;gap:4px;width:100%}.nav-pill button{flex:1 1 0;gap:0;min-width:0;padding:0 8px;font-size:0}.nav-pill .nav-icon{flex-basis:16px;width:16px;height:16px}.nav-pill .nav-icon.text-icon{font-size:8px}.top-actions{gap:4px}.profile-chip,.signin-chip{min-width:0;height:38px;padding-inline:10px}.hero-section{padding-top:124px}}.myfiles-panel{background:var(--bg);opacity:0;min-height:100vh;padding:120px 5vw 80px;transition:opacity .6s,transform .6s;display:none;transform:translateY(20px)}.myfiles-panel.is-visible{opacity:1;display:block;transform:translateY(0)}.admin-panel{background:var(--bg);opacity:0;min-height:100vh;padding:120px 5vw 80px;transition:opacity .6s,transform .6s;display:none;transform:translateY(20px)}.admin-panel.is-visible{opacity:1;display:block;transform:translateY(0)}.admin-header{justify-content:space-between;align-items:end;gap:18px;max-width:1180px;margin:0 auto 28px;display:flex}.admin-header h2{font-family:var(--serif);margin:0;font-size:clamp(32px,5vw,56px);font-weight:700}.admin-alert,.admin-empty{max-width:1180px;color:var(--ink);background:#ff7b7b24;border:1px solid #ff7b7b4d;border-radius:8px;margin:0 auto 18px;padding:12px 14px}.admin-empty{background:var(--panel);border-color:var(--line);color:var(--muted)}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1180px;margin:0 auto 22px;display:grid}.admin-metrics div{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:16px}.admin-metrics span,.admin-user-cell small{color:var(--muted);font-size:12px;display:block}.admin-metrics strong{margin-top:4px;font-size:28px;display:block}.admin-controls{grid-template-columns:minmax(260px,1fr) minmax(170px,auto) minmax(150px,auto);gap:10px;max-width:1180px;margin:0 auto 22px;display:grid}.admin-controls input,.admin-controls select{border:1px solid var(--line);background:var(--panel-solid);min-height:42px;color:var(--ink);font:inherit;border-radius:8px;padding:0 12px}.admin-controls input::placeholder{color:var(--muted)}.admin-documents-panel,.admin-comments-panel{border:1px solid var(--line);background:#ffffff09;border-radius:8px;max-width:1180px;margin:0 auto 22px;overflow:hidden}.admin-subheader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:16px;padding:18px;display:flex}.admin-subheader h3{margin:2px 0 0;font-size:22px}.admin-subheader>span{color:var(--muted);white-space:nowrap;font-size:13px}.admin-documents-table{width:100%}.admin-document-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,1.45fr) minmax(150px,.8fr) minmax(150px,.7fr) minmax(280px,1.35fr);align-items:center;gap:16px;padding:16px 18px;display:grid}.admin-document-row:last-child{border-bottom:none}.admin-document-head{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:#ffffff0f;font-size:11px;font-weight:800}.admin-document-main,.admin-document-state,.admin-document-meta,.admin-document-actions,.admin-comment-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.admin-document-main{flex-direction:column;align-items:flex-start}.admin-document-main strong{overflow-wrap:anywhere}.admin-document-main small,.admin-document-state small,.admin-comment-item small,.admin-document-meta span{color:var(--muted);font-size:12px}.status-badge,.review-badge,.access-badge{border:1px solid var(--line);min-height:26px;color:var(--ink);background:#ffffff0f;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:760;display:inline-flex}.status-ready,.review-approved{color:#96e7bd;border-color:#7bc9a394}.status-processing,.review-pending{color:#f7e99d;border-color:#f2df8994}.status-failed,.review-rejected{color:#ff9d9d;border-color:#ff7b7b94}.access-preview{color:#a8d7ff;border-color:#8fc7ff85}.access-full{color:var(--green);border-color:#dfff277a}.admin-book-panel{background:#dfff2709;border:1px solid #dfff2738;border-radius:8px;max-width:1180px;margin:0 auto 22px;overflow:hidden}.admin-book-summary{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:16px 18px;display:flex}.admin-book-summary>span:not(.status-badge):not(.review-badge):not(.access-badge){border:1px solid var(--line);min-height:26px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.admin-book-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:0;display:grid}.admin-book-section{min-width:0;padding:18px}.admin-book-section+.admin-book-section{border-left:1px solid var(--line)}.admin-book-section h4{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:14px}.admin-book-comment,.admin-access-request{border:1px solid var(--line);background:#ffffff09;border-radius:8px;gap:8px;padding:14px;display:grid}.admin-book-comment+.admin-book-comment,.admin-access-request+.admin-access-request{margin-top:10px}.admin-book-comment header,.admin-access-request header{align-items:center;gap:10px;display:flex}.admin-access-request header>span:nth-child(2){flex:1;min-width:0}.admin-book-comment p,.admin-book-comment blockquote{overflow-wrap:anywhere;margin:0}.admin-book-comment blockquote{border-left:2px solid var(--green);color:var(--muted);padding-left:10px}.admin-document-actions .secondary-pill,.admin-comment-actions .secondary-pill{min-height:34px;padding:0 12px}.admin-document-actions .secondary-pill:disabled,.admin-comment-actions .secondary-pill:disabled{opacity:.48;cursor:not-allowed}.admin-comments-list{gap:0;display:grid}.admin-comment-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.9fr) minmax(220px,1.2fr) minmax(180px,1fr) auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.admin-comment-item:last-child{border-bottom:none}.admin-comment-item p,.admin-comment-item blockquote{color:var(--ink);overflow-wrap:anywhere;margin:0}.admin-comment-item blockquote{border-left:2px solid var(--green);color:var(--muted);padding-left:10px}.admin-users-table{border:1px solid var(--line);background:#ffffff09;border-radius:8px;max-width:1180px;margin:0 auto;overflow:hidden}.admin-user-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,2fr) minmax(160px,1fr) minmax(160px,1fr) minmax(210px,1fr);align-items:center;gap:16px;padding:16px;display:grid}.admin-user-row:last-child{border-bottom:none}.admin-user-head{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:#ffffff0f;font-size:11px;font-weight:800}.admin-user-cell{min-width:0}.admin-user-identity{align-items:center;gap:12px;display:flex}.admin-user-identity strong,.admin-user-identity small{overflow-wrap:anywhere}.admin-avatar{border:1px solid var(--line);background:var(--panel-solid);width:42px;height:42px;color:var(--green);border-radius:50%;flex:0 0 42px;place-items:center;font-size:12px;font-weight:800;display:inline-grid;overflow:hidden}.admin-avatar img{object-fit:cover;width:100%;height:100%}.provider-list,.admin-counts,.admin-role-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-badge,.role-badge{border:1px solid var(--line);min-height:26px;color:var(--ink);background:#ffffff0f;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:760;display:inline-flex}.role-admin{color:var(--green);border-color:#dfff277a}.role-author{color:#9ed1ff;border-color:#8fc7ff85}.admin-role-cell select{border:1px solid var(--line);background:var(--panel-solid);min-width:116px;color:var(--ink);border-radius:8px;padding:8px 10px}.admin-role-cell select:disabled{opacity:.58;cursor:not-allowed}@media (max-width:980px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-controls{grid-template-columns:1fr 1fr}.admin-controls input{grid-column:1/-1}.admin-user-head,.admin-document-head{display:none}.admin-user-row,.admin-document-row,.admin-comment-item{grid-template-columns:1fr;gap:12px}.admin-book-grid{grid-template-columns:1fr}.admin-book-section+.admin-book-section{border-top:1px solid var(--line);border-left:0}.admin-user-cell,.admin-document-state,.admin-document-meta,.admin-document-actions{justify-content:space-between;gap:12px;display:flex}.admin-user-identity{justify-content:flex-start}}@media (max-width:620px){.admin-panel{padding:150px 18px 72px}.admin-header{flex-direction:column;align-items:stretch}.admin-subheader{flex-direction:column;align-items:flex-start}.admin-metrics,.admin-controls{grid-template-columns:1fr}.language-switcher button{min-width:30px}.admin-user-cell,.admin-role-cell,.admin-document-state,.admin-document-meta,.admin-document-actions,.admin-comment-actions{flex-direction:column;align-items:flex-start}.admin-document-actions .secondary-pill,.admin-comment-actions .secondary-pill{justify-content:center;width:100%}}.myfiles-header{max-width:800px;margin-bottom:48px}.myfiles-header h2{font-family:var(--serif);margin:0 0 12px;font-size:clamp(32px,5vw,56px);font-weight:700}.myfiles-header p{color:var(--muted);font-size:18px}.dropzone-container{margin-bottom:64px}.dropzone{background:var(--panel);border:2px dashed var(--line);cursor:pointer;border-radius:24px;place-items:center;width:100%;max-width:800px;height:240px;transition:all .3s;display:grid;position:relative;overflow:hidden}.dropzone:hover,.dropzone.is-dragover{border-color:var(--green);background:#c8f0000d;transform:scale(1.01)}.dropzone-inner{text-align:center;pointer-events:none}.dropzone-icon{opacity:.8;width:48px;height:48px;margin-bottom:16px}.dropzone h3{margin:0 0 8px;font-size:20px}.dropzone p{color:var(--muted);margin-bottom:12px}.file-format-hint{text-transform:uppercase;letter-spacing:.1em;color:var(--green);background:#c8f0001a;border-radius:100px;padding:4px 12px;font-size:12px;font-weight:700}.user-publications{max-width:1200px}.user-publications-header{border-bottom:1px solid var(--line);align-items:baseline;gap:16px;margin-bottom:32px;padding-bottom:16px;display:flex}.pub-count{color:var(--muted);font-size:14px}.empty-user-files{text-align:center;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:16px;grid-column:1/-1;padding:64px 0}.user-pub-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:16px;padding:20px;transition:transform .3s;display:flex}.user-pub-card:hover{transform:translateY(-5px)}.user-pub-card.is-processing{border-color:#dfff2757;box-shadow:0 0 0 1px #dfff2714,0 18px 48px #0000002e}.user-pub-cover{aspect-ratio:3/4;background:var(--bg);border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.user-pub-cover img{object-fit:cover;width:100%;height:100%}.processing-cover-badge{min-height:30px;color:var(--green);letter-spacing:.08em;text-transform:uppercase;background:#040605d1;border:1px solid #dfff276b;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex;position:absolute;inset:auto 12px 12px}.processing-status-panel{background:#dfff2714;border:1px solid #dfff273d;border-radius:12px;align-items:center;gap:12px;max-width:820px;margin-top:18px;padding:14px 16px;display:flex}.processing-status-panel strong,.processing-status-panel small{display:block}.processing-status-panel small{color:var(--muted);margin-top:2px;font-size:12px}.processing-dot{background:var(--green);border-radius:50%;flex:0 0 12px;width:12px;height:12px;animation:1.2s ease-in-out infinite processingPulse;box-shadow:0 0 #dfff276b}@keyframes processingPulse{0%{box-shadow:0 0 #dfff276b}70%{box-shadow:0 0 0 10px #dfff2700}to{box-shadow:0 0 #dfff2700}}.user-pub-cover .pdf-icon{opacity:.3;width:64px}.user-pub-info h4{font-family:var(--serif);margin:0 0 8px;font-size:20px;font-weight:700}.user-pub-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.user-pub-tag{background:var(--line);color:var(--ink);border-radius:4px;padding:2px 8px}.btn-update-version{background:var(--ink);color:var(--bg);cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:700;transition:opacity .2s}.btn-update-version:hover{opacity:.9}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-content{border-radius:22px;width:100%;max-width:860px;max-height:calc(100vh - 40px);padding:34px 40px 28px;overflow-y:auto}.glass-panel{border:1px solid var(--line);background:var(--panel-solid);box-shadow:0 28px 80px #0000008a}.modal-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px;display:flex}.modal-header h3{margin:0;font-size:24px}.modal-kicker{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.modal-close-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;font-size:32px}.upload-builder-overlay{align-items:center;padding:12px;overflow:hidden}.upload-builder-modal{border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1480px,100vw - 18px);height:min(900px,100svh - 18px);display:grid;overflow:hidden}.upload-builder-header,.upload-builder-footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex}.upload-builder-header h3{margin:0;font-size:clamp(17px,1.35vw,21px)}.builder-progress-strip{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.builder-progress-strip span{border:1px solid var(--line);min-height:22px;color:var(--muted);border-radius:999px;align-items:center;padding:0 8px;font-size:10px;font-weight:850;display:inline-flex}.builder-progress-strip span.is-done{color:var(--ink);background:#dfff271c;border-color:#dfff2766}.builder-progress-strip span.is-active{border-color:var(--green);color:var(--ink);background:#dfff2729}.upload-builder-header-actions,.upload-builder-footer{align-items:center;gap:12px;display:flex}.upload-builder-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.builder-language{grid-template-columns:repeat(2,minmax(62px,1fr));margin:0;padding:3px;display:grid}.builder-language button{text-align:center;place-items:center;gap:1px;min-width:66px;height:38px;line-height:1;display:grid}.builder-language button span{font-size:12px}.builder-language button small{opacity:.72;font-size:9px;font-weight:700}.upload-builder-header .modal-close-btn{border-radius:999px;place-items:center;width:30px;height:30px;padding:0;font-size:18px;line-height:1;display:grid}.upload-builder-body{grid-template-columns:minmax(0,1fr) 360px;gap:0;min-height:0;display:grid}.upload-preview-stage{background:radial-gradient(circle at 28% 72%, #dfff2729, transparent 28%), var(--bg);grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);min-width:0;min-height:0;display:grid}.upload-cover-stage{border-right:1px solid var(--line);align-content:center;gap:14px;min-height:0;padding:22px;display:grid}.builder-cover-button{aspect-ratio:.72;color:#091008;cursor:pointer;background:linear-gradient(135deg,#f6f6ebf2,#e5e8d3f2);border:1px dashed #dfff2757;border-radius:10px;justify-self:center;width:min(100%,210px);transition:transform .18s,border-color .18s;position:relative;overflow:hidden;transform:rotate(-4deg);box-shadow:0 28px 54px #00000057}.builder-cover-button:hover,.builder-cover-button:focus-visible{border-color:var(--green);transform:rotate(-2deg)translateY(-3px)}.builder-cover-button img{object-fit:cover;width:100%;height:100%}.builder-cover-button>span{text-align:left;align-content:space-between;height:100%;padding:22px 18px;display:grid}.builder-cover-button strong{max-width:100%;font-family:var(--serif);overflow-wrap:anywhere;font-size:clamp(24px,2.5vw,36px);font-weight:700;line-height:.96}.builder-cover-button small{color:#091008a3;letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:850}.builder-cover-button.is-empty{background:linear-gradient(135deg,#f6f6ebf5,#e9ebdcf5)}.builder-cover-skeleton{gap:12px}.builder-cover-skeleton i{background:#09100824;border-radius:999px;width:100%;height:12px;display:block}.builder-cover-skeleton i:nth-of-type(2){width:74%}.builder-cover-skeleton i:nth-of-type(3){align-self:end;width:48%}.builder-cover-skeleton strong{letter-spacing:.08em;text-transform:uppercase;align-self:end;font-family:inherit;font-size:13px;font-weight:900}.builder-cover-hint{max-width:220px;color:var(--muted);text-align:center;justify-self:center;margin:-4px 0 0;font-size:11px;line-height:1.4}.builder-cover-action{justify-self:center}.builder-pdf-dock,.builder-file-actions{gap:8px;display:grid}.builder-file-chip,.builder-file-actions button{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;text-align:left;background:#ffffff0b;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;display:grid}.builder-file-actions button{color:var(--ink);text-align:left;grid-template-columns:64px minmax(0,1fr);font-weight:800;display:grid}.builder-file-actions button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:12px;font-weight:700;overflow:hidden}.builder-file-chip strong{width:30px;height:30px;color:var(--green);background:#dfff2721;border-radius:8px;place-items:center;font-size:11px;display:grid}.builder-file-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.builder-file-chip.has-file{color:var(--ink);border-color:#dfff276b}.upload-book-page-preview{min-width:0;min-height:0;padding:clamp(22px,3.4vw,42px);overflow-y:auto}.builder-language-note{background:#dfff2712;border:1px solid #dfff273d;border-radius:8px;gap:4px;max-width:720px;margin:-14px 0 14px;padding:10px 12px;display:grid}.builder-language-note strong{letter-spacing:.14em;text-transform:uppercase;font-size:11px}.builder-language-note span{color:var(--muted);font-size:12px;line-height:1.45}.builder-title-input,.builder-subtitle-input,.builder-summary-input,.builder-meta-grid input,.upload-builder-sidebar input,.upload-builder-sidebar textarea{width:100%;color:var(--ink);background:0 0;border:1px solid #0000;font-family:inherit;transition:border-color .16s,background .16s}.builder-title-input:focus,.builder-subtitle-input:focus,.builder-summary-input:focus,.builder-meta-grid input:focus,.upload-builder-sidebar input:focus,.upload-builder-sidebar textarea:focus{background:#ffffff0b;border-color:#dfff2775;outline:none}.builder-title-input{max-width:760px;min-height:86px;font-family:var(--serif);padding:4px 0;font-size:clamp(32px,4vw,54px);font-weight:700;line-height:.98}.builder-subtitle-input{min-height:42px;color:color-mix(in srgb, var(--ink), transparent 20%);margin-top:10px;padding:8px 0;font-size:16px;font-style:italic}.builder-summary-input{resize:vertical;min-height:82px;margin-top:10px;padding:10px 0;line-height:1.55}.builder-writing-meter{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.builder-writing-meter span{border:1px solid var(--line);min-height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:0 9px;font-size:10px;font-weight:850;display:inline-flex}.builder-writing-meter span.is-done{color:var(--ink);border-color:#dfff2766}.builder-meta-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:12px;margin-top:18px;display:grid}.builder-meta-grid label,.builder-auto-card{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;gap:7px;min-height:78px;margin:0;padding:14px 16px;display:grid}.builder-meta-grid span,.builder-auto-card span,.builder-panel-head span,.upload-builder-sidebar label{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:850}.builder-meta-grid input{min-height:28px;padding:0;font-size:20px;font-weight:800}.builder-auto-card strong{font-size:16px}.builder-auto-card small,.builder-panel-section p{color:var(--muted);font-size:12px;line-height:1.45}.builder-access-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.builder-access-toggle button{border:1px solid var(--line);min-height:58px;color:var(--muted);cursor:pointer;text-align:left;background:#ffffff0d;border-radius:12px;gap:4px;padding:10px 14px;display:grid}.builder-access-toggle button strong{color:var(--ink);font-size:14px;font-weight:900}.builder-access-toggle button small{color:var(--muted);font-size:11px;line-height:1.35}.builder-access-toggle button.is-active{color:var(--ink);background:#dfff2721;border-color:#dfff2780}.builder-tag-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.builder-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.builder-empty-pill{color:var(--muted);font-size:12px}.upload-builder-sidebar{border-left:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid), var(--bg) 18%);align-content:start;gap:10px;min-width:0;min-height:0;padding:14px;display:grid;overflow-y:auto}.builder-panel-section{border:1px solid var(--line);background:#ffffff09;border-radius:10px;gap:10px;padding:12px;display:grid}.builder-panel-head{gap:4px;display:grid}.builder-panel-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.upload-builder-sidebar textarea,.upload-builder-sidebar input{border-color:var(--line);background:var(--bg);border-radius:8px;min-height:42px;padding:10px 11px}.upload-builder-sidebar textarea{resize:vertical;min-height:112px}.builder-tag-input{min-height:44px}.compact-suggestions{max-height:none;overflow-y:auto}.compact-suggestions button.is-selected{color:var(--ink);background:#dfff2721;border-color:#dfff277a}.builder-author-row{grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.builder-author-avatar{cursor:pointer;place-items:center;width:42px;height:42px;margin:0;display:grid;position:relative}.builder-author-avatar:after{content:"PP";background:var(--green);color:#071006;border-radius:999px;place-items:center;width:18px;height:18px;font-size:8px;font-weight:950;display:grid;position:absolute;bottom:-2px;right:-2px}.builder-author-avatar img,.builder-author-avatar span{border:1px solid var(--line);object-fit:cover;border-radius:999px;place-items:center;width:42px;height:42px;display:grid}.builder-author-avatar span{color:var(--green);background:#dfff271f;font-size:9px;font-weight:900}.builder-author-row button{border:1px solid var(--line);min-height:42px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:8px;font-size:18px}.builder-empty-institution{min-height:52px;color:var(--ink);cursor:pointer;background:#dfff2714;border:1px dashed #dfff275c;border-radius:10px;font-weight:850}.builder-institution-card{grid-template-columns:52px minmax(0,1fr) 34px;align-items:start;gap:10px;display:grid}.builder-logo-preview{border:1px solid var(--line);background:#ffffff0f;border-radius:10px;place-items:center;width:52px;height:52px;display:grid;position:relative;overflow:hidden}.builder-logo-preview label{color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#000000b8;border-radius:6px;place-items:center;min-height:20px;font-size:9px;font-weight:850;display:grid;position:absolute;inset:auto 4px 4px}.builder-logo-preview img{object-fit:contain;max-width:86%;max-height:86%}.builder-logo-preview span{color:var(--muted);font-size:12px;font-weight:850}.builder-institution-card>div:nth-child(2){gap:7px;display:grid}.builder-institution-card>button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:8px;font-size:18px}@media (max-width:1080px){.upload-builder-modal{height:calc(100svh - 20px)}.upload-builder-body{grid-template-columns:1fr;overflow-y:auto}.upload-preview-stage{grid-template-columns:minmax(160px,.32fr) minmax(0,1fr);min-height:560px}.upload-builder-sidebar{border-left:0;border-top:1px solid var(--line);overflow:visible}}@media (max-width:720px){.upload-builder-overlay{padding:0}.upload-builder-modal{border-radius:0;width:100vw;height:100svh}.upload-builder-header,.upload-builder-footer{padding:12px 14px}.upload-builder-header{align-items:start}.upload-builder-header-actions{gap:8px}.upload-preview-stage{grid-template-columns:1fr;min-height:auto}.upload-cover-stage{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,150px) minmax(0,1fr);align-items:center;padding:16px}.builder-cover-button{width:136px}.builder-cover-action{justify-self:stretch}.builder-pdf-dock{grid-column:2}.upload-book-page-preview{padding:22px 16px}.builder-title-input{min-height:88px;font-size:clamp(38px,13vw,58px)}.builder-meta-grid,.builder-feature-grid,.builder-access-toggle{grid-template-columns:1fr}.upload-builder-sidebar{padding:14px}.upload-builder-footer .btn-primary,.upload-builder-footer .btn-secondary{flex:1 1 0}}.upload-builder-body--template{background:#050707;min-height:0;display:block;position:relative;overflow:hidden}.upload-setup-workbench{background:radial-gradient(circle at 18% 74%,#dfff2724,#0000 28%),radial-gradient(circle at 84% 18%,#7bc9a31f,#0000 26%),#050707;grid-template-rows:auto minmax(0,1fr);gap:18px;height:100%;min-height:0;padding:clamp(22px,3vw,40px);display:grid;overflow-y:auto}.guided-upload-flow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.guided-upload-flow--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:900px){.guided-upload-flow,.guided-upload-flow--two{grid-template-columns:minmax(0,1fr)}}.upload-guide-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid), black 8%);border-radius:14px;align-content:start;gap:14px;min-height:170px;padding:18px;display:grid}.guide-companion-toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff09;border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.guide-companion-toggle input{accent-color:var(--green);cursor:pointer;margin-top:3px}.guide-companion-toggle strong{color:var(--ink);font-size:13px;display:block}.guide-companion-toggle small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4;display:block}.guide-access-summary{color:var(--muted);background:#dfff270f;border:1px dashed #dfff275c;border-radius:10px;margin:0;padding:10px 12px;font-size:12px;font-weight:750}.guide-access-summary strong{color:var(--ink)}.guide-files-hint{margin:0;font-size:12px;font-weight:800}.guide-files-hint--missing{color:#ffd166}.guide-files-hint--ready{color:var(--green)}.upload-guide-card header{grid-template-columns:34px minmax(0,1fr) 24px;align-items:start;gap:10px;display:grid}.upload-guide-card header strong{color:var(--ink);font-size:17px;line-height:1.2}.upload-guide-card header p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.guide-step-mark,.guide-info{border-radius:999px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:950;display:grid}.guide-step-mark{color:var(--green);background:#dfff2726}.guide-info{border:1px solid var(--line);color:var(--muted);cursor:help;background:#ffffff0b;position:relative}.guide-info:after{content:attr(data-tooltip);z-index:20;width:min(260px,70vw);color:var(--ink);opacity:0;pointer-events:none;background:#10150f;border:1px solid #dfff273d;border-radius:8px;padding:9px 10px;font-size:11px;font-weight:750;line-height:1.35;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px);box-shadow:0 18px 48px #00000073}.guide-info:hover:after,.guide-info:focus-visible:after{opacity:1;transform:translateY(0)}.upload-primary-grid,.guide-choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.upload-primary-grid button,.guide-choice-row button,.guided-file-grid button,.builder-access-primary button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff0b;border-radius:12px;font-family:inherit;transition:border-color .16s,background .16s,transform .16s}.upload-primary-grid button{text-align:left;gap:8px;min-height:128px;padding:14px;display:grid}.upload-primary-grid button span,.upload-primary-grid button small{color:var(--muted);font-size:12px;line-height:1.4}.upload-primary-grid button small{border-top:1px solid var(--line);padding-top:8px}.upload-primary-grid button:hover,.upload-primary-grid button.is-active,.guide-choice-row button:hover,.guide-choice-row button.is-active,.builder-access-primary button:hover,.builder-access-primary button.is-active{background:#dfff271f;border-color:#dfff278f}.guide-choice-row button{text-align:center;place-items:center;min-height:48px;padding:10px 12px;font-weight:850;display:grid}.guided-file-grid{gap:12px;display:grid}.guided-file-grid button{text-align:left;border-style:dashed;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"icon title badge""icon helper badge";align-items:center;gap:4px 16px;min-height:108px;padding:18px 20px;display:grid;position:relative;overflow:hidden}.guided-file-grid i{width:56px;height:56px;color:var(--green);letter-spacing:.08em;background:#dfff271a;border-radius:18px;grid-area:icon;place-items:center;font-size:12px;font-style:normal;font-weight:950;display:grid}.guided-file-grid .upload-drop-icon{background:#dfff271c;border:1px solid #dfff272e;position:relative}.guided-file-grid .upload-drop-icon:before{content:"";background:linear-gradient(135deg,#0000 0 11px,#dfff272e 12px 100%),#dfff270d;border:2px solid;border-radius:5px;width:24px;height:30px;box-shadow:inset 0 -8px #dfff2714}.guided-file-grid .upload-drop-icon:after{content:"";opacity:.9;border:2px solid;border-left-color:#0000;border-radius:999px;width:10px;height:23px;position:absolute;top:13px;right:13px;transform:rotate(27deg)}.guided-file-grid .upload-drop-icon span{opacity:.9;background:currentColor;border-radius:999px;width:14px;height:2px;position:absolute;top:26px;left:18px;box-shadow:0 6px #dfff27b8}.builder-file-actions--status i{width:30px;height:30px;color:var(--muted);background:#ffffff0f;border-radius:999px;place-items:center;font-size:10px;font-style:normal;font-weight:950;display:grid}.guided-file-grid strong{color:var(--ink);grid-area:title;align-self:end;font-size:clamp(17px,1.45vw,21px);line-height:1.15}.guided-file-grid button>span{min-width:0;color:color-mix(in srgb, var(--ink), transparent 20%);text-overflow:ellipsis;white-space:normal;grid-area:helper;font-size:13px;font-weight:760;line-height:1.35;overflow:hidden}.builder-file-actions--status button>span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.guided-file-grid small{min-height:24px;color:var(--muted);background:#ffffff0f;border-radius:999px;grid-area:badge;justify-self:end;place-items:center;padding:0 11px;font-size:10px;font-weight:900;display:grid}.guided-file-grid button.is-ready,.builder-file-actions--status button.is-ready{background:#dfff271c;border-color:#dfff2780}.guided-file-grid button.is-ready i,.builder-file-actions--status button.is-ready i{background:var(--green);color:#071006}.guided-file-grid button.is-ready .upload-drop-icon:after{border-top:0;border-bottom:3px solid;border-left:3px solid;border-right:0;border-radius:0;width:15px;height:8px;top:15px;right:15px;transform:rotate(-45deg)}.guided-file-grid button.is-missing,.builder-file-actions--status button.is-missing{background:#ffd1660f;border-color:#ffd16685}.guided-file-grid button.is-missing{background:linear-gradient(#ffd16614,#ffd16608),#ffffff06;border-color:#ffd166c7}.guided-file-grid button.is-missing i,.builder-file-actions--status button.is-missing i{color:#ffd166;background:#ffd1662e}.guided-file-grid button.is-missing small{color:#ffd166;background:#ffd16629}.guided-file-grid button.is-optional{background:#ffffff09;border-color:#dfff2747}.guided-file-grid button.is-optional i,.builder-file-actions--status button.is-optional i,.guided-file-grid button.is-optional small{color:var(--green)}.guided-file-grid button.is-missing>span,.guided-file-grid button.is-optional>span,.builder-file-actions--status button.is-missing>span,.builder-file-actions--status button.is-optional>span{color:color-mix(in srgb, var(--ink), transparent 18%)}.builder-file-actions--status button.is-missing i,.builder-file-actions--status button.is-optional i{animation:1.8s ease-in-out infinite upload-slot-pulse}.guided-file-grid button.is-dragging,.builder-file-actions--status button.is-dragging{border-color:var(--green);background:#dfff2729;border-style:solid;transform:translateY(-1px)}.guided-file-grid button:hover,.guided-file-grid button:focus-visible,.builder-file-actions--status button:hover,.builder-file-actions--status button:focus-visible{background:#dfff271a;border-color:#dfff278f;transform:translateY(-1px)}.builder-file-actions--status button:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ffffff14,#0000);width:42px;position:absolute;inset:0 auto 0 -18%;transform:skew(-18deg)}.builder-file-actions--status button.is-missing:after,.builder-file-actions--status button.is-optional:after{opacity:1;animation:2.8s ease-in-out infinite upload-slot-sheen}@keyframes upload-slot-pulse{0%,to{transform:scale(1);box-shadow:0 0 #dfff2700}50%{transform:scale(1.06);box-shadow:0 0 0 6px #dfff2714}}@keyframes upload-slot-sheen{0%,to{transform:translate(0)skew(-18deg)}55%{transform:translate(320%)skew(-18deg)}}.upload-progress-banner{color:var(--text-primary,#f4f4f4);background:#dfff2714;border:1px solid #dfff2766;border-radius:14px;align-items:center;gap:14px;margin:0 0 18px;padding:14px 18px;display:flex}.upload-progress-banner strong{font-size:14px;font-weight:600;display:block}.upload-progress-banner small{opacity:.75;margin-top:2px;font-size:12px;display:block}.upload-progress-spinner{border:3px solid #dfff2740;border-top-color:var(--green);border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.9s linear infinite upload-spin}@keyframes upload-spin{to{transform:rotate(360deg)}}.doc-status-toast{z-index:9999;color:#f4f4f4;background:#141414f2;border:1px solid #dfff2766;border-radius:12px;align-items:center;gap:10px;max-width:360px;padding:12px 16px;animation:.25s ease-out doc-toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #00000073}.doc-status-toast.is-failed{border-color:#ff636399}.doc-status-toast strong{color:var(--green);font-size:13px}.doc-status-toast.is-failed strong{color:#f88}.doc-status-toast span{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.doc-status-toast-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px 6px;font-size:14px}.doc-status-toast-close:hover{opacity:1}@keyframes doc-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-setup-hero{max-width:780px}.upload-setup-hero h3{font-family:var(--serif);margin:0;font-size:clamp(36px,5vw,68px);font-weight:700;line-height:.96}.upload-setup-hero p:not(.modal-kicker){max-width:620px;color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.55}.upload-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.upload-mode-grid button{border:1px solid var(--line);min-height:190px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff0b;border-radius:12px;align-content:start;gap:10px;padding:18px;transition:border-color .18s,background .18s,transform .18s;display:grid}.upload-mode-grid button:hover,.upload-mode-grid button.is-active{background:#dfff271c;border-color:#dfff2794;transform:translateY(-2px)}.upload-mode-grid button>span{width:34px;height:34px;color:var(--green);background:#dfff2724;border-radius:999px;place-items:center;font-size:11px;font-weight:900;display:grid}.upload-mode-grid strong{font-size:20px;line-height:1.1}.upload-mode-grid small,.upload-mode-grid em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.upload-mode-grid em{border-top:1px solid var(--line);margin-top:auto;padding-top:10px}.upload-setup-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);align-items:start;gap:12px;display:grid}.upload-setup-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid), black 8%);border-radius:12px;gap:12px;padding:16px;display:grid}.setup-file-grid,.setup-language-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.setup-file-grid button,.setup-language-switch button{border:1px solid var(--line);min-height:70px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff0b;border-radius:12px;gap:6px;padding:12px 14px;display:grid}.setup-file-grid button.has-file,.setup-language-switch button.is-active{background:#dfff271f;border-color:#dfff277a}.setup-file-grid strong{color:var(--green);font-size:12px;font-weight:900}.setup-file-grid span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.upload-template-workbench{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.template-topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid), black 12%);justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:10px 14px;display:flex}.template-topbar>div:first-child{gap:3px;min-width:150px;display:grid}.template-topbar span,.upload-template-inspector header span{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;font-size:10px;font-weight:850}.template-topbar strong,.upload-template-inspector header strong{color:var(--ink);font-size:14px;line-height:1.2}.template-layer-tabs{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.template-layer-tabs button,.template-node-pill,.template-section-head button,.template-detail-label button,.template-tag-cloud button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0b;font-family:inherit;transition:border-color .16s,background .16s,color .16s,transform .16s}.template-layer-tabs button{border-radius:999px;min-height:30px;padding:0 10px;font-size:10px;font-weight:850}.template-layer-tabs button.is-active,.template-layer-tabs button:hover,.template-node-pill:hover,.template-section-head button:hover,.template-detail-label button:hover,.template-tag-cloud button:hover{color:var(--ink);background:#dfff271f;border-color:#dfff277a}.upload-template-canvas{background:color-mix(in srgb, var(--bg), black 14%);grid-template-columns:minmax(230px,28%) minmax(520px,1fr) minmax(300px,330px);min-height:0;display:grid;position:relative;overflow:hidden}.upload-template-canvas[data-active-layer=files] .template-cover-frame,.upload-template-canvas[data-active-layer=files] .template-file-dock,.upload-template-canvas[data-active-layer=story] .template-title-editor,.upload-template-canvas[data-active-layer=story] .template-subtitle-editor,.upload-template-canvas[data-active-layer=story] .template-summary-editor,.upload-template-canvas[data-active-layer=topics] .template-tag-cloud,.upload-template-canvas[data-active-layer=authors] .feature-card--authors,.upload-template-canvas[data-active-layer=institutions] .template-institutions-section,.upload-template-canvas[data-active-layer=about] .template-about-section{outline-offset:6px;outline:2px solid #74d7ffc2;box-shadow:0 0 0 1px #74d7ff38,0 18px 60px #74d7ff1f}.upload-template-canvas .template-cover-frame,.upload-template-canvas .template-file-dock,.upload-template-canvas .template-detail-label button,.upload-template-canvas .template-detail-label input,.upload-template-canvas .template-title-editor,.upload-template-canvas .template-subtitle-editor,.upload-template-canvas .template-summary-editor,.upload-template-canvas .template-tag-cloud,.upload-template-canvas .feature-card,.upload-template-canvas .template-institutions-section,.upload-template-canvas .template-about-section{outline-offset:4px;background-image:linear-gradient(#dfff2706,#dfff2700);outline:1px solid #dfff2738;transition:outline-color .16s,outline-width .16s,box-shadow .16s,background .16s}.upload-template-canvas .template-cover-frame:hover,.upload-template-canvas .template-file-dock:hover,.upload-template-canvas .template-detail-label button:hover,.upload-template-canvas .template-detail-label input:hover,.upload-template-canvas .template-title-editor:hover,.upload-template-canvas .template-subtitle-editor:hover,.upload-template-canvas .template-summary-editor:hover,.upload-template-canvas .template-tag-cloud:hover,.upload-template-canvas .feature-card:hover,.upload-template-canvas .template-institutions-section:hover,.upload-template-canvas .template-about-section:hover{outline-color:#dfff276b}:is(.template-detail-label:has(input:focus),.template-institutions-section:has(input:focus),.template-about-section:has(textarea:focus)){outline-offset:6px;outline:2px solid #ffd166c7;box-shadow:0 0 0 1px #ffd16633,0 18px 60px #ffd1661a}.template-detail-visual{border-right:1px solid var(--line);background:#060808;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.template-detail-visual .detail-aura{opacity:.48;width:min(44vw,520px);height:min(44vw,520px)}.template-cover-frame{perspective:1000px;place-items:center;width:min(60%,230px);min-width:170px;display:grid;position:relative;transform:translateY(-52px)}.template-cover-frame .builder-cover-button{width:min(100%,210px);transform:rotateX(7deg)rotateY(-20deg)rotate(-7deg)}.template-cover-frame .builder-cover-button:hover,.template-cover-frame .builder-cover-button:focus-visible{transform:rotateX(6deg)rotateY(-16deg)rotate(-5deg)translateY(-4px)}.template-node-pill{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;min-height:32px;padding:0 13px;font-size:10px;font-weight:850;position:absolute;top:-42px;bottom:auto;left:50%;transform:translate(-50%)}.template-file-dock{z-index:2;grid-template-columns:1fr;gap:8px;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.template-detail-info{min-width:0;min-height:0;padding:clamp(24px,3.2vw,44px) clamp(24px,4.2vw,66px) 46px;position:relative;overflow-y:auto}.template-selected-banner{background:#dfff2712;border:1px solid #dfff2738;border-radius:8px;gap:4px;max-width:760px;margin:0 0 18px;padding:10px 12px;display:grid}.template-selected-banner span,.template-selected-banner strong{color:var(--muted);font-size:11px;line-height:1.45}.template-selected-banner span{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;font-weight:850}.template-edit-region{min-height:30px;color:var(--ink);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:#dfff271a;border:1px solid #dfff2759;border-radius:999px;padding:0 12px;font-size:10px;font-weight:850;position:absolute;top:16px;right:16px}.template-detail-label{letter-spacing:.28em;align-items:center;gap:9px;margin-bottom:20px;display:flex}.template-detail-label button,.template-detail-label input{min-width:0;color:var(--muted);font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;border-radius:999px}.template-detail-label button{text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,560px);padding:6px 9px;overflow:hidden}.template-detail-label input{background:0 0;border:1px solid #0000;width:104px;padding:6px 8px}.template-title-editor,.template-subtitle-editor,.template-summary-editor,.template-about-editor,.template-institution-card input{width:100%;color:var(--ink);background:0 0;border:1px solid #0000;font-family:inherit;transition:border-color .16s,background .16s}.template-title-editor:focus,.template-subtitle-editor:focus,.template-summary-editor:focus,.template-about-editor:focus,.template-detail-label input:focus,.template-institution-card input:focus{background:#ffd16612;border-color:#ffd166b8;outline:none;box-shadow:inset 0 0 0 1px #ffd16629}.template-title-editor{max-width:760px;min-height:96px;font-family:var(--serif);padding:4px 0;font-size:clamp(40px,4.2vw,66px);font-weight:700;line-height:.92}.template-subtitle-editor{max-width:680px;min-height:40px;color:color-mix(in srgb, var(--ink), transparent 20%);margin-top:10px;padding:7px 0;font-size:16px;font-style:italic}.template-summary-editor{max-width:720px;min-height:88px;color:var(--ink);resize:vertical;margin-top:10px;padding:10px 0;line-height:1.55}.template-doc-meta p{min-height:64px}.template-tag-cloud button{min-height:30px;color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex}.template-tag-cloud button span{color:var(--muted);font-size:14px;line-height:1}.builder-file-actions--status button{text-align:left;grid-template-columns:34px 68px minmax(0,1fr);align-items:center;min-height:50px}.upload-template-canvas .builder-file-actions--status button:after{content:none;animation:none}.upload-template-canvas .builder-file-actions--status button.is-missing i,.upload-template-canvas .builder-file-actions--status button.is-optional i{animation:none}.builder-file-actions--status button strong{font-size:12px}.builder-access-guide,.builder-companion-card{gap:10px;display:grid}.builder-access-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.builder-access-primary button{text-align:left;gap:6px;min-height:88px;padding:10px;display:grid}.builder-access-primary small,.builder-companion-card p{color:var(--muted);font-size:11px;line-height:1.4}.builder-companion-card{border:1px solid var(--line);background:#ffffff09;border-radius:12px;padding:12px}.builder-companion-card>span{color:var(--ink);font-weight:900}.builder-companion-card p{margin:0}.template-feature-grid button.feature-card{color:var(--ink);cursor:pointer;font-family:inherit}.template-author-stack{gap:7px;width:100%;display:grid}.template-author-stack span{min-width:0;color:var(--ink);letter-spacing:0;text-transform:none;align-items:center;gap:7px;font-size:12px;display:flex}.template-author-stack img,.template-author-stack i{border:1px solid var(--line);object-fit:cover;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;display:grid}.template-author-stack i{color:var(--green);background:#dfff271f;font-size:9px;font-style:normal;font-weight:900}.template-feature-grid button.feature-card:hover,.template-institution-card:hover,.template-about-section:hover{border-color:#dfff2757}.template-stats .stat strong{font-size:26px}.template-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.template-section-head h3{margin:0}.template-institutions-section{max-width:980px}.template-section-head button{border-radius:999px;min-height:28px;padding:0 10px;font-size:10px;font-weight:850}.template-institutions-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.template-institution-card{background:#ffffff0a;border-radius:14px;gap:14px;min-height:178px;padding:16px;display:grid;position:relative}.template-institution-main{grid-template-columns:96px minmax(0,1fr);align-items:end;gap:14px;display:grid}.template-institution-field{gap:7px;min-width:0;display:grid}.template-institution-field span{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:850}.template-institution-field input{min-height:36px;color:var(--ink);background:#0000002e;border:1px solid #dfff272e;border-radius:8px;padding:8px 9px;font-size:13px;line-height:1.2}.template-institution-field input::placeholder{color:color-mix(in srgb, var(--muted), transparent 20%)}.template-institution-logo{cursor:pointer;background:#dfff270b;border:1px dashed #dfff2759;border-radius:12px;place-items:center;gap:7px;min-height:86px;padding:10px;display:grid;position:relative}.template-institution-logo img{object-fit:contain;max-width:82px;max-height:42px}.template-institution-logo span{width:44px;height:32px;color:var(--ink);letter-spacing:.08em;background:#ffffff0e;border-radius:9px;place-items:center;font-size:14px;font-weight:950;display:grid}.template-institution-logo strong{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.template-institution-logo:hover{background:#dfff2714;border-color:#dfff2794}.template-institution-card>button,.template-institution-remove{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#ffffff0b;border-radius:999px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.template-empty-card{min-height:106px;color:var(--ink);cursor:pointer;background:#dfff2714;border:1px dashed #dfff2757;border-radius:8px;font-weight:850}.template-about-editor{min-height:190px;color:color-mix(in srgb, var(--ink), transparent 12%);resize:vertical;padding:0;font-size:14px;font-weight:500;line-height:1.55}.upload-template-inspector{z-index:5;border:0;border-left:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid), black 10%);width:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:0;align-content:start;gap:10px;padding:16px;display:grid;position:relative;overflow-y:auto}.upload-template-inspector header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.upload-template-inspector .builder-panel-section{background:0 0;border:0;padding:0}.upload-template-inspector .builder-access-toggle{grid-template-columns:1fr}.upload-template-inspector textarea,.upload-template-inspector input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:42px;color:var(--ink);border-radius:8px;padding:10px 11px;font-family:inherit}.upload-template-inspector textarea{resize:vertical;min-height:132px}@media (max-width:1180px){.upload-template-canvas{grid-template-columns:minmax(240px,34%) minmax(0,1fr)}.upload-template-inspector{border:1px solid #ffffff24;border-radius:12px;width:min(330px,100% - 28px);max-height:46%;position:absolute;top:auto;bottom:14px;right:14px;box-shadow:0 24px 80px #0000007a}.template-title-editor{min-height:96px;font-size:clamp(40px,6vw,62px)}}@media (max-width:900px){.guided-upload-flow,.upload-mode-grid,.upload-setup-grid{grid-template-columns:1fr}.template-topbar{flex-direction:column;align-items:flex-start}.template-layer-tabs{justify-content:flex-start}.upload-template-canvas{display:block;overflow-y:auto}.template-detail-visual{border-right:0;border-bottom:1px solid var(--line);min-height:420px}.template-detail-info{overflow:visible}.upload-template-inspector{width:auto;max-height:none;margin:0 16px 16px;position:static}}@media (max-width:640px){.template-file-dock,.upload-primary-grid,.guide-choice-row,.builder-access-primary,.setup-file-grid,.setup-language-switch,.template-feature-grid,.template-doc-meta,.template-institutions-grid,.template-stats{grid-template-columns:1fr}.guided-file-grid button,.builder-file-actions--status button{grid-template-columns:34px minmax(0,1fr)}.guided-file-grid button small,.builder-file-actions--status button span{grid-column:2}.template-detail-info{padding:24px 16px 34px}.template-title-editor{min-height:92px;font-size:clamp(34px,12vw,50px)}.template-detail-visual{min-height:390px}.template-cover-frame{width:min(62%,240px)}.template-cover-frame .builder-cover-button{width:min(100%,210px)}}.form-group{margin-bottom:20px}.form-group label{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.form-group input,.form-group textarea,.form-group select{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;min-height:52px;padding:13px 14px;font-family:inherit}.form-group textarea{resize:vertical;min-height:96px}.form-hint{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.45}.localized-pdf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.localized-pdf-card{border:1px solid var(--line);min-height:68px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0a;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.localized-pdf-card strong{width:34px;height:34px;color:var(--green);background:#dfff2721;border-radius:8px;place-items:center;font-size:12px;display:grid}.localized-pdf-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:13px;overflow:hidden}.localized-pdf-card:hover{border-color:#dfff276b}.localized-editor{border:1px solid var(--line);background:#ffffff09;border-radius:8px;padding:14px}.language-tab-control{border:1px solid var(--line);background:var(--bg);border-radius:8px;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:14px;padding:4px;display:inline-grid}.language-tab-control button{min-width:58px;min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-weight:850}.language-tab-control button.is-active{background:var(--green);color:#071008}.compact-form-group{margin-bottom:12px}.compact-form-group:last-child{margin-bottom:0}.access-mode-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.access-mode-control button{border:1px solid var(--line);min-height:42px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:8px;font-weight:800}.access-mode-control button.is-active{color:var(--ink);background:#dfff2721;border-color:#dfff276b}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-footer{justify-content:flex-end;gap:12px;margin-top:32px;display:flex}.modal-footer.centered{flex-direction:column;justify-content:center}.btn-primary{background:var(--green);cursor:pointer;-webkit-text-fill-color:#071008;text-shadow:none;border:none;border-radius:10px;padding:12px 24px;font-weight:850;color:#071008!important}.btn-primary *{-webkit-text-fill-color:#071008;color:#071008!important}.btn-primary:disabled{cursor:wait;opacity:.58}.primary-pill:disabled{cursor:not-allowed;opacity:.58;transform:none}.btn-secondary{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;padding:12px 24px;font-weight:700}.btn-danger{color:#fff;background:#ff4d4d}.warning-icon{margin-bottom:16px;font-size:48px}.text-center{text-align:center}.small-hint{color:#ff4d4d;margin-top:8px;font-size:12px}.cover-upload-area{background:var(--bg);border:1px dashed var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:132px;height:176px;transition:border-color .2s;display:flex;overflow:hidden}.cover-upload-area:hover{border-color:var(--green)}.cover-editor-row{grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.cover-editor-copy{border:1px solid var(--line);background:#ffffff09;border-radius:12px;flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:16px;display:flex}.cover-editor-copy strong{font-size:15px}.cover-editor-copy span{color:var(--muted);font-size:13px}.cover-editor-copy .secondary-pill{align-self:flex-start;margin-top:6px}.cover-preview{text-align:center;width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;padding:10px;font-size:11px;display:flex}.cover-preview img{object-fit:cover;width:100%;height:100%}.tag-input-shell{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:58px;padding:8px;display:flex}.tag-chip-row{flex-wrap:wrap;gap:7px;display:flex}.tag-chip{min-height:34px;color:var(--ink);cursor:pointer;background:#dfff271f;border:1px solid #dfff274d;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:12px;font-weight:780;display:inline-flex}.tag-chip span{color:var(--muted);font-size:14px}.tag-input-shell input{background:0 0;border:0;flex:180px;min-width:150px;min-height:36px;padding:0 6px}.tag-input-shell input:focus{outline:none}.topic-suggestions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.topic-suggestions button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:0 10px;font-size:12px}.topic-suggestions button:hover{color:var(--ink);border-color:#dfff276b}.section-label-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.section-label-row label{margin-bottom:0}.institution-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) 38px;gap:8px;margin-bottom:8px;display:grid}.institution-row input{min-height:42px}.institution-row button{border:1px solid var(--line);min-height:42px;color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:8px;font-size:18px}.detail-standard-upload{margin-top:10px}.user-publications-grid{grid-template-columns:repeat(auto-fill,240px);gap:48px;display:grid}.add-doc-card{background:var(--panel);border:1px dashed var(--line);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:240px;height:360px;padding:20px;transition:all .3s;display:flex}.add-doc-card:hover,.add-doc-card.is-dragover{border-color:var(--green);background:#c8f0000d;transform:translateY(-4px)}.add-doc-card .plus-icon{color:var(--ink);margin-bottom:12px;font-size:48px;font-weight:300}.add-doc-card h4{margin-bottom:8px;font-size:14px}.add-doc-card p{color:var(--muted);font-size:11px;line-height:1.4}.user-pub-card{background:0 0;border:none;flex-direction:column;gap:12px;width:240px;padding:0;display:flex}.user-pub-card .user-pub-cover{border-radius:12px;width:240px;height:360px;transition:transform .3s;box-shadow:0 10px 30px #0000004d}.user-pub-card:hover .user-pub-cover{transform:translateY(-4px)}.user-pub-info h4{font-size:15px;font-family:var(--sans);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;overflow:hidden}.user-pub-meta{color:var(--muted);margin-top:4px;font-size:11px}.user-pub-actions{gap:8px;margin-top:8px;display:flex}.btn-icon{background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:6px;place-items:center;width:32px;height:32px;transition:all .2s;display:grid}.btn-icon:hover{background:var(--line)}.btn-icon.delete:hover{color:#fff;background:#ff4d4d;border-color:#ff4d4d}.btn-icon *{pointer-events:none}@media (max-width:1180px) and (min-width:821px){.topbar-inner{grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr);padding-inline:clamp(16px,3vw,36px)}.nav-pill button{min-width:auto;padding:0 14px;font-size:11px}.top-actions{gap:10px}.detail-overlay{grid-template-columns:minmax(280px,40vw) 1fr}.detail-info{padding:56px clamp(28px,5vw,56px) 36px}.detail-info h2{font-size:clamp(40px,6vw,64px)}.detail-features{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-page{grid-template-columns:200px minmax(0,1fr) 280px;gap:clamp(20px,3vw,40px)}.reader-view{padding:110px clamp(28px,5vw,64px) 72px}.library{padding:72px clamp(28px,5vw,56px) 90px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1024px) and (min-width:821px){html:has(.ecos-reader-app){zoom:1!important}}@media (max-width:1024px){.reader-pdf-canvas,.reader-structured-page{max-width:900px;margin:0 auto;width:100%!important}}@media (max-width:980px){.ecos-reader-app{overflow-x:hidden}.topbar{height:78px}.topbar:before{-webkit-backdrop-filter:blur(18px)}.topbar-inner{gap:8px;padding-inline:16px}.hero-section{min-height:100svh;padding-top:88px}.hero-copy h1{font-size:clamp(54px,12vw,96px);line-height:.96}.hero-copy{width:min(94vw,720px);margin-top:clamp(40px,6vh,76px)}.micro-pill{letter-spacing:.22em;padding:0 12px;font-size:9px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.library-card-cover{aspect-ratio:3/4}.detail-overlay{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;grid-template-rows:auto auto;grid-template-columns:1fr;transition:opacity .32s,visibility .32s;overflow:hidden auto;transform:none}.detail-overlay.is-open{transform:none}.detail-visual{height:auto;min-height:0;padding:88px 0 36px}.detail-info{max-height:none;padding:36px clamp(24px,5vw,56px) 64px;overflow:visible}.detail-close{-webkit-backdrop-filter:blur(10px);z-index:12;background:#0009;position:fixed;top:18px;right:18px}.ecos-reader-app[data-theme=light] .detail-close{background:#ffffffdb}.reader-view{padding:96px clamp(20px,4vw,48px) 72px}.reader-page{grid-template-columns:1fr;gap:24px;margin-top:32px}.reader-content--pdf{max-width:100%}.reader-actions{scrollbar-width:none;gap:6px;max-width:100%;padding:4px;overflow-x:auto}.reader-actions::-webkit-scrollbar{display:none}.reader-comments{min-height:220px;max-height:50vh;position:static}.stream-deck{width:100vw;margin-inline:calc(50% - 50vw)}.stream-jukebox-controls{width:min(94vw,460px)}.user-publications-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.modal-content{max-width:92vw;padding:24px}.wall-depth{height:48vh;min-height:380px;inset-inline:-30vw;transform:rotateX(54deg)rotate(-12deg)translateZ(-60px)}.pub-card{width:158px;height:205px}}@media (max-width:820px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-publications-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-features{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-info h2{font-size:clamp(40px,9vw,64px)}.stream-jukebox-controls{grid-template-columns:40px minmax(140px,1fr) 40px;width:min(96vw,420px)}.stream-card{width:clamp(120px,18vw,160px)}.reader-toc{margin-inline:-4px;padding:8px 4px}}@media (max-width:640px){.topbar{background:#060c08f5;border-bottom:1px solid #ffffff0f;height:60px;padding-block:0}.topbar:before{display:none}.ecos-reader-app[data-theme=light] .topbar{background:#f0f5eefa;border-bottom-color:#151a1614}.topbar-inner{grid-template-rows:none;grid-template-columns:none;justify-content:space-between;align-items:center;gap:8px;height:100%;padding:0 14px;display:flex}.brand{flex:none;width:auto}.brand img,.ecos-reader-app[data-theme=light] .brand img{width:78px}.nav-pill{z-index:999;width:100%;min-height:60px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(24px);pointer-events:auto;background:linear-gradient(#080e09d6,#080e09f5);border:0;border-top:1px solid #ffffff14;border-radius:0;justify-self:auto;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000052}.ecos-reader-app[data-theme=light] .nav-pill{background:linear-gradient(#f4f8f0f0,#f4f8f0);border-top-color:#151a161a;box-shadow:0 -8px 24px #374b3a1f}.nav-pill button{min-width:0;height:auto;color:var(--muted);letter-spacing:.02em;text-transform:none;background:0 0;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:10px;font-weight:700;line-height:1;transition:color .18s,background .18s;display:flex;position:relative}.nav-pill button .nav-icon{opacity:.65;flex:0 0 22px;width:22px;height:22px;transition:opacity .18s,transform .18s}.nav-pill button:hover{color:var(--ink)}.nav-pill button:hover .nav-icon{opacity:.95}.nav-pill button.is-active{color:var(--green);background:0 0}.ecos-reader-app[data-theme=light] .nav-pill button.is-active{color:#2a3a14}.nav-pill button.is-active .nav-icon{filter:brightness(0)saturate()invert(96%)sepia(45%)saturate(2476%)hue-rotate(15deg)brightness(108%)contrast(105%);opacity:1;transform:translateY(-1px)}.ecos-reader-app[data-theme=light] .nav-pill button.is-active .nav-icon{filter:brightness(0);opacity:1}.nav-pill button.is-active:before{content:"";background:var(--green);width:28px;height:3px;box-shadow:0 2px 8px var(--green);border-radius:0 0 4px 4px;position:absolute;top:0;left:50%;transform:translate(-50%)}.nav-pill .nav-icon.text-icon{border:1px solid;font-size:10px;line-height:1}.ecos-reader-app .reader-view,.ecos-reader-app .library,.ecos-reader-app .videos-panel,.ecos-reader-app .myfiles-panel,.ecos-reader-app .admin-panel{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.ecos-reader-app .hero-section{padding-bottom:80px}.hero-scroll-hint{bottom:calc(52px + env(safe-area-inset-bottom,0px))}.top-actions{flex:none;gap:6px}.language-switcher{height:30px;padding:2px}.language-switcher button{min-width:26px;height:24px;font-size:10px}.theme-toggle{width:32px;height:32px}.signin-chip,.profile-chip{gap:8px;min-width:0;height:36px;padding:0 12px;font-size:11px}.profile-chip{padding-left:3px}.profile-name{display:none}.avatar{width:30px;height:30px}.profile-popover{transform-origin:100% 0;width:min(280px,100vw - 24px);position:fixed;inset:64px 12px auto auto}.hero-section{height:100svh;min-height:100svh;padding-top:76px}.hero-scrollwrap{min-height:calc(100svh + 200px);height:130svh!important}.hero-copy{width:94vw;margin-top:clamp(20px,4vh,48px)}.hero-copy h1{font-size:clamp(44px,14vw,74px)}.hero-copy .micro-pill{letter-spacing:.16em;margin-top:22px;font-size:8px}.wall-stage{inset:60px 0 0}.wall-depth{inset-inline:-70vw;bottom:calc(78px + env(safe-area-inset-bottom,0px));height:42vh;min-height:280px}.pub-card{width:138px;height:178px}.library{gap:28px;padding:44px 16px 80px}.library-sidebar{flex-flow:wrap;gap:16px 28px}.filter-block{flex:48%;min-width:0}.filter-block h4{font-size:11px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-card-title{font-size:13px}.library-heading h2{font-size:clamp(28px,7vw,42px)}.detail-overlay{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;grid-template-rows:auto auto;grid-template-columns:1fr;transition:opacity .32s,visibility .32s;overflow:hidden auto;transform:none}.detail-overlay.is-open{transform:none}.detail-visual{box-sizing:border-box;background:linear-gradient(180deg, #07090a 0%, color-mix(in srgb, var(--bg), black 16%) 100%);justify-content:center;align-items:center;height:auto;min-height:calc(clamp(195px,55vw,260px) + 112px);padding:72px 0 40px;display:flex;overflow:visible}.detail-card-slot{perspective:none;width:clamp(150px,42vw,200px);height:clamp(195px,55vw,260px);overflow:visible;transform:none}.detail-card-slot .pub-card{border-radius:12px;width:100%;height:100%;position:absolute;box-shadow:0 18px 40px #00000080,0 6px 14px #0000004d;margin:0!important;animation:none!important;top:0!important;bottom:auto!important;left:0!important;transform:none!important}.detail-card-slot .pub-card-inner{transform:none!important}.detail-card-slot .pub-card-inner:before{display:none}.detail-aura{opacity:.35;width:min(60vw,280px);height:min(60vw,280px)}.detail-info{max-height:none;padding:24px 18px calc(48px + env(safe-area-inset-bottom,0px));overflow:visible}.detail-info h2{font-size:clamp(30px,9vw,44px);line-height:1.02}.detail-info>p:not(.detail-label){font-size:14px;line-height:1.55}.detail-label{letter-spacing:.28em;margin:0 0 16px;font-size:10px}.detail-doc-meta,.detail-features{grid-template-columns:1fr;gap:10px}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-close{-webkit-backdrop-filter:blur(10px);z-index:12;background:#0009;border-color:#ffffff2e;width:40px;height:40px;position:fixed;top:14px;right:14px}.ecos-reader-app[data-theme=light] .detail-close{background:#ffffffdb;border-color:#151a1629}.detail-close:before,.detail-close:after{width:14px;top:19px;left:11px}.detail-ai-actions{flex-direction:column;align-items:stretch}.detail-ai-actions>*{width:100%}.primary-pill,.secondary-pill{width:100%;min-height:48px;font-size:12px}.reader-view{padding:76px 14px 64px}.reader-top{grid-template-columns:40px 1fr;gap:12px;padding-bottom:10px}.icon-button{width:40px;height:40px}.icon-button span{width:14px}.reader-titleblock h2{font-size:clamp(24px,7vw,38px)}.reader-eyebrow{letter-spacing:.24em;margin-bottom:6px;font-size:9px}.reader-actions{grid-area:2/1/auto/-1;justify-self:stretch;gap:3px;padding:4px}.reader-actions button{letter-spacing:.06em;flex:1 0 auto;min-height:32px;padding:0 8px;font-size:10px}.reader-actions span{min-width:38px;font-size:10px}.reader-progress{grid-area:3/1/auto/-1;margin-top:6px}.reader-page{gap:18px;margin-top:20px}.reader-content section{margin-bottom:40px}.reader-content section h3{margin:0 0 16px;font-size:clamp(22px,6vw,30px)}.reader-content{font-size:15px;line-height:1.62}.reader-pdf-document{gap:24px}.reader-pdf-section h3{font-size:16px!important}.reader-pdf-canvas,.reader-structured-page{border-radius:6px;box-shadow:0 10px 32px #00000052}.reader-meta-footer{grid-template-columns:1fr;gap:18px;margin-top:36px;padding:22px 0}.reader-meta-footer strong{font-size:18px}.reader-comments{border:1px solid var(--line);background:#ffffff0a;border-radius:10px;min-height:200px;max-height:46vh;padding:14px;position:static}.comments-header{margin-bottom:12px;padding-bottom:10px}.comment-card{padding:12px 13px}.reader-access-banner{flex-direction:column;align-items:stretch;gap:10px}.reader-access-banner button{width:100%;min-height:42px}.videos-panel{padding:70px 14px 64px}.stream-hero{grid-template-rows:auto auto auto auto auto;gap:0;min-height:auto}.stream-title{min-height:.92em;margin:0 0 4px;font-size:clamp(34px,10.5vw,56px);line-height:.92}.stream-title br{display:none}.stream-jukebox-controls{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;width:calc(100vw - 32px);max-width:420px;margin:16px auto 0;padding:5px;display:grid}.stream-jukebox-controls button{border-radius:999px;height:42px;min-height:42px}.stream-jukebox-controls button:not(.stream-play-now){width:42px;padding:0;font-size:22px;line-height:1}.stream-jukebox-controls .stream-play-now{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;padding:0 12px;font-size:11px;overflow:hidden}.stream-deck{margin-inline:calc(50% - 50vw);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;width:100vw;height:215px;margin-top:14px;margin-bottom:0;overflow:hidden}.stream-deck:active{cursor:grabbing}.stream-card{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:116px;transform:translateX(calc(-50% + var(--deck-x) * .55)) translateY(calc(var(--deck-y) * .7)) rotate(calc(var(--deck-r) * .7)) scale(var(--deck-scale));border-radius:10px}.stream-card.is-active{transform:translateX(calc(-50% + var(--deck-x) * .55)) translateY(calc(var(--deck-y) * .7 - 8px)) rotate(calc(var(--deck-r) * .7)) scale(calc(var(--deck-scale) + .04))}.stream-card img{pointer-events:none}.stream-card-badge,.stream-card-type{letter-spacing:.02em;border-radius:4px;min-height:16px;padding:2px 5px;font-size:8px;font-weight:800;line-height:1.1;top:6px}.stream-card-badge{left:6px}.stream-card-type{right:6px}.stream-card-copy{gap:2px;bottom:8px;left:8px;right:8px}.stream-card-copy strong{font-size:13px;line-height:1.05}.stream-card-copy small{letter-spacing:.04em;text-transform:uppercase;font-size:8px}.stream-card[style*="--deck-scale: 0.7"],.stream-card[style*="--deck-scale:0.7"]{opacity:.5}.stream-now-panel{text-align:left;border-radius:14px;flex-direction:column;gap:14px;width:100%;max-width:100%;margin-top:14px;padding:16px;display:flex}.stream-now-kicker{letter-spacing:.14em;margin-bottom:4px;font-size:9px}.stream-now-panel h3{margin:0;font-size:clamp(20px,6vw,28px);line-height:1.05}.stream-now-panel p{margin:6px 0 0;font-size:13px;line-height:1.45}.stream-now-actions{flex-direction:column;justify-content:stretch;gap:8px;width:100%;margin-top:4px;display:flex}.stream-now-actions button,.stream-now-actions a{letter-spacing:.04em;text-transform:none;text-align:center;border-radius:999px;flex:100%;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;padding:0 16px;font-size:12px;font-weight:800;display:inline-flex}.stream-now-actions button svg,.stream-now-actions a svg{flex:none}.stream-now-actions a{color:#fff;background:#f03;border-color:#0000}.ecos-reader-app[data-theme=light] .stream-now-actions a{color:#fff;background:#f03}.stream-player-overlay{padding:70px 8px 12px}.stream-player-shell{border-radius:10px;width:100%}.myfiles-panel,.admin-panel{padding:76px 14px 60px}.myfiles-header h2,.admin-header h2{font-size:clamp(26px,8vw,42px)}.user-publications-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:18px 18px 0 0;max-width:100%;max-height:92vh;padding:20px 18px 24px}.modal-footer{flex-direction:column-reverse;gap:8px}.modal-footer .btn-primary,.modal-footer .btn-secondary{width:100%;min-height:46px}.form-row,.cover-editor-row,.institution-row,.localized-pdf-grid{grid-template-columns:1fr!important}.comment-modal{align-items:flex-end;padding:0}.comment-modal-card{border-radius:18px 18px 0 0;width:100%;max-height:92vh;padding:18px 16px 22px}.comment-modal-actions{flex-direction:column-reverse;gap:8px}.ghost-btn,.solid-btn{width:100%;min-height:46px}}@media (max-width:390px){.topbar-inner{padding:0 10px}.brand img,.ecos-reader-app[data-theme=light] .brand img{width:70px}.nav-pill button{gap:2px;padding:5px 2px;font-size:9px}.nav-pill button .nav-icon{flex-basis:20px;width:20px;height:20px}.nav-pill .nav-icon.text-icon{font-size:8px}.hero-copy h1{font-size:clamp(38px,14vw,60px)}.pub-card{width:120px;height:156px}.library-grid,.user-publications-grid,.detail-stats{grid-template-columns:1fr}.reader-titleblock h2{font-size:clamp(22px,7vw,32px)}}@media (hover:none) and (pointer:coarse){.ecos-reader-app button,.ecos-reader-app [role=button]{-webkit-tap-highlight-color:#dfff2726}.nav-pill button,.reader-toc-item,.library-card,.stream-card{-webkit-tap-highlight-color:transparent}.pub-card:hover,.library-card:hover,.feature-card:hover,.stream-card:hover{transform:none}}@media (max-height:480px) and (orientation:landscape) and (max-width:980px){.hero-section{min-height:100svh;padding-top:70px}.hero-copy{margin-top:12px}.hero-copy h1{font-size:clamp(34px,6vw,52px)}.topbar{height:54px}.nav-pill{min-height:52px;padding-block:4px calc(4px + env(safe-area-inset-bottom,0px))}.nav-pill button{flex-direction:row;gap:6px;font-size:11px}.nav-pill button .nav-icon{width:18px;height:18px}.ecos-reader-app .reader-view,.ecos-reader-app .library,.ecos-reader-app .videos-panel,.ecos-reader-app .myfiles-panel,.ecos-reader-app .admin-panel,.ecos-reader-app .hero-section{padding-bottom:68px}}@media (max-width:1024px) and (min-width:641px){.reader-view{padding:100px clamp(24px,4vw,56px) 88px}.reader-top{grid-template-rows:auto auto;grid-template-columns:46px minmax(0,1fr) auto;gap:14px 16px;padding-bottom:14px}.reader-titleblock{grid-area:1/2}.reader-titleblock h2{-webkit-line-clamp:2;font-size:clamp(28px,4.4vw,44px)}.reader-actions{scrollbar-width:none;-ms-overflow-style:none;grid-area:2/1/auto/-1;justify-content:space-between;justify-self:stretch;overflow-x:auto}.reader-actions::-webkit-scrollbar{display:none}.reader-actions button{flex:auto;min-height:38px;padding:0 14px;font-size:11px}.reader-progress{grid-area:3/1/auto/-1;height:3px}.reader-content{font-size:clamp(15px,1.5vw,17px);line-height:1.7}.reader-content--pdf{max-width:min(960px,100%);margin:0 auto;overflow-x:auto}.reader-pdf-document{gap:clamp(28px,4vw,42px)}.reader-pdf-section{gap:12px}.reader-pdf-section h3{color:color-mix(in srgb, var(--ink), transparent 32%);letter-spacing:.16em!important;font-size:clamp(15px,1.6vw,20px)!important}.reader-pdf-canvas{border-radius:8px;max-width:none;box-shadow:0 18px 50px #0000005c;width:fit-content!important}.reader-structured-page{border-radius:8px;max-width:920px;box-shadow:0 18px 50px #0000005c;width:100%!important}.reader-pdf-canvas .react-pdf__Page canvas,.reader-pdf-canvas .react-pdf__Page svg{max-width:none;width:auto!important;height:auto!important}.reader-toc{z-index:30;background:linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg), transparent 8%) 86%, transparent 100%);scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;align-items:center;gap:8px;max-width:100%;margin-inline:0;padding:10px 0 14px;display:flex;position:sticky;top:0;overflow:auto hidden}.reader-toc::-webkit-scrollbar{display:none}.reader-toc-item{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0b;border-radius:999px;flex:none;width:auto;max-width:260px;min-height:38px;font-size:12px;transition:background .16s,border-color .16s,color .16s;overflow:hidden;padding:0 14px!important}.ecos-reader-app[data-theme=light] .reader-toc-item{background:#151a160a}.reader-toc-item:hover{background:#ffffff14;border-color:#dfff2752}.reader-toc-item.is-active{background:var(--green);border-color:var(--green);color:#061006;font-weight:800}.reader-toc-item.is-active:after{display:none}.reader-comments{border:1px solid var(--line);background:#ffffff09;border-radius:14px;margin-top:24px;padding:18px}.ecos-reader-app[data-theme=light] .reader-comments{background:#151a1608}}@media (max-width:820px){.reader-view--paged{padding-bottom:calc(142px + env(safe-area-inset-bottom,0px))}.reader-view--paged .reader-actions{left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:998;-webkit-backdrop-filter:blur(20px)saturate(1.4);background:#0a100beb;border:1px solid #ffffff1f;border-radius:999px;width:min(94vw,380px);position:fixed;transform:translate(-50%);box-shadow:0 14px 38px #00000073,0 4px 14px #0000004d}.ecos-reader-app[data-theme=light] .reader-view--paged .reader-actions{background:#f8fcf4f5;border-color:#151a161f;box-shadow:0 14px 38px #374b3a2e,0 4px 14px #374b3a1a}.reader-view--paged .reader-page-controls{flex:auto;width:100%;padding-right:0}.reader-view--paged .reader-page-controls button{flex:1 1 0}.reader-view--paged .reader-zoom-controls,.reader-view--paged .reader-comment-inline{display:none}.reader-paged-active .reader-floating-comment{right:16px;bottom:calc(126px + env(safe-area-inset-bottom,0px));z-index:999;background:var(--green);color:#071008;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:1px solid #dfff276b;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:12px;font-weight:900;display:inline-flex;position:fixed;box-shadow:0 14px 34px #0000006b}.reader-view--paged .reader-toc{z-index:1;position:relative;top:auto}.reader-content--paged{touch-action:pan-y;min-height:calc(100svh - 240px)}.reader-content--paged .reader-pdf-document{align-content:start;gap:0;min-height:calc(100svh - 250px)}.reader-content--paged .reader-pdf-section{gap:0;margin-bottom:0}.reader-content--paged .reader-pdf-section h3{display:none}.reader-content--paged .reader-pdf-canvas,.reader-content--paged .reader-structured-page{width:auto!important;max-width:100%!important;margin-inline:auto!important}.reader-content--paged .reader-pdf-canvas .react-pdf__Page,.reader-content--paged .reader-pdf-canvas .react-pdf__Page canvas,.reader-content--paged .reader-pdf-canvas .react-pdf__Page svg{max-height:calc(100svh - 250px);width:auto!important;max-width:100%!important}}@media (max-width:640px){.reader-view{padding:66px 12px calc(120px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.reader-top{background:linear-gradient(180deg, var(--bg) 70%, color-mix(in srgb, var(--bg), transparent 8%) 100%);border-bottom:1px solid var(--line);grid-template-rows:auto;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;margin-inline:-12px;padding:10px 12px 8px;top:60px}.reader-top .icon-button{grid-area:1/1;width:40px;height:40px}.reader-titleblock{grid-area:1/2;min-width:0}.reader-eyebrow{letter-spacing:.2em;opacity:.85;margin-bottom:2px;font-size:8px}.reader-titleblock h2{-webkit-line-clamp:2;text-overflow:ellipsis;margin:0;font-size:clamp(16px,4.4vw,22px);line-height:1.15;overflow:hidden}.reader-progress{grid-column:unset;grid-row:unset;background:color-mix(in srgb, currentColor, transparent 92%);border-radius:0;width:100%;height:2px;position:absolute;bottom:0;left:0;right:0}.reader-actions{left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:998;grid-column:unset;grid-row:unset;justify-self:unset;-webkit-backdrop-filter:blur(20px)saturate(1.4);background:#0a100beb;border:1px solid #ffffff1f;border-radius:999px;gap:4px;width:min(94vw,360px);padding:6px;position:fixed;overflow:visible;transform:translate(-50%);box-shadow:0 14px 38px #00000073,0 4px 14px #0000004d}.ecos-reader-app[data-theme=light] .reader-actions{background:#f8fcf4f5;border-color:#151a161f;box-shadow:0 14px 38px #374b3a2e,0 4px 14px #374b3a1a}.reader-actions button{min-width:0;min-height:40px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;background:#ffffff0f;border-radius:999px;flex:1 1 0;padding:0 12px;font-size:11px;font-weight:800}.reader-actions button:hover:not(:disabled),.reader-actions button:active:not(:disabled){background:var(--green);color:#071008}.reader-actions button:disabled{opacity:.32;background:0 0}.reader-actions span{min-width:56px;color:var(--ink);letter-spacing:.04em;flex:none;padding-inline:6px;font-size:12px;font-weight:800}.reader-page-controls{flex:auto;gap:4px;width:100%;padding-right:0}.reader-page-controls button{flex:1 1 0}.reader-zoom-controls,.reader-comment-inline{display:none}.reader-floating-comment{right:16px;bottom:calc(126px + env(safe-area-inset-bottom,0px));z-index:999;background:var(--green);color:#071008;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:1px solid #dfff276b;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:12px;font-weight:900;display:inline-flex;position:fixed;box-shadow:0 14px 34px #0000006b}.reader-page{grid-template-columns:1fr;gap:16px;margin-top:16px}.reader-toc{z-index:28;background:linear-gradient(180deg, var(--bg) 65%, color-mix(in srgb, var(--bg), transparent 8%) 100%);scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;gap:6px;max-width:100%;margin-inline:-12px;padding:8px 12px 10px;position:sticky;top:110px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 24px),#0000 100%)}.reader-toc::-webkit-scrollbar{display:none}.reader-toc-item{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0b;border-radius:999px;flex:none;width:auto;max-width:220px;min-height:34px;font-size:11px;font-weight:600;overflow:hidden;padding:0 12px!important}.reader-toc-item.is-active{background:var(--green);border-color:var(--green);color:#061006;font-weight:800}.reader-toc-item.is-active:after{display:none}.reader-content{letter-spacing:0;font-size:15.5px;line-height:1.68}.reader-content section{margin-bottom:32px;scroll-margin-top:130px}.reader-content section h3{letter-spacing:0;margin:0 0 14px;font-size:clamp(20px,5.4vw,26px);line-height:1.15}.reader-content--pdf{max-width:100%;margin:0 auto}.reader-content--paged{touch-action:pan-y;min-height:calc(100svh - 240px)}.reader-pdf-document{gap:24px;scroll-margin-top:140px}.reader-pdf-section{gap:10px;scroll-margin-top:140px}.reader-pdf-section h3{text-transform:uppercase;color:var(--muted);opacity:.85;margin:0 4px 4px;font-weight:700;letter-spacing:.18em!important;font-size:11px!important}.reader-pdf-canvas,.reader-structured-page{border-radius:8px;overflow:hidden;box-shadow:0 10px 26px #0000006b,0 2px 6px #0000002e;width:100%!important;max-width:100%!important;margin:0!important}.reader-pdf-canvas .react-pdf__Page,.reader-pdf-canvas .react-pdf__Page canvas,.reader-pdf-canvas .react-pdf__Page svg{max-width:100%;width:100%!important;height:auto!important}.reader-content--paged .reader-pdf-document{align-content:start;gap:0;min-height:calc(100svh - 250px)}.reader-content--paged .reader-pdf-section{gap:0;margin-bottom:0}.reader-content--paged .reader-pdf-section h3{display:none}.reader-content--paged .reader-pdf-canvas,.reader-content--paged .reader-structured-page{width:auto!important;max-width:100%!important;margin-inline:auto!important}.reader-content--paged .reader-pdf-canvas .react-pdf__Page,.reader-content--paged .reader-pdf-canvas .react-pdf__Page canvas,.reader-content--paged .reader-pdf-canvas .react-pdf__Page svg{max-height:calc(100svh - 250px);width:auto!important;max-width:100%!important}.reader-pdf-canvas .react-pdf__Page__textContent ::selection,.reader-pdf-canvas .textLayer ::selection{background:color-mix(in srgb, var(--green), transparent 38%)}.reader-meta-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:32px;padding:20px 4px;display:grid}.reader-meta-footer span{letter-spacing:.22em;font-size:9px}.reader-meta-footer strong{font-size:16px;line-height:1.2}.reader-comments{border:1px solid var(--line);background:#ffffff09;border-radius:12px;min-height:auto;max-height:none;margin-top:20px;padding:14px;position:static}.ecos-reader-app[data-theme=light] .reader-comments{background:#151a1608}.comments-header{margin-bottom:10px;padding-bottom:10px}.comments-title{letter-spacing:.22em;font-size:10px}.comments-list{gap:8px;max-height:none}.comment-card{border-radius:9px;padding:11px 12px}.comment-card-head{gap:8px;margin-bottom:8px}.comment-avatar{width:26px;height:26px;font-size:9px}.comment-card-head strong{font-size:11px}.comment-time{font-size:9px}.comment-snippet{padding:6px 9px;font-size:11px}.comment-card-body{font-size:12.5px;line-height:1.45}.comments-hint{margin-top:12px;padding-top:12px;font-size:11px}.reader-access-banner{border-radius:12px;margin:14px 0 6px;padding:12px 14px}.reader-access-banner strong{font-size:12.5px}.reader-access-banner span{font-size:11.5px}.comment-bubble{max-width:calc(100vw - 24px)}.comment-modal-card{border-radius:18px 18px 0 0;max-width:100%}.comment-modal-head{margin-bottom:12px}.comment-quote{max-height:92px;margin-bottom:12px;font-size:12px;overflow-y:auto}.comment-modal textarea{resize:none;min-height:128px;font-size:16px}}@media (max-width:390px){.reader-view{padding-left:8px;padding-right:8px}.reader-top,.reader-toc{margin-inline:-8px;padding-inline:8px}.reader-titleblock h2{font-size:16px}.reader-meta-footer{grid-template-columns:1fr}.reader-actions{width:calc(100vw - 16px)}.reader-actions button{padding:0 8px;font-size:10px}}@media (max-height:480px) and (orientation:landscape) and (max-width:980px){.reader-view{padding-top:60px;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.reader-actions{bottom:calc(58px + env(safe-area-inset-bottom,0px));width:min(90vw,340px)}.reader-actions button{min-height:34px}}@media (max-width:640px){.ecos-reader-app[data-theme=light] .reader-actions button{background:#151a160d}.ecos-reader-app[data-theme=light] .reader-actions button:hover:not(:disabled),.ecos-reader-app[data-theme=light] .reader-actions button:active:not(:disabled){background:var(--green);color:#071008}.ecos-reader-app[data-theme=light] .reader-top{background:linear-gradient(180deg, var(--bg) 70%, color-mix(in srgb, var(--bg), transparent 8%) 100%);border-bottom-color:#151a1614}.ecos-reader-app[data-theme=light] .reader-toc{background:linear-gradient(180deg, var(--bg) 65%, color-mix(in srgb, var(--bg), transparent 8%) 100%)}}@property --wheel-rotate{syntax:"<number>";inherits:true;initial-value:0}.hero-carousel-wheel{--wheel-rotate:0;--card-radius:14px;--card-w:clamp(150px, 18vw, 240px);--card-h:calc(var(--card-w) * 1.295);--wheel-radius:calc(var(--card-w) * var(--cards,7) / (2 * 3.1416));width:calc(var(--wheel-radius) * 2);height:calc(var(--wheel-radius) * 2);inset:0 0 0 50%;top:calc(50% + var(--wheel-radius) - var(--card-h) * .4);transform:translateX(-50%) rotate(calc(var(--wheel-rotate) * 360deg));transform-origin:50%;pointer-events:none;animation:1s linear heroWheelRotate;animation-timeline:scroll(root);animation-range:0 120vh;animation-timing-function:steps(var(--cards,7), end);transition:transform .24s ease-out;position:absolute}@keyframes heroWheelRotate{to{--wheel-rotate:1}}.wheel-card{--card-i:1;--card-phase:calc((var(--card-i) - 1) / var(--cards) - .75);--card-pos:mod(calc(var(--card-phase) + var(--wheel-rotate) + 1), 1);--card-dist:min(var(--card-pos), calc(1 - var(--card-pos)));--card-grayscale:clamp(0, calc(var(--card-dist) * var(--cards)), 1);--card-opacity:calc(1 - (var(--card-dist) / .18));--card-focus-range:.12;--card-max-blur:8px;--card-norm-dist:min(var(--card-dist), var(--card-focus-range));--card-blur:calc((var(--card-norm-dist) / var(--card-focus-range)) * var(--card-max-blur));--caption-active:clamp(0, calc(1 - (var(--card-dist) / .018)), 1);width:var(--card-w);height:var(--card-h);border-radius:var(--card-radius);cursor:pointer;pointer-events:auto;offset-path:circle(var(--wheel-radius) at 50% 50%);offset-distance:calc((var(--card-i) - 1) / var(--cards) * 100%);offset-rotate:auto;offset-anchor:50% 100%;filter:blur(var(--card-blur)) grayscale(var(--card-grayscale));opacity:var(--card-opacity);background:0 0;border:0;padding:0;transition:filter .32s,opacity .32s,transform .28s;position:absolute;overflow:visible}.wheel-card img{object-fit:cover;border-radius:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:var(--panel-solid);width:100%;height:100%;display:block;box-shadow:0 18px 38px #0000006b,0 4px 10px #00000047}.wheel-card:hover img,.wheel-card:focus-visible img{box-shadow:0 24px 56px color-mix(in srgb, var(--green), transparent 78%), 0 28px 60px #00000080}.wheel-card:after{content:attr(data-title);max-width:calc(var(--card-w) * 1.4);color:var(--ink);font-family:var(--serif);text-align:center;white-space:normal;opacity:var(--caption-active);transform:translate(-50%);transform:translateX(-50%) translateY(calc((1 - var(--caption-active)) * -12px));pointer-events:none;padding:0 8px;font-size:clamp(14px,1.6vw,20px);font-weight:700;line-height:1.2;transition:opacity .32s,transform .32s;position:absolute;top:calc(100% + 14px);left:50%}.wheel-card-new{transform:translateX(-50%) scale(var(--caption-active,0));background:var(--green);color:#061006;font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:var(--caption-active,0);box-shadow:0 4px 14px color-mix(in srgb, var(--green), transparent 35%);pointer-events:none;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:900;line-height:1;transition:opacity .32s,transform .32s;position:absolute;bottom:calc(100% + 10px);left:50%}.wheel-card--placeholder{cursor:default;pointer-events:none;background:linear-gradient(135deg, color-mix(in srgb, var(--book-accent,#74a876), transparent 72%), transparent 34%), linear-gradient(180deg, #ffffff0f, #ffffff05);border:1px solid color-mix(in srgb, var(--book-accent,#74a876), transparent 72%);box-shadow:0 14px 32px #00000052, -6px 3px 12px color-mix(in srgb, var(--book-glow,#dfff27), transparent 88%);opacity:calc(var(--card-opacity) * .7)}.wheel-card--placeholder.is-loading{border-color:color-mix(in srgb, var(--green), transparent 55%);animation:1.8s ease-in-out infinite heroPlaceholderPulse}.wheel-card--placeholder.is-loading:before{content:"";border-radius:inherit;background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--green), transparent 82%) 50%, transparent 70%);pointer-events:none;animation:1.6s ease-in-out infinite heroPlaceholderShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes heroPlaceholderPulse{0%,to{box-shadow:0 14px 32px #00000052, -6px 3px 12px color-mix(in srgb, var(--green), transparent 82%)}50%{box-shadow:0 16px 40px #0000005c, -6px 3px 18px color-mix(in srgb, var(--green), transparent 68%)}}@keyframes heroPlaceholderShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ecos-reader-app[data-theme=light] .wheel-card img{box-shadow:0 14px 32px #374b3a2e,0 4px 10px #374b3a1f}.ecos-reader-app[data-theme=light] .wheel-card--placeholder{background:linear-gradient(135deg,#151a160f,#0000 34%),linear-gradient(#151a160a,#151a1603);border-color:#151a161a;box-shadow:0 12px 28px #374b3a2e}.wall-depth{display:none!important}@media (max-width:980px){.hero-carousel-wheel{--card-w:clamp(120px, 26vw, 180px)}}@media (max-width:640px){.hero-carousel-wheel{--card-w:clamp(108px, 32vw, 150px)}.wheel-card:after{font-size:14px;top:calc(100% + 10px)}.wheel-card-new{padding:3px 8px;font-size:8px}}@supports not (animation-timeline:scroll()){.hero-carousel-wheel{animation:none;transform:translate(-50%)}.wheel-card{filter:none;opacity:1;--caption-active:0}.wheel-card:first-child{--caption-active:1}}.pubs-carousel-section{z-index:4;background:radial-gradient(ellipse 80% 60% at 50% 35%, color-mix(in srgb, var(--green), transparent 92%), transparent 70%), linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg), black 4%) 100%);padding:clamp(48px,8vh,96px) 0 clamp(32px,6vh,64px);position:relative;overflow:visible}.pubs-carousel{--carousel-card-w:clamp(180px, 22vw, 280px);--carousel-card-h:calc(var(--carousel-card-w) * 1.295);--carousel-gap:clamp(20px, 4vw, 56px);flex-direction:column;align-items:center;gap:28px;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px 32px;display:flex;position:relative}.pubs-carousel-viewport{cursor:grab;overflow-clip-margin:60px;width:100%;overflow:clip}@supports not (overflow:clip){.pubs-carousel-viewport{overflow:hidden}}.pubs-carousel-viewport:active{cursor:grabbing}.pubs-carousel-track{gap:var(--carousel-gap);touch-action:pan-y;display:flex}.pubs-carousel-slide{flex:none;justify-content:center;align-items:center;min-width:0;padding-block:48px 24px;display:flex}.pubs-carousel-card{width:var(--carousel-card-w);cursor:pointer;filter:grayscale()brightness(.78);opacity:.62;background:0 0;border:0;outline:none;padding:0;transition:transform .36s cubic-bezier(.22,.86,.22,1),filter .36s,opacity .36s;display:block;position:relative;transform:scale(.74)}.pubs-carousel-card.is-active{filter:none;opacity:1;transform:scale(1)}.pubs-carousel-card:focus-visible{outline:2px solid color-mix(in srgb, var(--green), transparent 18%);outline-offset:4px;border-radius:14px}.pubs-carousel-cover{aspect-ratio:773/1000;background:var(--panel-solid);border-radius:12px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000080,0 6px 14px #0000004d,inset 0 1px #ffffff14}.pubs-carousel-card.is-active .pubs-carousel-cover{box-shadow:0 0 32px color-mix(in srgb, var(--green), transparent 78%), 0 36px 84px #00000094, 0 8px 18px #00000057, inset 0 1px 0 #ffffff1f}.pubs-carousel-cover img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.pubs-carousel-new{background:var(--green);color:#061006;font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 18px color-mix(in srgb, var(--green), transparent 40%), 0 1px 3px #00000080;pointer-events:none;border-radius:999px;padding:5px 11px;font-size:10px;font-weight:900;line-height:1;animation:2.6s ease-in-out infinite pubsCarouselNewPulse;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}@keyframes pubsCarouselNewPulse{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.06)}}.pubs-carousel-slide--empty{pointer-events:none}.pubs-carousel-card--empty{cursor:default;pointer-events:none;width:var(--carousel-card-w);filter:grayscale();opacity:.42;transition:opacity .36s,transform .36s;transform:scale(.74)}.pubs-carousel-card--empty .pubs-carousel-cover{border:1px dashed color-mix(in srgb, var(--ink), transparent 78%);background:linear-gradient(#ffffff0a 0%,#ffffff05 100%);place-items:center;display:grid;overflow:hidden;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #ffffff05}.pubs-carousel-empty-spine{background:linear-gradient(90deg, color-mix(in srgb, var(--ink), transparent 86%), transparent);border-right:1px dashed color-mix(in srgb, var(--ink), transparent 78%);pointer-events:none;width:8%;position:absolute;top:0;bottom:0;left:0}.pubs-carousel-empty-icon{background:color-mix(in srgb, var(--ink), transparent 92%);width:52px;height:52px;color:color-mix(in srgb, var(--ink), transparent 50%);z-index:1;border-radius:999px;place-items:center;display:grid;position:relative}.ecos-reader-app[data-theme=light] .pubs-carousel-card--empty .pubs-carousel-cover{background:linear-gradient(#151a160a 0%,#151a1605 100%);border-color:#151a1629}.ecos-reader-app[data-theme=light] .pubs-carousel-empty-icon{color:#151a1673;background:#151a160f}.pubs-carousel-card--skeleton{cursor:default;pointer-events:none;width:var(--carousel-card-w);aspect-ratio:773/1000;border:1px solid color-mix(in srgb, var(--green), transparent 70%);opacity:.78;background:#ffffff0b;border-radius:12px;position:relative;overflow:hidden;transform:scale(.86)}.pubs-carousel-card--skeleton:after{content:"";background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--green), transparent 82%) 50%, transparent 70%);animation:1.6s ease-in-out infinite pubsCarouselShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes pubsCarouselShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ecos-reader-app[data-theme=light] .pubs-carousel-card--skeleton{background:#151a160d}.ecos-reader-app[data-theme=light] .pubs-carousel-card--skeleton:after{background:linear-gradient(100deg,#0000 30%,#fff9 50%,#0000 70%)}.pubs-carousel-controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2.5vw,28px);width:100%;max-width:min(92vw,980px);display:grid}.pubs-carousel-arrow{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#ffffff0d;border-radius:999px;flex-shrink:0;place-items:center;transition:background .18s,border-color .18s,transform .18s,opacity .18s;display:grid;overflow:visible}.pubs-carousel-arrow svg{width:18px;height:18px;overflow:visible}.pubs-carousel-arrow:hover:not(:disabled){background:var(--green);border-color:var(--green);color:#061006;transform:translateY(-1px)}.pubs-carousel-arrow:disabled{cursor:default;opacity:.35}.ecos-reader-app[data-theme=light] .pubs-carousel-arrow{background:#151a160a}.pubs-carousel-meta{text-align:center;min-width:0}.pubs-carousel-meta-cat{color:var(--muted);letter-spacing:.32em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:700}.pubs-carousel-meta-title{color:var(--ink);font-family:var(--serif);-webkit-line-clamp:2;text-wrap:balance;-webkit-box-orient:vertical;margin:0;font-size:clamp(20px,2.4vw,28px);font-weight:700;line-height:1.1;display:-webkit-box;overflow:hidden}.pubs-carousel-meta-subtitle{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:6px 0 0;font-size:13px;font-style:italic;line-height:1.35;display:-webkit-box;overflow:hidden}.pubs-carousel-dots{justify-content:center;align-items:center;gap:8px;display:flex}.pubs-carousel-dot{background:color-mix(in srgb, var(--ink), transparent 78%);cursor:pointer;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:background .2s,width .2s}.pubs-carousel-dot:hover{background:color-mix(in srgb, var(--ink), transparent 60%)}.pubs-carousel-dot.is-active{background:var(--green);width:24px}.ecos-reader-app[data-theme=light] .pubs-carousel-cover{box-shadow:0 16px 40px #374b3a38,0 4px 12px #374b3a1f}.ecos-reader-app[data-theme=light] .pubs-carousel-card.is-active .pubs-carousel-cover{box-shadow:0 0 28px color-mix(in srgb, var(--green), transparent 60%), 0 24px 56px #374b3a42}@media (max-width:980px){.pubs-carousel{--carousel-card-w:clamp(160px, 30vw, 220px);gap:22px;padding:32px 16px 24px}.pubs-carousel-controls{grid-template-columns:40px minmax(0,1fr) 40px;gap:14px}.pubs-carousel-arrow{width:40px;height:40px}}@media (max-width:640px){.pubs-carousel-section{padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px))}.pubs-carousel{--carousel-card-w:clamp(160px, 56vw, 220px);--carousel-gap:clamp(14px, 4vw, 28px);gap:16px;padding:20px 12px 16px}.pubs-carousel-card{transform:scale(.78)}.pubs-carousel-card.is-active{transform:scale(1)}.pubs-carousel-controls{grid-template-columns:38px minmax(0,1fr) 38px;gap:12px}.pubs-carousel-arrow{width:38px;height:38px}.pubs-carousel-meta-title{font-size:clamp(18px,5vw,22px)}.pubs-carousel-meta-subtitle{font-size:12px}.pubs-carousel-meta-cat{letter-spacing:.22em;font-size:9px}.pubs-carousel-dot{width:7px;height:7px}.pubs-carousel-dot.is-active{width:20px}.ecos-reader-app:not(.reader-active):not(.videos-active):not(.myfiles-active):not(.admin-active) .hero-scrollwrap{height:auto!important;min-height:0!important}.ecos-reader-app:not(.reader-active):not(.videos-active):not(.myfiles-active):not(.admin-active) .hero-section{justify-content:flex-start;height:auto!important;min-height:0!important;padding:calc(84px + env(safe-area-inset-top,0px)) 16px 18px!important}.ecos-reader-app:not(.reader-active):not(.videos-active):not(.myfiles-active):not(.admin-active) .hero-copy{width:min(94vw,440px);margin:0 auto!important}.ecos-reader-app:not(.reader-active):not(.videos-active):not(.myfiles-active):not(.admin-active) .hero-copy .micro-pill{margin-top:18px}.ecos-reader-app:not(.reader-active):not(.videos-active):not(.myfiles-active):not(.admin-active) .hero-scroll-hint{white-space:normal;justify-content:center;margin-top:18px;display:inline-flex;position:static;transform:none}.ecos-reader-app:not(.reader-active):not(.videos-active):not(.myfiles-active):not(.admin-active) .pubs-carousel-section{padding-top:6px}}@media (max-width:820px){.reader-view--paged{background:radial-gradient(circle at 50% 18%, #dfff2714, transparent 42vw), linear-gradient(180deg, var(--bg), var(--bg-2));min-height:100svh;padding:8px 12px calc(112px + env(safe-area-inset-bottom,0px))!important}.reader-view--paged .reader-top{padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;-webkit-backdrop-filter:blur(18px)saturate(1.2);border-bottom:1px solid #ffffff14;grid-template-columns:40px minmax(0,1fr);gap:10px;margin:0 -12px 10px;background:#040805d1!important;top:0!important}.ecos-reader-app[data-theme=light] .reader-view--paged .reader-top{border-bottom-color:#151a1614;background:#f4f8f0e0!important}.reader-view--paged .reader-titleblock h2{-webkit-line-clamp:2;font-size:clamp(16px,4.2vw,21px);line-height:1.1}.reader-view--paged .reader-eyebrow{letter-spacing:.18em;margin-bottom:2px;font-size:8px}.reader-view--paged .reader-page{gap:10px;margin-top:0}.reader-view--paged .reader-toc{display:none}.reader-view--paged .reader-actions{border-radius:24px;min-height:58px;padding:7px;left:50%;box-shadow:0 16px 44px #0000006b,inset 0 1px #ffffff14;bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;background:#080d09e0!important;width:min(92vw,356px)!important}.ecos-reader-app[data-theme=light] .reader-view--paged .reader-actions{box-shadow:0 16px 44px #374b3a2e,inset 0 1px #ffffffb8;background:#f8fcf4f0!important}.reader-view--paged .reader-page-controls{grid-template-columns:46px minmax(82px,1fr) 46px;align-items:center;gap:8px;display:grid}.reader-view--paged .reader-page-button{background:#ffffff13;border-radius:18px;place-items:center;width:46px;height:44px;min-height:44px;padding:0;transition:transform .15s,background .15s,opacity .15s;display:grid}.reader-view--paged .reader-page-button:active:not(:disabled){transform:scale(.94)}.reader-view--paged .reader-control-word{display:none}.reader-view--paged .reader-control-symbol{color:currentColor;min-width:0;font-family:var(--sans);font-size:27px;font-weight:500;line-height:1}.reader-view--paged .reader-page-counter{min-width:0;height:44px;color:var(--ink);background:#ffffff0d;border-radius:18px;place-items:center;padding:0 16px;line-height:1;display:inline-grid}.reader-view--paged .reader-page-counter strong{font-size:15px;font-weight:900}.reader-view--paged .reader-page-counter small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:800}.reader-paged-active .reader-floating-comment{border-radius:18px;min-width:52px;min-height:52px;padding:0 15px;font-size:0;transition:transform .15s,box-shadow .15s;right:14px;box-shadow:0 18px 38px #0000005c,0 0 0 1px #dfff2733;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}.reader-paged-active .reader-floating-comment:before{content:"+";font-size:25px;font-weight:700;line-height:1}.reader-paged-active .reader-floating-comment:active{transform:scale(.94)}.reader-content--paged{overscroll-behavior:contain;align-items:start;padding-top:4px;display:grid;min-height:calc(100svh - 176px)!important}.reader-content--paged .reader-pdf-document{align-content:start;min-height:auto!important}.reader-content--paged .reader-pdf-section{transform-origin:50% 40%;will-change:opacity, transform}.reader-content--turn-next .reader-pdf-section{animation:.24s cubic-bezier(.2,.8,.2,1) both readerPageTurnNext}.reader-content--turn-prev .reader-pdf-section{animation:.24s cubic-bezier(.2,.8,.2,1) both readerPageTurnPrev}.comment-modal-card[data-anchor-kind=page]{border-radius:22px 22px 0 0;box-shadow:0 -22px 54px #00000073}}@keyframes readerPageTurnNext{0%{opacity:.2;transform:translate(18px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes readerPageTurnPrev{0%{opacity:.2;transform:translate(-18px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@media (max-width:820px){:is(html:has(.ecos-reader-app.reader-paged-active),body:has(.ecos-reader-app.reader-paged-active)){overscroll-behavior:none;height:100%;overflow:hidden}.ecos-reader-app.reader-paged-active{background:#030604;min-height:100dvh;overflow:hidden}.reader-view--paged.is-visible{z-index:1200;background:radial-gradient(circle at 50% 18%,#dfff271a,#0000 44vw),linear-gradient(#020402 0%,#071108 100%);width:100vw;height:100dvh;min-height:100dvh;display:block;position:fixed;inset:0;overflow:hidden;padding:0!important}.reader-view--paged .reader-top{z-index:7;opacity:1;grid-template-columns:42px minmax(0,1fr);transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s;left:0;right:0;transform:translateY(0);padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px!important;margin:0!important;position:absolute!important;top:0!important}.reader-view--paged.reader-chrome-hidden .reader-top{opacity:1;pointer-events:auto;transform:translateY(0)}.reader-view--paged .reader-top .icon-button{background:#ffffff0f;border-color:#ffffff21;width:42px;height:42px}.reader-view--paged .reader-progress{z-index:9;opacity:.9;height:2px;position:fixed;inset:0 0 auto}.reader-view--paged .reader-page{height:100%;padding:calc(72px + env(safe-area-inset-top,0px)) 10px calc(92px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr;place-items:center;gap:0;transition:padding .22s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;inset:0;margin:0!important}.reader-view--paged.reader-chrome-hidden .reader-page{padding:calc(72px + env(safe-area-inset-top,0px)) 8px calc(18px + env(safe-area-inset-bottom,0px))}.reader-view--paged:has(.reader-access-banner) .reader-page{padding-top:calc(178px + env(safe-area-inset-top,0px))}.reader-view--paged.reader-chrome-hidden:has(.reader-access-banner) .reader-page{padding-top:calc(170px + env(safe-area-inset-top,0px))}.reader-view--paged .reader-content--paged{z-index:2;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;place-items:center;width:100%;height:100%;padding:0;display:grid;position:relative;overflow:visible;min-height:0!important}.reader-view--paged .reader-content--paged:before,.reader-view--paged .reader-content--paged:after{content:"";z-index:1;pointer-events:none;opacity:0;border-radius:18px;width:30%;transition:opacity .16s;position:absolute;top:16%;bottom:18%}.reader-view--paged .reader-content--paged:before{background:linear-gradient(90deg,#dfff2714,#0000);left:0}.reader-view--paged .reader-content--paged:after{background:linear-gradient(270deg,#dfff2714,#0000);right:0}.reader-view--paged.reader-chrome-visible .reader-content--paged:before,.reader-view--paged.reader-chrome-visible .reader-content--paged:after{opacity:1}.reader-view--paged .reader-content--paged .reader-pdf-document{place-items:center;width:100%;display:grid;min-height:0!important}.reader-view--paged .reader-content--paged .reader-pdf-section{perspective:900px;place-items:center;max-width:100%;display:grid}.reader-view--paged .reader-content--paged .reader-pdf-canvas,.reader-view--paged .reader-content--paged .reader-structured-page{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:9px;box-shadow:0 18px 48px #0000007a,0 2px 8px #00000038;max-width:calc(100vw - 20px)!important}.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page,.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page canvas,.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page svg,.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page__textContent,.reader-view--paged .reader-content--paged .reader-pdf-canvas .textLayer,.reader-view--paged .reader-content--paged .reader-pdf-canvas .textLayer span{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page,.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page canvas,.reader-view--paged .reader-content--paged .reader-pdf-canvas .react-pdf__Page svg{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 176px)!important}.reader-view--paged.reader-chrome-hidden .reader-content--paged .reader-pdf-canvas .react-pdf__Page,.reader-view--paged.reader-chrome-hidden .reader-content--paged .reader-pdf-canvas .react-pdf__Page canvas,.reader-view--paged.reader-chrome-hidden .reader-content--paged .reader-pdf-canvas .react-pdf__Page svg{max-height:calc(100dvh - 38px)!important}.reader-view--paged .reader-comments,.reader-view--paged .reader-meta-footer{display:none!important}.reader-view--paged .reader-access-banner{top:calc(118px + env(safe-area-inset-top,0px));z-index:6;pointer-events:none;background:0 0;border:0;border-radius:16px;justify-content:center;align-items:center;min-height:36px;margin:0;padding:0;display:flex;position:absolute;left:12px;right:12px}.reader-view--paged .reader-access-banner div{display:none}.reader-view--paged .reader-access-banner button{pointer-events:auto;background:color-mix(in srgb, var(--green), transparent 4%);color:#071008;letter-spacing:0;text-transform:none;border:1px solid #dfff275c;border-radius:16px;width:min(72vw,280px);min-height:36px;padding:0 16px;font-size:11px;font-weight:900;box-shadow:0 12px 28px #00000052,0 0 0 1px #dfff271f}.reader-view--paged .reader-actions{z-index:8;opacity:1;min-height:58px;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s;left:50%;transform:translate(-50%)translateY(0);bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;width:min(90vw,344px)!important;position:fixed!important}.reader-view--paged.reader-chrome-hidden .reader-actions{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.reader-paged-active .reader-floating-comment{z-index:1210;opacity:1;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s;transform:translateY(0)scale(1)}.reader-paged-active .reader-view--paged.reader-chrome-hidden~.reader-floating-comment{opacity:.88;pointer-events:auto;transform:translateY(0)scale(.96)}.reader-paged-active .comment-bubble{bottom:calc(152px + env(safe-area-inset-bottom,0px));z-index:1211;width:min(86vw,320px);transform:translate(-50%);top:auto!important;left:50%!important}.reader-paged-active .comment-bubble button{justify-content:center;width:100%;min-height:46px}:is(.reader-paged-active:has(.comment-modal) .reader-floating-comment,.reader-paged-active:has(.comment-modal) .comment-bubble){opacity:0;pointer-events:none}.reader-paged-active .comment-modal{z-index:1305;background:#000000b3;justify-content:center;align-items:flex-end;padding:0;display:flex}.reader-paged-active .comment-modal-card{width:100%;max-width:100%;max-height:min(86dvh,640px);padding:10px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;overflow:hidden}.reader-paged-active .comment-modal-head,.reader-paged-active .comment-quote,.reader-paged-active .comment-modal-actions{margin:0}.reader-paged-active .comment-quote{max-height:74px;font-size:12px}.reader-paged-active .comment-modal textarea{resize:none;min-height:156px;max-height:34dvh;font-size:16px}.reader-content--turn-next .reader-pdf-section{animation:.26s cubic-bezier(.2,.8,.2,1) both readerPageTurnNextFull}.reader-content--turn-prev .reader-pdf-section{animation:.26s cubic-bezier(.2,.8,.2,1) both readerPageTurnPrevFull}}@keyframes readerPageTurnNextFull{0%{opacity:0;transform:translate(36px)rotateY(-5deg)scale(.975)}to{opacity:1;transform:translate(0)rotateY(0)scale(1)}}@keyframes readerPageTurnPrevFull{0%{opacity:0;transform:translate(-36px)rotateY(5deg)scale(.975)}to{opacity:1;transform:translate(0)rotateY(0)scale(1)}}@media (max-width:640px){.ecos-reader-app .videos-panel{padding-top:calc(86px + env(safe-area-inset-top,0px));padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));overflow:hidden visible}.ecos-reader-app .stream-title{max-width:min(100%,420px);min-height:0;margin:0 auto 6px;font-size:clamp(36px,11.5vw,58px);line-height:1.04;overflow:visible}.ecos-reader-app .stream-deck{height:184px;margin-top:8px}.ecos-reader-app .stream-now-panel{margin-top:10px;margin-bottom:10px}.ecos-reader-app .upload-builder-overlay{align-items:stretch;padding:0}.ecos-reader-app .upload-builder-modal{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.ecos-reader-app .upload-builder-header{padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px;align-items:flex-start;gap:10px}.ecos-reader-app .upload-builder-header h3{font-size:20px;line-height:1.1}.ecos-reader-app .builder-progress-strip{gap:6px}.ecos-reader-app .builder-progress-strip span{min-height:24px;font-size:10px}.ecos-reader-app .builder-language{grid-template-columns:repeat(2,48px);min-width:102px}.ecos-reader-app .builder-language button{min-width:0;height:36px}.ecos-reader-app .builder-language button small{display:none}.ecos-reader-app .upload-builder-body,.ecos-reader-app .upload-builder-body--template{-webkit-overflow-scrolling:touch;min-height:0;overflow:hidden auto}.ecos-reader-app .upload-setup-workbench{height:auto;min-height:100%;padding:18px 14px calc(104px + env(safe-area-inset-bottom,0px));display:block;overflow:visible}.ecos-reader-app .upload-setup-hero{max-width:none;margin-bottom:16px}.ecos-reader-app .upload-setup-hero h3{font-size:clamp(28px,8vw,38px);line-height:1.05}.ecos-reader-app .upload-setup-hero p:not(.modal-kicker){margin-top:8px;font-size:13px;line-height:1.42}.ecos-reader-app .guided-upload-flow,.ecos-reader-app .guided-upload-flow--two{grid-template-columns:1fr;align-items:start;gap:14px;display:grid}.ecos-reader-app .upload-guide-card{gap:12px;min-height:0;padding:14px;overflow:visible}.ecos-reader-app .upload-guide-card header{grid-template-columns:30px minmax(0,1fr) 28px;gap:10px}.ecos-reader-app .upload-guide-card header strong{font-size:16px}.ecos-reader-app .upload-guide-card header p{font-size:12px}.ecos-reader-app .upload-primary-grid{grid-template-columns:1fr;gap:8px}.ecos-reader-app .upload-primary-grid button{gap:6px;min-height:0;padding:12px}.ecos-reader-app .upload-primary-grid button small{padding-top:6px}.ecos-reader-app .guide-companion-toggle{padding:11px}.ecos-reader-app .guided-file-grid{gap:10px}.ecos-reader-app .guided-file-grid button{grid-template-columns:46px minmax(0,1fr);grid-template-areas:"icon title""icon helper""icon badge";gap:4px 12px;min-height:0;padding:12px;overflow:visible}.ecos-reader-app .guided-file-grid i{border-radius:14px;width:42px;height:42px}.ecos-reader-app .guided-file-grid .upload-drop-icon:before{width:20px;height:25px}.ecos-reader-app .guided-file-grid .upload-drop-icon:after{height:19px;top:9px;right:9px}.ecos-reader-app .guided-file-grid .upload-drop-icon span{top:22px;left:13px}.ecos-reader-app .guided-file-grid strong{overflow-wrap:anywhere;align-self:end;font-size:16px}.ecos-reader-app .guided-file-grid button>span{overflow-wrap:anywhere;font-size:12px;line-height:1.3}.ecos-reader-app .guided-file-grid small{justify-self:start;min-height:22px;margin-top:2px;padding:0 9px}.ecos-reader-app .guide-files-hint{font-size:12px;line-height:1.35}.ecos-reader-app .upload-builder-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--panel-solid), black 8%)}.ecos-reader-app .upload-builder-footer .btn-primary,.ecos-reader-app .upload-builder-footer .btn-secondary{min-width:0;min-height:48px}.ecos-reader-app .upload-template-workbench{background:#050707;height:auto;min-height:100%;display:block;overflow:visible}.ecos-reader-app .template-topbar,.ecos-reader-app .upload-template-inspector{display:none!important}.ecos-reader-app .upload-template-canvas{background:radial-gradient(circle at 18% 74%,#dfff271f,#0000 28%),#050707;min-height:0;display:block;overflow:visible}.ecos-reader-app .template-detail-info{min-height:0;padding:18px 14px calc(104px + env(safe-area-inset-bottom,0px));gap:14px;display:grid;overflow:visible}.ecos-reader-app .template-detail-visual{border:1px solid var(--line);background:#ffffff09;border-radius:14px;grid-template-columns:96px minmax(0,1fr);place-items:stretch stretch;gap:12px;min-height:0;margin:14px 14px 0;padding:14px;display:grid;overflow:visible}.ecos-reader-app .template-detail-visual .detail-aura,.ecos-reader-app .template-node-pill{display:none}.ecos-reader-app .template-cover-frame{perspective:none;width:96px;min-width:0;display:block;transform:none}.ecos-reader-app .template-cover-frame .builder-cover-button,.ecos-reader-app .template-cover-frame .builder-cover-button:hover,.ecos-reader-app .template-cover-frame .builder-cover-button:focus-visible{width:96px;min-height:128px;transform:none}.ecos-reader-app .template-file-dock{align-content:center;gap:8px;display:grid;position:static}.ecos-reader-app .template-file-dock .builder-file-chip{border-radius:10px;min-height:56px;padding:9px 10px}.ecos-reader-app .template-file-dock .builder-file-chip span{white-space:normal}.ecos-reader-app .upload-template-canvas .template-cover-frame,.ecos-reader-app .upload-template-canvas .template-file-dock,.ecos-reader-app .upload-template-canvas .template-detail-label button,.ecos-reader-app .upload-template-canvas .template-detail-label input,.ecos-reader-app .upload-template-canvas .template-title-editor,.ecos-reader-app .upload-template-canvas .template-subtitle-editor,.ecos-reader-app .upload-template-canvas .template-summary-editor,.ecos-reader-app .upload-template-canvas .template-tag-cloud,.ecos-reader-app .upload-template-canvas .feature-card,.ecos-reader-app .upload-template-canvas .template-institutions-section,.ecos-reader-app .upload-template-canvas .template-about-section{outline-offset:0;box-shadow:none;outline:0}.ecos-reader-app .template-institutions-section:has(input:focus){outline-offset:0;box-shadow:none;outline:0}.ecos-reader-app .template-about-section:has(textarea:focus){outline-offset:0;box-shadow:none;outline:0}.ecos-reader-app .template-title-editor,.ecos-reader-app .template-subtitle-editor,.ecos-reader-app .template-summary-editor,.ecos-reader-app .template-about-editor,.ecos-reader-app .template-institution-card input{border:1px solid var(--line);min-height:46px;font-family:var(--sans);background:#ffffff0b;border-radius:10px;padding:12px;font-size:15px;line-height:1.35}.ecos-reader-app .template-title-editor{min-height:54px;font-size:20px;font-weight:850}.ecos-reader-app .template-subtitle-editor{margin-top:0;font-style:normal}.ecos-reader-app .template-summary-editor,.ecos-reader-app .template-about-editor{resize:vertical;min-height:112px}.ecos-reader-app .template-doc-meta,.ecos-reader-app .template-feature-grid,.ecos-reader-app .template-stats{display:none}.ecos-reader-app .template-tag-cloud{border:1px solid var(--line);background:#ffffff09;border-radius:12px;flex-wrap:wrap;gap:8px;min-height:48px;padding:10px;display:flex}.ecos-reader-app .template-tag-cloud:before{content:"Tags";color:var(--muted);letter-spacing:.18em;text-transform:uppercase;flex:0 0 100%;font-size:10px;font-weight:850}.ecos-reader-app .template-tag-cloud button{background:#dfff271a;min-height:32px}.ecos-reader-app .template-institutions-section,.ecos-reader-app .template-about-section{border:1px solid var(--line);background:#ffffff09;border-radius:14px;padding:14px}.ecos-reader-app .template-section-head{margin-bottom:12px}.ecos-reader-app .template-section-head h3{letter-spacing:.18em;text-transform:uppercase;font-size:11px}.ecos-reader-app .template-section-head button{min-height:32px;padding:0 12px}.ecos-reader-app .template-institutions-grid{grid-template-columns:1fr;gap:12px;display:grid}.ecos-reader-app .template-institution-card{background:#ffffff0a;border:1px solid #dfff272e;border-radius:12px;min-height:0;padding:14px}.ecos-reader-app .template-institution-main{grid-template-columns:72px minmax(0,1fr);align-items:end;gap:12px}.ecos-reader-app .template-institution-logo{min-height:74px;padding:8px}.ecos-reader-app .template-institution-logo strong{font-size:8px}.ecos-reader-app .template-empty-card{min-height:64px}.ecos-reader-app .myfiles-panel{padding:calc(86px + env(safe-area-inset-top,0px)) 16px calc(112px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.ecos-reader-app .myfiles-header h2{font-size:clamp(38px,12vw,58px);line-height:1.05}.ecos-reader-app .user-publications-grid{grid-template-columns:1fr;gap:16px;width:100%;display:grid}.ecos-reader-app .user-pub-card{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;grid-template-columns:112px minmax(0,1fr);gap:12px;width:100%;padding:12px;display:grid}.ecos-reader-app .user-pub-card .user-pub-cover{aspect-ratio:3/4;border-radius:10px;grid-row:span 2;width:112px;height:auto}.ecos-reader-app .user-pub-info{align-self:start;min-width:0}.ecos-reader-app .user-pub-info h4{white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;font-size:17px;line-height:1.14;display:-webkit-box;overflow:hidden}.ecos-reader-app .user-pub-meta{gap:6px;font-size:12px;line-height:1.35}.ecos-reader-app .user-pub-tag{border-radius:999px;align-items:center;min-height:24px;padding:2px 8px;display:inline-flex}.ecos-reader-app .user-pub-actions{grid-column:2;align-self:end;margin-top:0}.ecos-reader-app .user-pub-actions .btn-icon{border-radius:10px;width:42px;height:42px}.ecos-reader-app .add-doc-card{aspect-ratio:auto;border-radius:14px;justify-content:center;width:100%;height:auto;min-height:144px;padding:18px}.ecos-reader-app .add-doc-card .plus-icon{margin-bottom:8px;font-size:42px;line-height:1}.ecos-reader-app .add-doc-card h4{margin-bottom:6px;font-size:18px}.ecos-reader-app .add-doc-card p{max-width:260px;font-size:13px}}@media (max-width:390px){.ecos-reader-app .videos-panel{padding-top:calc(80px + env(safe-area-inset-top,0px))}.ecos-reader-app .stream-title{font-size:clamp(32px,10.5vw,48px)}.ecos-reader-app .stream-deck{height:176px}.ecos-reader-app .upload-builder-header{padding-inline:12px}.ecos-reader-app .upload-builder-header h3{font-size:18px}.ecos-reader-app .upload-setup-workbench{padding-inline:12px}}.reader-select-tutorial{z-index:150;width:min(560px,100vw - 32px);color:var(--ink);-webkit-backdrop-filter:blur(18px)saturate(1.3);background:#0a0e0bf0;border:1px solid #dfff2752;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 20px 16px 18px;animation:.32s forwards reader-tutorial-in;display:grid;position:fixed;bottom:96px;left:50%;transform:translate(-50%)translateY(8px);box-shadow:0 20px 56px #0000008c,inset 0 1px #ffffff0d}.ecos-reader-app[data-theme=light] .reader-select-tutorial{color:#14181a;background:#f8fcf4f5;border-color:#769e3c66;box-shadow:0 18px 44px #374b3a38,inset 0 1px #ffffffb3}@keyframes reader-tutorial-in{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.reader-select-tutorial__demo{align-items:center;height:36px;padding:0 4px;display:inline-flex;position:relative}.reader-select-tutorial__words{font-family:var(--serif);color:color-mix(in srgb, var(--ink), transparent 14%);border-radius:4px;gap:6px;padding:2px 4px;font-size:14px;font-weight:700;display:inline-flex;position:relative}.reader-select-tutorial__word{z-index:2;position:relative}.reader-select-tutorial__highlight{z-index:1;background:#dfff276b;border-radius:3px;width:0;animation:2.4s cubic-bezier(.6,.05,.4,1) infinite reader-tutorial-highlight;position:absolute;inset:0 auto 0 0}@keyframes reader-tutorial-highlight{0%{opacity:.9;width:0}45%{opacity:.9;width:100%}70%{opacity:.9;width:100%}85%{opacity:0;width:100%}to{opacity:0;width:0}}.reader-select-tutorial__cursor{pointer-events:none;z-index:3;background:linear-gradient(135deg,#fff 38%,#0000 38%) no-repeat,linear-gradient(225deg,#fff 38%,#0000 38%) no-repeat;background:var(--ink);width:12px;height:18px;margin-top:-4px;animation:2.4s cubic-bezier(.6,.05,.4,1) infinite reader-tutorial-cursor;position:absolute;top:50%;left:0;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 22'><path d='M1 1 L1 17 L5 13 L7.5 19 L10 18 L7.5 12 L13 12 Z' fill='white' stroke='black' stroke-width='1'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 22'><path d='M1 1 L1 17 L5 13 L7.5 19 L10 18 L7.5 12 L13 12 Z' fill='white' stroke='black' stroke-width='1'/></svg>") 50%/contain no-repeat}@keyframes reader-tutorial-cursor{0%{transform:translate(4px,-50%)}45%{transform:translate(calc(100% + 4px),-50%)}70%{transform:translate(calc(100% + 4px),-50%)}85%{opacity:.6;transform:translate(calc(100% + 4px),-50%)}to{opacity:0;transform:translate(4px,-50%)}}.reader-select-tutorial__copy{gap:4px;min-width:0;display:grid}.reader-select-tutorial__copy strong{letter-spacing:0;color:inherit;font-size:14px;font-weight:800}.reader-select-tutorial__copy span{color:color-mix(in srgb, currentColor, transparent 32%);font-size:12px;line-height:1.4}.ecos-reader-app .reader-select-tutorial__cta,.reader-select-tutorial__cta{background:var(--green);color:#000;cursor:pointer;min-height:36px;font-family:var(--sans,system-ui, sans-serif);letter-spacing:.01em;white-space:nowrap;text-shadow:none;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:700}.reader-select-tutorial__cta:hover{filter:brightness(1.08)}.reader-select-tutorial__close{color:currentColor;opacity:.55;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:26px;height:26px;font-size:18px;line-height:1;display:grid;position:absolute;top:6px;right:8px}.reader-select-tutorial__close:hover{opacity:1}@media (max-width:720px){.reader-select-tutorial{grid-template-columns:1fr;gap:12px;padding:14px 16px;bottom:84px}.reader-select-tutorial__cta{justify-self:end}.reader-select-tutorial__close{top:4px;right:6px}}
