
:root{--bg:#0a0d10;--panel:#0c0c0d;--line:#262a30;--fg:#f2f2f2;--dim:#8e8e93;--dim2:#5c5c61;--gold:#e8b33c;--gold2:#f0c25a;--purple:#c77dff;
  --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#000;color:var(--fg);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;overscroll-behavior:none}
#map{position:absolute;inset:0;background:#0a1218}
.maplibregl-ctrl-attrib{background:rgba(0,0,0,.72)!important;color:#4a4a50!important;font-size:9px}
.maplibregl-ctrl-attrib a{color:#7a7a80!important}
.maplibregl-canvas{outline:none}
#top{position:absolute;left:12px;right:12px;top:calc(var(--safe-t) + 10px);z-index:1000;display:flex;gap:8px;align-items:center;pointer-events:none}
#brand{pointer-events:auto;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;background:rgba(8,10,13,.72);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:7px 11px;backdrop-filter:blur(12px)}
#brand b{font:700 11.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.26em;color:var(--gold)}
#brand i{display:block;font-style:normal;font:600 7.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.22em;color:var(--dim2);margin-top:4px}
#searchWrap{pointer-events:auto;flex:1;position:relative;min-width:0}
#q{width:100%;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(8,10,13,.82);color:var(--fg);font-size:16px;padding:0 40px 0 14px;outline:none;backdrop-filter:blur(12px);-webkit-appearance:none;appearance:none}
#q::placeholder{color:var(--dim2)}
#q:focus{border-color:var(--gold)}
#qx{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:var(--dim);display:none;font-size:15px;line-height:1;cursor:pointer}
#res{position:absolute;left:0;right:0;top:50px;max-height:52vh;overflow-y:auto;background:rgba(10,12,15,.96);border:1px solid var(--line);border-radius:12px;display:none;box-shadow:0 14px 40px rgba(0,0,0,.7)}
#res a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-top:1px solid var(--line);text-decoration:none;color:var(--fg)}
#res a:first-child{border-top:0}
#res a .nm{flex:1;min-width:0}
#res a .nm b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#res a .nm small{display:block;font:600 9.5px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--dim);margin-top:3px}
#res a .st{flex:0 0 auto}
#res .none{padding:14px;color:var(--dim);font-size:12px}
.st{display:inline-block;font:700 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;padding:4px 7px;border-radius:999px;border:1px solid var(--line);color:var(--dim)}
.st.OPEN{color:#35d07f;border-color:rgba(53,208,127,.5)}
.st.OPEN_SOON{color:#f0c25a;border-color:rgba(240,194,90,.5)}
.st.CLOSED_NOW,.st.CLOSED_TODAY,.st.TEMPORARILY_CLOSED,.st.PERMANENTLY_CLOSED{color:#8e8e93}
.st.UNKNOWN{color:#5c5c61;border-style:dashed}
#tools{position:absolute;right:12px;bottom:calc(16px + var(--safe-b));z-index:1000;display:flex;flex-direction:column;gap:8px;align-items:flex-end;transition:bottom .22s}
body.cards #tools{bottom:calc(196px + var(--safe-b))}
body.escort #tools{bottom:calc(176px + var(--safe-b))}
.tool{height:42px;min-width:42px;padding:0 12px;border-radius:12px;background:rgba(10,10,11,.9);border:1px solid var(--line);color:var(--fg);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;backdrop-filter:blur(14px);font:700 10.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;user-select:none}
.tool.on{background:var(--gold);color:#000;border-color:var(--gold)}
.tool.primary{height:48px;padding:0 16px;background:var(--fg);color:#000;border-color:var(--fg);font-size:12px}
.tool.primary.on{background:var(--gold);border-color:var(--gold)}
.tool small{font-size:8.5px;color:inherit;opacity:.7;letter-spacing:.14em}
#hud{position:absolute;left:12px;bottom:calc(12px + var(--safe-b));z-index:900;background:rgba(10,10,11,.86);border:1px solid var(--line);border-radius:9px;padding:6px 9px;font:10px/1.5 ui-monospace,Menlo,monospace;color:var(--dim);white-space:pre;display:none}
body.hud #hud{display:block}
#hud b{color:var(--fg);font-weight:500}
#state{position:absolute;left:12px;top:calc(var(--safe-t) + 62px);z-index:900;font:700 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.24em;color:var(--dim2);pointer-events:none}
#state b{color:var(--gold)}
#disc{position:absolute;left:0;right:0;bottom:0;z-index:1100;background:rgba(12,12,13,.97);border-top:1px solid var(--line);border-radius:16px 16px 0 0;transform:translateY(103%);transition:transform .22s cubic-bezier(.3,.9,.3,1);max-height:70vh;display:flex;flex-direction:column;box-shadow:0 -18px 44px rgba(0,0,0,.75)}
#disc.open{transform:translateY(0)}
#disc .hd{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 6px}
#disc .hd b{font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.26em;color:var(--gold)}
#disc .hd span{font-size:11px;color:var(--dim)}
#disc .hd i{font-style:normal;color:var(--dim2);font-size:18px;cursor:pointer;padding:4px 8px}
#disc .body{overflow-y:auto;padding:4px 16px calc(16px + var(--safe-b))}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 10px}
.cat{height:64px;border-radius:12px;border:1px solid var(--line);background:#101216;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;user-select:none}
.cat b{font:700 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em}
.cat small{font-size:10px;color:var(--dim)}
.cat i{width:8px;height:8px;border-radius:50%}
.cat.on{border-color:var(--gold);background:rgba(232,179,60,.12)}
.sec{font:700 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.24em;color:var(--dim2);margin:10px 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:8px 11px;border-radius:999px;border:1px solid var(--line);background:#101216;color:var(--fg);font-size:12px;cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px}
.chip small{font:600 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;color:var(--dim)}
.chip.on{border-color:var(--gold);background:rgba(232,179,60,.14);color:#fff}
.chip.dis{opacity:.4;cursor:default}
.chip.kid{flex:0 0 auto;white-space:nowrap}
#discGo{margin-top:12px;height:46px;border-radius:12px;border:0;background:var(--fg);color:#000;font-weight:700;font-size:14px;width:100%;cursor:pointer}
#discGo:disabled{opacity:.4}
#discNote{font-size:11px;color:var(--dim);margin-top:8px;line-height:1.6}
.lm{width:34px;height:34px;cursor:pointer;transition:opacity .25s}
.lm .in{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:transform .18s}
.lm .glow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(240,194,90,.55) 0%,rgba(240,194,90,.18) 45%,rgba(240,194,90,0) 70%);transition:opacity .25s}
.lm .core{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 14px 3px rgba(240,194,90,.75)}
.lm .num{position:absolute;top:-6px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#0a0a0b;border:1px solid rgba(255,255,255,.35);color:#fff;font:700 10px/14px ui-monospace,Menlo,monospace;text-align:center}
.lm .nm{position:absolute;left:50%;top:-8px;transform:translate(-50%,-100%);white-space:nowrap;font:600 11px/1 -apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:#fff;text-shadow:0 1px 4px #000,0 0 10px rgba(0,0,0,.95);opacity:0;transition:opacity .2s;pointer-events:none}
.lm.active{z-index:5}
.lm.active .in{transform:scale(1.25)}
.lm.active .glow{opacity:1;transform:scale(1.5)}
.lm.active .nm,.lm.focus .nm,.lm.escort .nm{opacity:1}
.lm.dim{opacity:.32}
.lm.dim .glow{opacity:.2}
.lm.escort{z-index:6}
.lm.escort .in{transform:scale(1.4)}
.lm.escort .core{box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 22px 6px rgba(240,194,90,.85)}
.lm.escort .nm{font-size:13px;top:-12px}
.lm.partner .core{width:22px;height:22px;background:#0a0a0b url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2040%2040'%3E%3Cpath%20d%3D'M8%206%20H32%20C32%2010%2033.5%2012%2035%2012.5%20V20%20C35%2028.5%2028.5%2033.5%2020%2036.5%20C11.5%2033.5%205%2028.5%205%2020%20V12.5%20C6.5%2012%208%2010%208%206%20Z'%20fill%3D'%230a0a0b'%20stroke%3D'%23ffffff'%20stroke-width%3D'1.8'%20stroke-linejoin%3D'round'%2F%3E%3Ctext%20x%3D'20'%20y%3D'24'%20font-size%3D'12'%20font-family%3D'ui-monospace%2CMenlo%2Cmonospace'%20font-weight%3D'700'%20fill%3D'%23ffffff'%20text-anchor%3D'middle'%3E58%3C%2Ftext%3E%3C%2Fsvg%3E") center/contain no-repeat;box-shadow:0 0 0 1.5px rgba(255,255,255,.35),0 0 16px 4px rgba(240,194,90,.7)}
.lm.partner .glow{background:radial-gradient(circle,rgba(240,194,90,.5) 0%,rgba(240,194,90,.14) 50%,rgba(240,194,90,0) 72%)}
.f58night .lm .core{box-shadow:0 0 0 2px rgba(0,0,0,.6),0 0 17px 4px rgba(199,125,255,.85)}
.f58night .lm .glow{background:radial-gradient(circle,rgba(199,125,255,.70) 0%,rgba(199,125,255,.26) 48%,rgba(199,125,255,0) 76%)}
.f58night .lm.escort .core{box-shadow:0 0 0 2px rgba(0,0,0,.6),0 0 28px 7px rgba(199,125,255,.95)}
.f58night .lm.partner .glow{background:radial-gradient(circle,rgba(199,125,255,.64) 0%,rgba(199,125,255,.22) 52%,rgba(199,125,255,0) 78%)}
.me{width:14px;height:14px;border-radius:50%;background:#4a9eff;box-shadow:0 0 0 3px rgba(74,158,255,.25),0 0 0 1.5px #fff}
.me small{position:absolute;left:50%;top:16px;transform:translateX(-50%);white-space:nowrap;font:600 9px/1 ui-monospace,Menlo,monospace;color:#9cc7ff;text-shadow:0 1px 3px #000}
.lmStar{display:flex;align-items:center;justify-content:center;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}
.lmStar svg{width:22px;height:22px}
.lmStar .lmName{position:absolute;left:50%;top:-4px;transform:translate(-50%,-100%);white-space:nowrap;font:600 10px/1 -apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:#f0e3c2;text-shadow:0 1px 3px #000;opacity:0;transition:opacity .15s;pointer-events:none}
.lmStar:hover .lmName,.lmStar.show .lmName,body.z16 .lmStar.lmC .lmName{opacity:1}
body.discover .lmStar,body.focus .lmStar,body.escort .lmStar{opacity:.55}
.centralTag{font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.26em;color:var(--gold);background:rgba(6,8,10,.8);padding:5px 10px;border-radius:4px;border:1px solid currentColor;cursor:pointer;white-space:nowrap}
.f58night .centralTag{color:var(--purple)}
.pl{pointer-events:none;text-align:center;color:#d7d9de;text-shadow:0 1px 4px #000,0 0 10px rgba(0,0,0,.9);white-space:nowrap;font:600 11px/1.2 -apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
.pl small{display:block;font:600 7.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.2em;color:#8e8e93;margin-top:2px}
.pl.city{font-size:15px}
.pl.peak{color:#a9adb5}
#cards{position:absolute;left:0;right:0;bottom:0;z-index:1050;padding:0 0 calc(12px + var(--safe-b));transform:translateY(110%);transition:transform .25s cubic-bezier(.3,.9,.3,1);pointer-events:none}
body.cards #cards{transform:translateY(0);pointer-events:auto}
#carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 12px 6px;scrollbar-width:none}
#carousel::-webkit-scrollbar{display:none}
#cards>#carousel,#cdCards>#cdCarousel{padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));
  scroll-padding-left:calc(12px + env(safe-area-inset-left,0px));scroll-padding-right:calc(12px + env(safe-area-inset-right,0px));
  touch-action:pan-x;-webkit-overflow-scrolling:touch}
#cards>#carousel>.card:first-child,#cdCards>#cdCarousel>.card:first-child{scroll-snap-align:start}
#cards>#carousel>.card:last-child,#cdCards>#cdCarousel>.card:last-child{scroll-snap-align:end}
#cards>#cardsHint,#cdCards>#cdHint{padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px))}   
.card{flex:0 0 calc(100% - 64px);max-width:360px;scroll-snap-align:center;background:rgba(12,12,13,.94);border:1px solid var(--line);border-radius:14px;padding:12px 14px;backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:6px;opacity:.72;transform:scale(.97);transition:opacity .2s,transform .2s,border-color .2s;cursor:pointer}
.card.active{opacity:1;transform:scale(1);border-color:rgba(240,194,90,.55)}
.card .r1{display:flex;align-items:center;gap:10px}
.card .no{width:22px;height:22px;border-radius:11px;background:#fff;color:#000;font:700 12px/22px ui-monospace,Menlo,monospace;text-align:center;flex:0 0 auto}
.card.partner .no{background:var(--gold)}
.card .nm{flex:1;min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .r2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card .g{font:600 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--dim)}
.card .d{font:600 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;color:var(--fg)}
.card .why{font-size:11px;color:var(--dim);line-height:1.5}
.card .pt{font:700 8.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;color:var(--gold)}
#cardsHint{padding:0 16px;font:600 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.2em;color:var(--dim2);display:flex;justify-content:space-between}
#cardsHint span{cursor:pointer;color:var(--dim)}
#esc{position:absolute;left:0;right:0;bottom:0;z-index:1060;background:rgba(12,12,13,.97);border-top:1px solid var(--line);border-radius:16px 16px 0 0;transform:translateY(103%);transition:transform .24s cubic-bezier(.3,.9,.3,1);padding:10px 16px calc(14px + var(--safe-b));box-shadow:0 -18px 44px rgba(0,0,0,.75);max-height:70vh;overflow-y:auto}
body.escort #esc,body.focus #esc{transform:translateY(0)}
#esc .grab{width:38px;height:4px;border-radius:2px;background:#3a3a40;margin:0 auto 10px}
#esc .r1{display:flex;align-items:center;gap:10px}
#esc .no{width:24px;height:24px;border-radius:12px;background:#fff;color:#000;font:700 13px/24px ui-monospace,Menlo,monospace;text-align:center}
#esc.partner .no{background:var(--gold)}
#esc .nm{flex:1;font-size:18px;font-weight:600;min-width:0}
#esc .r2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
#esc .g{font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--dim)}
#esc .d{font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em}
#esc .meta{font-size:11.5px;color:var(--dim);margin-top:8px;line-height:1.6}
#esc .acts{display:flex;gap:8px;margin-top:12px}
#esc .act{flex:1;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;font-size:13px;border:1px solid var(--line);color:var(--fg);cursor:pointer;background:#101216}
#esc .act.go{background:var(--fg);color:#000;border-color:var(--fg)}
#esc .pt{display:inline-flex;align-items:center;gap:6px;font:700 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;color:var(--gold);border:1px solid rgba(232,179,60,.5);border-radius:999px;padding:5px 9px}
#esc .more{display:none;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
#esc.expanded .more{display:block}
#esc .row{display:flex;gap:10px;padding:6px 0;font-size:12px}
#esc .row .k{flex:0 0 78px;color:var(--dim2);font:600 9.5px/1.6 ui-monospace,Menlo,monospace;letter-spacing:.1em}
#esc .row .v{flex:1;color:var(--fg);line-height:1.6;word-break:break-all}
#esc .photo{margin:8px 0;height:110px;border:1px dashed #33333a;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--dim2);font-size:11px}
#esc .exp{margin-top:8px;font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;color:var(--dim);cursor:pointer;text-align:center;padding:6px}
#esc .demo{font:700 8px/1 ui-monospace,Menlo,monospace;letter-spacing:.2em;color:#5c5c61;margin-top:8px}
#bcats{position:absolute;left:12px;top:calc(var(--safe-t) + 62px);z-index:1000;display:flex;gap:6px;flex-wrap:wrap}
#bcats .chip{padding:6px 10px;font-size:11px}
#bcount{position:absolute;left:12px;top:calc(var(--safe-t) + 100px);z-index:1000;font:600 10px/1 ui-monospace,Menlo,monospace;color:var(--dim)}
@media (max-width:520px){ #brand i{display:none} #brand{padding:8px 10px} .grid{grid-template-columns:repeat(4,1fr)} .cat{height:58px} .card{flex-basis:calc(100% - 56px)} }
@media (max-height:480px){ #disc{max-height:88vh} #esc{max-height:88vh} }
#state{display:none}
body.dev #state{display:block}
.devonly{display:none!important}
body.dev .devonly{display:block!important}
body.dev #esc .row.devonly{display:flex!important}
#discNote{font-size:10.5px;color:var(--dim2);margin-top:8px;line-height:1.6}
#disc .hint{font-size:11.5px;color:var(--dim);margin-top:8px;line-height:1.6}
.chip small.prep{color:var(--dim2);letter-spacing:.16em}
.chip.dis{opacity:.42;cursor:default}
#disc .geo{font-size:11.5px;color:var(--dim);margin-top:10px;line-height:1.6}
#disc .geo.warn{color:#e3a552}
#disc .geo #geoBtn{color:var(--gold);font-weight:700;cursor:pointer;margin-left:6px;text-decoration:underline;text-underline-offset:3px}
.chip.it.needgeo{border-style:dashed}
#toast{position:absolute;left:50%;top:calc(var(--safe-t) + 70px);transform:translate(-50%,-8px);z-index:1200;background:rgba(12,12,13,.96);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:12px;color:var(--fg);max-width:86vw;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 30px rgba(0,0,0,.6)}
#toast.on{opacity:1;transform:translate(-50%,0)}
.me small{color:#9cc7ff}
.card .tr,#esc .tr{font:700 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;color:var(--purple);margin-top:2px}
body.idxB .lm .num{min-width:13px;height:13px;padding:0 3px;border-radius:7px;top:-4px;right:-3px;font-size:8.5px;line-height:11px;border-color:rgba(255,255,255,.28);background:rgba(10,10,11,.92)}
body.idxC .lm .num{background:transparent;border:0;padding:0;min-width:0;height:auto;top:50%;right:auto;left:100%;transform:translate(-3px,-50%);font:700 10.5px/1 ui-monospace,Menlo,monospace;color:#fff;text-shadow:0 1px 3px #000,0 0 8px #000,0 0 2px #000}
body.idxC .lm.escort .num,body.idxC .lm.focus .num{font-size:12px}
body.goldB{--gold:#d6b25e;--gold2:#e0c07d}
body.goldC{--gold:#c8992e;--gold2:#d3a84a}
body.partnerB .lm.partner .core{width:15px;height:15px;background:#fff;background-image:none;border:2px solid var(--gold);box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 16px 4px rgba(240,194,90,.7)}
body.partnerB .lm.partner .in::after{content:'58';position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);font:700 7.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--gold);text-shadow:0 1px 2px #000,0 0 4px #000;pointer-events:none}
body.partnerB.f58night .lm.partner .core{box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 17px 4px rgba(199,125,255,.85)}
body.cards #btnTime,body.cards #btnHome,body.focus #btnTime,body.focus #btnHome,body.escort #btnTime,body.escort #btnHome{display:none}
.lm.partner.logo .core{width:24px;height:24px;background-color:#0a0a0b;background-image:var(--f58logo);background-size:240%;background-position:center 46%;background-repeat:no-repeat;box-shadow:0 0 0 1.5px rgba(255,255,255,.42),0 0 16px 4px rgba(240,194,90,.7)}
.f58night .lm.partner.logo .core{box-shadow:0 0 0 1.5px rgba(255,255,255,.42),0 0 17px 4px rgba(199,125,255,.85)}
.lm.partner.logo.escort .core{box-shadow:0 0 0 1.5px rgba(255,255,255,.5),0 0 24px 6px rgba(240,194,90,.85)}
.card .pt,#esc .pt,#cdEsc .pt{display:inline-flex;align-items:center;gap:5px}
.pt .ptLogo{width:13px;height:13px;border-radius:50%;background:#0a0a0b var(--f58logo) center 46%/240% no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.3);flex:0 0 auto}
.pt em{font-style:normal;font:700 7.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;color:#0a0a0b;background:var(--gold);border-radius:4px;padding:2px 4px}
.card .to,#esc .to,#cdEsc .to{font:700 8.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;color:#35d07f;border:1px solid rgba(53,208,127,.45);border-radius:999px;padding:4px 7px}
#esc .row .v small.src,#cdEsc .row .v small.src{display:block;color:var(--dim2);font-size:10px;line-height:1.5;margin-top:2px}
.cat.partnerCat{border-color:rgba(232,179,60,.35)}
.cat.partnerCat.on{border-color:var(--gold)}
.cat .logo{width:16px;height:16px;border-radius:50%;background:#0a0a0b var(--f58logo) center 46%/240% no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.cat.dis{opacity:.42;cursor:default}
.grid{grid-template-columns:repeat(4,1fr)}
#disc .hint.pnote{color:var(--dim2);font-size:10.5px}
.tool.lang{min-width:42px;padding:0 10px;font-size:10px;letter-spacing:.1em;color:var(--dim)}
body.languiB #btnLang{display:none}
#disc .hd em{font-style:normal;margin-left:8px;font:700 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:4px 8px;cursor:pointer}
#langSheet{position:absolute;right:12px;bottom:calc(16px + var(--safe-b));z-index:1300;width:200px;background:rgba(12,12,13,.98);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.75);display:none;overflow:hidden}
#langSheet.open{display:block}
#langSheet .hd{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px}
#langSheet .hd b{font:700 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.22em;color:var(--dim)}
#langSheet .hd i{font-style:normal;color:var(--dim2);font-size:16px;cursor:pointer;padding:2px 6px}
#langSheet .opt{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-top:1px solid #16181c;cursor:pointer}
#langSheet .opt b{font-size:13.5px;font-weight:600}
#langSheet .opt small{font:600 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;color:var(--dim2)}
#langSheet .opt.on{background:rgba(232,179,60,.12)}
#langSheet .opt.on b{color:var(--gold)}
body.central #langSheet{bottom:calc(16px + var(--safe-b))}
#f58veil{position:fixed;inset:0;z-index:4000;background:#000;opacity:0;pointer-events:none;display:flex;align-items:center;justify-content:center;transition:opacity 130ms linear}
#f58veil.on{opacity:1;pointer-events:auto}
#f58veil img{width:min(26vh,22vw);max-width:220px;opacity:0;mix-blend-mode:screen}
#f58veil.sig img{opacity:1}
.hoursNote{margin-top:4px}
.hoursNote .src{display:block;color:#8e8e93;font:500 10px/1.35 -apple-system,system-ui,sans-serif;letter-spacing:.02em}
.act.dis{opacity:.38;pointer-events:none}
