:root{--bg:#06110d;--surface:#0d2018;--panel:#11271d;--edge:#294638;--gold:#e6bd72;--gold2:#aa7a37;--text:#f3efe4;--muted:#a7b7aa;--danger:#efb0a1;--green:#91d1ae;--bubble:#1c4c38;--shadow:0 18px 55px #0007}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:15px system-ui,-apple-system,'Segoe UI',sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}a{color:var(--gold)}h1,h2,h3{font-family:Georgia,serif;font-weight:500;color:#f6d99d}p{line-height:1.55}small,.muted{color:var(--muted)}.hidden{display:none!important}.logo{object-fit:contain}.btn{border:1px solid #a78042;border-radius:12px;background:linear-gradient(120deg,#fbdea1,#d5a04f);color:#211809;font-weight:750;padding:13px 20px;display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:45px;text-decoration:none}.btn.secondary{background:#193529;border-color:#446551;color:var(--text)}.btn.ghost{background:transparent;color:var(--gold);border-color:#5b4c30}.btn.warn{background:#412523;color:#ffd9d1;border-color:#79514b}.btn.sm{padding:7px 11px;min-height:34px;font-size:12px}.btn:disabled{filter:grayscale(1)}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{color:#dbcda9;font-size:12px}.field input,.field textarea,.field select,.input{background:#071710;border:1px solid #42604c;border-radius:10px;color:var(--text);padding:12px;min-width:0;width:100%}.field input::placeholder,.field textarea::placeholder{color:#81988a}.field textarea{min-height:70px;resize:vertical}.error{color:#ffbdb2}.notice{background:#192b1e;border:1px solid #666038;color:#e8d9b7;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.55}.brand{font:500 35px Georgia,serif;color:var(--gold);letter-spacing:.12em}.eyebrow{text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.23em}.glass{background:#0a1e16ed;border:1px solid #574e31;border-radius:22px;box-shadow:var(--shadow)}
/* landing */.landing{min-height:100dvh;background:radial-gradient(ellipse at 80% 10%,#1b3927,transparent 44%),radial-gradient(ellipse at 12% 90%,#34301b,transparent 54%),#06110d;display:flex;flex-direction:column}.topbar{width:min(1130px,94%);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 0}.topbar .brand{font-size:23px}.topbar a{font-size:13px;text-decoration:none}.hero{max-width:1060px;width:94%;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:45px;padding:35px 0 90px}.hero h1{font-size:clamp(44px,6vw,81px);line-height:1.02;margin:12px 0 22px;letter-spacing:-.04em}.hero h1 em{color:var(--gold);font-style:normal}.hero p{max-width:540px;color:#bdcbbf}.hero-logo{width:min(390px,90%);filter:drop-shadow(0 0 42px #b78b292f)}.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero-foot{font-size:12px;color:#91a89a;margin:14px 0}.features{border-top:1px solid #3d5038;display:flex;flex-wrap:wrap;gap:20px 35px;padding-top:18px;margin-top:32px;color:#d2c4a8;font-size:12px}.install-tip{padding-top:10px;color:#d8d1bc;font-size:12px}
/* app shell */.appbody{height:100dvh;overflow:hidden}.appframe{height:100dvh;max-width:1650px;margin:auto;display:flex;flex-direction:column;background:#081912}.appbar{height:65px;border-bottom:1px solid var(--edge);display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:#0d2118;gap:10px}.appbar .brand{font-size:22px}.appbar .logo{width:43px;height:43px}.brandline{display:flex;align-items:center;gap:7px}.appcontent{flex:1;min-height:0;display:grid;grid-template-columns:360px minmax(0,1fr)}.sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--edge);background:#0b1d16}.tabrow{display:flex;gap:3px;padding:10px;border-bottom:1px solid var(--edge);overflow:auto}.tab{background:transparent;border:0;border-radius:9px;color:#b1c3b2;padding:10px;font-size:12px}.tab.active{background:#3b341f;color:#fce0a6}.sidebar-content{flex:1;overflow-y:auto;padding:10px}.listbtn{width:100%;border:0;border-bottom:1px solid #294034;background:none;color:var(--text);text-align:left;padding:14px 9px;display:flex;align-items:center;gap:11px}.listbtn:hover,.listbtn.selected{background:#17382a}.avatar{width:40px;height:40px;border-radius:50%;background:#344e3c;border:1px solid #977a41;color:#ffe7b2;display:grid;place-items:center;flex:none;font-weight:700}.listinfo{min-width:0;flex:1}.listinfo b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listinfo small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mainpane{min-height:0;min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 75% 80%,#102f20,transparent 60%),#091812}.welcome{margin:auto;max-width:350px;text-align:center;padding:30px}.welcome img{width:130px;height:130px;object-fit:contain}.chathead{border-bottom:1px solid var(--edge);padding:12px 15px;display:flex;align-items:center;gap:8px;min-height:62px}.chathead strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chathead .back{display:none}.messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:9px;padding:17px 25px;overscroll-behavior:contain}.message{align-self:flex-start;max-width:min(78%,540px);border-radius:13px 13px 13px 3px;background:#22322a;padding:10px 12px;word-break:break-word;line-height:1.5;font-size:13px}.message.mine{align-self:flex-end;background:var(--bubble);border-radius:13px 13px 3px 13px}.message .meta{display:flex;justify-content:flex-end;gap:8px;align-items:center;font-size:10px;color:#aec8b5;margin-top:6px}.message .sender{font-size:11px;color:#e8c581;font-weight:700}.message img,.message video{max-width:100%;width:280px;border-radius:8px}.message audio{max-width:100%;width:280px}.message a{overflow-wrap:anywhere}.compose-row{display:flex;align-items:center;gap:8px;border-top:1px solid var(--edge);padding:10px;background:#0b1e17}.compose-row textarea{flex:1;min-width:0;height:41px;max-height:116px;resize:vertical;background:#153426;color:var(--text);border:1px solid #42634b;border-radius:12px;padding:11px}.compose-row .btn{min-height:41px;padding:9px 14px}.card{border:1px solid var(--edge);border-radius:14px;background:#10261c;padding:17px;margin:12px 0}.card h3{margin:0 0 8px;font-size:24px}.panel-pad{padding:20px;max-width:560px;margin:auto;overflow:auto}.modal-backdrop{position:fixed;inset:0;background:#000a;display:grid;place-items:center;z-index:100;padding:16px}.modal{background:#0b2017;border:1px solid #a48a54;border-radius:18px;width:min(450px,100%);max-height:92dvh;overflow:auto;padding:23px}.modal h2{font-size:30px;margin:6px 0}.modal .buttons{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;margin-top:18px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#2e462e;border:1px solid #a88b4d;padding:13px 18px;border-radius:12px;z-index:201;max-width:90%;box-shadow:var(--shadow)}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse at center,#153d29,#06110d 70%)}.auth-card{width:min(445px,100%);padding:28px}.auth-logo{width:92px;display:block;margin:0 auto 7px}.auth-card h1{font-size:40px;text-align:center;margin:4px 0}.auth-card p{text-align:center;color:var(--muted);font-size:13px}.auth-card .btn{width:100%}.auth-card .btn.secondary{margin-top:8px}.auth-card footer{text-align:center;font-size:11px;color:#afab89;margin-top:17px}.view-only{padding:8px;color:#b7c2b6;font-size:11px}.admin-wrap{min-height:100dvh;padding:20px;background:#071610}.admin-container{max-width:1050px;margin:auto}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 27px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metrics .card strong{font-size:28px;color:var(--gold)}.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:17px;margin-top:16px}.numrow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b4538;padding:10px 0;gap:9px}.numrow .muted{display:block;font-size:11px}.readonly{opacity:.6}.admin-login{max-width:430px;margin:10vh auto;padding:26px}
@media(max-width:730px){.hero{grid-template-columns:1fr;text-align:center;padding-top:25px}.hero-logo{width:180px;order:-1}.hero p{margin:auto}.hero .cta{justify-content:center}.hero .features{justify-content:center}.topbar{padding:17px 0}.appbar{height:55px;padding:5px 12px}.appcontent{grid-template-columns:1fr}.sidebar{grid-row:1;grid-column:1}.mainpane{grid-row:1;grid-column:1;display:none}.appframe.thread-open .sidebar{display:none}.appframe.thread-open .mainpane{display:flex}.chathead .back{display:inline-flex}.messages{padding:12px}.message{max-width:88%}.compose-row{gap:5px;padding:7px}.compose-row .btn{padding:8px}.admin-wrap{padding:10px}.metrics{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.admin-header{flex-wrap:wrap}}
@media(display-mode:standalone){.landing .topbar{padding-top:max(20px,env(safe-area-inset-top))}.appbar{padding-top:max(5px,env(safe-area-inset-top))}.compose-row{padding-bottom:max(7px,env(safe-area-inset-bottom))}}
