#dashboard{gap:14px;padding:12px clamp(10px,1.6vw,24px) 22px}
#dashboard .workspace-nav{gap:8px;padding:6px 0 10px;align-items:stretch;scrollbar-width:thin}
.workspace-group{display:flex;align-items:center;gap:4px;flex:none;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.workspace-group-label{font:700 10px monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);padding:0 5px}
#dashboard .workspace-group button{background:transparent;border-color:transparent;white-space:nowrap}
#dashboard .workspace-group button[aria-pressed=true]{background:color-mix(in srgb,var(--signal) 15%,var(--panel));border-color:color-mix(in srgb,var(--signal) 55%,var(--line));color:var(--signal)}
.workspace-content{min-width:0}
.operations-grid .operations-center{display:grid;gap:12px;min-width:0}
#operationsMap,#operationsCharacters,#operationsSkills,#globalComms #comms,#petChatPanel{border-radius:11px}
#operationsMap h3{font-size:13px;margin-top:14px;color:var(--dim)}
#globalComms .comms-switch button[aria-pressed=true]{color:var(--signal)}
.news-strip{display:flex;align-items:center;gap:8px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:4px 7px}
.news-strip button{flex:none;padding:5px 8px;font-size:12px}
.news-strip button:first-child{color:var(--signal)}
.news-ticker-window{container-type:inline-size;flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.news-ticker-motion{display:flex;width:max-content;animation:news-scroll var(--ticker-duration,25s) linear infinite;color:var(--ink);font-size:13px;will-change:transform}
.news-ticker-motion span{flex:none;min-width:100cqw;white-space:pre;padding:5px 28px}
.news-ticker-motion.paused{animation-play-state:paused}
@keyframes news-scroll{to{transform:translateX(-50%)}}
.news-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px;align-items:start}
#newsDeskTools{margin-bottom:14px}
.news-card{padding:12px 0;border-top:1px solid var(--line)}
.news-card h3{margin:4px 0 8px;color:var(--ink);line-height:1.3}
.news-card small,.news-card time{display:block}
.news-card button{margin-top:8px}
.news-card.selected h3,.news-desk-label{color:var(--signal)}
.news-story{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere;margin-bottom:0}
.news-form{display:grid;gap:10px;margin:0}
.news-form label{display:grid;gap:5px}
.news-form input,.news-form textarea{width:100%}
.news-form textarea{resize:vertical;line-height:1.5}
.news-form .bar{margin-bottom:0}
.news-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--signal);margin-right:5px;animation:news-pulse 2.6s ease-in-out infinite}
@keyframes news-pulse{50%{opacity:.5;box-shadow:0 0 7px var(--signal)}}
@media(max-width:700px){.workspace-group-label{display:none}.workspace-group{gap:2px}.news-strip button{padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.news-live-dot,.news-ticker-motion{animation:none}.news-ticker-window{overflow:auto;mask-image:none}.news-ticker-motion span[aria-hidden=true],#newsPause{display:none}}
.vox-broadcast{isolation:isolate;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,42%);align-items:center;min-height:245px;overflow:hidden;margin-bottom:14px;padding:0;border-color:#315d8d;background:radial-gradient(ellipse at 78% 60%,#15467a,#102740 50%,#091523 88%)}
.vox-broadcast::before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(180deg,transparent 0 5px,#66c8ff10 6px 7px);pointer-events:none}
.vox-broadcast-copy{padding:clamp(14px,4vw,44px);align-self:center}
.vox-broadcast h2{margin:0 0 13px;color:#9bddff;font:800 clamp(27px,5vw,58px)/1 system-ui;letter-spacing:-.045em;text-transform:none}
.vox-lead{margin:0;color:#e3f1ff;font:600 clamp(13px,2vw,20px)/1.45 system-ui;overflow-wrap:anywhere}
.vox-anchor{align-self:end;display:grid;place-items:end center;min-width:0}
.vox-anchor img{display:block;width:100%;height:clamp(225px,33vw,335px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 16px #489bff4d)}
@media(max-width:520px){.vox-broadcast{grid-template-columns:minmax(0,1fr) minmax(110px,45%);min-height:180px}.vox-anchor img{height:175px}.vox-broadcast-copy{padding:12px 0 12px 14px}}
.radio-broadcast{border-color:#8b3b46;background:radial-gradient(ellipse at 80% 55%,#762539,#361824 56%,#1a101a 88%)}
.radio-broadcast h2{color:#ffd1bd}
.radio-broadcast .vox-lead{color:#fff1e5}
.radio-broadcast .vox-anchor img{filter:drop-shadow(0 0 16px #ff654740)}
.radio-listen{margin-top:13px;align-items:center}
.radio-listen label{display:flex;align-items:center;gap:6px}
.radio-listen input{width:85px}
#radioTranscript{white-space:pre-wrap;overflow-wrap:anywhere;color:#ffdacd;margin:8px 0}
.radio-upload{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.radio-library{max-height:490px}
.radio-library a{font-size:11px;margin-left:6px;color:var(--signal)}
.blog-broadcast{border-color:#943455;background:radial-gradient(ellipse at 80% 55%,#852c58,#3e172c 56%,#1e101b 88%)}
.blog-broadcast h2{color:#ffb2db}
.blog-broadcast .vox-anchor img{filter:drop-shadow(0 0 16px #ff4aa84d)}
.blog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.blog-post{padding:18px clamp(12px,3vw,23px);border:1px solid var(--line);border-radius:11px;background:var(--panel);margin-bottom:12px}
.blog-post h3{margin:12px 0 5px;font:750 clamp(19px,3vw,25px) system-ui}
.blog-post-text,.blog-comment p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.blog-post-text{font-size:15px;margin:11px 0 15px}
.blog-byline{display:flex;flex-wrap:wrap;gap:6px 9px;align-items:baseline;color:var(--ink)}
.blog-byline time{font-size:11px;color:var(--dim)}
.blog-account{color:var(--signal);font-size:11px}
.blog-thread{border-top:1px solid var(--line);margin-top:11px;padding-top:9px}
.blog-thread summary{font-size:13px;color:var(--signal);cursor:pointer}
.blog-comment{font-size:13px;margin:9px 0 0;padding:8px 11px;border-left:2px solid var(--line);background:color-mix(in srgb,var(--bg) 65%,var(--panel));border-radius:4px}
.blog-comment p{margin:6px 0}
.blog-post button[type=button],.blog-comment button{font-size:11px;padding:4px 7px}
.blog-comment-form{display:grid;gap:6px;margin-top:10px}
.blog-comment-form :is(input,textarea){width:100%;min-width:0}
.blog-comment-form button,.blog-grid .news-form button{justify-self:start}
.velvette-post{border-color:#8c365b;overflow:hidden}
.velvette-post-banner{position:relative;min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:4px;margin:-18px calc(-1 * clamp(12px,3vw,23px)) 14px;padding:12px clamp(12px,3vw,23px);border-bottom:1px solid #a84470;background:linear-gradient(90deg,#291022 0%,#48112f 32%,#5d164070 72%,#3b1034a0),url('/velvette-blogger.png') right 27% / auto 280% no-repeat,#46142d;color:#ffe1f1}
.velvette-post-banner strong{font:800 clamp(24px,5vw,42px)/1 system-ui;letter-spacing:-.04em}
.velvette-post-banner small{font:700 11px monospace;color:#ffc1df}
.saphira-post{border-color:#4a7b86;overflow:hidden}
.saphira-post-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:clamp(96px,17vw,170px);margin:-18px calc(-1 * clamp(12px,3vw,23px)) 14px;padding:12px clamp(12px,3vw,23px);border-bottom:1px solid #548893;background:linear-gradient(90deg,#0b2534ce,#112d3a10 60%,#0b253465),url('/saphira-mountain.jpg') center 45% / cover no-repeat,#173948;color:#effffb}
.saphira-post-banner strong{font:800 clamp(24px,5vw,42px)/1 system-ui;letter-spacing:-.04em;text-shadow:0 2px 10px #071d29}
.saphira-medic{position:relative;flex:none;display:grid;place-items:center;width:clamp(34px,6vw,46px);aspect-ratio:1;border:1px solid #d0fff0;border-radius:12px;background:#0b3843eb;box-shadow:0 2px 12px #062733}
.saphira-medic::before,.saphira-medic::after{content:'';position:absolute;background:#ddfff2;border-radius:1px}
.saphira-medic::before{width:58%;height:20%}
.saphira-medic::after{width:20%;height:58%}
.blog-likes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0;color:#ff9ccf;overflow-wrap:anywhere}
.saphira-post .blog-likes{color:#9aebd7}
.blog-likes form{display:flex;gap:5px;align-items:center;margin:0}
.blog-likes input{width:115px}
@media(max-width:520px){.velvette-post-banner{min-height:86px;background-size:auto,auto 220%,auto}}
#radioCredit:empty{display:none}
