.gathering-page{max-width:1000px;padding-top:28px;padding-bottom:100px}.gathering-page h1{font-size:30px;letter-spacing:-1px;margin:9px 0}.gathering-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.gathering-heading p,.gathering-room-heading p{font-size:14px;line-height:1.8;color:var(--muted);margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.gathering-heading .eyebrow{color:#826c9d;font-size:11px}.gathering-policy{padding:13px 16px;background:var(--soft);border:1px solid var(--line);border-radius:9px;font-size:12px;line-height:1.8;color:var(--ink)}.gathering-tabs{display:flex;gap:6px;margin:24px 0 18px;flex-wrap:wrap}.gathering-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--muted);padding:11px 16px;border-radius:24px;font:inherit;font-size:13px;cursor:pointer}.gathering-tabs button[aria-pressed=true]{background:#7355a7;color:#fff;border-color:#7355a7}.gathering-search{display:flex;gap:8px}.gathering-search label{flex:1;min-width:0}.gathering-page input,.gathering-page select,.gathering-page textarea,.gathering-dialog input:not([type=checkbox]),.gathering-dialog select,.gathering-dialog textarea{box-sizing:border-box;max-width:100%;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:12px;font:inherit;font-size:14px}.gathering-search input{height:46px}.gathering-categories{display:flex;align-items:center;gap:18px;margin:18px 0 24px}.gathering-categories label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px}.gathering-categories select{width:auto;max-width:260px;font-size:12px}.gathering-categories>span{font-size:11px;color:var(--muted)}.gathering-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gathering-room-card{padding:24px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);min-width:0}.gathering-room-card:hover{border-color:#b8a5d4;box-shadow:0 5px 20px #3e2e5710}.gathering-room-tags{display:flex;justify-content:space-between;gap:10px;align-items:center}.gathering-room-tags>span{padding:5px 8px;border-radius:6px;background:var(--soft);font-size:11px;overflow-wrap:anywhere}.gathering-room-tags small{font-size:10px;color:var(--muted);white-space:nowrap}.gathering-room-card h2{font-size:19px;margin:18px 0 8px;overflow-wrap:anywhere;line-height:1.5}.gathering-room-card>p{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.gathering-room-card footer{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin-top:auto}.gathering-room-card footer b{color:#7355a7;font-size:10px}.gathering-empty{grid-column:1/-1;padding:60px 20px;text-align:center;background:var(--soft);border-radius:16px}.gathering-empty h2{font-size:20px}.gathering-empty p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:24px}.gathering-admin-notice{border-left:3px solid #9b80be;background:var(--soft);padding:14px 16px;font-size:12px;line-height:1.8}.gathering-admin-tools{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.gathering-admin-tools summary{font-size:13px;cursor:pointer;margin-bottom:15px}.gathering-admin-tools button{margin:5px}.gathering-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:25px 0}.gathering-pagination span{font-size:12px}.gathering-dialog{max-width:520px;width:calc(100% - 30px);box-sizing:border-box}.gathering-form{display:grid;gap:17px}.gathering-form label{display:grid;gap:8px;font-size:13px}.gathering-form p{margin:0;line-height:1.8;font-size:12px}.gathering-form .primary{justify-content:center;min-height:46px}.gathering-check{display:flex!important;align-items:flex-start!important;gap:9px;font-size:12px;line-height:1.8;cursor:pointer}.gathering-check input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin-top:4px;accent-color:#7355a7}.gathering-suggestion-chips{display:flex;gap:6px;flex-wrap:wrap}.gathering-suggestion-chips button{border:1px solid var(--line);border-radius:20px;background:var(--soft);color:var(--ink);padding:7px 10px;font-size:11px;cursor:pointer}.gathering-dialog input:focus,.gathering-dialog textarea:focus,.gathering-page input:focus,.gathering-page textarea:focus{outline:2px solid #af96cf;outline-offset:2px}.gathering-back{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin:0 0 25px}.gathering-back svg{width:16px}.gathering-room-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.gathering-room-heading>div{min-width:0}.gathering-room-heading h1{overflow-wrap:anywhere}.gathering-room-heading small,.gathering-room-category{font-size:12px;color:var(--muted)}.gathering-room-heading button{white-space:nowrap}.gathering-join{padding:35px 24px;border:1px solid var(--line);border-radius:14px;margin-top:25px}.gathering-join h2{font-size:20px}.gathering-join p{font-size:13px;line-height:1.8;color:var(--muted)}.gathering-join .primary{margin:20px 0 0}.gathering-chat{margin-top:25px}.gathering-chat-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 12px}.gathering-chat-top>span{font-size:11px;color:var(--muted)}.gathering-messages{height:52vh;min-height:260px;max-height:650px;overflow-y:auto;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft);scrollbar-gutter:stable;overscroll-behavior:contain}.gathering-message{margin:0 16% 18px 0;width:fit-content;max-width:84%;min-width:140px;background:var(--paper);border:1px solid var(--line);border-radius:3px 13px 13px 13px;padding:12px 15px;box-sizing:border-box;overflow-wrap:anywhere}.gathering-message.is-mine{margin:0 0 18px auto;background:#f0e9f8;border-color:#e3d7ef;border-radius:13px 3px 13px 13px;color:#2d2539}.gathering-message header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gathering-message header b{font-size:12px}.gathering-message time{font-size:10px;color:#8a8193}.gathering-message>p{white-space:pre-wrap;line-height:1.8;font-size:14px;margin:9px 0 2px}.gathering-message .text-button{font-size:10px;padding:5px 0;margin-top:6px;color:#8a8193}.gathering-operator-badge{font-size:9px;background:#e5dcf4;color:#65448f;padding:2px 5px;border-radius:3px}.gathering-hidden-label{font-size:10px;color:#8a8193}.gathering-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin:14px 0}.gathering-compose textarea{resize:vertical;min-height:70px;max-height:200px;line-height:1.7}.gathering-compose .primary{align-self:stretch;min-width:78px}.gathering-compose [role=alert]{grid-column:1/-1;margin:0;font-size:12px}.gathering-chat-empty{font-size:13px;color:var(--muted);text-align:center;padding-top:60px}.gathering-leave{display:block;margin:22px 0 0 auto;font-size:11px;color:var(--muted)}.gathering-management-actions{display:grid;gap:9px;margin:20px 0}.gathering-dialog h3{font-size:16px;margin-top:28px}.gathering-member-list>div{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;justify-content:space-between}.gathering-member-list small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.gathering-member-list b{font-size:13px}.gathering-member-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.gathering-member-buttons button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:6px 8px;font-size:10px;cursor:pointer}.gathering-audit-row{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.gathering-audit-row p{font-size:12px}.gathering-audit-row small{font-size:10px;color:var(--muted)}#gathering-invite-result p{font-size:12px;line-height:1.8}#gathering-invite-result label{display:block;font-size:12px}#gathering-invite-result input{display:block;width:100%;margin:8px 0;font-size:11px;padding:11px;border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:6px;box-sizing:border-box}.gathering-home-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:#f5f0fa;border:1px solid #e9e0f1;border-radius:12px;margin:12px 0 30px}.gathering-home-entry h2{font-size:18px;margin:0 0 6px;color:#3f3056}.gathering-home-entry p{font-size:12px;color:#8a769f;margin:0}.gathering-home-entry>a{font-size:12px;color:#7355a7;white-space:nowrap;font-weight:600}.gathering-page button:disabled{opacity:.5;cursor:default}@media(max-width:650px){.gathering-page{padding-top:22px}.gathering-heading{gap:10px;align-items:flex-start}.gathering-page h1{font-size:26px}.gathering-heading p{font-size:12px;max-width:210px}.gathering-heading>.primary{font-size:12px;white-space:nowrap;padding:11px 14px;margin-top:10px}.gathering-room-grid{grid-template-columns:1fr;gap:12px}.gathering-room-card{padding:20px}.gathering-categories{flex-direction:column;align-items:flex-start;gap:10px}.gathering-tabs button{padding:10px 12px;font-size:11px}.gathering-messages{padding:13px;height:48dvh}.gathering-message{max-width:92%;margin-right:8%;padding:10px 12px}.gathering-message>p{font-size:13px}.gathering-room-heading h1{font-size:24px}.gathering-room-heading .secondary{padding:9px 11px;font-size:11px}.gathering-room-heading p{font-size:12px}.gathering-compose textarea{font-size:16px}.gathering-chat-top>span{font-size:10px}.gathering-home-entry{padding:16px;margin-bottom:24px;gap:10px}.gathering-home-entry h2{font-size:16px}.gathering-home-entry p{font-size:11px}.gathering-home-entry>a{font-size:11px}}

/* A bright tea house for the people of Gangho. */
.gathering-page{--paper:#fffefa;--ink:#273f35;--muted:#75867c;--line:#e6eade;--soft:#f3f7ee;padding:24px 28px 100px;background:#fffdf7;border-radius:24px;margin-top:18px;margin-bottom:24px;color:var(--ink)}
.gathering-page .primary,.gathering-dialog .primary{background:#357a62;color:#fff;border:1px solid #357a62;border-radius:12px;box-shadow:0 4px 10px #347a6214}.gathering-page .secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:12px}.gathering-page button:focus-visible,.gathering-page a:focus-visible{outline:3px solid #d5a44d;outline-offset:3px}
.gathering-heading{position:relative;overflow:hidden;isolation:isolate;min-height:280px;padding:34px 36px;margin-bottom:22px;background:#eaf3e8;border:1px solid #dce9d6;border-radius:24px;align-items:center;gap:0}.gathering-heading:before{content:'';position:absolute;z-index:-1;width:390px;height:230px;right:-100px;bottom:-135px;border-radius:50%;background:#c5ddc8;transform:rotate(-18deg)}.gathering-heading:after{content:'';position:absolute;z-index:-1;width:280px;height:100px;right:80px;bottom:-65px;border-radius:50%;background:#d6e7cf;transform:rotate(12deg)}.gathering-hero-copy{position:relative;z-index:1}.gathering-heading .eyebrow{font-size:11px;letter-spacing:1px;font-weight:600;color:#60866d}.gathering-page .gathering-heading h1{font-size:43px;line-height:1.25;letter-spacing:-2px;margin:12px 0}.gathering-title-dot{color:#d6ab64}.gathering-heading p{color:#657d69;font-size:13px;line-height:1.9;margin:0 0 20px}.gathering-heading .primary{font-size:12px;padding:12px 17px;margin:0;display:inline-flex;align-items:center;gap:5px}.gathering-heading .primary>span{font-size:18px;line-height:1}.gathering-hero-art{width:280px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;transform:rotate(-4deg)}.gathering-hero-art svg{width:100%;height:auto;filter:drop-shadow(0 10px 8px #5478600d)}.gathering-hero-art>span{font-size:11px;letter-spacing:2px;color:#6a8a70}
.gathering-tabs{margin:0 0 18px;gap:18px;border-bottom:1px solid var(--line);flex-wrap:nowrap;overflow-x:auto}.gathering-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:13px 1px;font-size:13px;font-weight:500;white-space:nowrap}.gathering-tabs button[aria-pressed=true]{background:transparent;color:#357a62;border-color:#357a62}.gathering-search{position:relative;gap:8px}.gathering-search input{border-radius:14px;background:#fff;height:46px;padding-left:17px;font-size:13px}.gathering-search .secondary{min-width:65px;font-size:12px;background:#fff}.gathering-categories{margin:15px 0 29px;display:block}.gathering-topic-chips{display:flex;gap:8px;flex-wrap:wrap}.gathering-topic-chips button{border:1px solid #e4e8dc;background:#fffefa;color:#687c6c;border-radius:25px;display:flex;align-items:center;gap:6px;padding:9px 13px;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.gathering-topic-chips button[aria-pressed=true]{background:#e3eee0;color:#315e45;border-color:#b9d0b4;font-weight:700}.gathering-chip-icon{font-size:14px}.gathering-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}.gathering-list-heading h2{font-size:19px;letter-spacing:-.6px;margin:0}.gathering-list-heading>span{color:var(--muted);font-size:11px}.gathering-room-grid{gap:18px}.gathering-room-card{padding:0 0 20px;overflow:hidden;border:1px solid #e5e9dd;border-radius:20px;background:#fffefa;box-shadow:0 4px 12px #354a3805;transition:transform .18s,box-shadow .18s}.gathering-room-card:hover{border-color:#bed1b7;box-shadow:0 8px 24px #354a3810;transform:translateY(-3px)}.gathering-card-art{height:130px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;overflow:hidden;background:#e8f0e2}.gathering-card-art svg{width:140px;height:120px;order:2;transform:rotate(-6deg)}.gathering-card-art>span{font-size:11px;color:#607c66;max-width:100px;line-height:1.9;letter-spacing:1px}.gathering-tone-peach{background:#f8ead9}.gathering-tone-lavender{background:#eeebf4}.gathering-tone-blue{background:#e6eff2}.gathering-room-tags{margin:18px 20px 0}.gathering-room-tags>span{background:#eef4e8;border-radius:7px;color:#507549;font-size:10px;padding:4px 8px}.gathering-room-tags small{font-size:10px;color:#879285}.gathering-room-card h2{margin:11px 20px 7px;font-size:18px;line-height:1.5}.gathering-room-card>p{margin:0 20px 22px;font-size:12px;line-height:1.8}.gathering-room-card footer{padding:14px 0 0;margin: auto 20px 0;border-top:1px solid #edf0e7;font-size:11px}.gathering-room-card footer b{font-size:10px;color:#3a8061}.gathering-empty{background:linear-gradient(135deg,#f0f6e9,#fcf4e7);padding:20px 24px 30px;border:1px dashed #d5dfc9;border-radius:20px}.gathering-empty-art{height:110px}.gathering-empty-art svg{height:110px;width:145px}.gathering-empty h2{font-size:19px;margin:12px 0 8px}.gathering-empty p{margin:0 0 18px;font-size:12px}.gathering-policy-compact{margin:22px 0 0;border:0;background:transparent;padding:0;color:#7a8779;font-size:11px}.gathering-policy-compact summary{font-size:11px;line-height:1.8;padding:8px 0;cursor:pointer}.gathering-policy-compact p{margin:4px 0 12px;line-height:1.8}.gathering-admin-tools{margin-top:12px;padding-top:5px}.gathering-admin-tools summary{font-size:11px;color:var(--muted)}.gathering-admin-notice{border-color:#8cb29a;background:#eff4e9;color:#526e59;border-radius:0 10px 10px 0}
.gathering-policy{background:#f2f5eb;border-color:#e4eadb;color:#61745f}.gathering-back{color:#5f8068}.gathering-room-heading{padding:20px 22px;background:#edf4e9;border:1px solid #dce9d6;border-radius:20px;margin-bottom:16px}.gathering-room-heading h1{font-size:27px}.gathering-room-category{color:#598065}.gathering-messages{background:#edf3e8;border-color:#dde7d6;border-radius:20px}.gathering-message{border-color:#e2e8dc;background:#fffefa;box-shadow:0 2px 4px #354a3805}.gathering-message.is-mine{background:#dcebd6;border-color:#cadfbf;color:#2f4938}.gathering-operator-badge{background:#d4e6cd;color:#4d714c}.gathering-message time,.gathering-message .text-button,.gathering-hidden-label{color:#7c8a79}.gathering-compose textarea{background:#fffefa;border-radius:14px}.gathering-compose .primary{border-radius:14px}.gathering-join{background:#f5f7ed;border-radius:20px}.gathering-dialog{--ink:#273f35;--paper:#fffefa;--soft:#f3f7ee;--line:#e3e9da;--muted:#75867c;background:var(--paper);color:var(--ink);border-radius:22px}.gathering-check input[type=checkbox]{accent-color:#357a62}.gathering-dialog input:focus,.gathering-dialog textarea:focus,.gathering-page input:focus,.gathering-page textarea:focus{outline-color:#92b59b}.gathering-home-entry{background:linear-gradient(110deg,#edf4e7,#faf4e7);border-color:#e1e9d7;border-radius:18px}.gathering-home-entry h2{color:#355d43}.gathering-home-entry p{color:#7b8b70}.gathering-home-entry>a{color:#4f805d}
@media(max-width:650px){.gathering-page{padding:16px 16px 90px;border-radius:0;margin-top:0;margin-bottom:0}.gathering-heading{min-height:240px;padding:24px 20px;border-radius:20px;margin-bottom:14px}.gathering-heading .eyebrow{font-size:9px;letter-spacing:.2px}.gathering-page .gathering-heading h1{font-size:34px;letter-spacing:-1.5px;margin:10px 0}.gathering-heading p{font-size:11px;max-width:210px;margin-bottom:16px;line-height:1.9}.gathering-heading .primary{padding:11px 12px;font-size:11px;white-space:nowrap}.gathering-hero-art{position:absolute;width:135px;right:4px;bottom:16px;z-index:-1}.gathering-hero-art>span{font-size:8px;letter-spacing:.5px}.gathering-hero-copy{max-width:100%}.gathering-tabs{gap:17px;margin-bottom:13px}.gathering-tabs button{font-size:11px;padding:11px 0}.gathering-search input{font-size:12px;padding:12px;height:43px}.gathering-search .secondary{min-width:54px;font-size:11px;padding:10px}.gathering-categories{margin:13px 0 23px}.gathering-topic-chips{gap:7px;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.gathering-topic-chips button{padding:8px 11px;font-size:10px;flex-shrink:0}.gathering-list-heading{margin-bottom:12px;align-items:flex-start;flex-direction:column;gap:5px}.gathering-list-heading h2{font-size:18px}.gathering-list-heading>span{font-size:10px}.gathering-room-grid{grid-template-columns:1fr;gap:14px}.gathering-room-card{padding:0 0 17px;display:grid;grid-template-columns:95px minmax(0,1fr);column-gap:14px;align-content:start}.gathering-card-art{grid-column:1;grid-row:1/4;height:100%;min-height:136px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:0 0 17px 0}.gathering-card-art svg{width:103px;height:103px;max-width:none;flex-shrink:0}.gathering-card-art>span{display:none}.gathering-room-tags{grid-column:2;margin:16px 15px 0 0;gap:5px;flex-wrap:wrap}.gathering-room-tags>span{font-size:9px;padding:3px 6px}.gathering-room-tags small{font-size:9px}.gathering-room-card h2{grid-column:2;margin:8px 15px 5px 0;font-size:16px;line-height:1.6}.gathering-room-card>p{grid-column:2;margin:0 15px 13px 0;font-size:11px;line-height:1.8}.gathering-room-card footer{grid-column:1/-1;margin:13px 17px 0;padding-top:12px;font-size:10px}.gathering-policy-compact summary{font-size:10px}.gathering-room-heading{padding:17px 15px;gap:10px}.gathering-room-heading h1{font-size:23px}.gathering-room-heading .secondary{font-size:10px}.gathering-room-category{font-size:10px}.gathering-empty{padding:15px 20px 26px}.gathering-empty h2{font-size:18px}.gathering-empty p{font-size:11px}.gathering-empty-art{height:100px}.gathering-empty-art svg{height:100px}.gathering-home-entry{padding:17px 16px}.gathering-home-entry h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.gathering-room-card{transition:none}.gathering-room-card:hover{transform:none}}

/* Compact, light conversation surface, independent of the reading theme. */
body .gathering-room-page,body.dark .gathering-room-page{--paper:#fff;--ink:#26343d;--muted:#657785;--line:#dce5eb;--soft:#f3f7fa;background:#eef4f8;color:#26343d;border-radius:16px;padding:16px 20px 90px;color-scheme:light}
body .gathering-room-page .gathering-back{margin:0 0 10px;color:#5e7382;font-size:12px}
body .gathering-room-page .gathering-room-heading{background:transparent;border:0;border-bottom:1px solid #dce5eb;border-radius:0;padding:0 0 12px;margin:0;align-items:center;gap:10px}
body .gathering-room-page .gathering-room-heading h1{color:#26343d;font-size:20px;line-height:1.4;margin:4px 0;letter-spacing:-.5px}
body .gathering-room-page .gathering-room-category{font-size:11px;color:#657785}
body .gathering-room-page .secondary{background:#fff;color:#425765;border-color:#dce5eb;font-size:11px;padding:8px 11px;border-radius:10px}
.gathering-room-info summary{font-size:11px;color:#657785;cursor:pointer}.gathering-room-info p{max-width:600px}
body .gathering-room-page .gathering-room-heading p,body .gathering-room-page .gathering-room-heading small{color:#657785;font-size:12px}
body .gathering-room-page .gathering-room-policy{border:0;border-radius:0;background:transparent;color:#627786;padding:8px 0;margin:0;font-size:10px;line-height:1.6}
.gathering-room-policy summary{cursor:pointer}.gathering-room-policy p{margin:6px 0}
body .gathering-room-page .gathering-admin-notice{color:#526c79;background:#e5eef4;font-size:11px;padding:8px 10px;margin:5px 0;border-color:#a7c1d1}
body .gathering-room-page .gathering-chat{margin:0}
body .gathering-room-page .gathering-chat-top{margin:0;padding:5px 0;min-height:22px;gap:8px}
body .gathering-room-page .gathering-chat-top>span{font-size:10px;color:#70828e;margin-left:auto}
body .gathering-room-page .gathering-messages{height:55dvh;min-height:260px;max-height:760px;background:#e5eff6;border:0;border-radius:12px;padding:16px 12px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
body .gathering-room-page .gathering-message{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;margin:0 0 12px;max-width:100%;width:100%;color:#26343d;box-sizing:border-box}
body .gathering-room-page .gathering-message>header{display:flex;align-items:center;gap:5px;margin:0 0 4px;font-size:11px;line-height:1.4;color:#526775}
body .gathering-room-page .gathering-message.is-mine>header{justify-content:flex-end}
body .gathering-room-page .gathering-operator-badge{font-size:8px;padding:1px 4px;background:#dce8ec;color:#526775;border-radius:3px}
.gathering-message-line{display:flex;align-items:flex-end;gap:5px;position:relative}
body .gathering-room-page .gathering-message-line>p{width:fit-content;max-width:72%;min-width:0;background:#fff;color:#26343d;border-radius:3px 13px 13px 13px;padding:9px 11px;margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 1px 2px #26343d09}
body .gathering-room-page .is-mine .gathering-message-line{flex-direction:row-reverse}
body .gathering-room-page .is-mine .gathering-message-line>p{background:#ffe778;border-radius:13px 3px 13px 13px;color:#333328}
body .gathering-room-page .gathering-message time{font-size:9px;line-height:1.4;color:#657785;white-space:nowrap;flex-shrink:0;margin:0 0 2px}
.gathering-message-actions{position:relative;align-self:center;color:#657785;font-size:12px}.gathering-message-actions summary{list-style:none;cursor:pointer;padding:5px;line-height:1}.gathering-message-actions summary::-webkit-details-marker{display:none}
body .gathering-room-page .gathering-message-actions .text-button{position:absolute;z-index:3;top:25px;left:0;white-space:nowrap;background:#fff;color:#526775;box-shadow:0 3px 15px #26343d22;border:1px solid #dce5eb;border-radius:8px;padding:10px;font-size:11px;margin:0}
body .gathering-room-page .is-mine .gathering-message-actions .text-button{left:auto;right:0}
body .gathering-room-page .gathering-hidden-label{font-size:9px;color:#657785}
body .gathering-room-page .gathering-chat-empty{padding:50px 0;color:#70828e;font-size:13px}
body .gathering-room-page .gathering-compose{position:sticky;bottom:72px;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;background:#fff;border:1px solid #dce5eb;border-radius:13px;padding:8px;margin:10px 0 0}
body .gathering-room-page .gathering-compose textarea{background:#fff;color:#26343d;border:0;border-radius:8px;padding:8px;font-size:16px;min-height:38px;max-height:120px;line-height:1.4;resize:vertical}
body .gathering-room-page .gathering-compose textarea::placeholder{color:#8798a3}
body .gathering-room-page .gathering-compose .primary{background:#ffe778;color:#473e22;border:0;box-shadow:none;border-radius:9px;min-width:56px;padding:8px 12px;font-size:12px;align-self:end;min-height:38px}
body .gathering-room-page .gathering-compose [role=alert]:empty{display:none}
body .gathering-room-page .gathering-leave{font-size:10px;color:#657785;margin:14px 0 0 auto}
body .gathering-room-page .gathering-join{background:#fff;color:#26343d;border-color:#dce5eb}
@media(max-width:650px){body .gathering-room-page{padding:12px 12px 86px;margin:0;border-radius:0}body .gathering-room-page .gathering-room-heading h1{font-size:18px}body .gathering-room-page .gathering-messages{height:52dvh;min-height:250px;padding:14px 10px}body .gathering-room-page .gathering-message-line>p{max-width:73%;font-size:14px}body .gathering-room-page .gathering-room-policy{font-size:10px}}
body .gathering-room-page .gathering-room-info{margin:3px 0 0;padding:0}body .gathering-room-page .gathering-room-info summary{padding:2px 0;font-size:11px;line-height:1.4}body .gathering-room-page .gathering-message-actions{margin:0;padding:0}body .gathering-room-page .gathering-compose textarea{height:38px;box-sizing:border-box}

/* Messenger layout; keep the same palette when the reader uses dark mode. */
:is(body,body.dark) .gathering-room-page{background:#f59473;--ink:#352b27;--muted:#73574b;color:#352b27}
:is(body,body.dark) .gathering-room-page .gathering-back,:is(body,body.dark) .gathering-room-page .gathering-room-category,:is(body,body.dark) .gathering-room-page .gathering-room-heading h1,:is(body,body.dark) .gathering-room-page .gathering-room-info summary{color:#352b27}
:is(body,body.dark) .gathering-room-page .gathering-room-heading{background:transparent;border-bottom:1px solid #c96f552b;padding-bottom:8px}
:is(body,body.dark) .gathering-room-page .gathering-room-policy{color:#694b3f;background:transparent;border:0;padding:6px 0;font-size:10px}
:is(body,body.dark) .gathering-room-page .gathering-room-policy summary{font-size:10px;padding:0;line-height:1.5}
:is(body,body.dark) .gathering-room-page .gathering-chat-top>span{color:#795748;font-size:9px}
:is(body,body.dark) .gathering-room-page .gathering-messages{background:transparent;border:0;border-radius:0;padding:14px 0;height:57dvh}
:is(body,body.dark) .gathering-room-page .gathering-message,:is(body,body.dark) .gathering-room-page .gathering-message.is-mine{position:relative;background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 15px;color:#2c2925;max-width:100%;width:100%}
:is(body,body.dark) .gathering-room-page .gathering-message>header{margin:0 0 4px 40px;font-size:11px;color:#49382f}
:is(body,body.dark) .gathering-room-page .gathering-message.is-mine>header{display:none}
:is(body,body.dark) .gathering-room-page .gathering-message:not(.is-mine) .gathering-message-line{padding-left:40px}
.gathering-avatar{position:absolute;top:0;left:0;width:32px;height:32px;border-radius:12px;display:grid;place-items:center;background:#fff3df;color:#927040;font-size:14px;font-weight:600;border:1px solid #ffffff60}
:is(body,body.dark) .gathering-room-page .gathering-message-line>p{background:#fff;color:#292723;border-radius:3px 14px 14px 14px;padding:8px 11px;font-size:14px;line-height:1.5;max-width:72%;box-shadow:none}
:is(body,body.dark) .gathering-room-page .is-mine .gathering-message-line>p{background:#ffeb38;color:#302b1f;border-radius:14px 3px 14px 14px}
:is(body,body.dark) .gathering-room-page .gathering-message time{color:#795748;font-size:9px}
:is(body,body.dark) .gathering-room-page .gathering-operator-badge{background:#ffffff75;color:#6c5145}
:is(body,body.dark) .gathering-room-page .gathering-message-actions{margin:0;color:#795748;opacity:.65}
:is(body,body.dark) .gathering-room-page .gathering-message-actions[open]{opacity:1}
:is(body,body.dark) .gathering-room-page .gathering-compose{background:#fff7f0;border:1px solid #ffffff80;border-radius:24px;padding:6px 7px;gap:4px;align-items:center;box-shadow:0 3px 14px #ae584b0c}
:is(body,body.dark) .gathering-room-page .gathering-compose textarea{background:transparent;color:#352b27;height:38px;min-height:38px;border:0;resize:none;padding:8px 12px}
:is(body,body.dark) .gathering-room-page .gathering-compose textarea::placeholder{color:#aa9589}
:is(body,body.dark) .gathering-room-page .gathering-compose .primary{background:#ffeb38;color:#40341d;border:0;border-radius:20px;padding:8px 13px;min-height:36px;align-self:center}
:is(body,body.dark) .gathering-room-page .gathering-chat-empty,:is(body,body.dark) .gathering-room-page .gathering-leave{color:#795748}
@media(max-width:650px){:is(body,body.dark) .gathering-room-page .gathering-messages{height:55dvh;min-height:260px}:is(body,body.dark) .gathering-room-page .gathering-message-line>p{max-width:73%}:is(body,body.dark) .gathering-room-page .gathering-room-heading h1{font-size:18px}}

/* The conversation gets the available viewport; room metadata stays compact. */
:is(body,body.dark) .gathering-room-page{display:flex;flex-direction:column;height:calc(100dvh - var(--room-shell-space,150px));min-height:300px;box-sizing:border-box;padding:8px 14px;margin-top:8px;margin-bottom:0;overflow:hidden}
:is(body,body.dark) .gathering-room-page .gathering-room-heading{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:0 0 5px;min-height:34px;position:relative}
:is(body,body.dark) .gathering-room-page .gathering-back{display:flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:32px;margin:0;padding:0}
:is(body,body.dark) .gathering-room-page .gathering-back svg{width:20px;height:20px}
:is(body,body.dark) .gathering-room-page .gathering-room-heading h1{font-size:16px;line-height:1.4;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(body,body.dark) .gathering-room-page .gathering-room-info{margin:0;padding:0;flex-shrink:0}
:is(body,body.dark) .gathering-room-page .gathering-room-info summary{font-size:10px;white-space:nowrap;padding:5px 0}
.gathering-room-info>div{position:absolute;z-index:7;right:0;top:40px;max-width:300px;width:calc(100% - 30px);padding:14px;background:#fff8f1;border:1px solid #eed8cc;border-radius:12px;box-shadow:0 5px 18px #75442e20}
:is(body,body.dark) .gathering-room-page .gathering-room-heading .secondary{font-size:10px;padding:5px 9px;border-radius:8px;min-height:28px}
:is(body,body.dark) .gathering-room-page .gathering-room-policy{flex:0 0 auto;margin:0;padding:3px 0;position:relative}
:is(body,body.dark) .gathering-room-page .gathering-room-policy summary{font-size:9px;padding:0;line-height:1.5}
:is(body,body.dark) .gathering-room-page .gathering-room-policy>p{position:absolute;top:18px;left:0;right:0;z-index:6;margin:0;padding:12px;background:#fff8f1;color:#694b3f;border-radius:9px;box-shadow:0 3px 14px #75442e20}
:is(body,body.dark) .gathering-room-page .gathering-chat{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}
:is(body,body.dark) .gathering-room-page .gathering-chat-top{flex:0 0 auto;min-height:0;padding:0;margin:0;gap:0}
:is(body,body.dark) .gathering-room-page .gathering-chat-top .text-button{font-size:10px;padding:3px 0}
:is(body,body.dark) .gathering-room-page #gathering-sync:empty{display:none}
:is(body,body.dark) .gathering-room-page .gathering-messages{flex:1;min-height:0;height:auto;max-height:none;padding:10px 0;overflow-y:auto}
:is(body,body.dark) .gathering-room-page .gathering-compose{position:relative;bottom:auto;flex:0 0 auto;margin:3px 0 0;padding:4px 6px}
:is(body,body.dark) .gathering-room-page .gathering-leave{position:absolute;right:8px;top:0;z-index:2;font-size:9px;margin:0;padding:3px 0}
body:has(.gathering-room-page) .site-footer{display:none}
@media(max-width:650px){:is(body,body.dark) .gathering-room-page{padding:6px 10px;margin-top:0;border-radius:0}:is(body,body.dark) .gathering-room-page .gathering-room-heading h1{font-size:16px}:is(body,body.dark) .gathering-room-page .gathering-messages{height:auto;min-height:0}}

/* Single-row composer: reset inherited button margin as well as padding. */
:is(body,body.dark) .gathering-room-page .gathering-compose{padding:3px 5px;border-radius:21px;align-items:center;gap:4px}
:is(body,body.dark) .gathering-room-page .gathering-compose textarea{height:32px;min-height:32px;max-height:32px;padding:5px 10px;line-height:22px;box-sizing:border-box;align-self:center}
:is(body,body.dark) .gathering-room-page .gathering-compose .primary{height:32px;min-height:32px;margin:0;padding:4px 11px;line-height:22px;border-radius:18px;box-sizing:border-box;align-self:center}

/* A bright community palette in every reading theme. */
:is(body,body.dark):has(.gathering-page){--bg:#fffdf9;--paper:#fff;--ink:#29483f;--muted:#647b73;--line:#e0ece6;--soft:#f0faf5;--green:#28765e;background:#fffdf9;color:#29483f;color-scheme:light}
:is(body,body.dark) .gathering-page:not(.gathering-room-page),:is(body,body.dark) .gathering-dialog{--paper:#fff;--ink:#29483f;--muted:#647b73;--line:#e0ece6;--soft:#f0faf5;--green:#28765e;color-scheme:light;background:#fffdf9;color:#29483f}
:is(body,body.dark):has(.gathering-page) :is(.app-header,.topbar,.bottom-nav,.site-footer){background:#fffdf9;color:#29483f;border-color:#e6eee7}
:is(body,body.dark):has(.gathering-page) :is(.header-welcome,.icon-button,.bottom-nav a.active){color:#29483f}
:is(body,body.dark) .gathering-page .gathering-heading{background:linear-gradient(115deg,#e1f8ef 0%,#effbe9 65%,#fff1d5 100%);border:1px solid #d4eee0;box-shadow:0 8px 28px #4e927b08}
:is(body,body.dark) .gathering-page .gathering-heading:before{background:#d3edd4}
:is(body,body.dark) .gathering-page .gathering-heading:after{background:#e4f2c9}
:is(body,body.dark) .gathering-page .gathering-heading h1{color:#284e40}
:is(body,body.dark) .gathering-page .gathering-heading :is(.eyebrow,p),:is(body,body.dark) .gathering-hero-art>span{color:#507562}
:is(body,body.dark) .gathering-title-dot{color:#efae69}
:is(body,body.dark) .gathering-page:not(.gathering-room-page) .primary,:is(body,body.dark) .gathering-dialog .primary{background:#28775e;border-color:#28775e;color:#fff;box-shadow:0 5px 14px #28775e12}
:is(body,body.dark) .gathering-page:not(.gathering-room-page) .secondary,:is(body,body.dark) .gathering-dialog .secondary{background:#fff;color:#365b4c;border:1px solid #d9e9df;box-shadow:none}
:is(body,body.dark) .gathering-tabs button{color:#647b73;background:transparent}
:is(body,body.dark) .gathering-tabs button[aria-pressed=true]{color:#267257;border-color:#70b79d;background:transparent}
:is(body,body.dark) .gathering-page:not(.gathering-room-page) :is(input,select,textarea),:is(body,body.dark) .gathering-dialog :is(input:not([type=checkbox]),select,textarea){background:#fff;color:#29483f;border-color:#d8e8de}
:is(body,body.dark) .gathering-page input::placeholder,:is(body,body.dark) .gathering-dialog input::placeholder{color:#7a8e84;opacity:1}
:is(body,body.dark) .gathering-topic-chips button{background:#edf8f2;border-color:#dbece1;color:#4c6b5c}
:is(body,body.dark) .gathering-topic-chips button:nth-child(3n){background:#fff2e7;border-color:#f2e2d2;color:#7d6249}
:is(body,body.dark) .gathering-topic-chips button:nth-child(3n + 1){background:#f2edfc;border-color:#e4ddf3;color:#74618b}
:is(body,body.dark) .gathering-topic-chips button[aria-pressed=true]{background:#d7f0e2;border-color:#8bbfa5;color:#285e45;font-weight:700}
:is(body,body.dark) .gathering-room-card{background:#fff;border-color:#e0eae3;color:#29483f;box-shadow:0 5px 18px #51856a08}
:is(body,body.dark) .gathering-room-card:hover{border-color:#a4cfb6;box-shadow:0 8px 25px #51856a12}
:is(body,body.dark) .gathering-card-art{background:#e7f7ec}
:is(body,body.dark) .gathering-tone-peach{background:#ffeddf}
:is(body,body.dark) .gathering-tone-lavender{background:#f1eafb}
:is(body,body.dark) .gathering-tone-blue{background:#e6f4fb}
:is(body,body.dark) .gathering-card-art>span{color:#527861}
:is(body,body.dark) .gathering-room-tags>span{background:#e8f6ec;color:#497051}
:is(body,body.dark) .gathering-room-tags small,:is(body,body.dark) .gathering-room-card>p,:is(body,body.dark) .gathering-room-card footer{color:#6a8075}
:is(body,body.dark) .gathering-room-card footer{border-color:#e5eee7}
:is(body,body.dark) .gathering-room-card footer b{color:#28775e}
:is(body,body.dark) .gathering-empty{background:linear-gradient(120deg,#edfaef,#fff4e6);border-color:#cfe6d3;color:#36583f}
:is(body,body.dark) .gathering-page:not(.gathering-room-page) .gathering-policy,:is(body,body.dark) .gathering-dialog .gathering-policy{background:#f0f9ee;color:#536f55;border-color:#e0edda}
:is(body,body.dark) .gathering-page .gathering-policy-compact{background:transparent;color:#647b73}
:is(body,body.dark) .gathering-admin-notice{background:#edf8f3;color:#4d7561;border-color:#9ccbb2}
:is(body,body.dark) .gathering-dialog .helper{color:#647b73}
:is(body,body.dark) .gathering-dialog .gathering-suggestion-chips button,:is(body,body.dark) .gathering-member-buttons button{background:#edf8f2;color:#436653;border-color:#d7e9dd}
:is(body,body.dark) .gathering-dialog .dialog-heading .icon-button{color:#426a55}
:is(body,body.dark) .gathering-room-page{background:#ffe8d9;--paper:#fffdf9;--ink:#493b30;--muted:#7b6657;--line:#eddbcd;--soft:#fff4e9;color:#493b30}
:is(body,body.dark) .gathering-room-page .is-mine .gathering-message-line>p{background:#fff19a;color:#473e22}
:is(body,body.dark) .gathering-room-page .gathering-compose .primary{background:#fff19a;color:#473e22}
:is(body,body.dark) .gathering-room-page .gathering-compose{background:#fffdf9;border-color:#fff7ef}
