/* Explore is the light visual continuation of TommyAPI's public home. */
body[data-catalog-experience] { --bg:#fff; --bg-soft:#f7f8fa; --panel:#fff; --panel-solid:#fff; --ink:#18181b; --muted:#62626b; --subtle:#62626b; --line:#e7e7eb; --line-strong:#c9c9d0; --cyan:#1d4ed8; --green:#217443; --max:1280px; color:var(--ink); background:#fff; font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
[data-catalog-experience] .site-shell { overflow:clip; }
[data-catalog-experience] .site-shell::before,[data-catalog-experience] .site-shell::after { display:none; }
[data-catalog-experience] .container { width:min(var(--max),calc(100% - 80px)); }
[data-catalog-experience] a { text-underline-offset:4px; }
[data-catalog-experience] ::selection { color:#fff; background:#2255cf; }
[data-catalog-experience] :focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
[data-catalog-experience] input { caret-color:#1d4ed8; }
[data-catalog-experience] .nav { background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); backdrop-filter:none; }
[data-catalog-experience] .nav-inner { min-height:76px; gap:28px; }
[data-catalog-experience] .brand { gap:10px; font-size:23px; letter-spacing:-.03em; }
[data-catalog-experience] .nav-links { gap:24px; font-size:13px; }
[data-catalog-experience] .nav-links a[aria-current] { color:#18181b; font-weight:600; }
[data-catalog-experience] .button { border-radius:8px; color:#242429; background:#fff; border:1px solid #dedee3; box-shadow:none; font-weight:600; font-size:13px; min-height:42px; }
[data-catalog-experience] .button:hover { background:#f3f4f6; transform:none; }
[data-catalog-experience] .button-primary { background:#151517; color:#fff; border-color:#151517; }
[data-catalog-experience] .button-primary:hover { background:#353539; color:#fff; }
[data-catalog-experience] .button-quiet { border-color:transparent; }
[data-catalog-experience] .menu-button { color:#18181b; border-color:#dedee3; width:44px; height:44px; align-items:center; justify-content:center; background:#fff; }
.explore-intro { padding-top:47px; padding-bottom:30px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.explore-intro h1 { font-size:40px; font-weight:650; letter-spacing:-.035em; line-height:1.2; margin:0; }
.explore-intro p { color:var(--muted); margin:13px 0 0; font-size:15px; }
.intro-link { color:#36363d; font-size:13px; white-space:nowrap; display:flex; gap:16px; }
.explore-toolbar { display:grid; grid-template-columns:minmax(200px,1fr) 154px 170px 174px; gap:12px; padding-top:4px; }
[data-catalog-experience] .field { color:#36363d; background:#fff; border:1px solid #dedee3; border-radius:9px; padding:12px 14px; height:47px; font-size:13px; min-width:0; }
[data-catalog-experience] .field::placeholder { color:#707079; }
[data-catalog-experience] .field:focus { outline:2px solid #5c84df; outline-offset:2px; border-color:#5c84df; }
[data-catalog-experience] select option { background:#fff; color:#18181b; }
.search-wrap { position:relative; }
.search-wrap svg { position:absolute; left:15px; top:14px; color:#71717a; pointer-events:none; }
.search-wrap .field { width:100%; padding-left:43px; }
.catalog-count-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:21px 0 18px; font-size:12px; color:#71717a; }
.catalog-count-row p { margin:0; }
.catalog-count-row strong { color:#3b3b43; font-weight:600; font-variant-numeric:tabular-nums; }
[data-catalog-experience] .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 24px; }
[data-catalog-experience] .catalog-card { display:flex; padding:0; border:1px solid #e6e6eb; border-radius:14px; overflow:hidden; min-height:0; background:#fff; transform:none; transition:border-color .18s ease,box-shadow .18s ease; }
[data-catalog-experience] .catalog-card:hover { transform:none; border-color:#c9c9d0; box-shadow:0 8px 22px rgba(24,24,27,.07); }
[data-catalog-experience] .catalog-card::after { display:none; }
.model-media { position:relative; width:100%; aspect-ratio:16/10; background:#f2f3f5; overflow:hidden; isolation:isolate; }
.model-cover,.model-video { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.model-cover { z-index:1; }
.model-video { z-index:2; opacity:0; pointer-events:none; transition:opacity .18s ease; }
.is-playing .model-video { opacity:1; }
.media-video-failed .model-video { display:none; }
.media-detail-link { position:absolute; inset:0; z-index:3; }
.preview-toggle { position:absolute; z-index:4; right:12px; bottom:12px; min-height:36px; padding:8px 11px; display:flex; align-items:center; gap:6px; border-radius:7px; background:rgba(18,18,22,.84); color:#fff; border:1px solid rgba(255,255,255,.22); font-size:11px; line-height:1.2; transition:background .15s ease; }
.preview-toggle:hover { background:#111; }
.preview-toggle:disabled { cursor:default; background:#414148; }
.media-kind { position:absolute; left:12px; bottom:12px; z-index:3; padding:4px 8px; border-radius:5px; background:rgba(18,18,22,.78); color:#fff; font-size:11px; }
.media-fallback { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:12px; padding:27px; color:#303038; background:#f0f1f4; }
.media-fallback span { font-size:13px; font-weight:650; }
.media-fallback strong { font-size:clamp(18px,2vw,28px); font-weight:600; line-height:1.2; letter-spacing:-.025em; overflow-wrap:anywhere; }
.media-fallback small { font-size:11px; color:#63636d; }
.media-fallback[data-brand="OpenAI"] { background:#e9f1eb; color:#203d2b; }
.media-fallback[data-brand="Google"] { background:#edf1fa; color:#254583; }
.media-fallback[data-brand="Anthropic"] { background:#f5eee7; color:#67472f; }
.media-fallback[data-brand="DeepSeek"] { background:#eef0fd; color:#334b99; }
.media-fallback[data-brand="Qwen"],.media-fallback[data-brand="Zhipu"] { background:#f0eefa; color:#504178; }
.media-fallback[data-brand="Doubao"] { background:#e8f4f6; color:#215963; }
.media-fallback[data-brand="MiniMax"],.media-fallback[data-brand="Moonshot"] { background:#f9ecf0; color:#763247; }
.catalog-card-body { padding:20px; flex:1; display:flex; flex-direction:column; }
[data-catalog-experience] .card-provider { font-size:11px; color:#62626b; }
[data-catalog-experience] .card-kind { color:#555560; background:#f2f3f6; padding:2px 6px; border:0; font-size:11px; border-radius:4px; }
[data-catalog-experience] .catalog-card h2 { font-size:18px; font-weight:650; line-height:1.4; margin:11px 0 0; letter-spacing:-.02em; overflow-wrap:anywhere; }
[data-catalog-experience] .catalog-card h2 a:hover { text-decoration:underline; }
[data-catalog-experience] .catalog-card .card-price { margin:9px 0 18px; min-height:21px; color:#62626b; font-size:12px; line-height:1.7; }
.card-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:13px; border-top:1px solid #ededf0; }
[data-catalog-experience] .model-availability { color:#25643d; background:#eff7f1; border:0; border-radius:4px; padding:3px 6px; font-size:11px; }
[data-catalog-experience] .model-availability[data-availability="fallback_only"],[data-catalog-experience] .model-availability[data-availability="unverified"] { color:#80531b; background:#fff5e8; }
[data-catalog-experience] .model-availability[data-availability="unavailable"] { color:#6b4444; background:#f8ecec; }
.card-detail-link { font-size:11px; color:#373741; display:flex; gap:9px; align-items:center; white-space:nowrap; }
.catalog-notes { margin:40px 0 0; padding:18px 0; border-top:1px solid var(--line); color:#62626b; font-size:12px; }
.catalog-notes summary { cursor:pointer; color:#34343c; }
.catalog-notes p { max-width:900px; margin:15px 0 0; line-height:1.8; }
.catalog-notes a,.media-source a { text-decoration:underline; }
.catalog-empty { grid-column:1/-1; padding:72px 24px; text-align:center; background:#f8f9fb; border-radius:12px; }
.catalog-empty h2 { font-size:22px; margin:0; }
.catalog-empty p { color:#62626b; margin:12px 0 24px; font-size:14px; }
.catalog-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:65px!important; padding-top:24px; padding-bottom:32px; color:#6b6b76; border-top:1px solid #ececf0; font-size:12px; }
.catalog-footer div { display:flex; gap:26px; }
.detail-intro { padding:34px 0 30px; }
.back-link { color:#646470; font-size:13px; }
.detail-heading-row { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:30px; }
.detail-provider { margin:0 0 7px; color:#62626b; font-size:13px; }
.detail-heading-row h1 { font-size:36px; font-weight:650; letter-spacing:-.03em; line-height:1.25; margin:0; overflow-wrap:anywhere; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:40px; align-items:start; }
.model-media-detail { border-radius:13px; aspect-ratio:16/10; }
.model-media-detail .preview-toggle { min-height:44px; right:18px; bottom:18px; font-size:13px; padding:10px 14px; }
.media-source { color:#62626b; font-size:11px; line-height:1.8; margin:15px 1px; }
.media-source span { display:block; margin-top:4px; }
.media-source a span { display:inline; }
.detail-section { padding:0 0 25px; border-bottom:1px solid #e7e7eb; }
.detail-section h2 { font-size:14px; font-weight:600; margin:27px 0 10px; }
.route-description { color:#62626b; font-size:12px; margin:10px 0 0; }
[data-catalog-experience] .detail-price { font-size:22px; font-weight:600; letter-spacing:-.015em; line-height:1.5; margin:9px 0; color:#24242c; font-variant-numeric:tabular-nums; }
.detail-price-note { color:#62626b; font-size:12px; line-height:1.8; margin:12px 0 25px; }
.detail-cta { width:100%; display:flex; justify-content:space-between; min-height:48px!important; }
.detail-docs-link { display:block; text-align:center; margin:16px 0 0; font-size:12px; color:#52525d; text-decoration:underline!important; }
.detail-model-id code { display:block; font-size:13px; overflow-wrap:anywhere; background:#f5f6f8; color:#3b3b46; padding:12px 14px; border-radius:7px; }
.copy-model-id { border:0; background:none; padding:11px 0; font-size:12px; text-decoration:underline; text-underline-offset:4px; color:#555561; }
.copy-feedback { font-size:12px; margin-left:15px; color:#246944; }
.detail-gallery { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.detail-gallery figure { margin:0; background:#f2f3f5; border-radius:10px; overflow:hidden; }
.detail-gallery img { width:100%; height:auto; display:block; object-fit:contain; }
.detail-sync { color:#71717a; font-size:11px; margin-top:35px; }
[data-catalog-experience] .callout { color:#656570; border:1px solid #e7e7eb; background:#f7f8fa; border-radius:10px; }
[data-catalog-experience] .menu-button { margin-left:auto; }
@media(min-width:1400px) { [data-catalog-experience] .catalog-grid { gap:28px; } }
@media(max-width:1150px) { [data-catalog-experience] .nav-links { gap:15px; font-size:12px; } [data-catalog-experience] .nav-links a[href*="model-router"],[data-catalog-experience] .nav-links a[href*="cookbook"] { display:none; } .explore-toolbar { grid-template-columns:minmax(160px,1fr) 130px 145px 164px; } }
@media(max-width:900px) { [data-catalog-experience] .container { width:calc(100% - 40px); } [data-catalog-experience] .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } [data-catalog-experience] .nav-inner { min-height:66px; } [data-catalog-experience] .nav-links { display:none; } [data-catalog-experience] .menu-button { display:flex; } [data-catalog-experience] .nav.is-open .nav-links { display:flex; position:absolute; top:66px; left:0; right:0; padding:22px; flex-direction:column; align-items:flex-start; gap:24px; background:#fff; border-bottom:1px solid #e7e7eb; font-size:14px; } .intro-link { display:none; } .explore-toolbar { grid-template-columns:1fr 1fr 1fr; } .search-wrap { grid-column:1/-1; } .detail-layout { grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr); gap:25px; } }
@media(max-width:600px) { [data-catalog-experience] .container { width:calc(100% - 36px); } [data-catalog-experience] .brand { font-size:20px; } [data-catalog-experience] .nav-actions { display:none; } [data-catalog-experience] .nav.is-open .nav-actions { display:flex; position:absolute; top:324px; left:0; right:0; padding:16px 22px; background:#fff; border-bottom:1px solid #e7e7eb; } .explore-intro { padding-top:32px; padding-bottom:23px; } .explore-intro h1 { font-size:31px; } .explore-intro p { font-size:13px; line-height:1.8; max-width:28em; margin-top:10px; } .explore-toolbar { grid-template-columns:1fr 1fr; gap:10px; } [data-sort] { grid-column:1/-1; } [data-catalog-experience] .field { height:44px; padding:10px; font-size:12px; } .search-wrap .field { padding-left:40px; } .search-wrap svg { top:13px; } .catalog-count-row { margin:18px 0 16px; font-size:11px; } .preview-help { max-width:205px; text-align:right; font-size:11px; } [data-catalog-experience] .catalog-grid { grid-template-columns:minmax(0,1fr); gap:23px; } .catalog-card-body { padding:18px; } .model-media { aspect-ratio:16/10; } .preview-toggle { min-height:40px; padding:10px 12px; } [data-catalog-experience] .catalog-card h2 { font-size:19px; } .catalog-footer { align-items:flex-start; margin-top:40px!important; font-size:11px; } .catalog-footer div { flex-wrap:wrap; gap:13px; justify-content:flex-end; } .detail-intro { padding-top:24px; padding-bottom:24px; } .detail-heading-row { margin-top:22px; align-items:flex-start; } .detail-heading-row h1 { font-size:27px; } .detail-heading-row>.button { display:none; } .detail-layout { grid-template-columns:minmax(0,1fr); gap:16px; } .detail-purchase { border-top:1px solid #e7e7eb; padding-top:22px; } .detail-gallery { gap:10px; } .media-fallback strong { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { [data-catalog-experience] *,[data-catalog-experience] *::before,[data-catalog-experience] *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }


/* Cover provenance remains visible beside an optional video control. */
[data-catalog-experience] .media-kind { pointer-events:none; }
[data-catalog-experience] [data-cover-kind="original-design"] .media-kind { background:rgba(24,24,27,.84); }
[data-catalog-experience] .model-cover[hidden],[data-catalog-experience] .detail-gallery img[hidden] { display:none!important; }
