:root { color-scheme: dark; --bg:#050505; --panel:#1b1b1b; --line:#3a3a3a; --text:#f1f1f1; --muted:#b9b9b9; --accent:#d82323; --yellow:#ffd21f; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--bg); background-image:var(--background-image,none); background-repeat:repeat; color:var(--text); font:14px Verdana,Arial,sans-serif; }
body.has-right-edge-image { padding-right:calc(100vh * var(--right-edge-ratio)); padding-right:calc(100dvh * var(--right-edge-ratio)); overflow-wrap:anywhere; }
.right-edge-image { position:fixed; top:-2px; right:-1px; width:auto; height:100vh; height:100dvh; pointer-events:none; z-index:10; }
a { color:#fff; text-decoration:none; }
a:hover, a:focus-visible { color:var(--yellow); text-decoration:underline; }
button, input { font:inherit; }
button, input[type=search] { min-height:38px; border:1px solid var(--line); background:var(--panel); color:var(--text); padding:7px 12px; }
button { cursor:pointer; }
:focus-visible { outline:3px solid var(--yellow); outline-offset:2px; }
.skip-link { position:absolute; top:-100px; left:8px; z-index:50; padding:8px; background:#000; }
.skip-link:focus { top:8px; }
.topbar { display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding:12px 18px; border-bottom:1px solid var(--accent); background:#000; }
.brand { font-size:clamp(24px,4vw,38px); font-weight:800; letter-spacing:.03em; color:var(--yellow); }
.brand img { display:block; width:auto; max-width:min(50vw,320px); max-height:54px; }
.primary-links { display:flex; flex-wrap:wrap; gap:8px; }
.primary-links a { min-height:38px; display:inline-flex; align-items:center; padding:6px 16px; border-left:1px solid var(--accent); color:var(--yellow); }
.intro { padding:16px 18px; border-bottom:1px solid var(--line); }
.intro p { margin:0 0 12px; color:var(--muted); }
.controls { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.controls button[aria-pressed=true] { border-color:var(--accent); background:#350808; color:var(--yellow); }
#search-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#search-input { width:min(360px,100%); }
.app { padding:18px; min-height:50vh; }
.layout { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.layout.has-sidebar { grid-template-columns:minmax(0,1fr) minmax(220px,300px); }
.layout > * { min-width:0; }
h1,h2 { line-height:1.25; }
h1 { font-size:24px; margin:0 0 16px; }
h2 { font-size:20px; margin:28px 0 12px; }
.grid { display:block; }
.thumb { max-width:100%; min-width:0; padding:1px; margin-bottom:4px; border:1px solid #333; background:#222; }
.sponsor-list { width:260px; max-width:100%; margin-bottom:4px; padding:2px; border:1px solid #333; background:#222; overflow-wrap:anywhere; }
.sponsor-list h2 { margin:0 0 4px; font-size:19px; line-height:1.2; }
.sponsor-list ul { list-style:none; padding:0; margin:0; }
.sponsor-list li { margin:0 0 3px; font-size:14px; line-height:1.2; }
.sponsor-list a { display:block; }
.sponsor-list li > span { display:block; color:silver; }
.partner-list { margin:20px 0 0; padding-left:24px; font:600 16px Arial,sans-serif; }
.partner-list li { font:inherit; }
.partner-list a { display:inline; }
.listing-loader { min-height:1px; text-align:center; }
.thumb a { display:block; }
.media-frame { position:relative; display:block; min-height:150px; background:#080808; }
.media-frame img { display:block; width:100%; height:auto; object-fit:contain; }
.media-fallback { display:none; position:absolute; inset:0; place-items:center; background:#161616; color:var(--muted); }
.media-frame.failed img { display:none; }
.media-frame.failed .media-fallback { display:grid; }
.media-frame.unavailable { display:grid; place-items:center; color:var(--muted); border:1px dashed var(--line); }
.thumb-title { display:block; padding:2px 1px; font-size:12px; font-weight:bold; line-height:1.2; }
.thumb-views { padding:1px 2px 0; font-size:12px; text-align:right; }
.thumb-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:4px; min-height:16px; padding:2px 1px; font-size:10px; font-weight:bold; color:#fff; }
.thumb-meta > span:first-child { min-width:0; overflow-wrap:anywhere; }
.rating,.rating > span { display:block; height:12px; background:transparent url("./stars.png") no-repeat 0 0; }
.rating { flex:0 0 60px; width:60px; margin-top:2px; }
.rating > span { background-position:0 -12px; }
.pager { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:12px 0; }
.pager a, .pager [aria-current=page] { min-width:38px; min-height:38px; display:grid; place-items:center; padding:4px; border:1px solid var(--line); background:var(--panel); }
.pager [aria-current=page] { border-color:var(--accent); color:var(--yellow); }
.pager-label { align-self:center; padding:0 4px; }
.pager-ellipsis { align-self:center; padding:0 2px; }
.ad-list { display:grid; gap:10px; }
.ad-list a { display:block; padding:10px; border:1px solid var(--line); background:var(--panel); }
.ad-list small { display:block; margin-top:6px; color:var(--muted); }
.detail { width:min(100%,1120px); margin:auto; }
.description { color:var(--muted); font-size:16px; line-height:1.55; }
.model-links a, .sponsor-link { color:var(--yellow); text-decoration:underline; }
.sponsor-link { display:block; margin:20px auto; text-align:center; font-size:18px; }
.photo-grid { display:block; }
.photo-grid > a { display:block; margin-bottom:4px; max-width:100%; min-width:0; border:1px solid var(--line); }
.photo-full .media-frame { width:min(100%,900px); min-height:280px; margin:auto; }
.photo-full img { height:auto; object-fit:contain; }
video { display:block; width:min(100%,960px); background:#000; }
.status,.error { padding:18px; border:1px solid var(--line); background:var(--panel); color:var(--muted); }
.error { border-color:var(--accent); }
.name-list { columns:3; line-height:2; }
.load-more { display:block; width:100%; margin:14px 0; }
.footer { padding:24px 18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.footer a { color:#ff6b6b; }
.footer button { min-height:32px; margin-top:10px; padding:4px 8px; font-size:12px; }
.analytics-consent { position:fixed; z-index:20; right:calc(12px + 100vh * var(--right-edge-ratio,0)); right:calc(12px + 100dvh * var(--right-edge-ratio,0)); bottom:12px; left:12px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; max-width:680px; margin:auto; padding:12px 16px; border:1px solid var(--line); background:#161616; box-shadow:0 8px 28px #000a; }
.analytics-consent p { margin:0; line-height:1.4; }
.analytics-consent div { display:flex; flex-wrap:wrap; gap:8px; }
.analytics-consent button:first-child { border-color:var(--accent); }
@media(max-width:850px) { .layout.has-sidebar { grid-template-columns:minmax(0,1fr); } .sidebar { max-width:100%; } }
@media(max-width:520px) { .topbar { padding:10px 12px; } .intro,.app { padding:12px; } .name-list { columns:1; } #search-input { flex:1 1 170px; } }
@media(max-width:520px) { .has-right-edge-image .brand { max-width:100%; font-size:20px; letter-spacing:0; overflow-wrap:anywhere; } }
@media(max-width:520px) { .sponsor-list { max-height:300px; overflow-y:auto; overscroll-behavior:contain; } }

.legal-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin:16px 0; }
.legal-links a { text-decoration:underline; }
.legal-page { max-width:900px; padding:24px; margin:0 auto; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.legal-page header>a { font-size:20px; font-weight:600; }
.legal-page h1 { font-size:28px; line-height:1.25; margin:32px 0 12px; }
.legal-page h2 { font-size:20px; line-height:1.35; margin:28px 0 10px; }
.legal-page p { margin:12px 0; }
.legal-page main a { text-decoration:underline; }
.legal-page footer { border-top:1px solid currentColor; margin-top:32px; padding-top:8px; }
.legal-date { font-size:14px; }
@media(max-width:520px) { .legal-page { padding:16px; } .legal-page h1 { font-size:24px; } }

.legacy-site { color:silver; }
.legacy-site .topbar { gap:0; padding:0; margin:4px 0 8px 4px; min-height:22px; background:transparent; border-bottom:1px solid blue; }
.legacy-site .primary-links { gap:0; }
.legacy-site .primary-links a { min-height:0; padding:0 20px; border-left:0; border-right:1px solid blue; color:#ff0; font-size:17px; line-height:20px; }
.legacy-site .primary-links a:hover { background:#006; }
.legacy-site .app { padding:0 4px; }
.legacy-site .pager { display:block; margin:0; padding:2px 0 0; text-align:center; font:600 22px Verdana,Arial,sans-serif; line-height:29px; }
.legacy-site .pager a,.legacy-site .pager [aria-current=page] { display:inline; min-width:0; min-height:0; padding:0; border:0; background:transparent; }
.legacy-site .pager a { color:#fff; text-decoration:underline; }
.legacy-site .pager [aria-current=page] { color:silver; }
.legacy-site .pager-ellipsis { padding:0; }
.legacy-site .sponsor-list { width:262px; font:16px Times,"Times New Roman",serif; }
.legacy-site .sponsor-list h2 { font:600 19px Verdana,Arial,sans-serif; }
.legacy-site .sponsor-list ul li { margin:0; font:inherit; }
.legacy-site .thumb-title { margin:5px 0; padding:0; font-size:12px; font-weight:400; line-height:normal; }
.legacy-site .thumb-views { padding:0; }
.legacy-site .thumb-meta { padding:2px 0 0; font-weight:600; }
.legacy-site .thumb .media-frame,.legacy-site .photo-grid>a .media-frame { box-sizing:content-box; width:calc(100% - 2px); border:1px dotted gray; }
.legacy-site .thumb a:hover .media-frame,.legacy-site .photo-grid>a:hover .media-frame { border-style:solid; border-color:silver; }
.legacy-site .photo-grid>a { padding:1px; border:1px solid #333; background:#222; }
.legacy-site .detail { width:100%; max-width:100%; margin:50px 0 0; }
.legacy-site h1,.legacy-site .related>h2 { margin:0; font-size:20px; font-weight:600; }
.legacy-site .description { margin:0; font-size:17px; line-height:normal; color:silver; text-align:justify; }
.legacy-site .sponsor-link { clear:both; margin:0; padding:20px 0; font-size:21px; font-weight:400; color:#fff; }
.legacy-site .related { margin-top:30px; }
.legacy-site .related>h2 { margin-bottom:18px; }
.legacy-site .photo-full { width:min(800px,100%); }
.legacy-site .photo-full h1 { text-align:center; padding-bottom:10px; }
.legacy-site .photo-full .media-frame { width:auto; max-width:100%; min-height:0; margin:2px; }
.legacy-site .photo-full img { width:auto; max-width:100%; border:1px dotted gray; }
.legacy-site .photo-sponsor { display:block; }
.legacy-site .footer { padding:0 4px 16px; border:0; font:600 10px Arial,sans-serif; color:silver; }
.legacy-site .footer p { margin:10px 0; }
.legacy-site .footer .legacy-disclaimer { padding-top:40px; text-align:justify; }
.legacy-site .footer .media-notice { font:16px Times,"Times New Roman",serif; }
.legacy-site .footer a { color:#fff; }
.legacy-site .footer #compliance { display:block; text-align:center; color:blue; font:12px Verdana,Arial,sans-serif; }
.legacy-site .footer button { display:block; }
@media(max-width:520px) {
  .legacy-site .primary-links a { padding:4px 8px; }
  .legacy-site .app { padding:0 12px; }
  .legacy-site .detail { margin-top:24px; }
  .legacy-site .sponsor-link { font-size:18px; overflow-wrap:anywhere; }
}
