/* Same-document v24 entry. Scoped to the fixed720x1280 logical host. */

/* entry.css */
#entry-frame{color-scheme:dark;font-family:"Noto Serif SC","Songti SC",serif;color:#f6eedf;background:#091015}
#entry-frame,#entry-frame *{box-sizing:border-box}
#entry-frame{margin:0;width:100%;height:100%;overflow:hidden}
#entry-frame button{font:inherit;color:inherit;cursor:pointer}
#entry-frame button:focus-visible{outline:2px solid #ffdc63;outline-offset:6px}
#entry-frame #entry{height:100%;position:relative;isolation:isolate;max-width:960px;margin:auto;background:#091015}
#entry-frame .scene,#entry-frame .shade{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;pointer-events:none}
#entry-frame .scene{object-fit:cover;object-position:50% 52%;z-index:-3}
#entry-frame .shade{background:linear-gradient(180deg,rgba(2,9,13,.2),transparent 48%,rgba(2,7,11,.1) 65%,rgba(2,7,11,.9));z-index:-2}
#entry-frame section{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}
#entry-frame section[hidden]{display:none}
#entry-frame .title{position:absolute;top:7%;left:6%;right:6%;text-align:center}
#entry-frame .eyebrow{font-family:Arial,sans-serif;font-size:clamp(9px,16.56px,15px);letter-spacing:.34em;color:#cbbf9b;margin:0 0 12px}
#entry-frame h1{margin:0}
#entry-frame h1 img{width:100%;max-width:690px;filter:drop-shadow(0 4px 8px #0008)}
#entry-frame .subtitle{font-size:clamp(12px,20.16px,20px);letter-spacing:.34em;color:#f5dda5;margin:6px 0}
#entry-frame .enter{position:absolute;bottom:max(6.5%,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:transparent;border:0;min-width:230px;padding:22px 30px;letter-spacing:.38em;font-size:clamp(19px,33.12px,30px);text-shadow:0 2px 12px #000}
#entry-frame .enter:before,#entry-frame .enter:after{content:"";height:1px;position:absolute;width:100%;left:0;background:linear-gradient(90deg,transparent,#e7c17e,transparent)}
#entry-frame .enter:before{top:0}
#entry-frame .enter:after{bottom:0}
#entry-frame .english{display:block;font:10px Arial,sans-serif;letter-spacing:.32em;color:#ccb68e;margin-top:10px}
#entry-frame .back{position:absolute;left:6%;top:max(4%,env(safe-area-inset-top));background:none;border:0;font-family:Arial,sans-serif;font-size:17px;padding:12px 0;color:#d7ceb8}
#entry-frame .back span{font-size:12px;letter-spacing:.15em;margin-left:6px}
#entry-frame .part-list{position:absolute;left:7%;right:7%;bottom:16%;display:grid;gap:16px}
#entry-frame .part{width:100%;min-height:130px;display:flex;align-items:center;position:relative;text-align:left;border:1px solid #cead6b80;background:linear-gradient(110deg,#0a111de8,#151b27b8);padding:24px 20px;box-shadow:0 10px 28px #0004}
#entry-frame .available{border-color:#dfbd74}
#entry-frame .part-index{font:italic 42px Georgia,serif;color:#d8b96c;opacity:.8;margin-right:24px}
#entry-frame .part-info{display:flex;flex-direction:column;gap:5px}
#entry-frame .part-info small{font:9px Arial,sans-serif;letter-spacing:.26em;color:#bda77d}
#entry-frame .part-info strong{font-size:30px;letter-spacing:.2em;font-weight:400}
#entry-frame .part-info>span{font-size:11px;letter-spacing:.1em;color:#bcb9b3}
#entry-frame .arrow{margin-left:auto;color:#efcf8e;font:26px Arial,sans-serif}
#entry-frame .upcoming{background:#0a111dbd;border-color:#a0a6aa3d}
#entry-frame .upcoming .part-index,#entry-frame .upcoming .part-info{opacity:.45}
#entry-frame .waiting{margin-left:auto;font-size:10px;letter-spacing:.08em;color:#989ba2}
#entry-frame .status{position:absolute;bottom:9%;left:7%;right:7%;text-align:center;font:12px Arial,sans-serif;color:#d8c9a8}
/* Chapter list: the same night-forest / warm-gold palette, no filter footer. */
#entry-frame #entry[data-view="chapters"]{background:#080f15}
#entry-frame #entry[data-view="chapters"] .scene{opacity:.12;object-position:50% 40%}
#entry-frame #entry[data-view="chapters"] .shade{background:linear-gradient(180deg,#080f15a8,#080f15c9 45%,#080f15ed)}
#entry-frame #chapters{display:flex;flex-direction:column}
#entry-frame #chapters[hidden]{display:none}
#entry-frame .chapters-header{flex:none;padding:max(14px,env(safe-area-inset-top)) 20px 13px;background:#0a111cf5;border-bottom:1px solid #ba975346;box-shadow:0 5px 20px #0003}
#entry-frame .chapter-topline{display:flex;align-items:center;justify-content:space-between;height:36px}
#entry-frame .chapter-topline>img{height:37px;width:145px;object-fit:contain}
#entry-frame .chapter-back{background:none;border:0;padding:7px 12px 7px 0;font:20px Arial,sans-serif;color:#ddc28c}
#entry-frame .chapter-back span{font-size:11px;letter-spacing:.1em;margin-left:6px;vertical-align:2px}
#entry-frame .chapter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:9px}
#entry-frame .chapter-heading h2{margin:0;font-weight:400;font-size:16px;letter-spacing:.14em;color:#eddfc2}
#entry-frame .chapter-heading>span{font-size:9px;letter-spacing:.08em;color:#a39376}
#entry-frame .chapter-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#aa8b53 #0a111c;outline:none;padding:15px 16px max(18px,env(safe-area-inset-bottom))}
#entry-frame .chapter-scroll::-webkit-scrollbar{width:3px}
#entry-frame .chapter-scroll::-webkit-scrollbar-thumb{background:#aa8b53;border-radius:2px}
#entry-frame #chapter-list{display:grid;gap:12px;max-width:720px;margin:0 auto}
#entry-frame .chapter-card{border:1px solid #d5b36b70;background:linear-gradient(110deg,#17212be8,#101821e8);padding:14px 15px 13px;box-shadow:0 5px 14px #0002}
#entry-frame .chapter-card-top{display:flex;align-items:center;gap:12px}
#entry-frame .chapter-number{font:italic 27px/1 Georgia,serif;color:#d2b168;min-width:32px}
#entry-frame .chapter-card h3{font-size:18px;letter-spacing:.08em;font-weight:400;line-height:1.35;margin:0;color:#f3ead6;flex:1}
#entry-frame .chapter-badge{font:9px Arial,sans-serif;letter-spacing:.05em;color:#c9af79;border:1px solid #b193554d;padding:4px 6px;white-space:nowrap}
#entry-frame .chapter-description{font-family:"Noto Sans CJK JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:11px;line-height:1.75;color:#b6b4ae;margin:10px 0 0;overflow-wrap:anywhere}
#entry-frame .chapter-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid #ad915735}
#entry-frame .chapter-read{font:12px Arial,sans-serif;letter-spacing:.16em;color:#f2d89c;background:#c9a05216;border:1px solid #c8aa6566;padding:7px 15px;min-width:112px;text-align:center}
#entry-frame .chapter-read:active{background:#d4b36930}
#entry-frame .chapter-read:disabled{opacity:.5;cursor:default}
#entry-frame .chapter-card.locked{border-color:#8493a528;background:#111820c7;box-shadow:none}
#entry-frame .chapter-card.locked .chapter-number{color:#777e83}
#entry-frame .chapter-card.locked h3{color:#8e9396}
#entry-frame .chapter-card.locked .chapter-badge{color:#7b8188;border-color:#7e89902e}
#entry-frame .chapter-card.locked .chapter-description{color:#747b82}
#entry-frame .chapter-status:empty{display:none}
#entry-frame .chapter-status{flex:0 0 auto;margin:0 16px max(12px,env(safe-area-inset-bottom));padding:10px;overflow-wrap:anywhere;background:#101824;border:1px solid #ba975346;text-align:center;font:12px Arial,sans-serif;color:#e4c88f}
#entry-frame .chapters-header{padding-left:max(20px,calc((100% - 720px)/2 + 16px));padding-right:max(20px,calc((100% - 720px)/2 + 16px))}
#entry-frame .chapter-description{font-size:13px}
#entry-frame .chapter-card{padding:18px 22px}
#entry-frame .chapter-card h3{font-size:21px}
#entry-frame.reading-settings,#entry-frame.reading-settings #entry{background:transparent}
#entry-frame.reading-settings{color-scheme:normal}
#entry-frame.reading-settings .scene,#entry-frame.reading-settings .shade{display:none}
#entry-frame .reading-settings-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:24px 18px max(28px,env(safe-area-inset-bottom));background:rgba(5,7,10,.42);box-sizing:border-box;z-index:10}
#entry-frame .reading-settings-overlay[hidden]{display:none}
#entry-frame .reading-settings-sheet{width:min(100%,520px);padding:24px;border:1px solid #8d7650;border-radius:22px;background:#171b21;color:#eee5d6;box-shadow:0 18px 65px rgba(0,0,0,.45);box-sizing:border-box}
#entry-frame .reading-settings-sheet header{display:flex;align-items:center;justify-content:space-between;gap:16px}
#entry-frame .reading-settings-sheet h2{margin:2px 0 0;font-size:24px;font-weight:500;letter-spacing:.08em}
#entry-frame .settings-eyebrow{margin:0;color:#cbb58a;letter-spacing:.2em;font-size:11px}
#entry-frame #settings-close{width:44px;height:44px;border:1px solid #6d604b;border-radius:50%;background:transparent;color:#dec69b;font-size:28px;cursor:pointer}
#entry-frame .settings-position{margin:15px 0 8px;color:#c6baaa;font-size:13px;line-height:1.6}
#entry-frame .settings-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:19px 0;border-bottom:1px solid #35383c;font-size:15px}
#entry-frame .settings-row input{grid-column:1/-1;width:100%;accent-color:#cbb58a;min-height:32px;margin:0}
#entry-frame .settings-row p{grid-column:1/-1;margin:0;color:#aaa497;font-size:12px;line-height:1.5}
#entry-frame .settings-row select{background:#242930;color:#e8dcc7;border:1px solid #6f624d;border-radius:8px;padding:8px 26px 8px 12px;font:inherit}
#entry-frame .settings-unavailable{color:#898b8e}
#entry-frame .settings-unavailable span:last-child{font-size:12px}
#entry-frame .settings-directory{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:20px;min-height:48px;padding:12px 16px;background:#cbb58a;color:#161a20;border:0;border-radius:11px;font:inherit;cursor:pointer}
#entry-frame .settings-message{min-height:20px;margin:13px 0 0;color:#dfbc86;font-size:12px;line-height:1.6}
#entry-frame .reading-settings-sheet button:disabled,#entry-frame .reading-settings-sheet input:disabled,#entry-frame .reading-settings-sheet select:disabled{opacity:.45;cursor:default}
#entry-frame[data-reading-preparing-v2]{visibility:hidden}
/* Reading controls use device sans-serif glyphs, with no raster scale or filter. */
#entry-frame .reading-settings-sheet{font-family:system-ui,"Noto Sans CJK SC","Noto Sans SC",sans-serif;font-size:16px;line-height:1.5;max-height:100%;overflow-y:auto}
#entry-frame .reading-settings-sheet h2{font-weight:600}
#entry-frame .reading-settings-sheet .settings-eyebrow{font-size:12px}
#entry-frame .reading-settings-sheet .settings-position{font-size:14px}
#entry-frame .reading-settings-sheet .settings-row{font-size:16px}
#entry-frame .reading-settings-sheet .settings-row p,#entry-frame .reading-settings-sheet .settings-unavailable span:last-child,#entry-frame .reading-settings-sheet .settings-message{font-size:14px}

/* cover-fire.css */
/* Portable cover-only layer: no Android bridge, fonts or remote dependencies. */
#entry-frame [data-aganau-cover]{--intro-reveal:0;--intro-ui:0}
#entry-frame [data-aganau-cover][data-view="cover"][data-fire-phase="writing"]>.scene,#entry-frame [data-aganau-cover][data-view="cover"][data-fire-phase="writing"]>.aganau-scene-motion,#entry-frame [data-aganau-cover][data-view="cover"][data-fire-phase="revealing"]>.scene,#entry-frame [data-aganau-cover][data-view="cover"][data-fire-phase="revealing"]>.aganau-scene-motion{opacity:calc(.46 + .54 * var(--intro-reveal));filter:blur(calc(10px * (1 - var(--intro-reveal))))!important}
#entry-frame [data-aganau-cover][data-fire-phase="writing"]>#cover .title,#entry-frame [data-aganau-cover][data-fire-phase="revealing"]>#cover .title{opacity:var(--intro-ui)}
#entry-frame [data-aganau-cover][data-fire-phase="writing"]>#cover h1,#entry-frame [data-aganau-cover][data-fire-phase="revealing"]>#cover h1{visibility:hidden}
#entry-frame [data-aganau-cover][data-fire-phase="writing"]>#cover .enter,#entry-frame [data-aganau-cover][data-fire-phase="revealing"]>#cover .enter{opacity:var(--intro-ui);pointer-events:none}
#entry-frame .cover-fire-wash{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:2;pointer-events:none;overflow:hidden;background:linear-gradient(155deg,#0b1b27d9 0%,#14242fbd 38%,#17252b85 72%,#0d1a2499 100%);opacity:calc(1 - var(--intro-reveal));-webkit-mask-image:radial-gradient(ellipse var(--fire-window-x,70px) var(--fire-window-y,110px) at var(--fire-x,68%) var(--fire-y,79%),#0006 0%,#000b 46%,#000 100%);mask-image:radial-gradient(ellipse var(--fire-window-x,70px) var(--fire-window-y,110px) at var(--fire-x,68%) var(--fire-y,79%),#0006 0%,#000b 46%,#000 100%)}
#entry-frame .cover-fire-word{position:absolute;z-index:4;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 1px #ffbc45aa) drop-shadow(0 0 var(--ink-glow,3px) #ffae353d);will-change:transform}
#entry-frame .cover-fire-particles{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
#entry-frame .cover-fire-skip{position:absolute;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:6;border:0;border-bottom:1px solid #f3cb802e;border-radius:0;padding:10px 3px;background:transparent;color:#b3aa96;font:10px/1.2 system-ui,sans-serif;letter-spacing:.18em;min-height:44px;cursor:pointer}
#entry-frame .cover-fire-skip:hover{background:transparent;color:#ffe1a0;border-color:#e2c88b80}
#entry-frame .cover-fire-skip[hidden],#entry-frame .cover-fire-wash[hidden],#entry-frame .cover-fire-word[hidden],#entry-frame .cover-fire-particles[hidden],#entry-frame [data-aganau-cover][data-fire-phase="idle"]>.cover-fire-word{display:none!important}
#entry-frame .aganau-scene-motion{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none}
#entry-frame [data-aganau-cover][data-fire-phase="idle"]>.scene,#entry-frame [data-aganau-cover][data-fire-phase="idle"]>.aganau-scene-motion{filter:none!important}
#entry-frame [data-aganau-cover]:not([data-view="cover"])>.cover-fire-wash,#entry-frame [data-aganau-cover]:not([data-view="cover"])>.cover-fire-word,#entry-frame [data-aganau-cover]:not([data-view="cover"])>.cover-fire-particles,#entry-frame [data-aganau-cover]:not([data-view="cover"])>.cover-fire-skip,#entry-frame [data-aganau-cover]:not([data-view="cover"])>.aganau-scene-motion,#entry-frame.reading-settings .cover-fire-wash,#entry-frame.reading-settings .cover-fire-word,#entry-frame.reading-settings .cover-fire-particles,#entry-frame.reading-settings .cover-fire-skip,#entry-frame.reading-settings .aganau-scene-motion{display:none!important}
/* Revert intro-only opacity in the same style update as a native panel switch. */
#entry-frame [data-aganau-cover]:not([data-view="cover"])>.scene{opacity:1}
#entry-frame.reading-settings .scene{display:none}
@media (prefers-reduced-motion:reduce){#entry-frame .cover-fire-wash,#entry-frame .cover-fire-word,#entry-frame .cover-fire-particles,#entry-frame .cover-fire-skip,#entry-frame .aganau-scene-motion{display:none!important}
#entry-frame [data-aganau-cover]>.scene,#entry-frame [data-aganau-cover]>#cover .title,#entry-frame [data-aganau-cover]>#cover .enter{opacity:1!important}
#entry-frame [data-aganau-cover]>#cover h1{visibility:visible!important}
#entry-frame [data-aganau-cover]>.scene,#entry-frame [data-aganau-cover]>.aganau-scene-motion{filter:none!important}}
/* The background is already present through mist; no expanding circular cutout. */
#entry-frame [data-aganau-cover][data-fire-title-settled]>#cover h1{visibility:visible}
#entry-frame [data-aganau-cover][data-fire-interactive]>#cover .enter{pointer-events:auto}
/* A soft oval bank crosses from the lower left towards the right-hand figure. */
#entry-frame .cover-fire-wash::before,#entry-frame .cover-fire-wash::after{content:"";position:absolute;pointer-events:none;border-radius:50%}
#entry-frame .cover-fire-wash::before{left:-24%;top:49%;width:145%;height:46%;background:radial-gradient(ellipse at 50% 50%,#c2d2cc38 0%,#9db6b12c 30%,#9ab4b017 53%,transparent 74%);filter:blur(24px);transform:translate3d(var(--mist-shift,0px),calc(var(--mist-shift,0px) * -.2),0) rotate(-19deg)}
#entry-frame .cover-fire-wash::after{right:-25%;top:28%;width:70%;height:74%;background:radial-gradient(ellipse at 50% 50%,#b3c9c343 0%,#87a6a426 38%,transparent 74%);filter:blur(36px);transform:rotate(-12deg) translate3d(0,calc(var(--mist-shift,0px) * -.3),0)}
/* Cover-only framing and a calmer entry affordance; reading panels inherit nothing. */
#entry-frame [data-aganau-cover][data-view="cover"]>#cover::after{content:"";position:absolute;top:max(18px,env(safe-area-inset-top));right:18px;bottom:max(18px,env(safe-area-inset-bottom));left:18px;inset:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));border:1px solid #e8c58316;pointer-events:none;opacity:var(--intro-ui)}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter{min-width:230px;font-size:25px;letter-spacing:.3em;padding:21px 26px;transition:color .25s,text-shadow .25s}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter::before{left:calc(50% - 3px);width:6px;height:6px;top:-3px;transform:rotate(45deg);background:#dec18c;box-shadow:0 0 14px #e5ac5138}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter::after{width:100%;height:1px;bottom:0;background:linear-gradient(90deg,transparent,#e7c17e55,transparent)}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter:hover{color:#ffdb80;text-shadow:0 0 16px #eac47744}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .english{font-size:11px;letter-spacing:.35em;color:#c1ad87}
#entry-frame [data-aganau-cover][data-fire-phase="revealing"]>#cover .eyebrow{opacity:var(--intro-ui)}
/* Acknowledge the press immediately; the host commits navigation after 240 ms. */
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter{isolation:isolate;transition:transform 100ms ease-out,color 100ms ease-out,text-shadow 120ms ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter:active,#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter[data-enter-busy]{transform:translateX(-50%) scale(.965);color:#ffe7a4;background:transparent;box-shadow:none;text-shadow:0 0 14px #ffd16c55}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter[data-enter-busy]::before{background:#ffe9b1;box-shadow:0 0 6px #fff1bd,0 0 24px #ffbd59;transform:rotate(45deg) scale(1.35)}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter[data-enter-busy] .english{color:#e7ca90}
@media (prefers-reduced-motion:reduce){#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter{transition:none}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter:active,#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter[data-enter-busy]{transform:translateX(-50%)}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter[data-enter-busy]::before{transform:rotate(45deg);box-shadow:none}}
/* A diffuse ember halo follows the text; no filled plate or rectangular outline. */
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter>span:first-child::before{content:"";position:absolute;top:-9px;right:-30px;bottom:-9px;left:-30px;inset:-9px -30px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,#ffc56838 0%,#e89e2815 38%,transparent 72%);filter:blur(12px);opacity:0;transform:scale(.82);transition:opacity 110ms ease-out,transform 240ms cubic-bezier(.2,.7,.3,1)}
#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter:active>span:first-child::before,#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter[data-enter-busy]>span:first-child::before{opacity:1;transform:scale(1)}
/* Each new parts view naturally restarts this one-shot CSS entrance. Hiding
   the section cancels it immediately; no delayed JS can reopen a native panel. */
#entry-frame [data-aganau-cover][data-view="parts"]>#parts::before{content:"";position:absolute;top:34%;right:0;bottom:0;left:0;inset:34% 0 0;pointer-events:none;background:radial-gradient(ellipse 85% 18% at 35% 79%,#e6c69225,transparent 80%),radial-gradient(ellipse 95% 25% at 85% 64%,#a9c6c21c,transparent 78%);filter:blur(18px);animation:parts-mist-rise 1050ms ease-out both}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts .part-list>.part{animation:parts-mist-reveal 760ms cubic-bezier(.16,.7,.28,1) backwards;animation-delay:80ms}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts .part-list>.part:nth-child(2){animation-delay:0ms}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts .part-heading .subtitle{animation:parts-title-reveal 700ms cubic-bezier(.16,.7,.28,1) 120ms backwards}
@keyframes parts-mist-reveal{
 0%{opacity:0;transform:translate3d(0,32px,0);filter:blur(10px)}
 38%{opacity:.65;filter:blur(3px)}
 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes parts-title-reveal{
 0%{opacity:0;transform:translate3d(0,22px,0);filter:blur(8px)}
 50%{opacity:.75;filter:blur(2px)}
 100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes parts-mist-rise{
 0%{opacity:0;transform:translate3d(0,40px,0)}
 24%{opacity:.8}
 100%{opacity:0;transform:translate3d(0,-60px,0)}
}
@media (prefers-reduced-motion:reduce){#entry-frame [data-aganau-cover][data-view="cover"]>#cover .enter>span:first-child::before{transition:none;transform:none;filter:none}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts::before{display:none;animation:none}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts .part-list>.part,#entry-frame [data-aganau-cover][data-view="parts"]>#parts .part-heading .subtitle{animation:none;opacity:1;transform:none;filter:none}}
/* Header and list start together. The back button inherits the same reveal
   as its title and logo, with no separate early animation. */
#entry-frame [data-aganau-cover][data-view="chapters"]>#chapters .chapter-topline,#entry-frame [data-aganau-cover][data-view="chapters"]>#chapters .chapter-scroll{animation:parts-mist-reveal 760ms cubic-bezier(.16,.7,.28,1) backwards}
#entry-frame [data-aganau-cover][data-view="chapters"]>#chapters::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;background:radial-gradient(ellipse 100% 20% at 32% 78%,#c9c6ae1c,transparent 80%),radial-gradient(ellipse 90% 24% at 82% 58%,#a9c6c216,transparent 78%);filter:blur(18px);animation:parts-mist-rise 1050ms ease-out both}
@media (prefers-reduced-motion:reduce){#entry-frame [data-aganau-cover][data-view="chapters"]>#chapters .chapter-topline,#entry-frame [data-aganau-cover][data-view="chapters"]>#chapters .chapter-scroll{animation:none;opacity:1;transform:none;filter:none}
#entry-frame [data-aganau-cover][data-view="chapters"]>#chapters::before{display:none;animation:none}}
/* Cover and parts share the same .title geometry, assets and night backdrop.
   The signature stays still while only the content below it appears. */
#entry-frame [data-aganau-cover][data-view="parts"]>#parts::after{content:"";position:absolute;top:max(18px,env(safe-area-inset-top));right:18px;bottom:max(18px,env(safe-area-inset-bottom));left:18px;inset:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));border:1px solid #e8c58316;pointer-events:none;opacity:var(--intro-ui)}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts .part-list>.part:focus-visible{animation:none}
/* The available part uses the same soft acknowledgement as the cover entry. */
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1{isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform 100ms ease-out,color 100ms ease-out,text-shadow 120ms ease-out}
/* The prompt already reveals the button. Dismissing it restores the button
   immediately, even when the user skips before the entrance animation would end. */
#entry-frame #parts #part1[data-prompt-entry] { animation: none; }
#entry-frame #parts #part1[data-prompt-entry]:disabled { opacity: .42; }
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1::before{content:"";position:absolute;top:-9px;right:-30px;bottom:-9px;left:-30px;inset:-9px -30px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,#ffc56838 0%,#e89e2815 38%,transparent 72%);filter:blur(12px);opacity:0;transform:scale(.82);transition:opacity 110ms ease-out,transform 240ms cubic-bezier(.2,.7,.3,1)}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1:active,#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1[data-enter-busy]{transform:scale(.985)!important;opacity:1!important;filter:none!important;color:#ffe7a4;text-shadow:0 0 14px #ffd16c55}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1:active::before,#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1[data-enter-busy]::before{opacity:1;transform:scale(1)}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1[data-enter-busy] .part-info strong{font-size:clamp(17px,33.12px,26px);letter-spacing:.08em;color:#ffe7a4}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1[data-enter-busy] .part-info small{color:#e7ca90}
@media (prefers-reduced-motion:reduce){#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1,#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1::before{transition:none}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1:active,#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1[data-enter-busy]{transform:none!important}
#entry-frame [data-aganau-cover][data-view="parts"]>#parts #part1::before{transform:none;filter:none}}
/* Horizontal chapter choices with the original portrait card proportions. */
#entry-frame [data-aganau-cover]>#parts .part-list{left:7%;right:7%;gap:16px}
#entry-frame [data-aganau-cover]>#parts .part{min-height:130px;padding:24px 20px}
#entry-frame [data-aganau-cover]>#parts .part-index{flex-shrink:0;min-width:34px;margin-right:clamp(14px,21.6px,26px);font-size:clamp(34px,72px,46px)}
#entry-frame [data-aganau-cover]>#parts .part-info{flex:1;min-width:0;flex-direction:row;align-items:baseline;justify-content:space-between;gap:clamp(12px,21.6px,24px)}
#entry-frame [data-aganau-cover]>#parts .part-info strong{flex-shrink:0;font-size:clamp(26px,56.16px,36px);line-height:1.2;letter-spacing:.14em;white-space:nowrap}
#entry-frame [data-aganau-cover]>#parts .part-info>.part-route{flex-shrink:0;font-size:clamp(13px,24.48px,18px);letter-spacing:.06em;color:#d5c5a1;text-align:right;white-space:nowrap}
/* A single catalogue header row, with legible type and the same mist entrance. */
#entry-frame [data-aganau-cover]>#chapters .chapters-header{padding:max(12px,env(safe-area-inset-top)) clamp(12px,21.6px,24px) 12px}
#entry-frame [data-aganau-cover]>#chapters .chapter-topline{height:auto;min-height:48px;justify-content:initial;gap:clamp(8px,14.4px,20px)}
#entry-frame [data-aganau-cover]>#chapters .chapter-back{flex:0 0 auto;min-height:44px;padding:0 clamp(10px,14.4px,16px) 0 0;border-right:1px solid #c3a86c33;font-family:inherit;font-size:clamp(16px,33.12px,22px);line-height:1.2;white-space:nowrap}
#entry-frame [data-aganau-cover]>#chapters .chapter-back span{font-size:inherit;letter-spacing:.06em;margin-left:7px;vertical-align:baseline}
#entry-frame [data-aganau-cover]>#chapters .chapter-heading{display:block;flex:0 0 auto;min-width:0;margin:0 auto 0 0}
#entry-frame [data-aganau-cover]>#chapters .chapter-heading h2{font-size:clamp(16px,33.12px,23px);line-height:1.3;letter-spacing:.04em;white-space:nowrap}
#entry-frame [data-aganau-cover]>#chapters .chapter-topline>img{flex:0 1 auto;min-width:0;width:clamp(96px,273.6px,220px);height:auto;aspect-ratio:8265/2009}

#entry-frame[hidden]{display:none!important}#entry-frame{overflow:hidden;font-family:"Noto Serif SC","Songti SC",serif;touch-action:manipulation}#entry-frame #entry{width:720px;height:1280px;margin:0;max-width:none}

#entry-frame .download-overlay {
  position: absolute;
  top:0;right:0;bottom:0;left:0;inset: 0;
  z-index: 12;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(4 9 15 / 55%);
}
#entry-frame .download-overlay[hidden],#entry-frame #download-progress[hidden]{display:none}
#entry-frame .download-panel {
  position: relative;
  width: min(100%, 460px);
  padding-top: 36px;
  border: 2px solid #a78b58;
  border-radius: 10px;
  background: #14212b;
  box-shadow: 0 12px 44px #02070ab3;
  color: #f5e8ce;
  text-align: center;
  font-family: var(--panel-font-family);
}
#entry-frame .download-label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 2px 14px;
  border: 1px solid #a78b58;
  border-radius: 3px;
  background: #202831;
  color: #f3d395;
  font-size: var(--panel-status-size);
  line-height: 1.2;
}
#entry-frame #download-title {
  margin: 0 18px;
  font-size: var(--panel-title-size);
  letter-spacing: var(--panel-title-spacing);
  font-weight: 400;
  line-height: 1.35;
}
#entry-frame #download-size {
  margin: 7px 0 24px;
  color: #cbbfa8;
  font-size: var(--panel-label-size);
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}
#entry-frame #download-progress {
  display: block;
  width: 76%;
  height: 8px;
  margin: 0 auto 10px;
  accent-color: #e2c382;
}
#entry-frame #download-detail {
  margin: 0 16px 16px;
  font-size: var(--panel-status-size);
  line-height: 1.4;
}
#entry-frame #download-detail:empty { display: none; }
#entry-frame .download-actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #78694e;
}
#entry-frame .download-actions button {
  min-height: max(82px, calc(44px / var(--phone-scale, 1)));
  padding: 8px;
  border: 0;
  background: transparent;
  color: #d9d6cf;
  font-size: var(--panel-action-size);
  line-height: 1.2;
}
#entry-frame #download-yes {
  border-left: 1px solid #78694e;
  border-bottom-right-radius: 8px;
  background: #303030;
  color: #f5d494;
  font-weight: 400;
}
#entry-frame .download-actions button:focus-visible { outline-offset: -5px; }
#entry-frame .download-actions button:disabled { opacity: .65; cursor: default; }

