@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{color-scheme:light;font-family:Manrope,sans-serif;line-height:1.5;font-weight:500;color:#0f2e2c;background:radial-gradient(circle at top left,rgba(240,108,79,.26),transparent 28%),radial-gradient(circle at top right,rgba(13,102,95,.28),transparent 32%),linear-gradient(180deg,#f4efe4,#ede4d1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#0f2e2c;background:radial-gradient(circle at top left,rgba(240,108,79,.26),transparent 28%),radial-gradient(circle at top right,rgba(13,102,95,.28),transparent 32%),linear-gradient(180deg,#f4efe4,#ede4d1)}button,input,textarea,select{font:inherit}button{cursor:pointer}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:#0d665f}.muted{margin:0;color:#0f2e2cb8}.auth-shell,.app-shell{min-height:100vh;min-height:100dvh;padding:1.5rem}.auth-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,460px);gap:1.5rem;align-items:stretch}.auth-hero,.auth-panel,.conversation-rail,.conversation-pane,.drawer{border:1px solid rgba(15,46,44,.08);background:#fffbf5cc;box-shadow:0 20px 50px #4936231f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-hero,.auth-panel{border-radius:1.75rem;padding:2rem}.auth-hero{display:flex;flex-direction:column;justify-content:flex-end;min-height:30rem;background:radial-gradient(circle at 18% 20%,rgba(13,102,95,.88),transparent 23%),radial-gradient(circle at 82% 18%,rgba(240,108,79,.84),transparent 24%),linear-gradient(135deg,#0d665f,#184b46 54%,#f06c4f);color:#fff9ef}.auth-hero .eyebrow,.auth-hero .hero-copy{color:#fff9efe0}.auth-hero h1,.auth-panel h2,.topbar h1,.panel-header h2,.conversation-header h2,.empty-state-large h2{margin:0;font-family:Fraunces,serif;line-height:1.05}.auth-hero h1{max-width:12ch;font-size:clamp(2.4rem,5vw,4.6rem)}.hero-copy{max-width:42rem;margin:1rem 0 0;font-size:1.02rem}.hero-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.hero-badges span,.status-pill,.selection-summary span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.45rem .8rem;font-size:.82rem;font-weight:700}.hero-badges span{background:#fff9ef1f}.auth-panel-loading{display:flex;flex-direction:column;justify-content:center}.panel-header,.topbar,.conversation-header{display:flex;flex-direction:column;gap:.35rem}.panel-header-row,.topbar{flex-direction:row;align-items:center;justify-content:space-between}.form-grid,.composer-panel{display:grid;gap:1rem}.field{display:grid;gap:.45rem;font-size:.92rem}.field span{font-weight:700;color:#154441}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(15,46,44,.14);border-radius:1rem;background:#ffffffbf;padding:.9rem 1rem;color:#0f2e2c;outline:none}.field textarea{resize:vertical;min-height:6.5rem}.field input:focus,.field textarea:focus,.field select:focus{border-color:#0d665f8f;box-shadow:0 0 0 4px #0d665f1f}.button{border:0;border-radius:999px;padding:.82rem 1.15rem;font-weight:800;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.62}.button-primary{background:linear-gradient(135deg,#0d665f,#0e8177);color:#fff;box-shadow:0 12px 22px #0d665f33}.button-muted{background:#0d665f1a;color:#0d665f}.button-danger{background:#9d292924;color:#912929}.button-inline{padding:.6rem .9rem}.button-file{position:relative;overflow:hidden}.form-error{margin:0;color:#8a1f1f;font-size:.9rem}.topbar{gap:1rem;align-items:flex-start;margin-bottom:1rem}.topbar-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:flex-end}.status-online{background:#19875429;color:#166f47}.status-offline,.status-closed{background:#9d29291f;color:#8a2d2d}.status-connecting{background:#d9942229;color:#91620b}.status-open{background:#0d665f1f;color:#0d665f}.banner{margin:0 0 1rem;border-radius:1rem;padding:.9rem 1rem;font-weight:700}.banner-info{background:#0d665f1a;color:#0d665f}.banner-success{background:#1987541a;color:#166f47}.banner-error{background:#9d29291a;color:#8a2d2d}.app-frame{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;min-height:calc(100vh - 8.6rem);min-height:calc(100dvh - 8.6rem)}.ptt-page-frame{display:grid;gap:1rem;min-height:calc(100vh - 8.6rem);min-height:calc(100dvh - 8.6rem);align-content:start;padding:.2rem 0 .45rem}.ptt-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.35rem;border-bottom:1px solid rgba(15,46,44,.08)}.ptt-page-header h2{margin:0;font-family:Fraunces,serif;line-height:1.05}.conversation-rail,.conversation-pane,.drawer{border-radius:1.5rem;padding:1rem}.conversation-rail,.conversation-pane{display:grid;gap:1rem;overflow:hidden}.conversation-rail{grid-template-rows:auto auto minmax(0,1fr)}.conversation-pane{grid-template-rows:auto minmax(0,1fr) auto}.conversation-list,.directory-list,.message-list{display:grid;gap:.75rem;overflow:auto}.conversation-list,.directory-list{align-content:start}.conversation-card,.directory-card,.message-card,.voice-card{border:1px solid rgba(15,46,44,.08);background:#ffffffb8;border-radius:1.15rem}.conversation-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;width:100%;padding:.95rem 1rem;text-align:left}.conversation-card h3,.directory-card strong,.voice-card strong{margin:0}.conversation-card p,.directory-card p,.voice-meta span,.message-meta span{margin:0;color:#0f2e2cad}.conversation-card small{color:#0f2e2c80}.conversation-card-selected{background:linear-gradient(135deg,#0d665f2e,#f06c4f24);border-color:#0d665f33}.conversation-header{padding-bottom:.5rem;border-bottom:1px solid rgba(15,46,44,.08)}.conversation-title-group{display:flex;align-items:center;gap:.85rem}.typing-indicator{margin:0;font-size:.9rem;color:#0d665f}.message-list{padding-right:.2rem}.message-card{padding:.85rem 1rem}.message-card-self{background:linear-gradient(135deg,#0d665f1f,#ffffffd1)}.message-card-peer{background:#ffffffd1}.message-card-recalled{border-style:dashed}.message-meta,.message-actions,.voice-meta,.voice-actions,.composer-actions,.emoji-row,.selection-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.message-meta{margin-bottom:.45rem;font-size:.88rem}.message-text,.message-recalled{margin:0;white-space:pre-wrap;word-break:break-word}.message-recalled{color:#0f2e2c9e;font-style:italic}.voice-card{padding:.85rem 1rem;display:grid;gap:.7rem}.voice-card audio{width:100%}.composer-panel{padding-top:.5rem;border-top:1px solid rgba(15,46,44,.08)}.composer-actions{flex-wrap:wrap}.emoji-row{flex-wrap:wrap;justify-content:flex-start}.emoji-chip{border:0;border-radius:999px;padding:.42rem .72rem;background:#f06c4f1f;color:#8a402c;font-size:1rem}.empty-state{display:grid;place-items:center;min-height:9rem;text-align:center;padding:1rem}.empty-state-large{min-height:20rem}.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:#08201e61;overflow:auto}.drawer{width:min(42rem,100%);max-height:min(46rem,calc(100vh - 2rem));max-height:min(46rem,calc(100dvh - 2rem));display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;overflow:hidden}.drawer-wide{width:min(72rem,100%)}.drawer-header{min-width:0}.drawer-body{display:grid;gap:1rem;min-height:0;overflow:auto;padding-right:.2rem;padding-bottom:max(.35rem,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.drawer-body-ptt{align-content:start}.ptt-shell,.ptt-main,.ptt-sidebar,.ptt-roster-grid,.ptt-create-form{display:grid;gap:1rem;min-width:0;align-content:start}.ptt-shell{grid-template-columns:minmax(0,1.5fr) minmax(19rem,23rem);align-items:start}.ptt-section{display:grid;gap:1rem;padding:1.05rem 1.1rem;border:1px solid rgba(15,46,44,.09);border-radius:1.2rem;background:#fffbf5e6;box-shadow:0 10px 24px #4936230f}.ptt-section h3,.ptt-hero h3{margin:0;font-family:Fraunces,serif;line-height:1.05}.ptt-hero-copy{display:grid;gap:.35rem}.ptt-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ptt-section-header p:last-child{max-width:28ch;text-align:right}.ptt-metric-grid,.ptt-action-grid,.ptt-roster-grid{display:grid;gap:.75rem}.ptt-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ptt-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ptt-hold-dock-shell{gap:.9rem;contain:layout style paint}.ptt-hold-dock-body{display:grid;gap:.85rem}.ptt-hold-button{min-height:4.1rem;font-size:1rem;letter-spacing:.02em;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;transform:none;transition:background-color .16s ease,box-shadow .16s ease,opacity .16s ease,border-color .16s ease;width:100%}.ptt-hold-button:hover:not(:disabled),.ptt-hold-button:active:not(:disabled),.ptt-hold-button:focus-visible{transform:none}.ptt-hold-button-active{box-shadow:0 18px 32px #91292947;filter:saturate(1.08);transform:none}.ptt-metric{display:grid;gap:.28rem;padding:.2rem 0;border-radius:0;background:transparent;border:0}.ptt-metric strong,.ptt-roster-item strong,.ptt-channel-row strong{margin:0}.ptt-metric span,.ptt-metric small,.ptt-roster-item p,.ptt-roster-item small,.ptt-channel-row p,.ptt-channel-meta span{margin:0;color:#0f2e2cad}.ptt-control-dock{position:relative}.ptt-control-divider{height:1px;background:#0f2e2c1a}.ptt-inline-note{padding-top:.15rem}.ptt-channel-list,.ptt-roster{display:grid}.ptt-channel-row,.ptt-roster-item{display:grid;gap:.25rem;width:100%;padding:.9rem 0;text-align:left;background:transparent;border:0;border-top:1px solid rgba(15,46,44,.08)}.ptt-channel-row:first-child,.ptt-roster-item:first-child{border-top:0;padding-top:0}.ptt-channel-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem}.ptt-channel-meta{display:grid;gap:.2rem;font-size:.86rem;text-align:right}.ptt-channel-row-selected{margin:0;padding:.9rem 0 .9rem .75rem;border-top-color:#0f2e2c14;border-left:.28rem solid rgba(13,102,95,.84);border-radius:0;background:linear-gradient(90deg,rgba(13,102,95,.12),rgba(13,102,95,.02) 72%,transparent)}.directory-card{display:flex;gap:.9rem;align-items:center;padding:.9rem 1rem}.directory-card input{width:1rem;height:1rem}.directory-card-selected{border-color:#0d665f3d;background:linear-gradient(135deg,#0d665f24,#f06c4f1f)}.selection-summary{flex-wrap:wrap}.selection-summary span{background:#0d665f1a;color:#0d665f}.viewport-watch-round .app-shell,.viewport-watch-square .app-shell{padding:.8rem}@media(max-width:860px){.auth-shell,.app-frame{grid-template-columns:1fr}.ptt-page-frame{min-height:auto}.ptt-shell,.ptt-roster-grid,.ptt-metric-grid{grid-template-columns:1fr}.auth-hero{min-height:auto}.topbar{flex-direction:column}}@media(max-width:560px){.auth-shell,.app-shell{padding:.9rem}.auth-hero,.auth-panel,.conversation-rail,.conversation-pane,.drawer{border-radius:1.2rem;padding:.9rem}.ptt-page-frame{padding:0}.composer-actions,.topbar-actions{justify-content:flex-start}.button{width:100%}.button-inline,.status-pill{width:auto}.overlay{place-items:end stretch;padding:.35rem .35rem 0}.drawer{width:100%;max-height:calc(100vh - .35rem);max-height:calc(100dvh - .35rem);border-bottom-left-radius:0;border-bottom-right-radius:0;gap:.85rem}.drawer-body{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.drawer-body-ptt{padding-bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + .5rem))}.drawer-header{position:sticky;top:0;z-index:2;padding-bottom:.2rem;background:linear-gradient(180deg,#fffbf5fa,#fffbf5e6)}.ptt-section{padding:.95rem}.ptt-page-header,.ptt-section-header{flex-direction:column}.ptt-section-header p:last-child{max-width:none;text-align:left}.ptt-action-grid{grid-template-columns:1fr}.ptt-control-dock{position:sticky;bottom:0;z-index:1;box-shadow:0 -14px 24px #49362314}.ptt-channel-row{grid-template-columns:1fr}.ptt-channel-meta{text-align:left}.conversation-card{padding:.85rem .9rem}}@media(max-width:430px)and (max-height:430px){.app-shell{padding:.55rem}.topbar h1{font-size:1.4rem}.conversation-rail,.conversation-pane{border-radius:1.4rem;padding:.75rem}.conversation-list,.message-list{gap:.55rem}.conversation-card,.message-card,.voice-card{border-radius:1rem}.field input,.field textarea,.field select{padding:.72rem .82rem}.emoji-row{gap:.45rem}.emoji-chip{padding:.34rem .58rem}}
