:root{--bg:#000;--panel:#0e0e10;--line:#24242a;--text:#f2f2f4;--muted:#9b9ba3;--pink:#ff5fa8;--blue:#5ccfff;--accent:var(--pink);--accent2:var(--blue);--ai:var(--blue);--radius:12px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.7}a{color:inherit}img{max-width:100%;height:auto}.wrap{max-width:1100px;margin:0 auto;padding:0 16px}header.site{border-bottom:1px solid var(--line);position:sticky;top:0;background:#000000e6;backdrop-filter:blur(8px);z-index:10}header.site .wrap{display:flex;align-items:center;gap:20px;height:60px;overflow-x:auto}.logo{font-weight:900;font-size:24px;letter-spacing:.04em;text-decoration:none;white-space:nowrap;color:var(--blue)}nav a{text-decoration:none;color:var(--muted);white-space:nowrap;font-size:14px}nav a:hover,nav a[aria-current]{color:var(--blue)}nav{display:flex;gap:16px}main{padding:28px 0 60px}h1{font-size:clamp(22px,4vw,32px);line-height:1.3;margin:.2em 0 .6em}h2{font-size:20px;margin:1.8em 0 .6em;border-left:4px solid var(--accent);padding-left:10px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}#bar-pickup>[data-id]{display:none}#bar-pickup>[data-id].on{display:flex}#bar-pickup>[data-id]>.card{flex:1;width:100%}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:border-color .15s}.card:hover{border-color:var(--accent)}.card .body{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.card .title{font-weight:700;line-height:1.4}.card .meta{color:var(--muted);font-size:13px}.card img{aspect-ratio:16/10;object-fit:cover;width:100%;background:#000}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--line);color:var(--text);margin-right:4px}.badge.ai{background:var(--ai);color:#002}.badge.hot{background:var(--accent);color:#fff}.badge.ev{background:var(--blue);color:#001}.badge.dress{background:#3a2a12;color:#ffd59a}.badge.gay{background:#1a2744;color:#9ecbff}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.chips button{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:4px 12px;cursor:pointer;font-size:13px}.chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}dl.info{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}dl.info dt{color:var(--muted)}dl.info dd{margin:0}.notice{background:var(--panel);border:1px solid var(--pink);border-radius:var(--radius);padding:12px 16px;font-size:14px;color:var(--text)}.notice.ai{border-color:var(--blue)}.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:10px 20px;border-radius:999px}.prose{max-width:760px}footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:13px;padding:24px 0 40px}footer.site a{color:var(--muted)}#agegate{position:fixed;inset:0;background:#000000f7;z-index:100;display:none;align-items:center;justify-content:center;padding:16px}#agegate .box{max-width:440px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center}#agegate .row{display:flex;gap:12px;justify-content:center;margin-top:18px;flex-wrap:wrap}#agegate button,#agegate a{border:0;border-radius:999px;padding:10px 22px;font-weight:700;cursor:pointer;font-size:15px;text-decoration:none}#agegate .yes{background:var(--accent);color:#fff}#agegate .no{background:var(--line);color:var(--text)}html.gate-on #agegate{display:flex}html.gate-on body{overflow:hidden}.logo .kana{font-size:11px;font-weight:700;letter-spacing:0;margin-left:6px;color:var(--muted);-webkit-text-fill-color:var(--muted)}.credit{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.credit .taro{display:inline-flex;align-items:center;opacity:.9}.credit .taro:hover{opacity:1}.credit .taro img{height:16px;width:auto;display:block}a:hover,.card:hover .title{color:var(--blue)}.logo{display:inline-flex;align-items:center}.logo .logo-svg{height:30px;width:auto;display:block}footer.site .footer-logo{display:inline-block;color:var(--blue);margin-bottom:12px}.footer-logo svg{height:56px;width:auto;display:block}.maplink{color:var(--blue);text-decoration:none}.maplink:hover{text-decoration:underline}.maplink .pin{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid var(--blue);vertical-align:middle}.mapbox{margin:8px 0 20px}.placemap{width:100%;border-radius:var(--radius);border:1px solid var(--line);background:#111;z-index:0}.maplegend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:8px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.bar{background:var(--blue)}.dot.event{background:var(--pink)}.locate{margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:999px;padding:4px 12px;cursor:pointer;font-size:12px}.mapnote{font-size:12px;color:var(--muted);margin:6px 0 0}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#111;color:var(--text)}.leaflet-popup-content a{color:var(--blue)}.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:8px 0 20px;overflow-x:auto}.tabs button{background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:10px 14px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.panel[hidden]{display:none}.searchbox{display:flex;gap:8px;margin-bottom:12px}.searchbox input{flex:1;min-width:0;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:10px 16px;font-size:16px}.searchbox input:focus{outline:2px solid var(--blue);border-color:transparent}.searchbox button,.searchbox a.btn{border:0;cursor:pointer;white-space:nowrap}.typefilter{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.results-count{color:var(--muted);font-size:13px;margin:0 0 12px}.areagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.areagrid a{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;font-weight:700}.areagrid a:hover{border-color:var(--blue);color:var(--blue)}.areagrid .n{font-size:12px;color:var(--muted);font-weight:400}.finder{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}.finder a{display:flex;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none}.finder a:hover{border-color:var(--blue)}.finder b{color:var(--blue);font-size:16px}.finder span{color:var(--muted);font-size:12px}@media(max-width:600px){.finder{grid-template-columns:1fr}}.pin-icon{background:none;border:0}.pin-icon svg{display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.leaflet-tooltip.pin-label{background:#000;color:#fff;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:700;padding:2px 8px;box-shadow:none;white-space:nowrap}.leaflet-tooltip.pin-label:before{display:none}.placemap:not(.show-labels) .pin-label{display:none}.feature{position:relative;border:2px solid var(--pink);border-radius:16px;background:linear-gradient(135deg,rgba(255,95,168,.16),rgba(92,207,255,.1) 60%,transparent),var(--panel);padding:22px 24px;margin:20px 0 28px;box-shadow:0 0 0 1px #ff5fa840,0 10px 40px #ff5fa81f}.feature-label{display:inline-block;background:var(--pink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;padding:3px 10px;border-radius:999px;margin-bottom:10px}.feature-body{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.feature-text{flex:1 1 380px;min-width:0}.feature-area{margin:0;color:var(--blue);font-size:13px;font-weight:700}.feature-title{border:0;padding:0;margin:4px 0 6px;font-size:clamp(22px,4vw,30px);line-height:1.25}.feature-desc{margin:0 0 10px;color:var(--text)}.feature-tags{display:flex;flex-wrap:wrap;gap:4px}.feature-price{margin:10px 0 0;font-size:14px;color:var(--muted)}.feature-cta{display:flex;flex-direction:column;gap:10px;align-items:stretch;flex:0 1 280px}.btn.big{font-size:16px;padding:14px 22px;text-align:center}.feature-more{text-align:center;font-size:13px;color:var(--blue)}.feature.compact{padding:16px 18px;margin:12px 0 20px}.card.featured{border:2px solid var(--pink)}@media(max-width:600px){.feature{padding:18px 16px}.feature-cta{flex-basis:100%}}.dot.salon{background:#fff}.leaflet-tooltip.pin-label.featured{background:var(--pink);border-color:var(--pink)}.placemap:not(.show-labels) .pin-label.featured{display:block}.duty{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:20px 0}.duty.compact{margin:14px 0 0;background:#00000059}.duty-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.duty-title{border:0;padding:0;margin:0;font-size:18px;display:flex;align-items:center;gap:8px}.duty.compact .duty-title{font-size:15px}.live{width:9px;height:9px;border-radius:50%;background:var(--pink);box-shadow:0 0 #ff5fa8b3;animation:live 1.6s infinite}@keyframes live{70%{box-shadow:0 0 0 8px #ff5fa800}to{box-shadow:0 0 #ff5fa800}}@media(prefers-reduced-motion:reduce){.live{animation:none}}.duty-more{font-size:13px;color:var(--blue)}.duty-status{color:var(--muted);font-size:13px;margin:8px 0}.duty-status a{color:var(--blue)}.duty-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.duty-card{flex:0 0 auto;width:150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;text-decoration:none;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:12px 10px;scroll-snap-align:start}.duty-card:hover{border-color:var(--blue)}.duty-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--blue),var(--pink));display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:#000}.duty-avatar img{width:100%;height:100%;object-fit:cover}.duty-info{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.duty-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duty-time{font-size:12px;color:var(--pink);font-weight:700}.duty-shop{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duty-credit{font-size:11px;color:var(--muted);margin:6px 0 0;text-align:right}.duty-credit a{color:var(--muted)}.fbars{border:2px solid var(--blue);border-radius:16px;padding:20px 22px;margin:20px 0 28px;background:linear-gradient(135deg,rgba(92,207,255,.14),rgba(255,95,168,.08) 60%,transparent),var(--panel);box-shadow:0 10px 40px #5ccfff1a}.fbars-head .feature-label{background:var(--blue);color:#001}.fbars-title{border:0;padding:0;margin:4px 0;font-size:clamp(20px,3.4vw,26px);line-height:1.3}.fbars-lead{margin:0 0 14px;color:var(--muted);font-size:14px}.fbars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.fbar{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.fbar:hover{border-color:var(--blue)}.fbar-area{margin:0;color:var(--blue);font-size:12px;font-weight:700}.fbar-name{margin:0;font-size:17px;line-height:1.35}.fbar-name a{text-decoration:none}.fbar-desc{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.fbar-info{display:grid;grid-template-columns:36px 1fr;gap:2px 8px;margin:4px 0 0;font-size:12px}.fbar-info dt{color:var(--muted)}.fbar-info dd{margin:0}.fbar-cta{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:8px;flex-wrap:wrap}.fbar-cta .btn{padding:7px 16px;font-size:13px}.fbar-x{font-size:13px;color:var(--blue)}.card.featured-bar{border:2px solid var(--blue)}.cform{display:flex;flex-direction:column;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:20px 0}.cform fieldset{border:0;padding:0;margin:0}.cform legend,.cform .field{font-size:14px;font-weight:700}.cform em{font-style:normal;font-size:11px;background:var(--pink);color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}.cform .field{display:flex;flex-direction:column;gap:6px}.cform input:not([type=radio]):not([type=checkbox]),.cform select,.cform textarea{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font:inherit;font-weight:400;font-size:16px}.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--blue);border-color:transparent}.cform .radios{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.cform .radios label{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:400;cursor:pointer}.cform .radios label:has(input:checked){border-color:var(--pink);color:var(--pink)}.cform .radios input{accent-color:var(--pink)}.cform .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cform .agree{display:flex;gap:8px;align-items:flex-start;font-size:14px}.cform .agree input{margin-top:5px;accent-color:var(--pink)}.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.cform button[disabled]{opacity:.5;cursor:not-allowed}.cform-status{margin:0;font-size:14px}.cform-status.ok{color:var(--blue);font-weight:700}.cform-status.ng{color:var(--pink)}.cform-status a{color:var(--blue)}.reqlink{margin:24px 0 0;font-size:13px;color:var(--muted)}.reqlink a{color:var(--blue)}@media(max-width:600px){.cform .field-row{grid-template-columns:1fr}.cform{padding:16px}}.duty-time small{font-size:10px;color:var(--muted);font-weight:400;margin-right:2px}.duty[hidden]{display:none}
