@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Noto+Sans+SC:wght@400;500;700;900&display=swap');*{box-sizing:border-box}body{margin:0;background:#f4f5f2;color:#142820;font:16px 'Noto Sans SC',sans-serif}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;border-bottom:1px solid #dce2dd;position:sticky;top:0;z-index:2}.brand{font:bold 23px 'DM Mono';color:#163e2e;text-decoration:none;letter-spacing:-2px}.brand span{color:#f05f37}nav{display:flex;gap:28px}nav a{color:#486057;text-decoration:none}button{font:inherit;border:1px solid #173c2d;background:#fff;border-radius:100px;padding:10px 18px;cursor:pointer}.primary{background:#173c2d;color:#fff;border-color:#173c2d}main{max-width:1080px;margin:auto;padding:0 28px 80px}.intro{padding:100px 0 72px;max-width:760px}.eyebrow{font:12px 'DM Mono';letter-spacing:1px;color:#f05f37}.intro h1{font-size:clamp(44px,8vw,88px);line-height:1.05;letter-spacing:-5px;margin:12px 0}.intro em{color:#f05f37;font-style:normal}.intro>p:not(.eyebrow){font-size:19px;color:#4c6258;line-height:1.8;max-width:600px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px}.section-head h2,.composer h2{margin:0;font-size:24px}.section-head span{color:#708078;font-size:14px}.clubs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.club,.post{background:#fff;border:1px solid #dce2dd;border-radius:16px;padding:22px}.club h3{margin:0 0 10px}.club p{color:#5a7066;line-height:1.6}.club small{font:12px 'DM Mono';color:#f05f37}.feed{margin-top:65px;max-width:760px}.post{margin-bottom:12px}.post h3{font-size:20px;margin:7px 0}.post p{white-space:pre-wrap;color:#486057;line-height:1.65}.meta{font-size:13px;color:#77877f}.composer{margin-top:70px;background:#dceae3;padding:28px;border-radius:18px;max-width:760px;display:grid;gap:12px}input,textarea,select{font:inherit;border:1px solid #bdccc3;border-radius:10px;padding:12px;background:#fff;width:100%}textarea{min-height:130px}dialog{border:0;border-radius:18px;padding:28px;width:min(400px,90vw);box-shadow:0 20px 60px #173c2d55}dialog::backdrop{background:#173c2d66}dialog input{margin:5px 0}.close{float:right;border:0;font-size:24px;padding:0}#hint,#authHint{min-height:20px;color:#d04d2e;font-size:14px}@media(max-width:650px){header{padding:0 20px}nav{display:none}main{padding:0 20px}.intro{padding:65px 0 42px}.clubs{grid-template-columns:1fr}.intro h1{letter-spacing:-3px}}
