:root{--paper: #f9f7f0;--ink: #1a1e1f;--ink-soft: rgba(26, 30, 31, .65);--glass: rgba(255, 255, 255, .45);--glass-border: rgba(255, 255, 255, .4);--accent: #d4a373}html{margin:0;padding:0;height:auto;overflow-y:scroll}body{margin:0;padding:0;background-color:var(--paper);color:var(--ink);font-family:Georgia,serif;-webkit-font-smoothing:antialiased;min-height:100vh}.tapestry-app{position:relative;min-height:100vh;z-index:0}.story-root{position:relative;z-index:1}.story-scroll-track{position:relative;width:100%;pointer-events:none}.scene-viewport{position:fixed;inset:0;overflow:hidden;z-index:10;pointer-events:none;background-color:var(--paper)}.scene-slot{position:absolute;inset:0;pointer-events:none}.scene-background{height:100%;width:100%;display:flex;flex-direction:column;padding:4rem;box-sizing:border-box;overflow:hidden;position:relative;pointer-events:none}.scene-bg-color{position:absolute;inset:0;pointer-events:none}.watercolor-layer{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none}.watercolor-layer.splotch{mix-blend-mode:multiply}.scene-card{position:relative;max-width:800px;width:90%;padding:0;pointer-events:auto;z-index:100}.scene-card.placement-top{margin-top:4rem;margin-bottom:auto}.scene-card.placement-bottom{margin-top:auto;margin-bottom:4rem}.scene-card h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,4.5rem);font-weight:400;font-style:italic;margin:0 0 1.5rem;line-height:1.1;color:var(--ink);text-shadow:0 0 20px var(--paper),0 0 40px var(--paper)}.scene-header{display:flex;justify-content:flex-start;gap:1.5rem;align-items:center;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.25em;font-family:Georgia,serif;font-size:.8rem;font-weight:400;color:#5c625e}.scene-prose{font-family:Georgia,serif;font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:2;letter-spacing:.02em;color:var(--ink);margin:0;font-weight:400;max-width:55ch;text-shadow:0 0 15px var(--paper);background:#ffffff40;backdrop-filter:blur(2px);padding:.5rem}.scene-footer{margin-top:2rem;display:flex;align-items:center}.character-tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;padding:.5rem 0;border-bottom:2px solid var(--ink);opacity:.6}.hamburger{position:fixed;top:2rem;left:2rem;z-index:9999!important;width:3.5rem;height:3.5rem;background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 20px #0000000d;gap:5px;pointer-events:auto}.hamburger span{display:block;width:20px;height:2px;background:var(--ink);transition:opacity .3s ease,transform .3s ease}.date-indicator{position:fixed;bottom:2rem;right:2rem;z-index:9998;font-family:Georgia,serif;font-size:.85rem;color:#5c625e;letter-spacing:.15em;text-transform:uppercase;pointer-events:none}.flyout{position:fixed;inset:0 auto 0 0;z-index:9998!important;width:min(420px,90vw);background:#f9f7f0fa;backdrop-filter:blur(20px);border-right:1px solid rgba(0,0,0,.08);transform:translate(-100%);transition:transform .6s cubic-bezier(.23,1,.32,1);padding:8rem 2.5rem 3rem;box-shadow:20px 0 60px #0000000d;display:flex;flex-direction:column;pointer-events:auto}.flyout.open{transform:translate(0)}.progress-bar-container{position:fixed;top:0;left:0;width:100%;height:4px;background:#0000000d;z-index:10000;pointer-events:none}.progress-bar-fill{height:100%;background:var(--ink);width:0%;transition:width .1s linear}@media(max-width:768px){.scene-background{padding:2rem;justify-content:center}.scene-card{width:100%;max-width:none;text-align:center}.scene-card.placement-top,.scene-card.placement-bottom{margin-top:auto;margin-bottom:auto}.scene-card h1{font-size:2.5rem;margin-bottom:1rem}.scene-header{justify-content:center;font-size:.7rem;margin-bottom:1.5rem;gap:1rem}.scene-prose{font-size:1.2rem;line-height:1.6;margin:0 auto;background:#fff6}.scene-footer{justify-content:center;margin-top:1.5rem}.hamburger{top:1.5rem;left:1.5rem;width:3rem;height:3rem}.date-indicator{bottom:1.5rem;right:1.5rem;font-size:.75rem}.watercolor-layer{background-position:50% 40%}}@media(max-width:480px){.scene-background{padding:1.5rem}.scene-card h1{font-size:2.2rem}.scene-prose{font-size:1.1rem}}.timeline-scrubber{color:var(--ink);font-family:Georgia,serif;margin-top:2rem}.timeline-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.3em;opacity:.4;margin-bottom:3rem;font-weight:400}.timeline-slider-wrapper{margin-bottom:4rem}.timeline-range-label{display:block;font-size:.8rem;letter-spacing:.1em;color:#5c625e;margin-bottom:1.5rem;text-transform:uppercase}.slider-container{position:relative;width:100%}.modern-range{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:#1a1e1f26;outline:none;border-radius:2px;cursor:pointer;position:relative;z-index:2}.modern-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--ink);border-radius:50%;cursor:pointer;box-shadow:0 0 0 10px #1a1e1f0d;transition:transform .2s ease,box-shadow .2s ease}.modern-range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 15px #1a1e1f14}.timeline-markers{position:absolute;top:50%;left:0;width:100%;height:0;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none;z-index:1}.timeline-dot{width:4px;height:4px;background:#1a1e1f33;border-radius:50%;transition:all .3s ease;pointer-events:auto;cursor:pointer}.timeline-dot.active{background:var(--ink);transform:scale(1.5)}.timeline-dot:hover{background:var(--accent);transform:scale(1.8)}.chapter-list-wrapper{overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 16rem)}.timeline-chapters h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;opacity:.5;margin-bottom:2rem;font-weight:400;border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:.5rem}.chapter-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}.chapter-item{display:flex;align-items:flex-start;gap:1.5rem;cursor:pointer;padding:.5rem 0;transition:opacity .3s ease,transform .3s ease;opacity:.6}.chapter-item:hover{opacity:1;transform:translate(10px)}.chapter-item.active{opacity:1}.chapter-dot{width:6px;height:6px;border:1px solid var(--ink);border-radius:50%;margin-top:.4rem;transition:background-color .3s ease}.chapter-item.active .chapter-dot{background-color:var(--ink);box-shadow:0 0 0 4px #1a1e1f0d}.chapter-info{display:flex;flex-direction:column;gap:.2rem}.chapter-name{font-size:1.25rem;font-style:italic;display:block}.chapter-years{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;opacity:.4}.scroll-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:0;z-index:9997;opacity:0;pointer-events:none;transition:opacity 1.5s ease-in-out,transform 1.5s ease-in-out;font-weight:700;text-shadow:.1em 0 5px rgb(255,255,255),0 .1em 5px rgb(255,255,255),-.1em 0 5px rgb(255,255,255),0 -.1em 5px rgb(255,255,255)}.scroll-hint.visible{opacity:.75}.scroll-text{font-family:Georgia,serif;font-size:1rem;font-style:italic;letter-spacing:.05em;color:var(--ink);mix-blend-mode:difference}.scroll-arrow{font-size:1.5rem;color:var(--ink);animation:bounceHint 2s infinite ease-in-out;mix-blend-mode:difference}@keyframes bounceHint{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@media(max-width:768px){.scroll-hint{bottom:5rem}}
