@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-normal-o8fRvAFQ.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-normal-DG8lny6_.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-normal-DDLP67lu.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-400-normal-C0kVTdou.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-normal-K8pwR3tn.woff2) format("woff2"),url(/assets/eb-garamond-greek-ext-400-normal-BaZl8BIK.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-normal-CVAbzS9p.woff2) format("woff2"),url(/assets/eb-garamond-greek-400-normal-d4JlP2QH.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-normal-CLvJdMEL.woff2) format("woff2"),url(/assets/eb-garamond-vietnamese-400-normal-ifvNSiWx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-normal-o4A__6QZ.woff2) format("woff2"),url(/assets/eb-garamond-latin-ext-400-normal-B4EmgUmt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2) format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-italic-Bz1w3xqM.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-italic-CYS3phfl.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-italic-BGIwiowF.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-400-italic-BZInx2ys.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-italic-CHZOQEtG.woff2) format("woff2"),url(/assets/eb-garamond-greek-ext-400-italic-BL1XYHtS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-italic-Dqr5KC66.woff2) format("woff2"),url(/assets/eb-garamond-greek-400-italic-BamGE6QP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-italic-DQ8HKnks.woff2) format("woff2"),url(/assets/eb-garamond-vietnamese-400-italic-ORtyMVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-italic-V7s3nWfX.woff2) format("woff2"),url(/assets/eb-garamond-latin-ext-400-italic-DUSsnRSD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-italic-DSEbMgZu.woff2) format("woff2"),url(/assets/eb-garamond-latin-400-italic-CDFyLPXJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-ext-500-normal-DcO3I2lp.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-ext-500-normal-I3TfTkSf.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-500-normal-c5LjvaqX.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-500-normal-CLHyttEY.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-ext-500-normal-DkhmZW4r.woff2) format("woff2"),url(/assets/eb-garamond-greek-ext-500-normal-CMJ7zNBO.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-500-normal-BtA0fbXC.woff2) format("woff2"),url(/assets/eb-garamond-greek-500-normal-BjSCMh1N.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-vietnamese-500-normal-BCT1_K6u.woff2) format("woff2"),url(/assets/eb-garamond-vietnamese-500-normal-B0TRhMco.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-ext-500-normal-BFuc0jzo.woff2) format("woff2"),url(/assets/eb-garamond-latin-ext-500-normal-obw7ZvB_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2) format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-cyrillic-ext-600-normal-cjIjEMm6.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-ext-600-normal-b6vuEf1e.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-cyrillic-600-normal-CHfC3jm-.woff2) format("woff2"),url(/assets/eb-garamond-cyrillic-600-normal-koFutDBv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-greek-ext-600-normal-B6KG6Acg.woff2) format("woff2"),url(/assets/eb-garamond-greek-ext-600-normal-DzPSPp8W.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-greek-600-normal--vWuDlyL.woff2) format("woff2"),url(/assets/eb-garamond-greek-600-normal-JScKXZBq.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-vietnamese-600-normal-Dmi8L14S.woff2) format("woff2"),url(/assets/eb-garamond-vietnamese-600-normal-DgZMCD0h.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-ext-600-normal-CrweTMKz.woff2) format("woff2"),url(/assets/eb-garamond-latin-ext-600-normal-CoWPx8v4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-600-normal-DHwxsLHv.woff2) format("woff2"),url(/assets/eb-garamond-latin-600-normal-xCe6GkOx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}:root{color-scheme:dark;--ink-page: #16130f;--ink-glow: #241e15;--ink-surface: #211c15;--ink-border: #3a3226;--parchment: #e9dfc8;--gold: #b3762f;--gold-bright: #d79a4a;--oxblood: #8c2f1b;--text-primary: #ece4d2;--text-secondary: #a99f8a}:root[data-theme=light]{color-scheme:light;--ink-page: #faf6ec;--ink-glow: #f0e8d5;--ink-surface: #f3edde;--ink-border: #d9cdb2;--text-primary: #2b241a;--text-secondary: #6f6450}html,body,#root{height:100%;margin:0}body{font-family:EB Garamond,Georgia,serif;background:var(--ink-page);color:var(--text-primary);overflow:hidden}.app{position:relative;height:100%;background:radial-gradient(ellipse 70% 60% at 50% 45%,var(--ink-glow),var(--ink-page) 75%)}.globe-scene{position:absolute;top:0;right:0;bottom:0;left:0}.globe-scene canvas{touch-action:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 62% 58% at 50% 45%,transparent 42%,rgba(15,12,8,.55) 100%);opacity:0;transition:opacity .9s ease}.app.is-performing:after,.app.is-focused:after{opacity:1}.timeline,.header-search-row{transition:opacity .8s ease}.app.is-focused .header,.app.is-focused .timeline,.app.is-focused .writer-panel,.app.is-focused .reading-anchor{opacity:0;pointer-events:none}.app.is-focused .timeline-play:not(.timeline-eye){opacity:0;pointer-events:none}.timeline-play{transition:opacity .8s ease,background .15s,border-color .15s,color .15s}.overlay>*{pointer-events:auto}.year{font-feature-settings:"lnum";font-variant-numeric:tabular-nums}button{font-family:inherit;font-feature-settings:"lnum";cursor:pointer}button:focus{outline:none}button:focus-visible{outline:1.5px solid var(--gold);outline-offset:2px}.text-button{background:none;border:none;color:var(--text-secondary);font-size:1rem;letter-spacing:.03em;padding:.35rem .6rem;transition:color .15s}.text-button:hover{color:var(--gold-bright)}.header{position:relative;z-index:30;display:flex;align-items:baseline;justify-content:space-between;padding:1.25rem 2rem 0}.header-title{font-size:1.5rem;font-weight:400;letter-spacing:.03em;color:var(--text-secondary);margin:0}.header-nav{display:flex;gap:.5rem;align-items:baseline}.timeline-dock{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem}.timeline{width:min(900px,calc(100vw - 6rem));background:color-mix(in srgb,var(--ink-surface) 88%,transparent);border:1px solid var(--ink-border);border-radius:8px;padding:.75rem 1.25rem .6rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.timeline-actions{display:flex;flex-direction:column;gap:.5rem}.timeline-play{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;border:1px solid var(--ink-border);background:color-mix(in srgb,var(--ink-surface) 88%,transparent);color:var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .15s}.timeline-play svg{width:19px;height:19px}.timeline-play:hover,.timeline-play.is-touring{border-color:var(--gold);background:var(--gold);color:var(--ink-page)}.timeline-readout{text-align:center;font-size:1.05rem;color:var(--gold-bright);letter-spacing:.05em;margin-bottom:.4rem}.timeline-track{position:relative;height:48px;touch-action:none}.timeline-histogram{position:absolute;top:0;left:0;width:100%;height:37px;display:block}.timeline-window{position:absolute;top:0;height:37px;background:color-mix(in srgb,var(--gold) 10%,transparent);cursor:grab}.timeline-window:active{cursor:grabbing}.timeline-handle{position:absolute;top:29px;width:18px;height:18px;transform:translate(-50%);border-radius:50%;border:2px solid var(--ink-surface);background:var(--gold);box-shadow:0 0 0 1.5px var(--gold);padding:0;cursor:ew-resize;transition:transform .12s,background .12s}.timeline-handle:hover,.timeline-handle:focus-visible{background:var(--gold-bright);box-shadow:0 0 0 1.5px var(--gold-bright);transform:translate(-50%) scale(1.15);outline:none}.timeline-eras{display:flex;justify-content:space-between;margin-top:.35rem}.timeline-era{background:none;border:none;color:var(--text-secondary);font-size:.85rem;font-style:italic;padding:.1rem .3rem;transition:color .15s}.timeline-era:hover{color:var(--gold-bright)}.timeline-era.is-live{color:var(--gold-bright);font-weight:600}.writer-panel{position:absolute;top:5.5rem;right:1.5rem;bottom:8.5rem;width:min(380px,calc(100vw - 3rem));background:color-mix(in srgb,var(--ink-surface) 94%,transparent);border:1px solid var(--ink-border);border-radius:8px;padding:1rem 1.25rem;overflow-y:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.writer-panel-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink-border);padding-bottom:.5rem;margin-bottom:.75rem}.writer-panel-title{font-size:1.2rem;font-weight:500;margin:0}.writer-list{list-style:none;margin:0;padding:0}.writer-list-item{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;background:none;border:none;border-bottom:1px solid color-mix(in srgb,var(--ink-border) 50%,transparent);color:var(--text-primary);font-size:1rem;text-align:left;padding:.45rem .2rem;transition:color .15s}.writer-list-item:hover .writer-list-name{color:var(--gold-bright)}.writer-list-years{color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.writer-card-name{font-size:1.5rem;font-weight:500;font-style:italic;margin:.25rem 0}.writer-card-meta{color:var(--text-secondary);margin:0 0 .75rem}.writer-card-description{line-height:1.5;margin:0 0 1rem}.writer-card-actions{display:flex;gap:1rem;align-items:center}.writer-card-link{color:var(--gold);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--gold) 50%,transparent)}.writer-card-link:hover{color:var(--gold-bright)}.writer-card-license{margin-left:.7rem;font-size:.78rem;color:var(--text-secondary);text-decoration:underline}.primary-button{background:none;border:1px solid var(--gold);border-radius:4px;color:var(--gold);font-size:.95rem;padding:.3rem .8rem;transition:all .15s}.primary-button:hover{border-color:var(--gold-bright);color:var(--gold-bright)}.city-tooltip{position:fixed;display:flex;flex-direction:column;gap:.1rem;background:color-mix(in srgb,var(--ink-surface) 95%,transparent);border:1px solid var(--ink-border);border-radius:6px;padding:.45rem .7rem;pointer-events:none;z-index:10}.city-tooltip-name{font-weight:500}.city-tooltip-detail{color:var(--text-secondary);font-size:.85rem}.dialog{background:var(--ink-surface);border:1px solid var(--ink-border);border-radius:8px;color:var(--text-primary);font-family:inherit;max-width:480px;padding:1.5rem 2rem;line-height:1.55;text-align:center}.dialog:focus,.dialog:focus-visible{outline:none}.dialog .suggest-form{text-align:left}.dialog::backdrop{background:#0a080599;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-title{font-size:1.4rem;font-weight:500;margin:0 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid var(--gold);display:inline-block}.dialog-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1rem}.dialog-close{position:absolute;top:.85rem;right:.85rem;display:flex;padding:.35rem;background:none;border:none;color:var(--text-secondary);transition:color .15s}.dialog-close:hover{color:var(--gold-bright)}.suggest-form{display:flex;flex-direction:column;gap:.75rem}.suggest-form-note{color:var(--text-secondary);font-size:.95rem;margin:0}.suggest-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.95rem;color:var(--text-secondary);flex:1}.suggest-form input,.suggest-form textarea{background:var(--ink-page);border:1px solid var(--ink-border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:1rem;font-feature-settings:"lnum";padding:.4rem .6rem}.suggest-form input:focus,.suggest-form textarea:focus{border-color:var(--gold);outline:none}.suggest-form-row{display:flex;gap:.75rem}.suggest-tick{display:block;margin:.75rem auto .25rem}.suggest-tick circle{stroke-dasharray:176;stroke-dashoffset:176;animation:tick-draw .6s ease-out forwards}.suggest-tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:tick-draw .35s ease-out .45s forwards}@keyframes tick-draw{to{stroke-dashoffset:0}}.suggest-form-warning{color:var(--gold-bright);font-style:italic;font-size:.95rem;margin:0}.suggest-form-optional{font-style:italic}.import-file{display:block;border:1px dashed var(--gold);border-radius:6px;color:var(--gold);text-align:center;padding:1.1rem;margin:1rem 0;cursor:pointer;transition:all .15s}.import-file:hover{background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--gold-bright)}.import-file input{display:none}.import-subtitle{font-style:italic;font-weight:500;font-size:.98rem;color:var(--text-primary);margin:1.1rem 0 .3rem}.import-names{color:var(--text-secondary);font-size:.92rem;line-height:1.5;max-height:180px;overflow-y:auto}.import-clear{padding:0;font-size:inherit;text-decoration:underline}.primary-button:disabled{opacity:.45;cursor:not-allowed}.header-brand{display:flex;align-items:center;gap:.6rem}.logo{flex-shrink:0;translate:0 -2px}.header-search-row{position:relative;display:flex;align-items:center;gap:.5rem;flex:0 1 360px;margin:0 1.5rem}.search{position:relative;flex:1}.search-dice{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);padding:.3rem;transition:color .15s,transform .15s}.search-dice:hover{color:var(--gold-bright);transform:translateY(-50%) rotate(15deg)}.filter-pill{flex-shrink:0;background:color-mix(in srgb,var(--ink-surface) 80%,transparent);border:1px solid var(--ink-border);border-radius:18px;color:var(--text-secondary);font-size:.9rem;padding:.4rem .9rem;transition:all .15s;white-space:nowrap}.filter-pill:hover{border-color:var(--gold);color:var(--gold-bright)}.search-input{width:100%;background:color-mix(in srgb,var(--ink-surface) 80%,transparent);border:1px solid var(--ink-border);border-radius:18px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.4rem 2.2rem .4rem 1rem}.search-input::placeholder{color:var(--text-secondary);font-style:italic}.search-input:focus{border-color:var(--gold);outline:none}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;list-style:none;margin:0;padding:.25rem;background:var(--ink-surface);border:1px solid var(--ink-border);border-radius:8px;z-index:20}.search-result{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;background:none;border:none;border-radius:5px;color:var(--text-primary);font-size:.95rem;text-align:left;padding:.4rem .6rem}.search-result.is-highlighted{background:color-mix(in srgb,var(--gold) 16%,transparent)}.search-result-years{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.filters-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 3rem));max-height:min(68vh,560px);overflow-y:auto;background:color-mix(in srgb,var(--ink-surface) 94%,transparent);border:1px solid var(--ink-border);border-radius:8px;padding:1rem 1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:15;transform-origin:top right;animation:unfurl .22s ease-out}.filters-group{border:none;margin:0 0 .9rem;padding:0}.filters-group legend{color:var(--text-secondary);font-size:.85rem;font-style:italic;padding:0;margin-bottom:.4rem}.filters-chips{display:flex;flex-wrap:wrap;gap:.4rem}.filter-chip{background:none;border:1px solid var(--ink-border);border-radius:14px;color:var(--text-secondary);font-size:.85rem;padding:.2rem .7rem;text-transform:capitalize;transition:all .15s}.filter-chip:hover{border-color:var(--gold);color:var(--gold-bright)}.filter-chip.is-active{background:var(--gold);border-color:var(--gold);color:var(--ink-page)}.country-select{position:relative}.country-select-button{width:100%;text-align:left;background-color:var(--ink-page);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23b3762f' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:12px;border:1px solid var(--ink-border);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.4rem 2rem .4rem .6rem}.country-select-button:hover{border-color:var(--gold)}.country-select-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:225px;overflow-y:auto;list-style:none;margin:0;padding:.25rem;background:var(--ink-surface);border:1px solid var(--ink-border);border-radius:6px;box-shadow:0 8px 22px #0a080540;z-index:25;transform-origin:top;animation:unfurl .16s ease-out}.country-select-option{display:block;width:100%;text-align:left;background:none;border:none;border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.35rem .6rem}.country-select-option.is-highlighted{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold-bright)}.country-select-option[aria-selected=true]{color:var(--gold)}.filters-clear{padding-left:0}.writer-card-portrait{float:right;width:84px;max-height:110px;object-fit:cover;margin:.25rem 0 .5rem .75rem;border:1px solid var(--ink-border);border-radius:4px;filter:sepia(.25)}.writer-card-occupations{color:var(--gold);font-size:.9rem;font-style:italic;margin:-.4rem 0 .75rem}.writer-card-works{margin-bottom:1rem}.writer-card-works-title{color:var(--text-secondary);font-size:.85rem;font-style:italic;font-weight:500;margin:0 0 .3rem}.writer-card-works ul{list-style:none;margin:0;padding:0}.writer-card-works li{padding:.15rem 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 55%,var(--ink-border));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}@keyframes settle-in{0%{opacity:0;transform:translateY(-14px)}}@keyframes rise-in-dock{0%{opacity:0;transform:translate(-50%,18px)}to{transform:translate(-50%)}}.header{animation:settle-in .8s ease-out both}.timeline-dock{animation:rise-in-dock .8s ease-out .25s both}@keyframes unfurl{0%{opacity:0;transform:translateY(-8px) scaleY(.96)}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}@keyframes fade-in{0%{opacity:0}}.search-results{transform-origin:top;animation:unfurl .18s ease-out}.writer-panel,.dialog[open]{animation:rise-in .25s ease-out}.dialog[open]::backdrop{animation:fade-in .25s ease-out}.dialog--closing[open]{animation:dialog-out .2s ease-in forwards}.dialog--closing[open]::backdrop{animation:backdrop-out .2s ease-in forwards}@keyframes dialog-out{to{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes backdrop-out{to{opacity:0}}.city-tooltip{animation:fade-in .12s ease-out}.menu{position:relative}.menu-button{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);padding:.35rem .5rem;transition:color .15s}.menu-button:hover,.menu-button[aria-expanded=true]{color:var(--gold-bright)}.filters-anchor{display:contents}.menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:215px;background:var(--ink-surface);border:1px solid var(--ink-border);border-radius:8px;padding:.35rem;z-index:20;transform-origin:top right;animation:unfurl .2s ease-out}.menu-item{display:flex;align-items:center;gap:.65rem;width:100%;background:none;border:none;border-radius:5px;color:var(--text-primary);font-family:inherit;font-size:.98rem;text-align:left;text-decoration:none;padding:.5rem .7rem;transition:background .15s}.menu-item:hover{background:color-mix(in srgb,var(--gold) 14%,transparent)}.menu-item svg{color:var(--gold);flex-shrink:0}.globe-pill{display:flex;align-items:center;flex-shrink:0;background:color-mix(in srgb,var(--ink-surface) 80%,transparent);border:1px solid var(--ink-border);border-radius:18px;color:var(--text-secondary);padding:.42rem .65rem;transition:all .15s}.globe-pill:hover,.globe-pill[aria-expanded=true]{border-color:var(--gold);color:var(--gold-bright)}.menu-section{padding:.35rem .7rem}.menu-section-label{display:block;font-size:.8rem;font-style:italic;color:var(--text-secondary);margin-bottom:.3rem}.menu-options{display:flex;flex-wrap:wrap;gap:.35rem}.menu-option{background:none;border:1px solid var(--ink-border);border-radius:12px;color:var(--text-secondary);font-size:.85rem;padding:.15rem .6rem;transition:all .15s}.menu-option:hover:not(:disabled){border-color:var(--gold);color:var(--gold-bright)}.menu-option.is-active{background:var(--gold);border-color:var(--gold);color:var(--ink-page)}.menu-option:disabled{opacity:.5;cursor:not-allowed}.menu-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:0;transition:transform .15s}.menu-swatch:hover{transform:scale(1.15)}.menu-swatch.is-active{border-color:var(--text-primary)}.menu-divider{height:1px;background:var(--ink-border);margin:.35rem .5rem}.menu-theme{display:flex;justify-content:center;padding:.4rem 0 .3rem}.theme-toggle{position:relative;display:inline-flex;align-items:center;background:color-mix(in srgb,var(--ink-page) 55%,transparent);border:1px solid var(--ink-border);border-radius:16px;padding:2px}.theme-toggle:hover{border-color:var(--gold)}.theme-thumb{position:absolute;left:2px;top:2px;width:32px;height:24px;border-radius:12px;background:var(--gold);transition:transform .25s ease}.theme-toggle.is-dark .theme-thumb{transform:translate(32px)}.theme-side{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:24px;color:var(--text-secondary);transition:color .25s}.theme-side.is-active{color:var(--ink-page)}.header,.writer-panel,.city-tooltip,.reading-anchor{transition:opacity .8s ease}.app.is-performing .header,.app.is-performing .writer-panel,.app.is-performing .city-tooltip,.app.is-performing .reading-anchor{opacity:.1;pointer-events:none}.timeline-window,.timeline-handle{transition:opacity .5s ease}.app.is-performing .timeline-window,.app.is-performing .timeline-handle{opacity:0;pointer-events:none}@keyframes caption-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.journey-caption{position:absolute;bottom:10rem;left:50%;transform:translate(-50%);font-size:1.45rem;font-style:italic;color:var(--gold-bright);letter-spacing:.04em;text-shadow:0 1px 12px rgba(15,12,8,.65);pointer-events:none;animation:caption-in .45s ease-out both}.reading-anchor{position:absolute;top:5.5rem;left:1.5rem}.reading-panel-more{display:block;margin:.3rem auto 0;font-size:.85rem}.reading-insights{padding-bottom:.55rem;border-bottom:1px solid var(--ink-border);margin-bottom:.55rem}.reading-stats{text-align:center;font-size:.92rem;color:var(--text-primary);margin:0}.reading-stats-names{text-align:center;margin:.15rem 0 0;font-size:.84rem;font-style:italic;color:var(--text-secondary)}.reading-suggestion .text-button{font-size:inherit;font-style:inherit;padding:0;text-decoration:underline}.journey-control{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.3rem .7rem;background:color-mix(in srgb,var(--ink-surface) 85%,transparent);border:1px solid var(--ink-border);border-radius:18px;color:var(--text-secondary);font-size:.85rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .15s}.journey-control:hover{border-color:var(--gold);color:var(--gold-bright)}.reading-panel{position:absolute;top:calc(100% + 8px);left:0;width:min(340px,calc(100vw - 3rem));max-height:min(55vh,460px);overflow-y:auto;background:color-mix(in srgb,var(--ink-surface) 94%,transparent);border:1px solid var(--ink-border);border-radius:8px;padding:.75rem 1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;transform-origin:top left;animation:unfurl .2s ease-out}.reading-panel-actions{display:flex;align-items:center;justify-content:center;gap:.45rem;padding-bottom:.6rem;border-bottom:1px solid var(--ink-border);margin-bottom:.55rem}.reading-panel-actions .journey-control{display:inline-flex;align-items:center;gap:.35rem}.reading-panel-list{list-style:none;margin:0;padding:0}.reading-panel-name{display:flex;flex-direction:column;gap:.1rem}.reading-panel-place{color:var(--text-secondary);font-size:.85rem}.reading-pill{white-space:nowrap;background:color-mix(in srgb,var(--ink-surface) 85%,transparent);border:1px solid var(--ink-border);border-radius:18px;color:var(--text-secondary);font-size:.9rem;font-style:italic;padding:.35rem .9rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .15s;animation:settle-in .6s ease-out both}.reading-pill:hover{border-color:var(--gold);color:var(--gold-bright)}.reading-pill.is-active{background:var(--gold);border-color:var(--gold);color:var(--ink-page)}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;background:radial-gradient(ellipse 70% 60% at 50% 45%,var(--ink-glow),var(--ink-page) 75%);opacity:1;transition:opacity .3s ease}.loading-screen--exiting{opacity:0}.loading-label{color:var(--text-secondary);font-size:1.05rem;font-style:italic;letter-spacing:.04em;margin:0}.status-note{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-secondary);font-style:italic;font-size:1.1rem;pointer-events:none}.scene-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-style:italic;font-size:1.1rem}@media (max-width: 760px){.header{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem 0}.header-title{font-size:1.25rem}.header-search-row{order:3;flex:1 1 100%;margin:0}.header-nav{margin-left:auto;gap:.1rem}.reading-anchor{top:6.4rem;left:1rem}.text-button{font-size:.9rem;padding:.3rem .4rem}.timeline-dock{bottom:.75rem}.timeline{width:min(900px,calc(100vw - 5rem));padding:.5rem .75rem}.timeline-eras{display:none}.timeline-readout{font-size:.95rem;margin-bottom:.25rem}.writer-panel{top:auto;right:.75rem;left:.75rem;bottom:7.5rem;width:auto;max-height:45vh}.filters-panel{left:0;right:0;width:auto}.city-tooltip{display:none}.dialog{max-width:calc(100vw - 2rem);padding:1.25rem 1.5rem}.suggest-form-row{flex-direction:column;gap:.75rem}}
