.chat-world{--ink:#34433e;--quiet:#74847d;--ember:#b87053;--line:rgba(70,101,88,.18);min-height:100vh;background:#f3f0e6;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;position:relative;isolation:isolate;overflow-x:hidden}.chat-world *{box-sizing:border-box}.chat-world button,.chat-world textarea{font:inherit}.room-light{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(125deg,#f8f3e8 0%,#edf1e7 48%,#dcebf0 100%);transition:background 1.2s ease}.room-light:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(103deg,transparent 0 15vw,rgba(255,255,255,.26) 15.1vw 15.25vw,transparent 15.4vw 28vw);opacity:.55;animation:light-cross 18s ease-in-out infinite alternate}.room-light:after{content:"";position:absolute;width:58vw;height:58vw;right:-30vw;top:-34vw;border-radius:50%;background:rgba(255,239,176,.55);box-shadow:0 0 0 8vw rgba(255,255,255,.2),0 0 0 16vw rgba(233,187,166,.05);animation:sun-drift 15s ease-in-out infinite alternate}.room-light i{position:absolute;border:1px solid rgba(83,117,102,.09);border-radius:50%}.room-light i:first-child{width:36vw;height:36vw;left:-20vw;top:35vh}.room-light i:last-child{width:11vw;height:11vw;right:9vw;bottom:13vh;background:rgba(185,205,187,.1)}@keyframes light-cross{to{transform:translateX(4vw);opacity:.35}}@keyframes sun-drift{to{transform:translate(-4vw,6vh)}}.mode-lamp .room-light{background:linear-gradient(125deg,#f1e4d2,#f4e5c2 48%,#ddc8b8)}.mode-lamp .room-light:after{background:rgba(228,169,105,.42)}.mode-quiet .room-light:before,.mode-quiet .room-light:after{animation:none}.mode-close .thread{max-width:660px}.mode-close .room-light{background:linear-gradient(125deg,#eee9de,#e8eadf 60%,#dfe8e5)}
.chat-head{position:fixed;z-index:30;top:0;left:0;right:0;height:74px;padding:0 26px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(246,243,234,.72);backdrop-filter:blur(18px)}.chat-head>a{color:#697a72;text-decoration:none;font-size:12px}.chat-head>div{text-align:center}.chat-head b{display:block;letter-spacing:.18em;font-size:12px}.chat-head small{display:block;margin-top:5px;color:#89968f;font-size:7px;letter-spacing:.13em}.chat-head nav{justify-self:end;display:flex;gap:5px}.chat-head nav button{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.22);color:#596c63;padding:9px 13px;cursor:pointer;font-size:10px}
.thread{width:min(760px,calc(100% - 32px));min-height:100vh;margin:auto;padding:125px 0 260px;transition:max-width .6s ease}.presence{display:grid;grid-template-columns:38px 1fr;column-gap:12px;margin-bottom:55px;color:#64776e}.presence>i{grid-row:span 2;width:38px;height:38px;border-radius:46% 54% 62% 38%;background:radial-gradient(circle at 40% 35%,#f7df9d,#c98261 65%,#a45b46);box-shadow:0 0 0 10px rgba(184,112,83,.05);animation:presence 6s ease-in-out infinite}.presence span{font-size:10px;letter-spacing:.15em}.presence small{color:#87948e;font:italic 10px/1.4 Georgia,serif}@keyframes presence{50%{transform:rotate(7deg) scale(1.06);border-radius:58% 42% 39% 61%}}
.message{position:relative;width:max-content;max-width:78%;margin:0 0 26px;animation:message-in .45s ease both}.message>span{display:block;margin:0 0 7px 15px;color:#87948e;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.message p{margin:0;padding:17px 21px;border-radius:9px 28px 28px 28px;background:rgba(255,255,255,.48);box-shadow:0 10px 35px rgba(79,97,88,.06);font:18px/1.55 Georgia,serif}.message time{display:block;margin:6px 15px 0;color:#9aa49f;font-size:8px}.message.person{margin-left:auto}.message.person>span{text-align:right;margin-right:15px}.message.person p{border-radius:28px 9px 28px 28px;background:rgba(185,205,187,.42)}.message.person time{text-align:right}.message.note{width:88%;max-width:88%;margin:50px auto}.message.note>span{text-align:center}.message.note p{padding:28px 0;border-radius:0;border-block:1px solid rgba(184,112,83,.24);background:transparent;box-shadow:none;text-align:center;font-style:italic;color:#725b50}.message .still-here{position:absolute;right:-70px;bottom:1px;color:#aa8a78;font:italic 10px Georgia,serif;transform:rotate(-4deg)}@keyframes message-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.thread-breath{height:18vh}
.composer-dock{position:fixed;z-index:25;left:50%;bottom:0;transform:translateX(-50%);width:min(820px,calc(100% - 28px));padding:12px 18px 15px;border:1px solid var(--line);border-bottom:0;border-radius:32px 32px 0 0;background:rgba(246,243,234,.83);backdrop-filter:blur(20px);box-shadow:0 -15px 60px rgba(79,98,88,.08)}.suggestions{display:flex;gap:7px;overflow-x:auto;padding:0 0 10px;scrollbar-width:none}.suggestions button{flex:0 0 auto;border:1px solid rgba(91,119,107,.22);border-radius:20px;background:rgba(255,255,255,.28);color:#566b61;padding:9px 12px;cursor:pointer;font-size:10px}.composer{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid rgba(78,108,95,.23);border-radius:25px;background:rgba(255,255,255,.52)}.composer textarea{flex:1;min-height:28px;max-height:180px;resize:none;border:0;outline:0;background:transparent;color:#374942;padding:8px 10px;line-height:1.45}.composer textarea::placeholder{color:#87938d;font:italic 13px Georgia,serif}.composer button{flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#71837a;cursor:pointer}.composer .send{background:#506d60;color:#f9f5e9;font-size:19px}.composer button.listening{color:var(--ember);box-shadow:0 0 0 8px rgba(184,112,83,.08)}.composer-dock>small{display:block;text-align:center;margin-top:8px;color:#929c97;font-size:7px;letter-spacing:.07em}
.room-controls,.reach-panel{position:fixed;z-index:50;top:84px;right:24px;width:300px;border:1px solid var(--line);border-radius:28px 8px 28px 28px;background:#f7f3e9;box-shadow:0 25px 80px rgba(62,82,73,.16);padding:23px}.room-controls p{font:italic 12px Georgia,serif;color:#74837c}.room-controls button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:#53675e;padding:12px;text-align:left;cursor:pointer}.room-controls button.active:after{content:"· in this room";float:right;color:var(--ember);font:italic 9px Georgia,serif}.reach-panel>button{float:right;border:0;background:transparent;color:#7b8983;cursor:pointer}.reach-panel>span{font-size:8px;letter-spacing:.15em;color:var(--ember)}.reach-panel h2{font:29px Georgia,serif;font-weight:400}.reach-panel>a{display:block;border-top:1px solid var(--line);padding:14px 5px;color:#475d53;text-decoration:none}.reach-panel details{border-top:1px solid rgba(184,112,83,.25);padding:14px 5px}.reach-panel summary{color:#845845;cursor:pointer}.reach-panel details p{font:12px/1.5 Georgia,serif}.reach-panel details a{display:inline-block;margin-right:5px;padding:8px 10px;border:1px solid rgba(184,112,83,.35);border-radius:16px;color:#79503e;text-decoration:none;font-size:9px}.reach-panel .boundary{color:#8b9691;font:italic 10px/1.45 Georgia,serif;margin-top:20px}
.returning{position:fixed;z-index:80;inset:0;display:grid;place-items:center;background:rgba(236,238,228,.82);backdrop-filter:blur(18px)}.returning>div{width:min(650px,calc(100% - 35px));text-align:center}.returning i{display:grid;place-items:center;width:54px;height:54px;margin:auto;border-radius:50%;background:#d5a27f;color:#fff;font-style:normal}.returning p{font:italic 14px Georgia,serif;color:#7b675c}.returning h1{font:48px/1.12 Georgia,serif;font-weight:400}.returning button{border:1px solid var(--line);border-radius:25px;background:rgba(255,255,255,.4);color:#52675d;padding:12px 18px;margin:4px;cursor:pointer}
@media(prefers-reduced-motion:reduce){.room-light:before,.room-light:after,.presence>i{animation:none}.message{animation:none}}
@media(max-width:700px){.chat-head{height:62px;padding:0 12px;grid-template-columns:1fr auto 1fr}.chat-head>a span,.chat-head small{display:none}.chat-head nav button:first-child{font-size:0}.chat-head nav button:first-child:after{content:"Reach";font-size:9px}.chat-head nav button{padding:8px 9px}.thread{padding:100px 0 245px}.presence{margin-bottom:38px}.message{max-width:87%}.message p{font-size:16px;padding:15px 17px}.message .still-here{display:none}.composer-dock{width:100%;border-radius:24px 24px 0 0;padding:10px 10px 12px}.room-controls,.reach-panel{top:69px;right:10px;width:calc(100% - 20px)}.returning h1{font-size:38px}}

/* The switches change the physical room, not merely a color token. */
.mode-windows .room-light i:first-child{border-radius:45% 55% 48% 52%;animation:curtain-breathe 9s ease-in-out infinite}.mode-windows .message.glitch p{background:rgba(255,255,255,.58)}@keyframes curtain-breathe{50%{transform:translateX(3vw) skewX(3deg)}}
.mode-lamp{--ink:#493e38;--quiet:#8c7466;--line:rgba(104,72,56,.19)}.mode-lamp .chat-head,.mode-lamp .composer-dock{background:rgba(244,226,199,.78)}.mode-lamp .message.glitch p{background:rgba(255,238,205,.65);box-shadow:0 12px 45px rgba(143,91,52,.1)}.mode-lamp .message.person p{background:rgba(205,174,139,.4)}.mode-lamp .presence>i{background:radial-gradient(circle at 38% 35%,#ffe5a0,#d6874d 62%,#9e543e);box-shadow:0 0 35px rgba(218,134,72,.28)}
.mode-quiet .presence>i,.mode-quiet .message,.mode-quiet .nature-world *{animation:none!important}.mode-quiet .room-light{background:linear-gradient(125deg,#eeece4,#e8ece5 55%,#e1e8e7)}.mode-quiet .message p{box-shadow:none}.mode-quiet .composer-dock{box-shadow:none}
.mode-close .thread{max-width:570px}.mode-close .composer-dock{max-width:630px}.mode-close .room-light:before{opacity:.15}.mode-close .message{max-width:88%}.mode-close .message p{font-size:19px;padding:20px 24px}.mode-close .presence{margin-left:8%}

/* Gathering and Campfire — a living nature system under an accessible chat layer. */
.gathering-world,.campfire-world{position:relative;min-height:100vh;padding:108px 4vw 120px;color:#eef2e8;overflow:hidden;background:#263e3e}.nature-world{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#839fa0}.nature-world .sky{position:absolute;inset:0 0 38%;background:linear-gradient(#91b3c0 0%,#c1c4ad 48%,#dcaf7f 100%);animation:sky-to-evening 95s linear infinite alternate}.nature-world .sky:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 10%,rgba(255,244,194,.18) 40%,transparent 61%)}.nature-world .sun{position:absolute;width:80px;height:80px;right:17%;top:15%;border-radius:50%;background:#ffe4a5;box-shadow:0 0 80px 30px rgba(255,213,143,.27);animation:sun-set 95s linear infinite alternate}.nature-world .moon{position:absolute;width:44px;height:44px;right:10%;top:19%;border-radius:50%;background:#e8eee2;box-shadow:0 0 35px rgba(221,235,226,.35);opacity:0;animation:moon-rise 95s linear infinite alternate}.flyby{position:absolute;left:-8%;top:29%;font-size:36px;color:rgba(40,63,61,.55);animation:fly-across 29s linear infinite}.far-trees,.near-trees{position:absolute;left:-5%;right:-5%;bottom:29%;height:31%;background:linear-gradient(135deg,transparent 47%,#2e514c 48% 54%,transparent 55%) 0 0/70px 100%,linear-gradient(45deg,transparent 47%,#355c54 48% 54%,transparent 55%) 35px 0/70px 100%;filter:blur(.4px)}.far-trees{bottom:37%;height:19%;opacity:.55;transform:scale(.75);transform-origin:bottom}.near-trees:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:#233f3b}.earth{position:absolute;inset:62% 0 0;background:radial-gradient(ellipse at 50% 100%,#5c4938,#2c443a 52%,#1f3835);box-shadow:inset 0 30px 80px rgba(10,29,27,.35)}.fire-scene{position:absolute;left:50%;bottom:9%;width:260px;height:240px;transform:translateX(-50%)}.fire-glow{position:absolute;left:50%;bottom:15px;width:340px;height:220px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#ffbd5f50 0%,#e97e3430 36%,transparent 70%);animation:glow-live 3.8s ease-in-out infinite}.logs{position:absolute;left:50%;bottom:27px;width:150px;height:36px;transform:translateX(-50%)}.logs i{position:absolute;inset:9px 0;width:150px;height:20px;border-radius:10px;background:linear-gradient(90deg,#38251d,#72503a,#2b211c);transform:rotate(13deg)}.logs i:last-child{transform:rotate(-13deg)}.flames{position:absolute;left:50%;bottom:49px;width:100px;height:115px;transform:translateX(-50%)}.flames i{position:absolute;bottom:0;left:29px;width:52px;height:105px;border-radius:48% 52% 54% 46%/70% 70% 30% 30%;background:linear-gradient(#f9d776,#f58a3d 58%,#d44f27);filter:drop-shadow(0 0 18px #e77637);transform-origin:bottom;animation:flame 1.4s ease-in-out infinite alternate}.flames i:nth-child(2){left:6px;width:43px;height:74px;animation-delay:-.6s}.flames i:nth-child(3){left:56px;width:37px;height:83px;animation-delay:-.9s}.smoke{position:absolute;left:50%;bottom:142px}.smoke i{position:absolute;width:45px;height:70px;border-radius:50%;background:rgba(200,211,198,.14);filter:blur(5px);animation:smoke 7s ease-out infinite}.smoke i:nth-child(2){animation-delay:-2.3s}.smoke i:nth-child(3){animation-delay:-4.6s}.ember{position:absolute;left:50%;bottom:115px;width:4px;height:4px;border-radius:50%;background:#ffd070;box-shadow:0 0 8px #ff9f3f;animation:ember-rise 3.4s ease-out infinite}.e2{animation-delay:-1.1s}.e3{animation-delay:-2.2s}.people{position:absolute;left:50%;bottom:7%;width:620px;height:180px;transform:translateX(-50%)}.people i{position:absolute;bottom:0;width:64px;height:115px;border-radius:50% 50% 34% 34%;background:linear-gradient(90deg,#172a28,#4a4034 70%,#b16d4144);box-shadow:20px 25px 30px rgba(255,144,56,.08)}.people i:before{content:"";position:absolute;left:14px;top:-30px;width:38px;height:38px;border-radius:50%;background:#23302c}.people i:after{content:"";position:absolute;left:-17px;bottom:-5px;width:95px;height:24px;border-radius:50%;background:#172d2a;transform:rotate(8deg)}.people i:nth-child(1){left:0;transform:rotate(5deg)}.people i:nth-child(2){left:110px;bottom:-8px;transform:scale(.9) rotate(-4deg)}.people i:nth-child(3){right:110px;bottom:-7px;transform:scale(.92) rotate(4deg)}.people i:nth-child(4){right:0;transform:rotate(-5deg)}@keyframes sky-to-evening{to{filter:hue-rotate(-12deg) brightness(.55) saturate(.85)}}@keyframes sun-set{to{transform:translate(-10vw,28vh);opacity:.18}}@keyframes moon-rise{to{transform:translate(-8vw,-6vh);opacity:1}}@keyframes fly-across{0%,70%{transform:translateX(0);opacity:0}73%{opacity:.6}100%{transform:translateX(120vw);opacity:0}}@keyframes glow-live{50%{transform:translateX(-50%) scale(1.1);opacity:.72}}@keyframes flame{to{transform:scaleX(.78) scaleY(1.12) rotate(4deg);border-radius:55% 45% 45% 55%/75% 65% 35% 25%}}@keyframes smoke{0%{transform:translate(0,0) scale(.5);opacity:0}20%{opacity:.45}100%{transform:translate(55px,-180px) scale(2);opacity:0}}@keyframes ember-rise{to{transform:translate(45px,-135px);opacity:0}}
.nature-world.night .sky{background:linear-gradient(#172d42,#3c5361 55%,#8b6556);animation:none}.nature-world.night .sun{display:none}.nature-world.night .moon{opacity:1;animation:moon-float 12s ease-in-out infinite alternate}.nature-world.night .flyby{color:rgba(210,221,208,.35)}@keyframes moon-float{to{transform:translateY(8px)}}
.gathering-world{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr) minmax(260px,.7fr);gap:28px;align-items:start}.gathering-intro,.gathering-chat,.campfire-branches,.campfire-heading,.fire-chat,.fire-composer{position:relative;z-index:2}.gathering-intro{padding-top:6vh;text-shadow:0 2px 25px #16312e}.gathering-intro>span,.campfire-heading>span{font-size:8px;letter-spacing:.2em;color:#f6ba80}.gathering-intro h1,.campfire-heading h1{font:clamp(55px,7vw,110px)/.85 Georgia,serif;font-weight:400;letter-spacing:-.055em;margin:15px 0 24px}.gathering-intro>p,.campfire-heading>p{font:16px/1.65 Georgia,serif;color:#d1ddd3}.community-scope{display:grid;gap:8px;margin-top:35px}.community-scope button{border:1px solid rgba(232,240,231,.18);border-radius:26px;background:rgba(19,45,41,.32);color:#dce7dd;text-align:left;padding:16px;cursor:pointer;backdrop-filter:blur(10px)}.community-scope button.active{border-color:#f1b77a;background:rgba(107,68,43,.45)}.community-scope small{display:block;margin-top:6px;color:#9fb2a8;font-size:8px}.gathering-chat{margin-top:4vh;border:1px solid rgba(238,245,236,.18);border-radius:32px 32px 10px 32px;background:rgba(16,39,36,.65);backdrop-filter:blur(16px);box-shadow:0 35px 90px rgba(5,20,19,.32);overflow:hidden}.gathering-chat>header{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid rgba(238,245,236,.13)}.gathering-chat>header span{font-size:7px;color:#a9bbb2}.live-ember{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef9f5e;box-shadow:0 0 12px #ef8d47}.gathering-messages{padding:18px}.gathering-messages article{margin:0 0 13px;padding:13px 15px;border-radius:8px 22px 22px 22px;background:rgba(239,244,235,.09);animation:message-in .45s ease both;animation-delay:calc(var(--m)*.1s)}.gathering-messages span{font-size:8px;color:#9eb1a7}.gathering-messages p{font:15px/1.5 Georgia;margin:7px 0}.gathering-messages button{border:0;background:transparent;color:#e1a272;padding:0;font-size:8px}.gathering-compose{padding:13px;border-top:1px solid rgba(238,245,236,.13)}.gathering-compose textarea,.fire-composer textarea{width:100%;resize:none;border:0;border-radius:17px;background:rgba(238,245,236,.09);color:#e9f0e8;padding:14px;outline:0}.gathering-compose textarea::placeholder,.fire-composer textarea::placeholder{color:#a7b7af}.gathering-compose button,.fire-composer button{display:block;margin:9px 0 0 auto;border:1px solid rgba(241,183,122,.45);border-radius:18px;background:rgba(108,66,40,.45);color:#f5d6b8;padding:9px 12px;cursor:pointer;font-size:9px}.campfire-branches{margin-top:7vh;padding:22px;border:1px solid rgba(238,245,236,.14);border-radius:28px;background:rgba(13,35,32,.54);backdrop-filter:blur(13px)}.campfire-branches header span{color:#f0a969;font-size:7px;letter-spacing:.15em}.campfire-branches h2{font:24px Georgia;font-weight:400}.campfire-branches>button{width:100%;display:grid;grid-template-columns:24px 1fr;text-align:left;border:0;border-top:1px solid rgba(238,245,236,.13);background:transparent;color:#e4ece4;padding:14px 3px;cursor:pointer}.campfire-branches button i{grid-row:span 2;color:#eea160}.campfire-branches button strong{font:15px Georgia;font-weight:400}.campfire-branches button span,.campfire-branches button small{color:#9bafa5;font-size:8px;margin-top:5px}.campfire-branches .request-fire{margin-top:15px;border:1px dashed rgba(239,181,120,.35);border-radius:20px;padding:14px}.campfire-world{padding-left:7vw;padding-right:7vw}.campfire-heading{width:55%;padding-top:4vh;text-shadow:0 2px 28px #122826}.campfire-heading>p{max-width:650px;border-left:2px solid #ef9e5f;padding-left:18px}.fire-chat{width:min(700px,65%);margin:40px 0 0 auto}.fire-chat article{margin-bottom:15px;padding:23px;border:1px solid rgba(234,241,232,.14);border-radius:10px 34px 34px 34px;background:rgba(13,34,31,.58);backdrop-filter:blur(13px)}.fire-chat article span{font-size:8px;color:#9db0a6}.fire-chat article p{font:18px/1.6 Georgia}.fire-chat article button{border:0;background:transparent;color:#e1a06e;margin-right:12px;padding:0;cursor:pointer;font-size:8px}.fire-composer{width:min(700px,65%);margin:14px 0 0 auto;padding:15px;border:1px solid rgba(234,241,232,.14);border-radius:25px;background:rgba(13,34,31,.66);backdrop-filter:blur(14px)}.fire-composer>div{display:flex;align-items:center;justify-content:space-between}.fire-composer small{color:#96aaa0;font-size:7px}.community-notice{position:fixed;z-index:90;left:50%;bottom:30px;transform:translateX(-50%);width:min(520px,calc(100% - 28px));padding:18px 20px;border:1px solid rgba(238,191,143,.4);border-radius:26px;background:#f3e8d8;color:#5d4c43;box-shadow:0 20px 70px rgba(15,32,29,.4);font:14px/1.5 Georgia}.community-notice button{float:right;border:0;background:transparent;color:#9b684f;cursor:pointer}
@media(max-width:1000px){.gathering-world{grid-template-columns:1fr 1fr}.campfire-branches{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.campfire-branches header{grid-column:1/-1}.campfire-branches>button{border:1px solid rgba(238,245,236,.13);border-radius:20px;padding:15px}.people{width:520px}.people i:nth-child(2){left:90px}.people i:nth-child(3){right:90px}}
@media(max-width:700px){.space-gathering .chat-head nav button:nth-last-child(2),.space-campfire .chat-head nav button:nth-last-child(2){display:none}.gathering-world,.campfire-world{display:block;padding:85px 14px 100px;overflow-y:auto}.gathering-intro{padding-top:20px}.gathering-intro h1,.campfire-heading h1{font-size:58px}.gathering-chat,.campfire-branches{margin-top:24px}.campfire-branches{display:block}.campfire-heading,.fire-chat,.fire-composer{width:100%}.fire-chat{margin-top:28px}.fire-composer>div{display:grid;gap:8px}.fire-composer button{margin-left:0}.nature-world .far-trees,.nature-world .near-trees{bottom:38%}.nature-world .earth{inset:55% 0 0}.fire-scene{bottom:14%;transform:translateX(-50%) scale(.72)}.people{bottom:12%;width:100%;transform:translateX(-50%) scale(.72)}.people i:nth-child(2),.people i:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){.nature-world *{animation:none!important}.nature-world .sky{filter:brightness(.78)}}

/* Photographic ground truth with code-controlled atmosphere layered above it. */
.nature-world{background:linear-gradient(rgba(19,43,39,.14),rgba(11,29,27,.5)),url("/glitch-gathering-clearing.png") center/cover no-repeat #839fa0}
.nature-world .sky{inset:0;background:linear-gradient(rgba(117,154,173,.08),rgba(222,175,127,.12) 55%,rgba(25,50,45,.16));mix-blend-mode:multiply}
.nature-world .far-trees,.nature-world .near-trees,.nature-world .earth{display:none}
.nature-world.night{background-image:linear-gradient(rgba(8,22,32,.58),rgba(9,19,23,.72)),url("/glitch-gathering-clearing.png");filter:saturate(.74)}
.nature-world.night .sky{background:linear-gradient(rgba(13,36,63,.68),rgba(47,67,79,.36) 55%,rgba(92,61,53,.28));mix-blend-mode:multiply}

/* The atmosphere shelf stays visible; each choice physically changes the room. */
.atmosphere-shelf{position:fixed;z-index:24;top:88px;left:24px;width:176px;display:grid;gap:3px;padding:8px;border:1px solid rgba(78,108,95,.15);border-radius:26px;background:rgba(247,244,235,.54);backdrop-filter:blur(15px);box-shadow:0 18px 55px rgba(70,91,82,.07)}.atmosphere-shelf button{display:grid;grid-template-columns:30px 1fr;align-items:center;border:0;border-radius:19px;background:transparent;color:#667970;padding:9px 10px;text-align:left;cursor:pointer;font-size:9px;transition:background .35s,color .35s,transform .35s}.atmosphere-shelf button i{font:14px Georgia,serif;font-style:normal;color:#9a806f}.atmosphere-shelf button:hover{transform:translateX(3px)}.atmosphere-shelf button.active{background:rgba(255,255,255,.48);color:#354a41;box-shadow:0 7px 24px rgba(66,86,77,.07)}.atmosphere-shelf button.active i{color:var(--ember)}.atmosphere-shelf .clean-room{margin-top:4px;border-top:1px solid rgba(78,108,95,.13);border-radius:0 0 18px 18px;color:#887a72}
.chat-world:before,.chat-world:after{content:"";position:fixed;z-index:-1;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(102,117,106,.16),rgba(235,231,220,.48));transition:width 1.2s cubic-bezier(.2,.8,.2,1);pointer-events:none}.chat-world:before{left:0}.chat-world:after{right:0;transform:scaleX(-1)}
.mode-windows .room-light i:first-child,.mode-windows .room-light i:last-child{position:absolute;top:0;bottom:0;width:25vw;height:auto;border:0;border-radius:0;background:linear-gradient(90deg,rgba(218,218,202,.62),rgba(247,244,232,.1));filter:blur(1px);transform-origin:left;animation:curtain-open 1.15s cubic-bezier(.2,.8,.2,1) both}.mode-windows .room-light i:first-child{left:0}.mode-windows .room-light i:last-child{right:0;left:auto;transform-origin:right;background:linear-gradient(-90deg,rgba(218,218,202,.58),rgba(247,244,232,.08))}@keyframes curtain-open{from{width:46vw;opacity:.95}to{width:18vw;opacity:.42}}.mode-windows .room-light:before{opacity:.72}.mode-windows .thread{filter:drop-shadow(0 18px 50px rgba(86,106,96,.03))}
.mode-lamp .room-light i:last-child{display:block;position:absolute;right:7vw;top:28vh;width:150px;height:150px;border:0;border-radius:50%;background:radial-gradient(circle,#ffd68c 0%,rgba(227,151,77,.34) 34%,transparent 72%);box-shadow:0 0 90px 35px rgba(221,145,70,.2);animation:lamp-warm 1.2s ease both}.mode-lamp .room-light i:first-child{display:block;position:absolute;left:7vw;bottom:12vh;width:1px;height:42vh;border:0;background:linear-gradient(transparent,#9a7256,transparent);opacity:.25}@keyframes lamp-warm{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}.mode-lamp .room-light:before{opacity:.16}
.mode-quiet .room-light i{display:none}.mode-quiet .atmosphere-shelf{box-shadow:none;background:rgba(240,239,233,.76)}.mode-quiet .composer-dock{background:rgba(239,239,233,.92)}
.mode-close:before,.mode-close:after{width:17vw;background:linear-gradient(90deg,rgba(27,25,21,.44),rgba(52,43,35,.12))}.mode-close .atmosphere-shelf{opacity:.78}.mode-close .thread{transform:translateY(1.5vh)}.mode-close .composer-dock{box-shadow:0 -15px 70px rgba(72,84,76,.16)}
.reset-confirm{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(226,230,220,.78);backdrop-filter:blur(20px)}.reset-confirm>div{width:min(520px,100%);padding:45px;border:1px solid rgba(86,109,98,.18);border-radius:65px 20px 65px 20px;background:#f6f1e7;box-shadow:0 30px 100px rgba(58,77,68,.18)}.reset-confirm span{color:var(--ember);font-size:8px;letter-spacing:.18em}.reset-confirm h2{font:36px/1.15 Georgia,serif;font-weight:400;margin:13px 0}.reset-confirm p{color:#728079;font:14px/1.6 Georgia,serif}.reset-confirm button{border:1px solid rgba(78,108,95,.18);border-radius:22px;background:transparent;color:#5c6f66;padding:11px 15px;margin:12px 5px 0 0;cursor:pointer}.reset-confirm .confirm-clean{background:#526b60;color:#f5f1e7}
@media(max-width:980px){.atmosphere-shelf{top:auto;left:50%;bottom:207px;transform:translateX(-50%);width:min(720px,calc(100% - 28px));display:flex;overflow-x:auto;border-radius:25px;scrollbar-width:none}.atmosphere-shelf button{flex:1 0 118px;grid-template-columns:22px 1fr;padding:8px}.atmosphere-shelf .clean-room{margin:0;border:0;border-left:1px solid rgba(78,108,95,.13);border-radius:0 18px 18px 0}.thread{padding-bottom:335px}.mode-close:before,.mode-close:after{width:7vw}}
@media(max-width:700px){.atmosphere-shelf{bottom:200px;padding:6px;width:calc(100% - 18px)}.atmosphere-shelf button{flex-basis:105px;font-size:8px;padding:7px}.atmosphere-shelf button i{font-size:12px}.thread{padding-bottom:325px}.reset-confirm>div{padding:32px 25px;border-radius:45px 16px}.reset-confirm h2{font-size:30px}}

/* Immersive rooms. The accessible conversation remains ordinary DOM above them. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.room-environment{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#e6e8df;perspective:1200px;pointer-events:none}
.room-scene{position:absolute;inset:-2.5%;background-position:center;background-size:cover;opacity:0;transform:scale(1.055);transition:opacity 1.45s ease,transform 2.1s cubic-bezier(.2,.75,.2,1);will-change:opacity,transform}
.room-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,242,233,.74) 0%,rgba(244,242,233,.52) 22%,rgba(244,242,233,.35) 50%,rgba(244,242,233,.52) 78%,rgba(244,242,233,.74) 100%)}
.room-scene-windows{background-image:url("/glitch-room-windows.png")}
.room-scene-lamp{background-image:url("/glitch-room-lamp.png")}
.room-scene-quiet{background-image:url("/glitch-room-quiet.png")}
.room-scene-close{background-image:url("/glitch-room-close.png")}
.mode-windows .room-scene-windows,.mode-lamp .room-scene-lamp,.mode-quiet .room-scene-quiet,.mode-close .room-scene-close{opacity:1;transform:scale(1)}
.mode-lamp .room-scene:after{background:linear-gradient(90deg,rgba(38,29,25,.5),rgba(69,52,41,.2) 38%,rgba(73,52,37,.14) 62%,rgba(38,28,24,.38))}
.mode-quiet .room-scene:after{background:linear-gradient(90deg,rgba(237,235,226,.68),rgba(240,239,232,.52) 27%,rgba(240,239,232,.36) 52%,rgba(235,233,225,.66))}
.mode-close .room-scene:after{background:linear-gradient(90deg,rgba(24,22,19,.63),rgba(44,36,29,.34) 30%,rgba(42,34,28,.26) 62%,rgba(22,20,18,.58))}
.room-depth{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 18%,rgba(39,51,44,.06) 72%,rgba(25,35,30,.12));mix-blend-mode:multiply}
.room-vignette{position:absolute;inset:0;box-shadow:inset 0 0 20vw rgba(39,45,39,.11)}
.window-air{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.window-air i{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(255,249,217,.82);box-shadow:0 0 10px rgba(255,246,204,.65);animation:air-drift 13s linear infinite}
.window-air i:nth-child(1){left:24%;top:38%;animation-delay:-2s}.window-air i:nth-child(2){left:42%;top:23%;animation-delay:-8s;transform:scale(.6)}.window-air i:nth-child(3){left:65%;top:48%;animation-delay:-5s}.window-air i:nth-child(4){left:73%;top:31%;animation-delay:-11s;transform:scale(.5)}.window-air i:nth-child(5){left:53%;top:63%;animation-delay:-4s;transform:scale(.8)}
.mode-windows .window-air{opacity:.75}
@keyframes air-drift{0%{translate:-9vw 7vh;opacity:0}18%{opacity:.75}72%{opacity:.35}100%{translate:13vw -12vh;opacity:0}}
.rain-glass{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.rain-glass i{position:absolute;top:-15%;width:1px;height:70px;background:linear-gradient(transparent,rgba(213,232,232,.52),transparent);transform:rotate(8deg);animation:rain-fall 3.8s linear infinite}
.rain-glass i:nth-child(1){left:51%;animation-delay:-.4s}.rain-glass i:nth-child(2){left:58%;animation-delay:-2.1s;height:45px}.rain-glass i:nth-child(3){left:64%;animation-delay:-1.2s}.rain-glass i:nth-child(4){left:70%;animation-delay:-3.3s;height:38px}.rain-glass i:nth-child(5){left:76%;animation-delay:-2.7s}.rain-glass i:nth-child(6){left:82%;animation-delay:-.9s;height:52px}
.mode-close .rain-glass{opacity:.66}
@keyframes rain-fall{to{translate:-2vw 125vh}}
.room-state{position:fixed;right:28px;bottom:24px;color:rgba(74,86,79,.62);font:italic 11px Georgia,serif;letter-spacing:.03em;transition:color 1s ease}
.mode-lamp .room-state,.mode-close .room-state{color:rgba(246,224,197,.56)}
.space-gathering .room-environment,.space-campfire .room-environment{display:none}

/* Readability is constant even when the world behind it changes. */
.space-private .chat-head,.space-private .composer-dock,.space-private .atmosphere-shelf{transition:background 1.1s ease,border-color 1.1s ease,color 1.1s ease,box-shadow 1.1s ease}
.space-private .message p{backdrop-filter:blur(20px) saturate(.85)}
.mode-windows .room-light,.mode-lamp .room-light,.mode-quiet .room-light,.mode-close .room-light{opacity:0}
.mode-lamp .chat-head,.mode-lamp .composer-dock{background:rgba(56,43,35,.78);color:#f5eadb;border-color:rgba(241,220,190,.18)}
.mode-lamp .chat-head b,.mode-lamp .chat-head a,.mode-lamp .chat-head nav button,.mode-lamp .composer-dock>small{color:#f3dfc8}
.mode-lamp .chat-head small{color:#c9ad96}.mode-lamp .atmosphere-shelf{background:rgba(57,43,35,.7);border-color:rgba(242,219,188,.16)}.mode-lamp .atmosphere-shelf button{color:#d8c3ae}.mode-lamp .atmosphere-shelf button.active{background:rgba(245,220,186,.13);color:#fff0dd}
.mode-close{--ink:#f3eadf;--quiet:#c9b6a3;--line:rgba(242,222,198,.18)}.mode-close .chat-head,.mode-close .composer-dock{background:rgba(31,28,24,.79);color:#f5ecdf}.mode-close .chat-head a,.mode-close .chat-head nav button,.mode-close .composer-dock>small{color:#e3d3c1}.mode-close .chat-head small{color:#bda994}.mode-close .atmosphere-shelf{background:rgba(29,27,23,.73);border-color:rgba(242,220,194,.15)}.mode-close .atmosphere-shelf button{color:#d4c4b2}.mode-close .atmosphere-shelf button.active{background:rgba(246,225,199,.13);color:#fff0df}.mode-close .message.glitch p{background:rgba(49,44,37,.74);color:#f4eadc}.mode-close .message.person p{background:rgba(100,78,60,.72);color:#fff4e7}.mode-close .presence{color:#eadbca}.mode-close .presence small,.mode-close .message>span,.mode-close .message time{color:#c6b4a0}
.mode-quiet .room-state{opacity:.55}.mode-quiet .window-air,.mode-quiet .rain-glass{display:none}

/* User-controlled room tuning. Visual controls never imply that audio is playing. */
.space-private .room-environment{filter:brightness(var(--room-light,1)) sepia(var(--room-warmth,.07));}
.space-private .room-environment:after{content:"";position:absolute;inset:0;z-index:20;background:rgba(7,14,12,var(--room-shade,.18));pointer-events:none;transition:background .4s ease}
.room-controls{position:fixed;z-index:46;top:86px;left:216px;width:min(390px,calc(100vw - 240px));max-height:calc(100vh - 104px);overflow:auto;padding:24px;border:1px solid rgba(224,229,216,.18);border-radius:28px;background:rgba(20,31,28,.94);color:#eef1e9;box-shadow:0 28px 90px rgba(5,13,11,.34);backdrop-filter:blur(28px)}
.room-controls header{display:flex;align-items:flex-start;justify-content:space-between}.room-controls header small{color:#a9b8af;font-size:8px;letter-spacing:.17em}.room-controls h2{margin:5px 0 0;font:28px/1.1 Georgia,serif;font-weight:400}.room-controls header>button{width:34px;height:34px;border:1px solid rgba(230,235,221,.16);border-radius:50%;background:transparent;color:#eef1e9;cursor:pointer}.room-controls>p{color:#b4c0b8;font:13px/1.55 Georgia,serif}
.room-controls>label{display:grid;grid-template-columns:1fr auto;gap:7px;margin:18px 0;color:#dbe2dc;font-size:11px;letter-spacing:.04em}.room-controls output{color:#aab8b0}.room-controls input[type=range]{grid-column:1/-1;width:100%;accent-color:#d39872}
.room-switches{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.room-switches button{display:flex;align-items:center;gap:8px;min-height:58px;padding:9px;border:1px solid rgba(229,234,221,.14);border-radius:16px;background:rgba(244,239,225,.05);color:#d8e0da;text-align:left;cursor:pointer}.room-switches button.active{border-color:rgba(235,170,124,.55);background:rgba(194,121,80,.16)}.room-switches i{font:17px Georgia,serif;font-style:normal}.room-switches span{font-size:10px}.room-switches small{display:block;margin-top:3px;color:#98aaa0;font-size:8px}
.room-controls fieldset{display:flex;gap:6px;margin:20px 0;padding:0;border:0}.room-controls legend{margin-bottom:8px;color:#a9b8af;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.room-controls fieldset button{flex:1;padding:9px;border:1px solid rgba(229,234,221,.13);border-radius:14px;background:transparent;color:#b9c6be;text-transform:capitalize;cursor:pointer}.room-controls fieldset button.active{background:#e8e2d4;color:#22342e}.room-controls footer{display:flex;justify-content:flex-end;gap:7px}.room-controls footer button{padding:11px 14px;border:1px solid rgba(230,235,221,.16);border-radius:16px;background:transparent;color:#d7dfd9;cursor:pointer}.room-controls footer .save-room{background:#e8e2d4;color:#22342e}
.tuned-candle{position:absolute;z-index:15;right:9vw;bottom:8vh;width:32px;height:76px;opacity:0;transition:opacity .5s ease}.has-candle .tuned-candle{opacity:1}.tuned-candle span{position:absolute;inset:22px 3px 0;border-radius:8px 8px 3px 3px;background:linear-gradient(90deg,#c7ad88,#f3dfba 46%,#b89d79);box-shadow:0 0 55px 25px rgba(231,159,87,.17)}.tuned-candle i{position:absolute;z-index:2;left:10px;top:0;width:13px;height:25px;border-radius:52% 48% 55% 45%;background:radial-gradient(circle at 50% 65%,#fff7c7,#efaa55 55%,rgba(218,93,50,.2));filter:drop-shadow(0 0 9px #efaa55);animation:candle-live 2.6s ease-in-out infinite}
.has-rain .rain-glass{opacity:.72}.has-thunder .storm-flash{opacity:1;animation:storm-flash 11s steps(1,end) infinite}.motion-still .room-environment *{animation-play-state:paused!important}.motion-alive .window-air i,.motion-alive .meadow-life i{animation-duration:calc(var(--base-duration,10s) * .72)}
@keyframes candle-live{50%{transform:translateX(1px) scale(.92,1.08);filter:drop-shadow(0 0 13px #efaa55)}}
@media(max-width:980px){.room-controls{top:82px;left:14px;width:calc(100vw - 28px);max-height:calc(100vh - 300px)}}
@media(max-width:700px){.room-controls{top:74px;padding:19px}.room-switches{grid-template-columns:1fr}.room-switches button{min-height:48px}}

@media(max-width:980px){.room-scene{background-position:center}.room-state{display:none}.room-scene:after{background:linear-gradient(rgba(242,240,232,.58),rgba(242,240,232,.4))}.mode-lamp .room-scene:after,.mode-close .room-scene:after{background:linear-gradient(rgba(28,25,22,.45),rgba(36,31,27,.38))}}
@media(prefers-reduced-motion:reduce){.room-scene{transition:opacity .25s linear;transform:none!important}.window-air,.rain-glass{display:none}.room-state{display:none}}

/* Calm writing law: expressive fields expand before words can disappear. */
.composer-dock{transition:width .42s ease,background .42s ease,box-shadow .42s ease}.composer-dock.is-writing{width:min(960px,calc(100% - 28px));padding-top:15px;box-shadow:0 -28px 90px rgba(53,70,62,.14)}.composer-dock.is-writing .suggestions{max-height:0;opacity:0;padding:0;overflow:hidden}.composer textarea{max-height:58vh;transition:min-height .36s ease,height .18s ease;font:16px/1.6 Georgia,serif;scroll-padding:22px}.composer-dock.is-writing .composer{align-items:flex-end;border-radius:29px}.composer-dock.is-writing .composer textarea{min-height:180px;padding:18px 17px;font-size:18px;line-height:1.7}.composer-dock.is-writing .composer button{margin-bottom:4px}
.gathering-compose textarea,.fire-composer textarea{max-height:55vh;overflow-y:auto;transition:min-height .35s ease,height .18s ease;background:rgba(238,245,236,.12);font:16px/1.65 Georgia,serif;scroll-padding:20px}.gathering-compose textarea:focus,.fire-composer textarea:focus,.gathering-compose.is-writing textarea,.fire-composer.is-writing textarea{min-height:190px;background:rgba(238,245,236,.14);box-shadow:inset 0 0 0 1px rgba(241,192,143,.22)}.fire-composer.is-writing{width:min(820px,78%)}.gathering-compose.is-writing,.fire-composer.is-writing{padding-top:16px}
@media(max-width:700px){.composer-dock.is-writing{width:100%;padding:10px}.composer-dock.is-writing .composer textarea{min-height:34vh;max-height:58vh}.gathering-compose textarea:focus,.fire-composer textarea:focus,.gathering-compose.is-writing textarea,.fire-composer.is-writing textarea{min-height:34vh}.fire-composer.is-writing{width:100%}}
@media(prefers-reduced-motion:reduce){.composer-dock,.composer textarea,.gathering-compose textarea,.fire-composer textarea{transition:none}}

/* Legibility is room infrastructure, not decoration. Keep weight restrained and
   create contrast with surfaces, color and spacing. */
.space-private{
  --read-ink:#263a33;
  --read-muted:#586b63;
  --field-ink:#172a23;
  --field-muted:#64766e;
  --field-surface:rgba(251,250,244,.94);
}
.space-private .message p{color:var(--read-ink);background:rgba(252,251,246,.88);box-shadow:0 14px 42px rgba(29,48,40,.1)}
.space-private .message.person p{color:#20382f;background:rgba(205,222,211,.9)}
.space-private .message>span,.space-private .message time,.space-private .presence small{color:var(--read-muted)}
.space-private .composer{background:var(--field-surface);border-color:rgba(40,68,57,.32);box-shadow:inset 0 1px rgba(255,255,255,.7)}
.space-private .composer textarea{color:var(--field-ink);caret-color:#355f50;font-weight:400}
.space-private .composer textarea::placeholder{color:var(--field-muted);opacity:1}
.space-private .composer-dock>small{color:#586a62}
.space-private .suggestions button{color:#354f45;background:rgba(251,250,245,.78);border-color:rgba(45,75,63,.27)}
.space-private .atmosphere-shelf button{color:#41584f}
.space-private .atmosphere-shelf button.active{color:#243e34;background:rgba(255,255,251,.82)}

/* Open Windows: clear air outside, protected reading plane inside. */
.mode-windows .room-scene:after{background:linear-gradient(90deg,rgba(239,242,232,.72),rgba(239,242,232,.38) 33%,rgba(236,241,230,.28) 61%,rgba(239,242,232,.7))}
.mode-windows .chat-head,.mode-windows .composer-dock,.mode-windows .atmosphere-shelf{background:rgba(241,243,235,.88);border-color:rgba(43,70,59,.2)}

/* Lamp On: amber atmosphere with a neutral dark writing surface. */
.mode-lamp{--read-ink:#f8efe3;--read-muted:#d7c7b5;--field-ink:#fff9ef;--field-muted:#d1beaa;--field-surface:rgba(31,27,23,.94)}
.mode-lamp .composer{border-color:rgba(248,222,190,.3)}
.mode-lamp .composer-dock>small{color:#d8c7b5}
.mode-lamp .suggestions button{color:#f0dfcb;background:rgba(40,33,28,.78);border-color:rgba(241,216,186,.24)}
.mode-lamp .message.glitch p{color:#f9f0e5;background:rgba(46,38,32,.88)}
.mode-lamp .message.person p{color:#fff6e8;background:rgba(105,77,56,.9)}
.mode-lamp .message>span,.mode-lamp .message time,.mode-lamp .presence small{color:#d7c7b5}
.mode-lamp .atmosphere-shelf button{color:#e6d5c2}

/* Quiet Room: low stimulation, not a green filter. Warm, used and human. */
.mode-quiet{--read-ink:#372f29;--read-muted:#6f6259;--field-ink:#2c2622;--field-muted:#776d65;--field-surface:rgba(244,238,226,.94);--line:rgba(88,72,60,.18)}
.mode-quiet .room-environment{background:#b9aa96}
.mode-quiet .room-scene-quiet{filter:brightness(.82) saturate(.9) contrast(1.02)}
.mode-quiet .room-scene:after{background:linear-gradient(90deg,rgba(81,66,53,.25),rgba(238,228,210,.06) 35%,rgba(220,212,195,.02) 67%,rgba(67,55,46,.22))}
.mode-quiet .room-depth{background:radial-gradient(ellipse at 50% 44%,transparent 24%,rgba(57,44,34,.04) 67%,rgba(38,29,23,.14));mix-blend-mode:multiply}
.mode-quiet .room-vignette{box-shadow:inset 0 0 18vw rgba(35,27,21,.16)}
.mode-quiet .chat-head,.mode-quiet .composer-dock,.mode-quiet .atmosphere-shelf{background:rgba(231,224,211,.9);color:#3a312b;border-color:rgba(91,73,60,.17);box-shadow:0 12px 42px rgba(45,34,27,.07)}
.mode-quiet .chat-head a,.mode-quiet .chat-head nav button,.mode-quiet .chat-head b{color:#463b33}.mode-quiet .chat-head small{color:#77695f}
.mode-quiet .message.glitch p{color:#342d28;background:rgba(242,235,222,.92)}
.mode-quiet .message.person p{color:#302a26;background:rgba(211,198,178,.92)}
.mode-quiet .message>span,.mode-quiet .message time,.mode-quiet .presence,.mode-quiet .presence small{color:#776a60}
.mode-quiet .suggestions button{color:#403730;background:rgba(241,234,221,.84);border-color:rgba(93,74,61,.2)}
.mode-quiet .composer-dock>small{color:#6e6259}
.mode-quiet .atmosphere-shelf button{color:#55483f}.mode-quiet .atmosphere-shelf button.active{color:#2f2823;background:rgba(252,247,237,.76)}
.mode-quiet .room-state{color:#6f6259;opacity:.78}

/* Sparse outdoor life: three transform/opacity-only layers, safe under heavy use. */
.outdoor-life{position:absolute;inset:0;opacity:0;overflow:hidden}
.mode-windows .outdoor-life{opacity:1}
.outdoor-life i{position:absolute;display:block;will-change:transform,opacity}
.outdoor-life i:first-child{inset:5% -8% 17%;background:radial-gradient(ellipse at 32% 46%,rgba(255,249,217,.12),transparent 17%),radial-gradient(ellipse at 68% 32%,rgba(255,255,236,.09),transparent 14%);filter:blur(8px);animation:leaf-light 16s ease-in-out infinite alternate}
.outdoor-life i:nth-child(2){left:-6%;top:24%;width:12px;height:5px;border-top:1px solid rgba(35,58,48,.58);border-radius:50%;box-shadow:7px 1px 0 -2px rgba(35,58,48,.58);animation:distant-bird 31s linear infinite}
.outdoor-life i:nth-child(3){left:-9%;top:29%;width:8px;height:4px;border-top:1px solid rgba(35,58,48,.42);border-radius:50%;box-shadow:5px 1px 0 -2px rgba(35,58,48,.42);animation:distant-bird 37s -19s linear infinite}
.quiet-character,.quiet-weather{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 1.1s ease}.mode-quiet .quiet-character,.mode-quiet .quiet-weather{opacity:1}
.quiet-character .plaster-crack{position:absolute;right:14.5%;top:22%;width:1px;height:23%;background:linear-gradient(transparent,rgba(72,57,46,.3) 11%,rgba(72,57,46,.22) 68%,transparent);transform:rotate(8deg);box-shadow:7px 29px 0 -1px rgba(71,56,45,.14),-5px 61px 0 -1px rgba(71,56,45,.12)}
.quiet-character .plaster-crack:before,.quiet-character .plaster-crack:after{content:"";position:absolute;width:1px;height:54px;background:linear-gradient(rgba(70,55,44,.22),transparent);transform-origin:top}.quiet-character .plaster-crack:before{top:39px;transform:rotate(37deg)}.quiet-character .plaster-crack:after{top:88px;height:34px;transform:rotate(-42deg)}
.quiet-character .worn-corner{position:absolute;left:18.4%;bottom:12%;width:17%;height:22%;border-radius:44% 56% 18% 82%;background:radial-gradient(ellipse at 20% 100%,rgba(63,47,35,.16),transparent 58%),repeating-radial-gradient(ellipse at 0 100%,rgba(112,88,66,.07) 0 1px,transparent 2px 8px);mix-blend-mode:multiply;transform:rotate(-4deg)}
.quiet-character .floor-scar{position:absolute;left:29%;bottom:8%;width:24%;height:1px;background:linear-gradient(90deg,transparent,rgba(65,49,36,.3),rgba(65,49,36,.1),transparent);transform:rotate(-2deg);box-shadow:65px -13px 0 -1px rgba(65,49,36,.13),-28px 18px 0 -1px rgba(65,49,36,.1)}
.quiet-weather{overflow:hidden;clip-path:inset(7% 40.6% 28% 41.4% round 1px)}
.quiet-weather .mist-bank{position:absolute;left:36%;top:16%;width:35%;height:56%;background:radial-gradient(ellipse,rgba(236,239,226,.28),transparent 65%);filter:blur(16px);animation:quiet-mist 24s ease-in-out infinite alternate}
.quiet-weather .branch-breath{position:absolute;left:44%;top:12%;width:20%;height:60%;background:linear-gradient(105deg,transparent 46%,rgba(35,57,40,.13) 47% 48%,transparent 49%),repeating-radial-gradient(ellipse at 60% 35%,rgba(51,76,52,.16) 0 2px,transparent 4px 19px);transform-origin:55% 72%;animation:quiet-branch 9s ease-in-out infinite alternate}
.quiet-weather .quiet-bird{position:absolute;left:38%;top:27%;width:8px;height:4px;border-top:1px solid rgba(42,57,46,.52);border-radius:50%;box-shadow:5px 1px 0 -2px rgba(42,57,46,.52);animation:quiet-bird 38s -17s linear infinite}
@keyframes leaf-light{to{transform:translate3d(2.2vw,-1vh,0) scale(1.025);opacity:.68}}
@keyframes distant-bird{0%,68%{transform:translateX(0);opacity:0}71%{opacity:.55}96%{opacity:.32}100%{transform:translateX(112vw) translateY(-4vh);opacity:0}}
@keyframes quiet-mist{to{transform:translate3d(8%,2%,0) scale(1.08);opacity:.62}}@keyframes quiet-branch{to{transform:rotate(.85deg) translateX(2px)}}@keyframes quiet-bird{0%,58%{transform:translateX(-8vw);opacity:0}61%{opacity:.6}75%{opacity:.45}82%,100%{transform:translateX(30vw) translateY(-2vh);opacity:0}}
@media(prefers-reduced-motion:reduce){.outdoor-life,.quiet-weather{display:none}}

/* Campfire is a social home, not an editorial landing page. */
.gathering-world{grid-template-columns:220px minmax(440px,700px) 270px;justify-content:center;gap:18px;padding:92px 24px 110px;background:transparent}
.gathering-world:after{content:"";position:fixed;inset:0;z-index:0;background:linear-gradient(90deg,rgba(8,25,23,.78),rgba(10,28,26,.42) 30%,rgba(10,28,26,.42) 70%,rgba(8,25,23,.78));pointer-events:none}
.campfire-rail,.gathering-chat,.campfire-branches{position:relative;z-index:2;margin-top:18px}
.campfire-rail{height:calc(100vh - 130px);min-height:570px;padding:18px 12px;border:1px solid rgba(238,245,236,.12);border-radius:24px;background:rgba(9,30,27,.72);backdrop-filter:blur(22px);box-shadow:0 24px 70px rgba(3,16,15,.2)}
.campfire-mark{display:flex;align-items:center;gap:10px;padding:8px 9px 22px}.campfire-mark .live-ember{width:12px;height:12px}.campfire-mark div{display:grid}.campfire-mark b{font:22px/1 Georgia,serif}.campfire-mark span{margin-top:5px;color:#9fb1a7;font-size:9px}
.campfire-rail nav{display:grid;gap:4px}.campfire-rail nav button{display:flex;align-items:center;gap:11px;width:100%;padding:11px;border:0;border-radius:15px;background:transparent;color:#b9c7bf;text-align:left;cursor:pointer}.campfire-rail nav button.active{background:rgba(239,181,120,.14);color:#fff}.campfire-rail nav i{width:25px;font-style:normal;font-size:18px;color:#dfa16e}.campfire-rail nav span{display:grid;font:13px system-ui,sans-serif}.campfire-rail nav small{margin-top:3px;color:#82988d;font-size:8px}
.campfire-rail .start-campfire{width:calc(100% - 10px);margin:24px 5px 10px;padding:12px;border:1px solid rgba(240,170,105,.4);border-radius:16px;background:#bd7443;color:#fff4e7;font:12px system-ui,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(130,65,31,.22)}.campfire-rail>p{padding:0 10px;color:#7f958a;font:9px/1.5 system-ui,sans-serif}
.gathering-chat{margin-top:18px;border-radius:24px;background:rgba(14,37,34,.78);box-shadow:0 30px 100px rgba(3,15,14,.34);backdrop-filter:blur(22px)}
.gathering-chat>header{min-height:66px;padding:12px 18px}.gathering-chat>header>div{display:flex;align-items:center;gap:11px}.gathering-chat>header>div>span{display:grid}.gathering-chat>header b{font:18px/1.1 Georgia,serif}.gathering-chat>header small{margin-top:4px;color:#91a69b;font:9px system-ui,sans-serif}.gathering-chat>header>button{border:0;background:transparent;color:#a8bbb1;font-size:16px;cursor:pointer}
.gathering-pulse{display:flex;align-items:center;gap:13px;margin:16px 18px 7px;padding:13px 15px;border-radius:18px;background:linear-gradient(105deg,rgba(214,132,74,.18),rgba(230,184,121,.06));border:1px solid rgba(233,179,121,.12)}.presence-faces{display:flex}.presence-faces i,.right-presence i{display:grid;place-items:center;width:30px;height:30px;margin-left:-6px;border:2px solid #193a35;border-radius:50%;background:linear-gradient(135deg,#c18761,#4c7469);color:#fff4e8;font:10px system-ui,sans-serif}.presence-faces i:first-child{margin-left:0}.presence-faces i:nth-child(2),.right-presence div:nth-child(3) i{background:linear-gradient(135deg,#557c76,#b37a55)}.presence-faces i:nth-child(3),.right-presence div:nth-child(4) i{background:linear-gradient(135deg,#7b5c78,#b48662)}.gathering-pulse p{display:grid;margin:0}.gathering-pulse b{font:11px system-ui,sans-serif}.gathering-pulse span{margin-top:4px;color:#9db0a6;font:9px system-ui,sans-serif}
.gathering-chat .community-scope{display:flex;gap:4px;margin:10px 18px 0;border-bottom:1px solid rgba(238,245,236,.11)}.gathering-chat .community-scope button{width:auto;padding:10px 13px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#91a69b;font:11px system-ui,sans-serif;backdrop-filter:none}.gathering-chat .community-scope button.active{border-bottom-color:#e7a26b;color:#f4eee8}
.live-campfires{display:flex;gap:15px;padding:15px 18px 13px;overflow-x:auto;border-bottom:1px solid rgba(238,245,236,.08);scrollbar-width:none}.live-campfires::-webkit-scrollbar{display:none}.live-campfires button{display:grid;flex:0 0 68px;justify-items:center;border:0;background:transparent;color:#e5ece7;cursor:pointer}.live-campfires button>i{position:relative;display:grid;place-items:center;width:52px;height:52px;border:2px solid #eb8751;border-radius:50%;background:linear-gradient(145deg,#d79a6f,#31564f);box-shadow:0 0 0 3px #193a35;font-style:normal}.live-campfires button>i:after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.28);border-radius:50%}.live-campfires button>i.quiet{border-color:#75988f}.live-campfires button>i span{font:10px system-ui,sans-serif}.live-campfires button>b{width:76px;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px system-ui,sans-serif}.live-campfires button>small{margin-top:4px;color:#ea8954;font:6px system-ui,sans-serif;letter-spacing:.11em}.live-campfires .new-fire>i{border-style:dashed;border-color:#829c90;background:rgba(40,72,65,.75);font-size:22px}.live-campfires .new-fire>small{color:#829c90}
.live-campfires button:not(.new-fire)>i{border-color:transparent;background:linear-gradient(#183b35,#183b35) padding-box,linear-gradient(135deg,#ef9a54,#d9597d 52%,#8c6ad8) border-box;border-width:3px}.live-campfires button.viewed>i{background:linear-gradient(#183b35,#183b35) padding-box,linear-gradient(135deg,#526d65,#81968e) border-box}.live-campfires button.viewed>small{color:#81968e}
.feed-filters{display:flex;gap:6px;padding:8px 18px 0}.feed-filters button{padding:6px 11px;border:1px solid rgba(238,245,236,.09);border-radius:12px;background:rgba(238,245,236,.035);color:#81978c;font:8px system-ui,sans-serif;cursor:pointer}.feed-filters button.active{border-color:rgba(235,151,89,.34);background:rgba(222,128,71,.11);color:#efad7a}.gathering-compose-top{margin-top:12px;margin-bottom:4px;border-radius:0;border-width:1px 0;background:rgba(238,244,235,.035)}.gathering-compose-top textarea{min-height:34px}.spark-composer{display:grid}.spark-tools{display:flex;align-items:center;gap:5px;padding:3px 4px 2px}.spark-tools>span{margin-right:2px;color:#7f968b;font:7px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em}.spark-tools button{width:auto!important;height:auto!important;margin:0!important;padding:4px 7px!important;border:1px solid rgba(238,245,236,.1)!important;border-radius:9px!important;background:transparent!important;color:#81988d!important;font:8px system-ui,sans-serif!important}.spark-tools button.active{border-color:rgba(235,151,89,.4)!important;background:rgba(222,128,71,.12)!important;color:#efad7a!important}
.gathering-messages{padding:10px 18px 20px}.gathering-messages article{display:grid;grid-template-columns:38px 1fr;gap:11px;margin:0;padding:15px 2px;border-bottom:1px solid rgba(238,245,236,.08);border-radius:0;background:transparent}.gathering-messages .person-face{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#b87954,#476e66);color:#fff;font:11px system-ui,sans-serif}.gathering-messages article:nth-child(2) .person-face{background:linear-gradient(145deg,#547b73,#b17a58)}.gathering-messages article:nth-child(3) .person-face{background:linear-gradient(145deg,#785d77,#ae825f)}.gathering-messages article>div>span{display:flex;gap:7px;align-items:center;color:#e7ede8;font:600 11px system-ui,sans-serif}.gathering-messages article span small{color:#728a7f;font-weight:400}.gathering-messages p{margin:7px 0 9px;color:#eef1ec;font:15px/1.55 system-ui,sans-serif}.gathering-messages button{margin-right:14px;color:#c99770;font:9px system-ui,sans-serif;cursor:pointer}
.post-author{display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important;cursor:pointer}.post-author>span{display:flex!important}.gathering-messages article>div>p{cursor:pointer}.gathering-messages article nav{display:flex;align-items:center;justify-content:space-between;max-width:430px;margin-top:11px}.gathering-messages article nav button{display:flex;align-items:center;gap:5px;margin:0;padding:5px 4px;border:0;background:transparent;color:#81998e;font:9px system-ui,sans-serif}.gathering-messages article nav button i{font:normal 15px/1 system-ui,sans-serif}.gathering-messages article nav button:hover,.gathering-messages article nav button.active{color:#efa36a}.truth-scene{position:relative;display:block;width:100%;height:300px;margin:10px 0 5px;padding:0;overflow:hidden;border:0;border-radius:18px;background:linear-gradient(0deg,rgba(7,20,18,.72),transparent 55%),url("/glitch-gathering-clearing.png") center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);cursor:pointer}.truth-scene:after{content:"";position:absolute;width:76px;height:76px;right:14%;top:17%;border-radius:50%;background:rgba(255,220,157,.78);box-shadow:0 0 55px 20px rgba(255,196,120,.22)}.truth-scene>span{position:absolute;z-index:2;left:16px;right:16px;bottom:15px;color:#f4ece2;font:italic 14px/1.4 Georgia,serif;text-align:left;text-shadow:0 2px 15px #071815}
.gathering-compose{display:grid;grid-template-columns:36px 1fr 38px;align-items:end;gap:9px;margin:0 15px 15px;padding:10px;border:1px solid rgba(238,245,236,.12);border-radius:20px;background:rgba(237,242,234,.07)}.gathering-compose .your-face{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#385b54;color:#dce8e1;font:8px system-ui,sans-serif}.gathering-compose textarea{min-height:36px;padding:8px 6px;border-radius:0;background:transparent;font:14px/1.5 system-ui,sans-serif}.gathering-compose>button{display:grid;place-items:center;width:34px;height:34px;margin:0;border:0;border-radius:50%;background:#d38650;color:white;font-size:17px}.gathering-compose.is-writing textarea,.gathering-compose textarea:focus{min-height:190px;background:transparent;box-shadow:none}
.campfire-branches{padding:16px;border-radius:24px;background:rgba(9,30,27,.72);backdrop-filter:blur(22px)}.right-presence{padding:2px 3px 17px;border-bottom:1px solid rgba(238,245,236,.1)}.right-presence>span,.campfire-branches>header>span{color:#80988c;font:7px system-ui,sans-serif;letter-spacing:.16em}.right-presence>div{display:flex;align-items:center;gap:9px;margin-top:12px}.right-presence i{flex:0 0 auto;margin:0}.right-presence p{display:grid;margin:0}.right-presence b{font:11px system-ui,sans-serif}.right-presence small{margin-top:3px;color:#879c92;font:8px system-ui,sans-serif}.campfire-branches>header{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding:0 3px 7px}.campfire-branches>header button{border:0;background:transparent;color:#d49a6d;font:9px system-ui,sans-serif}.campfire-branches>button{grid-template-columns:24px 1fr;padding:14px 3px}.campfire-branches .request-fire{border-style:solid;background:rgba(214,132,74,.08)}
.campfire-mobile-nav{display:none}
.gathering-welcome{margin:13px 18px 2px;padding:15px 16px;border:1px solid rgba(232,188,137,.18);border-radius:18px;background:linear-gradient(115deg,rgba(180,104,60,.12),rgba(239,199,148,.04));color:#e9eee8}.gathering-welcome>b{display:block;font:400 16px/1.35 Georgia,serif}.gathering-welcome>span{display:block;margin-top:6px;color:#a0b2a8;font:9px/1.5 system-ui,sans-serif}.gathering-welcome nav{display:flex;gap:5px;margin-top:12px;overflow-x:auto}.gathering-welcome nav button{flex:0 0 auto;padding:6px 9px;border:1px solid rgba(237,197,149,.14);border-radius:12px;background:transparent;color:#9db0a6;font:8px system-ui,sans-serif}.gathering-welcome nav button.active{background:rgba(222,140,83,.12);color:#efbb8e}
.gathering-chat,.campfire-rail,.campfire-branches{transition:border-color .25s ease,box-shadow .35s ease,filter .35s ease}.gathering-world:focus-within .gathering-chat{border-color:rgba(235,151,89,.3);box-shadow:0 32px 110px rgba(3,15,14,.46),0 0 44px rgba(215,123,67,.08)}.gathering-messages{scrollbar-color:rgba(239,163,106,.3) transparent;scrollbar-width:thin}.gathering-messages::-webkit-scrollbar{width:5px}.gathering-messages::-webkit-scrollbar-track{background:transparent}.gathering-messages::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(239,163,106,.28)}
.conversation-sheet{position:fixed;z-index:120;inset:0;display:grid;place-items:center}.sheet-scrim{position:absolute;inset:0;border:0;background:rgba(2,13,12,.72);backdrop-filter:blur(6px)}.conversation-sheet>section{position:relative;width:min(620px,calc(100% - 28px));max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid rgba(238,245,236,.14);border-radius:26px;background:#102b27;color:#ebf0eb;box-shadow:0 30px 100px rgba(0,0,0,.5)}.conversation-sheet header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(238,245,236,.1);background:rgba(16,43,39,.94);backdrop-filter:blur(15px)}.conversation-sheet header button{border:0;background:transparent;color:#cedbd4;font-size:17px;cursor:pointer}.conversation-sheet header b{font:15px system-ui,sans-serif}.conversation-sheet article{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:22px}.conversation-sheet .person-face{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#b87954,#476e66);font:11px system-ui,sans-serif}.conversation-sheet article div{display:grid}.conversation-sheet article b{font:12px system-ui,sans-serif}.conversation-sheet article small{margin-top:3px;color:#81978c;font:9px system-ui,sans-serif}.conversation-sheet article p{margin:12px 0 0;font:17px/1.55 system-ui,sans-serif}.conversation-sheet .sample-reply{padding-top:14px}.reply-line{height:34px;margin-left:40px;border-left:1px solid rgba(238,245,236,.18)}.sheet-reply{position:sticky;bottom:0;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:end;padding:14px;border-top:1px solid rgba(238,245,236,.1);background:rgba(16,43,39,.96)}.sheet-reply .your-face{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#385b54;font:8px system-ui,sans-serif}.sheet-reply textarea{min-height:44px;max-height:35vh;resize:vertical;border:1px solid rgba(238,245,236,.12);border-radius:16px;background:rgba(238,245,236,.07);color:#eef2ee;padding:11px 13px;outline:0;font:14px/1.45 system-ui,sans-serif}.sheet-reply>button{height:40px;border:0;border-radius:15px;background:#cf8050;color:white;padding:0 15px;font:11px system-ui,sans-serif}
.open-video-circle{display:grid;width:min(360px,100%);margin-top:20px;padding:12px 15px;border:1px solid rgba(239,164,105,.4);border-radius:18px;background:rgba(111,65,39,.46);color:#f8e5d2;text-align:left;cursor:pointer}.open-video-circle small{margin-top:4px;color:#bfa692;font:8px system-ui,sans-serif}.video-circle{position:relative;z-index:3;width:min(760px,70%);margin:28px 0 0 auto;overflow:hidden;border:1px solid rgba(238,245,236,.15);border-radius:26px;background:rgba(8,27,25,.82);backdrop-filter:blur(18px);box-shadow:0 25px 80px rgba(3,15,14,.4)}.video-circle>header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid rgba(238,245,236,.1)}.video-circle>header>div{display:flex;align-items:center;gap:9px}.connection-dot{width:8px;height:8px;border-radius:50%;background:#7d958a;box-shadow:0 0 12px rgba(125,149,138,.4)}.video-circle header span{display:grid}.video-circle header b{font:12px system-ui,sans-serif}.video-circle header small{margin-top:4px;color:#839a8f;font:7px system-ui,sans-serif}.video-circle header button{border:0;background:transparent;color:#e49c6a;font:9px system-ui,sans-serif}.video-seats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}.video-seats article{position:relative;min-height:145px;overflow:hidden;border:1px solid rgba(238,245,236,.09);border-radius:18px;background:radial-gradient(circle at 50% 36%,#456d63,#122f2b 62%)}.video-seats article>i{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(9,29,26,.72);color:#dce8e0;font:normal 13px system-ui,sans-serif}.video-seats article>span{position:absolute;left:11px;bottom:10px;display:grid;font:10px system-ui,sans-serif}.video-seats article small{margin-top:3px;color:#9bb0a6;font-size:7px}.video-seats article.camera-on{background:linear-gradient(145deg,#846b62,#284b45)}.video-circle>footer{display:flex;justify-content:center;gap:7px;padding:10px 12px 13px}.video-circle>footer button{padding:8px 12px;border:1px solid rgba(238,245,236,.12);border-radius:13px;background:rgba(238,245,236,.05);color:#b8c8c0;font:8px system-ui,sans-serif}.video-circle>footer button.active{border-color:rgba(236,153,93,.45);background:rgba(207,117,68,.2);color:#f4c59f}

@media(max-width:1000px){.gathering-world{grid-template-columns:180px minmax(430px,1fr)}.campfire-branches{display:none}.campfire-rail{grid-column:auto}.gathering-chat{grid-column:auto}}
@media(max-width:700px){.gathering-world{display:block;padding:64px 0 76px}.gathering-world:after{background:rgba(8,25,23,.55)}.campfire-rail,.campfire-branches{display:none}.gathering-chat{margin:0;border:0;border-radius:0;min-height:calc(100vh - 140px);background:rgba(9,28,25,.86)}.gathering-chat>header{position:sticky;z-index:8;top:62px;background:rgba(9,28,25,.94);backdrop-filter:blur(18px)}.gathering-chat .community-scope{position:sticky;z-index:8;top:128px;justify-content:center;margin:0;background:rgba(9,28,25,.94)}.gathering-chat .community-scope button{width:36%;text-align:center}.live-campfires{padding:17px 13px}.gathering-compose-top{position:relative;bottom:auto;margin:0}.gathering-messages{padding:0}.gathering-messages article{grid-template-columns:38px 1fr;padding:16px 12px}.gathering-messages article.scene-post{position:relative;display:block;min-height:calc(100svh - 202px);padding:0;border:0;background:#0b201d}.gathering-messages article.scene-post>.person-face{position:absolute;z-index:4;left:15px;bottom:105px}.gathering-messages article.scene-post .post-author{position:absolute;z-index:4;left:62px;bottom:112px}.gathering-messages article.scene-post>div>p{position:absolute;z-index:4;left:62px;right:65px;bottom:68px;text-shadow:0 2px 12px #061310}.gathering-messages article.scene-post .truth-scene{height:calc(100svh - 202px);margin:0;border-radius:0}.gathering-messages article.scene-post nav{position:absolute;z-index:5;right:10px;bottom:24px;display:grid;gap:15px}.gathering-messages article.scene-post nav button{display:grid;justify-items:center;width:55px;height:auto;color:#f5eee7;text-shadow:0 2px 9px #061310}.gathering-messages article.scene-post nav button i{font-size:20px}.gathering-compose:not(.gathering-compose-top){position:sticky;z-index:7;bottom:70px;margin:0 8px 8px}.campfire-mobile-nav{position:fixed;z-index:80;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(238,245,236,.12);background:rgba(8,27,24,.94);backdrop-filter:blur(18px)}.campfire-mobile-nav button{display:grid;place-items:center;gap:3px;border:0;background:transparent;color:#82998e;font-size:17px}.campfire-mobile-nav button.active{color:#efa66c}.campfire-mobile-nav span{font:7px system-ui,sans-serif}.conversation-sheet{align-items:end}.conversation-sheet>section{width:100%;max-height:88svh;border-radius:24px 24px 0 0}.sheet-reply{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(max-width:700px){.video-circle{width:100%;margin-top:18px}.video-seats article{min-height:120px}.feed-filters{padding-left:12px}}

/* Writing surfaces expand only while they are actively being used. Saved
   drafts never leave the composer stretched across the room. */
.gathering-compose textarea.writing-resting,
.gathering-compose.is-writing textarea.writing-resting{min-height:36px}
.fire-composer textarea.writing-resting,
.fire-composer.is-writing textarea.writing-resting{min-height:81px}
.sheet-reply textarea.writing-resting{min-height:44px}

/* GLITCH arrival — a breathing threshold into the protected room. */
.glitch-arrival{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:24px;color:#f3eee3;isolation:isolate}
.arrival-scrim{position:absolute;inset:0;background:linear-gradient(115deg,rgba(230,232,219,.32),rgba(23,43,37,.61) 48%,rgba(14,31,28,.78)),radial-gradient(circle at 52% 38%,rgba(224,181,125,.18),transparent 45%);backdrop-filter:blur(12px) saturate(.92)}
.arrival-shell{position:relative;display:grid;width:min(480px,100%);min-height:min(760px,calc(100svh - 32px));overflow:hidden;padding:25px 30px 23px;border:1px solid rgba(238,235,216,.2);border-radius:42px 42px 16px 42px;background:linear-gradient(156deg,rgba(42,68,60,.88),rgba(19,44,39,.94) 54%,rgba(14,34,31,.97));box-shadow:0 42px 120px rgba(7,24,21,.42),inset 0 1px rgba(250,246,226,.15),inset 0 -50px 100px rgba(5,24,21,.2);animation:arrival-drop 1.05s cubic-bezier(.18,.86,.24,1) both}
.arrival-shell:before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 185deg at 50% 45%,transparent,rgba(126,158,139,.1),transparent 28%,rgba(201,132,88,.11),transparent 58%);animation:arrival-aurora 22s linear infinite;pointer-events:none}
.arrival-brand{position:relative;z-index:3;display:flex;align-items:center;gap:12px;align-self:start;letter-spacing:.16em}.arrival-brand b{font:500 17px/1 system-ui,sans-serif;color:#f2eadb;text-shadow:0 0 22px rgba(224,161,106,.22)}
.arrival-wave{display:flex;align-items:center;gap:3px;height:23px}.arrival-wave i{display:block;width:2px;height:8px;border-radius:2px;background:#e4aa77;box-shadow:0 0 8px rgba(226,144,82,.62);animation:arrival-wave 1.8s ease-in-out infinite}.arrival-wave i:nth-child(2){height:17px;animation-delay:-.8s}.arrival-wave i:nth-child(3){height:23px;animation-delay:-.3s}.arrival-wave i:nth-child(4){height:14px;animation-delay:-1.15s}.arrival-wave i:nth-child(5){height:7px;animation-delay:-.55s}
.arrival-presence{position:absolute;z-index:1;top:72px;left:50%;width:390px;height:390px;transform:translateX(-50%);filter:saturate(.9);animation:arrival-float 7s ease-in-out infinite}
.arrival-lobe,.arrival-core{position:absolute;display:block;border-radius:46% 54% 55% 45%/53% 47% 53% 47%;mix-blend-mode:screen;filter:blur(3px);transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .8s ease}
.arrival-lobe{box-shadow:inset 0 0 54px rgba(245,236,207,.12),0 0 45px currentColor;animation:arrival-morph 9s ease-in-out infinite alternate}
.lobe-one{inset:58px 128px 82px 14px;color:rgba(110,162,146,.35);background:radial-gradient(circle at 37% 35%,rgba(166,205,187,.58),rgba(65,114,102,.22) 66%,transparent);transform:rotate(-18deg)}
.lobe-two{inset:22px 24px 125px 123px;color:rgba(202,151,105,.34);background:radial-gradient(circle at 60% 38%,rgba(232,190,138,.59),rgba(157,94,64,.18) 68%,transparent);animation-delay:-3s}
.lobe-three{inset:133px 28px 20px 132px;color:rgba(91,134,119,.4);background:radial-gradient(circle at 40% 44%,rgba(131,173,155,.56),rgba(48,91,80,.19) 70%,transparent);animation-delay:-6s}
.lobe-four{inset:139px 127px 12px 25px;color:rgba(193,120,78,.36);background:radial-gradient(circle at 43% 35%,rgba(226,164,111,.55),rgba(137,72,51,.17) 68%,transparent);animation-delay:-1.5s}
.arrival-core{inset:112px;background:radial-gradient(circle,rgba(247,218,167,.34),rgba(137,168,144,.1) 55%,transparent 76%);filter:blur(10px);animation:arrival-core 4.8s ease-in-out infinite}
.phase-inhale .arrival-lobe{transform:scale(1.13);filter:blur(1px)}.phase-hold .arrival-lobe{transform:scale(1.13);filter:blur(2px)}.phase-exhale .arrival-lobe{transform:scale(.86);filter:blur(5px)}.phase-complete .arrival-core{box-shadow:0 0 90px rgba(225,172,112,.24)}
.arrival-copy{position:relative;z-index:3;align-self:center;margin-top:195px;text-align:center;text-shadow:0 3px 24px rgba(5,24,20,.68)}.arrival-copy h1{margin:0;font:400 clamp(39px,7vw,58px)/1.02 Georgia,serif;letter-spacing:-.035em}.arrival-copy p{margin:19px 0 0;color:#c7d2c9;font:italic 15px/1.45 Georgia,serif}
.arrival-actions{position:relative;z-index:3;display:grid;gap:9px;align-self:end;width:min(310px,100%);margin:22px auto 0}.arrival-actions button{border:0;cursor:pointer}
.arrival-breathe{display:flex;align-items:center;justify-content:space-between;min-height:59px;padding:8px 10px 8px 19px;border:1px solid rgba(235,213,180,.2)!important;border-radius:22px;background:rgba(233,229,207,.08);color:#edf1e8;box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px);font:12px system-ui,sans-serif}.arrival-breathe b{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3d6a7,#d58c5b 58%,#805846);color:#20352d;font:600 11px system-ui,sans-serif;box-shadow:0 0 25px rgba(213,132,79,.34)}.arrival-breathe:disabled{cursor:default;opacity:1}.arrival-breathe:not(:disabled):hover b{transform:scale(1.07);box-shadow:0 0 34px rgba(225,148,88,.5)}
.arrival-enter{min-height:48px;border-radius:18px;background:transparent;color:#aebeb5;font:11px system-ui,sans-serif;letter-spacing:.03em}.arrival-enter:hover{color:#fff5e7;background:rgba(247,235,211,.05)}
.arrival-privacy{position:relative;z-index:3;align-self:end;margin:14px 0 0;color:#82968b;text-align:center;font:8px/1.4 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
@keyframes arrival-drop{0%{opacity:0;transform:translateY(-64px) scale(.97);filter:blur(14px)}65%{opacity:1;transform:translateY(5px) scale(1);filter:blur(0)}100%{transform:none}}
@keyframes arrival-float{0%,100%{transform:translateX(-50%) translateY(0) rotate(-1deg)}50%{transform:translateX(-50%) translateY(-13px) rotate(1deg)}}
@keyframes arrival-morph{0%{border-radius:46% 54% 55% 45%/53% 47% 53% 47%}50%{border-radius:57% 43% 46% 54%/44% 60% 40% 56%}100%{border-radius:42% 58% 62% 38%/58% 42% 58% 42%}}
@keyframes arrival-core{0%,100%{transform:scale(.88);opacity:.55}50%{transform:scale(1.16);opacity:.9}}
@keyframes arrival-wave{0%,100%{transform:scaleY(.52);opacity:.56}50%{transform:scaleY(1);opacity:1}}
@keyframes arrival-aurora{to{transform:rotate(360deg)}}
@media(max-width:560px){.glitch-arrival{padding:0}.arrival-shell{width:100%;min-height:100svh;border:0;border-radius:0;padding:calc(20px + env(safe-area-inset-top)) 22px calc(17px + env(safe-area-inset-bottom))}.arrival-presence{top:64px;width:min(390px,104vw);height:min(390px,104vw)}.arrival-copy{margin-top:210px}.arrival-copy h1{font-size:48px}.arrival-actions{margin-top:17px}}
@media(max-height:720px){.arrival-shell{min-height:100svh}.arrival-presence{top:42px;transform:translateX(-50%) scale(.78)}.arrival-copy{margin-top:155px}.arrival-copy h1{font-size:42px}.arrival-actions{margin-top:12px}.arrival-privacy{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.arrival-shell,.arrival-shell:before,.arrival-presence,.arrival-lobe,.arrival-core,.arrival-wave i{animation:none}.arrival-lobe{transition:none}}

/* Three grounded places: weather shelter, horizon-led observatory and meadow rest. */
.room-scene-storm{background-image:url("/glitch-room-storm.jpg")}
.room-scene-sky{background-image:url("/glitch-room-sky.jpg");transform-origin:62% 42%}
.room-scene-meadow{background-image:url("/glitch-room-meadow.jpg");transform-origin:50% 58%}
.mode-storm .room-scene-storm,.mode-sky .room-scene-sky,.mode-meadow .room-scene-meadow{opacity:1;transform:scale(1)}
.mode-storm .room-scene:after{background:linear-gradient(90deg,rgba(16,22,20,.66),rgba(19,27,24,.18) 31%,rgba(18,25,23,.08) 68%,rgba(11,17,16,.38))}
.mode-sky .room-scene:after{background:linear-gradient(90deg,rgba(7,16,17,.62),rgba(8,18,20,.18) 36%,rgba(8,17,19,.04) 70%,rgba(6,13,15,.3))}
.mode-meadow .room-scene:after{background:linear-gradient(90deg,rgba(237,239,223,.63),rgba(238,241,224,.24) 34%,rgba(235,240,224,.12) 68%,rgba(230,234,216,.48))}
.mode-storm,.mode-sky{--ink:#f0ece2;--quiet:#c1c8c1;--line:rgba(229,232,219,.18);--read-ink:#f4f1e8;--read-muted:#c3cbc4;--field-ink:#f7f3ea;--field-muted:#bdc5be;--field-surface:rgba(17,28,26,.94)}
.mode-storm .chat-head,.mode-storm .composer-dock,.mode-storm .atmosphere-shelf,.mode-sky .chat-head,.mode-sky .composer-dock,.mode-sky .atmosphere-shelf{background:rgba(14,27,25,.84);color:#f1eee4;border-color:rgba(226,231,217,.16)}
.mode-storm .chat-head a,.mode-storm .chat-head nav button,.mode-storm .composer-dock>small,.mode-sky .chat-head a,.mode-sky .chat-head nav button,.mode-sky .composer-dock>small{color:#d8ded6}
.mode-storm .chat-head small,.mode-sky .chat-head small{color:#aebbb2}.mode-storm .atmosphere-shelf button,.mode-sky .atmosphere-shelf button{color:#cbd5cd}.mode-storm .atmosphere-shelf button.active,.mode-sky .atmosphere-shelf button.active{background:rgba(227,232,216,.14);color:#fff8ec}
.mode-storm .message.glitch p,.mode-sky .message.glitch p{color:#f5f1e8;background:rgba(18,30,27,.9)}.mode-storm .message.person p,.mode-sky .message.person p{color:#fff7ea;background:rgba(59,78,68,.9)}
.mode-storm .suggestions button,.mode-sky .suggestions button{color:#e3e9e2;background:rgba(20,34,30,.86);border-color:rgba(225,231,217,.18)}
.mode-storm .composer,.mode-sky .composer{background:var(--field-surface);border-color:rgba(224,231,216,.22)}.mode-storm .composer textarea,.mode-sky .composer textarea{color:var(--field-ink)}.mode-storm .composer textarea::placeholder,.mode-sky .composer textarea::placeholder{color:var(--field-muted)}
.mode-meadow{--read-ink:#243a31;--read-muted:#53695f;--field-ink:#1f342b;--field-muted:#60766b;--field-surface:rgba(249,247,236,.94)}
.mode-meadow .chat-head,.mode-meadow .composer-dock,.mode-meadow .atmosphere-shelf{background:rgba(240,242,226,.87);border-color:rgba(45,77,63,.2)}.mode-meadow .message.glitch p{color:#263b32;background:rgba(248,247,235,.88)}.mode-meadow .message.person p{color:#20382e;background:rgba(202,219,199,.9)}
.storm-life,.sky-life,.meadow-life{position:absolute;inset:0;opacity:0;overflow:hidden;pointer-events:none}.mode-storm .storm-life,.mode-sky .sky-life,.mode-meadow .meadow-life{opacity:1}
.storm-flash{position:absolute;inset:0;background:radial-gradient(circle at 78% 21%,rgba(246,249,239,.76),rgba(210,221,213,.2) 17%,transparent 43%);opacity:0;animation:close-lightning 8.7s steps(1,end) infinite}.storm-rain{position:absolute;inset:-18% -10%;background:repeating-linear-gradient(103deg,transparent 0 12px,rgba(221,232,226,.17) 13px,transparent 14px 28px);transform:translate3d(0,-10%,0);animation:storm-sheet 1.1s linear infinite}.storm-shadow{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 42%,transparent 20%,rgba(5,12,11,.26) 82%);animation:storm-pressure 6s ease-in-out infinite alternate}
@keyframes close-lightning{0%,5%,7%,42%,44%,100%{opacity:0}6%,43%{opacity:.82}6.5%,43.5%{opacity:.24}}@keyframes storm-sheet{to{transform:translate3d(-3%,18%,0)}}@keyframes storm-pressure{to{opacity:.62}}
.sky-life{--target-x:18%;--target-y:51%}.room-environment.sky-milky-way .sky-life{--target-x:51%;--target-y:19%}.room-environment.sky-pleiades .sky-life{--target-x:89%;--target-y:22%}
.target-ring{position:absolute;left:var(--target-x);top:var(--target-y);width:42px;height:42px;border:1px solid rgba(231,177,118,.7);border-radius:50%;transform:translate3d(-50%,-50%,0);box-shadow:0 0 0 7px rgba(209,126,70,.06),0 0 28px rgba(229,158,94,.18);transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .5s ease}.target-ring:after{content:"";position:absolute;inset:8px;border:1px solid rgba(236,209,170,.32);border-radius:50%}.telescope-sweep{position:absolute;right:8%;bottom:10%;width:48%;height:1px;transform-origin:right;background:linear-gradient(90deg,transparent,rgba(207,82,61,.22));animation:scope-settle 6s ease-in-out infinite alternate}.night-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 78%,rgba(112,134,123,.09),transparent 43%);animation:night-breathe 12s ease-in-out infinite alternate}
@keyframes scope-settle{to{transform:rotate(-.8deg);opacity:.5}}@keyframes night-breathe{to{opacity:.55}}
.water-shimmer{position:absolute;left:0;right:0;top:38%;height:30%;background:repeating-linear-gradient(174deg,transparent 0 18px,rgba(239,240,212,.12) 19px,transparent 20px 38px);transform:translate3d(-2%,0,0);animation:water-pass 11s linear infinite}.meadow-breeze{position:absolute;inset:48% -8% 0;background:radial-gradient(ellipse at 32% 60%,rgba(237,223,176,.11),transparent 20%),radial-gradient(ellipse at 72% 50%,rgba(231,219,168,.08),transparent 18%);animation:meadow-sway 8s ease-in-out infinite alternate}.dragonfly{position:absolute;left:-4%;top:32%;width:9px;height:3px;border-radius:50%;background:#354c42;box-shadow:5px -2px 0 -1px rgba(53,76,66,.6),5px 2px 0 -1px rgba(53,76,66,.6);animation:dragonfly-pass 29s linear infinite}
@keyframes water-pass{to{transform:translate3d(2%,1.5%,0)}}@keyframes meadow-sway{to{transform:translate3d(2.2%,1%,0) scale(1.02)}}@keyframes dragonfly-pass{0%,70%{transform:translate3d(0,0,0);opacity:0}73%{opacity:.7}100%{transform:translate3d(108vw,-8vh,0);opacity:0}}
.sky-console{position:fixed;z-index:26;right:24px;top:92px;width:210px;padding:15px;border:1px solid rgba(232,225,204,.18);border-radius:24px 8px 24px 24px;background:rgba(10,24,23,.78);color:#e9e5d9;backdrop-filter:blur(17px);box-shadow:0 22px 70px rgba(2,10,9,.3)}.sky-console>span{color:#d99a68;font-size:7px;letter-spacing:.18em}.sky-console>p{margin:6px 0 12px;color:#aebbb2;font:italic 11px Georgia,serif}.sky-console button{display:grid;grid-template-columns:17px 1fr;column-gap:8px;width:100%;padding:10px 8px;border:0;border-top:1px solid rgba(230,230,213,.1);background:transparent;color:#d9e0d9;text-align:left;cursor:pointer}.sky-console button i{grid-row:span 2;align-self:center;width:7px;height:7px;border:1px solid #d89a68;border-radius:50%;box-shadow:0 0 0 4px rgba(216,154,104,.05)}.sky-console button b{font:11px system-ui,sans-serif}.sky-console button small{margin-top:3px;color:#8fa299;font-size:7px}.sky-console button.active{background:rgba(218,151,98,.11);border-radius:13px;color:#fff5e6}.sky-console button.active i{background:#e0a06d;box-shadow:0 0 13px rgba(226,153,94,.5)}
@media(max-width:980px){.sky-console{top:84px;right:12px;width:185px}.mode-storm .room-scene:after,.mode-sky .room-scene:after{background:linear-gradient(rgba(11,23,21,.46),rgba(12,24,22,.38))}.mode-meadow .room-scene:after{background:linear-gradient(rgba(239,241,227,.52),rgba(239,240,225,.36))}}
@media(max-width:700px){.sky-console{top:70px;right:8px;width:156px;padding:10px}.sky-console>p{display:none}.sky-console button{padding:8px 5px}.mode-storm .room-scene{background-position:57% center}.mode-sky .room-scene{background-position:62% center}.mode-meadow .room-scene{background-position:51% center}}
@media(prefers-reduced-motion:reduce){.storm-life,.sky-life,.meadow-life{display:none}.room-scene-sky{transform:none!important}}

/* Private support front door: clear choices before the conversation begins. */
.glitch-purpose{position:fixed;z-index:420;inset:0;display:grid;place-items:center;padding:22px;color:#f4eee3}.purpose-scrim{position:absolute;inset:0;background:rgba(8,25,22,.62);backdrop-filter:blur(14px) saturate(.9)}.purpose-card{position:relative;width:min(660px,100%);padding:44px;border:1px solid rgba(235,228,207,.2);border-radius:48px 48px 14px 48px;background:linear-gradient(145deg,rgba(34,61,53,.94),rgba(14,37,33,.97));box-shadow:0 38px 120px rgba(3,18,15,.48),inset 0 1px rgba(255,250,233,.12)}.purpose-card>span{color:#e3a06d;font-size:8px;letter-spacing:.18em}.purpose-card h1{max-width:11ch;margin:13px 0 12px;color:#fff7e9;font:400 clamp(38px,6vw,62px)/.96 Georgia,serif;letter-spacing:-.04em}.purpose-card>p{max-width:52ch;margin:0 0 28px;color:#b9c7be;font:15px/1.65 Georgia,serif}.purpose-card>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.purpose-card>div>button{position:relative;display:grid;grid-template-columns:31px 1fr auto;grid-template-rows:auto auto;column-gap:9px;min-height:92px;padding:17px;border:1px solid rgba(232,232,213,.12);border-radius:9px 25px 25px 25px;background:rgba(235,238,221,.06);color:#edf1e9;text-align:left;cursor:pointer}.purpose-card>div>button:hover,.purpose-card>div>button:focus-visible{border-color:rgba(229,157,99,.46);background:rgba(218,139,82,.11);transform:translateY(-2px)}.purpose-card>div i{grid-row:span 2;color:#d89563;font:normal 10px system-ui,sans-serif}.purpose-card>div b{font:400 17px/1.2 Georgia,serif}.purpose-card>div small{margin-top:7px;color:#92a69b;font:8px/1.4 system-ui,sans-serif}.purpose-card>div em{grid-row:span 2;align-self:center;color:#d99a68;font-style:normal}.purpose-campfire{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;padding:14px 17px;border:1px solid rgba(222,150,94,.28);border-radius:19px;background:rgba(187,103,57,.11);color:#f5e7d5;cursor:pointer}.purpose-campfire span{color:#aebdb4;font:10px system-ui,sans-serif}.purpose-campfire b{font:11px system-ui,sans-serif}.purpose-card>small{display:block;margin-top:15px;color:#7f978b;text-align:center;font:7px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.glitch-private-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:10px 13px;border:1px solid rgba(73,105,91,.15);border-radius:18px;background:rgba(249,248,240,.58);backdrop-filter:blur(14px);color:#526a5f;font:8px system-ui,sans-serif}.glitch-private-state span{display:flex;align-items:center;gap:5px}.glitch-private-state span+span:before{content:"·";color:#a87b65}.glitch-private-state i{width:6px;height:6px;border-radius:50%;background:#5d8b75;box-shadow:0 0 8px rgba(93,139,117,.35)}.glitch-private-state button{margin-left:auto;border:0;background:transparent;color:#9a664e;font:8px system-ui,sans-serif;cursor:pointer}.response-preference{display:flex;align-items:center;gap:5px;overflow-x:auto;margin:-5px 0 35px;padding-bottom:5px;scrollbar-width:none}.response-preference>span{flex:0 0 auto;margin-right:3px;color:#697d73;font:8px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em}.response-preference button{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(73,105,91,.16);border-radius:14px;background:rgba(250,249,242,.48);color:#5d7067;font:8px system-ui,sans-serif;cursor:pointer}.response-preference button.active{border-color:rgba(175,105,72,.35);background:rgba(184,112,83,.1);color:#824f3b}
.mode-lamp .glitch-private-state,.mode-close .glitch-private-state,.mode-quiet .glitch-private-state,.mode-storm .glitch-private-state,.mode-sky .glitch-private-state,.mode-lamp .response-preference button,.mode-close .response-preference button,.mode-quiet .response-preference button,.mode-storm .response-preference button,.mode-sky .response-preference button{background:rgba(23,31,27,.75);border-color:rgba(231,224,208,.15);color:#d7ded7}.mode-lamp .response-preference>span,.mode-close .response-preference>span,.mode-quiet .response-preference>span,.mode-storm .response-preference>span,.mode-sky .response-preference>span{color:#aebcb3}
@media(max-width:700px){.glitch-purpose{padding:0}.purpose-card{width:100%;min-height:100svh;padding:calc(82px + env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom));border:0;border-radius:0}.purpose-card h1{font-size:43px}.purpose-card>div{grid-template-columns:1fr}.purpose-card>div>button{min-height:73px;padding:13px 15px}.purpose-card>p{margin-bottom:18px}.glitch-private-state{margin-top:3px}.response-preference{margin-bottom:25px}}

/* 2026 visual-room master: one inhabited prayer/focus closet, never tactical. */
.room-scene-war{background-image:url("/glitch-room-war.png");transform-origin:48% 66%}
.mode-war .room-scene-war{opacity:1;transform:scale(1)}
.mode-war .room-scene:after{background:linear-gradient(90deg,rgba(30,21,16,.5),rgba(53,36,25,.12) 36%,rgba(46,31,23,.08) 65%,rgba(28,19,15,.42))}
.mode-war{--ink:#f5e9da;--quiet:#cbb9a7;--line:rgba(246,222,192,.18);--read-ink:#f8eee1;--read-muted:#d0bdab;--field-ink:#fff4e7;--field-muted:#c9b5a4;--field-surface:rgba(42,30,23,.93)}
.mode-war .chat-head,.mode-war .composer-dock,.mode-war .atmosphere-shelf{background:rgba(42,29,22,.83);color:#f7ebdc;border-color:rgba(244,219,188,.17)}
.mode-war .chat-head a,.mode-war .chat-head nav button,.mode-war .composer-dock>small,.mode-war .atmosphere-shelf button{color:#e4d2bf}
.mode-war .chat-head small{color:#bea894}.mode-war .atmosphere-shelf button.active{background:rgba(237,194,144,.14);color:#fff3e4}
.mode-war .message.glitch p{color:#f8eee1;background:rgba(50,36,27,.9)}.mode-war .message.person p{color:#fff5e9;background:rgba(91,65,47,.91)}
.mode-war .suggestions button,.mode-war .response-preference button,.mode-war .glitch-private-state{color:#e5d7c9;background:rgba(43,31,24,.84);border-color:rgba(242,218,187,.17)}
.mode-war .composer{background:var(--field-surface);border-color:rgba(242,219,190,.2)}.mode-war .composer textarea{color:var(--field-ink)}.mode-war .composer textarea::placeholder{color:var(--field-muted)}
.war-life{position:absolute;inset:0;opacity:0;pointer-events:none}.mode-war .war-life{opacity:1}.closet-lamp{position:absolute;left:15%;top:9%;width:21vw;height:34vh;background:radial-gradient(ellipse at 35% 20%,rgba(255,220,165,.23),transparent 68%);animation:closet-light 9s ease-in-out infinite alternate}.prayer-notes{position:absolute;left:27%;top:13%;width:25%;height:23%;background:linear-gradient(95deg,transparent,rgba(242,210,160,.06),transparent);transform:rotate(-1deg)}.door-breath{position:absolute;right:7%;top:5%;bottom:2%;width:8px;background:linear-gradient(transparent,rgba(229,181,124,.08),transparent);filter:blur(5px);animation:door-breath 12s ease-in-out infinite alternate}
@keyframes closet-light{to{opacity:.72;transform:scale(1.025)}}@keyframes door-breath{to{opacity:.35;transform:translateX(-2px)}}

/* User-owned room sound and sleep are explicit, local and never autoplayed. */
.room-sound,.sleep-controls{display:grid;gap:10px;margin-top:15px;padding:14px;border:1px solid rgba(231,224,207,.13);border-radius:18px;background:rgba(235,238,224,.045)}
.room-sound>div,.sleep-controls>div{display:grid;gap:3px}.room-sound>div span,.sleep-controls>div span{color:#d99868;font-size:7px;letter-spacing:.16em}.room-sound small,.sleep-controls small{color:#94a69d;font-size:8px;line-height:1.4}
.sound-file{position:relative;display:flex!important;align-items:center;min-height:40px;margin:0!important;padding:0 12px;border:1px dashed rgba(229,215,193,.22);border-radius:13px;color:#d8ddd6!important;overflow:hidden}.sound-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.room-sound>button,.sleep-controls>button,.sleep-controls select{min-height:40px;border:1px solid rgba(231,211,184,.22);border-radius:13px;background:rgba(227,165,109,.09);color:#efe6d9;font:9px system-ui,sans-serif}.room-sound>button:disabled{opacity:.38}.sleep-controls select{padding:0 10px;color-scheme:dark}
.wake-room{position:fixed;z-index:310;left:50%;bottom:28px;display:flex;align-items:center;gap:16px;transform:translateX(-50%);padding:11px 14px 11px 18px;border:1px solid rgba(239,226,202,.2);border-radius:999px;background:rgba(20,31,27,.76);color:#e7e4da;backdrop-filter:blur(18px);box-shadow:0 16px 54px rgba(6,16,13,.28);cursor:pointer}.wake-room span{font:italic 10px Georgia,serif}.wake-room b{padding:8px 11px;border-radius:999px;background:rgba(232,175,116,.16);font:8px system-ui,sans-serif;letter-spacing:.08em}
.chat-world.sleeping .chat-head,.chat-world.sleeping .atmosphere-shelf,.chat-world.sleeping .thread,.chat-world.sleeping .composer-dock,.chat-world.sleeping .sky-console{opacity:0;pointer-events:none;transition:opacity 1.6s ease}.chat-world.sleeping .room-scene{filter:brightness(.72) saturate(.86)}.chat-world.sleeping .room-state{opacity:.34}

/* Campfire environment correction: green woodland depth, daylight and warm fire. */
.space-gathering{--camp-canopy:#173f35;--camp-pine:#245344;--camp-mid:#376c55;--camp-fern:#5f815f;--camp-moss:#78956a;--camp-sage:#a7b79b;--camp-lichen:#d4dcc0;--camp-cream:#f3f1e7;--camp-ember:#d98349}
.space-gathering .nature-world{background:linear-gradient(180deg,#b9cfbe 0%,#d8c992 39%,#5f815f 67%,#173f35 100%)}
.space-gathering .gathering-world:after{background:linear-gradient(90deg,rgba(23,63,53,.57),rgba(55,108,85,.19) 31%,rgba(95,129,95,.1) 69%,rgba(23,63,53,.54))}
.space-gathering .campfire-rail,.space-gathering .campfire-branches{background:rgba(36,83,68,.58);border-color:rgba(243,241,231,.24);box-shadow:0 26px 80px rgba(37,75,59,.2)}
.space-gathering .gathering-chat{background:rgba(55,108,85,.5);border:1px solid rgba(243,241,231,.22);box-shadow:0 30px 90px rgba(37,75,59,.24)}
.space-gathering .gathering-pulse,.space-gathering .gathering-welcome{background:linear-gradient(110deg,rgba(216,201,146,.22),rgba(167,183,155,.13));border-color:rgba(243,241,231,.18)}
.space-gathering .gathering-messages article{border-color:rgba(243,241,231,.12)}.space-gathering .gathering-messages p{color:#fffdf5}.space-gathering .campfire-mark span,.space-gathering .right-presence small,.space-gathering .gathering-chat>header small{color:#d4dccf}
.space-gathering .gathering-compose{background:rgba(243,241,231,.13);border-color:rgba(255,253,245,.24)}.space-gathering .gathering-compose textarea{color:#fffdf6}.space-gathering .gathering-compose textarea::placeholder{color:#d9e0d3}
.space-gathering .fire-glow{background:radial-gradient(circle,#ffd39a 0%,rgba(240,172,104,.62) 26%,rgba(217,131,73,.18) 52%,transparent 72%)}
.space-gathering .campfire-rail nav small,.space-gathering .campfire-rail>p,.space-gathering .gathering-messages article span small,.space-gathering .gathering-messages article nav button,.space-gathering .live-campfires small,.space-gathering .campfire-branches button span,.space-gathering .campfire-branches button small{color:#c8d4ca;font-size:10px;line-height:1.35}
.space-gathering .gathering-messages .post-author>span{font-size:12px}.space-gathering .gathering-messages p{font-size:16px;line-height:1.58}
.space-gathering .campfire-rail nav span{font-size:14px}.space-gathering .campfire-mark span,.space-gathering .right-presence small,.space-gathering .gathering-chat>header small{font-size:10px}

@media(max-width:700px){.mode-war .room-scene{background-position:52% center}.wake-room{bottom:18px;width:calc(100% - 28px);justify-content:space-between}.room-sound,.sleep-controls{padding:12px}}
@media(prefers-reduced-motion:reduce){.war-life *,.chat-world.sleeping *{animation:none!important;transition:none!important}}
