@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-italic-O70d2LGK.woff2) format("woff2"),url(/assets/fraunces-latin-600-italic-BlP2rMdV.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff) format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-normal-Dn3IlU-Z.woff) format("woff")}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-italic-Dv9jnFA_.woff) format("woff")}:root{--surface: rgba(20, 18, 15, .6);--surface-strong: rgba(20, 18, 15, .86);--blur: blur(14px) saturate(1.2);--line: rgba(255, 236, 200, .14);--ink: #f3ead8;--ink-soft: rgba(243, 234, 216, .72);--ink-faint: rgba(243, 234, 216, .68);--accent: #e2b86b;--display: Fraunces, Georgia, serif;--read: "Source Serif 4", Georgia, serif;--ui: "Source Sans 3", system-ui, sans-serif;--radius: 14px;--shadow: 0 10px 40px rgba(0, 0, 0, .35);--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--vv-bottom: 0px;--bar-h: 96px;--sheet-h: 0px;color:var(--ink);background:#071016;font:400 15px/1.45 var(--ui)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#071016;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0}.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.glass{background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink)}.glass.solid{background:var(--surface-strong)}.mapwrap{position:fixed;inset:0;background:#071016;touch-action:none}#map{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.finds{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}button.find{position:absolute;transform:translate(6px,-50%);min-width:44px;min-height:44px;padding:0 8px 0 12px;display:flex;align-items:center;gap:6px;pointer-events:none;touch-action:none;color:var(--ink);text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.85)}.find-dot{position:absolute;left:-10px;top:50%;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #071016bf}.find-label{max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 13px var(--ui)}.find.seat .find-dot,.find.town .find-dot,.find.country .find-dot,.find.ghost .find-dot{display:none}.find.seat,.find.town,.find.country,.find.ghost{padding-left:2px}.find.seat .find-label{font:600 15px/1.2 "Source Serif 4",Palatino,serif;color:#f3e6c4;max-width:168px}.find.town .find-label{color:#f3ead8eb}.find.country .find-label,.find.ghost .find-label{font:italic 600 13px/1.2 "Source Serif 4",Palatino,serif;color:#e8d6b0e0}.find.war .find-label,.find.event .find-label,.find.ruin .find-label{color:#f0d7b0}.find.story .find-label{color:#ffe7b0}.story-chip{position:fixed;z-index:6;top:calc(16px + var(--safe-t));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:min(440px,calc(100vw - 460px));max-width:calc(100vw - 32px);padding:8px 8px 8px 14px;pointer-events:none}.story-chip p{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px/1.35 var(--read);color:var(--ink)}.story-chip button{flex:none;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,236,200,.35);background:#e2b86b29;font:600 13px var(--ui);color:var(--ink);touch-action:manipulation;pointer-events:auto}.digest .story-chip{position:static;inset:auto;transform:none;width:auto;max-width:none;margin:0 0 10px;padding:0 0 8px;box-shadow:none;background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line)}.intro{position:fixed;z-index:12;top:calc(78px + var(--safe-t));left:50%;transform:translate(-50%);width:min(440px,calc(100vw - 120px));padding:16px 18px 14px;pointer-events:none}.intro .kicker{margin:0 0 4px;font:600 12px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.intro h2{margin:0 0 8px;font:600 20px/1.25 var(--display)}.intro p{margin:0 0 12px;font:400 15px/1.45 var(--read);color:var(--ink-soft)}.intro button{pointer-events:auto;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,236,200,.35);background:#e2b86b29;font:600 14px var(--ui);cursor:pointer}.rulers,.growth{margin:12px 0 2px}.ruler-line{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0}.ruler-line li{display:flex;flex-direction:column;min-width:0}.ruler-name{font:600 15px/1.3 var(--read);color:var(--ink);text-align:left}.ruler-name:hover{color:var(--accent)}.ruler-years{font:400 12px var(--ui);color:var(--ink-faint)}.growth svg{width:100%;height:86px;display:block}.growth-key{display:flex;gap:16px;margin:2px 0 0;font:600 12px var(--ui);color:var(--ink-faint)}.growth-key i{display:inline-block;width:16px;height:2px;margin-right:6px;vertical-align:middle;background:var(--ink-faint)}.growth-key i.pop{background:#e2b86b}.growth-key i.land{background:#f3ead8;height:0;border-top:2px dashed #f3ead8}#chronicle-list li.lit .entry,#digest-list li.lit .entry{background:#e2b86b24;border-radius:8px}.nav-zoom{position:fixed;left:12px;bottom:calc(64px + var(--safe-b));z-index:8;display:flex;flex-direction:column;gap:8px}.nav-zoom button{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow);font:600 22px var(--ui);color:var(--ink);touch-action:manipulation}.nav-zoom button:hover{color:var(--accent)}#map.dragging{cursor:grabbing}.veil{position:absolute;inset:0;display:grid;place-items:center;background:#070a0c8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;pointer-events:none}body:has(#veil:not([hidden])) .intro,body:has(#veil:not([hidden])) .story-chip,body:has(#veil:not([hidden])) .digest.slip,body:has(#veil:not([hidden])) .digest.landing{z-index:22}.veil p{margin:0;padding:12px 18px;border-radius:14px;background:var(--surface-strong);border:1px solid var(--line);font:600 18px var(--display);color:var(--ink)}.cartouche{position:fixed;left:16px;top:calc(16px + var(--safe-t));z-index:5;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 14px;cursor:default}.mark{width:16px;height:16px;transform:rotate(45deg);border:1.5px solid var(--accent);display:grid;place-items:center;flex:none}.mark:after{content:"";width:6px;height:6px;background:var(--accent)}.cartouche .name{font:600 19px/1 var(--display);letter-spacing:.01em}.cartouche .when{display:flex;align-items:center;gap:7px;margin-top:5px;font:400 13px/1 var(--ui);color:var(--ink-soft)}.season{width:16px;height:16px;display:grid;place-items:center;color:var(--accent)}.season .i{width:16px;height:16px}.cartouche .age{position:absolute;left:0;top:calc(100% + 8px);padding:8px 12px;font:italic 400 13px var(--read);white-space:normal;max-width:min(280px,calc(100vw - 32px));opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s;pointer-events:none}.cartouche:hover .age,.cartouche:focus .age{opacity:1;transform:none}.tools{position:fixed;right:16px;top:calc(16px + var(--safe-t));z-index:5;display:flex;gap:8px}.tool{width:42px;height:42px;display:grid;place-items:center;position:relative;transition:color .15s}.tool:hover,.tool[aria-expanded=true]{color:var(--accent)}.badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#1b150c;font:700 11px/18px var(--ui);text-align:center}.toast{position:fixed;left:50%;top:calc(18px + var(--safe-t));transform:translate(-50%,-10px);z-index:6;display:flex;align-items:flex-start;gap:12px;padding:12px 16px;max-width:min(520px,calc(100vw - 32px));min-width:0;text-align:left;opacity:0;pointer-events:none;transition:opacity .5s,transform .5s}.toast.show{opacity:1;transform:translate(-50%);pointer-events:auto}.toast .i{margin-top:2px;color:var(--accent)}.toast .crest{margin-top:2px}.toast .t{font:400 15px/1.4 var(--read)}.toast .k{display:block;font:600 11px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px}.hint{position:fixed;left:50%;bottom:calc(136px + var(--safe-b));transform:translate(-50%);z-index:4;padding:8px 14px;font:400 13px var(--ui);color:var(--ink-soft);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .6s}.hint.show{opacity:1}.hint .phone{display:none}.hover-chip{position:fixed;left:16px;bottom:calc(16px + var(--safe-b));z-index:4;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:600 13px var(--ui);pointer-events:none}.hover-chip .i{width:14px;height:14px;color:var(--accent)}.minimap{position:fixed;left:16px;top:calc(92px + var(--safe-t));z-index:5;width:232px;padding:10px}.minimap canvas{display:block;width:100%;aspect-ratio:1;border-radius:8px;image-rendering:pixelated;cursor:crosshair}.mini-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;font:600 11px var(--ui);color:var(--ink-soft)}.legend li{display:flex;align-items:center;gap:6px}.legend .i{width:14px;height:14px;color:var(--accent)}.drawer{position:fixed;top:calc(84px + var(--safe-t));bottom:calc(64px + var(--safe-b));z-index:7;width:360px;display:flex;flex-direction:column;padding:16px 18px;opacity:0;pointer-events:none;transition:transform .28s ease,opacity .28s ease}.drawer.left{left:16px;transform:translate(-24px)}.drawer.right{right:16px;width:380px;transform:translate(24px)}.drawer.open{opacity:1;transform:none;pointer-events:auto}.dhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dhead h2{margin:0;font:600 18px var(--display)}.x{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--ink-soft)}.x:hover{color:var(--ink);background:#ffffff0f}.card-x{position:absolute;top:10px;right:10px;z-index:1}.note{margin:0 0 10px;font:italic 400 13px var(--read);color:var(--ink-faint)}.scroll{flex:1;min-height:0;overflow-y:auto;margin-right:-8px;padding-right:8px;overscroll-behavior:contain;mask-image:linear-gradient(to bottom,#000 calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 12px),transparent);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.grab{display:none}.chips{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:0 0 10px;scrollbar-width:none;mask-image:linear-gradient(to right,#000 calc(100% - 22px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 22px),transparent)}.chips::-webkit-scrollbar{display:none}.chips button{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,236,200,.26);font:600 12px var(--ui);color:var(--ink)}.chips button .i{width:14px;height:14px}.chips button:hover{border-color:var(--accent)}.chips button[aria-pressed=true]{color:#1b150c;background:var(--accent);border-color:var(--accent)}#chronicle-list,#digest-list{list-style:none;margin:0;padding:0 0 28px}.yr{display:flex;align-items:center;gap:6px;font:600 11px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:14px 0 6px}.yr .i{width:14px;height:14px;color:var(--accent)}.yr:first-child{padding-top:2px}.still{font:italic 400 14px var(--read);color:var(--ink-faint);padding:8px 0}.entry{display:flex;gap:10px;width:100%;margin:0 0 2px;padding:8px 6px;border-radius:8px;text-align:left;font:400 14.5px/1.45 var(--read);color:var(--ink)}.entry .i{width:16px;height:16px;margin-top:3px;color:var(--accent)}.entry .crest{width:15px;height:15px;margin-top:3px}.crest{width:16px;height:16px;flex:none;display:block;overflow:hidden}.crest title,.crest desc{display:none!important}.portrait .crest{width:100%;height:100%}.crest-slot{display:inline-flex;flex:none;align-items:center}button.entry:hover{background:#ffffff0d}.why{margin:0 6px 8px}.why-tap{padding:2px 8px;border-radius:999px;border:1px solid rgba(255,236,200,.28);font:600 11px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.why-tap:hover,.why-tap[aria-expanded=true]{color:#1b150c;background:var(--accent);border-color:var(--accent)}.why-parts{list-style:none;margin:6px 0 0;padding:0}.why-parts li{display:flex;gap:8px;align-items:baseline;margin:0;padding:3px 2px;font:400 13px/1.4 var(--read);color:var(--ink-soft)}.why-parts b{flex:none;font:600 11px var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.why-value{margin-left:auto;font:600 11px var(--ui);color:var(--ink-faint)}.entry .k{display:block;font:600 11px/1.4 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.digest{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff08}.digest-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.digest h3{margin:0 0 4px;font:600 15px var(--display)}.digest-head button{font:600 12px var(--ui);color:var(--ink-faint)}.digest-head button:hover{color:var(--accent)}.digest-head-actions{display:inline-flex;gap:10px;align-items:center}#digest-list{padding-bottom:0}.digest.landing{position:fixed;z-index:6;left:50%;top:clamp(112px,18vh,190px);transform:translate(-50%);width:min(620px,calc(100vw - 32px));max-height:min(58vh,520px,calc(50vh - clamp(112px,18vh,190px) - 12px));margin:0;padding:18px 20px;background:var(--surface-strong)}.digest.slip{position:fixed;z-index:6;left:16px;bottom:calc(76px + var(--safe-b));width:min(380px,calc(100vw - 32px));max-height:min(40vh,280px);margin:0;padding:14px 16px;background:var(--surface-strong);pointer-events:auto}.digest.slip.page{max-height:min(62vh,520px)}.digest.slip.age{max-height:min(72vh,640px);overflow:auto}.digest-scroll{max-height:calc(min(40vh,280px) - 108px);overflow:auto;overscroll-behavior:contain}.digest.landing .digest-scroll{max-height:calc(min(58vh,520px,calc(50vh - clamp(112px,18vh,190px) - 12px)) - 94px)}.digest.slip.page .digest-scroll{max-height:calc(min(62vh,520px) - 140px)}.digest.landing .digest-head h3,.digest.slip .digest-head h3{font:600 18px var(--display)}.digest-head button{white-space:nowrap}.digest-ground{margin:0 0 8px;font:400 14.5px/1.45 var(--read);color:var(--ink)}.digest-paragraph{margin:0 0 12px;font:400 16.5px/1.5 var(--read);color:var(--ink)}.digest.age .digest-paragraph{margin-bottom:4px}.digest-actors{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px 26px}.digest-actors button{padding:3px 8px;border-radius:999px;border:1px solid var(--line);font:600 12px var(--ui);color:var(--ink-soft)}.digest-actors button:hover{color:var(--accent);border-color:var(--accent)}#digest-turns>summary{cursor:pointer;margin:8px 0;padding:10px 0;font:600 13px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);list-style:none}#digest-turns>summary::-webkit-details-marker{display:none}#digest-turns>summary:before{content:"▸ "}#digest-turns[open]>summary:before{content:"▾ "}#digest-turns>summary:hover{color:var(--accent)}.digest:not(.age) #digest-turns>summary{display:none}.digest .entry .line{margin:0;border:0;padding:0;min-width:0;flex:1;overflow-wrap:break-word}.digest #digest-note{overflow-wrap:break-word}#digest-list .lead .entry{font-size:16.5px;line-height:1.45}.card-head{display:flex;gap:14px;align-items:center;padding-right:36px}.portrait{width:56px;height:56px;flex:none;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#0000004d}.portrait canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.card-head h1{margin:0;display:flex;align-items:center;gap:8px;min-width:0;font:600 22px/1.1 var(--display)}#card-name{min-width:0;overflow-wrap:anywhere}.card-head p{margin:4px 0 0;font:400 13px var(--ui);color:var(--ink-soft);overflow-wrap:anywhere}#follow{display:inline-block;margin-top:8px;font:600 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}#follow[aria-pressed=true],#follow:hover{color:var(--accent)}.crumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 36px 10px 0}.crumb button,.roster button{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);font:600 12px var(--ui);color:var(--ink-soft)}.crumb button .i,.roster button .i{width:14px;height:14px;color:var(--accent)}.crumb button:hover,.roster button:hover{color:var(--accent);border-color:var(--accent)}.glance{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 12px}.glance .g{padding:9px 4px 7px;border:1px solid var(--line);border-radius:10px;text-align:center;background:#ffffff06;min-width:0}.glance .i{display:block;margin:0 auto 4px;color:var(--accent)}.glance b{display:block;font:600 15px/1.1 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glance span{display:block;margin-top:2px;font:600 10px var(--ui);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prose{margin:0 0 12px;font:400 15.5px/1.55 var(--read)}.known{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;border:1px solid var(--line);font:600 11px var(--ui);color:var(--ink)}.pill .i{width:15px;height:15px;color:var(--accent)}.pill.lost{color:var(--ink-faint);text-decoration:line-through}.pill.lost .i{color:var(--ink-faint)}.descriptors{list-style:none;margin:0 0 12px;padding:0}.descriptors li{position:relative;padding:0 0 6px 14px;font:400 14px/1.5 var(--read);color:var(--ink-soft)}.descriptors li:before{content:"";position:absolute;left:2px;top:.62em;width:4px;height:4px;transform:rotate(45deg);background:var(--accent);opacity:.7}.roster{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.roster .line-button{padding:7px 16px;border-radius:999px;border:1px solid rgba(226,184,107,.55);color:var(--ink);background:#e2b86b1f;font:600 14px var(--ui)}.roster .line-button:hover,.roster .line-button[aria-expanded=true]{color:#1b150c;background:var(--accent);border-color:var(--accent)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:6px 0 12px}.tabs button{display:flex;align-items:center;gap:6px;padding:8px 10px;font:600 13px var(--ui);color:var(--ink-faint);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button .i{width:16px;height:16px}.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--accent)}.tabs button[aria-selected=true] .i{color:var(--accent)}.tab-body{font:400 15px/1.55 var(--read);white-space:pre-line;padding-bottom:12px}.tab-error{margin:0;color:var(--ink-faint)}.ledger{margin:4px 0 24px;border-top:1px solid var(--line);padding-top:10px}.ledger summary{cursor:pointer;font:600 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);list-style:none}.ledger summary::-webkit-details-marker{display:none}.ledger summary:before{content:"▸ "}.ledger[open] summary:before{content:"▾ "}.ledger summary:hover{color:var(--accent)}.following,.forgotten{margin:8px 0 24px;border-top:1px solid var(--line);padding-top:10px}.following summary,.forgotten summary{cursor:pointer;font:600 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);list-style:none}.following summary::-webkit-details-marker,.forgotten summary::-webkit-details-marker{display:none}.following summary:before,.forgotten summary:before{content:"▸ "}.following[open] summary:before,.forgotten[open] summary:before{content:"▾ "}.following summary:hover,.forgotten summary:hover{color:var(--accent)}.following .life{margin-top:12px}.following .life-name{font:600 16px var(--display);color:var(--ink)}.following .life-name:hover{color:var(--accent)}.following .life .note{margin-top:4px}.forgotten ul{list-style:none;margin:8px 0 0;padding:0}.forgot-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;padding:6px 4px;color:var(--ink-soft);font:400 13px/1.45 var(--ui);cursor:pointer;border-radius:6px}.forgot-row>span:not(.forgot-kind){min-width:0;overflow-wrap:anywhere}.forgot-kind{flex:none;font:600 10px var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);min-width:46px}.forgot-row:hover{color:var(--accent);background:#ffffff0a}.forgot-card h4{margin:4px 0 2px;display:flex;align-items:center;gap:8px;font:600 14px/1.4 var(--ui);color:var(--ink)}.forgot-deeds li{display:flex;gap:6px;align-items:flex-start}.forgot-row .crest,.forgot-deeds .crest,.roster button .crest,.crumb button .crest,.tree-name .crest{width:14px;height:14px}.forgot-card .prose{margin:6px 0}.forgot-deeds{margin:8px 0;padding:0;list-style:none;display:grid;gap:6px;color:var(--ink-soft);font:400 12.5px/1.5 var(--ui)}.forgot-deeds li{display:flex;gap:8px;align-items:flex-start}.forgot-deeds .i{width:14px;height:14px;margin-top:2px;color:var(--accent)}#legends-list{list-style:none;margin:0;padding:0 0 28px}.legend-kicker{display:flex;align-items:center;gap:6px;margin:14px 0 4px;font:600 11px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.legend-kicker:first-child{margin-top:2px}.legend-kicker .i{width:14px;height:14px;color:var(--accent)}.legend-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;padding:8px 4px;border-radius:8px;cursor:pointer;color:var(--ink)}.legend-row:hover,.legend-row[aria-expanded=true]{background:#ffffff0d}.legend-row .i{width:16px;height:16px;color:var(--accent)}.legend-row.ended .i{color:var(--ink-faint)}.legend-copy{min-width:0}.legend-copy b{display:block;font:600 15px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-copy span{display:block;margin-top:2px;font:400 13px/1.35 var(--read);color:var(--ink-soft);overflow-wrap:anywhere}.legend-year{font:600 11px var(--ui);color:var(--ink-faint);white-space:nowrap}.legend-dig{padding:4px 4px 12px 26px}.legend-dig .glance{grid-template-columns:repeat(3,1fr);margin:4px 0 8px}.legend-dig .prose{margin:8px 0 0;font-size:14.5px}.legend-deed{display:flex;gap:8px;align-items:flex-start;min-width:0}.legend-deed .i{width:14px;height:14px;margin-top:2px;color:var(--accent);flex:none}.legend-empty{font:italic 400 14px var(--read);color:var(--ink-faint);padding:8px 0}.forgot-back{margin:8px 0 2px;background:none;border:1px solid var(--line);border-radius:999px;color:var(--ink-faint);font:600 11px var(--ui);letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;cursor:pointer}.forgot-back:hover{color:var(--accent);border-color:var(--accent)}.holds{margin:10px 0 4px;display:grid;gap:12px}.hold{display:grid;gap:4px}.hold-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hold-name{font:600 11px var(--ui);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.hold-why{flex:none;min-height:28px;padding:2px 0 2px 8px;font:600 11px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.hold-why:hover,.hold-why[aria-expanded=true]{color:var(--accent)}.hold-track{display:block;height:5px;border-radius:3px;background:#ffffff12;overflow:hidden;position:relative}.hold-fill{display:block;height:100%;border-radius:3px;background:#e2b86b8c}.hold-line{margin:0;font:400 13px/1.4 var(--read);color:var(--ink-soft)}.hold-note{margin:2px 0 0;font:400 12.5px/1.45 var(--read);color:var(--ink-faint)}.mix-track{display:flex;height:5px;border-radius:3px;overflow:hidden;background:#ffffff0d}.hold-seg{display:block;height:100%}.hold-seg.s-kin,.hold-seg.s-assembly{background:#e2b86b8c}.hold-seg.s-arms,.hold-seg.s-crown{background:#e07a5f99}.hold-seg.s-temple{background:#c7b2ff80}.hold-seg.s-law,.hold-seg.s-offices{background:#8fbf7a80}.hold-seg.s-purse{background:#ffffff59}.hold-seg+.hold-seg{margin-left:1px}.line{margin:8px 0 4px;border-top:1px solid var(--line);padding-top:10px}.line summary{cursor:pointer;font:600 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);list-style:none}.line summary::-webkit-details-marker{display:none}.line summary:before{content:"▸ "}.line[open] summary:before{content:"▾ "}.line summary:hover{color:var(--accent)}.tree{margin:8px 0 0;display:grid;gap:4px}.tree-row{display:flex;align-items:center;gap:6px}.tree-mark{display:flex;color:var(--accent)}.tree-mark .i{width:14px;height:14px}.tree-row.ended .tree-mark{color:var(--ink-faint)}.tree-name{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:2px 4px;color:var(--ink-soft);font:400 13px/1.4 var(--ui);cursor:pointer;text-align:left;border-radius:4px}.tree-name:hover{color:var(--accent);background:#ffffff0a}.tree-row.ended .tree-name{color:var(--ink-faint)}.tree-row.ended .tree-name:after{content:" †";color:var(--ink-faint)}.tree-row.living .tree-name{color:var(--ink)}.line-tree .tree{margin:0 0 6px}.line-title{margin:12px 0 6px;font:600 13px var(--ui);color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase}.line-timeline{margin:0;padding:0 0 4px;list-style:none}.line-timeline li{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:4px 0;border-bottom:1px solid var(--line);font:400 13.5px/1.45 var(--read);color:var(--ink-soft)}.line-timeline li:last-child{border-bottom:none}.line-year{color:var(--ink-faint);font:600 12px var(--ui);padding-top:2px;white-space:nowrap}.line-text{color:var(--ink-soft)}.line-row-toggle{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 12px;align-items:start;gap:8px;width:100%;min-height:44px;padding:8px 2px 8px 0;border:0;background:none;color:var(--ink-soft);text-align:left;font:inherit;cursor:pointer}.line-row-toggle:hover{color:var(--ink)}.line-summary{grid-column:1;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.line-chevron{grid-column:2;grid-row:1;justify-self:end;width:7px;height:7px;margin:5px 2px 0 0;border-right:1.5px solid var(--ink-faint);border-bottom:1.5px solid var(--ink-faint);transform:rotate(45deg);transition:transform .16s ease}.line-row-toggle[aria-expanded=true] .line-chevron{transform:translateY(3px) rotate(225deg)}.line-detail{grid-column:1 / -1;padding:2px 22px 3px 0;color:var(--ink-faint);font:400 13px/1.5 var(--read)}.line-detail[hidden]{display:none}.facts{margin:10px 0 0;display:grid;gap:4px}.facts div{display:grid;grid-template-columns:118px 1fr;gap:10px;font:400 13px/1.4 var(--ui)}.facts dt{display:flex;align-items:center;gap:6px;color:var(--ink-faint)}.facts dt .i{width:14px;height:14px;color:var(--accent)}.facts dd{margin:0;color:var(--ink-soft)}.scrubbar{position:fixed;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);z-index:4;width:min(640px,calc(100vw - 440px));display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 12px;border-radius:16px;background:#0c0b098c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:600 12px var(--ui);color:var(--ink-soft)}body.both-open .scrubbar{width:max(220px,min(640px,calc(100vw - 800px)))}body.both-open .scrub-end{display:none}.scrub-read{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}#scrub-when{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}#scrub-pace{flex:none;color:var(--ink-faint);font-weight:500}.scrub-line{display:flex;align-items:center;gap:10px;min-width:0}.scrub-end{white-space:nowrap;color:var(--ink-faint)}.scrub-slot{position:relative;flex:1;display:flex;min-width:0;padding-top:14px}#scrub-marks{position:absolute;inset:14px 0 0;pointer-events:none}#scrub-marks .mark{position:absolute;top:50%;width:14px;height:22px;transform:translate(-50%,-50%);pointer-events:auto;background:none;border:0;padding:0;cursor:pointer}#scrub-marks .mark:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:8px;border-radius:2px;background:#e2b86bd9}#scrub-marks .mark.age:after{height:16px;width:2px;background:#fff6e4}#scrub-marks .age-name{position:absolute;left:50%;top:2px;transform:translate(-50%,-100%);font:700 9px var(--ui);letter-spacing:.04em;color:var(--accent);white-space:nowrap;text-shadow:0 1px 2px rgba(12,11,9,.9)}#scrub-marks .mark:hover:after{background:#fff3dd}#scrub{flex:1;appearance:none;-webkit-appearance:none;height:20px;background:transparent;cursor:pointer}#scrub::-webkit-slider-runnable-track{height:2px;background:var(--ink-faint);border-radius:2px}#scrub::-moz-range-track{height:2px;background:var(--ink-faint);border-radius:2px}#scrub::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #e2b86b33}#scrub::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--accent)}.scrub-recent{display:flex;gap:6px;min-width:0;overflow:hidden}.scrub-recent:empty{display:none}.scrub-recent button{flex:0 0 auto;min-width:0;max-width:calc(50% - 4px);display:flex;align-items:baseline;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,236,200,.26);background:transparent;color:var(--ink-soft);font:500 12px var(--ui);cursor:pointer}.scrub-recent button:hover{border-color:var(--accent);color:var(--ink)}.scrub-chip-year{flex:none;color:var(--accent);font-weight:700}.scrub-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.when-banner{position:fixed;left:50%;bottom:calc(132px + var(--safe-b));transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 14px;font:400 13px var(--ui);color:var(--ink-soft);white-space:nowrap}.when-banner button{padding:4px 10px;border-radius:999px;background:var(--accent);color:#1b150c;font:700 12px var(--ui)}.winter-moment{position:fixed;z-index:6;left:16px;top:calc(92px + var(--safe-t));width:min(420px,calc(100% - 32px));max-height:min(240px,34vh);overflow:auto;padding:12px 48px 12px 14px}.winter-moment p{margin:0 0 8px;font:400 15px/1.45 var(--read);color:var(--ink)}.winter-moment .kicker{margin:0 0 6px;font:600 12px/1.3 var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}#winter-close{position:absolute;top:6px;right:6px}#winter-peoples{margin:0}#winter-peoples button{min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);font:600 14px var(--ui);color:var(--ink)}#winter-peoples button:hover{border-color:var(--accent);color:var(--accent)}.lean-hint{position:fixed;z-index:4;left:50%;bottom:calc(148px + var(--safe-b));transform:translate(-50%);max-width:min(420px,calc(100% - 96px));margin:0;padding:8px 14px;text-align:center;font:400 14px/1.4 var(--read);color:var(--ink-soft);pointer-events:none}#digest-grab{display:none}#digest-x{flex:none}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#00000059;padding:16px}.about{position:relative;width:min(480px,100%);max-height:90vh;overflow:auto;padding:22px 24px}.about h2{margin:0 0 10px;font:600 22px var(--display)}.about p{margin:0 0 12px;font:400 15px/1.55 var(--read);color:var(--ink-soft)}.about dl{display:grid;grid-template-columns:70px 1fr;gap:6px 12px;margin:14px 0;font:400 13px/1.45 var(--ui)}.about dt{color:var(--ink-faint)}.about dd{margin:0;color:var(--ink-soft)}.about .keys{font:400 13px/1.5 var(--ui);color:var(--ink-faint)}.about .keys b{color:var(--ink-soft)}@media(max-width:720px){html,body{position:fixed;inset:0;width:100%;height:100%;height:100dvh;touch-action:none}.scroll,.digest-scroll,.about,.chips,.scrub-recent,.tabs{touch-action:pan-x pan-y}button,.nav-zoom button{touch-action:manipulation}.chips{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none}.chips button{flex:none;min-height:44px;padding:8px 12px;font-size:14px}.cartouche{left:10px;top:calc(10px + var(--safe-t));padding:8px 12px;gap:10px}.cartouche .name{font-size:16px}.cartouche .when{font-size:13px;margin-top:4px}.tools{right:10px;top:calc(10px + var(--safe-t));gap:6px}.tool{width:44px;height:44px}button.find{pointer-events:auto;touch-action:none}.nav-zoom{bottom:calc(var(--bar-h) + var(--sheet-h) + 12px);z-index:8}.toast{top:calc(70px + var(--safe-t));left:10px;right:10px;min-width:0;max-width:none;transform:translateY(-10px)}.toast.show{transform:none}.hint{bottom:calc(var(--bar-h) + var(--sheet-h) + 64px);max-width:calc(100% - 24px);white-space:normal;text-align:center}.hint .desk{display:none}.hint .phone{display:inline}.hover-chip{display:none!important}.minimap{top:calc(64px + var(--safe-t));left:auto;right:10px;width:180px}.scrubbar,body.both-open .scrubbar{left:8px;right:8px;width:auto;transform:none;bottom:calc(8px + var(--safe-b) + var(--vv-bottom));font-size:13px}.scrub-read{flex-wrap:nowrap;align-items:center}#scrub-when{white-space:nowrap}#scrub-pace{flex:none;white-space:nowrap;text-align:right;line-height:1.3}#scrub{height:44px}.scrub-recent{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.scrub-recent::-webkit-scrollbar{display:none}.scrub-recent button{max-width:none;min-height:44px;padding:8px 12px;font-size:14px}.scrub-chip-text{overflow:visible;text-overflow:unset}.when-banner{bottom:calc(var(--bar-h) + 8px);max-width:calc(100% - 16px);white-space:normal}.when-banner button{min-height:44px;padding:8px 14px}.drawer,.drawer.left,.drawer.right{left:0;right:0;top:auto;bottom:var(--vv-bottom);width:auto;height:90vh;height:90dvh;border-radius:18px 18px 0 0;border-bottom:0;padding:0 16px calc(12px + var(--safe-b));transform:translateY(110%);opacity:1;background:#14120f;z-index:9}.drawer.open{transform:none;transition:transform .28s ease,height .28s ease}.drawer.open.half{height:50vh;height:50dvh}.drawer.open.full{height:90vh;height:90dvh}.grab{display:block;width:100%;height:44px;flex:none;position:relative;cursor:grab;touch-action:none}.grab:after{content:"";position:absolute;left:50%;top:50%;width:40px;height:5px;margin:-2px 0 0 -20px;border-radius:3px;background:var(--ink-faint)}.x{width:44px;height:44px}.card-x{top:44px;right:8px}.glance{gap:4px}.glance .g{padding:7px 2px 6px}.tabs{overflow-x:auto;touch-action:pan-x}.tabs button{flex:none;min-height:44px;padding:10px 12px}.hold-why{min-height:44px;margin:-10px 0;padding:10px 4px 10px 12px;font-size:13px}.digest.landing,.digest.slip,.digest.slip.page,.digest.slip.age{left:0;right:0;top:auto;bottom:var(--bar-h);transform:none;width:auto;max-height:min(32dvh,calc(100dvh - var(--bar-h) - 180px - var(--safe-t)));margin:0;padding:0 16px 12px;border-radius:18px 18px 0 0;border-bottom:0;display:flex;flex-direction:column;overflow:hidden;z-index:7}.digest.slip>#digest-grab,.digest.landing>#digest-grab{display:block}.digest-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;column-gap:8px;row-gap:0}.digest.landing .digest-head h3,.digest.slip .digest-head h3{font-size:18px;line-height:1.25;min-width:0}#digest-x{grid-column:2;grid-row:1}.digest-head-actions{grid-column:1 / -1;display:flex;gap:8px}#digest-chronicle,#digest-close{min-height:44px;padding:8px 4px;font-size:16px;white-space:normal}.digest.slip #digest-turns,.digest.landing #digest-turns{min-height:0;flex:1;display:flex;flex-direction:column}.digest-scroll,.digest.landing .digest-scroll,.digest.slip.page .digest-scroll{flex:1;min-height:0;max-height:none;overflow:auto;touch-action:pan-y}#digest-note{font-size:15px;line-height:1.45}.digest.landing .entry,.digest.slip .entry{font-size:16px;line-height:1.45;padding:10px 2px;min-height:44px}.digest.landing .lead .entry{font-size:17px}.winter-moment{left:10px;right:10px;width:auto;top:calc(72px + var(--safe-t));max-height:30dvh}body.sheet-open .winter-moment,body:has(.drawer.open) .winter-moment{background:#14120f}#winter-peoples button{min-height:44px;font-size:15px}#winter-close{top:4px;right:4px}.lean-hint{bottom:calc(var(--bar-h) + var(--sheet-h) + 12px);max-width:calc(100% - 88px);font-size:14px}.story-chip{top:auto;bottom:calc(var(--bar-h) + var(--sheet-h) + 12px);left:62px;right:10px;width:auto;transform:none}.story-chip button{min-height:44px;padding:8px 14px}.intro{width:min(440px,calc(100vw - 24px));top:calc(64px + var(--safe-t))}}
