:root{font-family:system-ui,-apple-system,sans-serif;color:#140f0c;background:#fff8e6}*{box-sizing:border-box}body{margin:0}.demo{background:#9b3d0a;color:white;text-align:center;padding:10px;font-size:12px;letter-spacing:.04em}.app{display:grid;grid-template-columns:260px 1fr;max-width:1300px;margin:auto;height:calc(100dvh - 36px)}aside{padding:36px 25px;border-right:1px solid #e5cfab;display:flex;flex-direction:column;gap:8px}.brand{font-size:28px;text-decoration:none;color:inherit;line-height:1.1}.tagline,.small{color:#69513c;font-size:13px}.small{margin-top:auto;line-height:1.7}button{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:13px;text-align:left;background:transparent;color:inherit}button:hover{background:#f7e1bf}.selected{background:#f6d3a6;font-weight:650}h2{font-size:10px;letter-spacing:.15em;margin-top:28px;color:#69513c}#people{display:grid;gap:4px}main{display:flex;flex-direction:column;min-width:0;background:#fffaf0}header{display:flex;justify-content:space-between;align-items:center;padding:32px 40px;border-bottom:1px solid #eadcc2}.eyebrow{font-size:10px;letter-spacing:.15em;color:#69513c}h1{font-size:28px;letter-spacing:-.04em;margin:8px 0}header p{color:#69513c;margin:0;font-size:14px}.badge{background:#fae097;border-radius:20px;padding:7px 13px;font-size:12px}#messages{overflow:auto;flex:1;padding:28px 40px}.message{display:flex;gap:12px;margin-bottom:24px}.avatar{width:40px;height:40px;border-radius:14px;background:#fae097;display:grid;place-items:center;flex-shrink:0}.meta{font-size:12px;color:#69513c;margin-bottom:6px}.meta strong{color:#140f0c;margin-right:10px}.bubble{background:#f8ecd5;border-radius:0 14px 14px 14px;padding:13px 16px;line-height:1.55;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.mine .bubble{background:#f6dfbe}.filepreview{display:block;max-width:220px;max-height:180px;margin-top:10px;border-radius:10px}#composer{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 32px;padding:12px;border:1px solid #d5b38d;border-radius:18px;background:white}textarea{flex:1;min-width:0;border:0;resize:none;font:inherit;padding:8px;background:transparent;color:inherit}textarea:focus{outline:0}.attach{cursor:pointer;font-size:26px;padding:0 7px}#file{display:none}.send{background:#9b3d0a;color:white;text-align:center}.send:hover{background:#763008}#attachment{width:100%;font-size:12px;margin:0;color:#69513c}footer{font-size:11px;text-align:center;padding:14px;color:#69513c}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:1px solid #ddd;border-radius:24px;padding:26px;max-width:520px;width:90%;box-shadow:0 20px 90px #0003}dialog::backdrop{background:#140f0c77}#close{float:right}dialog p,dialog li{line-height:1.6}dialog input{font:inherit;padding:10px;width:100%;margin:10px 0;border:1px solid #bbb;border-radius:8px}:focus-visible{outline:3px solid #9b3d0a;outline-offset:3px}@media(max-width:650px){.app{grid-template-columns:1fr;height:calc(100dvh - 50px)}aside{padding:12px 16px;display:block;border-right:0;border-bottom:1px solid #ddd}.brand{font-size:18px}.brand br{display:none}.tagline,aside h2,.small{display:none}aside button{padding:8px;font-size:12px}#people{display:inline-flex}#admin,#install{font-size:11px}.channel{margin-top:8px}header{padding:18px 20px}h1{font-size:23px}#messages{padding:22px 16px}#composer{margin:0 12px}.demo{font-size:10px}.eyebrow{font-size:9px}}

.brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.clan-logo{display:block;width:172px;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px}.selected{border-left:3px solid #9b3d0a}.send{font-weight:650}.badge{color:#140f0c}@media(max-width:650px){.brand{flex-direction:row;align-items:center;gap:12px}.clan-logo{width:76px;height:76px;flex-shrink:0}.brand span{font-size:23px}.brand span br{display:block}.app{height:auto;min-height:calc(100dvh - 50px)}main{min-height:65dvh}#messages{max-height:50dvh}.selected{border-left:3px solid #9b3d0a}}

.meeting{margin:18px 32px 0;padding:16px 20px;background:#f8ecd5;border:1px solid #e5cfab;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.meeting strong{display:block;margin-top:6px;font-size:17px}.meeting p{margin:5px 0;font-size:13px;line-height:1.5}.meeting a{color:#763008;font-size:12px;font-weight:650;white-space:nowrap}@media(max-width:650px){.meeting{margin:12px 12px 0;padding:14px;display:block}.meeting a{display:inline-block;margin-top:6px}}

.tross-tiny{display:inline-block;width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-left:7px;pointer-events:none}.header-extra{display:flex;align-items:center;gap:12px;flex-shrink:0}.tross-peek{display:block;width:64px;height:64px;object-fit:contain;pointer-events:none}.tross-peek[hidden]{display:none}@media(max-width:650px){.tross-tiny{width:20px;height:20px;margin-left:4px}.tross-peek{width:42px;height:42px}.header-extra{gap:6px}header>div:first-child{min-width:0}h1{overflow-wrap:anywhere}}

/* Shared logo lockup: the label sits under the image, centered on its width. */
.brand{width:172px;flex-direction:column;align-items:center;text-align:center;gap:12px}
.brand span{display:block;width:100%;text-align:center}
@media(max-width:650px){.brand{width:76px;flex-direction:column;align-items:center;gap:7px}.brand span{font-size:18px;width:100%;text-align:center}}

/* Use licensed fonts installed on the visitor's device; no font files distributed. */
.brand span{font-family:"Brush Script MT","Segoe Print","Bradley Hand",cursive;font-size:38px;line-height:1.2;letter-spacing:.035em;color:#140f0c}
.brand span strong{font-weight:400}
@media(max-width:650px){.brand span{font-size:25px;letter-spacing:0;line-height:1.2}}

/* Transparent painted artwork, full canvas retained so drips are never clipped. */
.brand{width:180px;gap:4px}.cow-wordmark{display:block;width:180px;height:auto;max-width:none;flex-shrink:0;transform:translateX(-.2px);margin-bottom:4px}@media(max-width:650px){.brand{width:104px;gap:2px}.cow-wordmark{width:104px;height:auto;transform:translateX(-.1px);margin-bottom:6px}}

dialog .sharingcheck{width:auto;margin-right:8px}#directorylist a{color:#763008;overflow-wrap:anywhere}dialog label{display:block;margin-top:8px}dialog input:disabled{background:#f2eee6;color:#69513c}

[hidden]{display:none!important}.live-status{font-size:13px;color:#763008;margin:10px 32px}button:disabled{opacity:.65;cursor:default}

body.welcome-page{background:#5e351e;background-image:linear-gradient(#28160955,#28160977),url('assets/cozy-breakfast-background-v1.png');background-size:cover;background-position:center;background-attachment:fixed}.welcome-wrap{max-width:1120px;margin:auto;padding:24px}.welcome-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.welcome-nav .brand{background:#fff8e6ef;padding:14px;border-radius:18px;width:208px}.button-link{background:#fff8e6;color:#763008;text-decoration:none;padding:14px 18px;border-radius:12px;font-weight:650}.welcome-card{display:block;max-width:640px;padding:40px;border:1px solid #e5cfab;border-radius:24px;background:#fffaf0f7;box-shadow:0 16px 60px #190d0844}.welcome-card h1{font-size:42px;line-height:1.1}.welcome-intro{font-size:19px;line-height:1.65}.welcome-card h2{font-size:21px;letter-spacing:-.025em;color:#140f0c;margin-top:28px}.welcome-card p{line-height:1.65}.welcome-card a{color:#763008}.verse{padding:18px;border-left:3px solid #9b3d0a;background:#f8ecd5;border-radius:0 12px 12px 0}.verse strong{font-size:13px}.welcome-card label{display:block;font-weight:600;margin:14px 0 6px}.welcome-card input,.welcome-card textarea{width:100%;display:block;border:1px solid #b79776;background:white;border-radius:10px;padding:12px;font:inherit}.welcome-card button{margin-top:16px}.optional{font-weight:400;color:#69513c}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-note{font-size:13px;color:#69513c;border-top:1px solid #e5cfab;padding-top:20px}.demo-link{font-size:12px}.welcome-wrap footer{color:#fff8e6}.app{background:#fff8e6f2}body.member-page{background-image:linear-gradient(#28160944,#28160944),url('assets/cozy-breakfast-background-v1.png');background-size:cover;background-position:center;background-attachment:fixed}.member-page main{background:#fffaf0f7}.member-page aside{background:#fff8e6ed}@media(max-width:650px){.welcome-wrap{padding:16px}.welcome-nav .brand{width:124px;padding:10px}.welcome-nav{margin-bottom:18px}.button-link{font-size:13px;padding:12px}.welcome-card{padding:25px 20px}.welcome-card h1{font-size:33px}.welcome-intro{font-size:17px}body.welcome-page,body.member-page{background-attachment:scroll;background-position:62% top}}

.member-page main{background:linear-gradient(#fffaf0da,#fffaf0ef),url('assets/cozy-breakfast-background-v1.png') center/cover}.member-page header{background:#fffaf0e8}.member-page .bubble{background:#f8ecd5f5}.member-page .meeting{background:#f8ecd5f5}
