Spaces:
Running
Running
File size: 9,073 Bytes
08b9a18 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | :root {
--ink: #1d1d1f; --ink2: #6e6e73; --ink3: #86868b; --card: #f5f5f7; --line: #d2d2d7;
--link: #0066cc; --w: 1080px;
--display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Inter, sans-serif;
--text: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Inter, sans-serif;
}
/* ---- strip Gradio chrome ---- */
body, .gradio-container { background: #fff !important; color: var(--ink); font-family: var(--text) !important;
-webkit-font-smoothing: antialiased; }
.gradio-container { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.gradio-container .main, .gradio-container .contain, .gradio-container .wrap { gap: 0 !important; padding: 0 !important; }
footer { display: none !important; }
.html-container { padding: 0 !important; }
.gradio-container a { color: var(--link) !important; text-decoration: none !important; }
.gradio-container a:hover { text-decoration: underline !important; }
/* ---- nav ---- */
.top { position: sticky; top: 0; z-index: 100; height: 48px; padding: 0 max(22px, calc((100% - var(--w)) / 2));
display: flex; align-items: center; justify-content: space-between;
background: rgba(255, 255, 255, .8); backdrop-filter: saturate(180%) blur(20px);
-webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0, 0, 0, .08); }
.top .brand { font-family: var(--display); font-size: 19px; font-weight: 600; letter-spacing: -.02em;
color: var(--ink) !important; }
.top .brand:hover, .top nav a:hover { text-decoration: none !important; }
.top nav a { margin-left: 28px; font-size: 12px; color: var(--ink) !important; opacity: .8; }
.top nav a:hover { opacity: 1; }
/* ---- hero ---- */
.intro { max-width: var(--w); margin: 0 auto; padding: 120px 24px 88px; text-align: center; }
.intro h1 { font-family: var(--display); font-size: clamp(30px, 5.4vw, 64px) !important; font-weight: 600 !important;
white-space: nowrap;
line-height: 1.05; letter-spacing: -.035em; margin: 0 !important; color: var(--ink) !important; }
.intro h1 br { display: none; }
.intro h1 span { display: block; margin-top: 14px; font-size: .42em; font-weight: 500; letter-spacing: -.015em;
color: var(--ink2); }
.intro p { max-width: 640px; margin: 28px auto 0 !important; font-size: 21px !important; line-height: 1.45;
font-weight: 400; letter-spacing: -.01em; color: var(--ink2) !important; }
/* ---- page + tabs: large centered text tabs, underline on the active one ---- */
.page { max-width: var(--w); margin: 0 auto !important; padding: 0 22px 40px !important; gap: 0 !important; }
.plain-tabs .tab-wrapper { display: flex; justify-content: center; border: 0 !important; padding: 0 !important;
background: transparent !important; }
/* Gradio keeps a hidden copy of the tab bar for measuring, plus an overflow menu: keep both out of sight */
.plain-tabs .tab-container.visually-hidden, .plain-tabs .overflow-menu { display: none !important; }
.plain-tabs .tab-container:not(.visually-hidden) {
display: flex !important; justify-content: center; gap: 48px !important; padding: 0 !important; margin: 0 auto !important;
background: transparent !important; border: 0 !important; height: auto !important; }
.plain-tabs .tab-container button {
position: relative; border: 0 !important; border-radius: 0 !important; padding: 6px 0 14px !important; margin: 0 !important;
background: transparent !important; box-shadow: none !important; color: var(--ink3) !important;
font-family: var(--display) !important; font-size: 28px !important; font-weight: 600 !important;
letter-spacing: -.02em; line-height: 1.1; transition: color .2s ease; }
.plain-tabs .tab-container button:hover { color: var(--ink) !important; }
.plain-tabs .tab-container button.selected { color: var(--ink) !important; }
.plain-tabs .tab-container button::after {
content: "" !important; display: block !important; position: absolute !important; left: 50% !important; right: auto !important;
bottom: 0 !important; top: auto !important; width: 0 !important; height: 2px !important; border-radius: 1px;
background: var(--ink) !important; transform: translateX(-50%); transition: width .25s ease; }
.plain-tabs .tab-container button.selected::after { width: 32px !important; }
.plain-tabs .tabitem, .plain-tabs [role="tabpanel"] { border: 0 !important; padding: 0 !important; background: transparent !important; }
.lede { margin: 36px auto 72px !important; text-align: center; font-size: 17px !important;
line-height: 1.5; color: var(--ink2) !important; }
.lede span { display: block; white-space: nowrap; }
/* ---- modality groups ---- */
.group + .group { margin-top: 88px; }
.group-title { display: flex; align-items: baseline; gap: 14px; margin: 0 0 24px !important;
font-family: var(--display); font-size: 32px !important; font-weight: 600 !important;
letter-spacing: -.025em; color: var(--ink) !important; }
.group-title span { font-family: var(--text); font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--ink3); }
/* ---- example cards: state | prompt | outcome ---- */
.item { display: grid; grid-template-columns: 240px minmax(0, 1fr) minmax(0, 340px); gap: 40px; align-items: start;
background: var(--card); border-radius: 24px; padding: 32px; margin-bottom: 16px; }
.item .col { display: block; margin-bottom: 12px; font-size: 12px; font-weight: 600; letter-spacing: .02em;
color: var(--ink3); }
.item .media img, .item .media video { display: block; width: 100%; height: auto; max-height: 300px;
object-fit: contain; border-radius: 14px; background: #fff; }
.item .text-state { padding: 16px 18px; border-radius: 14px; background: #fff; font-size: 14px; line-height: 1.55;
color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.item h3 { font-family: var(--display); font-size: 24px !important; font-weight: 600 !important; line-height: 1.15;
letter-spacing: -.02em; margin: 0 0 4px !important; color: var(--ink) !important; }
.item .src { font-size: 13px !important; color: var(--ink3) !important; margin: 0 0 18px !important; }
.item .ctx { font-size: 14px !important; line-height: 1.5; color: var(--ink2) !important; margin: 0 0 8px !important; }
.item .task { font-size: 17px !important; line-height: 1.45; letter-spacing: -.01em; color: var(--ink) !important;
margin: 0 !important; overflow-wrap: anywhere; }
/* grid/flex children may shrink below their content, so long tokens wrap instead of overflowing */
.item > div, .item .outcome * { min-width: 0; }
.item .outcome { overflow-wrap: anywhere; word-break: break-word; }
/* decision outcome: label, score, thin bar (no option is highlighted) */
.opts { list-style: none; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.opts li { position: relative; display: flex; justify-content: space-between; gap: 16px; margin: 0 !important;
padding-bottom: 10px; font-size: 14px; line-height: 1.4; color: var(--ink2); }
.opts li::before, .opts li::after { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; border-radius: 2px; }
.opts li::before { right: 0; background: #e8e8ed; }
.opts li::after { width: var(--p); background: #86868b; }
.opts li span:first-child { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.opts li span:last-child { flex: none; font-variant-numeric: tabular-nums; }
.opts li small { font-size: 13px; font-weight: 400; color: var(--ink2); }
/* retrieval outcome: plain ranked list */
.item .res { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.item .res img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 12px; background: #fff; }
.item .docs { margin: 0 !important; padding: 0 0 0 20px !important; display: flex; flex-direction: column; gap: 10px; }
.item .docs li { margin: 0 !important; padding: 0 0 0 4px; font-size: 13px; line-height: 1.5; color: var(--ink2); }
.item .docs li::marker { color: var(--ink3); }
.item .note { font-size: 12px !important; color: var(--ink3) !important; margin: 14px 0 0 !important; }
/* ---- footer ---- */
.end { max-width: var(--w); margin: 80px auto 0; padding: 20px 22px 40px; border-top: 1px solid var(--line);
display: flex; justify-content: space-between; gap: 24px; font-size: 12px; color: var(--ink3); }
.end a { color: var(--ink3) !important; }
@media (max-width: 600px) {
.intro h1 { white-space: normal; }
}
@media (max-width: 900px) {
.lede span { white-space: normal; }
.plain-tabs .tab-container button { font-size: 22px !important; }
.plain-tabs .tab-container:not(.visually-hidden) { gap: 28px !important; }
.item { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
.intro { padding: 80px 24px 64px; }
.group-title { font-size: 26px !important; }
}
|