:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"League Spartan", system-ui, Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}#root{text-align:left;border-inline:none;width:100%;max-width:100%;margin:0}body{color:#2c3e50;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:#f4f4f4}.main-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{color:#fff;background-color:#f9f7f7;flex-shrink:0;align-items:center;height:75px;padding:0 1.5rem;display:flex}.app-logo{width:auto;height:60px}.app-header h1{margin:0;font-size:1.25rem}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{text-align:left;background-color:#017f8d;border-right:1px solid #ddd;flex-shrink:0;width:240px;overflow-y:auto}.chat-area{background-color:#ecb920;flex:1;padding:1rem;overflow-y:auto}.app-header{justify-content:space-between;align-items:center;display:flex}.signout-btn{color:#fff;cursor:pointer;background-color:#055269;border:2px solid #ecb920;border-radius:77px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.signout-btn:hover{background-color:#e17e23}.hamburger-btn{color:#017f8d;cursor:pointer;background:0 0;border:none;padding:0 .5rem 0 0;font-size:1.75rem;line-height:1;display:none}@media (width<=768px){.hamburger-btn{display:block}.sidebar{z-index:100;height:calc(100vh - 75px);transition:transform .25s;position:fixed;top:75px;left:0;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{z-index:99;background:#00000059;position:fixed;inset:75px 0 0}}.sidebar-nav{padding:.75rem 0;font-family:sans-serif;font-size:1rem}.sidebar-item{cursor:pointer;color:#fff;border-radius:4px;margin:2px .5rem;padding:.6rem 1.25rem;transition:background-color .15s}.sidebar-item.active{color:#fff;background-color:#2c3e50}.sidebar-item:hover{color:#2c3e50;background-color:#e0e0e0}.folder-toggle{align-items:center;gap:.5rem;font-weight:600;display:flex}.folder-arrow{color:#fff;font-size:.75rem}.sidebar-subfolders{border-left:2px solid #ddd;margin-left:.5rem}.subfolder{color:#fff;padding-left:1.5rem;font-weight:400}.admin-link{color:#888;border-top:1px solid #ddd;margin-top:auto;font-size:.85rem}.admin-link:hover{color:#2c3e50}.privacy-link{margin-top:auto;font-size:.85rem}.privacy-link:hover{color:#2c3e50}.chat-header{color:#2c3e50;text-align:center;background-color:#e17e23;border:2px solid #fff;border-radius:77px;align-items:center;max-width:65%;margin:0 auto;padding:10px 2rem 8px;font-size:1.75rem}.chat-placeholder{text-align:center}.chat-message{background-color:#f4f4f4;border-radius:6px;flex-direction:column;align-self:flex-start;gap:.2rem;max-width:75%;padding:.5rem .75rem;display:flex}.chat-message.own{color:#fff;background-color:#2c3e50;align-self:flex-start}.chat-screen-name{color:#666;font-size:.95rem;font-weight:600}.chat-input-bar{align-items:flex-end;padding-top:1rem;display:flex}.chat-send-btn{color:#fff;background-color:#017f8d;border-color:#e17e23;margin-left:1vw;font-size:1rem}.chat-input{resize:none;box-sizing:border-box;border:1px solid #ccc;border-radius:6px;flex:1;min-height:2rem;max-height:8rem;padding:.4rem .5rem;font-family:inherit;font-size:1rem;line-height:1.4;overflow-y:auto}.chat-message.own .chat-screen-name{color:#ccc}.chat-text{font-size:1.25rem}.chat-timestamp{color:#999;align-self:flex-end;font-size:.7rem}.chat-message.own .chat-timestamp{color:#aac}.chat-pinned-card{color:#2c3e50;white-space:pre-line;background-color:#fff;border:4px solid #e17e23;border-radius:20px;flex-direction:column;align-items:center;gap:.4rem;width:50vw;margin:1rem auto;padding:.6rem .75rem;font-size:.95rem;display:flex}.chat-pinned-content{flex-direction:column;gap:.3rem;display:flex}.chat-pinned-preview{font-weight:600}.chat-pinned-rest{font-size:.9rem;line-height:1.5}.chat-pinned-toggle{color:#017f8d;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem;font-weight:600}.chat-pinned-toggle:hover{color:#2c3e50}.chat-area-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-area-container>.chat-header{align-self:center;width:50%}.chat-messages{flex-direction:column;flex:1;gap:.15rem;padding:.5rem;display:flex;overflow-y:auto}.chat-date-divider{text-align:center;color:#043544;letter-spacing:.04em;align-items:center;gap:.75rem;margin:1rem .5rem;font-size:.9rem;font-weight:600;display:flex}.chat-date-divider:before,.chat-date-divider:after{content:"";border-top:1px solid #ddd;flex:1}.signin-container{background-color:#017f8d;flex-direction:column;align-items:center;height:100vh;display:flex}.signin-logo-wrap{text-align:left;background-color:#fff;align-self:stretch;width:100%}.signin-logo-wrap img{padding:.5rem 1rem}.signin-card{background:#ecb920;border-radius:8px;flex-direction:column;gap:.75rem;width:100%;max-width:400px;margin:auto 0;padding:2.5rem;display:flex;box-shadow:0 2px 16px #0000001a}.signin-card h2{color:#2c3e50;text-align:center;background-color:#e17e23;border:2px solid #fff;border-radius:77px;margin:0;padding:5px;font-size:1.5rem}.signin-subtitle{text-align:center;color:#fff;margin:0;font-size:1rem}.signin-error{color:#e74c3c;text-align:center;margin:0;font-size:.85rem}.signin-input::placeholder{color:#aaa;opacity:1}.signin-input{color:#2c3e50;-webkit-text-fill-color:#2c3e50;background-color:#fff;border:1px solid #ccc;border-radius:4px;outline:none;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}.signin-input:focus{border-color:#2c3e50}.signin-btn{cursor:pointer;border:none;border-radius:4px;padding:.65rem;font-size:.95rem;transition:background-color .15s}.signin-btn.primary{color:#fff;background-color:#2c3e50}.signin-btn.primary:hover{background-color:#3d5166}.signin-unauthorized{background-color:#2c3e50;border-radius:4px;padding:.6rem .75rem;font-size:.85rem;line-height:1.4;color:#fff!important}.announcements-page{max-width:720px;margin:0 auto;padding:1.5rem}.announcements-etiquette{background-color:#055269;border:3px solid #e17e23;border-radius:15px;padding:1rem}.announcements-etiquette h3,.announcements-list h3{color:#fff;margin-bottom:.75rem;font-size:1.3rem}.announcements-etiquette p{color:#fff;margin-bottom:.6rem;font-size:1rem;line-height:1.5}.announcements-etiquette a{color:#d19525;text-decoration:underline}.announcements-etiquette a:hover{color:#017f8d}.announcements-divider{border-top:2px solid #e17e23;margin:1.5rem 0}.announcement-item{background:#fff;border-left:4px solid #017f8d;border-radius:10px;margin-bottom:.75rem;padding:.85rem 1rem}.announcement-text{color:#2c3e50;white-space:pre-wrap;margin-bottom:.3rem;font-size:1rem}.announcement-date{color:#999;font-size:.75rem}.announcements-empty{color:#aaa;font-size:.95rem}.etiquette-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.etiquette-toggle{color:#017f8d;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.etiquette-toggle:hover{color:#2c3e50}.etiquette-body{margin-top:.75rem}.welcome-container{background-color:#055269;flex-direction:column;align-items:center;min-height:100vh;display:flex}.welcome-logo-wrap{text-align:left;background-color:#fff;align-self:stretch;width:100%;padding:1rem 2rem;box-shadow:0 1px 4px #0000001a}.welcome-card{background:#ecb920;border:3px solid #fff;border-radius:8px;flex-direction:column;gap:.75rem;width:100%;max-width:600px;margin:auto 0;padding:2.5rem;display:flex;box-shadow:0 2px 16px #0000001a}.welcome-card h2{color:#2c3e50;text-align:center;background-color:#e17e23;border:2px solid #fff;border-radius:77px;margin:0;padding:8px;font-size:1.75rem}.welcome-guidelines h3{color:#fff;margin:0;font-size:1.15rem;text-decoration:underline}.welcome-card>h3{color:#2c3e50;margin:0 0 1rem;font-size:1.15rem;text-decoration:underline}.welcome-guidelines{color:#fff;background-color:#017f8d;border-left:4px solid #607145;border-radius:4px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;font-size:1rem;line-height:1.5;display:flex}.welcome-guidelines p{margin:0}.welcome-divider{background-color:#d19525;height:3px;margin:.5rem 0}.welcome-input{color:#2c3e50;-webkit-text-fill-color:#2c3e50;background-color:#fff;border:1px solid #ccc;border-radius:4px;outline:none;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}.welcome-input:focus{border-color:#2c3e50}.welcome-checkbox-label{color:#444;cursor:pointer;align-items:center;gap:.5rem;font-size:1rem;display:flex}.welcome-note{color:#444;text-align:center;margin:0;font-size:.95rem;font-style:italic}.welcome-btn{color:#fff;cursor:pointer;background-color:#2c3e50;border:none;border-radius:4px;padding:.65rem;font-size:.95rem;transition:background-color .15s}.welcome-btn:hover{background-color:#3d5166}.welcome-success{color:#2c3e50;margin-top:3rem;font-size:1.1rem}.admin-container{background-color:#f4f4f4;flex-direction:column;min-height:100vh;padding:2rem;display:flex}.admin-header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-header h2{color:#2c3e50;margin:0;font-size:1.5rem}.admin-back-btn{color:#2c3e50;cursor:pointer;background:0 0;border:1px solid #2c3e50;border-radius:4px;padding:.4rem .85rem;font-size:.85rem;transition:all .15s}.admin-back-btn:hover{color:#fff;background-color:#2c3e50}.admin-sections{flex-direction:column;gap:1.5rem;display:flex}.admin-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000012}.admin-section h3{color:#2c3e50;border-bottom:1px solid #eee;margin:0 0 .5rem;padding-bottom:.5rem;font-size:1rem}.admin-section p{color:#888;margin:0 0 1rem;font-size:.85rem}.member-list{flex-direction:column;gap:.75rem;display:flex}.member-row{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.member-info{flex-direction:column;gap:.1rem;display:flex}.member-name{color:#2c3e50;font-size:.9rem;font-weight:600}.member-email{color:#888;font-size:.78rem}.member-remove-btn{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;transition:background-color .15s}.member-remove-btn:hover{background-color:#c0392b}.member-admin-badge{color:#888;font-size:.75rem;font-style:italic}.channel-manager{flex-direction:column;gap:1rem;display:flex}.channel-add-row{gap:.5rem;display:flex}.channel-input{border:1px solid #ccc;border-radius:4px;outline:none;flex:1;padding:.6rem .75rem;font-size:.9rem}.channel-input:focus{border-color:#2c3e50}.channel-add-btn{color:#fff;cursor:pointer;background-color:#2c3e50;border:none;border-radius:4px;padding:.6rem 1rem;font-size:.9rem;transition:background-color .15s}.channel-add-btn:hover{background-color:#3d5166}.channel-list{flex-direction:column;gap:.5rem;display:flex}.channel-row{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.channel-name{color:#2c3e50;font-size:.9rem;font-weight:500}.channel-actions{gap:.5rem;display:flex}.channel-btn{cursor:pointer;border:none;border-radius:4px;padding:.3rem .65rem;font-size:.8rem;transition:background-color .15s}.channel-btn.archive{color:#fff;background-color:#f39c12}.channel-btn.archive:hover{background-color:#d68910}.channel-btn.delete{color:#fff;background-color:#e74c3c}.channel-btn.delete:hover{background-color:#c0392b}.storage-counter{flex-direction:column;gap:.5rem;display:flex}.storage-bar-wrap{background-color:#eee;border-radius:6px;height:12px;overflow:hidden}.storage-bar{border-radius:6px;height:100%;transition:width .4s}.storage-bar.good{background-color:#2ecc71}.storage-bar.warning{background-color:#f39c12}.storage-bar.alert{background-color:#e74c3c}.storage-label{color:#555;margin:0;font-size:.85rem}.storage-label.warning{color:#f39c12;font-weight:600}.storage-label.alert{color:#e74c3c;font-weight:600}.storage-error{color:#e74c3c;font-size:.85rem}.channel-archive-list{border-top:1px solid #eee;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.channel-archive-title{color:#888;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.guide-container{background-color:#f4f4f4;flex-direction:column;min-height:100vh;padding:2rem;display:flex}.guide-header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.guide-header h2{color:#2c3e50;margin:0;font-size:1.5rem}.guide-back-btn{color:#2c3e50;cursor:pointer;background:0 0;border:1px solid #2c3e50;border-radius:4px;padding:.4rem .85rem;font-size:.85rem;transition:all .15s}.guide-back-btn:hover{color:#fff;background-color:#2c3e50}.guide-body{flex-direction:column;gap:1.5rem;max-width:800px;display:flex}.guide-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000012}.guide-section h3{color:#2c3e50;border-bottom:1px solid #eee;margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem}.guide-section p{color:#444;margin:0 0 .75rem;font-size:.9rem;line-height:1.6}.guide-section ol,.guide-section ul{color:#444;margin:0 0 .75rem;padding-left:1.25rem;font-size:.9rem;line-height:1.8}.guide-section pre{white-space:pre-wrap;color:#2c3e50;background-color:#f9f9f9;border-left:4px solid #2c3e50;border-radius:4px;padding:1rem;font-size:.85rem}.guide-event-card-example{color:#2c3e50;background-color:#f9f9f9;border-left:4px solid #2c3e50;border-radius:4px;padding:1rem;font-size:.85rem}.guide-event-card-title{margin-bottom:.5rem;font-weight:600}.guide-event-card-example ul{flex-direction:column;gap:.3rem;margin:0;padding-left:1.25rem;display:flex}.privacy-container{background-color:#f4f4f4;flex-direction:column;align-items:center;min-height:100vh;display:flex}.privacy-logo-wrap{text-align:left;box-sizing:border-box;background-color:#fff;align-self:stretch;width:100%;padding:1rem 2rem;box-shadow:0 1px 4px #0000001a}.privacy-body{box-sizing:border-box;flex-direction:column;gap:1.5rem;width:100%;max-width:800px;padding:2rem;display:flex}.privacy-header{border-bottom:1px solid #ddd;padding-bottom:1rem}.privacy-header h2{color:#2c3e50;margin:0 0 .25rem;font-size:1.5rem}.privacy-effective{color:#888;margin:0;font-size:.85rem}.privacy-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000012}.privacy-section h3{color:#2c3e50;border-bottom:1px solid #eee;margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem}.privacy-section p{color:#444;margin:0 0 .75rem;font-size:.9rem;line-height:1.6}.privacy-section p:last-child{margin:0}.privacy-section ul{color:#444;margin:0 0 .75rem;padding-left:1.25rem;font-size:.9rem;line-height:1.8}.privacy-section a{color:#2c3e50;text-decoration:underline}.privacy-section a:hover{color:#3d5166}
