| :root { |
| --bg: #f6f4eb; |
| --surface: #fffdf6; |
| --text: #1d2d2a; |
| --muted: #52615d; |
| --accent: #2e7d32; |
| --accent-strong: #1f5d24; |
| --line: #d7dccb; |
| --card: #f2f7ea; |
| } |
|
|
| * { box-sizing: border-box; } |
|
|
| body { |
| margin: 0; |
| font-family: "Sora", sans-serif; |
| background: radial-gradient(circle at 10% 5%, #e9f2d8, transparent 30%), var(--bg); |
| color: var(--text); |
| } |
|
|
| .bg-grid { |
| position: fixed; |
| inset: 0; |
| pointer-events: none; |
| background-image: linear-gradient(to right, rgba(29,45,42,0.04) 1px, transparent 1px), |
| linear-gradient(to bottom, rgba(29,45,42,0.04) 1px, transparent 1px); |
| background-size: 24px 24px; |
| } |
|
|
| .shell { |
| max-width: 980px; |
| margin: 0 auto; |
| padding: 32px 16px 48px; |
| position: relative; |
| } |
|
|
| .hero { |
| margin-bottom: 20px; |
| } |
|
|
| .eyebrow { |
| font-family: "IBM Plex Mono", monospace; |
| text-transform: uppercase; |
| letter-spacing: .08em; |
| color: var(--accent-strong); |
| margin: 0 0 8px; |
| } |
|
|
| h1 { |
| margin: 0 0 12px; |
| line-height: 1.2; |
| font-size: clamp(1.6rem, 3vw, 2.3rem); |
| } |
|
|
| .subtitle { |
| margin: 0; |
| color: var(--muted); |
| max-width: 760px; |
| } |
|
|
| .panel { |
| background: var(--surface); |
| border: 1px solid var(--line); |
| border-radius: 16px; |
| padding: 20px; |
| box-shadow: 0 12px 35px rgba(31, 93, 36, 0.08); |
| margin-top: 16px; |
| } |
|
|
| .questions { |
| display: grid; |
| gap: 12px; |
| } |
|
|
| .question { |
| display: grid; |
| gap: 8px; |
| } |
|
|
| .question span { |
| font-size: .92rem; |
| color: var(--muted); |
| } |
|
|
| input { |
| width: 100%; |
| border: 1px solid var(--line); |
| border-radius: 10px; |
| padding: 10px 12px; |
| font: inherit; |
| background: white; |
| } |
|
|
| input:focus { |
| outline: 2px solid #9ed39b; |
| border-color: var(--accent); |
| } |
|
|
| .actions { |
| display: flex; |
| gap: 12px; |
| align-items: center; |
| margin-top: 14px; |
| } |
|
|
| button { |
| border: 0; |
| border-radius: 10px; |
| padding: 10px 14px; |
| font: inherit; |
| font-weight: 600; |
| background: var(--accent); |
| color: #f7fff5; |
| cursor: pointer; |
| } |
|
|
| button:hover { background: var(--accent-strong); } |
| button:disabled { opacity: .6; cursor: not-allowed; } |
|
|
| #status { |
| font-family: "IBM Plex Mono", monospace; |
| font-size: .85rem; |
| color: var(--muted); |
| } |
|
|
| .result h2 { |
| margin-top: 0; |
| } |
|
|
| .result-grid { |
| display: grid; |
| grid-template-columns: repeat(2, minmax(0, 1fr)); |
| gap: 12px; |
| } |
|
|
| .result-grid article { |
| background: var(--card); |
| border: 1px solid #dce7cd; |
| border-radius: 12px; |
| padding: 12px; |
| } |
|
|
| .result-grid h3 { |
| margin: 0 0 8px; |
| font-size: .92rem; |
| color: var(--accent-strong); |
| } |
|
|
| .result-grid p { |
| margin: 0; |
| white-space: pre-wrap; |
| color: #243531; |
| } |
|
|
| @media (max-width: 760px) { |
| .result-grid { grid-template-columns: 1fr; } |
| } |
|
|