:root{color-scheme:light;--ink:#173a52;--paper:#fffdf6;--blue:#126789}*{box-sizing:border-box}body{margin:0;background:#e9f3f5;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:#125673}button,select{font:inherit}button,select,a{touch-action:manipulation}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #a83a15;outline-offset:4px}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:10}.skip:focus{top:12px}header{max-width:1000px;margin:auto;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between}header p{margin:0;font-size:14px}header a{font-weight:bold;text-decoration:none}main{max-width:720px;margin:auto;padding:0 16px 20px}h1{font-size:clamp(21px,4vw,30px);margin:8px 0 14px;line-height:1.2}.book{background:var(--paper);box-shadow:0 16px 46px #183e5520;border-radius:12px;overflow:hidden}.page{margin:0;position:relative}.page img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.caption{display:flex;align-items:center;justify-content:center;min-height:110px;margin:0;padding:22px 30px 28px;text-align:center;font-weight:700;font-size:clamp(24px,4.7vw,36px);line-height:1.45;letter-spacing:.015em;color:#173a52}.group2 .caption{font-size:clamp(22px,4vw,30px);min-height:150px}.cover h2{position:absolute;top:4%;left:5%;right:5%;margin:0;text-align:center;font-size:clamp(32px,7vw,60px);line-height:1.08;color:#173a52;text-shadow:0 2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff,0 -2px 0 #fff}.cover .series{position:absolute;top:1%;left:0;right:0;text-align:center;font-weight:bold;font-size:clamp(12px,2.2vw,17px)}.credit{position:absolute;bottom:3%;left:10%;right:10%;text-align:center;border-radius:6px;background:#b82833;color:white;padding:10px 8px;margin:0;font-weight:bold;font-size:clamp(16px,3vw,23px)}.controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0 10px}.controls button{border:0;border-radius:999px;min-width:100px;min-height:48px;padding:12px 20px;background:var(--blue);color:white;font-weight:bold}.controls button:disabled{background:#d1dee2;color:#48616c}.controls p{margin:0;font-size:16px;text-align:center}.jump{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0}.jump select{padding:10px;border:1px solid #8ca6b0;border-radius:6px;background:white;color:var(--ink);min-height:44px}.animate{animation:turn .26s ease-out}@keyframes turn{from{opacity:.4;transform:perspective(1400px) rotateY(-5deg)}to{opacity:1;transform:perspective(1400px) rotateY(0)}}.note{text-align:center;font-size:14px;line-height:1.5;color:#465f6a}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px;padding-bottom:32px}.tile{border-radius:12px;overflow:hidden;background:white;box-shadow:0 6px 20px #173a5214}.tile a{display:block;text-decoration:none}.tile img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.tile h2{font-size:22px;margin:14px 16px 18px;line-height:1.25}.library{max-width:1080px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:400px){main{padding:0 8px 12px}header{padding:12px}.caption{padding:18px 16px;min-height:96px}.controls{gap:6px}.controls button{min-width:88px;padding:10px 14px}.group2 .caption{min-height:130px}}@media(prefers-reduced-motion:reduce){.animate{animation:none}}@media print{header,.controls,.jump,.note,.skip,h1{display:none}.book{box-shadow:none;border-radius:0}main{max-width:none;padding:0}.page[hidden]{display:block!important}.page{break-after:page}.page img{max-height:75vh;width:100%;object-fit:contain}.cover{height:100vh}}

.cover h2 span{display:block}.cover h2 span:last-child{color:#b82833}

.mini-cover{position:relative}.mini-title{position:absolute;top:4%;left:5%;right:5%;padding:5px;background:#fffdf6f5;border-radius:5px;text-align:center;font-size:20px;line-height:1.1;font-weight:700}.mini-title span{display:block}.mini-title span:last-child{color:#b82833}.mini-credit{position:absolute;bottom:3%;left:10%;right:10%;margin:0;padding:4px 2px;border-radius:3px;text-align:center;background:#b82833;color:white;font-size:11px;font-weight:bold}

.art-frame{position:relative;container-type:inline-size}.inworld{position:absolute;display:block;white-space:pre;line-height:1.1;text-align:center;font-family:Arial,Helvetica,sans-serif;font-weight:700;pointer-events:none}
