@import"https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400;1,700&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Caveat:wght@400;500&display=swap";:root{--paper: #f8f1e3;--paper-soft: #f0e6d2;--paper-deep: #e6dcc0;--ink: #322619;--ink-soft: #5c4d3a;--ink-faint: #8e7e68;--rule: #ddc9a8;--rule-soft: #ebe2cd;--accent: #c97d7d;--accent-soft: #e5b0b0;--rose: var(--accent);--sage: #8fa386;--butter: #e5c97a;--slate: #5c6e78;--measure: 34rem;--measure-wide: 42rem;--family-gouache: #c4a268;--family-watercolor: #8aa5b3;--family-pen-and-ink: #b89880;--family-woodblock: #4a5a4f;--family-pastel: #b8a8b9;--family-engraving: #7a6a52;--font-display: "Libre Baskerville", "Baskerville", "Iowan Old Style", Georgia, serif;--font-body: "Lora", "Charter", "Iowan Old Style", Georgia, serif;--font-aside: "Caveat", "Brush Script MT", cursive}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.20 0 0 0 0 0.15 0 0 0 0 0.10 0 0 0 0.045 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:240px 240px;color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--rule);transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--accent)}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;color:var(--ink)}h1{font-style:italic;font-size:3rem;line-height:1.22;margin:0 0 1rem}h2{font-style:italic;font-size:1.6rem;line-height:1.3;margin:2.5rem 0 .75rem}h3{font-style:italic;font-weight:700;font-size:1.18rem;line-height:1.35;color:var(--accent);margin:1.75rem 0 .5rem}p,ul,ol{max-width:var(--measure);text-wrap:pretty}p{margin:0 0 1rem;color:var(--ink-soft)}ul,ol{padding-left:1.25rem;color:var(--ink-soft)}li{margin-bottom:.4rem}em{color:var(--ink-soft)}strong{color:var(--ink)}.dropcap:first-letter{font-family:var(--font-display);font-style:italic;float:left;font-size:4em;line-height:.86;font-weight:400;margin-right:.08em;margin-top:.05em;color:var(--accent)}body.lorylo-app{background:var(--paper);min-height:100dvh}.app-shell{max-width:64rem;margin:0 auto;padding:1rem 1.25rem 4rem}@media(max-width:640px){.app-shell{padding:1rem max(1.15rem,env(safe-area-inset-right)) 3rem max(1.15rem,env(safe-area-inset-left))}}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}.app-header .brand{font-family:var(--font-display);font-style:italic;font-size:1.45rem;font-weight:400;text-decoration:none;letter-spacing:.005em;color:var(--ink)}.app-header .brand .brand-dot{color:var(--accent)}.app-header .back,.app-header .settings{color:var(--ink-soft);text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:.4rem}.app-header .back:hover,.app-header .settings:hover{color:var(--accent)}.home-intro{margin-bottom:2.5rem;max-width:var(--measure-wide)}.home-intro .kicker{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .5rem}.home-intro h1{font-size:2.25rem;margin:0 0 .5rem}@media(max-width:640px){.home-intro h1{font-size:1.8rem;line-height:1.15}}.home-intro .sub{color:var(--ink-soft);margin:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.75rem 1.5rem;margin-top:1rem}.story-card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);padding:.75rem .75rem 1rem;background-color:var(--paper);background-image:linear-gradient(135deg,var(--card-color, transparent) 0%,transparent 62%);background-blend-mode:multiply;border-radius:2px;transition:transform .2s ease;isolation:isolate}.story-card:before{content:"";position:absolute;inset:0;background:var(--paper);opacity:.86;border-radius:inherit;z-index:-1;pointer-events:none}.story-card:hover{transform:translateY(-2px)}.story-card .cover{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--paper-deep);margin-bottom:.85rem;box-shadow:inset 0 0 0 4px #f8f1e3f2,inset 0 0 16px 5px #f8f1e3d9,inset 0 0 36px 10px #f8f1e373,0 8px 24px -16px #32261933}.story-card .cover img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(.98)}.bedtime-mark{position:absolute;top:.6rem;right:.6rem;background:#f8f1e3eb;color:var(--ink);width:1.75rem;height:1.75rem;border-radius:999px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);z-index:1}.card-meta .card-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.2rem;margin:0 0 .3rem;line-height:1.25;color:var(--ink)}.card-meta .card-tradition{font-size:.85rem;font-style:italic;color:var(--ink-soft);margin:0 0 .5rem}.card-meta .card-tags{font-size:.78rem;color:var(--ink-faint);margin:0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;letter-spacing:.04em}.card-meta .dot{color:var(--ink-faint);opacity:.6}.card-meta .lang{font-variant:small-caps;letter-spacing:.06em}.series-chip{display:inline-block;padding:.25rem .85rem .3rem;font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.02em;color:var(--ink);background:color-mix(in srgb,var(--card-color, var(--rule)) 38%,var(--paper));clip-path:polygon(2% 12%,8% 0%,22% 6%,38% 0%,55% 8%,72% 1%,88% 7%,98% 0%,100% 22%,96% 42%,100% 62%,97% 82%,100% 100%,84% 96%,66% 100%,48% 94%,30% 100%,14% 95%,0% 100%,3% 78%,0% 56%,4% 36%,0% 18%);transform:rotate(-.8deg);margin:0 .35rem .1rem 0;white-space:nowrap}.story-page{max-width:var(--measure-wide)}@media(max-width:640px){.story-page{padding-bottom:2rem}}.breadcrumb{display:inline-block;font-size:.9rem;color:var(--ink-soft);text-decoration:none;margin-bottom:1.5rem}.breadcrumb:hover{color:var(--accent)}.info-card{display:grid;grid-template-columns:240px 1fr;gap:2rem}@media(max-width:640px){.info-card{grid-template-columns:1fr;gap:1.35rem}}.info-cover{position:relative;overflow:hidden;aspect-ratio:4 / 5;background:var(--paper-deep);box-shadow:inset 0 0 0 6px #f8f1e3f2,inset 0 0 24px 8px #f8f1e3d9,inset 0 0 60px 18px #f8f1e38c,0 12px 32px -16px #32261938}.info-cover img{width:100%;height:100%;object-fit:cover;display:block}.info-tradition{font-size:.85rem;letter-spacing:.04em;font-style:italic;color:var(--ink-soft);text-transform:lowercase;margin:0 0 .4rem}.info-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:2.4rem;margin:0 0 .6rem;line-height:1.2;color:var(--ink)}@media(max-width:640px){.info-title{font-size:1.8rem;line-height:1.15}.info-summary{font-size:1rem;line-height:1.55}.info-controls{grid-template-columns:1fr}}.info-tags{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;font-size:.85rem;color:var(--ink-faint);margin:0 0 1.5rem}.info-tags .dot{opacity:.6}.bedtime-tag{display:inline-flex;align-items:center;gap:.3rem;color:var(--ink-soft)}.info-summary{font-size:1.05rem;color:var(--ink);margin-bottom:1.5rem}.warnings{border-left:2px solid var(--rule);padding-left:1rem;margin-bottom:1.5rem}.warnings-label{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:.4rem}.warnings ul{list-style:none;padding:0;margin:0;display:flex;gap:.4rem;flex-wrap:wrap}.warnings li{font-size:.85rem;background:var(--paper-soft);color:var(--ink-soft);padding:.15rem .6rem;border-radius:999px;margin:0}.info-controls{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;max-width:28rem}.info-controls label{display:flex;flex-direction:column;gap:.3rem}.info-controls span{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.info-controls select{padding:.5rem .7rem;border:1px solid var(--rule);background:var(--paper);font-family:inherit;font-size:.95rem;border-radius:.2rem;color:var(--ink)}.info-controls select:disabled{color:var(--ink-soft);cursor:not-allowed}.play-btn{display:inline-block;padding:.85rem 1.75rem;background:var(--ink);color:var(--paper);text-decoration:none;font-family:var(--font-body);font-size:.95rem;letter-spacing:.04em;border-radius:999px;margin-bottom:1.5rem;transition:background .15s ease}.play-btn:hover{background:var(--accent)}.conv-guide{margin-bottom:1.5rem;border-top:1px solid var(--rule);padding-top:1rem}.conv-guide summary{cursor:pointer;font-style:italic;color:var(--ink-soft);font-size:.95rem}.conv-guide p{margin-top:.75rem;color:var(--ink-soft)}.cover-credit{font-size:.75rem;color:var(--ink-faint);font-style:italic;margin:1rem 0 0}.play-page{max-width:var(--measure-wide)}.play-stage{margin-top:2rem;padding:3rem 2rem;border:1px dashed var(--rule);border-radius:.5rem;text-align:left;background:var(--paper-soft)}.play-stage--loading{border-style:solid;padding:0;overflow:hidden;aspect-ratio:4 / 5;max-width:20rem}.play-skeleton{width:100%;height:100%;background:var(--paper-deep);animation:skeleton-pulse 1.6s ease-in-out infinite;filter:blur(0)}@keyframes skeleton-pulse{0%,to{opacity:.5;filter:blur(0px)}50%{opacity:1;filter:blur(2px)}}.play-stage .kicker{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .75rem}.play-stage h1{font-size:1.75rem;margin:0 0 1.5rem}.play-explainer{color:var(--ink-soft);max-width:var(--measure)}.settings-page{max-width:var(--measure-wide)}.setting-list{margin-top:2rem}.setting-list dt{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-top:1.25rem}.setting-list dd{margin:.3rem 0 0;color:var(--ink);font-size:1rem}.not-found{padding:3rem 0;color:var(--ink-soft)}.player{position:fixed;inset:0;width:100dvw;height:100dvh;background:#0a0907;z-index:50;overflow:hidden}.player-stage{--frame-aspect: .8;position:absolute;top:50%;left:50%;width:calc(100dvh * var(--frame-aspect));height:100dvh;overflow:hidden;background:#0a0907;transform:translate(-50%,-50%);transform-origin:center}.player-chrome{position:absolute;top:50%;left:50%;width:100dvw;height:100dvh;transform:translate(-50%,-50%);transform-origin:center;pointer-events:none;z-index:1}.player-chrome>*{pointer-events:auto}@media(orientation:portrait){.player-stage.is-landscape{width:100dvh;height:calc(100dvh / var(--frame-aspect));transform:translate(-50%,-50%) rotate(90deg)}.player-chrome.is-landscape{width:100dvh;height:100dvw;transform:translate(-50%,-50%) rotate(90deg)}}.player-frame-skeleton{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#f7f2e814,#f7f2e800),#14110d;opacity:1;transition:opacity .28s ease}.player-stage.is-image-ready .player-frame-skeleton{opacity:0}.player-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:opacity .28s ease;user-select:none;-webkit-user-drag:none}.player-stage.is-image-ready .player-image{opacity:1}.hotspot-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.hotspot-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hotspot{fill:#f7f2e800;stroke:#f7f2e800;stroke-width:.005;vector-effect:non-scaling-stroke;transition:fill .3s ease,stroke .3s ease}.hotspot-layer.is-active .hotspot{stroke:#f7f2e8f2;stroke-width:6;stroke-dasharray:14 9;stroke-linecap:round;animation:hotspot-pulse 2.2s ease-in-out infinite;transition:stroke .2s ease,stroke-width .2s ease,stroke-dasharray .2s ease}.hotspot-layer.is-active .hotspot.is-hovered{stroke:#f7f2e8;stroke-width:9;stroke-dasharray:0;animation:none}.hotspot-tap{position:absolute;cursor:pointer;pointer-events:none;-webkit-tap-highlight-color:transparent}.hotspot-layer.is-active .hotspot-tap{pointer-events:auto}.hotspot-tap-circle{border-radius:50%}.hotspot-tap-rect{border-radius:6px}.hotspot-frost{position:absolute;inset:0;border-radius:inherit;background:#f7f2e800;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);opacity:0;pointer-events:none;transition:backdrop-filter .22s ease,-webkit-backdrop-filter .22s ease,opacity .22s ease,background .22s ease}.hotspot-tap.is-hovered .hotspot-frost{opacity:1;background:#f7f2e814;backdrop-filter:blur(5px) saturate(1.05);-webkit-backdrop-filter:blur(5px) saturate(1.05)}@keyframes hotspot-pulse{0%,to{opacity:.55}50%{opacity:1}}.player-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:1rem;padding:max(.85rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left));color:#f7f2e8eb;font-size:.9rem;z-index:3;pointer-events:none}.player-topbar>*{pointer-events:auto}.player-topbar-left,.player-topbar-right{flex:1;display:flex;align-items:center;gap:.6rem}.player-topbar-left{justify-content:flex-start}.player-topbar-right{justify-content:flex-end}.player-topbar-center{flex-shrink:0}.player-indicators{position:absolute;top:.85rem;right:calc(max(1rem,env(safe-area-inset-right)) + 5.3rem);display:flex;align-items:center;gap:.5rem;z-index:5;pointer-events:auto}.player-wake-warning{position:absolute;top:3.4rem;left:50%;transform:translate(-50%);max-width:min(26rem,calc(100vw - 2rem));padding:.55rem .9rem;background:#0a0907b8;border:1px solid rgba(255,215,92,.45);border-radius:.6rem;color:#f7f2e8eb;font-size:.8rem;line-height:1.4;text-align:left;z-index:6;cursor:pointer}.player-exit{background:#0a090773;border:1px solid rgba(247,242,232,.2);color:inherit;font-family:inherit;font-size:inherit;cursor:pointer;padding:.35rem .75rem;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s ease}.player-exit:hover{border-color:#f7f2e873}.player-progress{font-variant:small-caps;letter-spacing:.08em;font-size:.78rem;color:#f7f2e8eb;background:#0a090773;border:1px solid rgba(247,242,232,.18);border-radius:999px;padding:.25rem .7rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.player-text-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;background:#0a090773;color:#f7f2e8d9;border:1px solid rgba(247,242,232,.2);border-radius:50%;cursor:pointer;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .15s ease,border-color .15s ease}.player-text-toggle:hover{color:#f7f2e8;border-color:#f7f2e880}.player-text-toggle.text-mode-hidden{color:#f7f2e88c}.player-nav{position:absolute;top:0;bottom:0;width:22%;min-width:4rem;max-width:9rem;border:none;cursor:pointer;color:transparent;background:transparent;display:flex;align-items:center;padding:0 1rem;z-index:1;transition:color .25s ease,background .25s ease;-webkit-tap-highlight-color:transparent}.player-nav-prev{left:0;justify-content:flex-start}.player-nav-next{right:0;justify-content:flex-end}.player-nav:hover{color:#f7f2e8fa}.player-nav-prev:hover{background:linear-gradient(to right,rgba(10,9,7,.5),transparent 80%)}.player-nav-next:hover{background:linear-gradient(to left,rgba(10,9,7,.5),transparent 80%)}.player-nav:active{transform:scale(.96)}.player-nav svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.player-narration-overlay{position:absolute;bottom:0;left:0;right:0;padding:4rem max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));background:linear-gradient(to top,rgba(10,9,7,.82) 0%,rgba(10,9,7,.5) 55%,transparent 100%);color:#f7f2e8f7;pointer-events:none;z-index:3}.player-narration{font-size:.94rem;line-height:1.45;margin:0;max-width:44rem;text-align:left;color:inherit;text-shadow:0 1px 4px rgba(0,0,0,.55)}.player-narration-line{margin:0;color:inherit}.player-narration-line+.player-narration-line{margin-top:.45rem}.player-narration-word--active{color:var(--karaoke-active-color, #ffd75c);font-weight:600;transition:color .12s ease-out}@media(min-width:720px){.player-narration{font-size:1.25rem}}@media(hover:none)and (pointer:coarse){.player-chrome.is-landscape .player-narration{font-size:.8rem}}@media(max-width:640px){.player-narration-overlay{padding:3rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.player-narration-line+.player-narration-line{margin-top:.32rem}}.player-narration-overlay.text-mode-compact{padding:1.5rem max(1.25rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));background:linear-gradient(to top,rgba(10,9,7,.85) 0%,rgba(10,9,7,.55) 60%,transparent 100%);overflow:hidden}.player-compact-ticker-viewport{overflow:hidden;width:100%}.player-compact-ticker-inner{display:inline-block;white-space:nowrap;will-change:transform;transition:transform .2s linear}.player-narration-overlay.text-mode-compact .player-narration{font-size:.84rem;white-space:nowrap;max-width:none;margin:0}@media(min-width:720px){.player-narration-overlay.text-mode-compact .player-narration{font-size:1.05rem}}@media(max-width:640px){.player-narration-overlay.text-mode-compact{padding:1.25rem max(1rem,env(safe-area-inset-right)) max(.7rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}}@media(prefers-reduced-motion:reduce){.player-compact-ticker-inner{transition:none}}.player-drawer-backdrop{position:fixed;inset:0;background:#0a090700;pointer-events:none;transition:background .25s ease;z-index:60}.player-drawer-backdrop.is-open{background:#0a09078c;pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.player-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,92vw);background:#14110df5;color:#f7f2e8f2;border-left:1px solid rgba(247,242,232,.08);transform:translate(100%);transition:transform .28s cubic-bezier(.2,.7,.3,1);z-index:61;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right)}.player-drawer.is-open{transform:translate(0)}.player-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.5rem 1rem;border-bottom:1px solid rgba(247,242,232,.08)}.player-drawer-head h2{margin:0;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.6rem;color:#f7f2e8f2;line-height:1}.player-drawer-close{background:none;border:1px solid rgba(247,242,232,.18);color:#f7f2e8d9;width:2.1rem;height:2.1rem;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.player-drawer-close:hover{color:#f7f2e8;border-color:#f7f2e873}.player-drawer-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.player-drawer-vol{display:flex;flex-direction:column;gap:.5rem}.player-drawer-vol-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.95rem;color:#f7f2e8eb;font-family:var(--font-body)}.player-drawer-vol-value{font-variant:small-caps;letter-spacing:.06em;font-size:.78rem;color:#f7f2e88c;font-family:var(--font-body)}.player-drawer-vol input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:#f7f2e829;border-radius:999px;outline:none;cursor:pointer}.player-drawer-vol input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid rgba(247,242,232,.95);cursor:grab;box-shadow:0 1px 6px #00000059;transition:transform .12s ease}.player-drawer-vol input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.player-drawer-vol input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid rgba(247,242,232,.95);cursor:grab;box-shadow:0 1px 6px #00000059}.player-drawer-section{display:flex;flex-direction:column;gap:.5rem}.player-drawer-section-label{font-size:.95rem;color:#f7f2e8eb;font-family:var(--font-body)}.player-drawer-segmented{display:flex;gap:0;background:#f7f2e814;border-radius:999px;padding:3px}.player-drawer-seg{flex:1;background:none;border:0;padding:.55rem .6rem;color:#f7f2e8a6;font-family:var(--font-body);font-size:.85rem;cursor:pointer;border-radius:999px;transition:background .15s,color .15s}.player-drawer-seg:hover{color:#f7f2e8f2}.player-drawer-seg.is-active{background:#f7f2e8f2;color:var(--ink);font-weight:500}.player-drawer-pills{display:flex;flex-wrap:wrap;gap:.45rem}.player-drawer-pill{background:transparent;color:#f7f2e8c7;border:1px solid rgba(247,242,232,.22);padding:.4rem .85rem;border-radius:999px;font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.player-drawer-pill:hover{color:#f7f2e8;border-color:#f7f2e873}.player-drawer-pill.is-active{background:var(--accent);color:var(--paper);border-color:var(--accent)}.player-drawer-exit{margin-top:.75rem;background:transparent;color:#f7f2e8d9;border:1px solid rgba(247,242,232,.22);padding:.7rem 1rem;border-radius:999px;cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-style:italic;transition:border-color .15s,color .15s,background .15s}.player-drawer-exit:hover{color:#f7f2e8;border-color:var(--accent);background:#c97d7d1a}.player-drawer-hint{margin:.5rem 0 0;font-size:.8rem;color:#f7f2e88c;line-height:1.55;font-style:italic}.player-drawer-diag{font-size:.68rem;font-style:normal;color:#f7f2e861;word-break:break-word}.player.is-dark-screen{background:#000}.player.is-dark-screen .player-image,.player.is-dark-screen .player-narration-overlay,.player.is-dark-screen .char-strip{visibility:hidden}.player.is-dark-screen .hotspot-layer{visibility:hidden;pointer-events:none}.player .player-topbar,.player .player-nav-prev,.player .player-nav-next{transition:opacity .4s ease}.player:not(.is-chrome-revealed) .player-topbar,.player:not(.is-chrome-revealed) .player-nav-prev,.player:not(.is-chrome-revealed) .player-nav-next{opacity:0;pointer-events:none}.player.is-chrome-revealed .player-topbar,.player.is-chrome-revealed .player-nav-prev,.player.is-chrome-revealed .player-nav-next{opacity:1;pointer-events:auto}.player-start-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a090752;backdrop-filter:blur(6px) saturate(.95);-webkit-backdrop-filter:blur(6px) saturate(.95);border:none;cursor:pointer;z-index:50;-webkit-tap-highlight-color:transparent;padding:0;margin:0;color:inherit;font:inherit;animation:player-start-fade-in .28s ease-out}.player-start-button{display:flex;align-items:center;justify-content:center;width:128px;height:128px;border-radius:50%;background:#f7f2e8f0;color:#1a1612;box-shadow:0 10px 30px #00000073,0 0 #f7f2e873;transition:transform .16s ease-out,background .16s ease-out;animation:player-start-pulse 2.4s ease-in-out infinite}.player-start-button>svg{transform:translate(3px)}.player-start-overlay:hover .player-start-button{background:#f7f2e8;transform:scale(1.04)}.player-start-overlay:active .player-start-button{transform:scale(.96)}@keyframes player-start-pulse{0%,to{box-shadow:0 10px 30px #00000073,0 0 #f7f2e873}50%{box-shadow:0 10px 30px #00000073,0 0 0 18px #f7f2e800}}@keyframes player-start-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:480px){.player-start-button{width:104px;height:104px}.player-start-button>svg{width:44px;height:44px}}.player-fadeout{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;z-index:110;transition:opacity 10s cubic-bezier(.4,0,.6,1);cursor:default}.player-fadeout.is-active{opacity:1;pointer-events:auto;cursor:pointer}.sleep-good-night{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:120;color:#f7f2e8e0;font-family:var(--font-display);font-style:italic;font-size:clamp(1.8rem,5vw,2.8rem);letter-spacing:.01em;text-shadow:0 1px 12px rgba(0,0,0,.6);opacity:0;transition:opacity 5s ease 5s}.sleep-good-night.is-visible{opacity:1}.sleep-exit-confirm{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:130;background:transparent;cursor:default}.sleep-exit-confirm-card{background:#1c1814eb;border:1px solid rgba(247,242,232,.12);border-radius:12px;padding:1.25rem 1.4rem 1.1rem;max-width:min(86vw,22rem);text-align:center;color:#f7f2e8d1;box-shadow:0 10px 32px -16px #000c}.sleep-exit-confirm-title{margin:0 0 1rem;font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:#f7f2e8eb}.sleep-exit-confirm-actions{display:flex;gap:.75rem;justify-content:center}.sleep-exit-confirm-btn{flex:1;background:#f7f2e814;border:1px solid rgba(247,242,232,.18);color:#f7f2e8e0;border-radius:999px;padding:.55rem 1rem;font:inherit;font-size:.92rem;cursor:pointer;transition:background .18s ease,border-color .18s ease}.sleep-exit-confirm-btn--stay{background:#f7f2e824}.sleep-exit-confirm-btn--exit{color:#f7f2e8ad}.sleep-exit-confirm-btn:hover{background:#f7f2e82e;border-color:#f7f2e852}.autoplay-grace-icon{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;color:#f7f2e8d9}.autoplay-grace-icon-fill{stroke-dasharray:62.83;stroke-dashoffset:62.83;animation:autoplay-grace-fill 3s linear forwards}@keyframes autoplay-grace-fill{to{stroke-dashoffset:0}}.player-sleep-countdown{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .75rem .32rem .65rem;background:#0a090773;color:#f7f2e8e0;border:1px solid rgba(247,242,232,.2);border-radius:999px;font-family:var(--font-body);font-size:.78rem;font-variant:small-caps;letter-spacing:.06em;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.player-sleep-countdown svg{opacity:.85}.ambient-stop{justify-self:end;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:#0a09078c;color:#f7f2e8eb;border:1px solid rgba(247,242,232,.25);border-radius:999px;font-family:inherit;font-size:.8rem;cursor:pointer;max-width:14rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ambient-stop:hover{color:var(--accent-soft);border-color:var(--accent-soft)}.ambient-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent-soft);flex-shrink:0;animation:ambient-blink 1.4s ease-in-out infinite}@keyframes ambient-blink{0%,to{opacity:.4}50%{opacity:1}}.card-overlay-root{--ink: #3a2c1c;--ink-soft: #6e5a3c;--parchment: #f1e6c4;--foxglove: #c98598;--card-w: min(420px, 88vw, calc((100dvh - 5rem) * 2 / 3));position:fixed;inset:0;background:#2a21188c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:max(1.25rem,env(safe-area-inset-top)) 1rem max(1.25rem,env(safe-area-inset-bottom));animation:overlay-fade .22s ease-out}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.card-stack{position:relative;width:var(--card-w);aspect-ratio:400 / 600;perspective:1800px}.card{position:absolute;inset:0;container-type:inline-size;user-select:none;transition:transform .52s cubic-bezier(.32,.72,.18,1.02),opacity .4s ease;will-change:transform,opacity;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18)) drop-shadow(0 18px 28px rgba(40,28,12,.35));animation:card-rise .3s cubic-bezier(.2,.7,.3,1)}@keyframes card-rise{0%{transform:translateY(70vh) scale(.86) rotate(-2deg);opacity:0}to{transform:translateY(0);opacity:1}}.card.is-dismissed{pointer-events:none;animation:card-fly-off .78s cubic-bezier(.36,0,.42,1) forwards;animation-delay:var(--fly-delay, 0ms)}@keyframes card-fly-off{to{transform:var(--fly-transform, translate(80vw, 100vh) rotate(30deg));opacity:0}}.card--top{cursor:default}.card--lower{cursor:pointer}.card--lower *{pointer-events:none}.card__inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.55,-.05,.4,1.02)}.card.is-flipped .card__inner{transform:rotateY(180deg)}.card__face{position:absolute;inset:0;border-radius:16px;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--parchment)}.card__face--back{transform:rotateY(180deg)}.card__face--front{pointer-events:auto}.card__face--back,.card.is-flipped .card__face--front{pointer-events:none}.card.is-flipped .card__face--back{pointer-events:auto}.card__frame{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.card__portrait{position:absolute;top:16.5%;left:13%;right:13%;height:49%;z-index:1;overflow:hidden;background:#e9dcb6;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 100%)}.card__portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}.card__portrait--initial{display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff8e1,#d8c890 70%,#a98b4a);font-family:Cormorant Garamond,serif;font-style:italic;font-weight:700;color:#6e5a3c;font-size:38cqw;line-height:1;text-shadow:0 1px 0 #fff8e1,0 2px 4px rgba(0,0,0,.15)}.card__close{position:absolute;top:-.65rem;right:-.65rem;z-index:8;width:2.25rem;height:2.25rem;border-radius:999px;background:#f7f2e8eb;border:1px solid rgba(42,33,24,.18);box-shadow:0 8px 20px #0a090740;font-size:1.35rem;line-height:1;color:var(--ink-soft);cursor:pointer;padding:0}.card__close:hover{color:var(--foxglove)}.card__nameplate{position:absolute;top:6.7%;left:17%;right:17%;height:12%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 2cqw}.card__name{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;font-size:clamp(16px,6.4cqw,28px);line-height:1;color:var(--ink);letter-spacing:.005em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.card__epithet{font-family:EB Garamond,serif;font-style:italic;font-weight:400;font-size:clamp(8.5px,2.6cqw,11.5px);color:var(--ink-soft);letter-spacing:.04em;margin:0}.card__panel{position:absolute;inset:65% 15% 13%;z-index:3;display:flex;flex-direction:column;gap:1.6cqw;padding:3%;overflow:hidden}.card__description{font-family:EB Garamond,serif;font-size:clamp(10px,3.4cqw,13.5px);line-height:1.32;color:var(--ink);text-wrap:pretty;hyphens:auto;text-indent:0;max-height:3.96em;overflow:hidden;flex:0 0 auto;margin:0}.card__description:first-letter{font-family:Cormorant Garamond,serif;font-weight:700;font-size:1.35em;line-height:.95;margin-right:.05em}.card__relations{font-family:EB Garamond,serif;font-size:clamp(10.5px,3.2cqw,13px);line-height:1.4;color:var(--ink);flex:1 1 auto;min-height:0;overflow:visible}.card__relations-label{display:block;font-family:Cormorant Garamond,serif;font-variant-caps:all-small-caps;letter-spacing:.18em;font-size:.82em;color:var(--ink-soft);margin-bottom:.3cqw}.card__relation{background:none;border:none;padding:0;font:inherit;appearance:none;-webkit-appearance:none;font-family:EB Garamond,serif;font-size:inherit;color:var(--ink);text-decoration:none;border-bottom:1px dotted rgba(58,44,28,.55);cursor:pointer;white-space:nowrap;transition:color .14s ease,border-color .14s ease}.card__relation:hover{color:var(--foxglove);border-bottom-color:var(--foxglove)}.card__relation-role{font-family:Cormorant Garamond,serif;font-style:italic;font-variant-caps:all-small-caps;letter-spacing:.08em;color:var(--ink-soft);font-size:.86em;margin-left:.18em}.card__relation-role:before{content:"("}.card__relation-role:after{content:")"}.card__relations-list{display:inline}.card__relations-sep{color:var(--ink-soft);margin:0 .12em;white-space:normal}.card__flip{align-self:flex-end;margin-top:auto;background:none;border:none;font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(9.5px,2.8cqw,12px);color:var(--ink-soft);letter-spacing:.04em;border-bottom:1px dotted rgba(110,90,60,.55);padding:0 0 1px;cursor:pointer;transition:color .14s ease,border-color .14s ease}.card__flip:hover{color:var(--foxglove);border-bottom-color:var(--foxglove)}.card__nameplate--back{top:5.5%;left:24%;right:24%;height:8%}.card__name--back{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;font-size:clamp(13px,4.7cqw,19px);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card__back-body{position:absolute;inset:19% 17% 22%;z-index:3;display:flex;flex-direction:column;justify-content:space-between;padding:2% 1%}.card__back-text{font-family:Caveat,cursive;font-weight:500;font-size:clamp(16px,5.4cqw,23px);line-height:1.2;color:var(--ink);letter-spacing:.005em;text-shadow:0 0 .4px rgba(58,44,28,.3);margin:0}.card__flip--back{font-family:Caveat,cursive;font-style:normal;font-size:clamp(13px,3.8cqw,17px);letter-spacing:.02em}.card--loading{background:var(--parchment);border-radius:16px;opacity:.65}.card__skeleton{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:200% 100%;animation:card-skeleton-pulse 1.6s ease-in-out infinite;border-radius:16px}@keyframes card-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:520px){.card-overlay-root{--card-w: min(90vw, calc((100dvh - 4.5rem) * 2 / 3));padding-inline:.75rem}}
