@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@9..144,500;9..144,600;9..144,700&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-60:#f0ebe3;--color-60-deep:#e8e2d8;--color-30:#ddd6cb;--color-30-surface:#f7f4ee;--color-30-border:#c9c0b4;--color-30-muted:#6a635a;--color-10:#3d5a52;--color-10-hover:#2f4740;--color-10-soft:#3d5a521f;--color-10-softer:#3d5a5212;--bg:var(--color-60);--bg-elevated:var(--color-30-surface);--surface:var(--color-30-surface);--table-row-light:#fff;--table-row-muted:#e8e4dc;--border:var(--color-30-border);--border-soft:var(--color-30);--text:#252019;--text-muted:var(--color-30-muted);--accent:var(--color-10);--accent-hover:var(--color-10-hover);--focus:var(--color-10);--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Fraunces", "Palatino Linotype", Palatino, Georgia, serif;font-family:var(--font-sans);font-feature-settings:"liga" 1, "kern" 1;color:var(--text);background-color:var(--bg);background-image:linear-gradient(165deg, var(--color-60) 0%, var(--color-60-deep) 55%, #e5dfd4 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-size:17px;line-height:1.6}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100svh}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{justify-content:center;min-height:100svh;padding:clamp(2.25rem,6vw,4rem) clamp(1.25rem,4vw,2.5rem) clamp(3.5rem,8vw,5rem);display:flex}.main{flex-direction:column;gap:clamp(3rem,6vw,4.5rem);width:100%;max-width:920px;display:flex}.hero{text-align:center}.eyebrow{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-size:.75rem;font-weight:600}.hero-title{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--text);text-wrap:balance;margin:0 0 .5rem;font-size:clamp(1.85rem,5vw,2.75rem);font-weight:600;line-height:1.12}.hero-subhead{max-width:min(32rem,100%);font-family:var(--font-sans);letter-spacing:.01em;color:var(--text-muted);margin:0 auto 1.25rem;font-size:clamp(.9375rem,2.1vw,1.0625rem);font-weight:500;line-height:1.45}.hero-lede{letter-spacing:.01em;max-width:36rem;color:var(--text-muted);margin:0 auto 2.5rem;font-size:1.0625rem;font-weight:400;line-height:1.65}.input-block{text-align:left;max-width:40rem;margin:0 auto}.idea-input{width:100%;font-family:var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:14px;min-height:8.75rem;padding:1.25rem 1.35rem;font-size:.9375rem;line-height:1.55;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px #ffffffa6}.idea-input::placeholder{color:#9a9288}.idea-input:hover:not(:disabled){border-color:#b8aea2}.idea-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--color-10-softer), 0 1px 0 #ffffffa6 inset;outline:none}.idea-input:disabled{opacity:.65;cursor:not-allowed}.input-actions{justify-content:center;margin-top:1.5rem;display:flex}.btn-primary{appearance:none;font-family:var(--font-sans);letter-spacing:.02em;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent);color:#faf9f6;cursor:pointer;border-radius:12px;padding:.82rem 1.65rem;font-size:.9375rem;font-weight:600;transition:background .18s,transform .12s,box-shadow .18s;box-shadow:0 1px 2px #25201914,0 2px 8px #3d5a5233}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 1px 2px #2520191a,0 4px 14px #3d5a5247}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.form-error{color:#8b3a3a;text-align:center;margin:1.1rem 0 0;font-size:.875rem;font-weight:500}.examples{text-align:center}.examples-heading{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1.1rem;font-size:.6875rem;font-weight:700}.example-list{flex-wrap:wrap;justify-content:center;gap:.65rem .75rem;margin:0;padding:0;list-style:none;display:flex}.example-chip{font-family:var(--font-sans);text-align:left;border:1px solid var(--border);background:var(--surface);max-width:100%;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.65rem 1rem;font-size:.8125rem;font-weight:500;line-height:1.45;transition:border-color .18s,color .18s,background .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffffb3}.example-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text);background:var(--color-10-soft);box-shadow:inset 0 1px #ffffff80}.example-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.example-chip:disabled{opacity:.55;cursor:not-allowed}.results{scroll-margin-top:1.5rem}.results-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:clamp(1.75rem,4vw,2.5rem);box-shadow:inset 0 1px #ffffffd9,0 8px 28px #2520190f,0 2px 8px #2520190a}.loading-card,.error-card{padding:1.75rem 1.5rem}.error-card{color:#7a2e2e;font-size:.9375rem;font-weight:500}.loading-row{align-items:flex-start;gap:1.15rem;display:flex}.spinner{border:2px solid var(--border-soft);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:1.3rem;height:1.3rem;margin-top:.12rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 0 .3rem;font-size:1.125rem;font-weight:600}.loading-sub{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.55}.results-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 0 1.1rem;font-size:1.35rem;font-weight:600;line-height:1.25}.interpreted{letter-spacing:.015em;color:var(--text-muted);margin:0 0 2rem;font-size:.9375rem;line-height:1.65}.grid-wrap{background:0 0;border:none;margin-bottom:2rem}.grid-head{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:linear-gradient(180deg, color-mix(in srgb, var(--color-30) 92%, var(--surface)) 0%, color-mix(in srgb, var(--color-30) 78%, var(--color-60)) 100%);border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:12px;grid-template-columns:1fr 1fr 1.2fr;column-gap:1.25rem;margin-bottom:.85rem;padding:.85rem 1.25rem;font-size:.625rem;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff80}.grid-body{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.grid-row{background:var(--table-row-light);border:1px solid color-mix(in srgb, var(--border) 88%, transparent);border-radius:14px;grid-template-columns:1fr 1fr 1.2fr;align-items:start;gap:.35rem 1.25rem;padding:1.35rem 1.4rem;font-size:.875rem;line-height:1.58;display:grid;box-shadow:inset 0 1px #ffffffd9,0 2px 10px #2520190a}.grid-row:nth-child(2n){background:var(--table-row-muted);box-shadow:inset 0 1px #ffffff80,0 2px 10px #25201909}.cell{padding-right:.25rem}.cell.tool{letter-spacing:.01em;color:var(--text);font-weight:600}.cell.tool a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 42%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 42%, transparent);text-underline-offset:.18em}.cell.tool a:hover{color:var(--accent-hover);-webkit-text-decoration-color:color-mix(in srgb, var(--accent-hover) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--accent-hover) 55%, transparent)}.cell.why{color:var(--text-muted);padding-right:0}@media (width<=768px){.grid-head{display:none}.grid-body{gap:1rem}.grid-row{flex-direction:column;gap:.85rem;padding:1.35rem 1.25rem;display:flex}.cell{padding-right:0}.cell.fn:before{content:"Function";font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem;font-size:.625rem;font-weight:700;display:block}.cell.tool:before{content:"What to use";font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem;font-size:.625rem;font-weight:700;display:block}.cell.why:before{content:"Why it might fit";font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem;font-size:.625rem;font-weight:700;display:block}}.system-summary{border-top:1px solid color-mix(in srgb, var(--border-soft) 85%, transparent);margin-top:.25rem;padding-top:1.25rem}.system-summary-title{font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;color:var(--text);margin:0 0 1.1rem;font-size:1rem;font-weight:600}.system-summary-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=520px){.system-summary-list{grid-template-columns:1fr 1fr}}.system-summary-row{background:linear-gradient(145deg, var(--color-10-softer) 0%, color-mix(in srgb, var(--surface) 96%, var(--color-60)) 100%);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:12px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.system-cat{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.625rem;font-weight:700}.system-val{font-family:var(--font-sans);letter-spacing:.015em;color:var(--text);font-size:.875rem;font-weight:600}.closing{text-align:center;padding-top:1.25rem}.closing-line{font-family:var(--font-display);letter-spacing:.01em;color:var(--text);margin:0 0 1rem;max-width:34rem;margin-inline:auto;font-size:clamp(1.05rem,2.5vw,1.2rem);font-style:italic;font-weight:500;line-height:1.45}.closing-note{font-family:var(--font-sans);letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:500}
