:root{--deep:#030326;--navy:#07063f;--green:#8dcc62;--ink:#edf6f8;--line:#ffffff1a}*{box-sizing:border-box}html,body{margin:0;min-width:0;max-width:100%;min-height:100%;overflow-x:hidden;background:var(--deep);font-family:Arial,sans-serif}[hidden]{display:none!important}button,input{min-width:0;font:inherit}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand>div small,.brand>div b{display:block;line-height:1}.brand small{margin-bottom:4px;color:var(--green);font-size:9px;font-weight:900;letter-spacing:.18em}.brand b{font-size:18px;font-weight:500}.brand-mark{display:block;width:43px;height:43px;flex:none;object-fit:contain}.flip-gate{position:relative;display:grid;width:100%;max-width:100vw;min-height:100dvh;overflow:auto hidden;place-items:center;background:radial-gradient(circle at 15% 15%,#1b6c864f,transparent 32%),radial-gradient(circle at 85% 80%,#88c95f26,transparent 34%),linear-gradient(145deg,#02021d,#080746 55%,#0d174d);color:#fff;padding:32px}.gate-art{position:fixed;inset:0;background:linear-gradient(115deg,transparent 49.9%,#ffffff0b 50%,transparent 50.1%);pointer-events:none}.flip-gate section{position:relative;width:min(560px,100%);border:1px solid #ffffff22;border-top:4px solid var(--green);border-radius:24px;background:#070638e8;padding:38px;box-shadow:0 36px 110px #0009;backdrop-filter:blur(22px)}.gate-copy{margin:42px 0 28px}.gate-copy>span{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.18em}.gate-copy h1{margin:10px 0 15px;max-width:100%;overflow-wrap:anywhere;font:400 38px/1.08 Georgia,serif}.gate-copy p{margin:0;color:#bed0d7;font-size:15px;line-height:1.6}.flip-gate form{display:grid;gap:12px}.flip-gate label{display:grid;gap:8px;font-size:12px;font-weight:800}.flip-gate input{width:100%;height:52px;font-size:16px;border:1px solid #ffffff24;border-radius:10px;background:#ffffff09;padding:0 15px;color:#fff;font-weight:600}.flip-gate form button{display:flex;height:52px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:linear-gradient(90deg,#24799f,#54a477);color:#fff;font-weight:800;cursor:pointer}.gate-error{min-height:16px;margin:0;color:#ffb9b9;font-size:12px}.gate-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px}.gate-links a{color:#b9ced6;font-size:12px;text-decoration:none}.flip-gate footer{display:flex;gap:11px;margin-top:27px;border-top:1px solid #ffffff14;padding-top:20px;color:#91a9b2;font-size:12px}.flip-gate footer b{color:var(--green)}.flip-shell{display:grid;width:100%;max-width:100vw;height:100dvh;grid-template-rows:68px minmax(0,1fr) 60px;background:radial-gradient(circle at 72% 14%,#25367a 0,transparent 37%),linear-gradient(145deg,#080832,#11124e 55%,#040426);color:var(--ink);overflow:hidden}.flip-top{z-index:20;display:grid;grid-template-columns:270px 1fr auto;align-items:center;border-bottom:1px solid var(--line);background:#030324e8;padding:0 18px}.edition-title{text-align:center}.edition-title small,.edition-title b{display:block}.edition-title small{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.16em}.edition-title b{margin-top:3px;font:400 16px Georgia,serif}.header-actions{display:flex;gap:5px}.header-actions button,.header-actions a,.flip-toolbar button{display:grid;width:39px;height:39px;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#dfecef;text-decoration:none;cursor:pointer}.header-actions button:hover,.header-actions a:hover,.flip-toolbar button:hover{border-color:#ffffff24;background:#ffffff0c}.flip-body{display:grid;min-width:0;min-height:0;grid-template-columns:78px auto minmax(0,1fr);overflow:hidden}.tool-rail{z-index:12;display:flex;flex-direction:column;align-items:center;gap:9px;border-right:1px solid var(--line);background:#05052ee8;padding:17px 8px}.tool-rail button{display:grid;width:62px;min-height:60px;place-items:center;border:0;border-radius:13px;background:transparent;color:#98adb6;font-size:22px;cursor:pointer}.tool-rail button small{font-size:10px}.tool-rail button.active,.tool-rail button:hover{background:#ffffff0c;color:#fff}.tool-rail button.active{box-shadow:inset 3px 0 var(--green)}.side{position:relative;z-index:11;width:320px;overflow:auto;border-right:1px solid var(--line);background:linear-gradient(180deg,#08083bf4,#05052ff8);padding:26px 20px;box-shadow:18px 0 45px #0004}.side>div>small{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.16em}.side h2{margin:7px 0 20px;font:400 28px Georgia,serif}.side-close{display:none}.summary-list{display:grid}.summary-list button{display:flex;gap:12px;border:0;border-bottom:1px solid #ffffff12;background:transparent;padding:14px 3px;color:#cbd9de;text-align:left;cursor:pointer}.summary-list button span{flex:1}.summary-list button b{color:#77929d}.side p{color:#b9cbd1;line-height:1.55}.thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.thumbs button{position:relative;aspect-ratio:3/4;overflow:hidden;border:2px solid transparent;border-radius:6px;background:#ffffff0b;padding:0}.thumbs button.active{border-color:var(--green)}.thumbs canvas{width:100%;height:100%;object-fit:cover}.thumbs span{position:absolute;right:4px;bottom:4px;border-radius:4px;background:#02021ddd;padding:3px 6px;color:#fff;font-size:9px}.stage{position:relative;display:grid;min-width:0;min-height:0;overflow:auto;place-items:center;padding:28px 62px 38px;background:radial-gradient(ellipse at center,#ffffff0b,transparent 68%)}.book{display:flex;max-width:100%;align-items:center;justify-content:center;filter:drop-shadow(0 25px 48px #0009);transform:scale(var(--zoom,1));transform-origin:center;transition:transform .2s}.pdf-page{position:relative;flex:none;height:min(72vh,820px);margin:0;overflow:hidden;background:#e9edef;opacity:0;transition:opacity .18s}.pdf-page.ready{opacity:1}.pdf-page.left{border-radius:8px 1px 1px 8px}.pdf-page.right{border-radius:1px 8px 8px 1px}.pdf-page.single{border-radius:8px}.pdf-page canvas{display:block;width:100%;height:100%}.pdf-page figcaption{position:absolute;right:8px;bottom:7px;border-radius:5px;background:#07063fd9;padding:4px 7px;color:#fff;font-size:10px}.page-arrow{position:fixed;z-index:5;top:50%;display:grid;width:47px;height:74px;place-items:center;border:1px solid #ffffff1c;border-radius:14px;background:#030329c7;color:#fff;font-size:38px;cursor:pointer}.page-arrow.prev{left:max(92px,calc(78px + 1vw))}.side~.stage .page-arrow.prev{left:calc(398px + 1vw)}.page-arrow.next{right:1vw}.page-arrow:disabled{opacity:.25}.loading{display:grid;place-items:center;color:#b9cdd4}.loading b{font:400 25px Georgia,serif;color:#fff}.loading span{font-size:12px}.flip-toolbar{z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);background:#030324ed;padding:0 17px}.flip-toolbar>div{display:flex;align-items:center;gap:5px}.flip-toolbar>div:last-child{justify-content:flex-end}.flip-toolbar span{min-width:80px;color:#8da4ad;font-size:12px;text-align:center}.flip-toolbar span b{color:#fff}.flip-toolbar span i{font-style:normal}.flip-toolbar button.active{color:var(--green)}.zoom{border:1px solid #ffffff18;border-radius:12px;padding:1px 5px}@media(max-width:920px){.flip-shell{grid-template-rows:62px minmax(0,1fr) 60px}.flip-top{grid-template-columns:1fr auto;padding:0 12px}.edition-title{display:none}.flip-body{grid-template-columns:0 minmax(0,1fr)}.tool-rail{position:fixed;z-index:30;right:11px;bottom:72px;left:11px;display:grid;height:58px;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff1d;border-radius:17px;background:#03032bf2;padding:5px}.tool-rail button{width:auto;min-height:46px;font-size:20px}.tool-rail button small{display:none}.side{position:fixed;z-index:25;inset:62px 0 60px;width:auto;padding:24px 20px 94px}.side-close{position:absolute;top:18px;right:18px;display:grid;width:38px;height:38px;place-items:center;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff0a;color:#fff;font-size:25px}.stage{grid-column:2;padding:16px 30px 91px}.pdf-page{height:min(67vh,650px)}.page-arrow{position:absolute;top:45%;width:40px;height:64px}.page-arrow.prev,.side~.stage .page-arrow.prev{left:5px}.page-arrow.next{right:5px}.flip-toolbar{grid-template-columns:1fr auto}.flip-toolbar .zoom{display:none}.flip-gate{padding:20px}.flip-gate section{padding:28px}.gate-copy{margin:34px 0 24px}.gate-copy h1{font-size:31px}}@media(max-width:520px){.brand b{font-size:15px}.brand small{font-size:8px}.brand-mark{width:37px}.stage{padding-right:23px;padding-left:23px}.pdf-page{width:min(82vw,400px);height:auto}.flip-toolbar{padding:0 7px}.flip-toolbar button{width:33px}.flip-toolbar span{min-width:62px}.flip-toolbar>div:last-child button:nth-child(-n+3){display:none}.flip-gate section{padding:25px 21px}.gate-links{display:grid}.gate-copy h1{font-size:28px}}

@media(max-width:920px){.flip-shell{grid-template-rows:62px minmax(0,1fr) 112px}.tool-rail{bottom:124px}.side{inset:62px 0 112px}.stage{padding-bottom:142px}.flip-toolbar{grid-template-columns:auto 1fr;grid-template-rows:52px 52px;padding:4px 7px}.flip-toolbar>div:first-child{grid-column:1/-1;grid-row:1;justify-content:center}.flip-toolbar .zoom{display:flex;grid-column:1;grid-row:2;padding:0}.flip-toolbar>div:last-child{grid-column:2;grid-row:2;justify-content:flex-end}.flip-toolbar button{width:34px;height:38px}.flip-toolbar .zoom button{width:30px}.flip-toolbar .zoom span{min-width:52px}}@media(max-width:520px){.flip-toolbar>div:last-child button:nth-child(-n+3){display:grid}.flip-toolbar>div:last-child{gap:0}.flip-toolbar span{min-width:52px}}

.flip-shell.is-fullscreen{position:fixed;inset:0;z-index:9999;width:100vw;height:100dvh}

/* Mobile reader: lock every region to the visual viewport and keep every control reachable. */
@media(max-width:920px){
 html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
 .flip-shell{position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;min-width:0;grid-template-rows:calc(58px + env(safe-area-inset-top,0px)) minmax(0,1fr) calc(148px + env(safe-area-inset-bottom,0px));overflow:hidden}
 .flip-top{width:100%;min-width:0;padding:env(safe-area-inset-top,0px) 12px 0;grid-template-columns:minmax(0,1fr) auto;overflow:hidden}
 .brand{min-width:0}.brand>div{min-width:0}.brand b{white-space:nowrap}
 .flip-body,.stage{width:100%;max-width:100%;min-width:0;overflow:hidden}
 .stage{grid-column:2;padding:12px 23px 78px;overflow:auto;overscroll-behavior:contain}
 .book{width:max-content;max-width:100%;min-width:0;transform-origin:center center}
 .pdf-page{max-width:calc(100vw - 46px)}
 .tool-rail{right:11px;bottom:calc(160px + env(safe-area-inset-bottom,0px));left:11px;width:auto;max-width:calc(100% - 22px)}
 .side{inset:calc(58px + env(safe-area-inset-top,0px)) 0 calc(148px + env(safe-area-inset-bottom,0px));width:100%;max-width:100%}
 .flip-toolbar{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:42px 48px 50px;align-content:center;padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));overflow:hidden}
 .flip-toolbar>div{min-width:0}
 .flip-toolbar>div:first-child{grid-column:1;grid-row:1;justify-content:center}
 .flip-toolbar .zoom{display:flex;grid-column:1;grid-row:2;justify-self:center;width:auto;padding:0 4px}
 .flip-toolbar>div:last-child{grid-column:1;grid-row:3;width:100%;justify-content:center;gap:clamp(1px,2.4vw,12px)}
 .flip-toolbar button{width:36px;height:38px;flex:0 1 36px}
 .flip-toolbar .zoom button{width:31px;flex-basis:31px}
 .flip-toolbar .zoom span,.flip-toolbar span{min-width:52px}
 .flip-toolbar>div:last-child button:nth-child(-n+3){display:grid}
 .page-arrow{max-width:40px}
}
@media(max-width:370px){
 .brand{gap:8px}.brand-mark{width:34px;height:34px}.brand b{font-size:14px}
 .flip-toolbar>div:last-child{gap:0}.flip-toolbar button{width:33px;flex-basis:33px}
}
.flip-shell.is-fullscreen{padding:0;width:100%;max-width:100%;height:100dvh;background:var(--deep)}
.control-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.control-label{min-width:0!important;color:currentColor!important;font-size:9px!important;font-weight:700;line-height:1;white-space:nowrap}.sound-off{display:none}#sound.muted .sound-on{display:none}#sound.muted .sound-off{display:block}
@media(max-width:920px){.flip-toolbar>div:last-child button{display:flex;flex:1 1 0;width:auto;max-width:62px;height:50px;flex-direction:column;gap:3px}.flip-toolbar>div:last-child{gap:0}.flip-toolbar>div:last-child button:nth-child(-n+3){display:flex}}
