@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#393e35;background:#f6f2eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.shell{max-width:1440px;min-height:100dvh;margin:auto;display:grid;grid-template-columns:43% 57%;padding:32px;gap:40px}aside{padding:18px 36px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:24px;font-weight:600;text-decoration:none;color:inherit;letter-spacing:-1px}.mark{background:#e2e5d8;border-radius:14px;padding:6px 13px;font-size:32px}.intro{margin:auto 0}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#7c806c}h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(44px,4.5vw,70px);font-weight:400;line-height:1.08;letter-spacing:-1.6px;margin:26px 0}.intro p{font-size:14px;line-height:1.9;color:#838477;max-width:280px}.illustration{height:185px;max-width:340px;position:relative;margin:38px 0 16px;overflow:hidden;border-radius:170px 170px 18px 18px;background:#eee9df}.sun{position:absolute;width:55px;height:55px;background:#d9ad82;border-radius:50%;top:30px;left:75px}.hill{position:absolute;width:350px;height:180px;border-radius:50%;bottom:-105px}.one{background:#b7bda4;left:-65px;transform:rotate(15deg)}.two{background:#8e9b80;right:-120px;bottom:-100px;transform:rotate(-15deg)}.house{position:absolute;left:145px;bottom:25px;background:#f6f2eb;width:62px;height:58px;text-align:center;padding-top:16px;color:#b27e69;font-size:24px}.house:before{content:'';position:absolute;top:-25px;left:-8px;border-left:39px solid transparent;border-right:39px solid transparent;border-bottom:28px solid #b27e69}footer{font-size:11px;color:#8c8e80;padding-top:25px}.panel{background:#fffdf9;border:1px solid #e9e5dc;border-radius:24px;box-shadow:0 16px 60px #4a443506;display:flex;flex-direction:column;min-height:calc(100dvh - 64px);overflow:hidden}header{padding:26px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeebe3}header h2{font-size:16px;font-weight:500;margin:0}header h2 span{color:#b28b75;margin-left:7px}header p{font-size:11px;color:#8a8d7f;margin:7px 0 0}.quiet{background:transparent;border:0;color:#6e795e;font-size:12px;padding:10px}.quiet:hover{text-decoration:underline}#login{width:100%;max-width:390px;padding:40px 32px;margin:auto; text-align:center}.welcome{color:#b48c6a;background:#f3ece0;width:48px;height:48px;border-radius:50%;font-size:34px;line-height:48px;margin:auto}#login h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;font-weight:400;margin:18px 0 10px}#login p{font-size:12px;line-height:1.8;color:#898b7e}#login-form{text-align:left;margin-top:26px}label{display:block;font-size:11px;font-weight:500;margin:16px 0 7px}input{width:100%;border:1px solid #e3e2d9;border-radius:9px;background:#fffefa;padding:12px 13px;color:#393e35;font-size:12px}input:focus,textarea:focus{outline:2px solid #8a9977;outline-offset:2px}.primary{border:0;background:#6c7b5b;color:white;border-radius:9px;padding:13px 17px;width:100%;margin-top:22px;text-align:left;font-size:12px}.primary span{float:right}.primary:hover,.send:hover{background:#566549}#login .privacy{font-size:10px;margin-top:20px}#setup{padding:8px;border:1px dashed #cfcebf;border-radius:9px;margin-top:15px}#chat{flex:1;display:flex;flex-direction:column;min-height:0}.room-note{font-size:10px;color:#9b9c8f;text-align:center;padding:21px}#messages{flex:1;min-height:220px;max-height:calc(100dvh - 310px);overflow:auto;padding:10px 28px 24px;display:flex;flex-direction:column;gap:18px}.empty{text-align:center;color:#8a8d7f;margin:auto;font-size:13px;line-height:1.8}.message{max-width:85%;align-self:flex-start}.message.mine{align-self:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:15px 15px 15px 4px;background:#f0eee7;padding:12px 16px;font-size:13px;line-height:1.65}.mine .bubble{background:#dde4d3;border-radius:15px 15px 4px 15px}.meta{font-size:9px;color:#8d9082;margin:6px 3px}.mine .meta{text-align:right}#compose{margin:8px 24px 0;display:flex;gap:10px;align-items:flex-end;border:1px solid #e5e4db;border-radius:14px;padding:10px;background:#fffefa}textarea{flex:1;resize:none;max-height:120px;border:0;background:transparent;line-height:1.6;padding:6px;min-width:0;color:inherit;font-size:13px}.send{border:0;border-radius:10px;background:#6c7b5b;color:white;font-size:24px;width:36px;height:36px}.hint{font-size:9px;color:#9b9d91;text-align:center;padding-bottom:14px}#error{font-size:12px;color:#a2503c;text-align:center;padding:0 24px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.shell{display:block;padding:12px;min-height:100dvh}aside{padding:8px 10px 20px}.brand{font-size:20px}.mark{font-size:24px;padding:3px 10px}.intro,footer{display:none}.panel{min-height:calc(100dvh - 88px);border-radius:20px}header{padding:20px}#login{padding:30px}#messages{max-height:calc(100dvh - 320px);padding:10px 18px 20px}#compose{margin:8px 14px 0}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}.message{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
