| @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; |
| } |
| } |
|
|