.book-reading{white-space:pre-line}.book-reading p{margin:1.1em 0}.gift-package{margin:24px 0}.gift-package select{display:block;max-width:100%;width:100%;padding:12px;color:#efdfc1;background:#10252a;border:1px solid #aa8950}.level-button small{white-space:normal}.chapter-store .shop-grid{align-items:stretch}.chapter-store article{display:flex;flex-direction:column}.chapter-store article button{margin-top:auto}
.collection-jump{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.collection-jump a{text-decoration:none}.collection-note{color:var(--muted);max-width:850px;margin:12px 0 20px}.book-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:40px}.book-collection-card{padding:0;text-align:left;border:1px solid #76603b;background:#0d2026;border-radius:8px;overflow:hidden}.book-collection-card img,.portrait-pending{display:block;width:100%;height:240px;object-fit:contain;background:#071317}.portrait-pending{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;gap:12px;text-align:center}.portrait-pending span{color:var(--muted)}.academy-all-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.academy-family{border:1px solid #76603b;background:#0d2026;border-radius:8px;padding:16px;min-width:0}.age-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0}.age-portraits button{padding:0;border:1px solid #344d50;background:#08171b;min-width:0}.age-portraits img{display:block;width:100%;height:240px;object-fit:contain}.age-portraits span{display:block;padding:6px 0}.book-detail-image{width:100%;height:340px;object-fit:contain}#academy-roster,#book-roster{scroll-margin-top:20px}@media(max-width:1000px){.book-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-all-grid{grid-template-columns:1fr}}@media(max-width:480px){.age-portraits img{height:180px}.book-collection-card img,.portrait-pending{height:190px}.collection-jump .button{width:100%;text-align:center}}

.card-inactive img,img.card-inactive{filter:grayscale(1);opacity:.75}.card-active img,img.card-active{filter:none;opacity:1}.age-portraits .card-active{outline:2px solid #caaa63;outline-offset:2px}.card-detail{display:block;width:70%;max-height:400px;object-fit:contain;margin:auto}#card-language{padding:10px;background:#10252a;color:#efdfc1;border:1px solid #aa8950}

.pour-overlay{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.essence-stream{position:fixed;width:4px;border-radius:3px;transform-origin:top;opacity:0;will-change:transform,opacity}.pour-ripple{position:fixed;height:7px;border:1px solid;border-radius:50%;opacity:0;pointer-events:none}.flask-button svg{transition:transform 200ms cubic-bezier(.2,.7,.2,1),filter 200ms ease}.flask-button.selected svg{transform:translateY(-9px);filter:drop-shadow(0 0 7px #72c9bd44)}@media(prefers-reduced-motion:reduce){.flask-button svg{transition:none}.flask-button.selected svg{transform:none}.pour-overlay{display:none}}

.merge-orders{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-bottom:20px}.merge-orders .quest-card,.merge-orders .info-card{margin:0}

.book-profile{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.scene-card-list{display:grid;gap:8px;padding:12px}.scene-card{display:grid;gap:6px;text-align:left;color:#dac397;border:1px solid #75613a;background:linear-gradient(130deg,#10292c,#131921);border-radius:8px;padding:12px;cursor:pointer}.scene-card.unlocked{border-color:#c6a25e}.scene-number{color:#d3b372}.scene-document{padding:24px;border:1px solid #917244;background:linear-gradient(140deg,#173336,#171d24);border-radius:10px}.scene-card.card-inactive{filter:grayscale(1)}

/* Illustrated book scenes: retain entire 2:3 artwork. */
.book-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.book-profile{display:flex;align-items:center;gap:12px;padding:12px}
.book-collection-card .book-profile img{width:56px;height:84px;flex-shrink:0;object-fit:contain}
.book-profile .character-identity{padding:0}
.scene-card-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.scene-card{min-width:0;padding:7px}
.book-collection-card .scene-card img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:4px}
.scene-detail-image{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;margin:0 auto 16px}
@media(max-width:1100px){.book-collection-grid{grid-template-columns:1fr}}

/* Readable UI text without clipping at narrow widths or larger text sizes. */
body{-webkit-text-size-adjust:100%}
.scene-card{padding:8px}
.scene-card strong{overflow-wrap:anywhere}
.scene-card-list{align-items:stretch}
.book-profile .character-identity{min-width:0}
.dialog{overflow-wrap:break-word}
.dialog p+p{margin-top:1em}
.dialog h3{margin-top:1em;margin-bottom:.4em}
.scene-document p{margin:.8em 0}
.button,.plain-button,.mode-tab{white-space:normal;overflow-wrap:break-word}
@media(max-width:420px){.scene-card-list{grid-template-columns:1fr}.scene-card{grid-template-columns:80px minmax(0,1fr);column-gap:12px}.book-collection-card .scene-card img{grid-column:1;grid-row:1/4}.scene-card .scene-number,.scene-card strong,.scene-card small{grid-column:2}}

.tools{flex-wrap:wrap}.tools .tool{flex:1 1 80px}.move-counter{min-width:90px}

/* Avoid WebKit tap-highlight and nested filter compositing artefacts. */
.flask-button,.flask-button:hover,.flask-button.selected,.flask-button.hint{background:transparent!important;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;filter:none;transform:none;animation:none;transition:none;box-shadow:none}
.flask-button svg,.flask-button.selected svg{background:transparent;filter:none;transition:none;transform:none}
.flask-button.selected svg{transform:translateY(-10px);animation:flask-select .3s cubic-bezier(.22,1,.36,1) both}
.flask-button.hint:after{content:"";position:absolute;left:25%;bottom:7px;width:50%;height:2px;background:var(--teal)}
.pour-overlay,.pour-overlay svg{background:transparent!important;filter:none}
@keyframes flask-select{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.flask-button.selected svg{animation:none;transform:none}}

/* Material pass: opaque, inexpensive surfaces; no SVG filter layers. */
.practice{background:radial-gradient(ellipse at 50% 25%,#21434870,transparent 65%),linear-gradient(140deg,#14272b,#071519 65%);border-color:#9d8051;box-shadow:inset 0 0 0 3px #061216,inset 0 0 0 4px #bd975e35,0 12px 28px #0003}
.practice-top{background:linear-gradient(100deg,#09191dd9,#29403950,#0a191ed9);border-bottom-color:#b8985745}
.sort-board{background:radial-gradient(ellipse at 50% 85%,#52878019,transparent 70%)}
.flask-button svg{shape-rendering:geometricPrecision}
.flask-id{color:#c1c9b5}
.seal{background:linear-gradient(135deg,#fff2 0%,transparent 25%,#020d1644 70%),radial-gradient(ellipse at 35% 20%,#557174,#132b32 65%);border:1px solid #b39a6f80;box-shadow:inset 0 1px 0 #ffeac34d,inset 0 -3px 0 #020b145e,0 2px 3px #0005;border-radius:12px;text-shadow:0 1px 1px #001318}
.seal:before{inset:5px;border-radius:8px;border-color:currentColor;opacity:.38;background:linear-gradient(145deg,#ffffff0a,transparent 50%)}
.seal.target{background:linear-gradient(145deg,#7e6941,#364b3a 48%,#1b3030);border-color:#e3c087}
.seal.special{background:radial-gradient(ellipse at 50% 30%,#988a55,#304b4a 55%,#10292e);box-shadow:inset 0 0 0 2px #e4c88566,inset 0 1px 0 #fff2c6}
.seal.selected{outline:2px solid #b7f1de;outline-offset:2px}
.merge-cell{background:linear-gradient(145deg,#1b3338,#0b1c24);box-shadow:inset 0 1px 0 #a5c5bd1c,inset 0 -2px 0 #020c14;border-color:#64736a50}
.merge-cell.has-item{background:radial-gradient(ellipse at 50% 30%,#43565765,#152932 70%);border-color:#b39c6666}
.item-symbol .relic-art{display:block;width:100%;height:100%;max-width:64px;margin:auto}
.item-symbol:has(.relic-art){display:block;width:clamp(32px,5vw,58px);height:clamp(32px,5vw,58px);margin:auto}
.quest-card,.info-card,.academy-family,.book-collection-card{box-shadow:inset 0 1px 0 #e4c68b19,0 6px 18px #0002}
.tool{background:linear-gradient(145deg,#254044,#112a31);border-color:#83927b80;box-shadow:inset 0 1px 0 #fff1}
@media(max-width:420px){.seal{border-radius:9px}.seal:before{inset:3px;border-radius:6px}}

.practice-sort{background:linear-gradient(#06121644,#06121677),url('assets/locations/academy-lab.png') center 48%/cover}
.practice-match{background:linear-gradient(#06121699,#061216bb),url('assets/locations/academy-archive.png') center/cover}
.practice .instruction,.companion-panel{background:#07171fe8}
.sort-board{background:linear-gradient(90deg,#07171f22,#193b4222,#07171f22)}
.flask-button:before{content:"";position:absolute;left:-5px;right:-5px;bottom:15px;height:9px;background:linear-gradient(#aa8752,#51402d 25%,#2a211b 60%,#a5865033);border-top:1px solid #c2a36a88;box-shadow:0 8px 10px #0004;pointer-events:none}
@keyframes seal-light{0%,100%{opacity:1}40%{opacity:.45}65%{opacity:1}}
.fx-seal svg,.fx-unlock svg{animation:seal-light .65s ease}
@keyframes craft-settle{0%{transform:scale(.85)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
.fx-craft .relic-art{animation:craft-settle .55s ease}
.victory-mark{animation:craft-settle .6s ease}
.workshop-gallery{margin-bottom:18px;padding:22px;border:1px solid #846e49;border-radius:8px;background:linear-gradient(90deg,#07171ff5,#122e36d9),url('assets/locations/receiving-warehouse.png') center/cover}
.workshop-gallery.tier-1{border-color:#a48a5f}.workshop-gallery.tier-2{border-color:#c6ad72;box-shadow:inset 0 0 0 3px #b3934433}.workshop-gallery.tier-3{border-color:#ece0ad;box-shadow:inset 0 0 0 3px #b3934444,0 0 18px #a88c3422}
.workshop-gallery p{color:var(--muted);margin:8px 0}.workshop-gallery summary{cursor:pointer;color:var(--gold);margin-top:14px}
.craft-catalogue{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}.catalogue-item{display:grid;place-items:center;gap:5px;text-align:center}.catalogue-item .relic-art{width:64px;height:64px}.catalogue-item.card-inactive{filter:grayscale(1);opacity:.45}
.hero-options{display:grid;gap:12px;margin:20px 0}.hero-observation{border-left:2px solid var(--gold);padding:16px;margin:18px 0;background:#203b35}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
@media(max-width:480px){.craft-catalogue{grid-template-columns:repeat(3,1fr)}.workshop-gallery{padding:16px}}
@media(prefers-reduced-motion:reduce){.fx-seal svg,.fx-unlock svg,.fx-craft .relic-art,.victory-mark{animation:none}}

.workshop-gallery.tier-2{background-image:linear-gradient(90deg,#07171fee,#122e36cc),url('assets/locations/academy-lab.png')}
.workshop-gallery.tier-3{background-image:linear-gradient(90deg,#07171fee,#122e36cc),url('assets/locations/academy-archive.png')}
.essence-manifest,.crafting-panel{margin:16px 0;padding:16px;border:1px solid #897247;border-radius:12px;background:#081b20;color:#e6d8b8}.essence-manifest p{margin:8px 0}.essence-manifest span{white-space:nowrap}.crafting-panel summary{cursor:pointer;color:#e1bd78}.crafting-recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.crafting-recipes article{padding:12px;border:1px solid #66583f;border-radius:8px}.crafting-recipes h3{margin:0 0 8px}.tools{flex-wrap:wrap}@media(max-width:520px){.crafting-recipes{grid-template-columns:1fr}}
