@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-cyrillic-ext-500-normal-Co9nt7FX.woff2)format("woff2"),url(/assets/alegreya-sc-cyrillic-ext-500-normal-DzVkdQHS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-cyrillic-500-normal-BjmNXJC0.woff2)format("woff2"),url(/assets/alegreya-sc-cyrillic-500-normal-nt2kUJBw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-greek-ext-500-normal-BCVlyGVQ.woff2)format("woff2"),url(/assets/alegreya-sc-greek-ext-500-normal-zZzoiTtI.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-greek-500-normal-BhmRRIC7.woff2)format("woff2"),url(/assets/alegreya-sc-greek-500-normal-CTtXnkEC.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-vietnamese-500-normal-CeVUE50X.woff2)format("woff2"),url(/assets/alegreya-sc-vietnamese-500-normal-DJVmPsEx.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-latin-ext-500-normal-BoL9217j.woff2)format("woff2"),url(/assets/alegreya-sc-latin-ext-500-normal-D77yKmb9.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sc-latin-500-normal-4QwauZv7.woff2)format("woff2"),url(/assets/alegreya-sc-latin-500-normal-D4VbSUPX.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-cyrillic-ext-700-normal-CJun9Kzk.woff2)format("woff2"),url(/assets/alegreya-sc-cyrillic-ext-700-normal-CmHc5nfj.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-cyrillic-700-normal-DywRGmLG.woff2)format("woff2"),url(/assets/alegreya-sc-cyrillic-700-normal-ClX7Bawf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-greek-ext-700-normal-D-GIWTGr.woff2)format("woff2"),url(/assets/alegreya-sc-greek-ext-700-normal-Cqe0UMF8.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-greek-700-normal-Ckkg5W9p.woff2)format("woff2"),url(/assets/alegreya-sc-greek-700-normal-DoonJSlH.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-vietnamese-700-normal-CjQ-aOoz.woff2)format("woff2"),url(/assets/alegreya-sc-vietnamese-700-normal-C9fV6Vv-.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-latin-ext-700-normal-JDWM693b.woff2)format("woff2"),url(/assets/alegreya-sc-latin-ext-700-normal-BHsgi7GW.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sc-latin-700-normal-ztAmjLTs.woff2)format("woff2"),url(/assets/alegreya-sc-latin-700-normal-C1NSl7Ln.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:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-normal-DN8azYTI.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-400-normal-Cj1kF6KR.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-normal-72Io3whm.woff2)format("woff2"),url(/assets/alegreya-cyrillic-400-normal-VT77nruV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-normal-ueNFnE5s.woff2)format("woff2"),url(/assets/alegreya-greek-ext-400-normal-UcF-MPys.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-normal-BI7tMDVB.woff2)format("woff2"),url(/assets/alegreya-greek-400-normal-BTnTTGc4.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-normal-D8CgJdBg.woff2)format("woff2"),url(/assets/alegreya-vietnamese-400-normal-D-Jsyxvv.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:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-normal-BJ1luULk.woff2)format("woff2"),url(/assets/alegreya-latin-ext-400-normal-I24-Fo_X.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:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-normal-BLlBRtDv.woff2)format("woff2"),url(/assets/alegreya-latin-400-normal-BuQWlRPA.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:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-italic-CJ53xJ73.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-400-italic-281qz-PX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-italic-CzOFVsaV.woff2)format("woff2"),url(/assets/alegreya-cyrillic-400-italic-DSxbt1-2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-italic-BqZ1xVE4.woff2)format("woff2"),url(/assets/alegreya-greek-ext-400-italic-EKR1I7m6.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-italic-DpcfyKEk.woff2)format("woff2"),url(/assets/alegreya-greek-400-italic-D9g29fJh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-italic-CJsk7YCA.woff2)format("woff2"),url(/assets/alegreya-vietnamese-400-italic-DD2hiUnx.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:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-italic-Cf8WgXZg.woff2)format("woff2"),url(/assets/alegreya-latin-ext-400-italic-BQgzjtbe.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:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-italic-BXpar-rJ.woff2)format("woff2"),url(/assets/alegreya-latin-400-italic-CJvUQvZT.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:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-cyrillic-ext-600-normal-B7QPM3vE.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-600-normal-FxYQreBn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-cyrillic-600-normal-BR3Uo04X.woff2)format("woff2"),url(/assets/alegreya-cyrillic-600-normal-CPGmphyD.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-greek-ext-600-normal-BLBQCDBp.woff2)format("woff2"),url(/assets/alegreya-greek-ext-600-normal-lbo5m9Hv.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-greek-600-normal-D4zUWKuR.woff2)format("woff2"),url(/assets/alegreya-greek-600-normal-KiLOcebc.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-vietnamese-600-normal-DEsoY4JG.woff2)format("woff2"),url(/assets/alegreya-vietnamese-600-normal-DXCvCrGy.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:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-latin-ext-600-normal-CDdhKDsc.woff2)format("woff2"),url(/assets/alegreya-latin-ext-600-normal-BPrSHx0a.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:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-latin-600-normal-BeiX5Wwc.woff2)format("woff2"),url(/assets/alegreya-latin-600-normal-BWmAhYVc.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:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.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:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.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}:root{--ink:#3a2e22;--ink-soft:#6b5a46;--cream:#f4ead3;--cream-2:#e8dbbb;--edge:#b9a57e;--gold:#c9a24a;--slate:#2b333c;--shadow:0 2px 0 #3a2e2240, 0 6px 18px #14181e40;--serif:"Alegreya", Georgia, serif;--sc:"Alegreya SC", "Alegreya", Georgia, serif;--display:"Cinzel", "Alegreya SC", serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--serif);color:var(--ink);background:#4d5966;margin:0;overflow:hidden}#app{-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}canvas.gl{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}canvas.gl:active{cursor:grabbing}button{font:inherit;color:inherit;cursor:pointer}.ico{width:18px;height:18px;display:block}.ico.mini{vertical-align:-2px;width:14px;height:14px;margin-right:5px;display:inline-block}.labels{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.labels>*{pointer-events:auto;will-change:transform;opacity:0;transition:opacity .35s;position:absolute;top:0;left:0}.labels>.on{opacity:1}.loc{cursor:pointer;filter:drop-shadow(0 2px 2px #00000040);flex-direction:column;align-items:center;display:flex}.loc .badge{background:radial-gradient(circle at 35% 30%, #fffaf0, var(--cream) 60%, var(--cream-2));border:1.5px solid var(--ink);width:26px;height:26px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:2px;transition:transform .2s;display:grid;position:relative}.loc .badge .ico{width:15px;height:15px}.loc .ribbon{font-family:var(--sc);letter-spacing:.02em;white-space:nowrap;border:1px solid var(--edge);color:var(--ink);background:linear-gradient(#f8f0dc,#ecdfc0);border-radius:2px;padding:1px 9px 2px;font-size:12px;font-weight:500;position:relative}.loc .ribbon:before,.loc .ribbon:after{content:"";border:1px solid var(--edge);z-index:-1;background:#d8c8a2;width:8px;height:100%;position:absolute;top:3px}.loc .ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,40% 50%);left:-6px}.loc .ribbon:after{clip-path:polygon(0 0,100% 0,60% 50%,100% 100%,0 100%);right:-6px}.loc.imp1 .ribbon{padding:2px 12px 3px;font-size:15px;font-weight:700}.loc.imp1 .badge{width:30px;height:30px}.loc.imp1 .badge .ico{width:17px;height:17px}.loc.imp3 .ribbon{font-size:11px}.loc.imp3 .badge{width:20px;height:20px}.loc.imp3 .badge .ico{width:12px;height:12px}.loc.t-capital .badge{background:radial-gradient(circle at 35% 30%,#fff6d8,#f0d98a 70%,#d8b860)}.loc.t-battle .badge,.loc.t-event .badge{background:radial-gradient(circle at 35% 30%,#fff1e8,#f0c8b8 70%,#d89a88)}.loc .evdot{color:#fff2e0;min-width:15px;height:15px;font:700 10px/15px var(--serif);text-align:center;background:#9c2f22;border:1px solid #fff2e0;border-radius:8px;padding:0 3px;animation:2.6s infinite evpulse;position:absolute;top:-5px;right:-7px;box-shadow:0 0 #c83c2899}@keyframes evpulse{0%{box-shadow:0 0 #c83c288c}70%{box-shadow:0 0 0 9px #c83c2800}to{box-shadow:0 0 #c83c2800}}.loc:hover .badge,.loc.selected .badge{border-color:#000;transform:scale(1.18)translateY(-2px)}.loc:hover .ribbon,.loc.selected .ribbon{border-color:var(--ink);background:linear-gradient(#fffaf0,#f5e6be)}.loc.selected .badge{box-shadow:0 0 0 3px #ffd778cc,0 0 18px #ffc85ae6}.reg{cursor:pointer}.reg-ribbon{border:1.5px solid var(--ink);box-shadow:var(--shadow);background:linear-gradient(#f9f1dd,#ead9b2);border-radius:3px;padding:4px 24px 6px;display:inline-block;position:relative}.reg-ribbon:before,.reg-ribbon:after{content:"";border:1.5px solid var(--ink);z-index:-1;background:#d6c49b;width:18px;height:100%;position:absolute;top:7px}.reg-ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,45% 50%);left:-14px}.reg-ribbon:after{clip-path:polygon(0 0,100% 0,55% 50%,100% 100%,0 100%);right:-14px}.reg-name{font-family:var(--sc);letter-spacing:.08em;color:var(--ink);white-space:nowrap;font-size:22px;font-weight:700}.reg-ribbon{border-bottom:3px solid var(--rc)}.reg:hover .reg-ribbon,.reg.selected .reg-ribbon{background:linear-gradient(#fffaf0,#f2e2b8);transform:translateY(-2px)}.area{cursor:pointer;font-family:var(--sc);letter-spacing:.32em;white-space:nowrap;color:#4a3e30;text-shadow:0 0 4px #fffaebe6,0 0 10px #fffaeb99;font-size:17px;font-style:italic}.area.k-sea{color:#e3ebf0;text-shadow:0 1px 3px #141e2899;letter-spacing:.5em;font-size:24px}.area.k-river{color:#2f5870;letter-spacing:.25em;font-size:13px}.area.k-mountains{color:#3a3a3a}.area:hover{color:#000}.area.k-sea:hover{color:#fff}.edge{flex-direction:column;align-items:center;display:flex;pointer-events:none!important}.edge small{font:700 9px/1 var(--sc);letter-spacing:.25em;text-transform:uppercase;color:#6c6a66;margin-bottom:2px}.edge-ribbon{font-family:var(--sc);border:1.5px solid var(--ink);box-shadow:var(--shadow);background:linear-gradient(#f8f0dc,#ecdfc0);border-radius:2px;padding:3px 16px 4px;font-size:17px;font-weight:700}.top{pointer-events:none;z-index:30;align-items:center;gap:14px;transition:opacity .5s,transform .5s;display:flex;position:absolute;top:14px;left:14px;right:14px}.top>*{pointer-events:auto}.brand{border:1.5px solid var(--ink);box-shadow:var(--shadow);background:linear-gradient(#f8f0dc,#ead9b4);border-radius:40px;align-items:center;gap:10px;padding:6px 14px 6px 8px;display:flex}.brand .medallion{width:38px;height:38px;color:var(--ink)}.brand h1{font:600 18px/1 var(--display);letter-spacing:.06em;margin:0}.brand p{color:var(--ink-soft);margin:2px 0 0;font-size:12px;font-style:italic}.modes{border:1.5px solid var(--ink);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2b333cd1;border-radius:30px;gap:2px;margin:0 auto;padding:4px;display:flex}.modes button{color:#e9e0c8;font:600 14px var(--sc);letter-spacing:.06em;background:0 0;border:0;border-radius:22px;padding:7px 18px;transition:background .25s,color .25s}.modes button.on{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:linear-gradient(#f8f0dc,#e2cf9f)}.tools{align-items:center;gap:8px;display:flex}.tbtn{border:1.5px solid var(--ink);box-shadow:var(--shadow);font:600 13px var(--sc);background:linear-gradient(#f8f0dc,#ead9b4);border-radius:22px;align-items:center;gap:6px;padding:7px 12px;display:flex}.tbtn:hover{background:#fffaf0}.search{position:relative}.search input{border:1.5px solid var(--ink);width:230px;font:14px var(--serif);color:var(--ink);box-shadow:var(--shadow);background:#faf4e6f2;border-radius:22px;outline:none;padding:8px 14px}.search input:focus{background:#fffdf6}.results{background:var(--cream);border:1.5px solid var(--ink);min-width:280px;box-shadow:var(--shadow);border-radius:10px;max-height:60vh;padding:4px;display:none;position:absolute;top:42px;left:0;right:0;overflow:auto}.results.open{display:block}.results button{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:6px 10px;display:block}.results button:hover{background:#fff8e6}.results small{color:var(--ink-soft);text-transform:capitalize;font-size:11px;display:block}.results em{color:var(--ink-soft);padding:8px;display:block}.layers{position:relative}.layer-menu{background:var(--cream);border:1.5px solid var(--ink);box-shadow:var(--shadow);white-space:nowrap;border-radius:10px;padding:10px 14px;display:none;position:absolute;top:44px;right:0}.layers.open .layer-menu{display:block}.layer-menu label{cursor:pointer;padding:3px 0;font-size:14px;display:block}.panel,.chronicle{border:1.5px solid var(--ink);z-index:25;background:linear-gradient(#fbf5e6,#f1e5c7);border-radius:14px;flex-direction:column;width:min(420px,100vw - 32px);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s;display:flex;position:absolute;top:76px;bottom:16px;overflow:hidden;box-shadow:0 10px 40px #0a0e1459}.panel{opacity:0;right:16px;transform:translate(calc(100% + 30px))}.panel.open{opacity:1;transform:none}.chronicle{opacity:0;left:16px;transform:translate(calc(-100% - 30px))}.chronicle.open{opacity:1;transform:none}.panel:before,.chronicle:before{content:"";pointer-events:none;border:1px solid #3a2e2240;border-radius:10px;position:absolute;inset:6px}.x{border:1.5px solid var(--ink);background:var(--cream);z-index:2;border-radius:50%;width:30px;height:30px;font-size:18px;line-height:1;position:absolute;top:10px;right:12px}.panel-body{-webkit-user-select:text;user-select:text;padding:22px 22px 30px;overflow:auto}.p-head{border-bottom:2px solid var(--rc,var(--gold));align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.p-badge{border:2px solid var(--ink);background:radial-gradient(circle at 35% 30%, #fffaf0, var(--cream-2));border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:20px;display:grid}.p-badge .ico{width:26px;height:26px}.p-kind{font:600 12px var(--sc);text-transform:capitalize;letter-spacing:.08em;color:var(--ink-soft)}.p-kind a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rc,var(--gold));text-decoration-color:var(--rc,var(--gold));cursor:pointer}.p-head h2{font:600 26px/1.1 var(--display);margin:2px 0 0}.lead{margin:0 0 12px;font-size:16px;line-height:1.55}.note{color:var(--ink-soft);margin:-6px 0 10px;font-size:13px;font-style:italic}.imagined{color:#4a3d2e;border-left:3px solid var(--gold);background:#c9a24a1f;border-radius:0 8px 8px 0;margin:0 0 12px;padding:8px 12px;font-size:15px;font-style:italic;line-height:1.5}.imagined span{font:700 10px var(--sc);letter-spacing:.18em;text-transform:uppercase;color:#8a6a2a;margin-bottom:2px;font-style:normal;display:block}.play{border:1.5px solid var(--ink);color:#f4ead3;font:600 13px var(--sc);letter-spacing:.05em;box-shadow:var(--shadow);background:linear-gradient(#3b4652,#27303a);border-radius:20px;padding:7px 14px;transition:transform .15s}.play:hover{background:linear-gradient(#4a5868,#2e3843);transform:translateY(-1px)}.play.big{width:100%;margin:4px 0 8px;padding:10px;font-size:15px}.sec{font:700 12px var(--sc);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:8px;margin:20px 0 8px;display:flex}.sec:after{content:"";background:#3a2e2240;flex:1;height:1px}.ev{border:1px solid #3a2e224d;border-left:4px solid var(--bc);background:#fffcf4b3;border-radius:8px;margin-bottom:10px;padding:12px}.ev header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.ev header b{font-family:var(--sc);font-size:16px}.ev header small{color:var(--ink-soft);font-style:italic;display:block}.ev .dot{background:var(--bc);border:1px solid var(--ink);border-radius:50%;flex:none;width:10px;height:10px}.ev p{margin:0 0 8px;font-size:14px;line-height:1.5}.ev .imagined{font-size:13.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--edge);font:13px var(--serif);background:#fbf5e6;border-radius:14px;padding:3px 10px}.chips button:hover{border-color:var(--ink);background:#fff}.chips button.imp1{font-weight:700}.chron-head{border-bottom:1px solid #3a2e2240;padding:20px 22px 12px}.chron-head h2{font:600 24px var(--display);margin:0}.chron-head p{color:var(--ink-soft);margin:4px 0 0;font-style:italic}.books{padding:8px 14px 30px;overflow:auto}.book{border-left:4px solid var(--bc);margin:12px 0;padding:4px 0 6px 12px}.book.playing{background:#c9a24a1f;border-radius:0 8px 8px 0}.book-head h3{font:600 18px var(--sc);margin:0}.book-head small{color:var(--ink-soft);font-style:italic}.journey{border:1.5px solid var(--ink);color:#f4ead3;font:600 13px var(--sc);background:linear-gradient(#3b4652,#27303a);border-radius:16px;margin:8px 0 6px;padding:5px 12px}.journey small{opacity:.7;margin-left:4px}.book ol{margin:4px 0 0;padding-left:20px}.book li{margin:2px 0}.book li button{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:3px 4px}.book li button:hover{background:#ffffffb3}.book li b{font-size:14px;font-weight:600}.book li small{color:var(--ink-soft);font-size:12px;font-style:italic;display:block}#app:before,#app:after{content:"";z-index:20;pointer-events:none;background:#0c0f14;height:0;transition:height .9s cubic-bezier(.6,0,.2,1);position:absolute;left:0;right:0}#app:before{top:0}#app:after{bottom:0}#app.cinematic:before,#app.cinematic:after{height:7vh}#app.cinematic .top{opacity:.25;transform:translateY(-8px)}#app.cinematic .top:hover{opacity:1}#app.cinematic .hint{opacity:0}.caption{text-align:center;z-index:22;opacity:0;pointer-events:none;color:#f6eedb;text-shadow:0 2px 10px #000000d9,0 0 2px #000000e6;width:min(760px,100vw - 40px);transition:opacity .6s,transform .6s;position:absolute;bottom:calc(7vh + 18px);left:50%;transform:translate(-50%,30px)}.caption.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.cap-kicker{font:700 12px var(--sc);letter-spacing:.28em;text-transform:uppercase;color:var(--bc)}.cap-title{font:600 clamp(24px, 3.4vw, 40px)/1.15 var(--display);margin:4px 0 8px}.cap-line{font:italic 400 clamp(16px, 1.7vw, 21px)/1.4 var(--serif);opacity:0;min-height:1.5em}.cap-line.in{animation:.9s forwards linein}@keyframes linein{0%{opacity:0;letter-spacing:.04em;transform:translateY(8px)}to{opacity:1;letter-spacing:0;transform:none}}.cap-bar{background:#ffffff26;border-radius:2px;width:60%;height:2px;margin:14px auto 8px;overflow:hidden}.cap-bar i{background:var(--bc);width:0;height:100%;display:block}.cap-ctrl{justify-content:center;gap:8px;display:flex}.cap-ctrl button{color:#f6eedb;background:#0a0e1480;border:1px solid #fff6;border-radius:15px;place-items:center;width:34px;height:30px;font-size:12px;display:grid}.cap-ctrl button:hover{background:#ffffff26}.hint{color:#f4ead3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;white-space:nowrap;background:#1e242c99;border-radius:16px;padding:6px 14px;font-size:13px;transition:opacity .5s;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.loader{z-index:100;background:radial-gradient(#f6ecd4 0%,#e3d2a8 70%,#c9b582 100%);place-items:center;transition:opacity 1.4s,visibility 1.4s;display:grid;position:absolute;inset:0}.loader.done{opacity:0;visibility:hidden}.loader-in{text-align:center}.loader .medallion{width:110px;height:110px;color:var(--ink);transform-origin:50% -20%;animation:3.2s ease-in-out infinite swing}@keyframes swing{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.loader h2{font:600 34px var(--display);letter-spacing:.08em;margin:14px 0 4px}.lstate{color:var(--ink-soft);margin:0 0 14px;font-style:italic}.lbar{background:#3a2e2233;border-radius:2px;width:260px;height:4px;margin:0 auto 18px;overflow:hidden}.lbar i{background:var(--ink);width:0;height:100%;transition:width .4s;display:block}.loader small{color:var(--ink-soft);font-size:11px}@media (width<=860px){.brand p,.tbtn span,.hint{display:none}.search input{width:140px}.modes button{padding:6px 10px}.top{flex-wrap:wrap}.panel,.chronicle{height:62vh;top:auto;bottom:10px}}.cap-ctrl .ico{width:14px;height:14px}
