Spaces:
Running on Zero
Running on Zero
| @import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&family=IBM+Plex+Mono:wght@400;600&display=swap"); | |
| :root { | |
| --bg: #f4f1e8; | |
| --bg-2: #e6f2ef; | |
| --ink: #1f2a22; | |
| --muted: #4b5a50; | |
| --brand: #0a8f6a; | |
| --brand-deep: #0c5b49; | |
| --warn: #ad1f1f; | |
| --card: rgba(255, 255, 255, 0.78); | |
| --line: rgba(31, 42, 34, 0.2); | |
| --shadow: 0 20px 60px rgba(6, 48, 38, 0.16); | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| margin: 0; | |
| color: var(--ink); | |
| font-family: "Space Grotesk", system-ui, sans-serif; | |
| background: | |
| radial-gradient(circle at 15% 10%, rgba(10, 143, 106, 0.16), transparent 45%), | |
| radial-gradient(circle at 85% 0%, rgba(255, 138, 61, 0.14), transparent 35%), | |
| linear-gradient(140deg, var(--bg), var(--bg-2)); | |
| min-height: 100vh; | |
| } | |
| .page { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 28px 18px 36px; | |
| } | |
| .hero { | |
| margin-bottom: 18px; | |
| animation: rise 0.55s ease; | |
| } | |
| .hero h1 { | |
| margin: 0; | |
| font-size: clamp(1.6rem, 3vw, 2.4rem); | |
| letter-spacing: -0.02em; | |
| } | |
| .hero p { | |
| margin: 6px 0 0; | |
| color: var(--muted); | |
| } | |
| .grid { | |
| display: grid; | |
| grid-template-columns: 1.1fr 1fr; | |
| gap: 16px; | |
| align-items: start; | |
| } | |
| .card { | |
| background: var(--card); | |
| border: 1px solid var(--line); | |
| border-radius: 14px; | |
| padding: 14px; | |
| backdrop-filter: blur(8px); | |
| box-shadow: var(--shadow); | |
| animation: rise 0.6s ease; | |
| } | |
| .card h2, | |
| .card h3 { | |
| margin: 0 0 12px; | |
| } | |
| .row { | |
| display: grid; | |
| gap: 6px; | |
| margin-bottom: 10px; | |
| } | |
| .row label { | |
| font-size: 0.84rem; | |
| font-weight: 600; | |
| color: var(--muted); | |
| } | |
| .row.inline { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| input, | |
| select, | |
| textarea, | |
| button { | |
| width: 100%; | |
| font: inherit; | |
| } | |
| input, | |
| select, | |
| textarea { | |
| border: 1px solid var(--line); | |
| border-radius: 10px; | |
| padding: 9px 10px; | |
| background: rgba(255, 255, 255, 0.94); | |
| color: var(--ink); | |
| } | |
| textarea { | |
| resize: vertical; | |
| } | |
| input:focus, | |
| select:focus, | |
| textarea:focus { | |
| outline: 2px solid rgba(10, 143, 106, 0.28); | |
| border-color: rgba(10, 143, 106, 0.7); | |
| } | |
| .row.inline input[type="checkbox"] { | |
| width: auto; | |
| } | |
| .run { | |
| margin-top: 4px; | |
| border: 0; | |
| border-radius: 10px; | |
| padding: 11px 12px; | |
| font-weight: 700; | |
| color: #fff; | |
| cursor: pointer; | |
| background: linear-gradient(120deg, var(--brand), var(--brand-deep)); | |
| } | |
| .run:disabled { | |
| opacity: 0.68; | |
| cursor: not-allowed; | |
| } | |
| pre, | |
| .mono { | |
| font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; | |
| } | |
| pre { | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| max-height: 320px; | |
| overflow: auto; | |
| background: rgba(20, 35, 29, 0.92); | |
| color: #f4fffa; | |
| padding: 10px; | |
| border-radius: 10px; | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| .error { | |
| margin: 10px 0; | |
| color: var(--warn); | |
| font-weight: 600; | |
| } | |
| .mono { | |
| font-size: 0.9rem; | |
| overflow-wrap: anywhere; | |
| } | |
| @keyframes rise { | |
| from { | |
| opacity: 0; | |
| transform: translateY(8px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @media (max-width: 980px) { | |
| .grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .card { | |
| padding: 12px; | |
| } | |
| } | |