/* Public note and chat / soft colour, considered spacing, no third-party widgets. */
.community-intro small,.community-section-title{font-size:10px!important;letter-spacing:.12em;font-weight:790;color:#75a3bb}
.community-intro h2{font-size:30px!important;margin:8px 0!important;letter-spacing:-.065em}
.community-intro p{color:#6684a0;line-height:1.55}
.community-chat-link,.community-primary{background:#246e9d;color:#fff;border:1px solid #2b79a9;border-radius:12px;padding:11px 15px;font:690 12px system-ui;cursor:pointer}
.community-chat-link{width:100%;background:linear-gradient(130deg,#2b8fab,#6e76bf);border-color:transparent;margin:13px 0 20px}
.community-primary:hover,.community-chat-link:hover{filter:brightness(1.09)}
.guest-profile{border:1px solid #d5e7e9;background:#f1f9fb;border-radius:17px;padding:13px;margin:12px 0 19px}
.guest-profile-heading{display:grid;gap:4px;margin-bottom:10px}
.guest-profile-heading strong{font-size:13px;color:#386a81}
.guest-profile-heading small{font-size:11px;margin:0;color:#7394a0}
.guest-profile-form{display:grid;grid-template-columns:1fr 98px auto;gap:6px;align-items:center}
.guest-profile-form input,.guest-profile-form select,.community-input{border-radius:10px;border:1px solid #c8dee8;background:#fff;padding:11px;min-width:0;font:500 12px system-ui;color:#234c63}
.guest-profile-form .community-primary{padding:11px 8px}
.community-feedback{font-size:11px!important;margin:8px 0!important;color:#557f92!important}
.community-section-title{margin:20px 0 9px}
.community-list-container{max-height:310px;overflow-y:auto;overscroll-behavior:contain}
.community-messages{display:grid;gap:10px}
.community-message{display:flex;gap:9px;align-items:flex-start;border:1px solid #e1edf3;background:#fff;border-radius:14px;padding:10px}
.community-avatar{flex:none;width:33px;height:33px;border-radius:11px;display:grid;place-items:center;font-size:14px;font-weight:750;color:#285077}
.avatar-blue{background:#d4e9ff}.avatar-mint{background:#ccefdc}.avatar-lilac{background:#e8dcfb}.avatar-peach{background:#ffe4da}.avatar-slate{background:#dae5ec}
.community-message-body{flex:1;min-width:0}
.community-message-head{display:flex;gap:7px;justify-content:space-between;align-items:baseline}
.community-message-head strong{font-size:12px;color:#28526c}
.community-message-head time{font-size:9px;color:#91aabd;white-space:nowrap}
.community-message-text{font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0!important;color:#3e6680!important}
.community-report{border:none;background:transparent;font-size:10px;color:#8baabd;cursor:pointer;padding:3px}
.community-report:hover{color:#c16966}
.community-empty{font-size:12px!important;color:#86a1b1!important}
.community-compose{display:grid;gap:8px;margin-top:12px}
.community-label{font-size:11px;font-weight:700;color:#436f83}
.community-input{resize:vertical;width:100%;font-size:13px}
.community-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.community-limits{font-size:9px;color:#7897a9;line-height:1.35}
.community-trap{position:absolute!important;left:-10000px!important;height:1px!important;width:1px!important;opacity:0!important}
.community-chat-window{
 position:fixed;z-index:120;right:24px;bottom:22px;width:min(390px,calc(100vw - 24px));
 max-height:min(82dvh,760px);display:flex;flex-direction:column;gap:11px;overflow:auto;
 padding:16px;border-radius:22px;border:1px solid #fff;
 background:linear-gradient(145deg,#fafdffed,#ebf6ffed);
 -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
 box-shadow:0 20px 90px rgba(19,54,91,.3);color:#2f526d
}
.community-chat-top{display:flex;align-items:start;justify-content:space-between;gap:13px}
.community-chat-top strong{display:block;font-size:17px;color:#205578;letter-spacing:-.04em}
.community-chat-top small{font-size:11px;color:#7395ae}
.community-chat-close{border:0;border-radius:10px;background:#e3f0fb;color:#365f7b;font-size:24px;line-height:1;padding:5px 10px;cursor:pointer}
.community-chat-list{flex:1;min-height:120px;max-height:280px;overflow-y:auto}
.community-chat-window .guest-profile{margin:1px 0 0;padding:10px}
.community-chat-window .guest-profile-form{grid-template-columns:1fr 85px}
.community-chat-window .guest-profile-form .community-primary{grid-column:1/-1}
.community-chat-window .community-compose{margin-top:2px}
.night .community-intro h2,.night .community-message-head strong{color:#273f66}
@media(max-width:600px){.guest-profile-form{grid-template-columns:1fr 80px}.guest-profile-form .community-primary{grid-column:1/-1}.community-chat-window{inset:auto 8px calc(83px + env(safe-area-inset-bottom,0px)) 8px;width:auto;max-height:min(73dvh,680px);border-radius:19px;padding:13px}.community-chat-list{max-height:190px}}


/* Forecast display and chat launcher */
.dock-label .community-dock-launcher{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e8f5;border-radius:999px;padding:7px 13px;background:#eaf6ff;color:#39719b;font:720 11px system-ui;cursor:pointer}
.dock-label .community-dock-launcher:hover{background:#d5ecff}
.forecast-days{border:1px solid #d6e7f1;border-radius:15px;margin:11px 0;padding:5px 12px;background:#f7fbff}
.forecast-day{display:grid;grid-template-columns:1.25fr 1.1fr .8fr;align-items:center;column-gap:12px;row-gap:4px;padding:11px 0;border-bottom:1px solid #e0ebf3}
.forecast-day:last-child{border-bottom:0}
.forecast-day strong{font-size:11px;color:#365f7d}
.forecast-day span{font-size:11px;color:#688ba3}
.forecast-day b{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;color:#325e84}
.forecast-day small{grid-column:2/4;text-align:right;margin:0!important;font-size:10px!important;color:#749bb2!important}
@media(max-width:760px){.dock-label .community-dock-launcher{font-size:10px;padding:7px 11px}}
@media(max-width:420px){.forecast-day{grid-template-columns:1.1fr 1fr auto;gap:4px}.forecast-day span{font-size:10px}.forecast-day b{font-size:11px}}

/* Gentle conversation UI with small original geometric character marks. */
.community-avatar{font-size:19px;font-weight:720;border-radius:14px;position:relative;box-shadow:inset 0 1px 0 #ffffffad}
.community-avatar::after{content:"";position:absolute;inset:5px;border:1px solid #ffffff96;border-radius:10px;pointer-events:none}
.guest-profile-form{grid-template-columns:34px minmax(0,1fr) 90px auto}
.guest-profile-form>.community-avatar{width:34px;height:34px}
.community-chat-window{padding:0;gap:0;border-radius:25px;background:linear-gradient(150deg,#fffefa,#edf6fffa 66%,#f3effffc);box-shadow:0 30px 100px #17376b4a}
.community-chat-top{padding:20px 20px 15px;background:linear-gradient(125deg,#e5f5ff,#f2edff);border-bottom:1px solid #dbeaf6}
.community-chat-top strong{font-size:19px;letter-spacing:-.055em}
.community-chat-close{background:#ffffffb3}
.community-chat-window .community-chat-list{margin:9px 14px 0;padding:7px 4px;min-height:165px;max-height:300px}
.community-chat-window .guest-profile{margin:4px 16px 0;background:#f4faff}
.community-chat-window .guest-profile-form{grid-template-columns:34px minmax(0,1fr) 85px}
.community-chat-window .guest-profile-form .community-primary{grid-column:1/-1}
.community-chat-window .community-compose{margin:9px 16px 18px}
.community-message{border:1px solid #e1ebf5;border-radius:16px;box-shadow:0 3px 11px #477a9a0c;padding:11px}
.community-message-head strong{letter-spacing:-.025em}
.community-chat-window .community-compose .community-primary{background:linear-gradient(120deg,#387fa9,#7d7fc3);border:0}
.community-chat-window .community-input{border-radius:13px;padding:12px}
.community-service-chat-link,.community-service-link{display:block;margin:12px 16px 1px;border:1px solid #d4e7f3;border-radius:12px;background:#f6fbff;text-decoration:none;text-align:center;padding:10px;color:#3b739b;font-size:11px;font-weight:740}
.community-service-link{margin:7px 0 19px}
@media(max-width:600px){.guest-profile-form{grid-template-columns:34px minmax(0,1fr) 85px}.guest-profile-form .community-primary{grid-column:1/-1}.community-chat-window{padding:0}.community-chat-top{padding:15px 16px}.community-chat-window .community-chat-list{max-height:195px}}

.cute-avatar-art{display:block;width:30px;height:30px;filter:drop-shadow(0 1px 2px #7189a526)}.community-avatar{padding:1px}

/* Stream-chat layout — high contrast, full-height message list, tiny profile strip. */
.community-chat-window{
 width:min(410px,calc(100vw - 24px));height:min(76dvh,690px);max-height:790px;
 background:#111b2d;color:#eaf2ff;border:1px solid #39516e;
 border-radius:17px;padding:0;gap:0;overflow:hidden;
 box-shadow:0 24px 85px #071d3c85;display:flex;flex-direction:column
}
.community-chat-top{flex:none;display:flex;align-items:center;gap:9px;justify-content:space-between;background:#202e47;border-bottom:1px solid #445a78;padding:12px 14px}
.community-chat-titles{min-width:0;display:flex;flex-direction:column;gap:2px}
.community-chat-titles strong{font-size:15px;line-height:1.2;font-weight:800;color:#fff}
.community-chat-titles small{font-size:10px;color:#b7c8e1}
.community-chat-close{flex:none;background:#314563;border:1px solid #52688b;color:#fff;padding:4px 9px;font-size:19px;border-radius:8px}
.community-service-chat-link{display:inline-block;margin:4px 0 0;background:none;border:none;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px;font-size:10px;color:#99c7ff}
.community-chat-window .guest-profile{margin:0;padding:0;border:0;border-radius:0;background:#18263c;color:#f1f7ff;flex:none}
.guest-profile-compact{display:flex;align-items:center;gap:7px;padding:8px 11px}
.guest-profile-compact[hidden],.guest-profile-form[hidden]{display:none!important}
.guest-profile-compact strong{font-size:11px;font-weight:740}
.guest-profile-edit{margin-left:auto;background:#2e4260;border:1px solid #536b8e;border-radius:8px;color:#d8e9ff;padding:6px 9px;font-size:10px;cursor:pointer}
.community-chat-window .guest-profile-form{display:grid;grid-template-columns:30px minmax(0,1fr) 77px auto;gap:5px;align-items:center;padding:11px;background:#1d2e46}
.community-chat-window .guest-profile-form .community-primary{grid-column:auto;padding:9px 7px;font-size:10px;white-space:nowrap}
.community-chat-window .guest-profile-form input,.community-chat-window .guest-profile-form select{min-width:0;padding:9px 7px;font-size:11px;border:1px solid #6c88a6;background:#f7fbff;color:#1d3c55}
.community-chat-window .guest-profile .community-feedback{margin:0 11px;color:#ffd5b6!important}
.community-chat-window .community-chat-list{margin:0;padding:8px 0;flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto;overscroll-behavior:contain;background:#111b2d;scrollbar-color:#496383 #172338}
.community-chat-list .community-messages{display:block}
.community-chat-list .community-empty{margin:30px 16px!important;font-size:12px!important;color:#bed0e5!important}
.community-chat-list .community-message{display:flex;gap:7px;align-items:flex-start;padding:5px 10px;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:#dcecff}
.community-chat-list .community-message:nth-child(even){background:#1a2940}
.community-chat-list .community-message:hover{background:#263750}
.community-chat-list .community-avatar{width:25px;height:25px;border-radius:7px}
.community-chat-list .cute-avatar-art{width:23px;height:23px}
.community-chat-list .community-message-body{display:block;min-width:0;line-height:1.55}
.community-chat-list .community-message-head{display:inline;margin-right:5px}
.community-chat-list .community-message-head strong{font-size:11px;letter-spacing:0;color:#78c7ff}
.community-chat-list .community-message-head time{display:none}
.community-chat-list .chat-mint .community-message-head strong{color:#80e3ae}
.community-chat-list .chat-lilac .community-message-head strong{color:#d3b2ff}
.community-chat-list .chat-peach .community-message-head strong{color:#ffbd9f}
.community-chat-list .chat-slate .community-message-head strong{color:#bed8e7}
.community-chat-list .community-message-text{display:inline;font-size:11px!important;line-height:1.55!important;color:#f0f5ff!important;margin:0!important;white-space:pre-wrap;overflow-wrap:anywhere}
.community-chat-list .community-report{margin-left:auto;align-self:start;color:#8caccb;font-size:9px;padding:3px 2px;opacity:0;transition:opacity .1s}
.community-chat-list .community-message:hover .community-report,.community-chat-list .community-report:focus-visible{opacity:1}
.community-chat-window .community-compose{flex:none;display:block;margin:0;padding:11px;background:#202e47;border-top:1px solid #415978}
.community-chat-window .community-compose .community-label{display:none}
.community-chat-window .community-input{display:block;width:100%;min-height:40px;max-height:82px;background:#f4f8ff;color:#1d3c5b;border:1px solid #8eadd1;border-radius:9px;padding:10px 12px;resize:vertical;font-size:12px}
.community-chat-window .community-compose-bottom{justify-content:flex-end;margin-top:7px}
.community-chat-window .community-compose .community-primary{border-radius:8px;padding:8px 18px;background:#6c9ff4;color:#101d31;font-size:11px;font-weight:800}
.community-chat-window .community-compose .community-feedback{font-size:10px!important;color:#e9cba8!important;margin:4px 0 0!important}
.community-chat-window .community-compose .community-feedback:empty{display:none}
.community-chat-window .community-limits{display:none}
.community-chat-window .community-chat-list .community-feedback{color:#f9d1bb!important;margin:10px!important}
.community-chat-window .community-avatar::after{display:none}
.community-chat-window button:focus-visible,.community-chat-window input:focus-visible,.community-chat-window select:focus-visible,.community-chat-window textarea:focus-visible{outline:2px solid #99cbff;outline-offset:2px}
.guest-profile:not(.community-chat-window .guest-profile) .guest-profile-compact{border:1px solid #c5dfed;border-radius:11px;background:#e7f5ff}
@media(max-width:650px){
 .community-chat-window{right:7px;left:7px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:auto;height:min(76dvh,690px);max-height:none}
 .community-chat-window .community-chat-list{max-height:none}
 .community-chat-window .guest-profile-form{grid-template-columns:29px minmax(0,1fr) 74px;gap:5px}
 .community-chat-window .guest-profile-form .community-primary{grid-column:2/4;justify-self:end;padding:7px 12px}
 .community-chat-top{padding:10px 12px}
}
@media(hover:none){.community-chat-list .community-report{opacity:1}}

/* Floating chat launcher stays visible, away from content tiles and mobile nav. */
.community-float-launcher{position:fixed;z-index:75;right:22px;bottom:22px;display:inline-flex;gap:10px;align-items:center;background:#183f68;border:1px solid #8fb9d6;color:#fff;padding:12px 16px;border-radius:15px;box-shadow:0 12px 35px #10395b70;font:750 12px system-ui;cursor:pointer;transition:transform .15s,background .15s}
.community-float-launcher .ui-icon{width:20px;height:20px}
.community-float-launcher:hover{background:#275d89;transform:translateY(-2px)}
.community-float-launcher[hidden]{display:none!important}
.community-float-launcher:focus-visible{outline:3px solid #8cceff;outline-offset:3px}
.night .community-float-launcher{background:#334e7b}
@media(max-width:760px){.community-float-launcher{right:12px;bottom:calc(91px + env(safe-area-inset-bottom,0px));padding:10px 12px;font-size:11px}}
@media(max-width:430px){.community-float-launcher span{display:none}.community-float-launcher{width:49px;height:49px;justify-content:center;border-radius:50%;padding:0}}

/* Private-room entry and low-profile chat management links. */
.community-private-room-link{display:inline-block;margin:5px 0 10px;text-align:center;border:1px solid #c1d9ee;background:#e8f5ff;border-radius:10px;color:#2c668e;padding:10px 13px;text-decoration:none;font-size:11px;font-weight:750}
.community-private-room-chat-link{display:inline-block;color:#c6ddff;text-decoration:underline;text-underline-offset:3px;font-size:10px;margin:3px 0 0 10px}
.community-admin-menu{position:relative;align-self:center;flex:none;z-index:3}
.community-admin-menu summary{list-style:none;cursor:pointer;padding:8px;border:1px solid #526a8a;background:#30435c;border-radius:8px;color:#dcecff;font-size:10px;font-weight:750}
.community-admin-menu summary::-webkit-details-marker{display:none}
.community-admin-menu .community-admin-options{position:absolute;right:0;top:100%;display:grid;gap:3px;min-width:175px;padding:7px;background:#eaf4ff;border:1px solid #92b3d0;border-radius:10px;box-shadow:0 10px 30px #091b33a8}
.community-admin-options a{display:block;padding:10px 9px;text-decoration:none;color:#204768;font-size:11px;font-weight:760;border-radius:8px;white-space:nowrap}
.community-admin-options a:hover{background:#cbdfee}
.community-chat-top{gap:6px}
.community-chat-titles{flex:1}

/* Compact integrated public/private viewer with in-window role-aware controls. */
.community-private-float{position:fixed;z-index:74;bottom:22px;right:204px;display:inline-flex;align-items:center;gap:7px;padding:11px 13px;border:1px solid #a5c5e2;border-radius:14px;background:#f3fafff2;color:#245c86;box-shadow:0 6px 22px #254e7238;font:760 11px system-ui;cursor:pointer}
.community-private-float .ui-icon{width:18px;height:18px}.community-private-float[hidden]{display:none!important}
.community-private-float:hover{background:#e2f1ff}
.community-chat-window{height:min(82dvh,730px);width:min(435px,calc(100vw - 22px));border-color:#547eaa}
.community-chat-top{padding:9px 11px}
.community-chat-titles strong{font-size:13px}
.community-chat-titles small{font-size:9px}
.community-manage-toggle{background:#304766;color:#f1f6ff;border:1px solid #587797;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:720}
.community-chat-tabs{display:grid;grid-template-columns:1fr 1.4fr;gap:4px;padding:7px 9px 0;background:#1c2c43;border-bottom:1px solid #3f5978;flex:none}
.community-chat-tabs[hidden]{display:none}
.chat-tab{padding:9px 5px;border:0;border-radius:9px 9px 0 0;color:#adc7df;background:#263b55;font-size:11px;font-weight:700;letter-spacing:0}
.chat-tab.active{background:#ecf5ff;color:#1c4c74}
.community-chat-tools{display:flex;gap:10px;align-items:center;justify-content:flex-start;flex:none;padding:6px 9px;border-bottom:1px solid #3f5978;background:#22344e}
.community-chat-tools[hidden]{display:none}
.chat-color-label{display:flex;align-items:center;gap:5px;color:#bcd5ed;font-size:9px}
.chat-color-label[hidden],.chat-tool-link[hidden]{display:none}
.chat-color-select{font-size:10px;color:#eff8ff;background:#334c6c;border:1px solid #587696;border-radius:7px;padding:5px;max-width:84px}
.chat-tool-link{font-size:10px;font-weight:690;color:#a5d3ff}
.community-public-view{flex:1;min-height:0;display:flex;flex-direction:column}
.community-public-view[hidden],.community-private-view[hidden],.community-manage-view[hidden]{display:none!important}
.community-public-view .community-chat-list{flex:1;min-height:0}
.community-chat-list .community-message-text{color:var(--chat-user-font,#eef6ff)!important}
.community-private-view{flex:1;min-height:0;display:flex;flex-direction:column;background:#f1f8ff}
.community-room-frame{display:block;width:100%;height:100%;flex:1;min-height:0;border:0;background:#edf6ff}
.community-manage-view{flex:1;min-height:0;overflow:auto;padding:12px 13px;background:#eaf3ff;color:#204869;scrollbar-color:#9abbda #eaf3ff}
.manage-header,.manage-authenticated{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}
.manage-header strong{font-size:14px}
.manage-close,.manage-action{font-size:10px;border:1px solid #aac8dc;background:#f9fcff;border-radius:8px;padding:7px 9px;color:#2a6188;font-weight:760}
.manage-help{font-size:11px;line-height:1.6;color:#527793}
.manage-role-switch{display:flex;gap:6px;margin:12px 0}
.manage-role-choice{flex:1;border:1px solid #b9d3e5;background:#f7fbff;color:#28628b;border-radius:8px;padding:9px;font-size:11px;font-weight:720}
.manage-role-choice.selected{background:#245e90;color:#fff}
.manage-login{display:grid;gap:9px}.manage-login input,.manage-invite-form input{width:100%;min-width:0;padding:11px;border:1px solid #b0cbe0;border-radius:9px;background:white;color:#183e5c;font-size:12px}
.manage-login .community-primary,.manage-invite-form .community-primary{padding:10px;border-radius:9px}
.manage-section-heading{margin:14px 0 6px;color:#567c9b;font-size:10px;letter-spacing:.07em;font-weight:850}
.manage-message-row{padding:9px 6px;border-bottom:1px solid #bfd4e6}.manage-row-heading{font-size:11px;font-weight:750;color:#2c668d}.manage-message-row p{font-size:11px;margin:5px 0 7px;color:#355875;line-height:1.4;overflow-wrap:anywhere}
.manage-actions{display:flex;gap:5px}.manage-invites{margin:15px 0;padding:12px;background:#dbeefa;border:1px solid #afcbdc;border-radius:12px}.manage-invites>strong{font-size:12px}.manage-invites>p{font-size:10px;color:#547894}
.manage-invite-form{display:flex;gap:5px;margin-bottom:9px}
.manage-invite-code{overflow-wrap:anywhere;font-size:10px}.manage-invite-code code{display:block;padding:6px;background:white}
.manage-mod-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:7px 0;border-top:1px solid #aacbdf}
.community-manage-view .community-feedback{color:#9c5324!important;font-size:10px}
@media(max-width:760px){.community-private-float{bottom:calc(91px + env(safe-area-inset-bottom,0px));right:147px;padding:10px}}
@media(max-width:430px){.community-private-float{right:71px;width:49px;height:49px;justify-content:center;border-radius:50%;padding:0}.community-private-float span{display:none}.community-chat-window{height:min(80dvh,700px)}}

/* Dense text-first mode, like a streaming chat sidebar. */
.community-chat-list .community-message{padding:3px 8px;gap:5px;align-items:baseline}
.community-chat-list .community-avatar{width:19px;height:19px;flex:none;align-self:flex-start}
.community-chat-list .cute-avatar-art{width:18px;height:18px}
.community-chat-list .community-message-body{line-height:1.35}
.community-chat-list .community-message-head strong,.community-chat-list .community-message-text{font-size:11px!important;line-height:1.35!important}
.community-chat-window .guest-profile-compact{padding:6px 9px}
.community-chat-window .community-compose{padding:8px}
.community-chat-window .community-input{padding:8px 10px;min-height:35px}
.community-chat-window .community-chat-list{padding:3px 0}
