:root{--paper:#f7f7f7;--ink:#151515;--muted:#7f7f7f;--line:#dcdcdc;--sage:#919191}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #808080;outline-offset:5px}.header{height:100px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:linear-gradient(var(--paper) 65%,#f6f6f6db);pointer-events:none}.header>*{pointer-events:auto}.brand{width:103px;aspect-ratio:1.614;display:grid;place-items:center;background:#262626;border-radius:3px;padding:6px}.brand img{width:100%;height:auto;display:block}.header-center{font-size:9px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:13px;margin-left:40px}.header-caption{font-size:10px;letter-spacing:0;color:#989898;border-left:1px solid #d4d4d4;padding-left:15px;margin-left:4px;font-weight:400}.tiny-line{width:24px;height:1px;background:currentColor;display:inline-block;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:20px}.track-button{display:flex;gap:25px;align-items:center;border:1px solid #3434343b;background:#f6f6f680;border-radius:4px;font-size:10px;padding:13px 17px;font-weight:500}.track-button>span{font-size:20px;line-height:1}.track-button:hover{background:var(--ink);color:var(--paper)}.overview-button{padding:9px 0;background:transparent;font-size:10px;display:flex;gap:8px;align-items:center}.overview-button>span{font-size:19px}.overview-button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}#journey{position:relative;width:100%;height:100svh;overflow:hidden}#world{position:absolute;inset:0;touch-action:pan-y}#world canvas{width:100%;height:100%;display:block}.scene-wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper),#f6f6f6fc 18%,#f6f6f6d6 29%,#f6f6f600 47%)}.scene-tag{position:absolute;right:4%;top:131px;z-index:5;display:flex;gap:11px;align-items:center;font-size:7px;letter-spacing:1.2px;font-weight:600}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8e8e8e;box-shadow:0 0 0 4px #92929214;flex-shrink:0}.tag-divider{height:10px;width:1px;background:#cbcbcb;margin:0 2px}#scene-state{color:#939393;font-size:6px}.hero-copy{position:absolute;z-index:7;left:5.5%;top:25%;width:33%;max-width:470px;pointer-events:none}.hero-copy button{pointer-events:auto}.eyebrow{display:flex;gap:12px;align-items:center;font-size:8px;font-weight:700;letter-spacing:2px;line-height:1.8}.chapter-count{font-size:9px;letter-spacing:1px;color:#989898;margin:35px 0 20px}.chapter-count>span:first-child{color:var(--ink);font-weight:700}.chapter-name{padding-left:13px;margin-left:12px;border-left:1px solid #cbcbcb;letter-spacing:0}h1{font-size:clamp(39px,4vw,68px);font-weight:500;line-height:1.13;letter-spacing:-2.6px;margin:0 0 25px}h1 span{color:var(--sage);display:block}.hero-description{font-size:11px;line-height:1.95;color:#7e7e7e;max-width:315px;margin:0 0 25px}.scene-facts{display:flex;gap:27px;padding:20px 0 22px;border-top:1px solid #34343417;max-width:325px}.scene-facts strong{font-size:11px;font-weight:600;display:block}.scene-facts small{display:block;color:#929292;font-size:7px;line-height:1.6;margin-top:6px}.scene-facts>span+span{border-left:1px solid #dbdbdb;padding-left:25px}.primary-button{background:var(--ink);color:var(--paper);padding:16px 21px;display:inline-flex;align-items:center;gap:35px;border-radius:3px;font-size:10px;font-weight:600;transition:background .2s,transform .2s}.primary-button span{font-size:19px;font-weight:400;line-height:1}.primary-button:hover{background:#4e4e4e;transform:translateY(-2px)}.navigation-hint{display:flex;align-items:center;gap:10px;font-size:7px;color:#929292;margin-top:21px}.navigation-hint span{font-size:15px;color:#6b6b6b}.tour-bottom{position:absolute;z-index:9;bottom:52px;left:5.5%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.chapter-nav{display:flex;gap:5px}.chapter-nav>button{display:flex;align-items:center;gap:11px;position:relative;overflow:hidden;padding:15px 18px;background:#f6f6f64d;border-radius:4px;border:1px solid transparent;font-size:10px;text-align:left;transition:background .25s}.chapter-nav>button>span{font-size:8px;color:#9d9d9d}.chapter-nav>button>b{font-weight:500}.chapter-nav>button[aria-current]{background:#eeeeeee6;border-color:#d9d9d9}.chapter-nav>button[aria-current]>span{color:var(--ink)}.chapter-nav>button:hover{background:#ebebeb}.chapter-nav i{height:2px;width:0;position:absolute;bottom:0;left:0;background:#8d8d8d;transition:width 1.3s ease}.chapter-nav button.complete i{width:100%}.tour-controls{display:flex;align-items:center;gap:9px}.tour-controls>button{width:32px;height:32px;display:grid;place-items:center;background:#f6f6f6a6;border:1px solid #dbdbdb;border-radius:50%;font-size:13px}.tour-controls>button#pause{font-size:10px}.tour-controls>button:hover{background:#ebebeb}.tour-controls>button:disabled{opacity:.35;cursor:default}.tour-progress{position:absolute;bottom:30px;left:5.5%;right:4%;height:1px;background:#dedede}#tour-progress{height:1px;background:var(--ink);width:25%;transition:width .6s}.bottom-caption{position:absolute;bottom:13px;left:5.5%;right:4%;display:flex;justify-content:space-between;color:#9d9d9d;font-size:6px;letter-spacing:.9px}.world-caption{position:absolute;z-index:4;right:5%;bottom:124px;display:flex;gap:10px;align-items:center;color:#8c8c8c;font-size:8px}.hotspot{position:absolute;z-index:6;transform:translate(-50%,-50%);width:27px;height:27px;background:#fefefee8;box-shadow:0 3px 20px #34343414;border:1px solid #fefefe;border-radius:50%;font-size:16px;font-weight:400;transition:opacity .3s}.hotspot:before{content:'';position:absolute;inset:-3px;border:1px solid #fefefe78;border-radius:50%;opacity:.48;pointer-events:none}.hotspot:hover{background:var(--ink);color:var(--paper)}.hotspot-label{position:absolute;left:34px;top:0;padding:7px 9px;white-space:nowrap;font-size:7px;letter-spacing:.4px;border:1px solid #dfdfdf;background:#fefefee8;border-radius:3px;color:var(--ink);pointer-events:none}.hotspot-card{position:absolute;z-index:14;right:6%;bottom:177px;width:290px;padding:29px;background:#fefefef2;border:1px solid #dcdcdc;border-radius:4px;backdrop-filter:blur(15px);box-shadow:0 15px 45px #34343412}.hotspot-card>button{position:absolute;right:10px;top:7px;background:none;font-size:23px}.hotspot-card h2{font-size:23px;font-weight:500;letter-spacing:-.6px;margin:19px 0}.hotspot-card p{font-size:11px;line-height:1.8;color:#858585}.render-fallback{position:absolute;left:49%;right:8%;top:48%;font-size:14px;line-height:1.8;color:#7f7f7f}dialog{background:var(--paper);border:1px solid #dbdbdb;border-radius:8px;width:min(580px,94vw);padding:44px;color:var(--ink);max-height:90svh;overflow-y:auto}dialog::backdrop{background:#3232325c;backdrop-filter:blur(9px)}dialog h2{font-size:39px;letter-spacing:-1.5px;font-weight:500;line-height:1.15;margin-top:22px}dialog h2 span{color:var(--sage)}.dialog-intro{font-size:12px;line-height:1.8;color:#858585}.dialog-close{position:absolute;top:13px;right:16px;font-size:28px;background:none}label{display:block;font-size:11px;margin-bottom:10px}.input-row{display:flex;gap:9px}.input-row input{min-width:0;flex:1;padding:12px;border:1px solid #d0d0d0;background:#fefefe;border-radius:3px;font-size:12px;color:var(--ink)}.input-row button{gap:10px;white-space:nowrap}.text-button{padding:12px 0;background:none;font-size:10px;font-weight:600;text-align:left}.text-button:hover{text-decoration:underline}.tracking-steps{list-style:none;padding:0;margin:20px 0 0}.tracking-steps li{border-left:1px solid #d3d3d3;margin-left:6px;padding:0 0 20px 22px;position:relative;font-size:11px;color:#929292}.tracking-steps li:before{content:'';position:absolute;width:9px;height:9px;left:-5px;top:1px;border-radius:50%;background:#dbdbdb}.tracking-steps li.done:before,.tracking-steps li.current:before{background:#5e5e5e}.tracking-steps li.current:before{box-shadow:0 0 0 4px #9b9b9b26}.tracking-steps li.done,.tracking-steps li.current{color:var(--ink)}.tracking-steps small{display:block;font-size:9px;margin-top:6px;color:#979797}.result-top{font-size:12px;line-height:1.8;border-top:1px solid #d9d9d9;padding-top:20px;margin-top:20px}.error-message{font-size:11px;line-height:1.8;color:#686868}.skip-link{position:fixed;top:-70px;left:15px;background:var(--ink);color:white;padding:15px;z-index:100}.skip-link:focus{top:10px}[hidden]{display:none!important}
@media(max-height:830px) and (min-width:701px){.hero-copy{top:22%}.chapter-count{margin-top:23px;margin-bottom:15px}h1{font-size:clamp(36px,3.7vw,55px);margin-bottom:20px}.hero-description{font-size:10px;margin-bottom:18px;max-width:285px}.scene-facts{padding:15px 0 18px}.scene-tag{top:117px}.navigation-hint{margin-top:16px}.world-caption{bottom:116px}.header{height:90px}.brand{width:94px}}
@media(max-width:1000px){.header-center{margin-left:5px}.header-caption{display:none}.header-actions{gap:15px}.hero-copy{left:5%;width:36%}h1{font-size:42px}.chapter-nav>button{padding:14px 12px;font-size:9px}.scene-facts{gap:15px}.scene-facts>span+span{padding-left:15px}.scene-facts strong{font-size:10px}.overview-button{font-size:9px}}
@media(max-width:700px){.header{height:78px;padding:0 6%}.brand{width:77px;padding:5px}.header-center{display:none}.header-actions{gap:14px}.overview-button{font-size:0;gap:0}.overview-button>span{font-size:24px}.track-button{font-size:8px;gap:15px;padding:12px}.track-button>span{font-size:17px}.scene-tag{top:99px;left:7%;right:auto;font-size:6px;gap:8px;letter-spacing:.6px}#scene-state{font-size:5px}.tag-divider{margin:0 1px}.hero-copy{top:143px;left:7%;width:86%;max-width:none}.hero-copy>.eyebrow{display:none}.chapter-count{font-size:8px;margin:0 0 14px}.chapter-name{padding-left:10px;margin-left:10px}h1{font-size:38px;line-height:1.12;letter-spacing:-1.8px;max-width:340px;margin-bottom:15px}.hero-description{font-size:9px;line-height:1.8;max-width:280px;margin-bottom:17px}.scene-facts{display:none}.primary-button{padding:13px 16px;font-size:9px;gap:28px}.navigation-hint{display:none}.scene-wash{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 34%,#f6f6f6d9 43%,#f6f6f600 54%)}.tour-bottom{bottom:48px;left:6%;right:6%;display:block}.chapter-nav{gap:4px;justify-content:space-between}.chapter-nav>button{padding:10px 9px;gap:4px;flex-direction:column;font-size:8px;min-width:59px}.chapter-nav>button>span{font-size:6px}.tour-controls{position:absolute;right:0;top:-45px;gap:7px}.tour-controls>button{width:28px;height:28px;font-size:11px}.tour-controls>button#pause{font-size:8px}.tour-progress{left:7%;right:7%;bottom:28px}.bottom-caption{left:7%;right:7%;font-size:5px;bottom:13px;letter-spacing:.4px}.world-caption{display:none}.hotspot{width:25px;height:25px;font-size:15px}.hotspot-label{font-size:6px;left:31px;padding:6px}.hotspot-card{right:7%;bottom:139px;width:260px;padding:24px}.hotspot-card h2{font-size:21px}.hotspot-card p{font-size:10px}.render-fallback{left:8%;right:8%;top:60%;font-size:12px}dialog{padding:32px 23px}dialog h2{font-size:32px}.input-row button{padding:14px;font-size:10px}.input-row input{font-size:11px}}
@media(max-width:700px) and (max-height:735px){.hero-copy{top:127px}h1{font-size:32px}.hero-description{font-size:8px;max-width:275px;margin-bottom:13px}.scene-tag{top:92px}.chapter-count{margin-bottom:11px}.hero-copy .primary-button{padding:11px 15px}.scene-wash{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 36%,#f6f6f6d9 45%,#f6f6f600 57%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

:root{--paper:#f7f7f7;--ink:#171717;--muted:#777;--line:#ddd;--sage:#888}.primary-button{background:#171717}.primary-button:hover{background:#333}.brand{background:#151515}.scene-wash{pointer-events:none}.hero-copy{pointer-events:none}.hero-copy button,.hero-copy a{pointer-events:auto}#world{cursor:grab;touch-action:none}#world.is-dragging{cursor:grabbing}#world.rotate-mode{cursor:move}.view-tools{position:absolute;z-index:9;right:4%;top:164px;display:flex;gap:5px;padding:5px;background:#ffffffc9;border:1px solid #ddd;border-radius:5px;backdrop-filter:blur(8px)}.view-tools button{background:none;min-width:30px;height:30px;border-radius:3px;font-size:11px;display:grid;place-items:center}.view-tools button[aria-pressed=true]{background:#191919;color:white}.view-tools button:hover{background:#e8e8e8}.view-tools button[aria-pressed=true]:hover{background:#333}.view-tools .zoom-divider{width:1px;background:#ddd;margin:4px 3px}.drag-hint{position:absolute;z-index:4;right:5%;bottom:124px;font-size:8px;color:#777;display:flex;gap:8px;align-items:center}.drag-hint span:first-child{font-size:15px}.world-caption{bottom:153px;font-size:7px;color:#777}.production-nav{position:absolute;left:5.5%;right:4%;bottom:117px;z-index:10;display:flex;align-items:center;gap:5px;width:max-content;max-width:90%;padding:5px;background:#fffdfdef;border:1px solid #ddd;border-radius:4px;box-shadow:0 5px 20px #00000005}.production-nav .production-nav-label{font-size:7px;letter-spacing:1px;padding:0 11px;color:#888;border-right:1px solid #ddd;white-space:nowrap}.production-nav button{padding:10px 12px;background:transparent;font-size:8px;border-radius:2px;white-space:nowrap}.production-nav button[aria-pressed=true]{background:#222;color:#fff}.production-nav button:hover{background:#eee}.production-nav button[aria-pressed=true]:hover{background:#444}.feed-status{position:absolute;z-index:5;right:5%;bottom:185px;padding:12px 15px;border:1px solid #ddd;background:#ffffffd9;border-radius:4px;width:190px}.feed-status>span{font-size:6px;letter-spacing:1.5px;color:#888;display:block}.feed-status strong{font-size:10px;font-weight:500;display:block;margin-top:7px}.feed-track{display:flex;gap:4px;margin-top:12px}.feed-track i{height:2px;background:#ddd;flex:1}.feed-track i.active{background:#222}.is-production .world-caption,.is-production .feed-status{display:none}.is-production .drag-hint{bottom:177px}.free-camera .scene-tag #scene-state{color:#222}.bottom-caption{pointer-events:none}
@media(max-height:830px) and (min-width:701px){.view-tools{top:144px}.feed-status{bottom:177px}.hero-copy .hero-description{font-size:10px;max-width:285px}.is-production .hero-copy{top:21%}}
@media(max-width:1000px){.production-nav .production-nav-label{display:none}.production-nav button{padding:10px}.feed-status{width:169px;font-size:9px}}
@media(max-width:700px){.view-tools{top:131px;right:6%;padding:3px;gap:1px}.view-tools button{min-width:27px;height:27px;font-size:9px}.view-tools .zoom-divider{margin:3px}.hero-copy{top:151px}.hero-copy h1{font-size:34px;max-width:320px}.scene-tag{right:6%;top:96px}.drag-hint{right:7%;bottom:111px;font-size:6px;gap:5px}.drag-hint span:first-child{font-size:13px}.world-caption{display:none}.feed-status{left:7%;right:auto;bottom:117px;width:143px;padding:9px 11px}.feed-status>span{font-size:5px;letter-spacing:.8px}.feed-status strong{font-size:8px;margin-top:4px}.feed-track{margin-top:7px}.production-nav{left:6%;right:6%;bottom:119px;width:88%;max-width:88%;overflow-x:auto;scrollbar-width:none;gap:1px;padding:4px;white-space:nowrap}.production-nav::-webkit-scrollbar{display:none}.production-nav button{padding:9px 10px;font-size:7px}.is-production .drag-hint{bottom:170px;font-size:6px}.is-production .hero-copy h1{font-size:32px}.is-production .hero-description{font-size:9px;max-width:285px}.scene-wash{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 35%,#f7f7f7cb 45%,#f7f7f700 57%)}.hotspot-card{bottom:180px}.view-tools button.control-label{font-size:8px;min-width:35px}}
@media(max-width:700px) and (max-height:735px){.hero-copy{top:142px}.hero-copy h1{font-size:29px}.view-tools{top:121px}.scene-tag{top:93px}.hero-description{font-size:8px!important;max-width:265px}.hero-copy .primary-button{padding:10px 13px}}

/* A canvas world must never scroll when a projected hotspot leaves the viewport. */
#journey{overflow:clip}

/* The complete landscape has a quiet corner caption, leaving room to explore. */
.places-nav{position:absolute;z-index:10;left:50%;transform:translateX(-50%);bottom:117px;display:flex;gap:4px;align-items:center;padding:6px;background:#fffffff0;border:1px solid #ddd;border-radius:5px;max-width:90%;overflow:auto;scrollbar-width:none}
.places-nav>span{font-size:7px;letter-spacing:1.4px;color:#777;padding:0 10px}.places-nav button{white-space:nowrap;font-size:9px;padding:10px 14px;border-radius:3px;background:transparent}.places-nav button[aria-pressed=true]{background:#222;color:#fff}.places-nav button:hover{background:#ddd}.places-nav button[aria-pressed=true]:hover{background:#444}
.overview-world .hero-copy{top:135px;width:240px}.overview-world .hero-copy>.eyebrow,.overview-world .chapter-count,.overview-world .hero-description,.overview-world .scene-facts,.overview-world .hero-copy .primary-button,.overview-world .navigation-hint{display:none}.overview-world h1{font-size:30px;letter-spacing:-1px}.overview-world .scene-wash{background:none}.overview-world .world-caption,.overview-world .drag-hint{display:none}
@media(max-width:700px){.overview-world .hero-copy{top:148px;left:7%;width:230px}.overview-world h1{font-size:28px}.places-nav{bottom:112px;max-width:90%;gap:1px;padding:4px}.places-nav>span{display:none}.places-nav button{font-size:7px;padding:9px}.overview-world .scene-wash{background:linear-gradient(180deg,#f7f7f7 15%,#f7f7f700 33%)}}
.view-tools button.light-toggle{display:flex;align-items:center;gap:6px;padding:0 10px;width:auto;background:#fffaf0;color:#4c463a;border:1px solid #e8dcc4;font-size:9px;white-space:nowrap}
.view-tools button.light-toggle[aria-pressed=true]{background:#fff0c9;color:#4a3512;border-color:#e3c477;box-shadow:0 0 12px #f3d99288}
.view-tools button.light-toggle[aria-pressed=true]:hover{background:#ffe8aa;color:#39280c}

/* Language selector */
.language-picker{position:relative;z-index:35}
.language-trigger{height:38px;min-width:61px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:7px;background:#f6f6f6c9;border:1px solid #dcdcdc;border-radius:4px;font-size:10px;font-weight:600}
.language-trigger:hover,.language-trigger[aria-expanded=true]{background:#fff;border-color:#aaa}
#language-flag{font-size:16px;line-height:1}
.language-chevron{font-size:14px;font-weight:400;color:#777;margin-left:1px}
.language-menu{position:absolute;right:0;top:calc(100% + 9px);min-width:166px;padding:5px;background:#fffffff2;border:1px solid #dedede;border-radius:5px;box-shadow:0 12px 34px #1515151c;backdrop-filter:blur(14px)}
.language-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 11px;text-align:left;background:transparent;border-radius:3px;font-size:11px}
.language-menu button:hover,.language-menu button.selected{background:#f0f0f0}
.language-menu button[aria-checked=true]:after{content:'✓';margin-left:auto;color:#555}
.tracking-note{font-size:10px;line-height:1.75;color:#666;background:#efefef;padding:12px 14px;margin:16px 0 19px;border-left:2px solid #999}
.tracking-schedule-title{font-size:12px;font-weight:600;margin:18px 0 13px}
.tracking-steps li strong{font-weight:600;color:var(--ink)}

/* 2026/2027 catalog reader */
.catalog-button{height:38px;padding:0 13px;display:flex;align-items:center;gap:8px;background:#f6f6f6c9;border:1px solid #dcdcdc;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap;transition:background .2s,border-color .2s}
.catalog-button:hover{background:#fff;border-color:#aaa}.catalog-icon{font-size:17px;line-height:1;color:#474747}
.catalog-dialog{width:min(1180px,98vw);height:min(860px,96svh);max-height:96svh;padding:0;overflow:hidden;background:#171717;color:#f7f6f3;border:1px solid #3a3a3a;border-radius:8px;box-shadow:0 28px 100px #0008}
.catalog-dialog[open]{display:flex;flex-direction:column}.catalog-dialog::backdrop{background:#111b;backdrop-filter:blur(10px)}
.catalog-header{flex:none;min-height:85px;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff20;background:#1b1b1b}
.catalog-heading{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;row-gap:5px}.catalog-kicker{grid-column:1/-1;text-transform:uppercase;font-size:8px;letter-spacing:1.7px;color:#aaa}.catalog-heading h2{margin:0;font-size:21px;line-height:1.2;font-weight:500;letter-spacing:-.4px}.catalog-meta{font-size:9px;color:#aaa;white-space:nowrap}
.catalog-header-actions{display:flex;align-items:center;gap:12px}.catalog-download{height:36px;padding:0 13px;display:flex;align-items:center;gap:8px;border:1px solid #ffffff3a;border-radius:4px;color:#f4f4f4;font-size:10px;white-space:nowrap}.catalog-download:hover{background:#ffffff12;border-color:#ffffff7a}.catalog-download>span:first-child{font-size:16px}
.catalog-close{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:1px solid #ffffff30;border-radius:4px;color:#eee;font-size:24px;font-weight:300}.catalog-close:hover{background:#ffffff16}
.book-reader{min-height:0;flex:1;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:10px;padding:18px 16px 10px}
.book-stage{position:relative;isolation:isolate;width:min(100%,1000px);height:100%;max-height:690px;min-height:220px;margin:auto;perspective:1800px;touch-action:pan-y}
.book-spread{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);overflow:hidden;background:#f1ede3;border:1px solid #bcb7ab;border-radius:3px;box-shadow:0 22px 54px #0009,0 0 0 7px #ffffff08,0 0 0 8px #ffffff12;transform-style:preserve-3d}
.book-page{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fdfcf9}.book-page canvas{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 1px 9px #00000016}.book-page[data-blank=true]{background:linear-gradient(90deg,#e9e5dc,#f7f4ed 16%,#f7f4ed 84%,#e9e5dc)}
.book-page-left{grid-column:1}.book-page-right{grid-column:3}.book-spine{grid-column:2;z-index:1;background:linear-gradient(90deg,#26231fc9,#ffffffaa 48%,#29251f99);box-shadow:0 0 8px #0003}
.book-spread.is-cover .book-page-left{background:linear-gradient(90deg,#25231f,#34312c 70%,#26241f)}.book-spread.is-cover .book-spine{opacity:.3}
.book-turn-sheet{position:absolute;z-index:4;top:0;left:50%;width:50%;height:100%;transform:rotateY(0);transform-origin:left center;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.2,.68,.22,1);box-shadow:5px 2px 18px #0005;will-change:transform}
.book-turn-sheet.turn-forward{transform:rotateY(-180deg)}.book-turn-sheet.turn-backward{left:0;transform-origin:right center;transform:rotateY(180deg)}
.book-turn-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;backface-visibility:hidden}.book-turn-face canvas{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.book-turn-back{transform:rotateY(180deg)}
.book-loader,.book-error{position:absolute;z-index:8;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;color:#f4f2ed;background:#20201feF;font-size:12px;letter-spacing:.2px}.book-loader[hidden],.book-error[hidden]{display:none}.catalog-spinner{width:28px;height:28px;border:1px solid #ffffff4a;border-top-color:#fff;border-radius:50%;animation:catalog-spin .9s linear infinite}@keyframes catalog-spin{to{transform:rotate(360deg)}}
.book-error{padding:25px}.book-error strong{font-weight:500}.book-error p{max-width:360px;margin:0;color:#c3c0ba;line-height:1.7}.book-error a{padding:10px 15px;border:1px solid #ffffff5a;border-radius:3px;font-size:10px}.book-error a:hover{background:#ffffff18}
.book-arrow{width:42px;height:42px;margin:auto;display:grid;place-items:center;border:1px solid #ffffff35;border-radius:50%;background:#ffffff0c;color:#f7f6f3;font-size:28px;font-weight:300;line-height:1;transition:background .2s,border-color .2s}.book-arrow:hover:not(:disabled){background:#ffffff20;border-color:#ffffff80}.book-arrow:disabled{opacity:.32;cursor:default}
.catalog-footer{position:relative;flex:none;min-height:70px;padding:10px 30px 17px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#e9e8e4;border-top:1px solid #ffffff1f}.catalog-page-indicator{display:flex;align-items:center;gap:12px;font-size:10px;color:#bebbb5}.catalog-page-indicator strong{font-size:10px;font-weight:500;color:#f3f2ed}.catalog-footer>p{margin:0;text-align:center;font-size:9px;color:#a5a39d}.catalog-progress{position:absolute;left:30px;right:30px;bottom:0;height:2px;background:#ffffff1b}.catalog-progress span{display:block;width:1%;height:100%;background:#d9d3c4;transition:width .28s}
@media(max-width:1000px){.catalog-button{padding:0 9px;font-size:9px}.header-actions{gap:10px}}
@media(max-width:760px){.catalog-button{width:37px;height:34px;padding:0;justify-content:center}.catalog-button>span:last-child{display:none}.catalog-icon{font-size:18px}.catalog-dialog{width:100vw;height:100svh;max-height:100svh;border:0;border-radius:0}.catalog-header{min-height:76px;padding:13px 15px;gap:9px}.catalog-heading{column-gap:7px;row-gap:4px}.catalog-kicker{font-size:6px;letter-spacing:1.3px}.catalog-heading h2{font-size:15px;letter-spacing:-.2px}.catalog-meta{grid-column:1/-1;font-size:8px}.catalog-header-actions{gap:7px}.catalog-download{height:33px;padding:0 8px;gap:5px;font-size:8px}.catalog-download>span:first-child{font-size:13px}.catalog-close{width:33px;height:33px;font-size:21px}.book-reader{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;padding:14px 5px 9px}.book-stage{width:100%;height:min(68vh,720px);min-height:220px;max-height:100%;aspect-ratio:auto}.book-spread{display:block;width:auto;max-width:100%;height:100%;aspect-ratio:.70;margin:auto}.book-spread .book-page-left,.book-spread .book-spine{display:none}.book-spread .book-page-right{position:absolute;inset:0;display:flex}.book-turn-sheet{left:0;width:100%}.book-turn-sheet.turn-backward{left:0}.book-arrow{width:31px;height:38px;border:0;background:transparent;font-size:25px}.catalog-footer{min-height:70px;padding:10px 16px 18px;grid-template-columns:1fr auto;gap:7px}.catalog-page-indicator{gap:8px;font-size:9px}.catalog-footer>p{grid-column:1/-1;grid-row:2;text-align:left;font-size:8px}.catalog-progress{left:16px;right:16px}}
@media(max-width:390px){.track-button>span:first-child{display:none}.track-button>span:last-child{font-size:17px}.track-button{padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.catalog-spinner{animation:none}.book-turn-sheet,.catalog-progress{transition:none}}
@media(max-width:700px){.header-actions{gap:8px}.language-trigger{height:34px;min-width:54px;padding:0 7px;gap:5px;font-size:9px}.language-menu{min-width:150px;top:calc(100% + 7px)}.track-button{gap:8px;padding:10px 8px}.header{padding-left:5%;padding-right:5%}}
