/* DreamZero-SO101 — reusable components */ /* ====== Score bar (KPI pills) ====== */ .score-bar { display: flex; gap: 16px; flex-wrap: wrap; margin: 30px 0 14px; } .score-pill { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 18px 24px; display: flex; flex-direction: column; gap: 4px; min-width: 170px; } .score-pill .label { color: var(--ink-dim); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; font-family: var(--font-mono); } .score-pill .value { font-family: var(--font-serif); font-size: 32px; color: var(--ink); font-weight: 600; line-height: 1.1; } .score-pill .value.pass { color: var(--pass); } .score-pill .value.warn { color: var(--soft); } .score-pill .value.fail { color: var(--fail); } .score-pill .value.accent { color: var(--accent); } .score-pill .value.blue { color: var(--blue); } .score-pill .value.purple { color: var(--purple); } /* ====== CTA grid ====== */ .cta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 30px; } @media (max-width: 900px) { .cta-grid { grid-template-columns: 1fr; } } .cta-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--ink); border-color: var(--line); transition: border-color .15s, transform .15s, background .15s; border-bottom: 1px solid var(--line); } .cta-card:hover { border: 1px solid var(--accent); transform: translateY(-2px); background: var(--panel2); } .cta-card .tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 4px; } .cta-card h4 { font-family: var(--font-serif); font-size: 19px; margin: 2px 0 4px; color: var(--ink); } .cta-card p { color: var(--ink-dim); font-size: 13.5px; margin: 0; line-height: 1.5; } .cta-card .arrow { margin-top: 10px; font-family: var(--font-mono); font-size: 11px; color: var(--accent); letter-spacing: 0.1em; } /* ====== Feature cards (3-col "what is" etc.) ====== */ .feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 22px; } @media (max-width: 960px) { .feature-grid { grid-template-columns: 1fr; } } .feature-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 28px; } .feature-card .num { font-family: var(--font-mono); font-size: 11px; color: var(--accent); letter-spacing: 0.14em; margin-bottom: 8px; } .feature-card h4 { font-family: var(--font-serif); font-size: 20px; color: var(--ink); margin: 0 0 10px; } .feature-card p { color: var(--ink-dim); font-size: 14px; line-height: 1.6; margin: 0; } /* ====== Hero video carousel ====== */ .hero-carousel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 34px 0 14px; } @media (max-width: 900px) { .hero-carousel { grid-template-columns: 1fr; } } .hero-clip { background: var(--panel2); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; } .hero-clip video { width: 100%; display: block; background: #000; aspect-ratio: 16 / 9; object-fit: cover; } .hero-clip .meta { padding: 12px 16px; display: flex; flex-direction: column; gap: 3px; border-top: 1px solid var(--line); } .hero-clip .ep { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.11em; color: var(--ink-faint); } .hero-clip .prompt { font-family: var(--font-serif); font-size: 14px; color: var(--ink); font-style: italic; } /* ====== Prelude / callout box ====== */ .prelude { background: var(--panel); border-left: 3px solid var(--accent); padding: 22px 28px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 20px 0 26px; color: var(--ink); font-size: 15px; line-height: 1.65; } .prelude strong { color: var(--accent); font-weight: 600; } .prelude code { font-family: var(--font-mono); font-size: 13px; background: var(--panel2); padding: 1px 6px; border-radius: 3px; color: var(--warm); } .prelude.teal { border-left-color: var(--teal); } .prelude.teal strong { color: var(--teal); } .prelude.blue { border-left-color: var(--blue); } .prelude.blue strong { color: var(--blue); } .prelude.purple { border-left-color: var(--purple); } .prelude.purple strong { color: var(--purple); } .prelude.warm { border-left-color: var(--warm); } .prelude.warm strong { color: var(--warm); } /* ====== Episode cards (used in results) ====== */ .ep-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; margin: 28px 0; } .ep-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 22px; flex-wrap: wrap; } .ep-head .left { flex: 1; min-width: 280px; } .ep-head h3 { font-size: 22px; } .ep-head .prompt { font-family: var(--font-serif); font-size: 20px; font-style: italic; color: var(--accent); margin: 6px 0 4px; line-height: 1.25; } .ep-head .meta-row { font-family: var(--font-mono); font-size: 11px; color: var(--ink-dim); display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; } .ep-head .meta-row .tag { color: var(--ink-faint); } .ep-head .metrics { display: flex; gap: 12px; flex-wrap: wrap; } .metric { background: var(--panel2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 11px 16px; min-width: 120px; } .metric .lbl { color: var(--ink-dim); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; font-family: var(--font-mono); } .metric .val { font-family: var(--font-mono); font-size: 19px; color: var(--ink); font-weight: 600; margin-top: 2px; } .metric .val.good { color: var(--pass); } .metric .val.mid { color: var(--soft); } /* ====== Video grids (results) ====== */ .vid-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 20px; } .vid-cell { background: var(--panel2); border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; display: flex; flex-direction: column; } .vid-cell .head { padding: 11px 14px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; } .vid-cell .title { font-family: var(--font-serif); font-size: 14px; color: var(--ink); } .vid-cell .badge { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.1em; padding: 3px 8px; border-radius: 3px; } .vid-cell .badge.pred { background: rgba(217,119,87,0.18); color: var(--accent); border: 1px solid rgba(217,119,87,0.4); } .vid-cell .badge.gt { background: rgba(125,164,136,0.18); color: var(--teal); border: 1px solid rgba(125,164,136,0.4); } .vid-cell video { width: 100%; display: block; background: #000; } .vid-wrap { position: relative; } .vid-wrap .counter { position: absolute; top: 10px; right: 12px; font-family: var(--font-mono); font-size: 11px; color: #fff; background: rgba(0,0,0,0.6); padding: 3px 8px; border-radius: 3px; pointer-events: none; letter-spacing: 0.05em; } .vid-wrap .corner-time { position: absolute; bottom: 10px; left: 12px; font-family: var(--font-mono); font-size: 10px; color: #F2EAD8; background: rgba(0,0,0,0.6); padding: 3px 8px; border-radius: 3px; pointer-events: none; letter-spacing: 0.05em; } .plot-img { width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); display: block; margin-top: 6px; } .plot-cap { color: var(--ink-dim); font-size: 13px; margin-top: 8px; font-style: italic; } .plot-section { margin-top: 24px; } /* ====== Gallery demo page ====== */ .gallery-shell { display: grid; grid-template-columns: 300px 1fr; gap: 26px; margin-top: 20px; } @media (max-width: 960px) { .gallery-shell { grid-template-columns: 1fr; } } .gallery-sidebar { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; max-height: calc(100vh - 120px); overflow-y: auto; position: sticky; top: 80px; } .gallery-sidebar h4 { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--ink-faint); margin: 0 0 14px; font-weight: 600; } .gallery-group { margin-bottom: 18px; } .gallery-group .label { font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--accent); margin: 0 0 8px; padding: 0 0 4px; border-bottom: 1px solid var(--line); } .gallery-thumb { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: var(--radius-sm); cursor: pointer; border: 1px solid transparent; margin-bottom: 6px; transition: background .15s, border-color .15s; } .gallery-thumb:hover { background: var(--panel2); border-color: var(--line); } .gallery-thumb.active { background: var(--panel2); border-color: var(--accent); } .gallery-thumb img { width: 68px; height: 48px; object-fit: cover; border-radius: 4px; border: 1px solid var(--line); flex-shrink: 0; } .gallery-thumb .txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .gallery-thumb .ep { font-family: var(--font-mono); font-size: 9.5px; color: var(--ink-faint); text-transform: uppercase; letter-spacing: 0.09em; } .gallery-thumb .task { font-size: 12px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gallery-main { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 32px; } .gallery-main .mprompt { font-family: var(--font-serif); font-size: 22px; font-style: italic; color: var(--accent); margin: 6px 0 10px; } .gallery-main .mmeta { font-family: var(--font-mono); font-size: 11px; color: var(--ink-dim); display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; } .gallery-main .mmeta .tag { color: var(--ink-faint); } .cam-tabs { display: flex; gap: 6px; margin: 14px 0 10px; } .cam-tab { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-dim); padding: 7px 13px; border: 1px solid var(--line); background: var(--panel2); border-radius: 4px; cursor: pointer; transition: all .15s; } .cam-tab:hover { color: var(--ink); } .cam-tab.active { color: var(--accent); border-color: var(--accent); background: rgba(217,119,87,0.1); } .prompt-pills { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 10px; } .prompt-pill { font-family: var(--font-mono); font-size: 10.5px; padding: 6px 12px; border: 1px solid var(--line); background: var(--panel2); color: var(--ink-dim); border-radius: 4px; cursor: pointer; transition: all .15s; } .prompt-pill:hover { color: var(--ink); } .prompt-pill.active { border-color: var(--accent); color: var(--accent); background: rgba(217,119,87,0.1); } .prompt-pill .kind { color: var(--ink-faint); margin-right: 6px; } .gallery-player { background: #000; border-radius: var(--radius-sm); border: 1px solid var(--line); overflow: hidden; margin-top: 10px; } .gallery-player video { width: 100%; display: block; aspect-ratio: 16 / 9; object-fit: contain; } .gallery-note { margin-top: 18px; padding: 14px 18px; background: var(--panel2); border: 1px solid var(--line); border-left: 3px solid var(--warm); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-size: 13px; color: var(--ink-dim); line-height: 1.55; } /* Section headings */ .section-head { margin: 60px 0 18px; } .section-head .eyebrow { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; } /* Code blocks */ pre.code-block { background: var(--panel2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 18px 22px; font-family: var(--font-mono); font-size: 12.5px; line-height: 1.55; color: var(--ink); overflow-x: auto; margin: 14px 0; } pre.code-block .comment { color: var(--ink-faint); } pre.code-block .keyword { color: var(--accent); } pre.code-block .str { color: var(--teal); } /* Tables */ table.data-table { width: 100%; border-collapse: collapse; margin: 14px 0; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; } table.data-table th, table.data-table td { padding: 11px 16px; text-align: left; font-family: var(--font-mono); font-size: 12.5px; border-bottom: 1px solid var(--line); } table.data-table th { color: var(--ink-dim); background: var(--panel2); text-transform: uppercase; letter-spacing: 0.08em; font-size: 10px; font-weight: 500; } table.data-table td { color: var(--ink); } table.data-table tbody tr:last-child td { border-bottom: none; } table.data-table td.num { color: var(--teal); } /* Paper-specific */ .paper-shell { max-width: 780px; margin: 0 auto; padding: 50px 32px 100px; } .paper-shell h1 { font-size: 40px; line-height: 1.1; margin: 0 0 16px; } .paper-shell h2 { font-size: 23px; margin: 42px 0 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line); } .paper-shell h3 { font-size: 18px; margin: 26px 0 10px; color: var(--ink); } .paper-shell h4 { font-size: 15px; margin: 22px 0 8px; color: var(--accent); font-family: var(--font-serif); font-weight: 600; } .paper-shell p { color: var(--ink); font-size: 15.5px; line-height: 1.7; margin: 0 0 14px; text-align: justify; hyphens: auto; } .paper-shell .authors { font-size: 14px; color: var(--ink-dim); margin: 6px 0 2px; font-family: var(--font-sans); } .paper-shell .affil { font-family: var(--font-mono); font-size: 11px; color: var(--ink-faint); letter-spacing: 0.05em; margin: 4px 0 22px; } .paper-shell .abstract { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--accent); padding: 20px 26px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 20px 0 36px; } .paper-shell .abstract h4 { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin: 0 0 8px; } .paper-shell .abstract p { font-size: 14px; line-height: 1.65; color: var(--ink); margin: 0; text-align: left; } .paper-shell figure { margin: 24px 0; background: var(--panel2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px; } .paper-shell figure img { width: 100%; display: block; border-radius: var(--radius-sm); margin-bottom: 10px; } .paper-shell figure figcaption { font-size: 12.5px; color: var(--ink-dim); text-align: left; line-height: 1.55; font-family: var(--font-sans); font-style: italic; } .paper-shell figure figcaption b { color: var(--accent); font-style: normal; font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; margin-right: 8px; } .paper-shell ul, .paper-shell ol { color: var(--ink); font-size: 15px; line-height: 1.7; padding-left: 22px; margin: 8px 0 16px; } .paper-shell code { background: var(--panel2); padding: 1px 6px; border-radius: 3px; color: var(--warm); font-size: 13px; } .paper-shell .refs { font-size: 12.5px; line-height: 1.55; color: var(--ink-dim); font-family: var(--font-sans); } .paper-shell .refs li { margin-bottom: 8px; text-align: left; } /* Contribution flow */ .flow-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 22px 0; } @media (max-width: 960px) { .flow-steps { grid-template-columns: 1fr 1fr; } } .flow-step { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px; position: relative; } .flow-step .n { font-family: var(--font-mono); font-size: 10px; color: var(--accent); letter-spacing: 0.14em; } .flow-step h5 { font-family: var(--font-serif); font-size: 15px; margin: 6px 0 4px; color: var(--ink); } .flow-step p { font-size: 12px; color: var(--ink-dim); margin: 0; line-height: 1.5; } /* ====== Key Findings — capgym-style bar charts ====== */ .findings-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 0 0 60px; } @media (max-width: 900px) { .findings-grid { grid-template-columns: 1fr; } } .finding-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 26px 22px; } .finding-title { font-family: var(--font-serif); font-size: 17px; font-weight: 600; color: var(--ink); margin: 0 0 2px; } .finding-sub { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-faint); margin-bottom: 18px; } .bar-chart { display: flex; flex-direction: column; gap: 9px; } .bar-row { display: flex; align-items: center; gap: 10px; } .bar-label { font-family: var(--font-mono); font-size: 11px; color: var(--ink-dim); width: 160px; flex-shrink: 0; text-align: right; } .bar-wrap { flex: 1; background: var(--panel2); border-radius: 3px; height: 20px; display: flex; align-items: center; overflow: hidden; position: relative; } .bar-fill { height: 100%; border-radius: 3px; display: flex; align-items: center; min-width: 2px; transition: width .4s ease; } .bar-fill.pass { background: var(--pass); } .bar-fill.warn { background: var(--soft); } .bar-fill.fail { background: var(--fail); } .bar-fill.blue { background: var(--blue); } .bar-fill.accent { background: var(--accent); } .bar-val { position: absolute; right: 8px; font-family: var(--font-mono); font-size: 10.5px; color: var(--ink); font-weight: 600; white-space: nowrap; } .finding-note { font-size: 12.5px; color: var(--ink-dim); line-height: 1.55; margin: 14px 0 0; border-top: 1px solid var(--line); padding-top: 12px; } /* ====== Gallery type & metric badges ====== */ .type-badge { display: inline-block; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: 0.09em; padding: 2px 6px; border-radius: 3px; margin-right: 4px; vertical-align: middle; font-weight: 600; } .metric-badge { display: inline-block; font-family: var(--font-mono); font-size: 9.5px; color: var(--ink-faint); background: var(--panel3); border: 1px solid var(--line); border-radius: 3px; padding: 2px 7px; margin-top: 4px; } /* ====== Gallery stats strip ====== */ .gallery-stats-strip { display: flex; gap: 14px; margin: 14px 0 24px; flex-wrap: wrap; } .gallery-stats-strip .stat-chip { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 22px; display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 150px; } .gallery-stats-strip .stat-num { font-family: var(--font-serif); font-size: 28px; font-weight: 600; color: var(--accent); line-height: 1.1; } .gallery-stats-strip .stat-lbl { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-faint); } /* ====== Category filter chip bar ====== */ .cat-filter-wrap { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 0 24px; padding: 16px 20px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); } .cat-filter-label { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-faint); flex-shrink: 0; } .cat-filter-bar { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; } .cat-chip { font-family: var(--font-sans); font-size: 12.5px; font-weight: 500; padding: 7px 14px; border: 1px solid var(--line); background: var(--bg); color: var(--ink-dim); border-radius: 20px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: all .15s; } .cat-chip:hover { border-color: var(--ink-faint); color: var(--ink); } .cat-chip .count { font-family: var(--font-mono); font-size: 10px; color: var(--ink-faint); background: var(--panel2); padding: 1px 7px; border-radius: 10px; font-weight: 600; } .cat-chip.active { background: var(--accent); border-color: var(--accent); color: #fff; } .cat-chip.active .count { background: rgba(255,255,255,0.22); color: #fff; } /* ====== Gallery sidebar refinements ====== */ .gallery-shell { grid-template-columns: 340px 1fr; } .gallery-sidebar { padding: 18px 16px; } .gallery-group .label { display: flex; align-items: center; gap: 8px; font-family: var(--font-sans); font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--ink); padding: 6px 4px; border-bottom: 1px solid var(--line); margin-bottom: 8px; } .gallery-group .label .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex-shrink: 0; } .gallery-group .label .n { margin-left: auto; font-family: var(--font-mono); font-size: 10px; color: var(--ink-faint); background: var(--panel2); padding: 1px 7px; border-radius: 10px; } /* Per-category dot color */ .gallery-group .label.cat-simple-pick .dot { background: #C96840; } .gallery-group .label.cat-mid-episode .dot { background: #A07040; } .gallery-group .label.cat-pick-place .dot { background: #B8920A; } .gallery-group .label.cat-stack .dot { background: #3D8A54; } .gallery-group .label.cat-language-novel .dot { background: #2E6A99; } .gallery-group .label.cat-zero-shot .dot { background: #6A4EA8; } .gallery-thumb { padding: 9px; gap: 12px; } .gallery-thumb img { width: 84px; height: 56px; } .gallery-thumb .ep .pk { color: var(--ink-dim); text-transform: none; letter-spacing: 0; font-size: 10px; } .gallery-thumb .task { font-size: 12px; font-weight: 500; color: var(--ink); margin-top: 2px; white-space: normal; line-height: 1.3; } /* ====== Main panel category tag ====== */ .gm-title .cat-tag { display: inline-block; font-family: var(--font-mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.1em; padding: 4px 10px; border-radius: 3px; background: var(--panel2); color: var(--accent); border: 1px solid var(--line); vertical-align: middle; margin-right: 10px; } .gm-title .cat-tag.cat-simple-pick { color: #C96840; border-color: #C9684040; background: #C9684010; } .gm-title .cat-tag.cat-mid-episode { color: #A07040; border-color: #A0704040; background: #A0704010; } .gm-title .cat-tag.cat-pick-place { color: #B8920A; border-color: #B8920A40; background: #B8920A10; } .gm-title .cat-tag.cat-stack { color: #3D8A54; border-color: #3D8A5440; background: #3D8A5410; } .gm-title .cat-tag.cat-language-novel { color: #2E6A99; border-color: #2E6A9940; background: #2E6A9910; } .gm-title .cat-tag.cat-zero-shot { color: #6A4EA8; border-color: #6A4EA840; background: #6A4EA810; } @media (max-width: 960px) { .gallery-shell { grid-template-columns: 1fr; } .gallery-sidebar { max-height: 400px; position: static; } } /* ====== Capability grid (Home page) ====== */ .capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; } @media (max-width: 900px) { .capability-grid { grid-template-columns: 1fr; } } .capability-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 26px 24px; text-decoration: none; color: var(--ink); position: relative; transition: all .2s ease; display: flex; flex-direction: column; gap: 6px; min-height: 190px; } .capability-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(201,104,64,0.08); background: var(--panel2); } .capability-card .capability-num { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em; color: var(--accent); font-weight: 600; margin-bottom: 2px; } .capability-card h4 { font-family: var(--font-serif); font-size: 21px; font-weight: 600; margin: 4px 0 8px; color: var(--ink); line-height: 1.25; } .capability-card p { font-size: 14px; line-height: 1.55; color: var(--ink-dim); margin: 0; } .capability-card::after { content: "→"; position: absolute; right: 24px; bottom: 22px; color: var(--accent); font-size: 18px; opacity: 0; transform: translateX(-4px); transition: all .2s ease; } .capability-card:hover::after { opacity: 1; transform: translateX(0); } /* ====== Training story (Home page) ====== */ .training-story { margin-top: 30px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 40px 48px; } .training-steps { display: flex; flex-direction: column; gap: 28px; } .training-step { display: grid; grid-template-columns: 72px 1fr; gap: 28px; align-items: flex-start; } .training-step .step-num { font-family: var(--font-serif); font-size: 48px; font-weight: 300; color: var(--accent); line-height: 1; text-align: right; padding-top: 2px; border-right: 1px solid var(--line); padding-right: 24px; } .training-step .step-body h4 { font-family: var(--font-serif); font-size: 20px; font-weight: 600; margin: 0 0 8px; color: var(--ink); } .training-step .step-body p { font-size: 14.5px; line-height: 1.65; color: var(--ink-dim); margin: 0; max-width: 760px; } @media (max-width: 760px) { .training-story { padding: 28px 24px; } .training-step { grid-template-columns: 1fr; gap: 8px; } .training-step .step-num { text-align: left; border-right: none; padding-right: 0; font-size: 32px; } } /* ====== Hero carousel refinement ====== */ .hero-carousel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; } @media (max-width: 900px) { .hero-carousel { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .hero-carousel { grid-template-columns: 1fr; } } .hero-clip { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; position: relative; transition: all .2s ease; box-shadow: 0 1px 3px rgba(26,25,21,0.025); } .hero-clip:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: 0 8px 22px rgba(201,104,64,0.10); } .hero-clip video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; background: #0d0c0a; } .hero-clip .meta { padding: 14px 18px 16px; border-top: 1px solid var(--line); } .hero-clip .meta .ep { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); font-weight: 600; } .hero-clip .meta .prompt { font-family: var(--font-serif); font-size: 14.5px; font-weight: 500; color: var(--ink); font-style: italic; margin-top: 6px; line-height: 1.4; } .hero-clip .meta .src-tag { font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); margin-top: 5px; padding: 2px 6px; background: var(--panel); border-radius: 3px; display: inline-block; } /* Subhead above each carousel row */ .carousel-section-head { margin-top: 56px; margin-bottom: 18px; text-align: center; } .carousel-section-head .cs-eyebrow { display: inline-block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); padding: 4px 11px; border: 1px solid var(--accent); border-radius: 3px; margin-bottom: 14px; } .carousel-section-head .cs-title { font-family: var(--font-serif); font-size: 26px; font-weight: 600; letter-spacing: -0.015em; color: var(--ink); line-height: 1.25; margin: 0 auto 10px; max-width: 760px; } .carousel-section-head .cs-sub { font-size: 14px; color: var(--ink-dim); max-width: 720px; margin: 0 auto; line-height: 1.6; } .hero-carousel-secondary .hero-clip video { background: #f0ede8; } /* ====================================================================== Gallery redesign — polished, capgym-inspired visual impact ====================================================================== */ /* Stats strip: cleaner chips, subtle accent, consistent baseline */ .gallery-stats-strip { gap: 12px; margin: 18px 0 26px; } .gallery-stats-strip .stat-chip { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px 24px; transition: border-color .2s, transform .2s; position: relative; overflow: hidden; } .gallery-stats-strip .stat-chip::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--accent); opacity: 0.85; } .gallery-stats-strip .stat-chip:nth-child(1)::before { background: var(--accent); } .gallery-stats-strip .stat-chip:nth-child(2)::before { background: var(--warm); } .gallery-stats-strip .stat-chip:nth-child(3)::before { background: #C96840; } .gallery-stats-strip .stat-chip:nth-child(4)::before { background: var(--blue); } .gallery-stats-strip .stat-chip:nth-child(5)::before { background: var(--purple); } .gallery-stats-strip .stat-chip:hover { border-color: var(--line-hi); } .gallery-stats-strip .stat-num { font-size: 30px; font-weight: 700; font-family: var(--font-serif); letter-spacing: -0.02em; color: var(--ink); } .gallery-stats-strip .stat-lbl { font-size: 9.5px; letter-spacing: 0.14em; color: var(--ink-faint); margin-top: 2px; } /* Category filter bar — cleaner, flatter, brand-aware */ .cat-filter-wrap { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px 22px; gap: 18px; margin-bottom: 22px; box-shadow: 0 1px 2px rgba(26,25,21,0.02); } .cat-filter-label { font-size: 9.5px; letter-spacing: 0.16em; color: var(--ink-faint); font-weight: 600; } .cat-chip { background: var(--panel); border: 1px solid transparent; border-radius: 22px; padding: 8px 15px; font-size: 12.5px; font-weight: 500; color: var(--ink-dim); transition: all .18s ease; } .cat-chip:hover { background: var(--panel2); color: var(--ink); transform: translateY(-1px); } .cat-chip .count { background: #fff; border: 1px solid var(--line); color: var(--ink-faint); padding: 1px 8px; font-size: 9.5px; } .cat-chip.active { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 0 2px 8px rgba(26,25,21,0.12); } .cat-chip.active .count { background: rgba(255,255,255,0.18); border-color: transparent; color: #fff; } /* Per-category tint on active state */ .cat-chip.cat-simple-pick.active { background: #C96840; border-color: #C96840; box-shadow: 0 2px 10px rgba(201,104,64,0.28); } .cat-chip.cat-mid-episode.active { background: #A07040; border-color: #A07040; box-shadow: 0 2px 10px rgba(160,112,64,0.25); } .cat-chip.cat-pick-place.active { background: #B8920A; border-color: #B8920A; box-shadow: 0 2px 10px rgba(184,146,10,0.25); } .cat-chip.cat-stack.active { background: #3D8A54; border-color: #3D8A54; box-shadow: 0 2px 10px rgba(61,138,84,0.25); } .cat-chip.cat-language-novel.active { background: #2E6A99; border-color: #2E6A99; box-shadow: 0 2px 10px rgba(46,106,153,0.25); } .cat-chip.cat-zero-shot.active { background: #6A4EA8; border-color: #6A4EA8; box-shadow: 0 2px 10px rgba(106,78,168,0.25); } /* Gallery shell — two-column grid, generous gap */ .gallery-shell { grid-template-columns: 330px 1fr; gap: 28px; margin-top: 10px; } /* Sidebar: pure white card, softer padding */ .gallery-sidebar { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px 14px 18px 18px; max-height: calc(100vh - 100px); box-shadow: 0 1px 3px rgba(26,25,21,0.025); } .gallery-sidebar h4 { font-size: 10px; letter-spacing: 0.18em; color: var(--ink-faint); margin: 0 4px 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line); } .gallery-group { margin-bottom: 14px; } .gallery-group .label { font-size: 11.5px; font-weight: 600; padding: 8px 6px 8px 4px; border-bottom: none; margin-bottom: 4px; color: var(--ink); text-transform: none; letter-spacing: 0; font-family: var(--font-sans); } .gallery-group .label .dot { width: 7px; height: 7px; } .gallery-group .label .n { font-size: 9.5px; padding: 1px 7px; font-weight: 500; color: var(--ink-faint); background: var(--panel); border-radius: 10px; } .gallery-thumb { padding: 9px 8px; border-radius: 9px; gap: 12px; border: 1px solid transparent; margin-bottom: 4px; background: transparent; transition: background .15s, border-color .15s, transform .15s; } .gallery-thumb:hover { background: var(--panel); border-color: var(--line); } .gallery-thumb.active { background: var(--panel); border-color: var(--line-hi); } .gallery-thumb img { width: 82px; height: 54px; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(26,25,21,0.04); } .gallery-thumb .type-badge { font-size: 8.5px; padding: 2px 6px; font-weight: 600; letter-spacing: 0.06em; border-radius: 3px; } .gallery-thumb .ep .pk { color: var(--ink-faint); font-size: 9.5px; margin-left: 4px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.05em; } .gallery-thumb .task { font-size: 12.5px; color: var(--ink); font-weight: 500; line-height: 1.35; margin-top: 3px; } /* ====== Main panel — the showpiece ====== */ .gallery-main { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 0; box-shadow: 0 1px 3px rgba(26,25,21,0.03); overflow: hidden; position: relative; } /* Category-colored accent bar along the top */ .gallery-main::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent); transition: background .25s ease; } .gallery-main[data-cat="simple-pick"]::before { background: #C96840; } .gallery-main[data-cat="mid-episode"]::before { background: #A07040; } .gallery-main[data-cat="pick-place"]::before { background: #B8920A; } .gallery-main[data-cat="stack"]::before { background: #3D8A54; } .gallery-main[data-cat="language-novel"]::before { background: #2E6A99; } .gallery-main[data-cat="zero-shot"]::before { background: #6A4EA8; } .gallery-main > * { margin-left: 34px; margin-right: 34px; } .gallery-main .gm-title { margin-top: 32px; font-family: var(--font-serif); font-size: 24px; font-weight: 600; line-height: 1.3; color: var(--ink); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .gm-title .cat-tag { font-size: 9.5px; letter-spacing: 0.12em; padding: 5px 11px; border-radius: 4px; font-weight: 600; } .gallery-main .mprompt { font-family: var(--font-serif); font-style: italic; font-size: 20px; color: var(--ink-dim); margin: 8px 34px 14px; line-height: 1.4; font-weight: 400; } .gallery-main .mmeta { display: flex; gap: 22px; flex-wrap: wrap; font-size: 11px; color: var(--ink-dim); margin: 0 34px 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); } .gallery-main .mmeta .tag { color: var(--ink-faint); text-transform: uppercase; letter-spacing: 0.09em; font-size: 9.5px; font-family: var(--font-mono); margin-right: 4px; } /* Camera tabs — sit just above the player */ .cam-tabs { display: flex; gap: 0; margin: 4px 34px 12px; border-bottom: 1px solid var(--line); } .cam-tab { font-size: 10.5px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.12em; color: var(--ink-faint); padding: 10px 18px; background: transparent; border: none; border-bottom: 2px solid transparent; border-radius: 0; margin-bottom: -1px; cursor: pointer; transition: all .15s; } .cam-tab:hover { color: var(--ink); } .cam-tab.active { color: var(--accent); background: transparent; border-bottom-color: var(--accent); } /* The video player — the hero of the page */ .gallery-player { margin: 0 34px 24px; background: #0d0c0a; border-radius: 10px; border: 1px solid var(--line); overflow: hidden; box-shadow: 0 4px 16px rgba(26,25,21,0.08), 0 1px 3px rgba(26,25,21,0.04); position: relative; } .gallery-player video { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; display: block; background: #0d0c0a; } /* Subtle inner shine on top */ .gallery-player::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 40%; background: linear-gradient(180deg, rgba(255,255,255,0.03), transparent); pointer-events: none; } /* Prompt pills — "other rollouts of this scene" */ .prompt-pills { display: flex; gap: 8px; flex-wrap: wrap; margin: 2px 34px 4px !important; } .prompt-pill { font-size: 11px; padding: 7px 13px; border-radius: 20px; background: var(--panel); border: 1px solid var(--line); color: var(--ink-dim); cursor: pointer; font-family: var(--font-sans); transition: all .15s; } .prompt-pill:hover { background: var(--panel2); color: var(--ink); border-color: var(--line-hi); } .prompt-pill.active { background: var(--ink); border-color: var(--ink); color: #fff; } .prompt-pill .kind { font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.1em; margin-right: 5px; font-weight: 600; } /* Gallery note — subtle info block */ .gallery-note.gm-note { margin: 18px 34px 0; padding: 14px 18px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; font-size: 12.5px; color: var(--ink-dim); line-height: 1.6; } /* Footer metadata row */ .gallery-main > div:last-child { margin: 22px 34px 28px !important; padding-top: 18px; border-top: 1px solid var(--line); font-size: 9.5px; color: var(--ink-faint); letter-spacing: 0.12em; } .gallery-main > div:last-child span { color: var(--ink-faint); } @media (max-width: 960px) { .gallery-shell { grid-template-columns: 1fr; } .gallery-sidebar { max-height: 360px; position: static; } .gallery-main > * { margin-left: 20px; margin-right: 20px; } .gallery-main .gm-title { font-size: 19px; margin-top: 24px; } .gallery-main .mprompt { font-size: 17px; } }