:root{--terminal-bg:#0a0a0a;--terminal-text:#aaa;--terminal-green:#0f0;--terminal-dim:#1a3a1a;--alert-text:#f33;--info-text:#3af;--choice-text:#0cf;--choice-border:#0af;--choice-hover:#0ff;--chat-bg:#0a0a0a;--chat-sender-caller:#b8b8b8;--chat-sender-dispatch:#fff;--chat-sender-guest:#f90;--chat-sender-you:#0f8;--chat-text-default:#fff;--chat-text-muted:#b8b8b8;--chat-text-system:#fff;--chat-text-alert:#f33;--chat-text-police:#0ff;--chat-text-fire:#f0f;--hold-bg:#000000f2;--hold-accent:#0af;--fab-bg:#000000d9;--fab-border:#333;--fab-border-hover:#555;--fab-radius:8px;--fab-transition:all .25s cubic-bezier(.4, 0, .2, 1);--fab-ambulance:#f44;--fab-police:#48f;--fab-fire:#f84;--fab-rewind:#a4f;--fab-status:#0f8;--touch-target-desktop:36px;--touch-target-mobile:44px;--mobile-max:600px;--tablet-max:1024px;--font-mono:"lores-9-minus-narrow", "lores-12", sans-serif;--font-mono-wide:"lores-9-minus-wide", sans-serif;--font-mono-bold:"lores-9-wide", sans-serif;--rank-receiver-primary:#0f8;--rank-receiver-secondary:#0c6;--rank-receiver-glow:#00ff884d;--rank-responder-primary:#0af;--rank-responder-secondary:#08d;--rank-responder-glow:#00aaff4d;--rank-coordinator-primary:#f80;--rank-coordinator-secondary:#c60;--rank-coordinator-glow:#ff88004d;--rank-controller-primary:#f0f;--rank-controller-secondary:#c0c;--rank-controller-glow:#ff00ff4d;--rank-primary:var(--rank-receiver-primary);--rank-secondary:var(--rank-receiver-secondary);--rank-glow:var(--rank-receiver-glow)}body.rank-receiver{--rank-primary:var(--rank-receiver-primary);--rank-secondary:var(--rank-receiver-secondary);--rank-glow:var(--rank-receiver-glow)}body.rank-responder{--rank-primary:var(--rank-responder-primary);--rank-secondary:var(--rank-responder-secondary);--rank-glow:var(--rank-responder-glow)}body.rank-coordinator{--rank-primary:var(--rank-coordinator-primary);--rank-secondary:var(--rank-coordinator-secondary);--rank-glow:var(--rank-coordinator-glow)}body.rank-controller{--rank-primary:var(--rank-controller-primary);--rank-secondary:var(--rank-controller-secondary);--rank-glow:var(--rank-controller-glow)}body.large-font{--font-scale:1.25}body.large-font .message-text,body.large-font .terminal-line,body.large-font .choice-button,body.large-font .menu-btn,body.large-font .settings-content{font-size:calc(1em * var(--font-scale,1))}body.large-font .message-sender{font-size:calc(.8em * var(--font-scale,1))}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-mono);color:var(--terminal-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;overflow:hidden}body{-webkit-user-select:none;user-select:none}.terminal-line{-webkit-user-select:text;user-select:text}:focus-visible{outline:2px solid var(--choice-hover);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}@media (width<=600px){::-webkit-scrollbar{width:0;display:none}}@supports (padding:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}html{overscroll-behavior:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-dot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}@keyframes hold-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes fab-expand{0%{opacity:0;transform:scale(0)translateY(0)}to{transform:scale(1) translateY(var(--offset,0));opacity:1}}@keyframes fab-item-enter{0%{opacity:0;transform:scale(.8)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fab-item-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.8)translateY(10px)}}@keyframes rank-pulse{0%,to{box-shadow:0 0 20px var(--rank-glow);transform:scale(1)}50%{box-shadow:0 0 40px var(--rank-glow);transform:scale(1.02)}}@keyframes rank-badge-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes unlock-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dnet-container{background:var(--terminal-bg);max-width:900px;height:100vh;margin:0 auto;padding:1rem;overflow-y:auto}.dnet-header{border-bottom:1px solid var(--rank-primary);margin-bottom:1.5rem;padding-bottom:.75rem}.dnet-header-title{font-family:var(--font-mono-bold);color:var(--rank-primary);margin-bottom:.25rem;font-size:1.2rem}.dnet-header-subtitle{color:var(--terminal-text);opacity:.7;font-size:.8rem}.dnet-nav{flex-wrap:wrap;gap:1rem;margin-top:.75rem;display:flex}.dnet-nav-link{color:var(--choice-text);border:1px solid #0000;padding:.25rem .5rem;font-size:.85rem;text-decoration:none;transition:all .2s}.dnet-nav-link:hover{border-color:var(--choice-border)}.dnet-nav-link.active{color:var(--rank-primary);border-color:var(--rank-primary)}.dnet-nav-exit{color:var(--alert-text)}.dnet-nav-exit:hover{border-color:var(--alert-text)}.dnet-category{cursor:pointer;color:inherit;background:0 0;border:1px solid #333;margin-bottom:.75rem;padding:1rem;transition:border-color .2s,background .2s}.dnet-category:hover{border-color:var(--rank-primary);background:#ffffff05}.dnet-category.locked{opacity:.5;cursor:not-allowed}.dnet-category.locked:hover{background:0 0;border-color:#333}.dnet-category.redacted{background:repeating-linear-gradient(45deg,#0000,#0000 10px,#ff000008 10px 20px)}.dnet-category-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.dnet-category-name{font-family:var(--font-mono-bold);color:var(--terminal-green)}.dnet-category-count{color:var(--terminal-text);opacity:.7;font-size:.8rem}.dnet-category-desc{color:var(--terminal-text);font-size:.85rem}.dnet-category-lock{color:var(--alert-text);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:flex}.dnet-thread{color:inherit;background:0 0;border-bottom:1px solid #222;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 1rem;transition:background .2s;display:flex}.dnet-thread:hover{background:#ffffff05}.dnet-thread.pinned{background:rgba(var(--rank-primary-rgb,0, 255, 136), .05);border-left:3px solid var(--rank-primary);padding-left:calc(1rem - 3px)}.dnet-thread.unread .dnet-thread-title{color:var(--terminal-green)}.dnet-thread-main{flex:1;min-width:0}.dnet-thread-title{color:var(--choice-text);margin-bottom:.25rem;font-size:.95rem;text-decoration:none;display:block}.dnet-thread-title:hover{color:var(--choice-hover)}.dnet-thread-meta{color:var(--terminal-text);opacity:.7;font-size:.75rem}.dnet-thread-stats{text-align:right;color:var(--terminal-text);opacity:.7;white-space:nowrap;font-size:.75rem}.dnet-post{border:1px solid #333;margin-bottom:1rem}.dnet-post.op{border-color:var(--rank-primary)}.dnet-post-header{background:#111;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.dnet-post-author{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dnet-post-callsign{font-family:var(--font-mono-bold);font-size:.9rem}.dnet-post-meta{color:var(--terminal-text);opacity:.7;font-size:.75rem}.dnet-post-body{white-space:pre-wrap;word-wrap:break-word;padding:1rem;line-height:1.5}.dnet-post-footer{border-top:1px solid #222;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.dnet-reaction{cursor:pointer;font-family:var(--font-mono);color:var(--terminal-text);background:0 0;border:1px solid #444;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;transition:all .2s;display:inline-flex}.dnet-reaction:hover{border-color:var(--rank-primary);color:var(--rank-primary)}.dnet-reaction.active{background:var(--rank-primary);color:#000;border-color:var(--rank-primary)}.dnet-reaction.r104.active{background:var(--terminal-green);border-color:var(--terminal-green)}.dnet-reaction.r107.active{background:var(--alert-text);border-color:var(--alert-text)}.dnet-reaction:disabled{opacity:.4;cursor:not-allowed}.dnet-reaction.loading{opacity:.6;cursor:wait}.dnet-badge{opacity:.8;border:1px solid;margin-left:.25rem;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.dnet-skill-badge{color:var(--info-text)}.dnet-grade{font-weight:700}.dnet-grade-0{color:#666}.dnet-grade-1{color:var(--rank-receiver-primary)}.dnet-grade-2{color:var(--rank-responder-primary)}.dnet-grade-3{color:var(--rank-coordinator-primary)}.dnet-grade-4,.dnet-grade-5{color:var(--rank-primary)}.dnet-grade-6{color:var(--rank-controller-primary)}.dnet-editor{border:1px solid #333;margin-top:1rem}.dnet-editor-header{color:var(--terminal-text);background:#111;border-bottom:1px solid #333;padding:.5rem 1rem;font-size:.85rem}.dnet-editor-body{padding:0}.dnet-editor textarea{width:100%;min-height:120px;color:var(--terminal-text);font-family:var(--font-mono);resize:vertical;background:0 0;border:none;padding:1rem;font-size:.9rem}.dnet-editor textarea:focus{outline:none}.dnet-editor-footer{border-top:1px solid #333;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.dnet-editor-count{color:var(--terminal-text);opacity:.7;font-size:.75rem}.dnet-btn{border:1px solid var(--rank-primary);color:var(--rank-primary);font-family:var(--font-mono);cursor:pointer;background:0 0;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.dnet-btn:hover{background:var(--rank-primary);color:#000}.dnet-btn:disabled{opacity:.5;cursor:not-allowed}.dnet-btn:disabled:hover{color:var(--rank-primary);background:0 0}.dnet-pagination{border-top:1px solid #222;justify-content:center;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.dnet-page-btn{color:var(--terminal-text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #444;padding:.25rem .5rem;font-size:.8rem;transition:all .2s}.dnet-page-btn:hover{border-color:var(--rank-primary)}.dnet-page-btn.active{background:var(--rank-primary);color:#000;border-color:var(--rank-primary)}.dnet-section{margin-bottom:.5rem}.dnet-section-title{font-family:var(--font-mono-bold);color:var(--info-text);margin-bottom:.75rem;font-size:.9rem}.dnet-glitch{animation:.3s infinite dnet-glitch}@keyframes dnet-glitch{0%,to{opacity:1;transform:translate(0)}20%{opacity:.8;transform:translate(-2px)}40%{opacity:.9;transform:translate(2px)}60%{opacity:.7;transform:translate(-1px)}80%{opacity:1;transform:translate(1px)}}.dnet-redacted-text{color:#333;-webkit-user-select:none;user-select:none;background:#333}.dnet-redacted-text.revealed{color:var(--terminal-text);background:0 0}.dnet-empty{text-align:center;color:var(--terminal-text);opacity:.7;padding:3rem 1rem}.dnet-loading{text-align:center;color:var(--terminal-text);padding:2rem}.dnet-loading:after{content:"...";animation:1.5s infinite dnet-dots}@keyframes dnet-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.dnet-freq{color:var(--terminal-text);opacity:.5;margin-right:.5rem}.dnet-profile{border:1px solid #333;padding:1.5rem}.dnet-profile-header{border-bottom:1px solid #333;margin-bottom:1rem;padding-bottom:1rem}.dnet-profile-callsign{font-family:var(--font-mono-bold);color:var(--rank-primary);margin-bottom:.25rem;font-size:1.5rem}.dnet-profile-grade{font-size:.9rem}.dnet-profile-section{margin-bottom:1rem}.dnet-profile-section-title{color:var(--terminal-text);opacity:.7;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem}.dnet-profile-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.dnet-stat{border:1px solid #222;padding:.5rem}.dnet-stat-value{font-family:var(--font-mono-bold);color:var(--rank-primary);font-size:1.1rem}.dnet-stat-label{color:var(--terminal-text);opacity:.7;font-size:.7rem}.dnet-back{color:var(--terminal-text);opacity:.7;margin-bottom:1rem;font-size:.85rem;text-decoration:none;transition:opacity .2s;display:inline-block}.dnet-back:hover{opacity:1;color:var(--choice-text)}.dnet-pin{color:var(--rank-primary);margin-right:.5rem}.dnet-lock{color:var(--alert-text);margin-left:.5rem;font-size:.75rem}
