.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--bg: #0B1120;--bg-raise: #131C31;--panel: #0F172A;--panel-raise: #182238;--overlay: rgba(11, 17, 32, .94);--line: #2E3A55;--line-soft: #24304A;--text: #EDE9E0;--text-dim: #C7C9D3;--muted: #A6A9B8;--faint: #8B8FA3;--accent: #F5C15D;--accent-strong: #F59E0B;--accent-deep: #D97706;--violet: #7189CC;--violet-soft: #A8B6E8;--positive: #5fbf9c;--negative: #e0656f;--mixed: #d9a55f;--neutral-rel: #8B8FA3;--danger-bg: #3b1820;--danger-line: #9c3f51;--font-display: Georgia, "Palatino Linotype", Palatino, "Songti SC", STSong, "Noto Serif SC", SimSun, serif;--font-body: Inter, ui-sans-serif, system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius-s: 8px;--radius-m: 12px;--radius-l: 18px;--gap-s: 8px;--gap-m: 16px;--gap-l: 24px;--speed: .18s;--shadow-pop: 0 18px 60px rgba(0, 0, 0, .55);font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1100px 520px at 18% -5%,#1C2646 0%,transparent 55%),radial-gradient(900px 420px at 98% 0%,#10233A 0%,transparent 50%),radial-gradient(700px 300px at 50% 112%,rgba(217,119,6,.07),transparent 60%),var(--bg)}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;line-height:1.28}h1{margin:2px 0;font-size:clamp(1.6rem,3vw,2.65rem)}p{margin:.4em 0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--violet-soft)}button,input,select,summary,[role=button]{transition:background var(--speed),border-color var(--speed),color var(--speed),box-shadow var(--speed),transform var(--speed)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:#d97706;color:#0b1120}*{scrollbar-width:thin;scrollbar-color:#3A4560 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#3a4560;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}main{max-width:1560px;margin:auto;padding:var(--gap-l)}.topbar{display:flex;gap:var(--gap-l);justify-content:space-between;align-items:center;margin-bottom:var(--gap-m);flex-wrap:wrap}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.eyebrow{color:var(--violet-soft);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;margin:0}.locale{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.locale button{border:0;background:var(--bg-raise);color:var(--text-dim);padding:10px 14px;min-height:44px}.locale button.active{background:var(--violet);color:#fff}.locale button:not(.active):hover{background:var(--panel-raise)}.error{background:var(--danger-bg);border:1px solid var(--danger-line);padding:18px 20px;border-radius:var(--radius-m)}.error p{color:#f4c9c9}.global-search{position:relative}.global-search>input{width:min(340px,72vw);min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raise);color:var(--text);padding:10px 38px 10px 14px}.global-search>input::placeholder{color:var(--faint)}.global-search>input:hover{border-color:#47557a}.search-spinner{position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-results{position:absolute;z-index:1300;top:calc(100% + 8px);left:0;width:min(430px,calc(100vw - 28px));max-height:min(430px,60vh);overflow:auto;margin:0;padding:6px;list-style:none;background:var(--overlay);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.search-results li.empty{padding:14px;color:var(--muted)}.search-results button{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;width:100%;text-align:left;border:0;background:none;color:var(--text);padding:10px 12px;border-radius:var(--radius-s);min-height:44px}.search-results button:hover,.search-results button:focus-visible{background:var(--panel-raise)}.search-results button small{grid-column:2;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kind-chip{font-size:.68rem;letter-spacing:.06em;padding:3px 8px;border-radius:99px;border:1px solid var(--line);color:var(--text-dim);white-space:nowrap}.kind-chip.work{color:#f0c987;border-color:#7a6234}.kind-chip.character{color:#b7dff0;border-color:#3e6377}.kind-chip.event{color:#f0b7c5;border-color:#77404f}.kind-chip.location{color:#b3e6c8;border-color:#3d6b52}.picker{position:relative}.picker summary{list-style:none;cursor:pointer;min-width:220px;min-height:44px;display:flex;align-items:center;border:1px solid var(--line);background:var(--bg-raise);color:var(--text);padding:10px 14px;border-radius:10px}.picker summary::-webkit-details-marker{display:none}.picker summary:after{content:"▾";margin-left:auto;padding-left:10px;color:var(--faint)}.picker[open] summary:after{content:"▴"}.picker summary:hover{border-color:#47557a}.picker-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:1200;width:min(560px,calc(100vw - 28px));padding:14px;background:var(--overlay);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mode{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-s)}.mode button{border:1px solid var(--line);background:var(--panel);color:var(--text-dim);border-radius:var(--radius-s);padding:10px;min-height:44px}.mode button.active{background:#2c3e66;color:#fff;border-color:#7a68ab}.selected-chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.selected-chips span{display:flex;border:1px solid;border-radius:99px;overflow:hidden}.selected-chips span.active{box-shadow:0 0 0 2px #ffffff59}.selected-chips button{border:0;background:#262538;color:var(--text);padding:7px 10px;min-height:36px}.selected-chips button:hover{background:#322f4a}.selected-chips button+button{padding-left:4px;color:var(--muted)}.picker-filters{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap-s);margin:8px 0}.picker-filters input,.picker-filters select{min-width:0;min-height:44px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:var(--radius-s);padding:9px 12px}.work-list{max-height:min(430px,48vh);overflow:auto}.work-list label{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:9px;cursor:pointer}.work-list label:hover{background:var(--panel-raise)}.work-list label.disabled{opacity:.42;cursor:not-allowed}.work-list label>i{flex:0 0 10px;width:10px;height:40px;border-radius:5px}.work-list label>span{display:flex;flex:1;min-width:0;flex-direction:column}.work-list small{color:var(--muted);margin-top:3px}.work-list .primary{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:7px;padding:6px 9px;align-self:center}.work-list .primary.active{color:#fff;background:#2c3e66;border-color:#7a68ab}.selection-error{color:#ffab9e;border-top:1px solid #4b3339;padding:10px 0 0;margin:10px 0 0}.compare-bar{display:flex;align-items:center;gap:var(--gap-s);flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line-soft);background:var(--panel);border-radius:var(--radius-m)}.compare-bar>span{color:var(--muted);font-size:.82rem}.compare-bar button{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:var(--radius-s);padding:8px 12px;min-height:40px}.compare-bar button.active{background:var(--panel-raise);color:#fff;box-shadow:inset 0 -2px 0 currentColor}.compare-bar button i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.compare-bar p{margin:0 0 0 auto;color:var(--faint);font-size:.78rem}.hero{display:flex;gap:var(--gap-l);justify-content:space-between;align-items:center;background:#1a1a2cd9;border:1px solid;border-radius:var(--radius-l);padding:20px 24px;margin-bottom:var(--gap-m)}.hero h2{margin:8px 0;font-size:clamp(1.3rem,2.4vw,1.9rem)}.hero p{max-width:860px;color:var(--text-dim)}.hero small{color:var(--muted)}.hero .copy{border:1px solid var(--line);background:var(--bg-raise);color:var(--text);padding:10px 16px;border-radius:10px;min-height:44px;white-space:nowrap}.hero .copy:hover{border-color:var(--accent);color:var(--accent)}.badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid;padding:4px 9px;border-radius:99px}.historical_document{color:#e0b76f}.historical_fiction{color:#ec8797}.realist_fiction{color:#79d9cd}.fantasy{color:#b99cff}.mythic_epic{color:#f1c85d}.era-rail{display:flex;gap:var(--gap-s);overflow-x:auto;padding:2px 2px 10px;margin-bottom:4px;scrollbar-width:thin}.era-rail button{--era: var(--violet);flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-soft);background:var(--panel);color:var(--text-dim);border-radius:99px;padding:9px 16px;min-height:44px;white-space:nowrap}.era-rail button i{width:10px;height:10px;border-radius:50%;background:var(--era)}.era-rail button small{color:var(--faint);font-variant-numeric:tabular-nums}.era-rail button:hover{border-color:var(--era);color:var(--text)}.era-rail button.active{border-color:var(--era);color:#fff;background:color-mix(in srgb,var(--era) 22%,var(--panel))}.era-rail button.active small{color:var(--text-dim)}.era-rail button:first-child i{display:none}.epigraph{margin:4px 0 var(--gap-m);padding-left:14px;border-left:2px solid var(--accent-deep)}.epigraph blockquote{margin:0;font-family:var(--font-display);font-size:1.05rem;line-height:1.7;color:var(--text-dim)}.epigraph cite{display:block;text-align:right;font-style:normal;color:var(--muted);font-size:.8rem;margin-top:4px}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #5A4A26;background:#221a0c;border-radius:var(--radius-m);padding:10px 14px;margin-bottom:var(--gap-m)}.filter-bar strong{color:var(--accent);font-weight:600;font-size:.85rem}.filter-chip{border:1px solid #5A4A26;background:#221a0c;color:#f2dfb2;border-radius:99px;padding:5px 12px;font-size:.82rem}.filter-count{color:var(--muted);font-size:.82rem;margin-left:auto;font-variant-numeric:tabular-nums}.filter-bar>button{border:1px solid var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:var(--radius-s);padding:8px 12px;min-height:40px}.filter-bar>button:hover{border-color:var(--accent);color:var(--accent)}.workspace{display:flex;gap:var(--gap-l);min-height:600px}.map-shell{position:relative;flex:1;min-width:0}.workspace.graph-wide{flex-direction:column;min-height:0}.graph-wide .map-shell{flex:0 0 auto}.graph-wide .map-stage{height:380px}.graph-wide .browser{width:100%;flex:1 1 auto}.graph-wide .graph-canvas-wrap{min-height:600px}.graph-wide .adjacency-scroll{max-height:640px}.browser{width:440px;flex:0 0 440px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-l);overflow:hidden;display:flex;flex-direction:column}.browser>nav{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line-soft)}.browser>nav button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;color:var(--muted);padding:10px 3px;font-size:.82rem;min-height:52px}.browser>nav button b{font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}.browser>nav button:hover{color:var(--text)}.browser>nav button.active{color:#fff;background:#292344;box-shadow:inset 0 -2px 0 var(--accent)}.browser>nav button.active b{color:var(--accent)}.list-filter{padding:10px 12px 0}.list-filter input{width:100%;min-height:44px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 14px}.list-filter input::placeholder{color:var(--faint)}.cards{position:relative;padding:10px 12px;overflow:auto;flex:1;min-height:0;max-height:560px}.virtual-canvas{position:relative;width:100%}.virtual-row{position:absolute;top:0;left:0;width:100%}.cards article{position:relative;padding:13px 12px;border-bottom:1px solid var(--line-soft);cursor:pointer;border-radius:var(--radius-s)}.cards article:hover{background:var(--panel-raise)}.cards article.selected{background:#2c2544;box-shadow:inset 3px 0 0 var(--accent)}.cards h3{margin:0 0 5px;font-size:1rem;display:flex;align-items:baseline;gap:8px}.cards p{margin:0 0 6px;color:var(--text-dim);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cards small{color:var(--muted)}.cards .empty{padding:22px 12px;color:var(--muted)}.importance{color:var(--accent);font-size:.6rem;letter-spacing:2px;font-style:normal}.sequence{float:right;border:2px solid #71628c;border-radius:50%;min-width:28px;height:28px;padding:0 4px;margin-left:8px;display:grid;place-items:center;font-size:.78rem;font-variant-numeric:tabular-nums}.sequence.approximate,.sequence.range,.sequence.relative,.sequence.unknown{border-style:dashed}.mini-person{float:left;width:30px;height:30px;margin-right:10px;border:3px solid;border-radius:50%;position:relative;background:#221f33}.mini-person:after{content:"";position:absolute;width:12px;height:8px;background:#d8d1df;border-radius:50% 50% 35% 35%;left:6px;top:11px}.mini-person.female{border-radius:50% 50% 38% 38%}.place-type{float:left;width:10px;height:32px;background:var(--violet);margin-right:10px;border-radius:8px}.place-type.type-building,.place-type.type-landmark,.place-type.type-religious_site{border-radius:2px}.place-type.inferred{background:repeating-linear-gradient(45deg,var(--violet) 0 4px,#55467c 4px 8px)}.confidence{font-size:.78rem}.confidence.high{color:var(--positive)}.confidence.medium{color:var(--mixed)}.confidence.low{color:#e39aa2}.map-stage{height:620px;position:relative}.map,.fictional{height:100%;border-radius:var(--radius-l);overflow:hidden;border:1px solid #403a55;background:#171628}.map{z-index:0}.map-fit{position:absolute;z-index:800;top:12px;right:12px;border:1px solid #6a5f83;background:var(--overlay);color:#fff;border-radius:var(--radius-s);padding:9px 13px;min-height:40px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-fit:hover{border-color:var(--accent);color:var(--accent)}.map-controls{position:absolute;z-index:700;left:12px;top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;max-width:calc(100% - 24px)}.map-layers{display:flex;gap:12px;margin:0;padding:9px 12px;background:var(--overlay);border:1px solid var(--line);border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-layers legend{position:absolute;left:-9999px}.map-layers label{font-size:.78rem;display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:var(--text-dim)}.map-layers input{accent-color:var(--accent);width:16px;height:16px}.map-legend{background:var(--overlay);border:1px solid var(--line);border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:300px}.map-legend summary{list-style:none;cursor:pointer;padding:9px 12px;font-size:.78rem;color:var(--text-dim)}.map-legend summary::-webkit-details-marker{display:none}.map-legend summary:before{content:"◧ ";color:var(--accent)}.map-legend>div{padding:0 12px 10px}.legend-note{color:var(--faint);font-size:.72rem;margin:6px 0 4px}.map-legend ul{list-style:none;margin:0;padding:0;font-size:.75rem;color:var(--text-dim)}.map-legend li{display:flex;align-items:center;gap:7px;padding:2px 0}.legend-dot{width:12px;height:12px;border-radius:50%;border:2px solid #cfc4e6;background:#443c60}.legend-dot.uncertain{border-style:dashed}.legend-eras{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.legend-eras i{width:10px;height:10px;border-radius:3px;flex:0 0 10px}.atlas-marker{background:transparent}.atlas-marker>span{--accent: var(--violet);display:grid;place-items:center;border:3px solid #efe6ff;border-radius:50%;background:var(--accent);box-shadow:0 2px 10px #0000008c,0 0 14px color-mix(in srgb,var(--accent),transparent 45%);transition:transform var(--speed),opacity var(--speed),border-color var(--speed)}.atlas-marker svg{width:58%;height:58%;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.atlas-marker.uncertain>span{border-style:dashed}.atlas-marker:hover>span{transform:scale(1.12)}.atlas-marker.selected>span{border-color:var(--accent);transform:scale(1.4);animation:pulse 1.2s ease-out 3}.atlas-marker.dimmed>span{opacity:.38}.atlas-marker.out-of-range>span{opacity:.25;filter:grayscale(.7)}@keyframes pulse{0%{box-shadow:0 0 #f5c15da8}to{box-shadow:0 0 0 18px #f5c15d00}}.atlas-marker-label{position:absolute;left:50%;top:100%;transform:translate(-50%,4px);font-size:11px;font-weight:600;color:#f4eefc;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 6px #000;pointer-events:none}.atlas-cluster{background:transparent}.atlas-cluster>span{--accent: var(--accent-deep);display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--accent) 82%,#fff),var(--accent) 68%);border:3px solid rgba(240,230,255,.92);color:#1c1917;font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums;box-shadow:0 3px 14px #0009,0 0 0 6px color-mix(in srgb,var(--accent),transparent 78%);transition:transform var(--speed)}.atlas-cluster:hover>span{transform:scale(1.08)}.atlas-route{cursor:pointer}.atlas-route.active{stroke-dasharray:12 10;animation:route-flow 1.1s linear infinite}@keyframes route-flow{to{stroke-dashoffset:-22}}.atlas-trajectory{pointer-events:none;animation:trajectory-flow 2.2s linear infinite}@keyframes trajectory-flow{to{stroke-dashoffset:-11}}.leaflet-container{background:#10131f;font:inherit}.leaflet-popup-content-wrapper,.leaflet-tooltip{background:var(--overlay);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.leaflet-tooltip{padding:8px 10px;font-size:.8rem}.leaflet-tooltip-top:before{border-top-color:var(--line)}.leaflet-tooltip-bottom:before{border-bottom-color:var(--line)}.leaflet-tooltip-left:before{border-left-color:var(--line)}.leaflet-tooltip-right:before{border-right-color:var(--line)}.leaflet-popup-content{margin:12px 14px;display:grid;gap:5px}.leaflet-popup-content p{margin:0;color:var(--text-dim)}.leaflet-popup-content small{color:var(--muted)}.leaflet-popup-content em{color:var(--mixed);font-size:.78rem}.leaflet-popup-tip{background:var(--overlay);border:1px solid var(--line)}.leaflet-popup-close-button{color:var(--muted)!important;font-size:18px!important;padding:6px 8px 0 0!important}.leaflet-bar{border:1px solid var(--line)!important;box-shadow:var(--shadow-pop)!important}.leaflet-bar a{background:var(--overlay)!important;color:var(--text)!important;border-bottom:1px solid var(--line-soft)!important;width:34px!important;height:34px!important;line-height:34px!important}.leaflet-bar a:hover{background:var(--panel-raise)!important;color:var(--accent)!important}.leaflet-control-attribution{background:#0d111bbf!important;color:var(--faint)!important;font-size:.62rem!important}.leaflet-control-attribution a{color:var(--muted)!important}.fictional{display:flex;flex-direction:column}.fictional svg{width:100%;flex:1;background:radial-gradient(circle at 50% 40%,#2d2744,#11121d 78%)}.mountains{fill:none;stroke:#3a3554;stroke-width:7;stroke-linejoin:round;opacity:.55}.quest{fill:none;stroke-width:.8;stroke-dasharray:2 1;cursor:pointer;opacity:.8}.quest:hover{opacity:1;stroke-width:1.1}.place{cursor:pointer}.place circle{stroke:#ece5f5;stroke-width:.35;transition:r var(--speed)}.place:hover circle{stroke-width:.8}.place text{fill:#f5efe5;font-size:3px;paint-order:stroke;stroke:#11121d;stroke-width:.7}.place.selected circle{stroke:var(--accent);stroke-width:1}.canvas-note{text-align:center;color:var(--faint);font-size:.72rem;margin:6px 0}.relation-graph{display:flex;flex-direction:column;flex:1;min-height:0}.graph-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line-soft)}.graph-tiers{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.graph-tiers button{border:0;background:var(--bg-raise);color:var(--muted);padding:8px 11px;font-size:.8rem;min-height:40px}.graph-tiers button+button{border-left:1px solid var(--line-soft)}.graph-tiers button:hover{color:var(--text)}.graph-tiers button.active{background:#2c3e66;color:#fff}.graph-count{margin:0;color:var(--faint);font-size:.75rem;font-variant-numeric:tabular-nums}.graph-mode,.graph-reset{margin-left:auto;border:1px solid var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:var(--radius-s);padding:8px 11px;font-size:.8rem;min-height:40px}.graph-reset{margin-left:0}.graph-mode:hover,.graph-reset:hover{border-color:var(--accent);color:var(--accent)}.graph-canvas-wrap{position:relative;flex:1;min-height:420px}.graph-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.graph-canvas:active{cursor:grabbing}.graph-tooltip{position:absolute;z-index:40;max-width:260px;pointer-events:none;background:var(--overlay);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.graph-tooltip p{margin:4px 0 0;color:var(--text-dim);font-size:.8rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.graph-tooltip small{color:var(--muted)}.graph-hint{position:absolute;left:12px;bottom:8px;margin:0;color:var(--faint);font-size:.72rem;pointer-events:none;text-shadow:0 1px 3px #000}.graph-legend{position:absolute;right:12px;bottom:8px;display:flex;gap:12px;margin:0;padding:6px 10px;list-style:none;background:#0d111bcc;border:1px solid var(--line-soft);border-radius:8px;font-size:.7rem;color:var(--text-dim)}.graph-legend li{display:flex;align-items:center;gap:5px}.graph-legend i{width:14px;height:3px;border-radius:2px}.graph-legend .positive i{background:var(--positive)}.graph-legend .negative i{background:var(--negative)}.graph-legend .mixed i{background:var(--mixed)}.graph-legend .neutral i{background:var(--neutral-rel)}.hidden-note{padding:6px 12px;margin:0;color:var(--faint);font-size:.75rem;border-top:1px solid var(--line-soft)}.hidden-note button{border:0;background:none;color:var(--violet-soft);text-decoration:underline;padding:2px 4px}.adjacency-scroll{overflow:auto;flex:1;min-height:0;max-height:520px}.adjacency{width:100%;border-collapse:collapse;font-size:.85rem}.adjacency caption{text-align:left;padding:10px 14px;color:var(--muted);font-size:.78rem}.adjacency th{position:sticky;top:0;z-index:2;background:var(--panel-raise);color:var(--text-dim);text-align:left;font-weight:600;padding:9px 12px;border-bottom:1px solid var(--line)}.adjacency td{padding:8px 12px;border-bottom:1px solid var(--line-soft)}.adjacency tbody tr:hover{background:var(--panel-raise)}.adjacency td button{border:0;background:none;color:var(--violet-soft);padding:4px 2px;text-align:left}.adjacency td button:hover{color:#fff;text-decoration:underline}.sentiment-chip{border:1px solid;border-radius:99px;padding:3px 9px;font-size:.72rem;white-space:nowrap}.sentiment-chip.positive{color:#8fdcbf;border-color:#3f7a63}.sentiment-chip.negative{color:#f1a0a8;border-color:#8a4a52}.sentiment-chip.mixed{color:#ecc890;border-color:#8a6c3c}.sentiment-chip.neutral{color:var(--text-dim);border-color:var(--line)}.timeline{margin:var(--gap-l) 0;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-l);padding:16px 18px}.timeline-head{display:flex;gap:var(--gap-m);align-items:center;flex-wrap:wrap}.timeline-head h2{margin:2px 0;font-size:1.25rem}.timeline-modes{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.timeline-modes button{border:0;background:var(--bg-raise);color:var(--muted);padding:9px 14px;min-height:44px}.timeline-modes button+button{border-left:1px solid var(--line-soft)}.timeline-modes button.active{background:#2c3e66;color:#fff}.timeline-actions{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}.timeline-actions button{border:1px solid var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:var(--radius-s);padding:8px 12px;min-height:40px}.timeline-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.timeline-actions output{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.timeline-hint{color:var(--faint);font-size:.75rem;margin:6px 0 0}.timeline-scroll{overflow-x:auto}.timeline-scroll svg{min-width:940px;width:100%;height:260px;display:block}.axis{stroke:#6f6885;stroke-width:1}.tick line{stroke:#4d4763}.tick text{fill:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.era-band{cursor:pointer}.era-band rect{transition:opacity var(--speed)}.era-band:hover rect{opacity:.75}.era-band.selected rect{stroke:#fff;stroke-width:1}.era-label{fill:#1c1917;font-size:10px;font-weight:700;pointer-events:none}.density rect{opacity:.5;cursor:pointer;transition:opacity var(--speed)}.density:hover rect{opacity:.85}.timeline-node{cursor:pointer}.timeline-node circle{stroke-width:2;transition:r var(--speed)}.timeline-node:hover circle{r:7}.timeline-node .stem{stroke:#4d4763;stroke-width:1}.timeline-node.uncertain circle{stroke-dasharray:3 2}.timeline-node.muted{opacity:.25}.timeline-node.selected circle{stroke:var(--accent)}.timeline-node.selected .node-label{fill:var(--accent)}.node-label{fill:var(--text-dim);font-size:10.5px;paint-order:stroke;stroke:#0d111bd9;stroke-width:3}.brush{fill:#f3c96924;stroke:var(--accent);stroke-dasharray:4 3}.brush-surface{fill:transparent;cursor:crosshair}.timeline-note{color:var(--faint);font-size:.75rem;margin:8px 0 0}.undated{border-top:1px dashed var(--line);margin-top:12px;padding-top:10px}.undated strong{color:var(--text-dim);font-size:.82rem}.undated p{color:var(--faint);font-size:.75rem;margin:3px 0 8px}.undated-chips{display:flex;gap:7px;flex-wrap:wrap}.undated-chips button{border:1px dashed var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:99px;padding:6px 12px;font-size:.8rem;min-height:36px}.undated-chips button:hover{border-color:var(--accent);color:var(--accent)}.entity-drawer{position:fixed;right:20px;top:20px;bottom:20px;z-index:2000;width:min(480px,calc(100vw - 30px));overflow:auto;background:var(--overlay);border:1px solid #6f6288;border-radius:var(--radius-l);padding:22px;box-shadow:0 20px 80px #000000bf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:drawer-in .22s cubic-bezier(.2,.8,.25,1)}@keyframes drawer-in{0%{transform:translate(28px);opacity:0}to{transform:none;opacity:1}}.entity-drawer .close{float:right;border:0;background:none;color:var(--muted);font-size:1.5rem;line-height:1;width:44px;height:44px;border-radius:50%}.entity-drawer .close:hover{color:#fff;background:var(--panel-raise)}.entity-drawer>small,.entity-drawer header small{color:var(--muted)}.entity-drawer>header{display:flex;gap:14px;align-items:center}.entity-drawer h2{margin:4px 0}.entity-drawer h3{margin:14px 0 6px;font-size:.95rem;color:var(--text-dim)}.entity-drawer p{line-height:1.6;color:var(--text-dim)}.entity-drawer section{margin:12px 0}.aliases{color:var(--muted);font-size:.85rem}.person-avatar{position:relative;display:inline-grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;overflow:hidden}.person-avatar svg{width:58px;height:58px;fill:#f3edf7}.person-avatar.child svg{transform:scale(.8)}.identity-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.identity-tags span{border:1px solid #514a61;background:#242532;border-radius:99px;padding:4px 10px;font-size:.74rem;color:var(--text-dim)}.entity-drawer dl{display:grid;grid-template-columns:132px 1fr;gap:7px 10px;margin:12px 0}.entity-drawer dt{color:var(--muted);font-size:.85rem}.entity-drawer dd{margin:0;font-size:.9rem}.drawer-actions,.drawer-links{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.drawer-actions button,.drawer-links button,.relation-pair button,.entity-drawer li button{border:1px solid #514a63;background:#262333;color:var(--text);border-radius:var(--radius-s);padding:9px 12px;min-height:40px}.drawer-actions button:hover,.drawer-links button:hover,.relation-pair button:hover{border-color:var(--accent);color:var(--accent)}.drawer-links h3{width:100%;margin:10px 0 0}.drawer-nav{display:flex;gap:7px;margin:10px 0}.drawer-nav button{flex:1;border:1px solid var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:var(--radius-s);padding:9px 10px;min-height:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.link{border:0;background:none;color:var(--violet-soft);padding:2px 0;text-align:left;text-decoration:underline;text-underline-offset:3px}.link:hover{color:#fff}.relation-row{display:block;width:100%;text-align:left;margin:6px 0;border:1px solid #514a63;border-left-width:4px;background:#262333;color:var(--text);border-radius:var(--radius-s);padding:10px 12px}.relation-row:hover{background:#2f2b41}.relation-row.positive{border-left-color:var(--positive)}.relation-row.negative{border-left-color:var(--negative)}.relation-row.mixed{border-left-color:var(--mixed)}.relation-row.neutral{border-left-color:var(--neutral-rel)}.relation-row small{display:block;color:var(--muted);margin-top:3px}.relation-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.relation-pair button{display:flex;align-items:center;gap:8px}.relation-pair .person-avatar{width:42px;height:42px;flex-basis:42px}.relation-pair .person-avatar svg{width:38px;height:38px}.waypoints{margin:6px 0;padding-left:22px;display:grid;gap:7px}.waypoints small{margin-left:8px}.source-name{border-left:3px solid #796b93;padding-left:8px;color:var(--text-dim);font-size:.85rem}footer{border-top:1px solid var(--line-soft);margin-top:var(--gap-l);padding-top:14px;color:var(--muted)}footer h2{font-size:1.1rem}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:4px 18px}footer details{padding:7px 0;border-bottom:1px solid var(--line-soft)}footer summary{cursor:pointer;color:var(--text-dim)}footer summary:hover{color:var(--text)}footer details p{color:var(--muted);font-size:.85rem}.skeleton{display:grid;gap:var(--gap-m)}.skeleton-hero,.skeleton-map,.skeleton-card,.skeleton-timeline{border-radius:var(--radius-l);background:linear-gradient(100deg,var(--panel) 40%,var(--panel-raise) 50%,var(--panel) 60%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-hero{height:120px}.skeleton-workspace{display:flex;gap:var(--gap-l)}.skeleton-map{flex:1;height:620px}.skeleton-list{width:440px;flex:0 0 440px;display:grid;gap:10px;align-content:start}.skeleton-card{height:104px;border-radius:var(--radius-m)}.skeleton-timeline{height:180px}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes marker-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.atlas-marker>span,.atlas-cluster>span{animation:marker-in .24s cubic-bezier(.2,.8,.3,1.15) backwards;animation-delay:var(--stagger, 0ms)}.atlas-marker.selected>span{animation:pulse 1.2s ease-out 3}.atlas-marker-label{opacity:0;transition:opacity .16s;pointer-events:none}.atlas-marker.labeled .atlas-marker-label,.atlas-marker:hover .atlas-marker-label{opacity:1}.leaflet-popup{animation:rise-in .2s ease-out}.leaflet-tooltip{animation:fade-in .15s ease-out}.epigraph{animation:rise-in .22s ease-out}.cards{animation:fade-in .18s ease-out}@media(min-width:1251px){main.has-drawer{max-width:none;margin:0;padding-right:520px}.entity-drawer{width:480px}}@media(max-width:1000px){main{padding:14px}.topbar,.hero{align-items:flex-start;flex-direction:column}.controls{width:100%}.global-search{flex:1}.global-search>input{width:100%}.workspace{flex-direction:column}.browser{width:100%;flex-basis:auto}.map-stage{height:480px}.cards{max-height:440px}.graph-canvas-wrap{min-height:380px}.entity-drawer{right:10px;top:10px;bottom:10px}.skeleton-workspace{flex-direction:column}.skeleton-map{height:480px}.skeleton-list{width:100%;flex-basis:auto}}@media(max-width:620px){.controls{flex-direction:column;align-items:stretch}.picker summary{width:100%}.picker-panel{position:fixed;top:8px;left:8px;right:8px;width:auto;max-height:calc(100vh - 16px);overflow:auto}.search-results{width:calc(100vw - 28px)}.map-stage{height:400px}.map-controls{top:auto;bottom:10px;flex-direction:row;flex-wrap:wrap}.map-legend>div{max-height:180px;overflow:auto}.browser>nav button{font-size:.7rem}.hero{padding:16px}.compare-bar p{width:100%;margin:4px 0 0}.timeline{padding:12px}.timeline-head{align-items:flex-start;flex-direction:column}.timeline-actions{margin-left:0}.entity-drawer dl{grid-template-columns:1fr;gap:2px}.entity-drawer dt{margin-top:8px}.relation-pair,.source-grid{grid-template-columns:1fr}.graph-legend{position:static;margin:6px 12px;justify-content:center;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.atlas-route.active,.atlas-trajectory{animation:none!important}}
