Spaces:
Sleeping
Sleeping
| :root { | |
| --bg: #050816; | |
| --bg-soft: rgba(10, 14, 30, 0.78); | |
| --panel: rgba(9, 13, 28, 0.74); | |
| --panel-strong: rgba(12, 17, 34, 0.88); | |
| --line: rgba(255, 255, 255, 0.12); | |
| --line-strong: rgba(255, 255, 255, 0.2); | |
| --text: #f6f1e8; | |
| --muted: #aeb7d3; | |
| --accent: #b19eef; | |
| --accent-2: #73d2ff; | |
| --accent-3: #ff8e53; | |
| --accent-shadow: 0 18px 50px rgba(177, 158, 239, 0.26); | |
| --shadow: 0 24px 80px rgba(0, 0, 0, 0.42); | |
| --radius: 28px; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| html, | |
| body { | |
| min-height: 100%; | |
| } | |
| body { | |
| margin: 0; | |
| color: var(--text); | |
| background: | |
| radial-gradient(circle at top, rgba(177, 158, 239, 0.2), transparent 30%), | |
| radial-gradient(circle at bottom right, rgba(115, 210, 255, 0.15), transparent 32%), | |
| linear-gradient(180deg, #040611 0%, #02040c 100%); | |
| font-family: "Trebuchet MS", "Segoe UI", sans-serif; | |
| overflow-x: hidden; | |
| } | |
| #bg-scene, | |
| .bg-grid, | |
| .bg-vignette { | |
| position: fixed; | |
| inset: 0; | |
| pointer-events: none; | |
| } | |
| #bg-scene { | |
| z-index: -3; | |
| width: 100%; | |
| height: 100%; | |
| } | |
| .bg-grid { | |
| z-index: -2; | |
| background-image: | |
| linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px); | |
| background-size: 36px 36px; | |
| mask-image: radial-gradient(circle at center, black, transparent 80%); | |
| } | |
| .bg-vignette { | |
| z-index: -1; | |
| background: | |
| radial-gradient(circle at center, transparent 28%, rgba(1, 3, 10, 0.18) 55%, rgba(1, 3, 10, 0.82) 100%), | |
| linear-gradient(180deg, rgba(4, 6, 17, 0.08), rgba(4, 6, 17, 0.78)); | |
| } | |
| .shell { | |
| width: min(1220px, calc(100vw - 28px)); | |
| margin: 0 auto; | |
| padding: 24px 0 56px; | |
| } | |
| .panel { | |
| position: relative; | |
| overflow: hidden; | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius); | |
| background: linear-gradient(180deg, rgba(12, 17, 34, 0.86), rgba(7, 10, 24, 0.76)); | |
| backdrop-filter: blur(24px); | |
| -webkit-backdrop-filter: blur(24px); | |
| box-shadow: var(--shadow); | |
| } | |
| .panel::before { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 34%); | |
| pointer-events: none; | |
| } | |
| .panel-hero { | |
| display: grid; | |
| grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr); | |
| gap: 24px; | |
| padding: 32px; | |
| } | |
| .hero-copy { | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: space-between; | |
| } | |
| .eyebrow { | |
| margin: 0 0 12px; | |
| color: var(--accent-2); | |
| font-size: 0.78rem; | |
| letter-spacing: 0.26em; | |
| text-transform: uppercase; | |
| } | |
| .eyebrow.subtle { | |
| color: var(--muted); | |
| } | |
| h1, | |
| h2 { | |
| margin: 0; | |
| } | |
| h1 { | |
| max-width: 10ch; | |
| font-size: clamp(3rem, 7vw, 6rem); | |
| line-height: 0.9; | |
| letter-spacing: -0.06em; | |
| } | |
| h2 { | |
| font-size: 1.2rem; | |
| } | |
| .lede, | |
| .micro-copy, | |
| label span, | |
| .list-item span, | |
| .log-entry, | |
| small { | |
| color: var(--muted); | |
| } | |
| .lede { | |
| max-width: 62ch; | |
| margin: 20px 0 0; | |
| font-size: 1rem; | |
| line-height: 1.8; | |
| } | |
| .hero-actions { | |
| display: flex; | |
| gap: 14px; | |
| flex-wrap: wrap; | |
| margin-top: 28px; | |
| } | |
| .hero-actions button { | |
| flex: 1 1 220px; | |
| } | |
| .hero-side { | |
| display: grid; | |
| gap: 16px; | |
| } | |
| .metric-row { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 16px; | |
| } | |
| .metric-card { | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| border-radius: 24px; | |
| padding: 20px; | |
| background: var(--bg-soft); | |
| box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); | |
| } | |
| .metric-card span { | |
| display: block; | |
| margin-bottom: 6px; | |
| color: var(--muted); | |
| font-size: 0.8rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.1em; | |
| } | |
| .metric-card strong { | |
| display: block; | |
| font-size: 1.35rem; | |
| } | |
| .metric-strong { | |
| background: linear-gradient(135deg, rgba(177, 158, 239, 0.16), rgba(115, 210, 255, 0.12)); | |
| box-shadow: var(--accent-shadow); | |
| } | |
| .control-panel, | |
| .room-card { | |
| padding: 26px; | |
| } | |
| .control-panel { | |
| margin-top: 18px; | |
| } | |
| .panel-heading, | |
| .dialog-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| gap: 16px; | |
| flex-wrap: wrap; | |
| } | |
| .control-grid, | |
| .dialogs, | |
| .room-panel { | |
| display: grid; | |
| gap: 18px; | |
| } | |
| .control-grid { | |
| margin-top: 18px; | |
| grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); | |
| } | |
| .dialogs { | |
| margin-top: 18px; | |
| grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); | |
| } | |
| .room-panel { | |
| margin-top: 18px; | |
| grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); | |
| } | |
| label { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| } | |
| input, | |
| select, | |
| button { | |
| font: inherit; | |
| } | |
| input, | |
| .select-box select { | |
| width: 100%; | |
| min-height: 56px; | |
| padding: 15px 16px; | |
| border-radius: 18px; | |
| border: 1px solid rgba(255, 255, 255, 0.12); | |
| background: rgba(255, 255, 255, 0.06); | |
| color: var(--text); | |
| } | |
| input::placeholder { | |
| color: rgba(174, 183, 211, 0.72); | |
| } | |
| .select-box { | |
| position: relative; | |
| } | |
| .select-box select { | |
| appearance: none; | |
| padding-right: 50px; | |
| } | |
| .select-box option { | |
| background: #091120; | |
| color: var(--text); | |
| } | |
| .select-arrow { | |
| position: absolute; | |
| top: 50%; | |
| right: 18px; | |
| width: 12px; | |
| height: 12px; | |
| transform: translateY(-60%) rotate(45deg); | |
| border-right: 2px solid rgba(255, 255, 255, 0.88); | |
| border-bottom: 2px solid rgba(255, 255, 255, 0.88); | |
| pointer-events: none; | |
| } | |
| input:focus, | |
| .select-box select:focus, | |
| button:focus { | |
| outline: none; | |
| border-color: rgba(177, 158, 239, 0.55); | |
| box-shadow: 0 0 0 4px rgba(177, 158, 239, 0.16); | |
| } | |
| button { | |
| min-height: 56px; | |
| padding: 14px 22px; | |
| border: none; | |
| border-radius: 999px; | |
| color: var(--text); | |
| cursor: pointer; | |
| transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease; | |
| } | |
| button:hover:not(:disabled) { | |
| transform: translateY(-1px); | |
| } | |
| button:disabled { | |
| opacity: 0.55; | |
| cursor: not-allowed; | |
| } | |
| .primary { | |
| color: #100a22; | |
| background: linear-gradient(135deg, #d7c8ff, var(--accent)); | |
| box-shadow: 0 18px 44px rgba(177, 158, 239, 0.34); | |
| } | |
| .secondary { | |
| color: #05101b; | |
| background: linear-gradient(135deg, #8ee7ff, #5eb6ff); | |
| box-shadow: 0 18px 44px rgba(94, 182, 255, 0.3); | |
| } | |
| .ghost, | |
| .toggle-button { | |
| background: rgba(255, 255, 255, 0.05); | |
| border: 1px solid rgba(255, 255, 255, 0.12); | |
| } | |
| .toggle-button.active { | |
| background: rgba(177, 158, 239, 0.16); | |
| border-color: rgba(177, 158, 239, 0.4); | |
| } | |
| .dialog-card { | |
| position: relative; | |
| overflow: hidden; | |
| min-height: 300px; | |
| padding: 28px; | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius); | |
| background: linear-gradient(180deg, rgba(12, 17, 34, 0.86), rgba(9, 12, 27, 0.76)); | |
| backdrop-filter: blur(22px); | |
| box-shadow: var(--shadow); | |
| } | |
| .dialog-card::before { | |
| content: ""; | |
| position: absolute; | |
| width: 240px; | |
| height: 240px; | |
| border-radius: 50%; | |
| filter: blur(30px); | |
| opacity: 0.45; | |
| } | |
| .left-card::before { | |
| top: -60px; | |
| right: -30px; | |
| background: radial-gradient(circle, rgba(177, 158, 239, 0.55), transparent 70%); | |
| } | |
| .right-card::before { | |
| bottom: -70px; | |
| left: -20px; | |
| background: radial-gradient(circle, rgba(115, 210, 255, 0.45), transparent 70%); | |
| } | |
| .dialog-card p { | |
| position: relative; | |
| z-index: 1; | |
| margin: 20px 0 0; | |
| min-height: 180px; | |
| color: #fff8f0; | |
| font-size: 1.05rem; | |
| line-height: 1.85; | |
| } | |
| .list-block, | |
| .log { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| max-height: 320px; | |
| overflow: auto; | |
| } | |
| .list-item, | |
| .log-entry { | |
| padding: 13px 14px; | |
| border-radius: 16px; | |
| background: rgba(255, 255, 255, 0.05); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| } | |
| .list-item strong, | |
| .list-item span { | |
| display: block; | |
| } | |
| .list-item span + span { | |
| margin-top: 4px; | |
| } | |
| .log-entry { | |
| font-size: 0.92rem; | |
| } | |
| @media (max-width: 980px) { | |
| .panel-hero { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| @media (max-width: 640px) { | |
| .shell { | |
| width: min(100vw - 16px, 1220px); | |
| padding-top: 16px; | |
| } | |
| .panel-hero, | |
| .control-panel, | |
| .room-card, | |
| .dialog-card { | |
| padding: 18px; | |
| } | |
| .metric-row { | |
| grid-template-columns: 1fr; | |
| } | |
| h1 { | |
| max-width: 9ch; | |
| font-size: clamp(2.5rem, 13vw, 4.2rem); | |
| } | |
| } | |