:root{font-family:system-ui,-apple-system,sans-serif;color:#5c2340;background:#fff0f5}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#ffe1ed,#fff4f8 55%,#fff);min-height:100vh}header{display:flex;align-items:center;gap:15px;padding:15px max(18px,calc((100vw - 850px)/2));background:#a32b63;color:white;box-shadow:0 3px 20px #9d346444}header h1{font-size:1.5rem;margin:0}header span{font-size:.85rem;flex:1}main{max-width:850px;margin:auto;padding:18px}.panel{background:#fff;border:1px solid #f7c9dc;border-radius:22px;padding:22px;margin:18px 0;box-shadow:0 6px 25px #9d346414}h2{margin-top:0;color:#a32b63}form{display:grid;gap:12px;margin-top:18px}label{display:grid;gap:6px}input,select,textarea{width:100%;padding:12px;border:1px solid #e6a9c1;border-radius:12px;font:inherit;background:#fff}textarea{min-height:95px;resize:vertical}button{border:0;border-radius:12px;background:#b32f69;color:white;font:inherit;padding:12px 16px;cursor:pointer}button:hover{background:#8d1c4e}nav{display:flex;gap:7px;flex-wrap:wrap}nav button{flex:1;background:#d990ae;white-space:nowrap}nav button.active{background:#982254}.welcome{text-align:center;background:linear-gradient(135deg,#fff,#ffe2ee)}.big{font-size:2rem;font-weight:800;margin:10px}.inline{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.inline input{max-width:190px}.feed{display:grid;gap:12px;max-height:550px;overflow:auto}.message{background:#fff1f6;border-radius:16px;padding:13px;overflow-wrap:anywhere}.message.mine{background:#f8d8e6}.message .meta{font-size:.8rem;color:#945571;margin-bottom:7px}.message p{white-space:pre-wrap}.message img{max-width:100%;max-height:340px;border-radius:12px;display:block;margin-top:8px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.event{border-bottom:1px solid #f5c5d8;padding:10px 0}.event button{font-size:.75rem;padding:5px 9px;margin-left:8px}.small{font-size:.8rem;color:#93667c}#status{position:sticky;bottom:10px;background:#fff;border-radius:10px;text-align:center;padding:8px}#status:empty{display:none}[hidden]{display:none!important}@media(max-width:500px){.panel{padding:16px}header h1{font-size:1.15rem}nav button{font-size:.85rem;padding:11px 7px}}
