*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{color:#2d2d2d;-webkit-font-smoothing:antialiased;background:#f5f4f2;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}button{cursor:pointer;font:inherit}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{font:inherit}a{color:inherit;text-decoration:none}.login{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login h1{color:#1a1a1a;text-align:center;margin-bottom:1.5rem;font-size:1.35rem;font-weight:600}.login input[type=password]{background:#fff;border:1px solid #d0cec9;border-radius:6px;outline:none;width:100%;max-width:360px;margin-bottom:.75rem;padding:.65rem .85rem;font-size:.95rem}.login input[type=password]:focus{border-color:#8c6a50;box-shadow:0 0 0 3px #8c6a5026}.login button[type=submit]{color:#fff;background:#8c6a50;border:none;border-radius:6px;width:100%;max-width:360px;padding:.65rem;font-size:.95rem;font-weight:600;transition:background .15s}.login button[type=submit]:hover:not(:disabled){background:#7a5c43}.login .err{color:#b84040;margin-top:.75rem;font-size:.875rem}.editor{flex-direction:column;height:100vh;display:flex;overflow:hidden}.editor header{background:#fff;border-bottom:1px solid #e0ddd8;flex-shrink:0;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.editor header strong{color:#1a1a1a;flex:1;font-size:.95rem;font-weight:600}.editor header .role{color:#888;white-space:nowrap;background:#f0ede8;border-radius:999px;padding:.2rem .65rem;font-size:.75rem}.editor header button{color:#fff;background:#8c6a50;border:none;border-radius:6px;padding:.45rem 1.1rem;font-size:.875rem;font-weight:600;transition:background .15s}.editor header button:hover:not(:disabled){background:#7a5c43}.cols{flex:1;display:flex;overflow:hidden}.chat{background:#faf9f7;border-right:1px solid #e0ddd8;flex-direction:column;flex-shrink:0;width:420px;display:flex;overflow:hidden}.msgs{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.msg{word-break:break-word;border-radius:14px;max-width:82%;padding:.55rem .85rem;font-size:.875rem;line-height:1.45}.msg.assistant{color:#2d2d2d;background:#fff;border:1px solid #e0ddd8;border-bottom-left-radius:4px;align-self:flex-start}.msg.user{color:#fff;background:#8c6a50;border-bottom-right-radius:4px;align-self:flex-end}.composer{background:#fff;border-top:1px solid #e0ddd8;align-items:center;gap:.4rem;padding:.6rem .75rem;display:flex}.composer input[type=text],.composer input:not([type=file]){background:#faf9f7;border:1px solid #d0cec9;border-radius:6px;outline:none;flex:1;padding:.5rem .7rem;font-size:.875rem}.composer input:focus{border-color:#8c6a50;box-shadow:0 0 0 3px #8c6a501f}.composer .upload{cursor:pointer;background:#f0ede8;border:1px solid #d0cec9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;transition:background .15s;display:flex}.composer .upload:hover{background:#e5e0d8}.composer button{color:#fff;background:#8c6a50;border:none;border-radius:6px;flex-shrink:0;padding:.45rem .9rem;font-size:.875rem;font-weight:600;transition:background .15s}.composer button:hover:not(:disabled){background:#7a5c43}.versions{color:#666;background:#faf9f7;border-top:1px solid #e0ddd8;font-size:.8rem}.versions summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:#555;padding:.5rem .75rem;font-weight:500}.versions summary:hover{color:#2d2d2d}.ver{border-top:1px solid #ede9e4;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .75rem;display:flex}.ver span{font-variant-numeric:tabular-nums;color:#777;font-size:.78rem}.ver button{color:#555;white-space:nowrap;background:0 0;border:1px solid #c8c0b8;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;transition:background .12s,color .12s}.ver button:hover:not(:disabled){color:#fff;background:#8c6a50;border-color:#8c6a50}.preview{flex:1;display:flex;overflow:hidden}.preview iframe{border:none;width:100%;height:100%;display:block}
