/* 隐匿对话: dark "cyber" look with comfortable reading and touch sizes.
   Base layout, then the cyber layer, then the ergonomics layer, then the
   parts only the real app has (members, host, QR, errors…). */
:root{color-scheme:dark;--bg:#050b12;--surface:#0a1420;--line:#1d2c3d;--text:#f1f5fa;--muted:#8b9bb0;--cyan:#13c8f6;--blue:#1975fa;--green:#3cddb0;--font:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:not-allowed;opacity:.4}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}::selection{background:#176fb0;color:white}.site-header{height:98px;max-width:1440px;margin:auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #142231;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;letter-spacing:-.7px;font-size:22px;font-weight:750}.brand b{color:var(--cyan)}.brand small{display:block;font-size:10px;letter-spacing:3.3px;color:#8da6be;margin-top:5px;font-weight:400}.brand-icon{border:2px solid var(--cyan);border-radius:13px;width:44px;height:44px;display:grid;place-items:center;color:var(--cyan);box-shadow:0 0 22px #0dbbfd1b;position:relative}.brand-icon:after{content:"";position:absolute;bottom:-6px;left:7px;width:8px;height:9px;border-left:2px solid var(--cyan);transform:skewY(-38deg);background:var(--bg)}.brand-icon svg{width:23px;height:23px}.site-header nav{display:flex;align-items:center;gap:29px}.nav-link{background:none;padding:9px 0;color:#a6b3c4;display:flex;align-items:center;gap:8px;font-size:13px}.nav-link:hover{color:var(--cyan)}.nav-link svg{width:17px;height:17px}.prototype-pill{border:1px solid #283749;border-radius:30px;font-size:10px;letter-spacing:1px;padding:6px 10px;color:#7b8b9d}.hero{position:relative;overflow:hidden;min-height:665px}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#050b12 1%,#050b12b0 35%,#050b1222 68%,#050b1288),linear-gradient(0deg,#050b12,transparent 35%,#050b1222 90%),url("assets/hero.webp") center 38%/cover no-repeat;opacity:.8}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 80%,#086df514,transparent 60%)}.hero-inner{max-width:1440px;margin:auto;padding:79px 64px 74px;position:relative;z-index:1;display:grid;grid-template-columns:1fr 398px;gap:70px;align-items:center}.eyebrow{color:#9ebad3;letter-spacing:2px;font-size:10px;display:flex;gap:10px;align-items:center}.live-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--green);box-shadow:0 0 8px #3cddb044;flex-shrink:0}h1{font-size:clamp(44px,4.5vw,68px);line-height:1.17;font-weight:750;letter-spacing:-2.5px;margin:27px 0 24px}h1 em{display:inline-block;font-style:normal;color:var(--cyan);font-size:.62em;letter-spacing:-1.7px;margin-top:13px;font-weight:650}.cyan{color:var(--cyan)}.hero-description{color:#acbbce;line-height:1.95;letter-spacing:.5px;font-size:15px}.hero-tags{display:flex;align-items:center;gap:23px;margin-top:27px;color:#c2d0df;font-size:11px}.hero-tags span{display:flex;align-items:center;gap:7px}.hero-tags svg{width:15px;height:15px;color:var(--cyan)}.hero-tags span:last-child{border-left:1px solid #314355;padding-left:23px}.hero-note{margin-top:50px;display:flex;gap:12px;align-items:center;font-size:11px;color:#70899e;letter-spacing:1px}.short-line{width:30px;height:1px;background:#385267}.entry-card{background:linear-gradient(145deg,#0e1b29f5,#07121fed);border:1px solid #2b4259;border-radius:20px;padding:27px 30px 21px;box-shadow:0 24px 60px #0006,0 0 60px #089cec09;backdrop-filter:blur(18px);position:relative}.entry-card:before{content:"";position:absolute;height:1px;width:50%;left:25%;top:-1px;background:linear-gradient(90deg,transparent,#6ebff0aa,transparent)}.entry-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.overline{font-size:9px;letter-spacing:1.8px;color:#7a94ac}.entry-card-top svg{width:19px;height:19px;color:#70bcdf}.tabs{padding:4px;background:#050e19;border:1px solid #172b40;border-radius:9px;display:flex;gap:4px}.tabs button{height:41px;flex:1;background:none;color:#8da2b8;border-radius:6px;font-size:13px}.tabs button.active{background:#19334a;color:#dceeff;box-shadow:0 2px 8px #0003}.entry-card h2{font-size:21px;letter-spacing:-.5px;margin:27px 0 9px;font-weight:650}.muted{color:var(--muted);line-height:1.8;font-size:12px;margin:0}form label{display:block;font-size:12px;font-weight:550;margin:26px 0 10px}.secret-input{display:flex;align-items:center;gap:11px;height:54px;padding:0 13px;background:#050e18;border:1px solid #2c4158;border-radius:9px;transition:.2s}.secret-input:focus-within{border-color:#139acf;box-shadow:0 0 0 3px #0d9bdd14}.secret-input>svg{color:#7da6c7;width:18px;height:18px}.secret-input input{width:100%;min-width:0;background:transparent;border:0;outline:none;color:white;font-size:13px;height:50px;letter-spacing:1px}.secret-input input:focus-visible{outline:none}.secret-input input::placeholder{color:#647c94;letter-spacing:0}.icon-button{background:transparent;display:grid;place-items:center;padding:6px;color:#839ab1;min-width:32px;min-height:32px}.icon-button svg{width:17px;height:17px}.input-hint{font-size:10px;color:#7e96ad;line-height:1.7;margin:10px 0 19px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;width:100%;padding:0 18px;border-radius:9px;background:linear-gradient(110deg,#0867eb,#208aff);color:white;font-size:13px;font-weight:600;box-shadow:0 7px 23px #0075f521;transition:filter .2s,transform .2s}.primary-button:hover{filter:brightness(1.14)}.primary-button:active{transform:translateY(1px)}.primary-button svg{width:18px;height:18px}.entry-meta{display:flex;align-items:center;justify-content:center;gap:7px;color:#a1b3c6;font-size:10px;margin:19px 0 21px}.entry-meta .live-dot{width:4px;height:4px}.card-divider{height:1px;background:#1a2c3d;margin-bottom:17px}.privacy-link{background:transparent;display:flex;align-items:center;gap:8px;width:100%;font-size:10px;color:#8ca8c0;padding:0}.privacy-link svg:first-child{color:#26b6e2;width:15px;height:15px}.privacy-link svg:last-child{margin-left:auto;width:13px;height:13px}.random-button{width:100%;text-align:left;padding:12px 0 0;color:#38bdf5;background:none;font-size:11px}.random-button span{float:right}.principles{max-width:1312px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #192b3d;border-radius:12px;background:linear-gradient(110deg,#0c1925,#08121c)}.principles article{display:flex;align-items:center;gap:16px;position:relative;padding:30px 26px;min-height:118px}.principles article+article{border-left:1px solid #1b2e40}.principle-number{font-family:Consolas,monospace;font-size:10px;color:#49667e;position:absolute;top:12px;right:15px}.principles svg{width:30px;height:30px;color:var(--cyan)}.principles h3{font-size:13px;font-weight:550;letter-spacing:.4px;margin:0 0 8px}.principles p{color:#8da2b6;font-size:10px;margin:0;line-height:1.7}footer{max-width:1440px;margin:auto;padding:35px 64px;display:flex;justify-content:space-between;align-items:center;color:#607890;font-size:10px;letter-spacing:.6px}footer button{background:none;color:#92aec4;font-size:10px;padding:8px 0}.footer-dot{margin:0 6px}footer button span{margin-left:8px;color:var(--cyan)}
/* Conversation */
body.in-chat .site-header{height:79px}.chat-shell{max-width:1370px;margin:26px auto 30px;display:grid;grid-template-columns:255px minmax(0,1fr);border:1px solid #213449;border-radius:16px;overflow:hidden;height:calc(var(--app-height,100dvh) - 135px);min-height:530px;background:#08121d}.room-sidebar{display:flex;flex-direction:column;padding:30px 24px;background:linear-gradient(150deg,#0d1b2a,#07131e);border-right:1px solid #1e3146}.sidebar-top{display:flex;align-items:center;justify-content:space-between}.mobile-close{display:none}.room-sidebar h2{font-size:15px;margin:20px 0 10px;display:flex;justify-content:space-between;align-items:center}.room-id{font-family:Consolas,monospace;font-size:11px;color:#6b9ec1;font-weight:400}.room-status{font-size:10px;color:#8eabbf;display:flex;gap:7px;align-items:center}.sidebar-divider{height:1px;background:#203246;margin:25px 0}.members-heading{font-size:11px;display:flex;justify-content:space-between;color:#8ea8bf}.members-heading b{color:#e4eef6;font-weight:500}.members-heading b span{color:#526b81}.members{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:17px}.members li{display:flex;gap:12px;align-items:center;color:#c5d4e3;font-size:11px}.avatar{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #24507a;border-radius:10px;font-size:10px;font-family:Consolas,monospace;flex-shrink:0;font-weight:600}.avatar-blue{color:#64beff;background:#123762;border-color:#246aa5}.avatar-green{color:#70e9ba;background:#133b34;border-color:#276859}.avatar-violet{color:#b6a5f0;background:#29283f;border-color:#514875}.members small{font-size:9px;border:1px solid #2a415a;border-radius:3px;color:#8badc8;padding:2px 4px;margin-left:5px}.member-online{width:4px;height:4px;background:var(--green);border-radius:50%;margin-left:auto}.sidebar-note{font-size:9px;line-height:1.8;color:#7791a8;margin:20px 0 26px}.sidebar-actions{display:grid;gap:10px}.secondary-button{width:100%;min-height:43px;background:#102338;border:1px solid #28435e;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#c4d7e8;padding:10px 15px}.secondary-button:hover{background:#17314b}.secondary-button svg{width:14px;height:14px;color:#69b9e6}.sidebar-bottom{margin-top:auto;padding-top:35px}.mini-shield{color:#6cb8e2;font-size:10px;display:flex;align-items:center;gap:6px}.mini-shield svg{width:14px;height:14px}.sidebar-bottom p{font-size:10px;line-height:1.9;color:#788fa4}.leave-button{background:transparent;border:1px solid #2d3e50;color:#a2b2c3;width:100%;height:41px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;font-size:10px;margin-top:21px}.leave-button svg{width:15px;height:15px}.conversation{display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(ellipse at 95% 5%,#0c213520,transparent 50%),#07111c}.conversation-header{min-height:82px;padding:18px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #192b3d;gap:15px}.conversation-header>div{display:flex;align-items:center;gap:12px}.conversation-header h2{font-size:15px;font-weight:550;margin:0 0 8px;letter-spacing:.4px}.conversation-header p{display:flex;gap:7px;align-items:center;margin:0;color:#7c98ae;font-size:9px}.conversation-header p .live-dot{width:4px;height:4px}.clear-button{background:transparent;display:flex;gap:7px;align-items:center;color:#9eb4c9;font-size:10px;min-height:35px;padding:4px}.clear-button svg{width:14px;height:14px}kbd{font-family:inherit;font-size:8px;color:#5f7b94;border:1px solid #284058;border-radius:3px;padding:2px 4px;margin-left:4px}.room-mobile-button{display:none}.chat-security{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;background:#0a213324;border-bottom:1px solid #102233;color:#6f95b4;font-size:9px}.chat-security svg{width:12px;height:12px}.messages{flex:1;min-height:0;overflow:auto;padding:24px 30px;scrollbar-width:thin;scrollbar-color:#243e56 transparent}.date-marker{text-align:center;color:#5e7d98;font-size:9px;margin-bottom:20px}.date-marker span{padding:0 15px}.system-message{color:#7990a6;font-size:9px;text-align:center;line-height:1.8;margin:16px 0 29px;display:flex;align-items:center;justify-content:center;gap:6px}.message{display:flex;align-items:flex-start;gap:12px;margin:24px 0}.message>div{max-width:75%;min-width:0}.message-meta{font-size:9px;color:#8eaac1;margin:0 0 7px;display:flex;gap:14px;align-items:center}.message-meta time{font-family:Consolas,monospace;font-size:9px;color:#59758e}.bubble{padding:13px 16px;line-height:1.75;background:#122439;border:1px solid #1c3650;color:#d6e3ed;border-radius:0 11px 11px 11px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.message.self{justify-content:flex-end}.self .message-meta{justify-content:flex-end}.self .bubble{background:linear-gradient(120deg,#1257a3,#126cca);border-color:#237ecc;border-radius:11px 0 11px 11px;color:#f0f7ff}.muted-system{color:#61869e}.muted-system svg{width:12px;height:12px}.composer-area{padding:15px 30px 20px;border-top:1px solid #172a3d;background:#0a1522}.composer-tools{display:flex;justify-content:space-between;color:#6788a2;font-size:9px;align-items:center;margin-bottom:11px}.composer-tools label{display:flex;align-items:center;gap:8px}.composer-tools select{background:#102239;border:1px solid #294157;border-radius:4px;font-size:9px;color:#b4cbdd;padding:4px 8px;min-height:26px}.composer{display:flex;align-items:flex-end;gap:15px;background:#050f19;border:1px solid #2b465e;border-radius:10px;padding:10px}.composer:focus-within{border-color:#1a86bd}.composer textarea{background:none;resize:none;width:100%;min-height:33px;max-height:96px;padding:8px 6px;line-height:1.65;border:0;outline:none;color:#e1edf8;font-size:12px;scrollbar-width:thin}.composer textarea::placeholder{color:#688aa5}.composer textarea:focus-visible{outline:0}.send-button{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border-radius:7px;background:#167cfa;color:white}.send-button svg{width:19px;height:19px;transform:rotate(-90deg)}.composer-caption{display:flex;justify-content:space-between;gap:12px;line-height:1.7;font-size:8px;color:#7290a8;margin-top:10px}
/* Overlays */
dialog{max-width:480px;width:calc(100% - 32px);border:1px solid #31475c;border-radius:18px;background:linear-gradient(135deg,#101f30,#081320);color:var(--text);padding:26px;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#020810b8;backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.dialog-top .overline{font-size:8px}.dialog-emblem{width:48px;height:48px;display:grid;place-items:center;color:var(--cyan);background:#0a334b;border:1px solid #175679;border-radius:12px;margin-top:5px}.dialog-emblem svg{width:27px;height:27px}dialog h2{font-size:22px;letter-spacing:-.5px;margin:22px 0 10px}.privacy-points{display:grid;gap:14px;margin:25px 0}.privacy-points b{font-size:12px;font-weight:550;color:#d4e4f1}.privacy-points p{font-size:11px;line-height:1.8;color:#96abc0;margin:5px 0 0}.demo-link{background:#06101b;border:1px solid #2b4259;border-radius:8px;padding:20px;font-size:12px;color:#9ab5cc;margin:25px 0}.dialog-actions{display:flex;gap:12px;margin-top:27px}.dialog-actions button{width:50%;font-size:12px}.dialog-actions .primary-button{justify-content:center}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);border:1px solid #2a617c;border-radius:9px;background:#0d2538;padding:13px 22px;color:#d9effd;font-size:12px;z-index:20;max-width:calc(100% - 36px);box-shadow:0 12px 50px #0009;white-space:nowrap}.drawer-scrim{position:fixed;inset:79px 0 0;background:#010811b3;backdrop-filter:blur(3px);z-index:4}
@media(min-width:1600px){.hero-art{background-position:center 42%}.hero{min-height:690px}.hero-inner{padding-top:95px}}
@media(max-width:1430px){.principles{margin-left:64px;margin-right:64px}.chat-shell{margin-left:32px;margin-right:32px}}
@media(max-width:1100px){.site-header{padding:0 40px;height:90px}.hero-inner{padding:63px 40px;grid-template-columns:minmax(0,1fr) 350px;gap:35px}.hero{min-height:630px}h1{font-size:49px}.hero-tags{gap:15px}.hero-tags span:last-child{padding-left:15px}.entry-card{padding:25px}.principles{margin:0 40px}.principles article{padding:29px 18px;gap:12px}.principles svg{width:25px;height:25px}.principles h3{font-size:12px}.principles p{font-size:9px}footer{padding:30px 40px}.chat-shell{grid-template-columns:225px minmax(0,1fr);margin:22px 24px;height:calc(var(--app-height,100dvh) - 123px)}.room-sidebar{padding:28px 20px}.conversation-header,.messages{padding-left:24px;padding-right:24px}.composer-area{padding-left:24px;padding-right:24px}}
@media(max-width:850px) and (min-width:601px){.hero-inner{padding:55px 50px 50px;grid-template-columns:1fr;gap:35px}.hero{min-height:unset}.hero-art{background-position:75% top;background-size:auto 740px;opacity:.6}.hero-copy h1{font-size:55px;margin-bottom:20px}.hero-copy h1 br:first-child{display:none}.hero-note{display:none}.hero-description{font-size:14px}.entry-card{width:100%;max-width:600px;margin:auto;padding:26px 30px}.entry-card-top{margin-bottom:18px}.entry-card h2{margin-top:24px}.hero-tags{margin-top:22px}.principles{margin:0 40px;grid-template-columns:1fr}.principles article{min-height:90px;padding:23px 28px}.principles article+article{border-left:0;border-top:1px solid #1b2e40}.principles h3{font-size:13px}.principles p{font-size:11px}.principles svg{width:27px;height:27px}footer{flex-wrap:wrap;gap:16px}footer>span:nth-child(2){display:none}.chat-shell{grid-template-columns:200px minmax(0,1fr);margin:20px 18px;height:calc(var(--app-height,100dvh) - 119px)}.room-sidebar{padding:25px 17px}.room-sidebar h2{font-size:13px}.room-id{font-size:10px}.conversation-header,.messages{padding-left:20px;padding-right:20px}.composer-area{padding:15px 20px 20px}.desktop-hint{display:none}.bubble{font-size:12px;padding:11px 13px}.message>div{max-width:80%}}
@media(max-width:600px){.site-header{height:78px;padding:0 22px}.brand{font-size:19px;gap:10px}.brand-icon{width:35px;height:35px;border-radius:11px}.brand-icon svg{width:20px;height:20px}.brand small{font-size:8px;letter-spacing:2.5px}.site-header nav{gap:14px}.nav-link{font-size:11px}.nav-link svg{width:17px;height:17px}.nav-link a{padding:0}.nav-link span,.prototype-pill{display:none}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding:39px 22px 34px;gap:28px}.hero{min-height:unset}.hero-art{background:linear-gradient(90deg,#050b12da,#050b1240),linear-gradient(0deg,#050b12 34%,#050b1200 78%),url("assets/hero.webp") 65% 0/auto 420px no-repeat;opacity:.7}.eyebrow{font-size:8px;letter-spacing:1.5px;gap:8px}.hero-copy h1{font-size:43px;line-height:1.21;letter-spacing:-1.7px;margin:22px 0 15px}.hero-copy h1 br:first-child{display:none}.hero-copy h1 em{font-size:.66em;letter-spacing:-1px;margin-top:7px}.hero-description{font-size:12px;line-height:1.9;margin:0;color:#9cacc0}.hero-tags{font-size:9px;gap:14px;margin-top:20px}.hero-tags span:last-child{padding-left:14px}.hero-tags svg{width:12px;height:12px}.hero-note{display:none}.entry-card{padding:22px 21px 20px;border-radius:15px}.entry-card-top{margin-bottom:19px}.overline{font-size:8px}.entry-card-top svg{width:17px;height:17px}.tabs button{height:40px;font-size:12px}.entry-card h2{font-size:20px;margin:23px 0 8px}.muted{font-size:11px}.entry-card form label{margin-top:22px;font-size:11px}.secret-input{height:52px}.secret-input input{font-size:12px}.input-hint{font-size:9px;margin-bottom:17px}.primary-button{min-height:49px;font-size:12px}.entry-meta{font-size:9px;margin:17px 0 19px}.principles{margin:0 22px;grid-template-columns:1fr;border-radius:11px}.principles article{min-height:85px;padding:21px;gap:17px}.principles article+article{border-left:0;border-top:1px solid #1b2e40}.principles svg{width:25px;height:25px}.principles h3{font-size:12px}.principles p{font-size:10px}.principle-number{font-size:9px;right:12px;top:12px}footer{padding:26px 22px 32px;gap:20px;font-size:8px}footer>span:nth-child(2){display:none}footer button{font-size:9px}.site-header nav>.nav-link:first-child{min-height:40px}body.in-chat .site-header{height:70px}body.in-chat .brand small{display:none}body.in-chat .site-header nav>.nav-link:first-child{display:none}.chat-shell{margin:0;border:0;border-radius:0;height:calc(var(--app-height,100dvh) - 70px);min-height:0;display:block}.conversation{height:100%}.conversation-header{min-height:76px;padding:15px 19px;gap:5px}.conversation-header h2{font-size:14px;margin-bottom:7px}.conversation-header p{font-size:8px;gap:5px}.room-mobile-button{display:grid;place-items:center;background:#10273b;border:1px solid #24435d;color:#74c6f0;border-radius:8px;width:35px;height:35px;padding:0}.room-mobile-button svg{width:17px;height:17px}.conversation-header>div{gap:10px}.clear-button{font-size:10px;gap:5px}.clear-button kbd{display:none}.chat-security{font-size:8px;padding:10px 15px;gap:6px;line-height:1.8}.chat-security svg{width:11px;height:11px}.messages{padding:20px 17px}.message{gap:9px;margin:24px 0}.message .avatar{width:28px;height:28px;border-radius:8px;font-size:9px}.message>div{max-width:80%}.message-meta{font-size:8px;gap:10px}.message-meta time{font-size:8px}.bubble{font-size:12px;padding:11px 13px}.system-message{font-size:8px;margin-bottom:24px}.composer-area{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.composer-tools{font-size:8px}.composer-tools select{font-size:8px;min-height:28px}.composer-tools label{gap:6px}.composer{gap:10px;padding:9px;border-radius:9px}.composer textarea{font-size:12px}.composer-caption{font-size:8px}.desktop-hint{display:none}.room-sidebar{position:fixed;top:70px;bottom:0;left:0;width:min(300px,85vw);z-index:5;transform:translateX(-100%);transition:transform .2s;border-right:1px solid #2b4963;padding:27px 23px}.room-sidebar.open{transform:translateX(0)}.mobile-close{display:grid}.drawer-scrim{top:70px}.room-sidebar h2{font-size:15px}.members li{font-size:12px}.sidebar-note{font-size:10px}.sidebar-bottom p{font-size:11px}.sidebar-actions button,.leave-button{min-height:45px;font-size:12px}.toast{font-size:11px;bottom:23px;white-space:normal;width:max-content}dialog{padding:23px;max-height:calc(100dvh - 36px)}dialog h2{font-size:20px}.privacy-points{gap:12px;margin:23px 0}.privacy-points p{font-size:11px}.dialog-top .overline{font-size:7px;letter-spacing:1.3px}.icon-button{min-width:36px;min-height:36px}}
@media(max-width:360px){.hero-copy h1{font-size:38px}.hero-tags{gap:10px}.hero-tags span:last-child{padding-left:10px}.entry-card{padding:21px 18px}.entry-card h2{font-size:18px}.conversation-header{padding-left:12px;padding-right:12px}.conversation-header h2{font-size:12px}}
@media(max-width:600px){.hero-copy h1 br:first-child{display:initial}.hero-description{font-size:13px}.hero-tags{font-size:10px}.entry-card .muted{font-size:12px}.secret-input input{font-size:16px}.secret-input input::placeholder{font-size:12px}.input-hint{font-size:10px}.entry-meta,.privacy-link{font-size:10px}.entry-card form label{font-size:12px}.primary-button{font-size:14px}.principles h3{font-size:14px}.principles p{font-size:11px}.composer textarea{font-size:16px}.composer textarea::placeholder{font-size:12px}.bubble{font-size:14px}.message-meta,.conversation-header p{font-size:10px}.composer-caption{font-size:10px}.chat-security{font-size:10px}.composer-tools,.composer-tools select{font-size:10px}.clear-button{min-height:44px;min-width:44px}.room-mobile-button,.icon-button{min-height:44px;min-width:44px}.secret-input .icon-button{min-width:32px;min-height:44px}.privacy-points p{font-size:12px}}
.toast{pointer-events:none}
.composer textarea{overflow-y:hidden}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* --- cyber layer: decoration only, no access to app state --- */
:root{--cyan:#27e5ff;--blue:#087bff;--bg:#03080f}
body{background:#03080f}
.site-header{border-bottom-color:#17445a;background:linear-gradient(90deg,#061320dd,#03080f);max-width:none;padding-left:max(40px,calc((100vw - 1312px)/2));padding-right:max(40px,calc((100vw - 1312px)/2))}
.site-header:after{content:"";position:absolute;bottom:-1px;left:0;width:26%;height:2px;background:linear-gradient(90deg,transparent,#27e5ff,#087bff);box-shadow:0 0 16px #17aaff80}
.brand{letter-spacing:-.8px;font-size:24px}.brand-icon{border-radius:5px 13px 5px 13px;box-shadow:0 0 15px #0bdfff44,inset 0 0 15px #0bdfff15;background:#0b2332}.brand b{color:#41e3ff;text-shadow:0 0 22px #0dcbff70}.brand small{letter-spacing:5px}.prototype-pill{border-color:#1d526d;background:#0c2639;color:#90c4df;border-radius:3px}
.hero{min-height:700px;background:#03080f}
.hero-art{opacity:1;background-image:linear-gradient(90deg,#03080ff2 0%,#03080f9c 34%,#03080f05 62%,#03080f54),linear-gradient(0deg,#03080f,transparent 30%,#03080f22 94%),url("assets/hero.webp");filter:saturate(1.28) contrast(1.09)}
.hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(#31b7fb0c 1px,transparent 1px),linear-gradient(90deg,#31b7fb0c 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#0008 35%,#000 70%,transparent)}
.hero:after{z-index:1;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#00000016 4px),radial-gradient(ellipse at 67% 66%,#00c8ff18,transparent 55%);opacity:.8}
.hero-inner{z-index:3;padding-top:100px;padding-bottom:70px;grid-template-columns:1fr 398px;gap:70px}
.hero-watermark{position:absolute;left:64px;top:12px;z-index:2;color:#acd9ed05;-webkit-text-stroke:1px #54c9ff15;font-size:clamp(80px,12.2vw,185px);font-weight:900;letter-spacing:-7px;white-space:nowrap;pointer-events:none;line-height:1}.hero-watermark span{color:#0ec3ff04}
.hero-coordinates{position:absolute;z-index:2;right:64px;top:33px;font:9px Consolas,monospace;color:#66b7d6;display:flex;flex-direction:column;text-align:right;gap:5px;letter-spacing:2px}
.hero-copy{position:relative}.eyebrow{font-family:Consolas,monospace;font-size:10px;color:#9ddeee;letter-spacing:2.1px;background:#0b263a88;border-left:2px solid #27e5ff;width:max-content;max-width:100%;padding:8px 11px;box-shadow:0 0 20px #00b3ff0c}.eyebrow .live-dot{background:#28e7ff;box-shadow:0 0 12px #28e7ff}
.hero-copy h1{font-size:clamp(50px,5.3vw,78px);line-height:1.13;letter-spacing:-3px;margin:27px 0 24px;filter:drop-shadow(0 3px 15px #0009)}.headline-secret{color:#082235;-webkit-text-stroke:1.4px #79eaff;text-shadow:0 0 35px #00bfff33;white-space:nowrap}.headline-secret .cyan{-webkit-text-stroke:0;color:#28e7ff;text-shadow:0 0 26px #00bfff99}.hero-copy h1 em{font-size:.49em;font-weight:650;letter-spacing:0;color:#dcf6ff;margin-top:20px;padding-left:17px;border-left:3px solid #28e7ff}.hero-description{color:#b8cbdc}.hero-tags{gap:14px;margin-top:26px}.hero-tags span{padding:8px 10px;border:1px solid #1b4c62;background:#071e2d8c;border-radius:3px;font-size:10px}.hero-tags span:last-child{border-left:1px solid #1b4c62;padding-left:10px}.hero-tags svg{filter:drop-shadow(0 0 5px #18caff88)}.hero-note{font-family:Consolas,"Microsoft YaHei",monospace;color:#81bbd3;margin-top:33px}.short-line{background:#28e7ff;box-shadow:0 0 10px #1edfff}
.orbit{position:absolute;width:420px;height:420px;top:80px;left:calc(64% - 210px);z-index:2;border:1px solid #36d7ff35;border-radius:50%;pointer-events:none;background:radial-gradient(circle,transparent 63%,#17dfff08 64%,transparent 65%);box-shadow:0 0 45px #00aaff0b,inset 0 0 45px #00aaff09}.orbit:before{content:"";position:absolute;inset:18px;border:1px dashed #36d7ff42;border-radius:50%;animation:orbit-turn 80s linear infinite}.orbit:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid transparent;border-top-color:#27e5ff8c;border-bottom-color:#27e5ff8c;transform:rotate(-30deg);animation:orbit-turn 45s linear infinite}.orbit-cross:before,.orbit-cross:after{content:"";position:absolute;background:#43dfff40}.orbit-cross:before{height:1px;width:45px;left:-25px;top:50%}.orbit-cross:after{width:1px;height:45px;left:50%;top:-25px}.orbit-label{font:8px Consolas,monospace;letter-spacing:2px;position:absolute;left:40px;bottom:20px;color:#83dfff85;background:#051727;padding:5px 8px}
.entry-card{border-radius:3px 24px 3px 24px;border:1px solid #2c7da4;background:linear-gradient(135deg,#0b263aea,#071423f7 60%,#072238ee);box-shadow:0 0 0 6px #1eaaff08,0 30px 90px #0009,0 0 65px #008eff15;backdrop-filter:blur(22px)}.entry-card:before{left:-1px;top:-1px;width:58%;height:2px;background:linear-gradient(90deg,#91f3ff,#18bcff,transparent);box-shadow:0 0 18px #1edfff77}.entry-card:after{content:"";position:absolute;width:48px;height:48px;right:-1px;bottom:-1px;border-right:2px solid #47ddff;border-bottom:2px solid #47ddff;pointer-events:none}.entry-card-top .overline{font-family:Consolas,monospace;color:#82cce7;letter-spacing:2px}.entry-card-top svg{color:#3de2ff;filter:drop-shadow(0 0 8px #2cdeffaa)}.tabs{border-radius:3px;border-color:#215578;background:#030d18}.tabs button{border-radius:2px;letter-spacing:.5px}.tabs button.active{background:linear-gradient(120deg,#164265,#092337);border:1px solid #2288b6;color:#a7f0ff;box-shadow:inset 0 -2px #27e5ff,0 0 18px #00b7ff14}.secret-input{border-radius:3px;border-color:#26607d;box-shadow:inset 0 0 25px #02121f}.secret-input:focus-within{border-color:#27e5ff;box-shadow:0 0 0 3px #27e5ff16,0 0 25px #0abfff22}.secret-input>svg{color:#55d7f5}.primary-button{border-radius:3px 10px 3px 10px;background:linear-gradient(105deg,#0873ed,#0f9afc);border:1px solid #4bcaff;box-shadow:0 0 20px #078fff38,inset 0 1px #94eaff77;position:relative;overflow:hidden;letter-spacing:.4px}.primary-button:before{content:"";position:absolute;inset:-60% auto -60% -45%;width:20%;background:#a7ecff22;transform:skewX(-25deg);transition:left .55s;pointer-events:none}.primary-button:hover:before{left:135%}.primary-button:hover{box-shadow:0 0 35px #138fff65}.primary-button svg{filter:drop-shadow(0 0 4px #fff8)}.card-divider{background:linear-gradient(90deg,#27e5ff5c,transparent)}.entry-meta{color:#a1cadb}.entry-meta .live-dot{background:#27e5ff}.privacy-link{color:#a0c9de}
.principles{background:linear-gradient(110deg,#072031,#071422);border-color:#24526a;border-radius:3px 16px 3px 16px;position:relative;box-shadow:0 0 40px #00aaff09}.principles:before{content:"";position:absolute;left:-1px;top:-1px;width:40px;height:40px;border-top:2px solid #3ae3ff;border-left:2px solid #3ae3ff;pointer-events:none}.principles article+article{border-left-color:#24465b}.principle-number{color:#75c5dd}.principles svg{filter:drop-shadow(0 0 9px #00c8ff70)}.principles h3{color:#daf5ff}.principles p{color:#90afc3}footer{font-family:Consolas,"Microsoft YaHei",monospace;color:#749ab6}
.chat-shell{border-radius:3px 16px 3px 16px;border-color:#265e7c;box-shadow:0 0 35px #069eff13}.room-sidebar{background:linear-gradient(155deg,#0b2538,#061420 60%);border-right-color:#24506b;position:relative}.sidebar-top .overline{color:#75c3dc;font-family:Consolas,monospace}.room-id{color:#61d5f4}.sidebar-divider{background:linear-gradient(90deg,#28e7ff55,transparent)}.avatar{border-radius:3px 9px 3px 9px;box-shadow:inset 0 0 12px #0ac5ff0b}.avatar-blue{border-color:#2994d4;box-shadow:0 0 15px #078fff20}.member-online{box-shadow:0 0 7px #30e4b1}.secondary-button{border-radius:3px 8px 3px 8px;background:linear-gradient(100deg,#0c2c43,#102b42);border-color:#286284}.secondary-button:hover{border-color:#27e5ff;background:#133a54}.conversation{background:radial-gradient(ellipse at 100% 0%,#07588119,transparent 50%),#06121e}.conversation-header{border-bottom-color:#214c67;background:linear-gradient(90deg,#092336aa,transparent)}.conversation-header h2{color:#e6faff}.chat-security{background:#0a30402b;border-bottom-color:#153348;color:#83b1c9}.bubble{background:linear-gradient(125deg,#102b40,#102235);border-color:#245673;border-radius:0 9px 9px 9px}.self .bubble{background:linear-gradient(120deg,#075dad,#117ee1);border-color:#36b5f5;box-shadow:0 4px 24px #097ed91b;border-radius:9px 0 9px 9px}.composer-area{background:linear-gradient(120deg,#0a2031,#091623);border-top-color:#25506c}.composer{border-radius:3px 10px 3px 10px;border-color:#2b7192;background:#040f1b}.composer:focus-within{border-color:#27e5ff;box-shadow:0 0 20px #0cbfff12}.send-button{border-radius:3px 8px 3px 8px;background:linear-gradient(135deg,#0679f7,#18b5ed);box-shadow:0 0 12px #118aff35}.room-mobile-button{border-color:#297694;color:#46e0ff;background:#0d2b40}.date-marker span{font-family:Consolas,monospace}.leave-button{border-radius:3px 8px 3px 8px}dialog{border-radius:3px 20px 3px 20px;border-color:#2e87ab;background:linear-gradient(130deg,#0c2c41,#081523);box-shadow:0 0 45px #008fff20,0 30px 100px #000a}.dialog-emblem{border-radius:3px 12px 3px 12px;color:#31e5ff;box-shadow:0 0 22px #00afff24}.toast{border-radius:3px 9px 3px 9px;border-color:#30a2c2}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.hero-inner{padding-top:110px}}
@media(max-width:1100px){.hero{min-height:660px}.hero-inner{grid-template-columns:minmax(0,1fr) 350px;gap:35px;padding:95px 40px 60px}.hero-copy h1{font-size:57px}.hero-watermark{left:40px;font-size:125px;top:12px}.hero-coordinates{right:40px;top:30px;font-size:8px}.orbit{width:370px;height:370px;left:calc(65% - 185px);top:95px}.site-header{padding:0 40px}.hero-tags{gap:8px}.hero-tags span{font-size:9px;padding:7px 8px}}
@media(max-width:850px) and (min-width:601px){.hero{min-height:unset}.hero-inner{grid-template-columns:1fr;padding:80px 50px 50px;gap:35px}.hero-copy h1{font-size:61px;letter-spacing:-2px}.hero-copy h1 br:first-child{display:initial}.hero-copy h1 em{font-size:.52em}.hero-watermark{font-size:100px;left:40px;top:17px;letter-spacing:-4px}.hero-coordinates{font-size:7px;right:40px;top:24px}.orbit{left:auto;right:-50px;top:110px;width:390px;height:390px}.hero-art{background-size:auto 800px;background-position:75% top}.hero-tags{gap:12px}.hero-tags span{font-size:10px;padding:8px 10px}.principles article+article{border-left:0;border-top-color:#24465b}}
@media(max-width:600px){.site-header{padding:0 22px}.brand{font-size:19px}.brand small{letter-spacing:3px}.hero{min-height:unset}.hero-inner{display:flex;padding:63px 22px 36px;gap:31px}.hero-art{opacity:.92;background-image:linear-gradient(90deg,#03080fd0,#03080f15),linear-gradient(0deg,#03080f 38%,transparent 78%),url("assets/hero.webp");background-size:auto,auto,auto 485px;background-position:center,center,68% 0}.hero-watermark{font-size:66px;letter-spacing:-4px;left:20px;top:17px;color:#a0dbf807;-webkit-text-stroke-color:#4fcbff28}.hero-coordinates{top:20px;right:22px;font-size:6px;letter-spacing:1px;gap:4px}.hero-coordinates span:first-child{display:none}.hero:before{background-size:40px 40px;opacity:.5}.hero:after{opacity:.5}.orbit{width:280px;height:280px;left:auto;right:-70px;top:82px;opacity:.65}.orbit-label{display:none}.hero-copy h1{font-size:48px;line-height:1.15;letter-spacing:-1.9px;margin:24px 0 21px}.headline-secret{-webkit-text-stroke-width:1px}.hero-copy h1 em{font-size:.58em;letter-spacing:-.5px;margin-top:16px;padding-left:12px;border-left-width:2px}.eyebrow{font-size:7px;letter-spacing:1.1px;padding:7px 9px;width:max-content;gap:6px}.hero-description{font-size:13px;color:#b5cbd9}.hero-tags{gap:7px;margin-top:22px}.hero-tags span{font-size:9px;padding:7px 8px;gap:5px}.hero-tags span:last-child{padding-left:8px}.entry-card{border-radius:3px 20px 3px 20px;box-shadow:0 0 0 4px #1eaaff08,0 20px 50px #0008,0 0 40px #008eff15}.entry-card-top .overline{font-size:8px;letter-spacing:1.7px}.principles{border-radius:3px 14px 3px 14px}.principles article+article{border-left:0;border-top-color:#24465b}.room-sidebar{position:fixed}.chat-shell{border-radius:0;box-shadow:none}.conversation-header h2{font-size:14px}.composer-area{background:#091b2a}.hero-watermark,.hero-coordinates{pointer-events:none}.primary-button{font-size:14px}.hero-tags svg{width:12px;height:12px}}
@media(max-width:360px){.hero-copy h1{font-size:43px}.hero-copy h1 em{font-size:.56em}.hero-tags{gap:5px}.hero-tags span{font-size:8px;padding:7px 7px}.eyebrow{font-size:6px;letter-spacing:1px}.hero-watermark{font-size:59px}}
@media(max-width:600px){.hero-inner{padding-top:48px;gap:18px}.hero-copy h1{margin-top:20px;margin-bottom:14px}.hero-copy h1 em{margin-top:12px}.hero-tags{margin-top:18px}.entry-card-top{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.orbit:before,.orbit:after{animation:none}.primary-button:before{display:none}}

/* --- ergonomics layer --- */
:root{--muted:#aebfd0}
body{font-size:16px;line-height:1.6}
button,input,textarea,select{font-size:16px}
button,a,select{scroll-margin-block:24px}
button{min-height:44px;min-width:44px}
:focus-visible{outline:3px solid #91edff;outline-offset:3px}
.nav-link{font-size:14px;min-height:44px;padding:8px}.nav-link svg{width:20px;height:20px}.site-header nav{gap:16px}.prototype-pill{font-size:11px}
.hero-copy h1{line-height:1.2}.headline-secret{color:#cff4ff;-webkit-text-stroke:.5px #66d8ff;text-shadow:0 0 28px #00bfff20}
.hero-description{font-size:16px;line-height:1.85;color:#c4d6e3}.hero-tags span{font-size:13px}.hero-note{font-size:13px;color:#b6cddc}.eyebrow{font-size:11px}.hero:after{opacity:.3}.hero:before{opacity:.55}.hero-watermark{opacity:.5}.orbit:before,.orbit:after{animation:none}.orbit{opacity:.7}
.entry-card{background:linear-gradient(135deg,#0b2337f7,#081726fc);padding:28px}.entry-card h2{font-size:24px;line-height:1.5;margin:23px 0 8px}.entry-card .muted{font-size:15px;color:#b5c9da;line-height:1.7}.entry-card-top .overline,.overline{font-size:11px;letter-spacing:1.4px;color:#a3ccde}.entry-card-top{margin-bottom:18px}.tabs button{min-height:48px;font-size:16px}.secret-input{height:58px;gap:10px;padding-left:14px;padding-right:6px}.secret-input input{font-size:16px;letter-spacing:.4px;height:54px}.secret-input input::placeholder{font-size:15px;color:#a5bbd0}.icon-button{min-width:44px;min-height:44px;color:#b2ccdf}.icon-button svg{width:20px;height:20px}.entry-card form label{font-size:15px;margin:20px 0 10px}.input-hint{font-size:13px;line-height:1.65;color:#b5cbdc;margin:10px 0 18px}.primary-button{min-height:54px;font-size:16px;padding:0 18px;background:#0872cb;border-color:#52ccff;letter-spacing:0}.primary-button:before{display:none}.primary-button:hover{background:#0b7ad9}.primary-button svg{width:21px;height:21px}.entry-meta{font-size:12px;line-height:1.7;color:#b9d0e1;margin:16px 0}.card-divider{margin-bottom:8px}.privacy-link{font-size:13px;min-height:44px;color:#b7d8e9}.privacy-link svg:first-child{width:19px;height:19px}.random-button{font-size:14px;min-height:44px}.principles h3{font-size:16px;line-height:1.5}.principles p{font-size:14px;line-height:1.7;color:#b6cbdc}.principles article{min-height:130px}.principle-number{font-size:12px;color:#a4cadc}footer{font-size:12px;color:#a5bed2}footer button{font-size:13px;min-height:44px;color:#c3dcec}
.room-sidebar{padding:25px 22px;overflow:auto}.room-sidebar h2{font-size:18px;line-height:1.5;margin:18px 0 10px}.room-id{font-size:13px;color:#90d7ef}.room-status{font-size:13px;color:#b6d3e3}.sidebar-divider{margin:21px 0}.members-heading{font-size:14px;color:#bbd2e2}.members li{font-size:14px;gap:12px}.members small{font-size:12px}.members{gap:16px;margin-top:18px}.avatar{width:36px;height:36px;font-size:12px}.sidebar-note{font-size:12px;line-height:1.7;color:#adc3d4;margin:18px 0 23px}.secondary-button{min-height:48px;font-size:14px;color:#d0e5f3}.secondary-button svg{width:18px;height:18px}.sidebar-actions{gap:12px}.sidebar-bottom{padding-top:24px}.mini-shield{font-size:13px}.sidebar-bottom p{font-size:13px;line-height:1.75;color:#b4cadb}.leave-button{font-size:14px;min-height:48px;margin-top:20px;color:#c0d0dc;background:#101e2b}.leave-button svg{width:19px;height:19px}.members-heading b span{color:#a0bcd0}
.conversation-header{min-height:90px;padding:18px 28px}.conversation-header h2{font-size:19px;line-height:1.5;margin:0 0 6px}.conversation-header p{font-size:12px;color:#abc7da}.clear-button{font-size:14px;padding:8px;min-height:44px;gap:8px}.clear-button svg{width:19px;height:19px}kbd{font-size:11px;color:#b6d2e2}.chat-security{font-size:12px;color:#aecfdf;padding:11px 20px;line-height:1.6}.chat-security svg{width:16px;height:16px}.messages{padding:24px 28px}.date-marker{font-size:12px;color:#a6c0d4}.system-message{font-size:12px;line-height:1.7;color:#a8c2d4;margin:16px 0 22px}.muted-system{color:#a5c5d9}.message{margin:25px 0;gap:12px}.message>div{max-width:min(80%,62ch)}.message-meta{font-size:13px;line-height:1.5;color:#bfd3e1;margin-bottom:8px}.message-meta time{font-size:12px;color:#abc2d5}.bubble{font-size:16px;line-height:1.75;padding:14px 17px;color:#e5f0f7}.self .bubble{background:#1263a7;color:#fff}.composer-area{padding:15px 26px 18px}.composer-tools{font-size:12px;color:#b7cee0;gap:10px;flex-wrap:wrap}.composer-tools label{font-size:13px;gap:8px}.composer-tools select{min-height:44px;font-size:13px;padding:8px;color:#d4e4ef}.composer{gap:12px;padding:8px}.composer textarea{font-size:16px;line-height:1.65;min-height:44px;padding:9px 8px;max-height:120px;overflow-y:auto}.composer textarea::placeholder{font-size:15px;color:#a5bed2}.send-button{min-width:48px;min-height:48px;width:48px;height:48px}.send-button svg{width:23px;height:23px}.composer-caption{font-size:12px;line-height:1.65;color:#b1c9da;margin-top:10px}.desktop-hint{color:#acc5d8}
.room-tools-button,.back-to-chat{display:none}.toast{font-size:14px;line-height:1.6;white-space:normal;width:max-content;max-width:min(540px,calc(100% - 36px));color:#e0f1fa;background:#0b2c40}.privacy-points b{font-size:16px}.privacy-points p{font-size:14px;line-height:1.75;color:#bfcedd}.privacy-points{gap:18px}.dialog-top .overline{font-size:10px;letter-spacing:1px}dialog{max-width:540px;max-height:calc(100dvh - 40px);overflow:auto}dialog h2{font-size:24px;line-height:1.5}dialog .muted{font-size:14px;line-height:1.75}.demo-link{font-size:14px}.dialog-actions button{font-size:15px;min-height:48px}
@media(max-width:1100px){.hero-inner{grid-template-columns:minmax(0,1fr) 380px;gap:30px;padding:80px 40px 56px}.hero-copy h1{font-size:51px}.hero-tags{flex-wrap:wrap;gap:8px}.hero-tags span{font-size:12px}.entry-card{padding:24px}.entry-card h2{font-size:22px}.entry-card .muted{font-size:14px}.principles article{padding:27px 20px;gap:13px}.principles h3{font-size:15px}.principles p{font-size:13px}.chat-shell{grid-template-columns:240px minmax(0,1fr)}.conversation-header,.messages{padding-left:22px;padding-right:22px}.composer-area{padding-left:20px;padding-right:20px}}
@media(max-width:850px) and (min-width:601px){.hero-inner{grid-template-columns:1fr;padding:65px 44px 44px;gap:30px}.hero-copy h1{font-size:53px}.hero-copy h1 br:first-child{display:none}.hero-copy h1 em{font-size:.52em}.hero-copy h1 .headline-secret{white-space:normal}.entry-card{max-width:600px;padding:28px}.hero-coordinates{display:none}.hero-tags{flex-wrap:nowrap}.hero-tags span{font-size:13px}.chat-shell{grid-template-columns:225px minmax(0,1fr);margin:16px 12px;height:calc(var(--app-height,100dvh) - 111px)}.room-sidebar{padding:23px 16px}.room-sidebar h2{font-size:16px;flex-wrap:wrap;gap:5px}.members li{font-size:13px}.conversation-header{padding:16px;min-height:86px}.conversation-header h2{font-size:17px}.messages{padding:20px 16px}.composer-area{padding:13px 16px 17px}.bubble{font-size:16px;padding:12px 14px}.chat-security{font-size:12px;padding:11px 15px}.composer-caption{font-size:12px}.principles h3{font-size:16px}.principles p{font-size:14px}}
@media(max-width:600px){.site-header{height:72px;padding:0 16px}.brand{font-size:19px;gap:9px}.brand small{font-size:10px;letter-spacing:2px}.site-header nav{gap:4px}.nav-link{font-size:12px;min-width:44px;padding:8px}.nav-link svg{width:19px;height:19px}.hero-inner{padding:26px 16px 30px;gap:20px}.eyebrow{display:none}.hero-copy h1{font-size:38px;line-height:1.2;margin:12px 0 14px}.hero-copy h1 em{font-size:23px;margin-top:12px;padding-left:12px}.hero-description{font-size:14px;line-height:1.65}.hero-tags{margin-top:15px;gap:7px;flex-wrap:nowrap}.hero-tags span{font-size:11px;padding:6px 8px;min-height:30px}.hero-tags span:last-child{padding-left:8px}.hero-tags svg{width:14px;height:14px}.hero-watermark{font-size:55px;left:16px;top:7px;opacity:.3}.hero-coordinates{display:none}.hero-art{opacity:.68}.orbit{opacity:.32;right:-90px;top:40px}.hero:before,.hero:after{opacity:.2}.entry-card{padding:22px 20px 18px;max-width:100%;background:#091d30f7}.entry-card-top{display:none}.tabs button{font-size:15px;min-height:48px;height:auto}.entry-card h2{font-size:21px;line-height:1.5;margin:18px 0 7px}.entry-card .muted{font-size:14px;line-height:1.65}.entry-card form label{font-size:14px;margin:17px 0 8px}.secret-input{height:56px;padding-left:12px;padding-right:5px}.secret-input input{font-size:16px;min-height:52px}.secret-input input::placeholder{font-size:14px}.secret-input .icon-button{min-width:44px;min-height:44px}.input-hint{font-size:12px;line-height:1.6;margin:10px 0 16px}.primary-button{min-height:54px;font-size:16px}.entry-meta{font-size:12px;line-height:1.7;margin:14px 0}.privacy-link{font-size:13px;min-height:44px}.principles{margin:0 16px}.principles article{padding:23px 20px;min-height:110px}.principles h3{font-size:16px}.principles p{font-size:14px}.principle-number{font-size:11px}footer{padding:20px 16px 25px;font-size:11px;gap:10px}footer button{font-size:12px}.in-chat{overflow:hidden}body.in-chat .site-header{height:64px}.chat-shell{height:calc(var(--app-height,100dvh) - 64px);margin:0;min-height:0;display:block}.conversation-header{padding:12px 16px;min-height:78px}.conversation-header>div{gap:10px}.conversation-header h2{font-size:17px}.conversation-header p{font-size:12px;gap:6px}.room-mobile-button{min-width:44px;min-height:44px;width:44px;height:44px}.clear-button{min-height:44px;min-width:56px;font-size:13px;gap:6px}.chat-security{font-size:12px;line-height:1.6;padding:9px 16px;justify-content:flex-start}.chat-security svg{width:16px;height:16px}.messages{padding:20px 16px;overscroll-behavior:contain}.message{gap:9px;margin:22px 0}.message .avatar{width:32px;height:32px;font-size:11px}.message-meta,.message-meta time{font-size:12px}.bubble{font-size:16px;line-height:1.7;padding:12px 14px}.message>div{max-width:calc(100% - 42px)}.system-message,.date-marker{font-size:12px}.composer-area{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.composer-tools{gap:8px;flex-wrap:nowrap;margin-bottom:9px;align-items:center}.composer-tools label{font-size:12px;gap:5px;white-space:nowrap}.composer-tools label .ttl-label{display:none}.composer-tools select{font-size:12px;min-height:44px;max-width:140px;padding:7px}.composer-tools #charCount{font-size:12px;white-space:nowrap;margin-left:auto}.room-tools-button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:67px;min-height:44px;padding:7px;background:#10334c;border:1px solid #347d9f;border-radius:5px;font-size:13px;color:#d5edfb}.room-tools-button svg{width:18px;height:18px}.composer textarea{font-size:16px;line-height:1.6;min-height:48px;padding:10px 7px}.composer textarea::placeholder{font-size:14px}.composer{gap:8px;padding:7px}.send-button{width:48px;height:48px;min-width:48px;min-height:48px}.composer-caption{font-size:12px;line-height:1.6;margin-top:8px}.room-sidebar{top:64px;bottom:0;width:min(330px,calc(100vw - 32px));padding:22px 20px;max-height:calc(var(--app-height,100dvh) - 64px);overflow:auto}.drawer-scrim{top:64px}.mobile-close{min-height:44px;min-width:44px}.sidebar-top .overline{font-size:11px}.room-sidebar h2{font-size:18px}.room-status,.sidebar-note{font-size:13px}.members li{font-size:15px}.members small{font-size:12px}.sidebar-bottom p{font-size:14px}.back-to-chat{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:1px solid #4bb8df;border-radius:5px;background:#12466b;color:#e0f6ff;font-size:15px;margin-top:12px}.leave-button{min-height:48px;font-size:14px;margin-top:14px}.sidebar-bottom{padding-top:22px}.secondary-button{min-height:48px;font-size:15px}.toast{bottom:18px;font-size:13px;max-width:calc(100% - 32px)}dialog{max-height:calc(var(--app-height,100dvh) - 32px);padding:22px}.dialog-top .overline{font-size:9px}.privacy-points b{font-size:16px}.privacy-points p{font-size:14px}dialog h2{font-size:22px}dialog .muted{font-size:14px}.dialog-actions button{font-size:15px}.dialog-actions{gap:12px}}
@media(max-width:360px){.brand{font-size:17px}.site-header{padding:0 12px}.hero-copy h1{font-size:35px}.hero-copy h1 em{font-size:21px}.hero-tags{gap:5px}.hero-tags span{font-size:10px;padding:6px}.hero-inner{padding-left:14px;padding-right:14px}.entry-card{padding:20px 16px}.entry-card h2{font-size:19px}.composer-tools{gap:6px}.composer-tools select{max-width:125px}.composer-tools #charCount{font-size:11px}.room-tools-button{min-width:62px}}
@media(max-height:560px) and (max-width:850px){.chat-security{display:none}.conversation-header{min-height:68px;padding-top:8px;padding-bottom:8px}.composer-caption{display:none}.composer-area{padding-top:7px;padding-bottom:7px}.composer-tools{margin-bottom:5px}.sidebar-divider{margin:12px 0}.sidebar-bottom{padding-top:14px}.sidebar-note{margin:12px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.composer-status{font-size:13px;line-height:1.6;color:#ffcfad;margin:9px 0 0}.composer-status:empty{display:none}
.messages>.message,.messages>.date-marker,.messages>.system-message{max-width:860px;margin-left:auto;margin-right:auto}
@media(min-width:601px) and (max-width:1100px) and (max-height:850px){.room-sidebar{padding:18px 16px}.room-sidebar h2{font-size:16px;margin:12px 0 7px}.sidebar-divider{margin:16px 0}.members{gap:12px;margin-top:14px}.members .avatar{width:32px;height:32px}.members li{font-size:13px}.sidebar-note{margin:12px 0 16px}.sidebar-actions{gap:10px}.sidebar-bottom{padding-top:16px}.sidebar-bottom p{font-size:12px;margin:10px 0}.leave-button{margin-top:12px}}
@media(max-width:850px){.keyboard-open .chat-security,.keyboard-open .composer-caption{display:none}.keyboard-open .conversation-header{min-height:66px;padding-top:8px;padding-bottom:8px}.keyboard-open .composer-area{padding-top:7px;padding-bottom:7px}}

/* --- the real app --- */
.hidden{display:none!important}
.lang-select{min-height:44px;background:#0b2233;border:1px solid #24506b;border-radius:3px 8px 3px 8px;color:#cfe6f3;font-size:14px;padding:6px 8px}
.hero-tags b{font-weight:inherit}
.masked{-webkit-text-security:disc}
.insecure-note{margin:16px 0 0;padding:12px 14px;border:1px solid #a0522d;border-radius:6px;background:#2a1408;color:#ffd2b0;font-size:14px;line-height:1.6}
.input-error{margin:-8px 0 16px;color:#ffb48a;font-size:14px;line-height:1.6}
.random-button{display:flex;justify-content:space-between;align-items:center}
.random-button span:last-child{float:none}
.extras{max-width:1312px;margin:24px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.howto{border:1px solid #1d4257;border-radius:3px 14px 3px 14px;background:#061624;padding:22px 26px}
.howto h3{margin:0 0 10px;font-size:16px;color:#daf5ff;font-weight:600}
.howto p{margin:8px 0 0;font-size:14px;line-height:1.75;color:#b6cbdc;overflow-wrap:anywhere}
.howto .fine{font-size:13px;color:#93afc2}
.howto code{font-family:Consolas,monospace;background:#0b2a3e;border:1px solid #1d4a63;border-radius:3px;padding:1px 5px;color:#8fe6ff}
.howto a{color:#5fd6ff;text-decoration:underline;text-underline-offset:3px}
.members li{min-height:44px}
.members .avatar{font-size:19px;font-family:inherit;position:relative;background:#0f2a40;border-color:#2a5675}
.members .avatar.me{border-color:#27e5ff;box-shadow:0 0 0 2px #27e5ff40}
.avatar.host::after{content:"👑";position:absolute;top:-12px;right:-9px;font-size:15px;line-height:1}
.members li.away{opacity:.55}
.members .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.members small{white-space:nowrap}
.members small.host-tag{border-color:#7a6420;color:#f3d27a}
.remove-button{margin-left:auto;min-height:36px;min-width:52px;padding:4px 10px;border:1px solid #6b3b2a;border-radius:3px 7px 3px 7px;background:#2a1510;color:#ffc7b0;font-size:13px}
.remove-button:hover{border-color:#ff9a76}
.members li .member-online+.remove-button{margin-left:10px}
.sidebar-note{min-height:1em}
.secondary-button span{white-space:nowrap}
.locked #lockButton{border-color:#a8822c;background:#2b2210;color:#ffe2a4}
.locked .room-status .live-dot{background:#f3c35a;box-shadow:0 0 8px #f3c35a66}
.tips{margin-top:18px;border:1px solid #1d4257;border-radius:3px 8px 3px 8px;background:#071827}
.tips summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 14px;font-size:14px;color:#b9d8ea}
.tips ul{margin:0;padding:0 16px 14px 30px;font-size:13px;line-height:1.7;color:#b4cadb}
.tips li+li{margin-top:6px}
.conversation-header p .sep{color:#4f7189}
.conversation-header p .live-dot{width:7px;height:7px}
.live-dot.off{background:#62717f;box-shadow:none}
.message .avatar{font-size:17px;font-family:inherit;background:#0f2a40;border-color:#2a5675}
.message.outgoing{justify-content:flex-end}
.message.outgoing .message-meta{justify-content:flex-end}
.message .bubble{margin:0}
.message-meta .sent{color:#7fd6f5}
.system-message{max-width:860px;margin-left:auto;margin-right:auto;text-align:center}
.send-button .count{display:none;font-size:17px;font-weight:700}
.send-button.counting svg{display:none}
.send-button.counting .count{display:block}
#charCount.over{color:#ffc5a2}
.composer textarea:disabled{cursor:not-allowed}
.qr-dialog{max-width:400px;text-align:center}
.qr-dialog .dialog-top{text-align:left}
.qr-dialog h2{margin-top:6px}
.qr-code{background:#fff;border-radius:6px;padding:6px;margin:14px auto 0;max-width:300px}
.qr-code svg{display:block;width:100%;height:auto;stroke:none}
.qr-note{margin:16px 0;font-size:14px;line-height:1.65;color:#ffd2b0}
.qr-dialog .primary-button,.dialog-actions .primary-button{justify-content:center}
dialog .muted a{color:#5fd6ff;text-decoration:underline}
@media(max-width:1430px){.extras{margin-left:64px;margin-right:64px}}
@media(max-width:1100px){.extras{margin-left:40px;margin-right:40px}}
@media(max-width:850px){.extras{grid-template-columns:1fr}}
@media(max-width:600px){.extras{margin:16px 16px 0}.howto{padding:18px}.lang-select{font-size:13px;max-width:92px;padding:6px 4px}.site-header nav .nav-link span{display:none}.members .avatar{font-size:18px}}
@media(max-width:360px){.site-header nav{gap:0}.lang-select{max-width:76px}}
.room-sidebar>*{flex-shrink:0}
.brand>span:last-child{white-space:nowrap}
@media(max-width:600px){.site-header nav [data-open-privacy]{display:none}}
.hero-copy{min-width:0}
html:not([lang^=zh]) .headline-secret{white-space:normal}
html:not([lang^=zh]) .hero-copy h1{font-size:clamp(40px,4.4vw,64px)}
@media(max-width:600px){html:not([lang^=zh]) .hero-copy h1{font-size:32px;letter-spacing:-1px}}
dialog p.muted{margin:0 0 20px}
html:not([lang^=zh]) .brand small{display:none}
@media(max-width:420px){.site-header{padding:0 10px}.site-header nav{gap:0}.site-header .nav-link{min-width:40px;padding:8px 4px}.brand{font-size:17px;gap:7px}.lang-select{max-width:78px}}
@media(max-width:360px){.site-header .nav-link{min-width:32px;padding:8px 2px}.brand{font-size:15px}.brand-icon{width:32px;height:32px}.lang-select{max-width:64px}}

/* iOS Safari does not shrink the page for the on-screen keyboard: it slides the
   visible area down instead, past the end of a page that fits the screen, and
   the chat disappears. In a room the page is pinned to the visible area
   (--vv-top, --app-height from app.js), and on small screens the site header
   steps aside while typing so the messages keep some room (the room button
   and timer come back when the keyboard closes). */
body.in-chat{position:fixed;left:0;right:0;top:var(--vv-top,0px);height:var(--app-height,100dvh);overflow:hidden}
@media(max-width:600px){body.in-chat.keyboard-open .site-header,body.in-chat.keyboard-open .composer-tools{display:none}body.in-chat.keyboard-open .conversation-header{min-height:0;padding-top:6px;padding-bottom:6px}body.in-chat.keyboard-open .conversation-header h2{margin-bottom:2px}body.in-chat.keyboard-open .chat-shell{height:var(--app-height,100dvh)}body.in-chat.keyboard-open .room-sidebar,body.in-chat.keyboard-open .drawer-scrim{top:0;max-height:var(--app-height,100dvh)}}
/* Emergency exit and the veil shown while the page is in the background */
.chat-actions{display:flex;align-items:center;gap:14px}
.panic-button{color:#ff8f8f}
.panic-button:hover{color:#ffb4b4}
body.gone>*{display:none!important}
body.veiled .messages,body.veiled .composer,body.veiled .members{filter:blur(14px)}
@media(max-width:600px){.chat-actions{gap:10px}.panic-button span{display:none}}
/* Tablets: the header has room for icons only */
@media(min-width:601px) and (max-width:960px){.site-header{padding:0 28px}.site-header nav{gap:18px}.site-header .nav-link span{display:none}}
@media(min-width:601px) and (max-width:720px){.site-header nav{gap:6px}.site-header .nav-link{min-width:40px;padding:8px 6px}}
#charCount{direction:ltr;unicode-bidi:isolate}
/* Up to 25 members: the sidebar scrolls, and a long list is tighter. */
.room-sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#243e56 transparent}.members.many{gap:9px}.members.many .avatar{width:28px;height:28px}.avatar{font-variant-numeric:tabular-nums}
@media(pointer:fine){.members.many .remove-button{min-height:28px;padding:2px 9px}}
