Spaces:
Sleeping
Sleeping
| :root { | |
| --bg: #f5f7fb; | |
| --ink: #172033; | |
| --muted: #667085; | |
| --line: #d8deea; | |
| --panel: #ffffff; | |
| --accent: #0f766e; | |
| --accent-2: #2563eb; | |
| --warn: #b45309; | |
| --fail: #b91c1c; | |
| --ok: #15803d; | |
| --code: #101827; | |
| --code-ink: #d7e2f3; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| margin: 0; | |
| min-height: 100vh; | |
| background: var(--bg); | |
| color: var(--ink); | |
| font-family: Inter, "Segoe UI", "Microsoft YaHei", Arial, sans-serif; | |
| letter-spacing: 0; | |
| } | |
| button, | |
| textarea, | |
| input { | |
| font: inherit; | |
| } | |
| .app-shell { | |
| display: grid; | |
| grid-template-columns: 310px minmax(0, 1fr); | |
| min-height: 100vh; | |
| } | |
| .sidebar { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 22px; | |
| padding: 24px 20px; | |
| background: #101827; | |
| color: #edf3ff; | |
| border-right: 1px solid #0b1220; | |
| } | |
| .brand { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .brand-mark { | |
| width: 44px; | |
| height: 44px; | |
| display: grid; | |
| place-items: center; | |
| border: 1px solid #2e3b56; | |
| background: #162238; | |
| color: #8be4d3; | |
| font-weight: 800; | |
| border-radius: 8px; | |
| } | |
| .brand h1 { | |
| margin: 0; | |
| font-size: 18px; | |
| line-height: 1.2; | |
| } | |
| .brand p { | |
| margin: 4px 0 0; | |
| color: #9aa8c2; | |
| font-size: 12px; | |
| } | |
| .steps { | |
| display: grid; | |
| gap: 10px; | |
| } | |
| .step { | |
| display: grid; | |
| grid-template-columns: 18px minmax(0, 1fr); | |
| gap: 10px; | |
| align-items: start; | |
| min-height: 54px; | |
| padding: 10px; | |
| border: 1px solid #24314a; | |
| background: #121e33; | |
| border-radius: 8px; | |
| } | |
| .step-dot { | |
| width: 12px; | |
| height: 12px; | |
| margin-top: 4px; | |
| border-radius: 50%; | |
| border: 2px solid #64748b; | |
| background: transparent; | |
| } | |
| .step-copy { | |
| min-width: 0; | |
| } | |
| .step strong { | |
| display: block; | |
| font-size: 13px; | |
| line-height: 1.25; | |
| } | |
| .step span { | |
| display: block; | |
| margin-top: 4px; | |
| color: #9aa8c2; | |
| font-size: 12px; | |
| line-height: 1.3; | |
| overflow-wrap: anywhere; | |
| } | |
| .step.running { | |
| border-color: #48c6b5; | |
| background: #122d3a; | |
| } | |
| .step.running .step-dot { | |
| border-color: #5eead4; | |
| box-shadow: 0 0 0 5px rgba(94, 234, 212, 0.12); | |
| } | |
| .step.done .step-dot { | |
| background: var(--ok); | |
| border-color: var(--ok); | |
| } | |
| .step.failed { | |
| border-color: #e16a6a; | |
| } | |
| .step.failed .step-dot { | |
| background: var(--fail); | |
| border-color: var(--fail); | |
| } | |
| .toolbox { | |
| display: grid; | |
| gap: 10px; | |
| margin-top: auto; | |
| } | |
| button { | |
| min-height: 40px; | |
| border: 1px solid transparent; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| font-weight: 700; | |
| } | |
| button:disabled { | |
| opacity: 0.55; | |
| cursor: wait; | |
| } | |
| .primary { | |
| background: var(--accent); | |
| color: white; | |
| } | |
| .secondary { | |
| background: #1c2940; | |
| color: #edf3ff; | |
| border-color: #34425e; | |
| } | |
| .status-line { | |
| min-height: 36px; | |
| padding: 9px 10px; | |
| border: 1px solid #263752; | |
| background: #0d1525; | |
| color: #c8d5eb; | |
| border-radius: 8px; | |
| font-size: 12px; | |
| } | |
| .workspace { | |
| display: grid; | |
| grid-template-rows: minmax(260px, 36vh) minmax(0, 1fr); | |
| gap: 14px; | |
| padding: 18px; | |
| min-width: 0; | |
| } | |
| .input-band, | |
| .panel { | |
| background: var(--panel); | |
| border: 1px solid var(--line); | |
| border-radius: 8px; | |
| } | |
| .input-band { | |
| display: grid; | |
| grid-template-rows: auto minmax(0, 1fr); | |
| min-height: 0; | |
| } | |
| .section-head, | |
| .panel header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 12px; | |
| padding: 12px 14px; | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .section-head h2, | |
| .panel h3 { | |
| margin: 0; | |
| font-size: 15px; | |
| } | |
| .section-head p { | |
| margin: 4px 0 0; | |
| color: var(--muted); | |
| font-size: 12px; | |
| } | |
| .file-control { | |
| position: relative; | |
| flex: 0 0 auto; | |
| min-width: 140px; | |
| } | |
| .file-control input { | |
| position: absolute; | |
| inset: 0; | |
| opacity: 0; | |
| cursor: pointer; | |
| } | |
| .file-control span { | |
| display: block; | |
| padding: 9px 12px; | |
| border: 1px solid var(--line); | |
| border-radius: 8px; | |
| color: var(--ink); | |
| background: #f8fafc; | |
| font-weight: 700; | |
| text-align: center; | |
| font-size: 13px; | |
| } | |
| textarea { | |
| width: 100%; | |
| height: 100%; | |
| min-height: 160px; | |
| resize: none; | |
| border: 0; | |
| outline: 0; | |
| padding: 14px; | |
| color: var(--ink); | |
| background: #ffffff; | |
| font-family: "Cascadia Mono", Consolas, monospace; | |
| font-size: 13px; | |
| line-height: 1.5; | |
| } | |
| .result-grid { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| grid-auto-rows: minmax(280px, 1fr); | |
| gap: 14px; | |
| min-height: 0; | |
| } | |
| .panel { | |
| display: grid; | |
| grid-template-rows: auto minmax(0, 1fr); | |
| min-height: 0; | |
| overflow: hidden; | |
| } | |
| .panel header span, | |
| .tabs .tab { | |
| border: 1px solid var(--line); | |
| background: #f8fafc; | |
| color: var(--muted); | |
| padding: 5px 8px; | |
| border-radius: 8px; | |
| font-size: 12px; | |
| font-weight: 700; | |
| } | |
| .tabs { | |
| display: flex; | |
| gap: 6px; | |
| } | |
| .tabs .tab { | |
| min-height: 28px; | |
| } | |
| .tabs .tab.active { | |
| background: #e7f7f3; | |
| color: var(--accent); | |
| border-color: #a7ded3; | |
| } | |
| pre { | |
| margin: 0; | |
| padding: 12px 14px; | |
| overflow: auto; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| font-family: "Cascadia Mono", Consolas, monospace; | |
| font-size: 12px; | |
| line-height: 1.45; | |
| } | |
| .code-view, | |
| #checkerLog, | |
| #simulationLog, | |
| #intentView { | |
| background: var(--code); | |
| color: var(--code-ink); | |
| } | |
| .hidden { | |
| display: none; | |
| } | |
| .metric-row { | |
| display: grid; | |
| grid-template-columns: repeat(2, 1fr); | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .metric-row div { | |
| padding: 10px 14px; | |
| border-right: 1px solid var(--line); | |
| } | |
| .metric-row div:last-child { | |
| border-right: 0; | |
| } | |
| .metric-row span { | |
| display: block; | |
| color: var(--muted); | |
| font-size: 12px; | |
| } | |
| .metric-row strong { | |
| display: block; | |
| margin-top: 2px; | |
| font-size: 16px; | |
| } | |
| .pass { | |
| color: var(--ok); | |
| } | |
| .fail { | |
| color: var(--fail); | |
| } | |
| @media (max-width: 980px) { | |
| .app-shell { | |
| grid-template-columns: 1fr; | |
| } | |
| .sidebar { | |
| min-height: auto; | |
| } | |
| .workspace { | |
| grid-template-rows: minmax(300px, 44vh) auto; | |
| } | |
| .result-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |