@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0a1018;--bg-deep:#070b11;--surface:#101826;--raised:#182335;--line:#243247;--ink:#eef2f7;--ink2:#aab6c7;--ink3:#718096;--accent:#f0c26a;--world:#7f8ea3;--font-ui:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--top-h:52px;--panel-w:408px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:400 14px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:#f0c26a4d}.muted{color:var(--ink3)}.small{font-size:12px;line-height:1.5}.app{flex-direction:column;height:100dvh;display:flex}.splash{height:100dvh;color:var(--ink2);font-family:var(--font-display);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:18px;display:flex}.splash .brand-mark{width:56px;height:56px;animation:1.8s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45;transform:translateY(3px)}}.top{height:var(--top-h);border-bottom:1px solid var(--line);background:var(--bg);z-index:30;flex:none;align-items:center;gap:14px;padding:0 14px;display:flex;position:relative}.brand{color:var(--ink);white-space:nowrap;font:600 17px/1 var(--font-display);letter-spacing:.01em;align-items:center;gap:9px;display:flex}.brand:hover{text-decoration:none}.brand-mark{fill:none;stroke-width:2.4px;stroke-linecap:round;flex:none;width:24px;height:24px}.tabs{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:2px;padding:3px;display:flex}.tabs button{color:var(--ink2);white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.tabs button:hover{color:var(--ink)}.tabs button.on{background:var(--raised);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.search{width:min(320px,30vw);margin-left:auto;position:relative}.search input{border:1px solid var(--line);background:var(--surface);width:100%;height:34px;color:var(--ink);font:inherit;border-radius:999px;outline:none;padding:0 12px 0 34px;font-size:13px}.search input::placeholder{color:var(--ink3)}.search input:focus{border-color:var(--accent)}.search-ic{fill:none;width:16px;height:16px;stroke:var(--ink3);stroke-width:1.8px;stroke-linecap:round;pointer-events:none;position:absolute;top:9px;left:11px}.search-list{background:var(--raised);border:1px solid var(--line);z-index:50;border-radius:12px;width:min(380px,100vw - 16px);max-height:min(70vh,520px);margin:0;padding:6px;list-style:none;position:absolute;top:40px;right:0;overflow-y:auto;box-shadow:0 18px 50px #0000008c}.search-list button{text-align:left;border-radius:8px;width:100%;padding:7px 10px;display:block}.search-list button.cur{background:#f0c26a1f}.s-name{font-weight:500;display:block}.s-sub{color:var(--ink3);font-size:11.5px;display:block}.search-empty{color:var(--ink3);padding:10px}.about-btn{color:var(--ink2);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:13px}.about-btn:hover{color:var(--ink);background:var(--surface)}.about-btn .narrow{display:none}.apps-mark{flex:none;width:16px;height:16px}.apps-link{height:32px;color:var(--ink);white-space:nowrap;background:linear-gradient(#f0c26a24,#f0c26a0a);border:1px solid #f0c26a6b;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px 0 10px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.apps-link:hover{border-color:var(--accent);background:#f0c26a33;text-decoration:none;box-shadow:0 4px 18px #f0c26a29}.apps-link i,.about-apps i,.river-apps i{color:var(--accent);font-style:normal;transition:transform .2s;display:inline-block}.apps-link:hover i,.about-apps:hover i,.river-apps:hover i{transform:translate(2px,-2px)}.main{flex:1;min-height:0;display:flex;position:relative}.stage{background:var(--bg);flex:1;min-width:0;position:relative;overflow:hidden}.stage-view{animation:.55s ease-out view-in;position:absolute;inset:0}@keyframes view-in{0%{opacity:0}}.stage-wait{color:var(--ink3);place-items:center;display:grid;position:absolute;inset:0}.hud{pointer-events:none;z-index:5;position:absolute}.hud .live{pointer-events:auto}.pill{white-space:nowrap;color:var(--ink2);border:1px solid var(--line);background:#101826d1;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.pill:hover{color:var(--ink);border-color:#3a4d6b}.pill.on{color:var(--ink);border-color:var(--accent);background:#f0c26a1a}.pill.off{opacity:.45}.pill i,.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.play-btn{color:#1a1305;background:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 24px #f0c26a38}.play-btn:hover{transform:translateY(-1px);box-shadow:0 8px 30px #f0c26a57}.play-btn.ghost{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#101826d1}.year-big{font:560 64px/.95 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}.tip{z-index:20;pointer-events:none;opacity:0;will-change:transform;background:#182335f5;border:1px solid #33455f;border-radius:10px;max-width:300px;padding:8px 11px;transition:opacity .12s;position:absolute;top:0;left:0;box-shadow:0 10px 34px #00000080}.tip.show{opacity:1}.tip-kicker{color:var(--ink3);align-items:center;gap:6px;font-size:11px;display:flex}.tip-title{font-size:13.5px;font-weight:600;line-height:1.35}.tip-sub{color:var(--ink2);margin-top:2px;font-size:12px;line-height:1.45}.legend-strip{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1018c7;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 10px;display:flex}.popover{z-index:25;background:var(--raised);width:min(340px,100vw - 24px);color:var(--ink2);border:1px solid #33455f;border-radius:14px;padding:14px 16px;font-size:12.5px;position:absolute;box-shadow:0 18px 50px #0000008c}.popover h4{font:600 14px/1.3 var(--font-display);color:var(--ink);margin:0 0 6px}.popover ul{margin:0;padding-left:16px}.popover li{margin:4px 0}.popover b{color:var(--ink);font-weight:600}.panel{width:var(--panel-w);z-index:20;background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;animation:.28s cubic-bezier(.2,.8,.2,1) panel-in;display:flex;position:relative}@keyframes panel-in{0%{opacity:0;transform:translate(28px)}}.panel-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;padding:20px 22px 48px;animation:.25s fade-in;overflow-y:auto}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}}.panel .close,.modal .close{width:32px;height:32px;color:var(--ink2);z-index:2;background:#182335e6;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.panel .close:hover,.modal .close:hover{color:var(--ink);background:var(--line)}.sheet-grip{display:none}.p-type{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);align-items:center;gap:7px;padding-right:36px;font-size:11.5px;display:flex}.panel h2{font:600 27px/1.18 var(--font-display);letter-spacing:-.005em;margin:6px 0 2px;padding-right:30px}.p-en{color:var(--ink2);font-style:italic;font-family:var(--font-display)}.p-life{color:var(--ink2);margin-top:4px;font-size:13px}.p-alias{color:var(--ink3);margin-top:2px;font-size:12.5px}.p-badge{border:1px solid var(--accent);color:var(--accent);border-radius:999px;margin-top:8px;padding:2px 9px;font-size:11.5px;display:inline-block}.p-img{margin:14px 0 0}.p-img img{object-fit:cover;object-position:50% 22%;background:var(--raised);border-radius:12px;width:100%;max-height:300px;display:block}.p-img figcaption{margin-top:4px;font-size:11px}.p-img figcaption a{color:var(--ink3)}.p-sum{color:#dfe6ef;margin:14px 0 8px;font-size:14.5px;line-height:1.65}.p-actions{flex-wrap:wrap;gap:8px;margin:12px 0 2px;display:flex}.p-actions:empty{display:none}.p-actions button{border:1px solid var(--line);background:var(--raised);border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:500}.p-actions button:hover{border-color:var(--accent);color:var(--accent)}.panel section{margin-top:22px}.panel h3{font:600 12px/1.3 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);margin:0 0 9px}.panel h3 .n,.link-head .n{color:var(--ink3);letter-spacing:0;margin-left:4px;font-weight:400}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--raised);border:1px solid var(--line);max-width:100%;color:var(--ink);text-align:left;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;line-height:1.5;display:inline-flex}button.chip:hover{border-color:var(--accent)}.chip.plain{color:var(--ink2);background:0 0;border-style:dashed}.chip small{color:var(--ink3);font-size:11px}.more{color:var(--accent);margin-top:8px;font-size:12.5px}.more:hover{text-decoration:underline}.works{margin:0;padding:0;list-style:none}.works button{text-align:left;border-radius:6px;align-items:baseline;gap:10px;width:100%;margin:0 -6px;padding:4px 6px;display:flex}.works button:hover{background:var(--raised)}.w-year{width:34px;color:var(--ink3);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.w-name{flex:1;min-width:0}.w-story,.story .star{color:var(--accent)}.w-scope{color:var(--ink3);flex:none;font-size:11px}.credits{grid-template-columns:auto 1fr;align-items:baseline;gap:8px 14px;margin:0;display:grid}.credits dt{color:var(--ink3);font-size:12px}.credits dd{flex-wrap:wrap;gap:6px;margin:0;display:flex}.story{background:linear-gradient(#f0c26a17,#f0c26a05);border:1px solid #f0c26a38;border-radius:14px;margin-top:20px;padding:14px 16px}.story.loading{color:var(--ink3);font-size:12.5px}.story h3{color:var(--accent)}.story-sum{font:400 16px/1.55 var(--font-display);color:var(--ink);margin:0 0 6px}.story-body{color:#dbe3ee;max-height:0;font-size:14px;line-height:1.7;overflow:hidden}.story-body.open{max-height:none}.story-body h1,.story-body h2,.story-body h3{font:600 16px/1.3 var(--font-display);color:var(--ink);letter-spacing:0;text-transform:none;margin:16px 0 6px;padding:0}.story-body p{margin:8px 0}.story-body blockquote{border-left:2px solid var(--accent);color:var(--ink2);margin:10px 0;padding-left:12px}.sources{margin-top:10px}.src-list{color:var(--ink3);margin:4px 0 0;padding-left:16px;font-size:12px}.src-list li{overflow-wrap:anywhere;margin:2px 0}.src-list a{color:var(--ink2)}.link-group{margin-bottom:12px}.link-head{color:var(--ink2);align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px;display:flex}.link-sample{flex:none;width:30px;height:8px}.link-sample path,.about-legend svg path{fill:none;stroke-width:2px;stroke-linecap:round}.influences{margin:0;padding:0;list-style:none}.influences li{margin-bottom:8px}.influences span{color:var(--ink2);margin-top:3px;font-size:12.5px;display:block}.rel-note{color:var(--ink2);margin:6px 0 0;font-size:12.5px}.rel-note b{color:var(--ink);font-weight:500}.ext-links{flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.modal-back{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04070bb8;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(680px,100%);max-height:min(86dvh,860px);padding:28px 30px 26px;animation:.25s fade-in;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0009}.modal h2{font:600 30px/1.15 var(--font-display);margin:0 0 8px}.modal h3{font:600 12px/1.3 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin:22px 0 8px}.modal .lead{font:400 17px/1.55 var(--font-display);color:#dfe6ef;margin:0}.about-views{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;display:grid}.about-views dt{font:600 15px/1.5 var(--font-display);white-space:nowrap}.about-views dd{color:var(--ink2);margin:0;font-size:13.5px}.about-legend{gap:5px;margin:0 0 10px;padding:0;font-size:13px;list-style:none;display:grid}.about-legend li{grid-template-columns:34px minmax(0,190px) 1fr;align-items:center;gap:10px;display:grid}.about-legend i{border-radius:5px;width:26px;height:10px}.about-legend svg{width:34px;height:8px}.about-legend b{font-weight:500}.about-legend span{color:var(--ink3);font-size:12.5px}.about-notes{color:var(--ink2);margin:0;padding-left:18px;font-size:13.5px}.about-notes li{margin:6px 0}.about-notes b{color:var(--ink);font-weight:600}.about-apps{color:var(--ink);background:#f0c26a0d;border:1px solid #f0c26a47;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 16px 12px 14px;transition:border-color .2s,background .2s;display:grid}.about-apps:hover{border-color:var(--accent);background:#f0c26a1a;text-decoration:none}.about-apps .apps-mark{width:28px;height:28px}.about-apps b{font:600 16px/1.3 var(--font-display);display:block}.about-apps span span{color:var(--ink2);margin-top:2px;font-size:13px;line-height:1.5;display:block}.about-apps em{color:var(--accent);white-space:nowrap;font-size:12.5px;font-style:normal;font-weight:600}@media (max-width:860px){:root{--panel-w:360px}.brand span{display:none}}@media (max-width:1080px){.apps-link{padding:0 10px}.apps-link span{display:none}}@media (max-width:720px){.top{gap:8px;padding:0 10px}.tabs button{padding:5px 9px;font-size:12.5px}.search{width:34px}.search input{color:#0000;cursor:pointer;padding:0}.search input::placeholder{color:#0000}.search-ic{left:9px}.search:focus-within{z-index:5;width:auto;position:absolute;top:9px;left:8px;right:8px}.search:focus-within input{color:var(--ink);cursor:text;background:var(--raised);padding:0 12px 0 34px;font-size:16px}.search:focus-within input::placeholder{color:var(--ink3)}.search-list{width:auto;left:0;right:0}.about-btn{border:1px solid var(--line);flex:none;width:30px;height:30px;padding:0}.about-btn .wide{display:none}.about-btn .narrow{display:inline}.apps-link{display:none}.about-apps{grid-template-columns:auto 1fr}.about-apps em{grid-column:2}.year-big{font-size:38px}.panel{z-index:60;border-left:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;width:auto;height:56dvh;transition:height .3s cubic-bezier(.2,.8,.2,1);animation-name:sheet-in;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 50px #0000008c}.panel.tall{height:92dvh}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.sheet-grip{flex:none;width:100%;height:22px;display:block}.sheet-grip i{background:#3a4d6b;border-radius:2px;width:40px;height:4px;margin:9px auto 0;display:block}.panel-scroll{padding:4px 18px 40px}.panel h2{font-size:23px}.modal{padding:22px 18px}.about-views{grid-template-columns:1fr;gap:2px}.about-views dd{margin-bottom:8px}.about-legend li{grid-template-columns:34px 1fr}.about-legend span{grid-column:2;margin-top:-4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.river-wrap{background:var(--bg);--bank-l:240px;--bank-r:200px;position:absolute;inset:0;overflow:hidden}.river-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.river-scroll{z-index:1;scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;outline:none;position:absolute;inset:0;overflow:hidden auto}.river-scroll::-webkit-scrollbar{display:none}.river-scroll:focus-visible{box-shadow:inset 0 0 0 2px #f0c26a73}.river-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:52%;padding:12px 24px 30px;display:flex;overflow:hidden}.river-hero>*{animation:.9s cubic-bezier(.2,.8,.2,1) both river-rise}.river-hero>:nth-child(2){animation-delay:80ms}.river-hero>:nth-child(3){animation-delay:.18s}.river-hero>:nth-child(4){animation-delay:.3s}.river-hero>:nth-child(5){animation-delay:.42s}@keyframes river-rise{0%{opacity:0;transform:translateY(18px)}}.river-kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11.5px;font-weight:600}.river-hero h1{font:460 clamp(38px, 6.4vw, 86px)/1 var(--font-display);letter-spacing:-.028em;text-wrap:balance;margin:0}.river-hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.river-sub{max-width:620px;color:var(--ink2);text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.river-sub b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.river-go{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;margin-top:4px;display:flex}.river-hint{color:var(--ink3);font-size:12.5px}.river-hint i{font-style:normal;animation:1.6s ease-in-out infinite river-bob;display:inline-block}@keyframes river-bob{50%{transform:translateY(4px)}}.river-apps-chip{color:var(--ink2);background:#f0c26a12;border:1px solid #f0c26a61;border-radius:999px;align-items:center;gap:8px;margin-top:8px;padding:7px 13px 7px 11px;font-size:12.5px;display:inline-flex}.river-apps-chip:hover{border-color:var(--accent);text-decoration:none}.river-apps-chip b{color:var(--ink);font-weight:600}.river-apps-chip i{color:var(--accent);font-style:normal}.river-apps-chip .apps-mark{width:14px;height:14px}.river-sea{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:292px 24px 84px;display:flex}.river-sea h2{font:460 clamp(28px, 3.8vw, 46px)/1.08 var(--font-display);letter-spacing:-.02em;margin:0}.river-sea-go{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.river-up{color:var(--ink2);border-radius:8px;padding:6px 10px;font-size:13px}.river-up:hover{color:var(--ink)}.river-apps{text-align:left;width:min(600px,100%);color:var(--ink);background:linear-gradient(135deg,#f0c26a1a,#101826e6 46%);border:1px solid #f0c26a57;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:26px 0 28px;padding:14px 18px 14px 16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;box-shadow:0 14px 40px #00000059}.river-apps:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px);box-shadow:0 18px 46px #00000073,0 0 0 4px #f0c26a14}.river-apps .apps-mark{width:34px;height:34px}.ra-text{gap:1px;display:grid}.ra-text small{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:600}.ra-text b{font:560 19px/1.25 var(--font-display);letter-spacing:-.01em}.ra-text span{color:var(--ink2);text-wrap:pretty;font-size:13px;line-height:1.5}.ra-go{color:var(--accent);white-space:nowrap;font-size:13px;font-style:normal;font-weight:600}.river-note{max-width:560px;color:var(--ink3);margin:auto 0 0;font-size:12px;line-height:1.5}.river-wrap .hud{opacity:0;transition:opacity .4s,transform .4s}.river-wrap.scrolled .hud{opacity:1;transform:none}.river-wrap:not(.scrolled) .hud .live{pointer-events:none}.river-card{width:calc(var(--bank-l) - 46px);background:linear-gradient(180deg, var(--bg) 0, var(--bg) calc(100% - 34px), #0a101800);flex-direction:column;align-items:flex-start;gap:6px;padding:14px 10px 34px 14px;display:flex;top:0;left:0;transform:translateY(-10px)}.river-card .year-big{font-size:clamp(44px, calc((var(--bank-l) - 70px) / 2.5), 72px)}.river-period{text-align:left;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;line-height:1.3;display:flex}.river-period b{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.river-period span{font:500 16px/1.25 var(--font-display);color:var(--ink);text-wrap:balance}.river-period span:after{content:" ›";color:var(--ink3);transition:color .2s}.river-period:hover span:after{color:var(--accent)}.river-now{width:100%;min-height:66px;margin:4px 0 0;padding:0;list-style:none}.river-now li{animation:.3s fade-in}.river-now button{text-align:left;width:100%;height:22px;color:var(--ink2);align-items:center;gap:7px;font-size:12px;display:flex}.river-now button:hover{color:var(--ink)}.river-now span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ev-ic{background:var(--ink2);flex:none;width:8px;height:8px;display:inline-block}.ev-ic.music{border-radius:50%}.ev-ic.society{transform:rotate(45deg)scale(.9)}.ev-ic.world{background:var(--world)}.ev-ic.hollow{box-shadow:inset 0 0 0 1.5px var(--ink2);background:0 0}.river-chapters{left:var(--bank-l);right:var(--bank-r);flex-wrap:wrap;justify-content:center;gap:5px;display:flex;top:12px;transform:translateY(-10px)}.river-chapters .pill{font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:27px;padding:0 11px}.river-bottom{grid-template-columns:var(--bank-l) minmax(0, 1fr) var(--bank-r);align-items:end;display:grid;bottom:12px;left:0;right:0;transform:translateY(10px)}.river-play{padding-left:14px}.river-legend{justify-content:center;justify-self:center;position:relative}.river-legend .pill{height:26px;padding:0 10px}.river-help-btn{border-style:dashed}.river-help-btn .narrow{display:none}.river-help{text-align:left;max-height:min(72vh,560px);animation:.2s fade-in;bottom:calc(100% + 10px);right:0;overflow-y:auto}.river-help ul+.river-groups{margin:6px 0 8px}.river-groups{gap:2px;display:grid}.river-groups button{text-align:left;border-radius:8px;grid-template-columns:9px 1fr;align-items:center;column-gap:9px;margin:0 -8px;padding:4px 8px;display:grid}.river-groups button:hover,.river-groups button.on{background:#f0c26a17}.river-groups button.on b:after{content:" · đang lọc";color:var(--accent);font-weight:400}.river-groups span{color:var(--ink3);grid-column:2;font-size:11.5px;line-height:1.35}.river-star{color:var(--accent)!important}.river-shapes{flex-wrap:wrap;gap:4px 14px;list-style:none;display:flex;margin-left:-16px!important}.river-shapes span{align-items:center;gap:6px;display:inline-flex}.river-mini{z-index:6;cursor:pointer;touch-action:none;opacity:0;width:12px;transition:opacity .4s;position:absolute;top:58px;bottom:58px;right:9px}.river-wrap.scrolled .river-mini{opacity:1}.river-mini:before{content:"";position:absolute;inset:0 -8px}.river-mini canvas{border-radius:3px;width:100%;height:100%;display:block;position:absolute;inset:0}.mini-thumb{border:1.5px solid var(--accent);pointer-events:none;will-change:transform;background:#f0c26a1a;border-radius:5px;height:20px;position:absolute;top:0;left:-4px;right:-4px}.river-wrap.mobile .river-hero{gap:11px;padding:8px 20px 22px}.river-wrap.mobile .river-sub{font-size:14px}.river-wrap.mobile .river-card{background:linear-gradient(180deg, var(--bg) 0, #0a1018e6 calc(100% - 22px), #0a101800);flex-flow:wrap;align-items:flex-end;gap:2px 12px;width:auto;padding:8px 14px 22px;left:0;right:0}.river-wrap.mobile .river-card .year-big{font-size:40px}.river-wrap.mobile .river-period{flex:1;min-width:0;padding-bottom:2px}.river-wrap.mobile .river-period span{font-size:14.5px}.river-wrap.mobile .river-now{flex:none;width:100%;min-height:22px;margin:2px 0 0}.river-wrap.mobile .river-now li:nth-child(n+2){display:none}.river-wrap.mobile .river-chapters{scrollbar-width:none;pointer-events:auto;flex-wrap:nowrap;justify-content:flex-start;padding:0 14px;inset:auto 0 54px;overflow-x:auto;transform:translateY(10px)}.river-wrap.mobile:not(.scrolled) .river-chapters{pointer-events:none}.river-wrap.mobile .river-chapters::-webkit-scrollbar{display:none}.river-wrap.mobile .river-chapters .pill{flex:none;height:30px}.river-wrap.mobile .river-bottom{grid-template-columns:auto minmax(0,1fr);padding-right:14px}.river-wrap.mobile .river-legend{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;justify-self:end;padding:0}.river-wrap.mobile .river-legend .g-pill{display:none}.river-wrap.mobile .river-legend .pill{height:34px;padding:0 14px}.river-wrap.mobile .river-help-btn .wide{display:none}.river-wrap.mobile .river-help-btn .narrow{display:inline}.river-wrap.mobile .river-mini{width:6px;top:96px;bottom:100px;right:2px}.river-wrap.mobile .mini-thumb{border-width:1px;left:-2px;right:-2px}.river-wrap.mobile .river-sea{padding-top:280px}.river-wrap.mobile .river-apps{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;padding:14px 16px}.river-wrap.mobile .ra-go{grid-column:2}@media (max-height:640px){.river-now{display:none}.river-hero{gap:9px}.river-hero h1{font-size:clamp(34px,5vw,60px)}}@media (prefers-reduced-motion:reduce){.river-hero>*,.river-hint i,.river-now li,.river-help{animation:none}.river-wrap .hud,.river-mini{transition:none}}
