File size: 18,339 Bytes
dc5fa28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0665cbb
 
 
dc5fa28
 
 
 
 
 
0665cbb
 
dc5fa28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
/* Code4Scene project page. The layout and tokens follow the SimWorld Studio project page (simworld.org/simworld-studio/):
   a warm hero with a gradient title, a dark teaser, alternating light sections with pill labels, a dark citation block. */
:root {
  --primary: #667eea; --primary-dark: #4f63d2; --text-h: #1a1f36; --text-p: #374151; --text-muted: #6b7280; --text-light: #9ca3af;
  --bg-page: #f8faff; --bg-card: #ffffff; --bg-alt: #f0f4ff; --border: #e5e7eb; --dark: #15130f;
  --shadow-sm: 0 2px 8px rgba(102,126,234,.08); --shadow-md: 0 8px 28px rgba(102,126,234,.14);
  --radius-sm: 8px; --radius-md: 16px; --max-w: 1100px; --nav-h: 64px;
  /* names the case explorer and the charts use */
  --text-primary: var(--text-h); --text-secondary: var(--text-p); --text-faint: var(--text-light);
  --surface-0: var(--bg-page); --surface-1: #fff; --surface-2: var(--bg-alt); --surface-3: #e6ebf7;
  --line: var(--border); --line-soft: #eef0f5; --line-strong: #cfd5e2;
  --accent: var(--primary); --accent-bright: var(--primary-dark); --accent-wash: rgba(102,126,234,.08);
  --good: #0f9f6e; --bad: #dc4a2d; --warn: #d97706;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 12px); }
body { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text-p); background: var(--bg-page); line-height: 1.7; overflow-x: hidden; }
a { color: var(--primary-dark); text-decoration: none; } a:hover { text-decoration: underline; }
img, video { max-width: 100%; display: block; }
code { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .86em; }

.navbar { position: fixed; top: 0; left: 0; right: 0; height: var(--nav-h); background: rgba(255,255,255,.92); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(229,231,235,.6); display: flex; align-items: center; justify-content: space-between; padding: 0 2rem; z-index: 1000; box-shadow: 0 1px 16px rgba(0,0,0,.06); }
.navbar-brand { display: flex; align-items: center; gap: .6rem; font-weight: 700; font-size: 1.05rem; color: var(--text-h); }
.navbar-brand:hover { text-decoration: none; }
.navbar-brand svg { height: 30px; width: 30px; }
.navbar-links { display: flex; align-items: center; gap: .25rem; list-style: none; }
.navbar-links a { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .85rem; border-radius: var(--radius-sm); font-size: .88rem; font-weight: 500; color: var(--text-p); }
.navbar-links a:hover { background: var(--bg-alt); color: var(--primary-dark); text-decoration: none; }
.navbar-links a.on { color: var(--primary-dark); font-weight: 700; }
.navbar-links a.btn-nav-primary { background: var(--primary); color: #fff; padding-left: .5rem; padding-right: .7rem; }
.navbar-links a.btn-nav-primary:hover { background: var(--primary-dark); }
.navbar-links a.btn-nav-primary img { height: 26px; width: auto; }

.hero { padding: calc(var(--nav-h) + 4.5rem) 2rem 4.5rem; text-align: center; position: relative; overflow: hidden;
  background: linear-gradient(150deg, #fffdf5 0%, #fef8e8 45%, #fffbf0 100%); }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(70% 55% at 15% 20%, rgba(217,119,6,.13) 0%, transparent 60%), radial-gradient(55% 45% at 85% 75%, rgba(180,83,9,.09) 0%, transparent 55%),
    radial-gradient(45% 40% at 70% 15%, rgba(245,158,11,.11) 0%, transparent 50%); }
.hero-inner { position: relative; max-width: 920px; margin: 0 auto; animation: fadeUp .9s ease both; }
.hero-title { font-size: clamp(1.7rem, 4vw, 2.8rem); font-weight: 800; line-height: 1.25; color: #27180a; margin-bottom: 1rem; letter-spacing: -.02em; }
.hero-title svg { height: 1.05em; width: 1.05em; vertical-align: -0.16em; margin-right: .22em; }
.highlight { background: linear-gradient(90deg, #92400e, #d97706); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-subtitle { font-size: 1.05rem; color: #57534e; max-width: 700px; margin: 0 auto 2rem; }
.hero-authors { font-size: .92rem; color: var(--text-p); margin-bottom: .5rem; line-height: 1.9; }
.hero-authors .author { font-weight: 600; }
.hero-affiliations { font-size: .82rem; color: var(--text-muted); margin-bottom: 2.4rem; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-bottom: 3rem; }
.btn { display: inline-flex; align-items: center; gap: .45rem; padding: .65rem 1.4rem; border-radius: var(--radius-sm); font-size: .9rem; font-weight: 600; cursor: pointer;
  transition: transform .15s, box-shadow .15s, background .15s; border: 0; font-family: inherit; }
.btn:hover { transform: translateY(-2px); text-decoration: none; }
.btn svg { width: 15px; height: 15px; }
.btn-primary { background: linear-gradient(135deg, #92400e, #d97706); color: #fff; box-shadow: 0 4px 18px rgba(180,83,9,.3); }
.btn-primary:hover { color: #fff; box-shadow: 0 8px 26px rgba(180,83,9,.42); }
.btn-outline { background: rgba(255,255,255,.7); border: 1.5px solid rgba(161,98,7,.28); color: #78350f; }
.btn-outline:hover { background: #fff; border-color: rgba(161,98,7,.55); }
.btn-dark { background: rgba(255,255,255,.6); border: 1.5px solid rgba(161,98,7,.22); color: #92400e; }
.btn-dark:hover { background: #fff; }
.btn.off { opacity: .55; cursor: default; } .btn.off:hover { transform: none; }
.hero-stats { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; }
.hero-stat { text-align: center; }
.hero-stat .stat-num { font-size: 1.9rem; font-weight: 800; line-height: 1; }
.hero-stat .stat-num span { background: linear-gradient(90deg, #92400e, #d97706); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-stat .stat-label { font-size: .75rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; margin-top: .3rem; }
.hero-stat .stat-note { font-size: .72rem; color: #a8937a; margin-top: .15rem; }

section { padding: 5rem 2rem; }
section.alt { background: var(--bg-alt); }
/* the dark sections take the film's own background, so the teaser sits in it without a seam */
section.dark { background: radial-gradient(90% 70% at 50% 0%, #2a2217 0%, var(--dark) 60%); color: rgba(255,255,255,.85); }
.container { max-width: var(--max-w); margin: 0 auto; }
.section-label { display: inline-flex; align-items: center; gap: .4rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--primary);
  background: rgba(102,126,234,.08); border: 1px solid rgba(102,126,234,.2); padding: .28rem .8rem; border-radius: 999px; margin-bottom: .9rem; }
section.dark .section-label { background: rgba(217,119,6,.14); border-color: rgba(240,163,94,.35); color: #f0a35e; }
.section-title { font-size: clamp(1.5rem, 3.5vw, 2.1rem); font-weight: 800; color: var(--text-h); line-height: 1.2; letter-spacing: -.02em; margin-bottom: .9rem; }
section.dark .section-title { color: #f2eee6; }
.section-desc { font-size: 1.05rem; color: var(--text-muted); max-width: 720px; line-height: 1.75; }
section.dark .section-desc { color: rgba(242,238,230,.6); }
.section-header { margin-bottom: 2.6rem; }
.section-header.centered { text-align: center; } .section-header.centered .section-desc { margin: 0 auto; }
.sub-title { font-size: 1.2rem; font-weight: 800; color: var(--text-h); letter-spacing: -.01em; margin: 0 0 .35rem; }
.sub-desc { color: var(--text-muted); font-size: .95rem; margin-bottom: 1.1rem; max-width: 820px; }

.teaser-frame { border-radius: var(--radius-md); overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.5); background: #000; border: 1px solid rgba(240,163,94,.18); }
.teaser-frame video { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.teaser-note { text-align: center; font-size: .82rem; color: rgba(255,255,255,.45); margin-top: 1rem; }

.card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1.8rem 2rem; box-shadow: var(--shadow-sm); }
.card + .card { margin-top: 1.5rem; }
.grid2 > .card + .card { margin-top: 0; }   /* side by side, not stacked */
.grid2 > .card { display: flex; flex-direction: column; }
.setting-card .formula { margin-top: auto; }
.setting-card p { margin-bottom: .9rem; }
.abstract-card { font-family: "DM Sans", Inter, sans-serif; font-size: 1.05rem; line-height: 1.85; padding: 2.4rem 3rem; }
.abstract-card p + p { margin-top: 1rem; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.setting-card h3 { font-size: 1.05rem; font-weight: 800; color: var(--text-h); margin-bottom: .2rem; }
.setting-card .kicker { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); }
.setting-card p { font-size: .92rem; color: var(--text-muted); margin-top: .5rem; }
.setting-card .formula { font-size: .86rem; background: var(--bg-alt); border-radius: var(--radius-sm); padding: .6rem .8rem; color: var(--text-h); }

/* the pipeline: prompt -> agent -> code -> scene -> evaluator */
.flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin-top: 2rem; align-items: stretch; }
.flow .step { position: relative; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1rem 1rem 1.1rem; box-shadow: var(--shadow-sm); margin: 0 14px; }
.flow .step:not(:last-child)::after { content: ""; position: absolute; right: -24px; top: 50%; width: 20px; height: 2px; background: var(--line-strong); }
.flow .step:not(:last-child)::before { content: ""; position: absolute; right: -25px; top: calc(50% - 4px); border: 5px solid transparent; border-left: 7px solid var(--line-strong); border-right: 0; }
.flow .step b { display: block; color: var(--text-h); font-size: .92rem; } .flow .step span { display: block; font-size: .8rem; color: var(--text-muted); line-height: 1.5; margin-top: .25rem; }
.flow .step .n { font-size: .68rem; font-weight: 800; letter-spacing: .08em; color: var(--primary); text-transform: uppercase; }
.flow .step.eval { border-color: rgba(217,119,6,.45); background: #fffaf0; } .flow .step.eval .n { color: #b45309; }

/* charts, tooltips */
.chart-card { padding: 1.6rem 1.8rem 1.4rem; }
.chart-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .6rem; }
.seg { display: inline-flex; background: var(--bg-alt); border-radius: 999px; padding: 3px; border: 1px solid var(--border); }
.seg button { border: 0; background: transparent; padding: .35rem .9rem; border-radius: 999px; font: 600 .84rem Inter, sans-serif; color: var(--text-muted); cursor: pointer; }
.seg button.on { background: #fff; color: var(--text-h); box-shadow: var(--shadow-sm); }
.lb-tabs { display: flex; justify-content: center; margin: 0 0 1.2rem; position: sticky; top: calc(var(--nav-h) + 10px); z-index: 5; }
.seg-lg { background: rgba(255,255,255,.85); backdrop-filter: blur(8px); box-shadow: var(--shadow-sm); } .seg-lg button { padding: .5rem 1.2rem; font-size: .92rem; }
svg.pareto .band { fill: rgba(26,31,54,.035); } svg.pareto .frontier { stroke: var(--text-h); stroke-width: 1.6; stroke-opacity: .7; }
.note { font-size: .82rem; color: var(--text-muted); margin-top: .8rem; line-height: 1.6; }
.tip { position: fixed; z-index: 2000; pointer-events: none; background: #1a1f36; color: #fff; font-size: .8rem; line-height: 1.45; padding: .5rem .7rem; border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25); max-width: 300px; opacity: 0; transform: translate(-50%, calc(-100% - 12px)); transition: opacity .12s; }
.tip.on { opacity: 1; } .tip b { display: block; font-size: .84rem; }
svg.ch [data-tip] { cursor: default; }
svg.pareto .pt circle { transition: r .12s; } svg.pareto .pt:hover circle { r: 8; }
svg.pareto .frontier { fill: none; }

.frontier-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 1.2rem; }
.frontier-list h4 { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: .3rem; }
.frontier-list div.r { display: flex; justify-content: space-between; font-size: .86rem; padding: .3rem 0; border-bottom: 1px solid var(--line-soft); }
.frontier-list div.r span { color: var(--text-muted); font-variant-numeric: tabular-nums; }

/* leaderboards */
.board { width: 100%; border-collapse: collapse; font-size: .88rem; font-variant-numeric: tabular-nums; }
.board-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); }
.board th { text-align: left; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); font-weight: 700; padding: .8rem .75rem; border-bottom: 1px solid var(--border);
  white-space: nowrap; cursor: pointer; user-select: none; background: #fbfcff; }
.board th:hover { color: var(--text-h); } .board th.sorted { color: var(--primary-dark); } .board th.sorted::after { content: " ↓"; } .board th.sorted.asc::after { content: " ↑"; }
.board th.nosort { cursor: default; }
.board td { padding: .65rem .75rem; border-bottom: 1px solid var(--line-soft); white-space: nowrap; }
.board tr:last-child td { border-bottom: 0; }
.board tr:hover td { background: #fafbff; }
.board td.rk { color: var(--text-light); width: 36px; }
.board td.nm { font-weight: 600; color: var(--text-h); }
.board td.nm .org { display: block; font-weight: 500; font-size: .75rem; color: var(--text-muted); margin-left: 26px; margin-top: -2px; }
.board .logo { width: 18px; height: 18px; display: inline-flex; vertical-align: -3px; margin-right: 8px; } .board .logo svg { width: 100%; height: 100%; }
.tag { display: inline-block; font-size: .66rem; font-weight: 700; letter-spacing: .03em; border-radius: 999px; padding: 0 .5rem; margin-left: .45rem; vertical-align: 1px; }
.tag.open { color: #0f766e; background: rgba(15,159,110,.1); border: 1px solid rgba(15,159,110,.25); }
.tag.front { color: var(--primary-dark); background: rgba(102,126,234,.1); border: 1px solid rgba(102,126,234,.25); }
.cellbar { display: flex; align-items: center; gap: .5rem; min-width: 128px; }
.cellbar i { display: block; height: 8px; border-radius: 0 4px 4px 0; background: var(--bar, var(--primary)); max-width: 110px; }
.cellbar b { color: var(--text-h); }
.board td.dim { color: var(--text-muted); }
.board-note { font-size: .8rem; color: var(--text-muted); margin: .7rem .2rem 0; }

/* takeaways */
.tk { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); padding: 2rem 2.2rem; }
.tk + .tk { margin-top: 1.6rem; }
.tk .n { display: inline-block; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #b45309; background: rgba(217,119,6,.08);
  border: 1px solid rgba(217,119,6,.22); border-radius: 999px; padding: .15rem .7rem; }
.tk h3 { font-size: 1.3rem; line-height: 1.35; font-weight: 800; color: var(--text-h); letter-spacing: -.01em; margin: .7rem 0 .3rem; }
.tk .s { color: var(--text-muted); font-size: .95rem; }
.tk .figs { margin-top: 1.4rem; display: grid; gap: 1.6rem; }
.tk .figs.two { grid-template-columns: 1.15fr 1fr; align-items: start; }
.tk figure figcaption { font-size: .8rem; color: var(--text-muted); margin-top: .6rem; line-height: 1.5; }
.tk figure .fh { font-size: .8rem; font-weight: 700; color: var(--text-h); margin-bottom: .5rem; }

/* case cards on the home page */
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.case-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s; color: inherit; }
.case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); text-decoration: none; }
.case-card .th { aspect-ratio: 16 / 9; background: #222 center / cover no-repeat; position: relative; }
.case-card .th i { position: absolute; left: 10px; top: 10px; font: 700 .7rem Inter, sans-serif; font-style: normal; color: #fff; background: rgba(15,12,41,.72); padding: .15rem .55rem; border-radius: 999px; }
.case-card .meta { padding: 1rem 1.2rem 1.15rem; }
.case-card .meta h4 { font-size: .98rem; font-weight: 700; color: var(--text-h); }
.case-card .meta p { font-size: .8rem; color: var(--text-muted); margin-top: .15rem; }

/* citation */
.cite-box { position: relative; background: rgba(255,255,255,.04); border: 1px solid rgba(240,163,94,.2); border-radius: var(--radius-md); padding: 1.6rem 1.8rem; max-width: 860px; margin: 0 auto; }
.cite-box pre { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: .83rem; color: rgba(255,255,255,.72); white-space: pre-wrap; line-height: 1.7; }
.cite-copy-btn { position: absolute; top: 1rem; right: 1rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-sm); color: rgba(255,255,255,.75);
  padding: .3rem .7rem; font: .78rem Inter, sans-serif; cursor: pointer; }
.cite-copy-btn.copied { background: rgba(217,119,6,.25); border-color: rgba(240,163,94,.5); color: #f0a35e; }
section.dark .btn-outline { background: transparent; border-color: rgba(255,255,255,.25); color: rgba(255,255,255,.85); }
footer { background: #0d0b09; color: rgba(255,255,255,.45); text-align: center; padding: 2rem; font-size: .82rem; }
footer a { color: rgba(255,255,255,.62); }

@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
  .grid2, .tk .figs.two, .frontier-list { grid-template-columns: 1fr; }
  .case-grid { grid-template-columns: 1fr 1fr; }
  .flow { grid-template-columns: 1fr; gap: 12px; } .flow .step { margin: 0; } .flow .step::after, .flow .step::before { display: none; }
}
@media (max-width: 768px) {
  section { padding: 3.5rem 1rem; }
  .hero { padding: calc(var(--nav-h) + 2.5rem) 1rem 3.5rem; }
  .navbar { padding: 0 1rem; } .navbar-links a { padding: .35rem .5rem; font-size: .8rem; } .navbar-links .hide-sm { display: none; }
  .abstract-card { padding: 1.6rem; } .tk { padding: 1.4rem 1.2rem; } .card { padding: 1.3rem 1.1rem; }
  .case-grid { grid-template-columns: 1fr; } .hero-stats { gap: 1.6rem; }
}