:root { --bg: #f6f4ef; --surface: #fffefb; --surface-soft: #fff9ef; --text: #1f2a33; --muted: #5f6d78; --border: #d9d4c7; --accent: #0b8f8a; --accent-strong: #0a6d69; --highlight: #f2a84b; --danger: #a12d38; } * { box-sizing: border-box; } body { margin: 0; color: var(--text); font-family: Manrope, "Noto Sans", "Segoe UI", sans-serif; background: linear-gradient(180deg, #f3efe6 0%, #f8f6f1 45%, #f6f4ef 100%); min-height: 100vh; } .bg-orb { position: fixed; width: 420px; height: 420px; border-radius: 50%; filter: blur(46px); z-index: -1; opacity: 0.45; } .bg-orb--left { background: #d8efe4; left: -140px; top: -120px; } .bg-orb--right { background: #ffe2b8; right: -140px; top: 160px; } .container { width: min(1160px, calc(100% - 32px)); margin: 0 auto; } .hero { padding-top: 22px; } .hero__inner { display: flex; justify-content: space-between; align-items: end; gap: 18px; border: 1px solid var(--border); background: rgba(255, 255, 255, 0.88); backdrop-filter: blur(6px); border-radius: 22px; padding: 20px; box-shadow: 0 10px 30px rgba(35, 43, 61, 0.08); } .hero__copy { max-width: 760px; } .eyebrow { margin: 0 0 6px; color: var(--accent-strong); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; font-size: 12px; } .title { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(32px, 4vw, 48px); line-height: 1.02; } .subtitle { margin: 10px 0 0; color: var(--muted); line-height: 1.5; max-width: 72ch; } .layout { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 18px; padding-bottom: 28px; } .panel { display: grid; gap: 16px; align-content: start; } @media (min-width: 980px) { .layout { grid-template-columns: 1.6fr 1fr; } } .card { background: var(--surface); border: 1px solid var(--border); border-radius: 18px; padding: 16px; box-shadow: 0 8px 22px rgba(34, 40, 55, 0.05); } .card--accent { background: linear-gradient(130deg, #fff6e8 0%, #fffef9 55%, #f6fffd 100%); } .card h2 { margin: 0; font-size: 18px; } .card__title-wrap { display: flex; justify-content: space-between; align-items: center; gap: 12px; } .pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; border: 1px solid #dfd7c4; background: #fff8ea; color: #8e631e; font-size: 12px; font-weight: 700; } .hint { margin: 10px 0 12px; color: var(--muted); font-size: 14px; line-height: 1.45; } .row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; } .file { flex: 1; min-width: 220px; } .label { display: block; margin: 8px 0 6px; color: #30404d; font-size: 13px; font-weight: 600; } .textarea, .select, .input { width: 100%; border-radius: 12px; border: 1px solid #cbc4b2; background: #fff; color: var(--text); padding: 10px 12px; font-size: 14px; } .textarea { resize: vertical; line-height: 1.5; } .textarea:focus, .select:focus, .input:focus, .range:focus { outline: 2px solid rgba(11, 143, 138, 0.2); outline-offset: 1px; border-color: var(--accent); } .btn { border-radius: 12px; border: 1px solid #c6bdab; background: #f8f4ea; color: #22313d; padding: 10px 14px; font-weight: 700; cursor: pointer; } .btn:hover { transform: translateY(-1px); } .btn:disabled { opacity: 0.65; cursor: not-allowed; transform: none; } .btn--primary { border-color: var(--accent); background: var(--accent); color: #fff; } .btn--primary:hover { background: var(--accent-strong); } .btn--ghost { background: #fff; } .status { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; border: 1px solid #d2cbba; background: #fff9ee; padding: 8px 12px; color: #3f4c57; white-space: nowrap; } .status__dot { width: 10px; height: 10px; border-radius: 999px; background: #a5b0ba; } .status__dot--ok { background: #12a061; } .status__dot--warn { background: #d48a23; } .muted { margin-top: 10px; color: var(--muted); font-size: 13px; } .setting-row { display: flex; justify-content: space-between; align-items: center; } .setting-value { font-size: 13px; color: #2f5159; background: #edf8f6; border: 1px solid #caece8; border-radius: 8px; padding: 2px 8px; } .range { width: 100%; margin: 6px 0 8px; accent-color: var(--accent); } .grid-2 { display: grid; gap: 10px; grid-template-columns: 1fr; } @media (min-width: 640px) { .grid-2 { grid-template-columns: 1fr 1fr; } } .answer { margin-top: 14px; border-radius: 12px; overflow: hidden; border: 1px solid #d9cfb6; background: #fffbf0; } .answer__meta { padding: 10px 12px; border-bottom: 1px solid #e2d7ba; color: #6b5d3b; font-size: 13px; font-weight: 600; } .answer__text { margin: 0; padding: 12px; white-space: pre-wrap; font-family: "IBM Plex Mono", Menlo, Consolas, monospace; line-height: 1.55; color: #273540; } .error { margin-top: 12px; border: 1px solid #e3b8be; border-radius: 12px; padding: 10px 12px; background: #fff1f3; color: var(--danger); font-size: 13px; } .steps { margin: 8px 0 0; padding-left: 18px; color: #51606a; line-height: 1.45; } .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; } .chip { border: 1px solid #d7ceb8; border-radius: 999px; background: #fff; color: #31414f; cursor: pointer; font-size: 12px; padding: 8px 10px; } .chip:hover { border-color: #9bc9bf; background: #f1fcf9; } .footer { border-top: 1px solid #dfd8c8; background: rgba(255, 255, 255, 0.75); } .footer__inner { padding: 14px 0; } @media (max-width: 720px) { .hero__inner { align-items: start; flex-direction: column; } .title { font-size: 34px; } }