:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#203c34;background:#f4f5ef;line-height:1.6;font-synthesis:none;--accent: #17604c;--muted: #66766c}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:.2em}button,input,textarea{font:inherit}button,.primary{border:0;border-radius:12px;padding:.85rem 1.2rem;color:#fff;background:var(--accent);font-weight:650;cursor:pointer;text-decoration:none}button:disabled{cursor:wait;opacity:.55}input:not([type=hidden]),textarea{width:100%;padding:.85rem;border:1px solid #cbd6cb;border-radius:10px;background:#fff;color:inherit}textarea{resize:vertical;min-height:7rem;line-height:1.6}label{display:block;margin-top:1rem;font-weight:600}label input,label textarea{margin-top:.45rem}h1,h2,h3{line-height:1.18;letter-spacing:-.035em;margin-top:0}h1{font-size:clamp(2.4rem,6vw,4.5rem)}h2{font-size:clamp(1.4rem,3vw,1.9rem)}fieldset{margin:0;padding:0;border:0;min-width:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #b57b2d;outline-offset:4px}.muted,.hint{color:var(--muted)}.hint{font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:750}.notice{padding:1rem;border:1px solid #d5a684;border-radius:12px;background:#fff3e9;color:#783619}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portal-shell{max-width:1180px;margin:auto;padding:1.5rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:3rem}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:750;color:#203c34}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:#203c34;color:#fff;border-radius:12px}.logout{padding:.55rem .9rem;background:transparent;border:1px solid #ccd5c8;color:#345347;font-size:.85rem}.welcome{max-width:760px;margin-bottom:2rem}.welcome h1{margin-bottom:1rem}.portal-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:1.5rem;align-items:start}.card{border:1px solid #dce2d6;border-radius:24px;padding:clamp(1.2rem,3vw,2rem);background:#fff}.preview-card{position:sticky;top:1.5rem;background:#e7eddd}.browser-sketch{border-radius:14px;border:1px solid #c9d4c0;background:#f7f9f2;overflow:hidden;margin-bottom:1.6rem}.browser-bar{padding:.55rem .8rem;border-bottom:1px solid #dce4d4;color:#a6b49c;letter-spacing:.25rem;font-size:.7rem}.sketch-content{padding:1.7rem;display:grid;gap:.7rem}.sketch-content span{height:9px;width:70%;background:#d7e1cc;border-radius:20px}.sketch-content span:first-child{width:45%;height:24px;background:#6c8d75}.sketch-content span:last-child{width:90%;height:50px}.preview-button{display:flex;gap:.7rem;justify-content:center;align-items:center;width:100%;text-align:center}.preview-button[aria-disabled=true]{background:#788979;cursor:default}.preview-button.just-ready{animation:ready-pulse 1.1s ease-out 3}.progress{height:4px;overflow:hidden;border-radius:8px;background:#cddac6;margin-top:1.3rem}.progress:after{content:"";display:block;height:100%;width:30%;background:#17604c;animation:progress 1.5s ease-in-out infinite}.guide{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid #c9d6bf}.guide ol{padding-left:1.2rem;color:#526954;font-size:.9rem}.portal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin-top:3rem;font-size:.8rem;color:var(--muted)}.workspace{min-width:0}.composer-card{margin-bottom:2.5rem}.composer-card h2{margin-bottom:.5rem}.composer-card textarea{background:#fafbf7}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.file-label{font-size:.85rem;font-weight:500}input[type=file]{font-size:.8rem;padding:.6rem}.selected-files{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.file-chip{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;border-radius:8px;background:#edf1e7;padding:.3rem .6rem;font-size:.75rem}.file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{padding:.1rem .35rem;border-radius:4px;color:#244e3d;background:transparent}.thread-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.thread-heading h2{font-size:1.2rem;margin:0}.request-entry{padding:1.4rem;margin-top:1rem;border:1px solid #dce2d6;border-radius:18px;background:#fff}.entry-header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;font-size:.75rem;color:var(--muted)}.entry-status{font-weight:650;color:#486c55}.entry-prompt{white-space:pre-wrap;overflow-wrap:anywhere;max-height:18rem;overflow-y:auto}.entry-uploads{padding:0;list-style:none;font-size:.82rem;overflow-wrap:anywhere}.entry-uploads a{display:inline-block;margin-bottom:.25rem}.entry-question{border-top:1px solid #e0e6da;margin-top:1rem;padding-top:1rem}.entry-question p{padding:.8rem;border-radius:10px;background:#f1f4e9}.request-entry[data-status=WAITING_REPLY]{border-color:#94ae83}.request-entry[data-status=FAILED] .entry-status{color:#9b3d27}.request-entry[data-status=BUILDING] .entry-status{color:#9b7027}.login-shell{max-width:1040px;margin:8vh auto;padding:1.5rem}.login-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;margin-top:5rem}.login-intro p{max-width:28rem;color:var(--muted)}.login-card{padding:2rem}.login-card button{width:100%}.login-card input{letter-spacing:.12em}@keyframes ready-pulse{0%{box-shadow:0 0 #17604c55}to{box-shadow:0 0 0 13px #17604c00}}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(440%)}}@media(max-width:760px){.portal-shell{padding:1rem}.topbar{margin-bottom:2rem}.portal-grid,.login-grid{grid-template-columns:minmax(0,1fr)}.preview-card{position:static}.browser-sketch{display:none}.composer-footer{align-items:stretch;flex-direction:column}.composer-footer button{width:100%}.login-shell{margin:1rem auto}.login-grid{gap:1.5rem;margin-top:2.5rem}.portal-footer{margin-top:2rem}}@media(prefers-reduced-motion:reduce){.preview-button.just-ready,.progress:after{animation:none}}#accept-preview{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #c9d6bf}.acceptance-choice{display:flex;align-items:flex-start;gap:.65rem;font-weight:500;font-size:.9rem}.acceptance-choice input[type=checkbox]{width:1.15rem;height:1.15rem;flex:0 0 1.15rem;margin:.2rem 0 0;accent-color:var(--accent)}#accept-preview button{width:100%}.portal-explainer{border-top:1px solid #d8dfd3;margin-top:24px;padding-top:18px}.portal-explainer summary{cursor:pointer;padding:8px 0;font-size:14px}.website-explainer{min-width:0}.website-explainer video{display:block;width:100%;height:auto;aspect-ratio:16 / 9;margin-top:12px;border-radius:12px;background:#163e36}.website-explainer details{padding-top:10px;font-size:13px;color:var(--muted)}
