:root{color-scheme:dark;--bg:#080d19;--panel:#111a2b;--line:#26344d;--text:#eef4ff;--muted:#9eacc4;--mint:#9ef5d0;--blue:#b5c6ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#1a2947 0%,var(--bg) 55%);color:var(--text);font:16px/1.55 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.top{max-width:1120px;margin:auto;height:76px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand{color:var(--text);text-decoration:none;font-weight:850;letter-spacing:.14em;font-size:14px}.brand:first-letter{color:var(--mint)}.admin-link,.small a{color:var(--muted);text-decoration:none;font-size:12px}.shell{max-width:900px;margin:0 auto;padding:65px 24px 50px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.19em;color:var(--mint)}h1{font-size:clamp(42px,8vw,78px);line-height:1.02;letter-spacing:-.06em;margin:20px 0}h1 span{color:var(--mint)}.lead{max-width:680px;color:var(--muted);font-size:18px;margin:0 0 32px}.card{border:1px solid var(--line);background:#10192aeb;border-radius:18px;padding:24px;margin:18px 0;box-shadow:0 20px 60px #0003}.card label{display:block;font-weight:700;font-size:13px;margin-bottom:14px}.card label small{font-weight:400;color:var(--muted)}input,textarea,select{width:100%;background:#080f1d;border:1px solid #35435e;border-radius:10px;color:var(--text);padding:13px;font:inherit;margin-top:7px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--mint)}button{border:0;border-radius:10px;padding:13px 17px;font:inherit;font-weight:750;cursor:pointer}.primary{background:var(--mint);color:#092018}.primary:disabled{opacity:.5;cursor:wait}.card>.primary{width:100%;display:flex;justify-content:space-between;align-items:center}.small{font-size:12px;color:#8b9ab4;margin:14px 0 0}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}.features>div{border-top:1px solid var(--line);padding-top:13px}.features b,.features small{display:block}.features b{font-size:13px}.features small{color:var(--muted);font-size:12px}.warning{border-left:2px solid #e5c77d;padding:5px 0 5px 15px;color:var(--muted);font-size:13px}.warning b{color:#e5d7ad}footer{text-align:center;padding:30px;color:#64728a;font-size:10px;letter-spacing:.14em}.pill{font-size:10px;color:var(--mint);letter-spacing:.16em}.room-shell{max-width:940px;margin:auto;padding:36px 22px 65px}.room-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.room-head h1{font-size:clamp(28px,4vw,42px);margin:8px 0}.status{font-size:12px;color:var(--mint);margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.secondary{background:#18243a;color:var(--text);border:1px solid var(--line)}.danger{background:#4c2634;color:#ffdce3;border:1px solid #814454}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#0d1525}.toolbar label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}.toolbar select{width:auto;min-width:130px;margin:0;padding:8px}.file-label{cursor:pointer;background:#17243a;border-radius:8px;padding:8px 10px;color:var(--text)!important}.file-label input{position:absolute;width:1px;height:1px;opacity:0}.files{display:flex;gap:8px;flex-wrap:wrap}.file-item{font-size:12px;background:#17243a;color:var(--blue);border:1px solid var(--line);margin-bottom:6px}.messages{height:min(49vh,500px);min-height:230px;overflow:auto;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:15px;background:#080f1bd9}.message{max-width:88%;padding:12px 14px;margin:0 0 11px;border-radius:12px;background:#17243a;border:1px solid #2a3953;overflow-wrap:anywhere}.message p{margin:0;white-space:pre-wrap}.message time{display:block;font-size:10px;color:var(--muted);margin-top:7px}.composer{display:flex;gap:10px}.composer textarea{resize:vertical;min-height:52px;max-height:160px;margin:0}.composer .primary{align-self:stretch}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats .card{margin:0}.stats small,.stats strong{display:block}.stats small{color:var(--muted)}.stats strong{font-size:30px;color:var(--mint)}.error{color:#ffb9c4}@media(max-width:650px){.shell{padding:44px 17px}.features,.stats{grid-template-columns:1fr}.features{gap:8px}.features>div{padding-top:9px}.room-shell{padding:26px 13px 45px}.room-head{align-items:flex-start;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.toolbar label{justify-content:space-between}.toolbar select{max-width:60%}.composer{flex-direction:column}.composer .primary{width:100%}.messages{height:48vh}.card{padding:19px}.top{padding:0 16px}}

/* Cryptveil v2.1 polished chat */
.chat-page{background:radial-gradient(ellipse at 50% -15%,#203457 0%,#090f1c 52%);min-height:100vh}
.chat-top{max-width:1180px}.top-status{font-size:10px;letter-spacing:.13em;color:#b9c8de;font-weight:800;display:flex;align-items:center;gap:8px}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7ff0be;box-shadow:0 0 12px #7ff0be80}
.room-shell{max-width:1050px;padding:34px 20px 55px}.room-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px}
.room-hero h1{font-size:clamp(30px,5vw,48px);margin:10px 0 7px}.room-hero h1 span{color:var(--mint)}
.room-actions{display:flex;gap:10px;flex-wrap:wrap}.big-btn{min-height:48px;padding:12px 19px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.chat-card{overflow:hidden;border:1px solid #30415d;border-radius:23px;background:linear-gradient(180deg,#111d31 0%,#0d1728 100%);box-shadow:0 28px 90px #0005}
.chat-card-head{display:flex;align-items:center;gap:13px;padding:20px 22px;border-bottom:1px solid #ffffff12}
.room-icon,.join-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#a0f6d6,#64c9b0);color:#08251d;font-size:23px;font-weight:900;box-shadow:0 8px 25px #62d8b030}
.room-heading{display:flex;flex-direction:column;gap:3px;flex:1}.room-heading strong{font-size:15px}.room-heading span{font-size:12px;color:var(--muted)}
.online-count{display:flex;align-items:center;gap:6px;background:#0b1423;border:1px solid #2a3a54;padding:9px 12px;border-radius:999px;color:#b7c6da;font-size:12px}.online-count strong{color:var(--mint)}
.people-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 22px;border-bottom:1px solid #ffffff0c}
.people-label{font-size:9px;letter-spacing:.15em;font-weight:850;color:#8193ad}.participant-list{display:flex;gap:7px;flex-wrap:wrap}
.participant-chip{font-size:11px;color:#cbd8e9;border:1px solid #2b3b55;background:#152238;border-radius:999px;padding:5px 10px}.participant-chip.self{color:#a4f5d8;border-color:#397d6b;background:#12352e}
.toolbar{margin:0;padding:14px 22px;border:0;border-bottom:1px solid #ffffff0c;border-radius:0;background:#0c1627;display:flex;justify-content:space-between;gap:12px}
.toolbar label{display:flex;align-items:center;gap:10px;color:#b5c4d9;font-size:12px}.toolbar select{min-width:135px;margin:0;padding:9px 12px;border-radius:9px;background:#111f33}
.file-label{cursor:pointer;background:#1a2940;border:1px solid #30435f;border-radius:10px;padding:10px 13px;color:#e8f1ff!important;font-weight:750}
.files{padding:8px 22px 0;background:#0b1423}.file-item{font-size:12px;background:#172942;color:#b9f4dd;border:1px solid #36516f;border-radius:9px;padding:10px 13px;margin:0 7px 6px 0}
.messages{height:min(48vh,510px);min-height:300px;margin:0;padding:24px;background:radial-gradient(ellipse at 50% 0%,#14233a 0%,#0b1423 68%);border:0;border-radius:0;scroll-behavior:smooth}
.message{max-width:82%;padding:13px 16px;margin:0 0 14px;border-radius:5px 16px 16px 16px;background:#182842;border:1px solid #2b3f5d;box-shadow:0 6px 16px #0002}
.message.mine{margin-left:auto;background:linear-gradient(135deg,#164d43,#153c3a);border-color:#2a7969;border-radius:16px 5px 16px 16px}
.message-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:6px}.message-head strong{font-size:11px;color:#9ff0d4}.message.mine .message-head strong{color:#c6ffe9}.message-head time{font-size:10px;color:#8da0ba;white-space:nowrap}.message p{font-size:14px;line-height:1.6}
.empty-state{height:100%;min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#95a8c2;text-align:center}.empty-state strong{font-size:15px;color:#e1ebf8}.empty-state span{font-size:12px}.empty-orb{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:#19304a;color:var(--mint);font-size:27px;margin-bottom:5px}
.emoji-tray{display:flex;flex-wrap:wrap;gap:4px;padding:12px 18px;background:#0b1423;border-top:1px solid #263752}.emoji-tray[hidden]{display:none}.emoji-tray button{padding:7px 8px;background:#15243a;border:1px solid transparent;font-size:21px;line-height:1.1;border-radius:9px}.emoji-tray button:hover{border-color:#69cdb0;background:#1b3547}
.composer{padding:15px 17px;gap:10px;align-items:flex-end;background:#0b1423}.composer textarea{min-height:52px;max-height:140px;padding:15px 16px;border-radius:15px;background:#101e32;border-color:#30425d;font-size:14px;line-height:1.5}.tool-btn{width:52px;height:52px;flex:0 0 52px;padding:0;background:#1a2940;border:1px solid #344965;color:#fff;font-size:23px;border-radius:15px}.send-btn{height:52px;min-width:105px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#a3f7d9,#6bd6b6);color:#08271e;border-radius:15px;box-shadow:0 7px 20px #5ed9b42b}.send-btn b{font-size:18px}.send-btn:disabled{opacity:.5}
.composer-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 22px 17px;background:#0b1423;color:#7186a3;font-size:10px}.room-note{text-align:center;margin-top:15px}
.join-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#050a14d9;backdrop-filter:blur(12px);transition:opacity .2s}.join-overlay.hidden{display:none}
.join-modal{width:min(100%,460px);padding:32px;border-radius:25px;border:1px solid #354b68;background:linear-gradient(145deg,#172740,#0d1728);box-shadow:0 35px 100px #0008;display:flex;flex-direction:column;align-items:stretch}
.join-mark{margin-bottom:21px;width:54px;height:54px;font-size:28px}.join-modal .eyebrow{font-size:9px}.join-modal h2{font-size:29px;line-height:1.2;letter-spacing:-.04em;margin:12px 0 8px}.join-modal p{font-size:13px;line-height:1.6;color:#a6b5ca;margin:0 0 23px}.join-modal label{font-size:12px;font-weight:800;margin-bottom:7px}.name-control{display:flex;gap:8px}.name-control input{margin:0;min-width:0;font-size:15px;padding:14px}.name-control button{min-width:54px;font-size:20px}.start-btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:53px;margin-top:17px;padding:14px 17px}.join-note{font-size:10px;text-align:center;color:#8497b2;margin-top:14px}.success{padding:12px 15px;border-radius:12px;background:#12392f;color:#b3f9dc}
@media(max-width:700px){.room-shell{padding:23px 10px 35px}.room-hero{align-items:flex-start;flex-direction:column}.room-actions{width:100%}.room-actions button{flex:1}.chat-card{border-radius:17px}.chat-card-head{padding:15px}.people-row{padding:12px 14px}.toolbar{padding:12px 13px;align-items:stretch;flex-direction:column}.toolbar label{justify-content:space-between}.toolbar select{max-width:62%}.file-label{justify-content:center!important}.messages{height:48vh;min-height:250px;padding:16px 12px}.message{max-width:92%}.composer{padding:12px 10px;gap:7px}.tool-btn{width:44px;height:48px;flex-basis:44px;font-size:21px}.send-btn{min-width:70px;height:48px;padding:0 13px}.send-btn span{display:none}.composer textarea{min-height:48px;padding:12px;font-size:13px}.composer-foot{padding:0 13px 14px;font-size:9px}.join-modal{padding:25px 21px}.join-modal h2{font-size:25px}.top-status{font-size:8px;letter-spacing:.07em}}

/* Homepage room creator — refined, intentional form layout */
.create-card{position:relative;isolation:isolate;overflow:hidden;margin:28px 0 22px;padding:28px 30px 22px;border-radius:23px;border:1px solid #344663;background:linear-gradient(135deg,rgba(20,33,54,.98),rgba(12,22,38,.98));box-shadow:0 24px 70px #0004, inset 0 1px 0 #ffffff08}
.create-card:before{content:"";position:absolute;z-index:-1;top:-100px;right:-65px;width:230px;height:230px;border-radius:50%;background:#8ff0ce0a;filter:blur(2px);pointer-events:none}
.create-card-head{display:flex;align-items:center;gap:15px;margin-bottom:25px}
.create-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #8ff0ce30;border-radius:15px;background:linear-gradient(145deg,#a0f5d51e,#76d7bd0a);color:var(--mint);font-size:24px;box-shadow:inset 0 1px 0 #ffffff0b}
.create-card-head h2{font-size:18px;letter-spacing:-.025em;line-height:1.25;margin:0 0 5px;color:#f0f5ff}
.create-card-head p{font-size:12px;line-height:1.55;color:#91a3bd;margin:0}
.field-block{margin-bottom:18px}
.field-block>label{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.13em;font-weight:850;color:#d7e3f5;margin:0 0 9px}
.field-block>label span{font-size:9px;letter-spacing:.08em;font-weight:700;color:#8fa3bd;border:1px solid #34445c;border-radius:5px;padding:2px 6px}
.input-wrap{position:relative;display:flex;align-items:center}
.input-symbol{position:absolute;left:16px;color:#91a8c5;font-size:17px;pointer-events:none}
.create-card .input-wrap input{height:55px;margin:0;padding:0 16px 0 44px;border-radius:12px;border:1px solid #344761;background:#091321;color:#f0f5ff;font-size:14px;box-shadow:inset 0 1px 3px #0002;transition:border-color .18s,box-shadow .18s,background .18s}
.create-card .input-wrap input::placeholder{color:#71839e}
.create-card .input-wrap input:focus{border-color:#7fe4c4;background:#0b1828;box-shadow:0 0 0 4px #8ff0ce13;outline:none}
.field-hint{display:block;margin-top:7px;font-size:11px;color:#8193ad}
.create-card .create-button{width:100%;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px 13px 20px;border-radius:13px;background:linear-gradient(105deg,#a3f5d7,#83e8c8);color:#08251e;text-align:left;box-shadow:0 9px 24px #62d8b022,inset 0 1px 0 #ffffff70;transition:transform .18s,box-shadow .18s,filter .18s}
.create-card .create-button:hover{transform:translateY(-1px);filter:saturate(1.06);box-shadow:0 13px 28px #62d8b033,inset 0 1px 0 #ffffff80}
.create-card .create-button:active{transform:translateY(0)}
.create-card .button-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.create-card .button-copy strong{font-size:14px;line-height:1.3;font-weight:850}
.create-card .button-copy small{font-size:11px;font-weight:550;color:#245b4c;line-height:1.35}
.create-card .button-arrow{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:10px;background:#062b2110;border:1px solid #062b211a;font-size:22px;transition:transform .18s}
.create-card .create-button:hover .button-arrow{transform:translate(2px,-2px)}
.create-card .create-button:disabled{transform:none;filter:grayscale(.15);opacity:.75;cursor:wait}
.privacy-note{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px;color:#9aabc2;font-size:10px;line-height:1.5}
.privacy-note>span{font-size:9px;color:var(--mint)}.privacy-note i{display:block;width:3px;height:3px;border-radius:50%;background:#60738d}
@media(max-width:650px){.create-card{padding:22px 18px 18px;border-radius:19px;margin:23px 0 18px}.create-card-head{align-items:flex-start;gap:12px;margin-bottom:22px}.create-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px;font-size:21px}.create-card-head h2{font-size:17px}.create-card-head p{font-size:11px}.create-card .input-wrap input{height:52px}.create-card .create-button{min-height:62px;padding:12px 13px 12px 15px}.create-card .button-copy strong{font-size:13px}.create-card .button-copy small{font-size:10px}.privacy-note{gap:7px;font-size:9px}}
