:root { color-scheme: light; --bg: #efe5d2; --paper: rgba(255, 248, 236, 0.92); --paper-strong: #fffaf1; --line: rgba(115, 82, 44, 0.16); --text: #23170f; --muted: #6b5949; --accent: #b6451f; --accent-deep: #7f2d19; --accent-soft: rgba(182, 69, 31, 0.12); --shadow: 0 20px 60px rgba(82, 53, 25, 0.12); font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; color: var(--text); background: radial-gradient(circle at top left, rgba(182, 69, 31, 0.18), transparent 28%), radial-gradient(circle at bottom right, rgba(218, 170, 98, 0.18), transparent 24%), linear-gradient(135deg, #ead9bc 0%, #f6efe4 45%, #ebe1cf 100%); } * { box-sizing: border-box; } body { margin: 0; min-width: 320px; } button, input, select { font: inherit; } button { cursor: pointer; } .page-shell { min-height: 100vh; padding: 18px; } .hero-panel, .panel { border: 1px solid var(--line); border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); backdrop-filter: blur(10px); } .hero-panel { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.6fr); gap: 18px; padding: 24px; } .eyebrow { margin: 0 0 8px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; } h1, h2 { margin: 0; line-height: 1.08; } h1 { font-size: clamp(30px, 6vw, 54px); } h2 { font-size: clamp(20px, 3.8vw, 28px); } .intro, .placeholder-card, .empty-copy, .meta-label { color: var(--muted); } .intro { margin: 14px 0 0; line-height: 1.8; max-width: 52rem; } .signal-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; padding: 18px; border-radius: 22px; background: linear-gradient(180deg, rgba(182, 69, 31, 0.12), rgba(182, 69, 31, 0.04)); border: 1px solid rgba(182, 69, 31, 0.18); } .signal-label { font-size: 12px; color: var(--accent-deep); letter-spacing: 0.14em; text-transform: uppercase; } .workspace-grid, .play-grid { display: grid; gap: 18px; margin-top: 18px; } .workspace-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .play-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); } .panel { padding: 20px; } .panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 18px; } .status-pill, .mini-pill, .mini-tag { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 8px 12px; background: var(--accent-soft); color: var(--accent-deep); font-size: 12px; font-weight: 800; } .status-pill.busy { background: rgba(127, 45, 25, 0.16); } .error-banner { margin-top: 18px; padding: 14px 16px; border-radius: 18px; background: rgba(180, 41, 29, 0.14); color: #8f241c; border: 1px solid rgba(180, 41, 29, 0.18); } .form-card, .self-card, .placeholder-card, .seat-card { padding: 16px; border-radius: 22px; background: var(--paper-strong); border: 1px solid var(--line); } .form-card + .form-card, .self-card, .room-meta, .seat-list, .tile-grid { margin-top: 14px; } .field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; } .field span { font-size: 13px; color: var(--muted); } .field input, .field select { min-height: 46px; border-radius: 16px; border: 1px solid rgba(108, 83, 55, 0.2); padding: 0 14px; background: #fffdf8; color: var(--text); } .btn-row { display: flex; flex-wrap: wrap; gap: 10px; } .primary-btn, .secondary-btn { min-height: 46px; border-radius: 16px; border: none; padding: 0 16px; font-weight: 800; } .primary-btn { background: linear-gradient(180deg, #cc5a31 0%, #b6451f 100%); color: #fffaf2; } .primary-btn:disabled { opacity: 0.45; cursor: not-allowed; } .ghost-btn, .secondary-btn { background: rgba(182, 69, 31, 0.1); color: var(--accent-deep); } .room-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .room-meta strong { display: block; margin-top: 6px; } .seat-list { display: grid; gap: 12px; } .seat-card { display: flex; flex-direction: column; gap: 12px; } .seat-card-wide { gap: 14px; } .seat-top, .section-title { display: flex; justify-content: space-between; gap: 12px; align-items: center; } .mini-tags { display: flex; flex-wrap: wrap; gap: 8px; } .tile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(62px, 1fr)); gap: 10px; } .tile-chip, .discard-chip { min-height: 58px; border-radius: 18px; border: 1px solid rgba(113, 82, 47, 0.18); background: linear-gradient(180deg, #fff7eb 0%, #f1e0c4 100%); color: var(--text); font-weight: 800; } .discard-chip { min-height: auto; padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; } .discard-row { display: flex; flex-wrap: wrap; gap: 8px; } .message-stack, .event-timeline, .timeline-list { margin-top: 14px; } .message-stack { display: grid; gap: 12px; } .message-card, .timeline-item { padding: 14px; border-radius: 18px; background: var(--paper-strong); border: 1px solid var(--line); } .message-copy { margin-top: 8px; color: var(--muted); line-height: 1.7; word-break: break-word; } .action-meta-row { margin-top: 10px; } .candidate-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .candidate-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(113, 82, 47, 0.18); background: linear-gradient(180deg, rgba(255, 247, 235, 0.98) 0%, rgba(241, 224, 196, 0.92) 100%); color: var(--text); font-size: 13px; font-weight: 800; } .compact-field { flex: 1; min-width: 110px; margin: 0; } .vertical-on-mobile { margin-top: 14px; } @media (max-width: 900px) { .hero-panel, .workspace-grid, .play-grid, .room-meta { grid-template-columns: 1fr; } .page-shell { padding: 14px; } .panel, .hero-panel { padding: 16px; } .primary-btn, .secondary-btn, .field input, .field select { min-height: 48px; } .vertical-on-mobile { flex-direction: column; } }