:root{--bg:#f8f5ef;--panel:#fff;--text:#1f2933;--muted:#667085;--accent:#314d3e;--accent-light:#e4ece6;--border:#ddd6cc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}.page{min-height:100vh;display:flex;flex-direction:column}.header{padding:28px 24px 18px;text-align:center}.header h1{margin:0;font-size:42px;color:var(--accent)}.header p{margin:8px auto 0;max-width:780px;color:var(--muted);font-size:18px}.shell{width:min(1100px,calc(100% - 32px));margin:0 auto 40px;display:grid;grid-template-columns:300px 1fr;grid-gap:18px;gap:18px}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 25px rgba(31,41,51,.06)}.sidebar{padding:18px;height:-moz-fit-content;height:fit-content}.label{display:block;font-weight:700;margin:14px 0 6px;font-size:14px}.input,.select,.textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;font-size:15px;background:#fff}.small{color:var(--muted);font-size:13px;line-height:1.45;margin-top:14px}.chat{min-height:660px;display:flex;flex-direction:column;overflow:hidden}.messages{padding:18px;flex:1 1;overflow-y:auto}.bubble{margin:0 0 14px;padding:14px 16px;border-radius:16px;line-height:1.5;white-space:pre-wrap}.user{background:var(--accent);color:#fff;margin-left:auto;max-width:78%}.assistant{background:var(--accent-light);color:var(--text);margin-right:auto;max-width:88%}.composer{border-top:1px solid var(--border);padding:14px;display:flex;gap:10px}.composer textarea{min-height:54px;resize:vertical}.button{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:0 18px;font-weight:700;cursor:pointer}.button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:800px){.shell{grid-template-columns:1fr}.header h1{font-size:34px}}html{background:#f8fafc;text-size-adjust:100%}body,html{min-height:100%}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}input,select,textarea{font-size:16px!important}@media (display-mode:standalone){body{-moz-user-select:none;user-select:none;-webkit-user-select:none}input,select,textarea{-moz-user-select:text;user-select:text;-webkit-user-select:text}}@supports (padding:max(0px)){body{padding-top:max(env(safe-area-inset-top),0px);padding-right:max(env(safe-area-inset-right),0px);padding-left:max(env(safe-area-inset-left),0px)}}