@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{font-family:Inter,system-ui,sans-serif;color:#17253c;background:#f4f7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#265ed0;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:11px;background:#265ed0;color:white;padding:12px 17px;font-weight:700}button:hover{filter:brightness(.94)}button.secondary{background:#e9eef8;color:#1c3c76}input,select,textarea{width:100%;border:1px solid #ccd5e4;border-radius:10px;padding:12px;background:white;color:#17253c}label{display:block;margin:12px 0 5px;font-weight:600;font-size:.9rem}.wrap{max-width:1140px;margin:auto;padding:24px}.nav{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px max(20px,calc((100vw - 1140px)/2));background:white;border-bottom:1px solid #e3e9f4;flex-wrap:wrap}.brand{font-size:1.15rem;font-weight:800;color:#173c8e}.navlinks{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hero{padding:76px 0 62px;max-width:770px}.hero h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.1;margin:0 0 18px}.lead{font-size:1.15rem;line-height:1.65;color:#51617a}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid #e0e7f3;border-radius:18px;padding:23px;box-shadow:0 5px 22px #18315c0a}.card h2,.card h3{margin-top:0}.section{padding:38px 0}.muted{color:#66758d}.small{font-size:.88rem}.form{max-width:650px;margin:30px auto}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.footer{border-top:1px solid #dce5f2;padding:24px;text-align:center;color:#6c7a90}.shell{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:calc(100dvh - 64px)}.sidebar{background:white;border-right:1px solid #e2e8f2;padding:20px}.sidebar a{display:block;padding:12px;border-radius:9px;color:#263f67}.sidebar a:hover{background:#edf3ff}.main{padding:25px;min-width:0}.list{display:grid;gap:10px}.discussion{display:block;padding:16px;border-radius:12px;border:1px solid #e0e7f3;background:white;color:#23344e}.discussion:hover{background:#f0f5ff}.chat{display:flex;flex-direction:column;height:calc(100dvh - 135px);min-height:360px}.chatlog{flex:1;overflow:auto;padding:14px;background:#fff;border-radius:14px;border:1px solid #e2e8f2}.bubble{padding:12px 15px;background:#eef3fd;border-radius:13px;margin:10px 0;max-width:min(85%,620px);overflow-wrap:anywhere}.bubble.mine{margin-left:auto;background:#dce9ff}.bubble small{display:block;color:#68778e;margin-bottom:5px}.compose{display:flex;gap:8px;padding-top:12px}.compose input{flex:1;min-width:0}.notice{padding:12px;background:#fff2d5;border-radius:10px;color:#63460b;margin:15px 0}.error{color:#b02c39}.success{color:#197a46}.hidden{display:none!important}ul{line-height:1.9}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.shell{grid-template-columns:1fr}.sidebar{display:flex;overflow-x:auto;gap:6px;padding:8px;border-right:0;border-bottom:1px solid #e2e8f2}.sidebar a{white-space:nowrap}.main{padding:14px}.chat{height:calc(100dvh - 190px)}}@media(max-width:540px){.grid{grid-template-columns:1fr}.wrap{padding:16px}.nav{padding:12px 16px}.hero{padding:45px 0}.actions>*{flex:1;text-align:center}.card{padding:17px}.compose button{padding:12px}.navlinks{font-size:.9rem}}

.upload-button{display:grid;place-items:center;padding:10px 13px;background:#e9eef8;border-radius:11px;cursor:pointer;font-size:1.3rem}.attached{max-width:100%;max-height:300px;object-fit:contain;display:block;border-radius:8px;margin-top:8px}.members{max-height:360px;overflow:auto}.member{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e3e9f4;padding:10px}.member input{width:auto}.secret{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef3fd;padding:12px;border-radius:10px}.compose{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:450px){.chat{height:calc(100dvh - 150px)}.navlinks{gap:8px}.compose input{padding:10px 7px}.wrap{padding:10px}}

.push-banner{position:fixed;z-index:9999;bottom:16px;left:50%;transform:translateX(-50%);width:min(94vw,600px);background:#142449;color:#fff;border-radius:16px;padding:14px;display:flex;gap:10px;align-items:center;box-shadow:0 8px 30px #0005;flex-wrap:wrap}.push-banner span{flex:1 1 200px}.push-banner button{width:auto;min-width:95px}@media(max-width:600px){.push-banner{bottom:calc(12px + env(safe-area-inset-bottom));left:3vw;transform:none;width:94vw}}
