/* Anima Mundi — core styles (moved out of index.html). */
  :root{
    --glass:#080b12;
    --glass-2:#0d111b;
    --panel:#111726;
    --panel-2:#161d2e;
    --line:#26304a;
    --line-soft:#1b2336;
    --ink-text:#e9e4d6;
    --ink-dim:#9aa3b8;
    --ink-faint:#8a93a9;
    --gold:#c9a24b;
    --gold-bright:#e7c877;
    --gold-dim:#8a743a;
    /* family inks */
    --f-animist:#3fb8a0;
    --f-neareast:#d98a3d;
    --f-indoeuro:#9b7ede;
    --f-iranian:#e0555f;
    --f-dharmic:#f0a830;
    --f-eastasian:#5fc46b;
    --f-abrahamic:#4a9fe0;
    --f-diaspora:#d857a8;
    --f-modern:#9fb2cc;
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--glass);}
  body{
    font-family:'Manrope',system-ui,-apple-system,sans-serif;
    color:var(--ink-text);
    -webkit-font-smoothing:antialiased;
    display:flex;flex-direction:column;height:100dvh;
  }
  .serif{font-family:'Fraunces',Georgia,serif;}

  /* ---------- Top bar ---------- */
  header{
    flex:0 0 auto;
    display:flex;align-items:center;gap:14px;
    padding:10px 16px;
    background:linear-gradient(180deg,rgba(13,17,27,.96),rgba(8,11,18,.82));
    border-bottom:1px solid var(--line-soft);
    position:relative;z-index:40;
    backdrop-filter:blur(6px);
  }
  .brand{display:flex;flex-direction:column;line-height:1;margin-right:6px;min-width:0;}
  .brand .title{
    font-family:'Fraunces',serif;
    font-size:26px;font-weight:600;letter-spacing:.5px;
    color:var(--ink-text);white-space:nowrap;
  }
  .brand .title b{color:var(--gold-bright);font-weight:600;}
  .brand .sub{font-size:10.5px;color:var(--ink-faint);letter-spacing:2px;margin-top:3px;}
  .spacer{flex:1 1 auto;}

  .searchwrap{position:relative;flex:0 1 260px;min-width:120px;}
  .searchwrap input{
    width:100%;background:var(--glass-2);border:1px solid var(--line);
    color:var(--ink-text);border-radius:8px;padding:9px 12px 9px 32px;
    font-family:inherit;font-size:13.5px;outline:none;transition:border-color .2s;
  }
  .searchwrap input:focus{border-color:var(--gold-dim);}
  .searchwrap .mag{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:14px;pointer-events:none;}
  .search-results{
    position:absolute;top:calc(100% + 6px);left:0;right:0;
    background:var(--panel);border:1px solid var(--line);border-radius:10px;
    max-height:280px;overflow:auto;display:none;z-index:60;
    box-shadow:0 20px 50px rgba(0,0,0,.55);
  }
  .search-results.show{display:block;}
  .sr-item{padding:9px 12px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line-soft);}
  .sr-item:last-child{border-bottom:none;}
  .sr-item:hover{background:var(--panel-2);}
  .sr-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
  .sr-era{margin-left:auto;color:var(--ink-faint);font-size:11px;}

  button.tool{
    background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);
    border-radius:8px;padding:9px 13px;font-family:inherit;font-size:12.5px;font-weight:500;
    cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
    transition:all .18s;
  }
  button.tool:hover{border-color:var(--gold-dim);color:var(--ink-text);}
  button.tool.active{background:rgba(201,162,75,.14);border-color:var(--gold);color:var(--gold-bright);}
  button.tool svg{width:15px;height:15px;}

  /* ---------- Stage ---------- */
  .stage{position:relative;flex:1 1 auto;overflow:hidden;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;}
  .stage.grabbing{cursor:grabbing;}
  #treeSvg{position:absolute;top:0;left:0;width:100%;height:100%;display:block;}

  /* nodes / edges */
  .edge{fill:none;stroke:var(--line);stroke-width:1.4;opacity:.5;transition:stroke .3s,opacity .3s,stroke-width .3s;}
  .edge.hot{stroke:var(--gold);opacity:1;stroke-width:2.4;filter:drop-shadow(0 0 5px rgba(201,162,75,.6));}
  .edge.mute{opacity:.08;}

  .node{cursor:pointer;}
  .node .halo{opacity:0;transition:opacity .3s;}
  .node .ring{fill:var(--glass);stroke-width:2;transition:stroke-width .2s,transform .2s;}
  .node .glyph{pointer-events:none;transition:opacity .2s;}
  .node .lbl{
    font-family:'Manrope',sans-serif;font-size:12px;fill:var(--ink-dim);
    text-anchor:middle;pointer-events:none;transition:fill .2s;
    paint-order:stroke;stroke:var(--glass);stroke-width:3px;stroke-linejoin:round;
  }
  .node:hover .ring{stroke-width:3.2;}
  .node:hover .lbl{fill:var(--ink-text);}
  .node:hover .halo{opacity:.5;}
  .node.sel .halo{opacity:.85;}
  .node.sel .ring{stroke-width:3.4;}
  .node.sel .lbl{fill:var(--gold-bright);}
  .node.anc .halo{opacity:.4;}
  .node.mute{opacity:.16;}
  .node.mute .lbl{opacity:0;}
  .node.searchhit .halo{opacity:.9;}
  /* lineage focus (replaces the old darkening popup) */
  #treeSvg.force-labels .lbl{opacity:.92 !important;}
  .stage.focus .node:not(.lit){opacity:.30;}
  .stage.focus .node:not(.lit) .lbl{opacity:0;}
  .stage.focus .edge:not(.elit){opacity:.05;}
  .stage.focus .node.lit .halo{opacity:.85;}
  .stage.focus .node.lit .ring{stroke-width:3;}
  .stage.focus .node.lit .lbl{opacity:.95;fill:var(--ink-text);}
  .edge.elit{stroke:var(--gold);opacity:1;stroke-width:2.6;filter:drop-shadow(0 0 5px rgba(201,162,75,.55));}
  .node.selfocus .ring{stroke-width:4.4 !important;}
  .node.selfocus .halo{opacity:1 !important;}
  .zoombar button.on{background:var(--gold);color:#1a1206;}
  .timebar,.tb-track,.tb-handle,.zoombar,.basemap-switch,.legend,.atlas-panel .ap-modes,.apt-toggles{-webkit-user-select:none;user-select:none;}
  body.dragging,body.dragging *{-webkit-user-select:none !important;user-select:none !important;}

  .lane-label{
    font-family:'Fraunces',serif;font-style:italic;
    font-size:19px;fill:var(--ink-faint);opacity:.6;
  }
  .lane-band{opacity:.35;}
  .era-tick{stroke:var(--line-soft);stroke-width:1;stroke-dasharray:2 5;}
  .era-lbl{font-size:11px;fill:var(--ink-faint);font-family:'Manrope',sans-serif;text-anchor:middle;letter-spacing:.5px;}

  /* ---------- Bottom controls ---------- */
  .zoombar{
    position:absolute;right:14px;bottom:36px;display:flex;flex-direction:column;gap:6px;z-index:30;
  }
  .zoombar button{
    width:38px;height:38px;border-radius:9px;background:rgba(13,17,27,.9);
    border:1px solid var(--line);color:var(--ink-dim);font-size:18px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:all .15s;
  }
  .zoombar button:hover{border-color:var(--gold-dim);color:var(--ink-text);}

  .hint{
    position:absolute;left:14px;bottom:36px;z-index:20;
    font-size:11.5px;color:var(--ink-faint);background:rgba(13,17,27,.72);
    border:1px solid var(--line-soft);border-radius:8px;padding:7px 11px;backdrop-filter:blur(4px);
    max-width:240px;line-height:1.5;transition:opacity .5s;
  }

  /* ---------- Legend ---------- */
  .legend{
    position:absolute;left:14px;top:14px;z-index:25;
    background:rgba(13,17,27,.86);border:1px solid var(--line-soft);
    border-radius:12px;padding:12px 13px;backdrop-filter:blur(6px);
    max-width:210px;transition:transform .3s,opacity .3s;
  }
  .legend h4{margin:0 0 9px;font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--ink-text);letter-spacing:.3px;}
  .legend .row{display:flex;align-items:center;gap:9px;padding:4px 4px;border-radius:6px;cursor:pointer;user-select:none;transition:background .15s;}
  .legend .row:hover{background:var(--panel-2);}
  .legend .row.off{opacity:.32;}
  .legend .row .swatch{width:11px;height:11px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 7px currentColor;}
  .legend .row .name{font-size:12px;color:var(--ink-dim);}
  .legend .row.off .name{text-decoration:line-through;}
  .legend .collapse{position:absolute;top:10px;right:11px;cursor:pointer;color:var(--ink-faint);font-size:15px;border:none;background:none;}
  .legend.min .row,.legend.min h4{display:none;}
  .legend.min{padding:8px 10px;}
  .legend .mintitle{display:none;font-size:11px;color:var(--ink-faint);letter-spacing:1px;}
  .legend.min .mintitle{display:block;}

  /* ---------- Modal (node detail) ---------- */
  .scrim{
    position:fixed;inset:0;z-index:4000;pointer-events:none;
    display:none;align-items:stretch;justify-content:flex-end;
  }
  .scrim.show{display:flex;}
  .sheet{
    width:min(560px,100%);height:100%;background:var(--panel);
    border-left:1px solid var(--line);overflow-y:auto;
    box-shadow:-30px 0 70px rgba(0,0,0,.6);pointer-events:auto;
    transform:translateX(20px);opacity:0;transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .32s;
  }
  .scrim.show .sheet{transform:none;opacity:1;}
  .sheet-hd{
    position:sticky;top:0;z-index:2;padding:22px 26px 18px;
    background:linear-gradient(180deg,var(--panel),rgba(17,23,38,.6));
    border-bottom:1px solid var(--line-soft);
  }
  .sheet-hd .fam-tag{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;}
  .sheet-hd h2{font-family:'Fraunces',serif;font-size:34px;font-weight:600;margin:6px 0 4px;line-height:1.05;}
  .sheet-hd .meta{font-size:12.5px;color:var(--ink-dim);display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;}
  .sheet-hd .meta b{color:var(--ink-faint);font-weight:500;}
  .sheet-sym{position:absolute;top:20px;right:24px;width:56px;height:56px;opacity:.9;}
  .closebtn{z-index:30;position:absolute;top:16px;right:20px;background:none;border:none;color:var(--ink-faint);font-size:26px;cursor:pointer;line-height:1;z-index:3;}
  .sheet-hd .closebtn{right:20px;top:18px;}
  .sheet-body{padding:20px 26px 60px;}
  .sheet-body .lede{font-family:'Fraunces',serif;font-size:19px;line-height:1.5;color:var(--ink-text);margin:0 0 20px;}
  .sec{margin-bottom:22px;}
  .sec h3{
    font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);
    margin:0 0 10px;font-weight:600;
  }
  .sec p{margin:0 0 10px;font-size:14px;line-height:1.62;color:var(--ink-dim);}
  .chips{display:flex;flex-wrap:wrap;gap:7px;}
  .chip{
    background:var(--glass-2);border:1px solid var(--line-soft);border-radius:20px;
    padding:5px 12px;font-size:12px;color:var(--ink-dim);
  }
  .chip.theme{cursor:default;}
  ul.clean{margin:0;padding:0;list-style:none;}
  ul.clean li{position:relative;padding:5px 0 5px 18px;font-size:13.5px;line-height:1.55;color:var(--ink-dim);border-bottom:1px solid var(--line-soft);}
  ul.clean li:last-child{border-bottom:none;}
  ul.clean li:before{content:'';position:absolute;left:2px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--gold-dim);}
  .conns{display:flex;flex-direction:column;gap:7px;}
  .conn{
    display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:8px;
    background:var(--glass-2);border:1px solid var(--line-soft);cursor:pointer;transition:all .15s;
  }
  .conn:hover{border-color:var(--gold-dim);background:var(--panel-2);}
  .conn .arrow{color:var(--ink-faint);font-size:12px;}
  .conn .cname{font-size:13px;color:var(--ink-text);}
  .conn .cdir{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);margin-left:auto;}
  .conn .cdot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px currentColor;}
  .addcompare{
    margin-top:6px;width:100%;background:rgba(201,162,75,.1);border:1px solid var(--gold-dim);
    color:var(--gold-bright);border-radius:9px;padding:11px;font-family:inherit;font-size:13px;font-weight:500;
    cursor:pointer;transition:all .15s;
  }
  .addcompare:hover{background:rgba(201,162,75,.2);}

  /* ---------- Compare panel ---------- */
  .compare-panel{
    position:absolute;top:0;right:0;height:100%;width:min(400px,88%);z-index:35;
    background:linear-gradient(180deg,rgba(17,23,38,.97),rgba(13,17,27,.97));
    border-left:1px solid var(--line);backdrop-filter:blur(8px);
    transform:translateX(100%);transition:transform .34s cubic-bezier(.2,.7,.2,1);
    display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(0,0,0,.5);
  }
  .compare-panel.show{transform:none;}
  .cp-hd{padding:18px 20px 14px;border-bottom:1px solid var(--line-soft);position:relative;}
  .cp-hd h3{font-family:'Fraunces',serif;font-size:23px;font-weight:600;margin:0;}
  .cp-hd p{font-size:11.5px;color:var(--ink-faint);margin:5px 0 0;line-height:1.5;}
  .cp-sel{display:flex;flex-wrap:wrap;gap:7px;padding:14px 20px;border-bottom:1px solid var(--line-soft);min-height:20px;}
  .cp-tag{
    display:inline-flex;align-items:center;gap:7px;background:var(--glass-2);
    border:1px solid var(--line);border-radius:20px;padding:5px 8px 5px 11px;font-size:12px;color:var(--ink-text);
  }
  .cp-tag .x{cursor:pointer;color:var(--ink-faint);font-size:15px;line-height:1;}
  .cp-tag .x:hover{color:var(--f-iranian);}
  .cp-tag .d{width:8px;height:8px;border-radius:50%;box-shadow:0 0 5px currentColor;}
  .cp-empty{font-size:12.5px;color:var(--ink-faint);font-style:italic;}
  .cp-actions{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--line-soft);}
  .cp-actions button{flex:1;padding:10px;border-radius:8px;font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;border:1px solid var(--line);background:var(--glass-2);color:var(--ink-dim);transition:all .15s;}
  .cp-actions button.primary{background:rgba(201,162,75,.16);border-color:var(--gold);color:var(--gold-bright);}
  .cp-actions button:hover{border-color:var(--gold-dim);}
  .cp-report{flex:1;overflow-y:auto;padding:18px 20px 40px;}
  .cp-report .rsec{margin-bottom:20px;}
  .cp-report .rsec h4{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:0 0 9px;font-weight:600;}
  .cp-report p{font-size:13px;line-height:1.6;color:var(--ink-dim);margin:0 0 9px;}
  .cp-report .rplaceholder{color:var(--ink-faint);font-style:italic;font-size:13px;text-align:center;margin-top:40px;line-height:1.7;}
  .cp-report .findrow{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px;line-height:1.5;}
  .cp-report .findrow .k{color:var(--gold-bright);flex:0 0 auto;}
  .theme-shared{display:flex;flex-wrap:wrap;gap:6px;}
  .theme-shared .tchip{background:rgba(201,162,75,.12);border:1px solid var(--gold-dim);color:var(--gold-bright);border-radius:16px;padding:4px 10px;font-size:11.5px;}
  .theme-dist{background:var(--glass-2);border:1px solid var(--line-soft);border-radius:16px;padding:4px 10px;font-size:11px;color:var(--ink-dim);}
  .cp-report .traceline{font-size:12.5px;line-height:1.6;color:var(--ink-dim);padding:7px 0;border-bottom:1px solid var(--line-soft);}
  .cp-report .traceline b{color:var(--ink-text);font-weight:500;}
  .cp-report .traceline .via{color:var(--gold);}
  .btn-copy{margin-top:8px;width:100%;padding:9px;border-radius:8px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);font-family:inherit;font-size:12px;cursor:pointer;}
  .btn-copy:hover{border-color:var(--gold-dim);color:var(--ink-text);}

  /* about modal */
  .about-scrim{position:fixed;inset:0;background:rgba(3,5,9,.8);z-index:120;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);}
  .about-scrim.show{display:flex;}
  .about-box{max-width:540px;width:100%;max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px 32px;position:relative;}
  .about-box h2{font-family:'Fraunces',serif;font-size:30px;margin:0 0 4px;font-weight:600;}
  .about-box h2 b{color:var(--gold-bright);}
  .about-box .tagline{color:var(--ink-faint);font-size:12px;letter-spacing:2px;margin-bottom:18px;}
  .about-box h3{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:20px 0 8px;}
  .about-box p{font-size:13.5px;line-height:1.65;color:var(--ink-dim);margin:0 0 10px;}
  .about-box .kbd{background:var(--glass-2);border:1px solid var(--line);border-radius:5px;padding:1px 7px;font-size:12px;color:var(--ink-text);font-family:inherit;}

  @media (max-width:640px){
    .brand .sub{display:none;}
    .brand .title{font-size:21px;}
    .searchwrap{flex-basis:130px;}
    .legend{max-width:170px;top:10px;left:10px;padding:10px;}
    header{gap:9px;padding:9px 11px;}
    button.tool span.tlabel{display:none;}
    button.tool{padding:9px 10px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;animation:none !important;}
  }

  /* ---- view tabs ---- */
  .viewtabs{display:flex;gap:2px;background:var(--glass-2);border:1px solid var(--line);border-radius:9px;padding:3px;}
  .vtab{background:transparent;border:none;color:var(--ink-dim);font:inherit;font-size:12.5px;padding:5px 13px;border-radius:6px;cursor:pointer;letter-spacing:.3px;}
  .vtab.active{background:var(--gold);color:#1a1206;font-weight:600;}
  /* ---- atlas ---- */
  .atlas{position:relative;flex:1 1 auto;overflow:hidden;display:none;}
  body.atlas-mode .stage{display:none;}
  body.atlas-mode .atlas{display:block;}
  body.atlas-mode .searchwrap,body.atlas-mode #btnCompare,body.atlas-mode #btnRandom{display:none;}
  #map{position:absolute;inset:0;background:#080b12;}
  .atlas-panel{position:absolute;top:14px;left:14px;z-index:600;width:370px;max-height:calc(100% - 28px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;background:rgba(13,17,27,.95);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:15px 15px 13px;}
  .atlas-panel::-webkit-scrollbar{width:8px;} .atlas-panel::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;}
  .ap-modes{display:none !important;}
  .atlas-panel{display:none !important;}
  .atlas-panel.show{display:flex !important;}
  .layer-bar{position:absolute;top:12px;left:12px;right:12px;z-index:615;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;background:rgba(13,17,27,.86);border:1px solid var(--line);border-radius:12px;padding:6px 8px;backdrop-filter:blur(6px);}
  .lyr-btn{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:9px;padding:6px 10px;font-family:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap;}
  .lyr-btn:hover{border-color:var(--gold);color:var(--ink-text);}
  .lyr-btn.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  .lyr-details{margin-left:auto;}
  .leaflet-top{top:60px!important;}
  .layer-bar{z-index:1050;}
  .atlas-panel{resize:both;overflow:auto;min-width:300px;min-height:180px;max-width:96vw;}
  .atlas-panel.show{max-height:none;height:min(72vh,640px);}
  .ap-drag{position:sticky;top:-15px;margin:-15px -15px 10px;padding:9px 12px;background:rgba(201,162,75,.12);border-bottom:1px solid var(--line);border-radius:14px 14px 0 0;cursor:move;font-size:12px;color:var(--gold-bright);display:flex;align-items:center;gap:7px;user-select:none;touch-action:none;}
  .ap-grip{opacity:.7;letter-spacing:-2px;} .ap-draghint{font-size:9.5px;color:var(--ink-faint);font-weight:400;margin-left:2px;} .ap-dragx{margin-left:auto;background:none;border:none;color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer;} .ap-dragx:hover{color:var(--gold-bright);}
  .atlas-panel::-webkit-resizer{background:linear-gradient(135deg,transparent 50%,var(--gold) 50%);}
  .apt-grouphd{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-bright);margin:9px 0 4px;border-bottom:1px solid var(--line);padding-bottom:3px;display:flex;justify-content:space-between;}
  .apt-gct{color:var(--ink-faint);}
  .apt-groupby{display:flex;align-items:center;gap:6px;margin:6px 0 4px;}
  .apt-groupby select{flex:1;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:7px;padding:5px 8px;font:inherit;font-size:12px;}
  @media(max-width:640px){ .leaflet-top{top:54px!important;} .atlas-panel.show{top:56px;height:52vh;} }
  .atlas-panel.show{top:64px;max-height:calc(100% - 150px);}
  .map-legend-btn,.map-legend{bottom:96px;}
  @media(max-width:640px){ .layer-bar{top:8px;left:8px;right:8px;gap:4px;padding:5px;} .lyr-btn{padding:5px 7px;font-size:10.5px;} .lyr-details{margin-left:0;} .atlas-panel.show{top:auto;bottom:96px;max-height:52vh;} }
  .atlas-panel h3{font-family:'Fraunces',serif;font-size:21px;margin:0 0 3px;color:var(--gold-bright);font-weight:600;}
  .atlas-panel .apsub{font-size:11px;color:var(--ink-faint);margin-bottom:11px;line-height:1.45;}
  .ap-filters{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap;}
  .ap-f{font-size:11px;padding:3px 10px;border-radius:20px;border:1px solid var(--line);background:transparent;color:var(--ink-dim);cursor:pointer;}
  .ap-f.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  .ap-list{overflow:auto;flex:1;margin:0 -6px;padding:0 6px;min-height:60px;}
  .ap-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;cursor:pointer;font-size:12.5px;color:var(--ink-text);}
  .ap-item:hover{background:var(--glass-2);}
  .ap-item .pdot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 5px currentColor;}
  .ap-item .pq{margin-left:auto;color:#e7c877;font-size:12px;font-weight:600;}
  .ap-count{font-size:10.5px;color:var(--ink-faint);padding-top:8px;border-top:1px solid var(--line);margin-top:6px;}
  @media(max-width:640px){.atlas-panel{width:calc(100% - 28px);max-height:46%;}}
  .ap-modes{display:flex;gap:4px;margin-bottom:10px;background:var(--glass-2);border:1px solid var(--line);border-radius:9px;padding:3px;}
  .ap-m{flex:1;background:transparent;border:none;color:var(--ink-dim);font:inherit;font-size:12px;padding:5px;border-radius:6px;cursor:pointer;letter-spacing:.3px;}
  .ap-m.on{background:var(--gold);color:#1a1206;font-weight:600;}
  .pl-head{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
  .pl-head .pl-glyph{width:30px;height:30px;flex:0 0 auto;}
  .pl-head .pl-glyph svg{width:100%;height:100%;display:block;}
  .pl-head .pl-name{margin:0;}
  .pl-tree{margin-top:11px;width:100%;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);font:inherit;font-size:12px;padding:8px;border-radius:8px;cursor:pointer;letter-spacing:.3px;}
  .pl-tree:hover{border-color:var(--gold);color:var(--gold-bright);}
  .ap-time{display:flex;flex-direction:column;gap:13px;margin-bottom:8px;}
  .apt-h{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-bottom:7px;}
  .apt-hint{color:var(--ink-faint);text-transform:none;letter-spacing:0;font-size:10.5px;}
  .apt-add{display:flex;gap:6px;margin-bottom:8px;}
  .apt-add select{flex:1;min-width:0;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:7px;padding:5px 7px;font:inherit;font-size:12px;}
  .apt-add button{background:var(--gold);color:#1a1206;border:none;border-radius:7px;padding:5px 13px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
  .apt-list{display:flex;flex-direction:column;gap:6px;}
  .apt-row{display:flex;align-items:center;gap:7px;background:var(--glass-2);border:1px solid var(--line);border-radius:8px;padding:6px 8px;}
  .apt-row .nm{flex:1;font-size:12px;color:var(--ink-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .apt-row input[type=color]{width:22px;height:22px;border:none;background:none;padding:0;cursor:pointer;border-radius:4px;flex:0 0 auto;}
  .apt-row input[type=range]{width:56px;flex:0 0 auto;accent-color:var(--gold);}
  .apt-row .rm{background:none;border:none;color:var(--ink-faint);cursor:pointer;font-size:16px;line-height:1;flex:0 0 auto;}
  .apt-row .rm:hover{color:#e0555f;}
  .apt-toggles{display:flex;flex-direction:column;gap:6px;}
  .apt-toggles label{font-size:12px;color:var(--ink-dim);display:flex;align-items:center;gap:8px;cursor:pointer;}
  .apt-toggles input{accent-color:var(--gold);}
  .apt-clear{align-self:flex-start;margin-top:2px;background:none;border:1px solid var(--line);color:var(--ink-faint);border-radius:7px;padding:4px 9px;font:inherit;font-size:11px;cursor:pointer;}
  .apt-clear:hover{border-color:#e0555f;color:#e0555f;}
  .apt-note{font-size:10.5px;color:var(--ink-faint);line-height:1.5;border-top:1px solid var(--line);padding-top:9px;}
  .ev-item{display:block;padding:6px 8px;border-left:2px solid var(--gold);margin:0 0 5px;background:var(--glass-2);border-radius:0 7px 7px 0;cursor:pointer;}
  .ev-item .evy{font-family:'Fraunces',serif;color:var(--gold-bright);font-size:14px;margin-right:6px;}
  .ev-item .evt{font-size:12px;color:var(--ink-text);}
  .ev-item:hover{background:var(--glass);}
  .timebar{position:absolute;left:14px;right:14px;bottom:14px;z-index:600;display:flex;align-items:center;gap:13px;background:rgba(13,17,27,.94);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:11px 17px;}
  .tb-play{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--glass-2);color:var(--gold-bright);font-size:13px;cursor:pointer;}
  .tb-play:hover{border-color:var(--gold);}
  .tb-track{position:relative;flex:1;height:8px;border-radius:5px;background:var(--glass-2);border:1px solid var(--line);cursor:pointer;}
  .tb-fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));width:0;pointer-events:none;}
  .tb-handle{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:var(--gold-bright);border:2px solid #1a1206;transform:translate(-50%,-50%);left:0;box-shadow:0 0 10px rgba(231,200,119,.6);cursor:grab;}
  .tb-handle:active{cursor:grabbing;}
  .tb-year{flex:0 0 auto;font-family:'Fraunces',serif;font-size:20px;color:var(--gold-bright);min-width:104px;text-align:right;}
  @media(max-width:640px){.timebar{left:8px;right:8px;bottom:8px;padding:9px 12px;gap:9px;} .tb-year{font-size:16px;min-width:78px;} .atlas-panel{max-height:40%;}}
  .ap-modes{flex-wrap:wrap;} .ap-m{flex:1 1 auto;min-width:66px;}
  .nat-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);}
  .nat-legend span{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--ink-dim);}
  .nat-legend i{width:11px;height:11px;border-radius:3px;display:inline-block;}
  .ap-future{display:flex;flex-direction:column;gap:11px;margin-bottom:8px;}
  .pf-badge{align-self:flex-start;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#1a1206;background:var(--gold);border-radius:20px;padding:3px 11px;font-weight:600;}
  .pf-chart{background:var(--glass-2);border:1px solid var(--line);border-radius:10px;padding:10px 8px 4px;}
  .pf-notes{font-size:12px;color:var(--ink-dim);line-height:1.5;margin:0;padding-left:16px;}
  .pf-notes li{margin:5px 0;}
  .pf-disc{font-size:10.5px;color:var(--ink-faint);line-height:1.55;border-top:1px solid var(--line);padding-top:9px;}
  .bm-dark{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.9) saturate(.75);}
  .basemap-switch{display:flex;width:100%;margin:0 0 6px;gap:6px;}
  .bm-label{font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin:10px 0 6px;}
  .bm-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);font:inherit;font-size:11px;line-height:1.2;white-space:nowrap;padding:8px 4px;cursor:pointer;border-radius:10px;transition:all .15s;}
  .bm-ic{font-size:17px;line-height:1;}
  .bm-btn:hover{color:var(--ink-text);border-color:var(--gold);}
  .bm-btn.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  @media(max-width:640px){.bm-btn{font-size:10.5px;min-height:48px;padding:7px 3px;}}
  .mk-enc{width:11px;height:11px;opacity:.92;}
  .mk-enc.cred-t1{opacity:.62;} .mk-enc.cred-t0{opacity:.42;box-shadow:none;}
  /* credibility visuals */
  .credbars{display:inline-flex;gap:2px;vertical-align:middle;margin-right:6px;} .credbars i{width:7px;height:11px;border-radius:2px;background:var(--glass-2);border:1px solid var(--line);display:inline-block;} .credbars i.on{border:none;}
  .credchip{display:inline-flex;align-items:center;gap:2px;font-size:11px;padding:2px 8px 2px 6px;border:1px solid;border-radius:20px;background:rgba(0,0,0,.2);}
  .credrow{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-top:8px;letter-spacing:.2px;}
  /* source links */
  .srclist{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:6px 0 0;}
  a.srclink{display:inline-block;background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:7px;padding:5px 10px;font-size:12px;text-decoration:none;transition:all .15s;}
  a.srclink:hover{border-color:var(--gold);background:rgba(201,162,75,.12);}
  .pl-btn{margin-top:9px;width:100%;padding:8px;border-radius:8px;background:var(--gold);border:none;color:#1a1206;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
  .rep-hero{width:100%;max-height:230px;object-fit:cover;border-radius:10px;margin-bottom:12px;border:1px solid var(--line);}
  .rep-gallery{display:flex;gap:7px;overflow-x:auto;margin-bottom:14px;padding-bottom:4px;}
  .rep-gallery img{height:100px;border-radius:8px;border:1px solid var(--line);flex:0 0 auto;}
  .rep-p{font-size:14px;line-height:1.68;color:var(--ink-text);margin:0 0 12px;}
  .rep-load{color:var(--ink-dim);font-size:14.5px;padding:26px 4px;line-height:1.7;animation:repPulse 1.4s ease-in-out infinite;}
  @keyframes repPulse{0%,100%{opacity:.55}50%{opacity:1}}
  .yc-ev{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);}
  .yc-y{color:var(--gold-bright);font-size:12.5px;min-width:66px;font-variant-numeric:tabular-nums;padding-top:1px;}
  .yc-b b{font-size:14px;} .yc-d{font-size:12.5px;color:var(--ink-dim);line-height:1.5;margin-top:2px;}
  .yc-rel{font-size:10px;color:var(--ink-faint);border:1px solid var(--line);border-radius:10px;padding:1px 7px;margin-left:7px;}
  .yc-rel-row{padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.5;}
  .mini-report{margin-top:6px;background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:6px;padding:3px 9px;font-family:inherit;font-size:11px;cursor:pointer;}
  .tb-input{width:66px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:7px;padding:6px 7px;font-family:inherit;font-size:12px;text-align:center;}
  .tb-input:focus{border-color:var(--gold);outline:none;}
  .tb-focus{background:var(--glass-2);border:1px solid var(--line);border-radius:7px;padding:5px 9px;cursor:pointer;font-size:15px;line-height:1;}
  .tb-focus:hover{border-color:var(--gold);}
  .mk-fut{font-size:15px;line-height:1;text-shadow:0 0 6px currentColor;}
  .fut-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim);cursor:pointer;margin:0 0 10px;}
  .fut-toggle input{accent-color:var(--gold);}
  .bigchart{background:rgba(0,0,0,.15);border:1px solid var(--line);border-radius:10px;padding:10px 8px 8px;}
  .bigchart-lg{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;justify-content:center;}
  .bigchart-lg .lg{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-dim);}
  .bigchart-lg .lg i{width:10px;height:10px;border-radius:2px;display:inline-block;}
  .scen-tbl{width:100%;border-collapse:collapse;font-size:12px;}
  .scen-tbl th,.scen-tbl td{padding:5px 6px;text-align:right;border-bottom:1px solid var(--line);}
  .scen-tbl th:first-child,.scen-tbl td:first-child{text-align:left;}
  .scen-tbl thead th{color:var(--ink-faint);font-weight:600;}
  .scen-tbl td.spec,.scen-tbl th.spec{color:var(--gold-bright);background:rgba(224,120,61,.05);}
  .scen-tbl .cdot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle;}
  .creed{padding:8px 0;border-bottom:1px solid var(--line);}
  .creed-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
  .creed-era{font-size:11px;color:var(--gold-bright);white-space:nowrap;}
  .ai-tag{display:inline-block;font-size:10.5px;border:1px solid;border-radius:12px;padding:1px 9px;letter-spacing:.3px;}
  .ai-sec{border-left:3px solid #9b7ede;padding-left:12px;}
  .ctx-sec{border-left:3px solid #6fbf9a;padding:6px 0 8px 14px;margin-top:10px;background:rgba(111,191,154,.04);border-radius:0 8px 8px 0;}
  .ctx-grp{margin:14px 0;} .ctx-gh{font-size:11.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--gold-bright);margin-bottom:7px;}
  .ctx-row{display:flex;align-items:baseline;gap:10px;font-size:13.5px;margin:7px 0;line-height:1.55;}
  .ctx-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;position:relative;top:1px;}
  .ctx-y{flex:0 0 auto;color:var(--ink-faint);font-variant-numeric:tabular-nums;min-width:66px;}
  .ctx-l{color:var(--ink-dim);}
  /* tree overlay control */
  .tree-layers{position:absolute;top:14px;left:14px;z-index:30;display:flex;align-items:center;gap:6px;background:rgba(13,17,27,.82);border:1px solid var(--line);border-radius:11px;padding:6px 8px;backdrop-filter:blur(6px);}
  .tree-layers .tl-lbl{font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);}
  .tl-btn{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:8px;padding:5px 10px;font-family:inherit;font-size:11.5px;cursor:pointer;transition:all .15s;}
  .tl-btn:hover{color:var(--ink-text);border-color:var(--gold);}
  .tl-btn.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  @media(max-width:640px){.tree-layers{top:auto;bottom:14px;left:14px;padding:5px 7px;} .tl-btn{padding:5px 8px;font-size:11px;}}
  .mk-vol{font-size:16px;line-height:1;filter:drop-shadow(0 0 5px rgba(224,85,47,.7));}
  /* lightbox */
  #lightbox{position:fixed;inset:0;z-index:9000;background:rgba(4,6,10,.94);display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;}
  #lightbox.show{display:flex;}
  #lightbox img{max-width:96vw;max-height:92vh;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.8);}
  #lbClose{position:absolute;top:16px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(20,24,34,.8);border:1px solid var(--line);color:var(--ink-text);font-size:24px;cursor:pointer;line-height:1;}
  img.pl-img,.gitem img,.rep-gallery img,img.rep-hero,img.al-img,.hc-img img{cursor:zoom-in;}
  /* report readability */
  .sheet-body .lede{font-size:16px;line-height:1.62;color:var(--ink-text);border-left:3px solid var(--gold);padding-left:14px;margin:4px 0 16px;}
  .sheet-body .lede::first-letter{font-family:'Fraunces',serif;font-size:2.5em;line-height:.86;float:left;padding:4px 9px 0 0;color:var(--gold-bright);font-weight:600;}
  .rep-p{font-size:14.5px;line-height:1.74;max-width:62ch;}
  .rep-gallery img{transition:transform .15s;} .rep-gallery img:hover{transform:scale(1.04);}
  .rep-hero{box-shadow:0 10px 30px rgba(0,0,0,.4);}
  /* visual add button */
  .apt-addbtn{width:100%;padding:9px;border-radius:9px;background:var(--glass-2);border:1px dashed var(--line);color:var(--gold-bright);font-family:inherit;font-size:12.5px;cursor:pointer;transition:all .15s;}
  .apt-addbtn:hover{border-color:var(--gold);background:rgba(201,162,75,.1);}
  /* picker modal */
  .picker{position:fixed;inset:0;z-index:4200;background:rgba(4,6,10,.72);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px);}
  .picker.show{display:flex;}
  .pk-card{width:min(720px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.7);overflow:hidden;}
  .pk-hd{display:flex;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--line);}
  .pk-search{flex:1;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:9px;padding:9px 12px;font:inherit;font-size:13px;}
  .pk-search:focus{outline:none;border-color:var(--gold);}
  .pk-dim{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:9px;padding:9px;font:inherit;font-size:12px;cursor:pointer;}
  .pk-close{width:36px;height:36px;border-radius:9px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);font-size:20px;cursor:pointer;}
  .pk-list{overflow-y:auto;padding:6px 12px 12px;}
  .pk-group{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin:14px 2px 8px;display:flex;align-items:center;gap:8px;}
  .pk-count{background:var(--glass-2);border:1px solid var(--line);border-radius:10px;padding:0 7px;font-size:10px;letter-spacing:.5px;}
  .pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;}
  .pk-item{display:flex;align-items:center;gap:10px;text-align:left;background:var(--glass-2);border:1px solid var(--line);border-left:3px solid var(--fc);border-radius:10px;padding:8px 10px;cursor:pointer;font-family:inherit;transition:all .12s;}
  .pk-item:hover{border-color:var(--gold);transform:translateY(-1px);}
  .pk-item.on{background:rgba(201,162,75,.14);border-color:var(--gold);}
  .pk-item.on::after{content:'✓';margin-left:auto;color:var(--gold-bright);font-weight:700;}
  .pk-sym{flex:0 0 auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;}
  .pk-txt{display:flex;flex-direction:column;min-width:0;}
  .pk-name{font-size:13px;color:var(--ink-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pk-era{font-size:10.5px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pk-foot{padding:9px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-faint);}
  .pk-empty{padding:30px;text-align:center;color:var(--ink-faint);}
  .cmp-bars{display:flex;flex-direction:column;gap:7px;margin:2px 0 8px;}
  .cmp-row{display:flex;align-items:center;gap:9px;font-size:12px;}
  .cmp-nm{flex:0 0 128px;display:flex;align-items:center;gap:7px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cmp-nm i{width:10px;height:10px;border-radius:50%;flex:0 0 auto;}
  .cmp-track{flex:1;height:10px;background:var(--glass-2);border-radius:6px;overflow:hidden;}
  .cmp-fill{display:block;height:100%;border-radius:6px;transition:width .3s;}
  .cmp-pct{flex:0 0 52px;text-align:right;color:var(--ink-text);font-variant-numeric:tabular-nums;}
  .ap-persist{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(201,162,75,.05);}
  .ap-persist label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim);cursor:pointer;line-height:1.35;}
  .ap-persist input{accent-color:var(--gold);flex:0 0 auto;}
  .mk-recon{font-size:17px;line-height:1;filter:drop-shadow(0 0 5px rgba(224,192,96,.8));}
  .recon-ov{outline:2px solid rgba(231,200,119,.55);box-shadow:0 0 24px rgba(0,0,0,.6);border-radius:3px;}
  .leaflet-tooltip.ov-label{background:rgba(13,17,27,.92);border:1px solid var(--gold);color:var(--gold-bright);border-radius:7px;padding:3px 9px;font-family:'Fraunces',serif;font-size:13.5px;box-shadow:0 4px 14px rgba(0,0,0,.5);}
  .leaflet-tooltip.ov-label:before{border-top-color:var(--gold)!important;}
  #termPanel{position:fixed;right:16px;bottom:16px;width:300px;max-height:62vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gold);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.7);z-index:4300;display:none;padding:14px;}
  #termPanel.show{display:block;}
  .tp-hd{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;}
  .tp-term{font-family:'Fraunces',serif;font-size:19px;color:var(--gold-bright);}
  .tp-sub{font-size:11px;color:var(--ink-faint);margin-top:2px;}
  .tp-close{background:none;border:none;color:var(--ink-dim);font-size:24px;cursor:pointer;line-height:1;padding:0 2px;}
  .tp-close:hover{color:var(--gold-bright);}
  .tp-list{display:flex;flex-direction:column;gap:5px;}
  .tp-chip{display:flex;align-items:center;gap:8px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12.5px;cursor:pointer;text-align:left;}
  .tp-chip:hover{border-color:var(--gold);color:var(--gold-bright);}
  .tp-chip.origin{border-color:var(--gold);background:rgba(201,162,75,.12);}
  .tp-nm{flex:1;min-width:0;} .tp-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;} .tp-era{font-size:10px;color:var(--ink-faint);}
  .tp-summary{margin:2px 0 10px;} .tp-summary .tp-img{width:100%;max-height:150px;object-fit:cover;border-radius:8px;margin-bottom:6px;display:block;} .tp-summary .tp-ex{font-size:12.5px;color:var(--ink-dim);line-height:1.5;}
  .stage.termfocus .node:not(.termlit){opacity:.12;} .node.termlit{opacity:1;} .stage.termfocus .node.termlit{filter:drop-shadow(0 0 6px var(--gold));}
  .apt-row .nmbtn{background:none;border:none;color:var(--ink-text);font-family:inherit;font-size:12.5px;text-align:left;cursor:pointer;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;}
  .apt-row .nmbtn:hover{color:var(--gold-bright);}
  .apt-row.focused{outline:1px solid var(--gold);border-radius:7px;background:rgba(201,162,75,.1);}
  .apt-row.focused .nmbtn{color:var(--gold-bright);}
  .pk-bulk{display:flex;gap:8px;margin:2px 0 8px;position:sticky;top:0;}
  .pk-bulkbtn{flex:1;background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:8px;padding:7px;font-family:inherit;font-size:12px;cursor:pointer;}
  .pk-bulkbtn:hover{border-color:var(--gold);}
  .pk-gtoggle{margin-left:auto;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:14px;padding:2px 10px;font-family:inherit;font-size:10.5px;cursor:pointer;}
  .pk-gtoggle.on{border-color:var(--gold);color:var(--gold-bright);}
  .pk-group{display:flex;align-items:center;}
  .mk-myth{width:11px;height:11px;opacity:.92;}
  .ap-myth{overflow:visible;}
  .myth-quick{display:flex;gap:6px;margin-bottom:8px;}
  .myth-corpus{border:1px solid var(--line);border-radius:9px;margin-bottom:6px;overflow:hidden;}
  .myth-hd{display:flex;align-items:stretch;}
  .myth-tog{flex:1;display:flex;align-items:center;gap:8px;background:var(--glass-2);border:none;border-left:3px solid transparent;color:var(--ink-dim);font-family:inherit;font-size:12.5px;padding:9px 10px;cursor:pointer;text-align:left;}
  .myth-tog.on{color:var(--ink-text);}
  .myth-em{font-size:15px;line-height:1;} .myth-nm{flex:1;} .myth-ct{font-size:10px;color:var(--ink-faint);border:1px solid var(--line);border-radius:10px;padding:0 6px;}
  .myth-exp{width:34px;background:var(--glass-2);border:none;border-left:1px solid var(--line);color:var(--ink-dim);cursor:pointer;font-size:12px;}
  .myth-list{max-height:220px;overflow-y:auto;background:rgba(0,0,0,.15);padding:4px 0;}
  .myth-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--ink-dim);cursor:pointer;}
  .myth-item:hover{color:var(--gold-bright);background:rgba(255,255,255,.03);}
  .myth-era{margin-left:auto;font-size:10.5px;color:var(--ink-faint);}
  /* button tooltips handled by JS (viewport-clamped) */
  /* Studies view */
  .studies{position:relative;flex:1 1 auto;overflow:hidden;display:none;}
  body.studies-mode .stage,body.studies-mode .atlas,body.studies-mode .contact,body.studies-mode .pantheon,body.studies-mode .quiz{display:none;}
  body.studies-mode .studies{display:block;}
  body.studies-mode .searchwrap,body.studies-mode #btnCompare,body.studies-mode #btnRandom,body.studies-mode .tree-tools,body.studies-mode .tree-layers{display:none;}
  .studies-scroll{position:absolute;inset:0;overflow-y:auto;background:radial-gradient(circle at 50% 0%,#12161f,#080b12 70%);}
  .sd-wrap{max-width:720px;margin:0 auto;padding:24px 18px 60px;}
  .sd-h{font-size:28px;color:var(--gold-bright);margin:4px 0 6px;}
  .sd-intro{font-size:13px;color:var(--ink-dim);line-height:1.6;margin-bottom:16px;}
  .sd-search{width:100%;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:13.5px;margin-bottom:12px;box-sizing:border-box;}
  .sd-search:focus{outline:none;border-color:var(--gold);}
  .sd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
  .sd-chip{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:18px;padding:6px 12px;font-family:inherit;font-size:12px;cursor:pointer;}
  .sd-chip.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  .sd-count{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;}
  .sd-card{background:var(--glass-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;}
  .sd-t{font-family:'Fraunces',serif;font-size:16px;color:var(--ink-text);line-height:1.3;}
  .sd-meta{font-size:12px;color:var(--ink-dim);margin:4px 0 8px;}
  .sd-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
  .sd-badge{font-size:10px;border:1px solid;border-radius:11px;padding:2px 8px;white-space:nowrap;}
  .sd-note{font-size:13px;color:var(--ink-text);line-height:1.55;margin-bottom:8px;}
  .sd-link{font-size:12px;color:var(--gold-bright);text-decoration:none;} .sd-link:hover{text-decoration:underline;}
  .sd-lead{font-size:13.5px;color:var(--ink-dim);line-height:1.6;margin-bottom:14px;}
  .sd-fut .sd-t{display:block;margin-bottom:6px;} .sd-fut .sd-badge{margin-bottom:6px;display:inline-block;}
  /* Games view */
  .games{position:relative;flex:1 1 auto;overflow:hidden;display:none;}
  body.games-mode .stage,body.games-mode .atlas,body.games-mode .contact,body.games-mode .pantheon,body.games-mode .quiz,body.games-mode .studies,body.games-mode .creator,body.games-mode .fiction{display:none;}
  body.games-mode .games{display:block;}
  body.games-mode .searchwrap,body.games-mode #btnCompare,body.games-mode #btnRandom,body.games-mode .tree-tools,body.games-mode .tree-layers{display:none;}
  body.atlas-mode .games,body.contact-mode .games,body.pantheon-mode .games,body.quiz-mode .games,body.studies-mode .games,body.create-mode .games,body.fiction-mode .games{display:none;}
  .games-body{max-width:640px;margin:0 auto;padding:22px 16px 70px;}
  .g-wrap .g-title,.g-h{font-family:'Fraunces',serif;color:var(--gold-bright);margin:2px 0 6px;} .g-title{font-size:30px;} .g-h{font-size:24px;}
  .g-intro{font-size:13px;color:var(--ink-dim);margin-bottom:18px;} .g-sub{font-size:13px;color:var(--ink-dim);margin:0 0 14px;line-height:1.5;}
  .g-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;}
  .g-card{display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--glass-2);border:1px solid var(--line);border-radius:13px;padding:16px 14px;cursor:pointer;font-family:inherit;transition:transform .15s,border-color .15s;}
  .g-card:hover{transform:translateY(-3px);border-color:var(--gold);} .g-cic{color:var(--gold);} .g-cic .ic{width:24px;height:24px;} .g-cn{font-family:'Fraunces',serif;font-size:16px;color:var(--ink-text);} .g-cd{font-size:11.5px;color:var(--ink-faint);line-height:1.4;}
  .g-back{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:9px;padding:7px 12px;font-family:inherit;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;margin-bottom:12px;} .g-back:hover{border-color:var(--gold);}
  .g-q{font-family:'Fraunces',serif;font-size:20px;color:var(--ink-text);line-height:1.35;margin:6px 0 16px;}
  .g-opts{display:flex;flex-direction:column;gap:9px;} .g-opt{text-align:left;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:11px;padding:13px 15px;font-family:inherit;font-size:14px;cursor:pointer;} .g-opt:hover:not(:disabled){border-color:var(--gold);} .g-opt.right{border-color:#6fbf9a;background:rgba(111,191,154,.16);} .g-opt.wrong{border-color:#e0555f;background:rgba(224,85,95,.14);}
  .g-btn{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:10px;padding:11px 16px;font-family:inherit;font-size:14px;cursor:pointer;margin-top:14px;} .g-btn:hover{border-color:var(--gold);} .g-primary{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  .g-list{display:flex;flex-direction:column;gap:7px;margin-bottom:6px;} .g-row{display:flex;align-items:center;gap:10px;background:var(--glass-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;} .g-rn{color:var(--gold);font-size:12px;width:16px;} .g-rt{flex:1;font-size:14px;color:var(--ink-text);} .g-rup button{background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-dim);cursor:pointer;font-size:14px;padding:1px 8px;margin-left:3px;}
  .g-result{font-family:'Fraunces',serif;font-size:20px;color:var(--gold-bright);margin:14px 0 6px;} .g-key{font-size:13px;color:var(--ink-dim);line-height:1.6;margin-bottom:8px;}
  .g-hl{display:flex;gap:12px;margin-bottom:14px;} .g-hlcard,.g-hlq{flex:1;background:var(--glass-2);border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center;} .g-hln{font-family:'Fraunces',serif;font-size:16px;color:var(--ink-text);} .g-hly{font-size:22px;color:var(--gold-bright);margin-top:6px;} .g-hlbtns{display:flex;gap:10px;} .g-hlbtns .g-btn{flex:1;} .g-hlscore{font-size:12px;color:var(--ink-faint);margin-top:12px;}
  .g-speedtop{display:flex;justify-content:space-between;font-size:15px;color:var(--gold-bright);margin-bottom:12px;font-weight:600;}
  .g-clues{display:flex;flex-direction:column;gap:7px;margin-bottom:10px;} .g-clue{background:var(--glass-2);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:9px 12px;font-size:13.5px;color:var(--ink-dim);} .g-cluepts{font-size:12px;color:var(--ink-faint);margin:8px 0;}
  .g-stmts{display:flex;flex-direction:column;gap:9px;} .g-stmt{text-align:left;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:11px;padding:14px;font-family:inherit;font-size:14px;cursor:pointer;} .g-stmt:hover{border-color:var(--gold);} .g-stmt.right{border-color:#6fbf9a;} .g-stmt.wrong{border-color:#e0555f;background:rgba(224,85,95,.14);}
  .g-guesses{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;} .g-guessrow{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--glass-2);border:1px solid var(--line);border-radius:9px;padding:8px 11px;} .g-guessrow.win{border-color:#6fbf9a;} .g-gn{font-size:13px;color:var(--ink-text);} .g-gtags{display:flex;gap:5px;} .g-gt{font-size:10px;border:1px solid var(--line);border-radius:9px;padding:1px 7px;color:var(--ink-faint);} .g-gt.on{color:#6fbf9a;border-color:#6fbf9a;background:rgba(111,191,154,.14);} .g-guessin{display:flex;gap:8px;} .g-guessin .c-in{flex:1;}
  .g-map{width:100%;height:min(56vh,440px);border-radius:12px;overflow:hidden;border:1px solid var(--line);margin:6px 0;}
  .g-mem{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;} .g-tile{aspect-ratio:1/1;background:var(--glass-2);border:1px solid var(--line);border-radius:10px;cursor:pointer;font-family:inherit;color:transparent;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden;} .g-tile .g-tf{opacity:0;font-size:11px;text-align:center;color:var(--ink-text);} .g-tile.open .g-tf,.g-tile.done .g-tf{opacity:1;} .g-tile.open{border-color:var(--gold);} .g-tile.done{border-color:#6fbf9a;background:rgba(111,191,154,.12);} .g-memc{margin-top:12px;font-size:13px;color:var(--ink-dim);}
  .g-form label{display:block;font-size:12px;color:var(--ink-faint);margin:10px 0 4px;} .g-founded{background:var(--glass-2);border:1px solid var(--gold);border-radius:12px;padding:16px;margin-top:14px;} .g-fname{font-family:'Fraunces',serif;font-size:22px;color:var(--gold-bright);} .g-fmeta{font-size:13px;color:var(--ink-dim);margin:4px 0 8px;} .g-founded p{font-size:13px;color:var(--ink-text);line-height:1.55;} .g-fctx{color:var(--ink-dim)!important;}
  .g-reveal{background:rgba(201,162,75,.12);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:11px 13px;font-size:13px;color:var(--ink-dim);line-height:1.55;margin:12px 0;}
  .g-share{margin-top:12px;font-size:12.5px;color:var(--gold-bright);cursor:pointer;text-decoration:underline;}
  /* Fiction view */
  .fiction{position:relative;flex:1 1 auto;overflow:hidden;display:none;}
  body.fiction-mode .stage,body.fiction-mode .atlas,body.fiction-mode .contact,body.fiction-mode .pantheon,body.fiction-mode .quiz,body.fiction-mode .studies,body.fiction-mode .creator{display:none;}
  body.fiction-mode .fiction{display:block;}
  body.fiction-mode .searchwrap,body.fiction-mode #btnCompare,body.fiction-mode #btnRandom,body.fiction-mode .tree-tools,body.fiction-mode .tree-layers{display:none;}
  body.atlas-mode .fiction,body.contact-mode .fiction,body.pantheon-mode .fiction,body.quiz-mode .fiction,body.studies-mode .fiction,body.create-mode .fiction{display:none;}
  /* Creator view */
  .creator{position:relative;flex:1 1 auto;overflow:hidden;display:none;}
  body.create-mode .stage,body.create-mode .atlas,body.create-mode .contact,body.create-mode .pantheon,body.create-mode .quiz,body.create-mode .studies{display:none;}
  body.create-mode .creator{display:block;}
  body.create-mode .searchwrap,body.create-mode #btnCompare,body.create-mode #btnRandom,body.create-mode .tree-tools,body.create-mode .tree-layers{display:none;}
  .creator-scroll{position:absolute;inset:0;overflow-y:auto;background:radial-gradient(circle at 50% 0%,#12161f,#080b12 70%);}
  .c-wrap{max-width:720px;margin:0 auto;padding:24px 18px 80px;} .c-h{font-size:28px;color:var(--gold-bright);margin:4px 0 6px;} .c-intro{font-size:13px;color:var(--ink-dim);line-height:1.6;margin-bottom:16px;}
  .c-field{margin-bottom:12px;} .c-field label,.c-sl{display:block;font-size:12px;color:var(--ink-faint);margin:10px 0 5px;letter-spacing:.3px;}
  .c-in{width:100%;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:9px;padding:9px 12px;font-family:inherit;font-size:13.5px;box-sizing:border-box;} .c-in:focus{outline:none;border-color:var(--gold);}
  .c-ta{min-height:52px;resize:vertical;} .c-qtext{min-height:46px;font-size:14px;}
  .c-qcard{background:var(--glass-2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;}
  .c-qhd{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;} .c-qtype{font-size:13px;color:var(--gold-bright);} .c-qn{color:var(--ink-faint);} .c-qtools{display:flex;gap:5px;}
  .c-mini{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px;cursor:pointer;} .c-mini:hover{border-color:var(--gold);}
  .c-optrow,.c-photorow{display:flex;align-items:center;gap:8px;margin:5px 0;} .c-opt{flex:1;} .c-pfields{flex:1;display:flex;flex-direction:column;gap:4px;}
  .c-tfrow{display:flex;gap:18px;font-size:14px;} .c-maprow{display:flex;align-items:center;gap:10px;margin:4px 0;flex-wrap:wrap;} .c-latlon{font-size:12px;color:var(--ink-dim);}
  .c-addbar{margin:16px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;} .c-addlbl{font-size:12px;color:var(--ink-faint);}
  .c-btn{display:inline-flex;align-items:center;gap:6px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:9px;padding:9px 13px;font-family:inherit;font-size:13px;cursor:pointer;} .c-btn:hover{border-color:var(--gold);}
  .c-primary{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;} .c-danger{color:#e0555f;} .c-imp{position:relative;overflow:hidden;}
  .c-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;padding-top:16px;border-top:1px solid var(--line);}
  .c-status{margin-top:12px;font-size:12.5px;color:#6fbf9a;opacity:0;transition:opacity .3s;min-height:16px;}
  .c-empty{font-size:13px;color:var(--ink-faint);padding:14px;text-align:center;border:1px dashed var(--line);border-radius:10px;}
  .c-modal{position:fixed;inset:0;z-index:9700;background:rgba(4,6,10,.82);display:none;align-items:center;justify-content:center;padding:18px;} .c-modal.show{display:flex;}
  .c-mbox{width:min(520px,94vw);max-height:86vh;overflow-y:auto;background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:18px 20px;position:relative;} .c-mbox h3{color:var(--gold-bright);margin:0 0 8px;} .c-hint{font-size:12px;color:var(--ink-faint);line-height:1.5;margin-bottom:10px;}
  .c-mx{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--ink-dim);font-size:20px;cursor:pointer;}
  .c-presults{margin-top:10px;display:flex;flex-direction:column;gap:5px;max-height:50vh;overflow-y:auto;} .c-prow{text-align:left;background:var(--glass-2);border:1px solid var(--line);border-radius:8px;padding:8px 11px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;} .c-prow:hover{border-color:var(--gold);} .c-pn{color:var(--ink-text);font-size:13px;} .c-pt{color:var(--ink-faint);font-size:11px;white-space:nowrap;}
  .c-mapview{width:100%;height:min(50vh,360px);border-radius:10px;overflow:hidden;border:1px solid var(--line);margin-bottom:10px;}
  .qz-custom{background:var(--glass-2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:14px;} .qz-clbl{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;} .qz-crow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;} .qz-custlist{display:flex;flex-direction:column;gap:5px;} .qz-custitem{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 11px;} .qz-custitem .n{font-size:13px;color:var(--ink-text);} .qz-custitem button{background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-dim);font-family:inherit;font-size:11px;padding:3px 8px;cursor:pointer;}
  .qz-cnote{background:rgba(201,162,75,.12);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:9px 12px;font-size:13px;color:var(--ink-dim);margin:8px 0;line-height:1.5;}
  .qz-note{background:rgba(201,162,75,.1);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:8px 11px;font-size:12.5px;color:var(--ink-dim);margin-top:10px;line-height:1.5;}
  /* Quiz view */
  .quiz{position:relative;flex:1 1 auto;overflow:hidden;display:none;}
  body.quiz-mode .stage,body.quiz-mode .atlas,body.quiz-mode .contact,body.quiz-mode .pantheon{display:none;}
  body.quiz-mode .quiz{display:block;}
  body.quiz-mode .searchwrap,body.quiz-mode #btnCompare,body.quiz-mode #btnRandom,body.quiz-mode .tree-tools,body.quiz-mode .tree-layers{display:none;}
  .quiz-scroll{position:absolute;inset:0;overflow-y:auto;background:radial-gradient(circle at 50% 0%,#12161f,#080b12 70%);}
  .quiz-body{max-width:640px;margin:0 auto;padding:26px 18px 60px;}
  .qz-setup h2{font-size:30px;color:var(--gold-bright);margin:6px 0 6px;}
  .qz-lede{font-size:14px;color:var(--ink-dim);line-height:1.6;margin-bottom:20px;}
  .qz-lbl{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-faint);margin:18px 0 8px;}
  .qz-themes,.qz-counts{display:flex;flex-wrap:wrap;gap:7px;}
  .qz-chip{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:20px;padding:7px 14px;font-family:inherit;font-size:12.5px;cursor:pointer;}
  .qz-chip.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:600;}
  .qz-sub{font-size:12px;padding:6px 12px;} .qz-sub.on{background:rgba(201,162,75,.9);}
  .qz-diffs{display:flex;flex-wrap:wrap;gap:7px;}
  .qz-dchip{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:12px;padding:8px 14px;font-family:inherit;font-size:11px;cursor:pointer;min-width:64px;}
  .qz-dchip b{font-size:16px;color:var(--gold-bright);} .qz-dchip.on{border-color:var(--gold);background:rgba(201,162,75,.14);color:var(--ink-text);}
  .qz-start{margin-top:26px;width:100%;background:var(--gold);color:#1a1206;border:none;border-radius:12px;padding:15px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.3px;}
  .qz-start:hover{filter:brightness(1.08);}
  .qz-top{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-faint);margin-bottom:8px;} .qz-score{color:var(--gold-bright);}
  .qz-bar{height:6px;background:rgba(255,255,255,.07);border-radius:6px;overflow:hidden;margin-bottom:20px;} .qz-bar i{display:block;height:100%;background:var(--gold);transition:width .4s;}
  .qz-q{font-family:'Fraunces',serif;font-size:22px;line-height:1.35;color:var(--ink-text);margin-bottom:20px;}
  .qz-opts{display:flex;flex-direction:column;gap:10px;}
  .qz-opt{text-align:left;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:11px;padding:14px 16px;font-family:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s;}
  .qz-opt:hover:not(:disabled){border-color:var(--gold);} .qz-opt:disabled{cursor:default;}
  .qz-opt.right{border-color:#6fbf9a;background:rgba(111,191,154,.16);color:#cdeadd;} .qz-opt.wrong{border-color:#e0555f;background:rgba(224,85,95,.14);color:#f0c9cc;}
  .qz-ex{margin-top:16px;font-size:13.5px;color:var(--ink-dim);line-height:1.55;border-left:3px solid var(--gold);padding-left:12px;} .qz-ok{color:#6fbf9a;} .qz-no{color:#e0555f;}
  .qz-next{margin-top:20px;width:100%;background:var(--glass-2);border:1px solid var(--gold);color:var(--gold-bright);border-radius:11px;padding:13px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;}
  .qz-stats{font-size:12px;color:var(--ink-dim);background:var(--glass-2);border:1px solid var(--line);border-radius:9px;padding:8px 12px;margin:0 0 8px;} .qz-stats b{color:var(--gold-bright);} .qz-clear{margin-left:8px;background:none;border:none;color:var(--ink-faint);font-size:11px;cursor:pointer;text-decoration:underline;}
  .qz-textwrap{display:flex;gap:8px;} .qz-input{flex:1;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:11px;padding:14px 16px;font-family:inherit;font-size:15px;} .qz-input:focus{outline:none;border-color:var(--gold);} .qz-input.ok{border-color:#6fbf9a;} .qz-input.no{border-color:#e0555f;}
  .qz-submit{background:var(--gold);color:#1a1206;border:none;border-radius:11px;padding:0 18px;font-family:inherit;font-weight:700;cursor:pointer;font-size:14px;} .qz-hint{font-size:11.5px;color:var(--ink-faint);margin-top:7px;}
  .qz-map{position:relative;width:100%;height:min(64vh,560px);border-radius:12px;overflow:hidden;border:1px solid var(--line);} .qz-map .leaflet-container{background:#0b0e15;}
  .qzm-bm{position:absolute;top:8px;right:8px;z-index:500;display:flex;gap:4px;background:rgba(8,11,18,.7);padding:4px;border-radius:8px;} .qzm-bm button{background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:6px;padding:4px 9px;font-family:inherit;font-size:11px;cursor:pointer;} .qzm-bm button.on{background:var(--gold);color:#1a1206;border-color:var(--gold);}
  .qz-mapconfirm{margin-top:10px;width:100%;background:var(--gold);color:#1a1206;border:none;border-radius:11px;padding:13px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;}
  .qz-pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;} .qz-pcard{background:var(--glass-2);border:2px solid var(--line);border-radius:11px;padding:6px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:4px;} .qz-pcard:hover{border-color:var(--gold);} .qz-pcard.right{border-color:#6fbf9a;} .qz-pcard.wrong{border-color:#e0555f;}
  .qz-pimg{width:100%;aspect-ratio:1/1;background:#05070c;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;} .qz-pimg-i{width:100%;height:100%;object-fit:cover;} .qz-psrc{font-size:10px;color:var(--ink-faint);text-align:center;text-decoration:none;} .qz-psrc:hover{color:var(--gold-bright);}
  .qz-tf{display:flex;gap:12px;} .qz-tfb{flex:1;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:12px;padding:22px;font-family:inherit;font-size:17px;font-weight:600;cursor:pointer;} .qz-tfb:hover:not(:disabled){border-color:var(--gold);} .qz-tfb.right{border-color:#6fbf9a;background:rgba(111,191,154,.16);} .qz-tfb.wrong{border-color:#e0555f;background:rgba(224,85,95,.14);} .qz-tf-stmt{display:block;margin-top:6px;color:var(--gold-bright);font-family:'Fraunces',serif;}
  .qz-photo{width:100%;aspect-ratio:3/2;background:#05070c;border-radius:12px;overflow:hidden;margin-bottom:16px;display:flex;align-items:center;justify-content:center;} .qz-ph-img{width:100%;height:100%;object-fit:cover;} .qz-ph-load{color:var(--ink-faint);font-size:13px;text-align:center;padding:20px;}
  .qz-results{text-align:center;} .qz-scorebig{font-family:'Fraunces',serif;font-size:52px;color:var(--gold-bright);margin-top:12px;} .qz-rank{font-size:15px;color:var(--ink-dim);margin-bottom:20px;}
  .qz-actions{display:flex;gap:10px;justify-content:center;margin-bottom:26px;flex-wrap:wrap;}
  .qz-review{text-align:left;} .qz-review h3{color:var(--ink-faint);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;}
  .qz-rv{border-top:1px solid var(--line);padding:12px 0;} .qz-rvq{font-size:14px;color:var(--ink-text);margin-bottom:5px;}
  .qz-rva{font-size:13px;} .qz-rva.ok{color:#6fbf9a;} .qz-rva.no{color:#e0a58a;} .qz-rvx{font-size:12px;color:var(--ink-faint);margin-top:3px;line-height:1.5;}
  /* Pantheon view */
  .pantheon{position:relative;flex:1 1 auto;overflow:hidden;display:none;flex-direction:column;}
  body.pantheon-mode .stage,body.pantheon-mode .atlas,body.pantheon-mode .contact{display:none;}
  body.pantheon-mode .pantheon{display:flex;}
  body.pantheon-mode .searchwrap,body.pantheon-mode #btnCompare,body.pantheon-mode #btnRandom{display:none;}
  .pn-controls{flex:0 0 auto;padding:10px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px;max-height:32vh;overflow-y:auto;}
  .pn-crow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
  .pn-clbl{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);margin-right:4px;}
  .pn-fchip,.pn-pchip{background:transparent;border:1px solid var(--line);color:var(--ink-faint);border-radius:20px;padding:4px 11px;font-family:inherit;font-size:11.5px;cursor:pointer;opacity:.45;}
  .pn-fchip.on{opacity:1;} .pn-pchip.on{opacity:1;color:var(--ink-text);background:rgba(255,255,255,.05);}
  .pn-search{flex:1;min-width:140px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:8px;padding:7px 10px;font:inherit;font-size:12px;}
  .pn-search:focus{outline:none;border-color:var(--gold);}
  .pn-clear{background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:8px;padding:6px 11px;font:inherit;font-size:11.5px;cursor:pointer;}
  .pn-main{flex:1;display:flex;min-height:0;}
  .pn-scroll{flex:1;overflow:auto;background:radial-gradient(circle at 30% 10%,#0d1119,#080b12);cursor:grab;touch-action:none;} .pn-scroll.grabbing{cursor:grabbing;} .pnnode{cursor:pointer;} .pnnode:hover{filter:drop-shadow(0 0 6px rgba(255,255,255,.5));}
  .pnnode.pn-dim{opacity:.13;}
  .pn-panel{flex:0 0 350px;max-width:46%;border-left:1px solid var(--line);overflow-y:auto;background:var(--panel);}
  .pn-p-hd{padding:16px 18px 12px;border-bottom:1px solid var(--line);border-left:3px solid var(--gold);}
  .pn-p-hd h2{margin:2px 0 4px;font-size:23px;color:var(--gold-bright);}
  .pn-p-body{padding:14px 18px 34px;}
  .pn-kin{display:flex;flex-wrap:wrap;gap:6px;}
  .pn-kchip,.pn-cchip{display:inline-flex;flex-direction:column;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:8px;padding:5px 10px;font-family:inherit;font-size:12px;cursor:pointer;text-align:left;line-height:1.25;}
  .pn-cchip{flex-direction:row;align-items:center;}
  .pn-kchip:hover,.pn-cchip:hover{border-color:var(--gold);color:var(--gold-bright);}
  .pn-kmeta{font-size:9.5px;color:var(--ink-faint);}
  .pn-kgroup{margin-bottom:11px;} .pn-kg-h{font-size:12px;font-weight:600;margin-bottom:5px;}
  @media(max-width:760px){ .pn-main{flex-direction:column;} .pn-panel{flex:0 0 auto;max-width:none;max-height:46vh;border-left:none;border-top:1px solid var(--line);} }
  .mk-bev{width:13px;height:13px;background:#e0c060;color:#e0c060;border:2px solid #1a1206;box-shadow:0 0 7px rgba(224,192,96,.9);}
  .mk-sym{width:24px;height:24px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:12.5px;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.55);}
  .mk-sym.cred-t1{opacity:.62;} .mk-sym.cred-t0{opacity:.42;}
  .hist-strip{border:1px solid var(--line);border-radius:9px;padding:8px 10px;margin-bottom:9px;background:rgba(201,162,75,.05);}
  .hs-era{font-size:13px;color:var(--gold-bright);} .hs-note{font-size:11px;color:var(--ink-dim);line-height:1.45;margin:3px 0 5px;} .hs-pop{font-size:11.5px;color:var(--ink-text);font-variant-numeric:tabular-nums;}
  .tb-speed{background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:7px;padding:4px 8px;font-family:inherit;font-size:11.5px;cursor:pointer;min-width:34px;}
  .tb-speed:hover{border-color:var(--gold);}
  .fut-ai{background:linear-gradient(90deg,rgba(224,85,95,.16),rgba(201,162,75,.12));border:1px solid #e0555f;border-left:4px solid #e0555f;border-radius:10px;padding:11px 14px;margin:0 0 6px;font-size:12.5px;color:var(--ink-text);line-height:1.5;} .fut-ai b{color:#e0555f;letter-spacing:.4px;} .fut-src h3{color:var(--gold-bright);}
  .recon-ov{border-radius:8px;box-shadow:0 0 0 1.5px rgba(201,162,75,.55),0 8px 26px rgba(0,0,0,.55);animation:reconFade .8s ease;} @keyframes reconFade{from{opacity:0}to{opacity:.92}}
  .vtab-div{width:1px;align-self:center;height:20px;background:var(--line);margin:0 8px;flex:0 0 auto;} .vtab-quiz{color:var(--gold-bright);} .vtab-quiz::before{content:'';} .vtab-quiz.active{color:#1a1206;}
  .map-legend-btn{position:absolute;bottom:76px;right:12px;z-index:620;background:rgba(13,17,27,.9);border:1px solid var(--line);color:var(--gold-bright);border-radius:9px;padding:7px 11px;font-family:inherit;font-size:12px;cursor:pointer;backdrop-filter:blur(6px);}
  .map-legend-btn:hover{border-color:var(--gold);}
  .map-legend{position:absolute;bottom:76px;right:12px;z-index:625;width:280px;max-height:66vh;overflow-y:auto;display:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 16px 50px rgba(0,0,0,.7);}
  .lg-sec{margin-bottom:12px;} .lg-sec h4{margin:0 0 7px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);}
  .lg-grid{display:flex;flex-direction:column;gap:5px;}
  .lg-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim);}
  .lg-mk{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:11px;}
  .lg-line{flex:0 0 auto;width:22px;height:4px;border-radius:2px;} .lg-area{flex:0 0 auto;width:22px;height:14px;border-radius:3px;opacity:.5;}
  .lg-top{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line);}
  .lg-top b{color:var(--gold-bright);font-family:'Fraunces',serif;font-size:15px;} .lg-hint{font-size:9.5px;color:var(--ink-faint);flex:1;}
  .lg-close{background:none;border:none;color:var(--ink-dim);font-size:22px;line-height:1;cursor:pointer;} .lg-close:hover{color:var(--gold-bright);}
  .lg-click{cursor:pointer;border-radius:6px;padding:2px 4px;margin:0 -4px;} .lg-click:hover{background:rgba(255,255,255,.05);color:var(--ink-text);}
  .lg-click.on{background:rgba(201,162,75,.16);color:var(--gold-bright);}
  .mk-sym.spot-future{border-style:dashed;} .mk-sym.spot-past{box-shadow:0 0 7px currentColor;}
  @media(max-width:640px){ .map-legend{width:calc(100vw - 24px);} .map-legend-btn{bottom:70px;} .map-legend{bottom:70px;} }
  @media(max-width:640px){.pk-grid{grid-template-columns:1fr 1fr;} .pk-hd{flex-wrap:wrap;} }
  @media(max-width:640px){ .timebar{flex-wrap:wrap;} .tb-input{width:56px;} }
  /* related cross-links */
  .relwrap{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;}
  .relchip{display:inline-flex;align-items:center;gap:6px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:20px;padding:5px 12px;font-family:inherit;font-size:12px;cursor:pointer;transition:all .15s;}
  .relchip:hover{border-color:var(--gold);color:var(--gold-bright);}
  .relchip .cdot{width:9px;height:9px;border-radius:50%;display:inline-block;}
  .al-img{width:100%;max-height:160px;object-fit:cover;border-radius:9px;margin:4px 0 10px;border:1px solid var(--line);}
  .al-btn{background:none;border:none;color:var(--gold-bright);font-family:inherit;font-size:12.5px;cursor:pointer;padding:2px 0;}
  .al-linked{margin-top:12px;} .al-linked h4{margin:0 0 6px;font-size:13px;color:var(--ink-dim);font-weight:600;}
  /* alien filter menu */
  .af-menu{display:flex;flex-direction:column;gap:7px;}
  .af-quick{display:flex;gap:6px;} .af-q{flex:1;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:7px;padding:6px;font-family:inherit;font-size:11.5px;cursor:pointer;} .af-q:hover{border-color:var(--gold);color:var(--gold-bright);}
  .af-grouplbl{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);margin-top:3px;}
  .af-cats{display:flex;flex-wrap:wrap;gap:5px;} .af-tiers{display:flex;flex-wrap:wrap;gap:5px;}
  .af-cat,.af-tier{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--line);color:var(--ink-faint);border-radius:20px;padding:4px 10px;font-family:inherit;font-size:11.5px;cursor:pointer;opacity:.5;transition:all .12s;}
  .af-cat.on,.af-tier.on{opacity:1;background:rgba(255,255,255,.04);}
  .af-cat i{width:9px;height:9px;border-radius:50%;display:inline-block;}
  body.contact-mode .af-menu{max-width:760px;}
  #contactMenu{margin:0;}
  .nat-focus{width:100%;margin-top:8px;background:var(--glass-2);border:1px solid var(--line);color:var(--ink-text);border-radius:7px;padding:5px 7px;font:inherit;font-size:12px;}
  .pf-ctrl{display:flex;flex-direction:column;gap:3px;}
  .pf-ctrl label{font-size:11.5px;color:var(--ink-dim);display:flex;justify-content:space-between;}
  .pf-ctrl label span{color:var(--gold-bright);}
  .pf-ctrl input[type=range]{width:100%;accent-color:var(--gold);}
  .cred-unexplained{color:#e7c877;border-color:#e7c87755;} .cred-official{color:#c9a24b;border-color:#c9a24b55;} .cred-explained{color:#9fb2cc;border-color:#9fb2cc55;} .cred-hoax,.cred-claim{color:#e0555f;border-color:#e0555f55;} .cred-disputed{color:#d98a3d;border-color:#d98a3d55;} .cred-account{color:#d857a8;border-color:#d857a855;}
  /* alien section in sheet */
  .al-sec h3{color:#8fd0c4;}
  .al-meter-row{display:flex;align-items:center;gap:9px;margin-bottom:9px;}
  .ameter{display:inline-flex;gap:3px;} .ameter-pip{width:16px;height:6px;border-radius:3px;background:var(--glass-2);border:1px solid var(--line);} .ameter-pip.on{background:#8fd0c4;border-color:#8fd0c4;}
  .ameter-lbl{font-size:11px;color:var(--ink-dim);letter-spacing:.3px;}
  .al-claim,.al-main{font-size:13.5px;line-height:1.6;margin:7px 0;color:var(--ink-text);}
  .al-disc{font-size:11px;color:var(--ink-faint);font-style:italic;line-height:1.5;margin-top:8px;}
  /* hovercards */
  .hcard{border-bottom:1px dotted var(--gold);cursor:help;}
  .hc-tip{position:fixed;z-index:10000;width:272px;max-width:calc(100vw - 16px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 50px rgba(0,0,0,.7);padding:10px;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .15s,transform .15s;overflow:auto;}
  .hc-tip.show{opacity:1;transform:translateY(0);pointer-events:auto;}
  .hc-img{width:100%;height:130px;border-radius:8px;overflow:hidden;background:var(--glass-2);display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
  .hc-img img{width:100%;height:100%;object-fit:cover;} .hc-load{font-size:11px;color:var(--ink-faint);}
  .hc-lbl{font-size:14px;color:var(--gold-bright);font-family:'Fraunces',serif;margin-bottom:5px;}
  .hc-extract{font-size:12px;color:var(--ink-dim);line-height:1.5;margin-bottom:9px;}
  .hc-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
  .hc-btn{background:var(--gold);border:none;color:#1a1206;border-radius:7px;padding:5px 10px;font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;}
  a.hc-a{font-size:11.5px;color:var(--gold-bright);text-decoration:none;border:1px solid var(--line);border-radius:7px;padding:5px 9px;}
  a.hc-a:hover{border-color:var(--gold);}
  /* report + scholarly extras */
  .rep-more-btn,.rep-btn2{background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:8px;padding:7px 11px;font-family:inherit;font-size:12px;cursor:pointer;text-decoration:none;display:inline-block;}
  .rep-more-btn:hover,.rep-btn2:hover{border-color:var(--gold);}
  .btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0;}
  .scholar-note{font-size:11px;color:var(--ink-faint);font-style:italic;margin-top:6px;line-height:1.5;}
  /* contact view */
  .contact{position:relative;flex:1 1 auto;overflow:hidden;display:none;flex-direction:column;}
  body.contact-mode .stage{display:none;} body.contact-mode .atlas{display:none;} body.contact-mode .contact{display:flex;}
  body.contact-mode .searchwrap,body.contact-mode #btnCompare,body.contact-mode #btnRandom{display:none;}
  .contact-scroll{flex:1;overflow:auto;background:radial-gradient(circle at 30% 20%,#0d1119,#080b12);cursor:grab;touch-action:none;} .contact-scroll.grabbing{cursor:grabbing;}
  .wnode:hover circle{stroke:#fff;stroke-width:2;} .wnode:hover text{fill:#fff;} #webCenter:hover{filter:drop-shadow(0 0 8px #fff);}
  .contact-scroll svg{display:block;}
  .contact-bar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:6px 12px;border-top:1px solid var(--line);background:linear-gradient(0deg,rgba(13,17,27,.97),rgba(8,11,18,.85));}
  .cb-filters{background:var(--glass-2);border:1px solid var(--line);color:var(--gold-bright);border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;cursor:pointer;white-space:nowrap;}
  .cb-filters.on,.cb-filters:hover{border-color:var(--gold);}
  .cb-title{font-size:11px;color:var(--ink-faint);margin-left:auto;cursor:help;white-space:nowrap;}
  .contact-legend{display:flex;flex-wrap:nowrap;overflow:hidden;gap:6px 12px;flex:1;min-width:0;}
  .contact-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-dim);white-space:nowrap;}
  .contact-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;}
  .contact-drawer{flex:0 0 auto;max-height:42vh;overflow-y:auto;border-top:1px solid var(--line);background:rgba(13,17,27,.98);padding:10px 14px;}
  @media(max-width:640px){.contact-bar{padding:6px 10px;gap:8px;} .cb-title{display:none;} }
  /* ---- leaflet dark theme ---- */
  .leaflet-container{background:#080b12;font-family:'Manrope',sans-serif;}
  .leaflet-div-icon{background:transparent;border:none;}
  .mk{display:block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(8,11,18,.85);box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 9px currentColor;transition:transform .15s;}
  .mk:hover{transform:scale(1.35);}
  .mk-OT{background:#d98a3d;color:#d98a3d;}
  .mk-NT{background:#4a9fe0;color:#4a9fe0;}
  .mk-Both{background:#c9a24b;color:#c9a24b;}
  .mk-debated{outline:2px dashed rgba(233,228,214,.65);outline-offset:2px;}
  .mk-site{width:9px;height:9px;border-width:1px;opacity:.9;}
  .mk-event{background:transparent!important;border:none!important;box-shadow:none!important;width:auto!important;height:auto!important;border-radius:0!important;font-size:15px;line-height:1;text-shadow:0 0 7px currentColor;}
  .leaflet-popup-content-wrapper{background:var(--panel);color:var(--ink-text);border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 46px rgba(0,0,0,.65);max-width:280px;}
  .leaflet-popup-tip{background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
  .leaflet-popup-content{margin:14px 16px;font-size:13px;line-height:1.5;max-height:320px;overflow:auto;}
  .leaflet-container a.leaflet-popup-close-button{color:var(--ink-faint);}
  .leaflet-control-attribution{background:rgba(8,11,18,.72)!important;color:var(--ink-faint)!important;font-size:9.5px;}
  .leaflet-control-attribution a{color:var(--gold)!important;}
  .leaflet-bar a{background:var(--panel);color:var(--ink-text);border-color:var(--line)!important;}
  .leaflet-bar a:hover{background:var(--glass-2);}
  .pl-img{width:100%;height:118px;object-fit:cover;border-radius:8px;margin-bottom:9px;display:none;}
  .pl-img.show{display:block;}
  .pl-name{font-family:'Fraunces',serif;font-size:21px;font-weight:600;margin:0 0 5px;color:var(--gold-bright);line-height:1.1;}
  .pl-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
  .pl-tag{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;border-radius:20px;border:1px solid var(--line);color:var(--ink-dim);}
  .pl-tag.debated{color:#e7c877;border-color:#7a6224;}
  .pl-modern{font-size:11px;color:var(--ink-faint);margin-bottom:8px;}
  .pl-note{font-size:11.5px;color:var(--ink-dim);font-style:italic;margin:7px 0;line-height:1.45;}
  .pl-cands{margin:7px 0;padding:0;list-style:none;}
  .pl-cands li{font-size:11.5px;color:var(--ink-dim);margin:4px 0;padding-left:14px;position:relative;line-height:1.4;}
  .pl-cands li:before{content:"◇";position:absolute;left:0;color:var(--gold);font-size:9px;top:3px;}
  .pl-refs h5{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin:9px 0 4px;}
  .pl-refs ul{margin:0;padding-left:16px;}
  .pl-refs li{font-size:12px;color:var(--ink-text);margin:3px 0;}
  /* ---- pop-up gallery ---- */
  .gallery{display:none;gap:9px;overflow-x:auto;margin:2px 0 6px;padding-bottom:5px;}
  .gallery .gitem{margin:0;flex:0 0 auto;width:144px;}
  .gallery .gitem img{width:144px;height:102px;object-fit:cover;border-radius:9px;border:1px solid var(--line);display:block;background:var(--glass-2);}
  .gallery .gitem figcaption{font-size:10.5px;color:var(--ink-faint);margin-top:5px;text-align:center;line-height:1.3;}
  .gnote{display:none;font-size:10px;color:var(--ink-faint);margin:0 0 16px;opacity:.7;}
