| :root { | |
| --ink-900: #1c1c1a; | |
| --ink-700: #3e3d39; | |
| --ink-500: #6b6760; | |
| --mist-100: #f7f3ec; | |
| --mist-200: #efe7da; | |
| --sun-400: #f0b66d; | |
| --sun-500: #e5964a; | |
| --sea-400: #5b9fa0; | |
| --sea-600: #316d6f; | |
| --berry-300: #d97963; | |
| --glow: rgba(255, 221, 162, 0.35); | |
| --panel: rgba(255, 249, 242, 0.82); | |
| --panel-strong: rgba(255, 249, 242, 0.95); | |
| --shadow: 0 24px 60px rgba(28, 28, 26, 0.2); | |
| --stroke: rgba(28, 28, 26, 0.08); | |
| --radius-lg: 24px; | |
| --radius-md: 18px; | |
| --radius-sm: 12px; | |
| --font-body: "Space Grotesk", "IBM Plex Sans", "Manrope", sans-serif; | |
| --font-display: "Fraunces", "Playfair Display", "Georgia", serif; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| margin: 0; | |
| font-family: var(--font-body); | |
| color: var(--ink-900); | |
| background: radial-gradient(circle at top, #fff6e7 0%, #f7efe0 35%, #e9e2d2 100%); | |
| min-height: 100vh; | |
| } | |
| .backdrop { | |
| position: fixed; | |
| inset: 0; | |
| background-image: radial-gradient(transparent 0 2px, rgba(28, 28, 26, 0.05) 2px); | |
| background-size: 26px 26px; | |
| opacity: 0.5; | |
| pointer-events: none; | |
| z-index: 0; | |
| } | |
| .orb { | |
| position: fixed; | |
| border-radius: 999px; | |
| filter: blur(30px); | |
| opacity: 0.65; | |
| z-index: 0; | |
| animation: float 12s ease-in-out infinite; | |
| } | |
| .orb-a { | |
| width: 260px; | |
| height: 260px; | |
| top: -40px; | |
| right: 10%; | |
| background: radial-gradient(circle, rgba(240, 182, 109, 0.85), rgba(240, 182, 109, 0)); | |
| } | |
| .orb-b { | |
| width: 220px; | |
| height: 220px; | |
| bottom: 10%; | |
| left: 8%; | |
| background: radial-gradient(circle, rgba(91, 159, 160, 0.7), rgba(91, 159, 160, 0)); | |
| animation-delay: -4s; | |
| } | |
| .orb-c { | |
| width: 180px; | |
| height: 180px; | |
| bottom: 20%; | |
| right: 30%; | |
| background: radial-gradient(circle, rgba(217, 121, 99, 0.6), rgba(217, 121, 99, 0)); | |
| animation-delay: -8s; | |
| } | |
| .app { | |
| position: relative; | |
| z-index: 1; | |
| display: grid; | |
| grid-template-columns: 320px 1fr; | |
| gap: 24px; | |
| padding: 24px; | |
| } | |
| .panel { | |
| background: var(--panel); | |
| border-radius: var(--radius-lg); | |
| box-shadow: var(--shadow); | |
| border: 1px solid var(--stroke); | |
| display: flex; | |
| flex-direction: column; | |
| min-height: calc(100vh - 48px); | |
| animation: rise 0.8s ease-out; | |
| } | |
| .panel-header, | |
| .panel-footer { | |
| padding: 20px 22px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| } | |
| .panel-body { | |
| padding: 0 18px 16px; | |
| overflow-y: auto; | |
| flex: 1; | |
| } | |
| .brand { | |
| display: flex; | |
| gap: 14px; | |
| align-items: center; | |
| } | |
| .brand-mark { | |
| width: 46px; | |
| height: 46px; | |
| border-radius: 14px; | |
| display: grid; | |
| place-items: center; | |
| background: linear-gradient(135deg, var(--sun-500), var(--sea-400)); | |
| color: white; | |
| font-weight: 700; | |
| letter-spacing: 1px; | |
| } | |
| .brand-title { | |
| font-family: var(--font-display); | |
| font-size: 20px; | |
| } | |
| .brand-sub { | |
| font-size: 13px; | |
| color: var(--ink-500); | |
| } | |
| .ghost-btn { | |
| border: 1px solid var(--stroke); | |
| background: transparent; | |
| padding: 8px 14px; | |
| border-radius: 12px; | |
| cursor: pointer; | |
| font-size: 13px; | |
| } | |
| .ghost-btn:hover { | |
| background: rgba(255, 255, 255, 0.6); | |
| } | |
| .section-title { | |
| text-transform: uppercase; | |
| letter-spacing: 0.2em; | |
| font-size: 11px; | |
| color: var(--ink-500); | |
| margin: 16px 0 10px; | |
| } | |
| .session-list { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| } | |
| .session { | |
| padding: 12px 14px; | |
| border-radius: 14px; | |
| border: 1px solid transparent; | |
| background: rgba(255, 255, 255, 0.6); | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| } | |
| .session:hover { | |
| border-color: rgba(91, 159, 160, 0.3); | |
| transform: translateY(-2px); | |
| } | |
| .session.active { | |
| border-color: rgba(91, 159, 160, 0.6); | |
| background: rgba(91, 159, 160, 0.12); | |
| } | |
| .session-id { | |
| font-weight: 600; | |
| font-size: 13px; | |
| word-break: break-all; | |
| } | |
| .session-meta { | |
| font-size: 12px; | |
| color: var(--ink-500); | |
| margin-top: 4px; | |
| } | |
| .status-pill { | |
| padding: 6px 12px; | |
| border-radius: 999px; | |
| background: rgba(255, 255, 255, 0.7); | |
| font-size: 12px; | |
| color: var(--ink-500); | |
| } | |
| .main { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 20px; | |
| animation: rise 0.9s ease-out; | |
| } | |
| .main-header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| padding: 18px 24px; | |
| border-radius: var(--radius-lg); | |
| background: var(--panel-strong); | |
| box-shadow: var(--shadow); | |
| } | |
| .header-right { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .header-actions { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| } | |
| .headline { | |
| font-family: var(--font-display); | |
| font-size: 28px; | |
| } | |
| .subhead { | |
| color: var(--ink-500); | |
| font-size: 13px; | |
| } | |
| .live-indicator { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| font-size: 13px; | |
| color: var(--ink-500); | |
| } | |
| .live-indicator .dot { | |
| width: 8px; | |
| height: 8px; | |
| background: var(--sun-500); | |
| border-radius: 999px; | |
| box-shadow: 0 0 12px var(--glow); | |
| } | |
| .cards { | |
| display: grid; | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| gap: 16px; | |
| } | |
| .card { | |
| padding: 16px 18px; | |
| border-radius: var(--radius-md); | |
| background: var(--panel); | |
| border: 1px solid var(--stroke); | |
| box-shadow: var(--shadow); | |
| } | |
| .card-title { | |
| text-transform: uppercase; | |
| font-size: 11px; | |
| letter-spacing: 0.2em; | |
| color: var(--ink-500); | |
| } | |
| .card-value { | |
| font-size: 26px; | |
| margin-top: 8px; | |
| } | |
| .card-foot { | |
| font-size: 12px; | |
| color: var(--ink-500); | |
| } | |
| .controls { | |
| display: grid; | |
| grid-template-columns: 1.4fr 1fr 1fr 0.7fr; | |
| gap: 16px; | |
| padding: 16px 18px; | |
| border-radius: var(--radius-lg); | |
| background: var(--panel); | |
| border: 1px solid var(--stroke); | |
| box-shadow: var(--shadow); | |
| } | |
| .control label { | |
| display: block; | |
| font-size: 12px; | |
| color: var(--ink-500); | |
| margin-bottom: 6px; | |
| } | |
| .control input[type="text"] { | |
| width: 100%; | |
| padding: 10px 12px; | |
| border-radius: 12px; | |
| border: 1px solid var(--stroke); | |
| font-family: var(--font-body); | |
| } | |
| .chip-row { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| } | |
| .chip { | |
| padding: 6px 10px; | |
| border-radius: 999px; | |
| border: 1px solid var(--stroke); | |
| font-size: 12px; | |
| cursor: pointer; | |
| background: rgba(255, 255, 255, 0.7); | |
| } | |
| .chip.active { | |
| background: rgba(91, 159, 160, 0.18); | |
| border-color: rgba(91, 159, 160, 0.6); | |
| } | |
| .toggle { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| font-size: 12px; | |
| } | |
| .toggle input { | |
| width: 36px; | |
| height: 20px; | |
| appearance: none; | |
| background: rgba(0, 0, 0, 0.1); | |
| border-radius: 999px; | |
| position: relative; | |
| cursor: pointer; | |
| outline: none; | |
| } | |
| .toggle input::after { | |
| content: ""; | |
| width: 16px; | |
| height: 16px; | |
| background: white; | |
| border-radius: 50%; | |
| position: absolute; | |
| top: 2px; | |
| left: 2px; | |
| transition: transform 0.2s ease; | |
| } | |
| .toggle input:checked { | |
| background: rgba(91, 159, 160, 0.5); | |
| } | |
| .toggle input:checked::after { | |
| transform: translateX(16px); | |
| } | |
| .dash { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 16px; | |
| } | |
| .dash-card { | |
| padding: 16px 18px; | |
| border-radius: var(--radius-lg); | |
| background: var(--panel); | |
| border: 1px solid var(--stroke); | |
| box-shadow: var(--shadow); | |
| overflow: hidden; | |
| } | |
| .dash-body { | |
| font-size: 13px; | |
| color: var(--ink-700); | |
| background: rgba(255, 255, 255, 0.65); | |
| border: 1px solid rgba(0, 0, 0, 0.05); | |
| border-radius: 14px; | |
| padding: 12px; | |
| max-height: 220px; | |
| overflow-y: auto; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| } | |
| .content { | |
| display: grid; | |
| grid-template-columns: 1.2fr 0.8fr; | |
| gap: 16px; | |
| min-height: 360px; | |
| } | |
| .timeline, | |
| .detail { | |
| background: var(--panel); | |
| border-radius: var(--radius-lg); | |
| border: 1px solid var(--stroke); | |
| box-shadow: var(--shadow); | |
| padding: 16px 18px; | |
| overflow: hidden; | |
| } | |
| .event-list { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| max-height: 520px; | |
| overflow-y: auto; | |
| } | |
| .event { | |
| padding: 12px 14px; | |
| border-radius: 14px; | |
| border: 1px solid transparent; | |
| background: rgba(255, 255, 255, 0.6); | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| animation: fadeIn 0.3s ease; | |
| } | |
| .event:hover { | |
| border-color: rgba(240, 182, 109, 0.5); | |
| transform: translateY(-2px); | |
| } | |
| .event.active { | |
| border-color: rgba(240, 182, 109, 0.8); | |
| background: rgba(240, 182, 109, 0.12); | |
| } | |
| .event-header { | |
| display: flex; | |
| justify-content: space-between; | |
| font-weight: 600; | |
| font-size: 13px; | |
| } | |
| .event-meta { | |
| margin-top: 6px; | |
| font-size: 12px; | |
| color: var(--ink-500); | |
| display: flex; | |
| gap: 10px; | |
| flex-wrap: wrap; | |
| } | |
| .badge { | |
| padding: 2px 8px; | |
| border-radius: 999px; | |
| background: rgba(0, 0, 0, 0.05); | |
| font-size: 11px; | |
| max-width: 100%; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .detail-card { | |
| padding: 14px; | |
| border-radius: var(--radius-md); | |
| background: rgba(255, 255, 255, 0.75); | |
| min-height: 460px; | |
| overflow-y: auto; | |
| } | |
| .detail-card.empty { | |
| display: grid; | |
| place-items: center; | |
| color: var(--ink-500); | |
| } | |
| .detail-row { | |
| margin-bottom: 12px; | |
| } | |
| .detail-label { | |
| text-transform: uppercase; | |
| font-size: 11px; | |
| letter-spacing: 0.2em; | |
| color: var(--ink-500); | |
| margin-bottom: 6px; | |
| } | |
| .detail-value { | |
| font-size: 13px; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| background: rgba(255, 255, 255, 0.6); | |
| border-radius: 10px; | |
| padding: 10px; | |
| border: 1px solid rgba(0, 0, 0, 0.05); | |
| } | |
| @keyframes rise { | |
| from { | |
| opacity: 0; | |
| transform: translateY(16px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(6px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes float { | |
| 0%, | |
| 100% { | |
| transform: translateY(0px); | |
| } | |
| 50% { | |
| transform: translateY(-18px); | |
| } | |
| } | |
| @media (max-width: 1100px) { | |
| .app { | |
| grid-template-columns: 1fr; | |
| } | |
| .panel { | |
| min-height: auto; | |
| } | |
| .cards { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .controls { | |
| grid-template-columns: 1fr 1fr; | |
| } | |
| .dash { | |
| grid-template-columns: 1fr; | |
| } | |
| .content { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| @media (max-width: 720px) { | |
| .cards { | |
| grid-template-columns: 1fr; | |
| } | |
| .controls { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |