:root { --fg: #1f2933; --fg-soft: #3d4a59; --fg-mute: #6b7785; --heading: #1d2d3a; --bg-page: #f4f6f9; --bg-card: #ffffff; --border: #dde2e9; --border-soft: #ebeef2; --row-hover: #f8fafc; --link: #2461c4; --text-color: #a94e4a; --text-bg: #f7dfdd; --emotion-color: #7552a4; --emotion-bg: #eadff5; --pitch-color: #39769d; --pitch-bg: #dcecf7; --rate-color: #3f7951; --rate-bg: #dff0e3; --pause-color: #85613d; --pause-bg: #eee3d5; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; color: var(--fg); background: var(--bg-page); font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; } a { color: var(--link); text-decoration: none; } a:hover { text-decoration: underline; } .page { width: min(1480px, 100%); margin: 0 auto; padding: 30px 24px 48px; } .card { margin-bottom: 30px; padding: 42px 48px; border-radius: 14px; background: var(--bg-card); box-shadow: 0 5px 24px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04); } .hero { padding-top: 48px; text-align: center; } .hero h1 { margin: 0 0 8px; color: var(--heading); font-family: "Roboto Slab", Georgia, serif; font-size: clamp(42px, 5vw, 58px); letter-spacing: -0.02em; } .tagline { margin: 0 auto 10px; color: var(--fg-soft); font-size: 19px; } .project-links { display: flex; justify-content: center; gap: 16px; margin: 0 auto 24px; font-size: 14px; } .project-links span { color: var(--fg-mute); } .abstract, .contents-label, .contents { max-width: 980px; text-align: left; } .abstract { margin: 0 auto 22px; font-size: 16px; line-height: 1.75; } .contents-label { margin: 0 auto 4px; } .contents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px 24px; margin: 0 auto; padding-left: 22px; color: var(--fg-soft); font-size: 15px; } .card-heading { margin: 0 0 30px; text-align: center; } .card-heading h2 { display: inline-block; margin: 0; padding-bottom: 10px; border-bottom: 3px solid #d6dde6; color: var(--heading); font-size: 30px; letter-spacing: -0.01em; } .architecture { margin: 0; text-align: center; } .architecture img { display: block; width: min(1062px, 100%); height: auto; margin: 0 auto; } .evaluation-charts { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr); gap: 22px; align-items: center; } .evaluation-chart { margin: 0; } .evaluation-chart img { display: block; width: 100%; max-height: 430px; object-fit: contain; } .benchmark-section { padding-bottom: 30px; } .benchmark-heading { margin-bottom: 22px; } .benchmark-heading p { margin: 8px auto 0; color: var(--fg-mute); font-size: 14px; } .sample-list { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; } .sample-row { padding: 15px 16px 16px; border-bottom: 1px solid var(--border); } .sample-row:last-child { border-bottom: 0; } .sample-row:hover { background: var(--row-hover); } .sample-meta { display: flex; min-width: 0; gap: 9px; align-items: baseline; margin-bottom: 9px; } .sample-index { flex: none; color: var(--heading); font-size: 12px; font-weight: 700; } .sample-focus { min-width: 0; color: var(--fg-soft); font-size: 13px; } .tag-row { display: flex; flex: none; gap: 5px; margin-left: auto; } .tag { padding: 1px 7px; border: 1px solid var(--border); border-radius: 999px; color: var(--fg-mute); background: #fff; font-size: 10px; font-weight: 600; } .instruction-panel { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 10px; align-items: start; margin-bottom: 11px; } .instruction-label { padding-top: 7px; color: var(--fg-mute); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; } .edit-canvas { min-width: 0; padding: 7px 10px; border: 1px solid var(--border); border-radius: 7px; background: #fff; color: #242524; font-size: 13px; line-height: 2.05; overflow-wrap: anywhere; } .operation-span, .operation-point { --op-color: var(--text-color); --op-bg: var(--text-bg); } .operation-emotion { --op-color: var(--emotion-color); --op-bg: var(--emotion-bg); } .operation-pitch { --op-color: var(--pitch-color); --op-bg: var(--pitch-bg); } .operation-rate { --op-color: var(--rate-color); --op-bg: var(--rate-bg); } .operation-pause { --op-color: var(--pause-color); --op-bg: var(--pause-bg); } .operation-span { display: inline; padding: 2px 3px; border-radius: 3px; background: var(--op-bg); box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--op-color) 68%, transparent); } .operation-source { color: color-mix(in srgb, var(--op-color) 88%, #222); font-weight: 500; } .operation-delete .operation-source { text-decoration: line-through; text-decoration-color: var(--op-color); text-decoration-thickness: 1.5px; } .operation-label, .operation-point { display: inline-flex; margin: 0 3px; padding: 1px 6px; border: 1px solid color-mix(in srgb, var(--op-color) 45%, white); border-radius: 5px; color: color-mix(in srgb, var(--op-color) 88%, black); background: var(--op-bg); font-size: 10px; font-weight: 700; line-height: 18px; vertical-align: 1px; } .audio-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-left: 88px; } .audio-cell { min-width: 0; padding: 7px 8px 8px; border: 1px solid var(--border-soft); border-radius: 7px; background: #fff; } .audio-cell.ours { border-color: #a9cbb5; background: #f4faf6; } .audio-label { display: flex; min-height: 25px; gap: 6px; align-items: start; justify-content: space-between; margin-bottom: 3px; font-size: 11px; font-weight: 600; line-height: 1.25; } .model-badge { padding: 1px 4px; border-radius: 3px; color: #28623f; background: #dff0e3; font-size: 8px; text-transform: uppercase; } audio { display: block; width: 100%; height: 30px; } .pending-row { padding: 16px; border: 1px dashed var(--border); border-radius: 8px; color: var(--fg-mute); text-align: center; font-size: 13px; } .loading-card, .error-card { color: var(--fg-mute); text-align: center; } .error-card { color: #913d3d; } footer { display: flex; gap: 28px; align-items: start; justify-content: space-between; padding: 10px 8px 18px; color: var(--fg-mute); font-size: 12px; } footer p { margin: 0; } @media (max-width: 980px) { .evaluation-charts { grid-template-columns: 1fr; } .audio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .audio-cell:first-child { grid-column: 1 / -1; } } @media (max-width: 700px) { .page { padding: 14px 10px 30px; } .card { margin-bottom: 14px; padding: 28px 16px; border-radius: 10px; } .contents { grid-template-columns: 1fr 1fr; } .sample-row { padding: 13px 10px; } .sample-meta { flex-wrap: wrap; } .sample-focus { flex-basis: calc(100% - 74px); } .tag-row { flex-basis: 100%; margin-left: 0; } .instruction-panel { grid-template-columns: 1fr; gap: 3px; } .instruction-label { padding-top: 0; } .audio-grid { grid-template-columns: 1fr; margin-left: 0; } .audio-cell:first-child { grid-column: auto; } footer { display: block; } footer p + p { margin-top: 5px; } }