:root{ --primary-color-start:#4F46E5; --primary-color-end:#8B5CF6; --background-color:#f8f9fc; --container-bg:#ffffff; --text-color:#1f2937; --label-color:#374151; --border-color:#d1d5db; --shadow-color:rgba(0,0,0,0.08); } *{box-sizing:border-box} body{ margin:0; min-height:100svh; display:grid; place-items:center; background:var(--background-color); font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--text-color); } .app{ width:100%; max-width:450px; background:var(--container-bg); padding:30px; border-radius:15px; box-shadow:0 4px 15px var(--shadow-color); border-top:5px solid transparent; background-image: linear-gradient(var(--container-bg), var(--container-bg)), linear-gradient(90deg,var(--primary-color-start),var(--primary-color-end)); background-origin: border-box; background-clip: padding-box, border-box; } h1{ margin:0 0 16px; font-size:2em; line-height:1.1; text-align:center; background:linear-gradient(90deg,var(--primary-color-start),var(--primary-color-end)); -webkit-background-clip:text; background-clip:text; color:transparent; } .label{ color:var(--label-color); font-size:.95rem; margin-bottom:6px; display:block } .input, .textarea, select{ width:100%; padding:14px 12px; border:1px solid var(--border-color); border-radius:8px; background:#fff; } .top-input{ margin-bottom:12px } .options{ display:grid; gap:14px; margin-top:8px } .group{ display:grid; gap:8px } .group.cols-3{ grid-template-columns:1fr 1fr 1fr; align-items:end; gap:8px 12px } .group.cols-3 .label{margin:0} .toggles{ display:flex; flex-wrap:wrap; gap:8px } .toggle{ padding:12px 14px; border-radius:999px; border:1px solid var(--border-color); background:#fff; cursor:pointer; transition:transform .02s ease, box-shadow .15s ease, opacity .15s ease; } .toggle:hover{ box-shadow:0 0 0 2px rgba(79,70,229,.15) } .toggle[aria-pressed="true"], .toggle.selected{ color:#fff; border-color:transparent; background:linear-gradient(90deg,var(--primary-color-start),var(--primary-color-end)); } .notes{ display:grid; gap:10px; margin-top:12px } .textarea{ resize:vertical } .btn{ padding:16px; border-radius:10px; border:none; font-weight:700; cursor:pointer; background:linear-gradient(90deg,var(--primary-color-start),var(--primary-color-end)); color:#fff; transition:transform .02s ease, box-shadow .15s ease; width:100%; } .btn:hover{ box-shadow:0 0 0 4px rgba(79,70,229,.15) } .btn:active{ transform:scale(.98) } .start{ margin-top:4px } .response{ margin-top:16px; display:grid; gap:10px } .out{ min-height:140px; white-space:pre-wrap; background:#fff; border:1px solid var(--border-color); border-radius:8px; padding:14px; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; } .hint{ font-size:.9rem; color:#4b5563; min-height:1.2em } .hidden{ display:none } @media (max-width:480px){ .btn{ padding:14px } }