/* Velion Dark Design System 0.3 – used by all eleven app entrypoints. */
:root,[data-theme="dark"] {
  color-scheme:dark;
  --bg:#0a0e15;--surface:#111923;--elevated:#192331;--soft:#141d2a;
  --text:#f2f5fa;--muted:#a2b0c2;--line:#2b394c;
  --blue:#628dff;--success:#4ade9b;--danger:#ff6b7e;
  --radius:9px;--shadow:0 20px 60px rgba(0,0,0,.52);
  color:var(--text);background:var(--bg);
}
html,body{background:var(--bg);color:var(--text)}
::selection{background:#3058a3;color:#fff}
a:hover{color:#9db9ff}
button,input,textarea,select{color:var(--text)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#8badff}
.topbar,.topbar.internal,.side-drawer,.modal,.search-suggestions{background:var(--surface);border-color:var(--line);color:var(--text)}
.topbar{box-shadow:0 1px 0 rgba(255,255,255,.03)}
.brand img,.brand.inside-brand img,.drawer-brand img,.modal .head img,.footer-brand img{filter:none}
.brand.inside-brand img,.footer-brand img{filter:brightness(0) invert(1)}
.brand.inside-brand strong{border-color:var(--line)}
.primary-nav a:hover:after{background:var(--blue)}
.icon-btn:hover,.resource:hover,.search-suggestions a:hover,.side-drawer a:hover{background:var(--elevated)}
.search-shell input,.chat-compose input{background:var(--elevated);border:1px solid var(--line);color:var(--text)}
.search-shell .icon{color:var(--muted)}
.search-shell input::placeholder,input::placeholder,textarea::placeholder{color:#8e9bac}
.search-suggestions{border:1px solid var(--line)}
.workspace,.workspace-banner,.container,.app-footer{color:var(--text)}
.workspace{background:var(--bg)}
.workspace-banner{background:linear-gradient(105deg,#172336,#0d131c 90%);border-color:var(--line)}
.breadcrumbs,.app-footer,.counts span,.simple-table th{color:var(--muted)}
.section-divider,.app-footer{border-color:var(--line)}
.card,.stat,.tile,.news-empty{background:var(--surface);border-color:var(--line)}
.card.soft{background:var(--soft)}
.tile:hover,.stat:hover{border-color:#455977}
.list li,.item-row{border-color:var(--line)}
.btn{background:#294165;color:#f7faff}
.btn:hover{background:#345989}
.btn.secondary{background:var(--elevated);color:var(--text)}
.btn.secondary:hover{background:#263549;color:#fff}
.btn.blue{background:#476fe8;color:white}
.btn.blue:hover{background:#6089ff}
.btn.outline{background:transparent;border:1px solid #43546a;color:var(--text)}
.btn.outline:hover{background:var(--elevated);color:var(--text)}
.btn.ghost{color:var(--text)}
.tag{background:#263449;color:#cfdbeb}
.tag.ok{background:#113d32;color:#8decc2}
.tag.warn{background:#49351a;color:#f3c77e}
.simple-table th{background:var(--elevated)}
.simple-table td{border-color:var(--line)}
.field input,.field select,.field textarea{background:var(--elevated);border-color:#3c4b60;color:var(--text)}
.field select option{background:var(--elevated);color:var(--text)}
input[type="date"]{color-scheme:dark}
.field input:focus,.field textarea:focus{outline-color:#7096ff;border-color:#7096ff}
.chat-room{background:#0d141e;border-color:var(--line)}
.chat-item{background:#1a2838;border-color:#304056}
.channel-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}
.channel-button{border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--muted);padding:10px 13px;font-size:12px;font-weight:650}
.channel-button.selected,.channel-button:hover{border-color:#7393e0;background:#233b61;color:#fff}
.vgap{margin:24px 0}
.section-stack{margin-top:20px}
.modal-backdrop{background:rgba(0,0,0,.78)}
.modal{border:1px solid #3a485e}
.modal-footer button{color:#a4bcff}
.alert{background:#1a2c4a;color:#c1d5ff;border-color:#648cff}
.toast{background:#22324a;border:1px solid #3e587b;color:#f5f9ff}
.empty .icon,.permission .icon{color:var(--muted)}
.resource{transition:background .15s ease}
.resource .icon{color:var(--text)}
.app-footer{background:#0b1018}
.public-hero{background-color:#0b1018}
.public-hero::before{background:linear-gradient(180deg,rgba(6,9,18,.28),rgba(6,9,18,.4) 45%,rgba(5,8,16,.76))}
.hero-btns .btn.secondary{background:rgba(12,19,30,.89);color:#fff;border:1px solid rgba(255,255,255,.25)}
.hero-arrow{background:rgba(23,33,48,.93);color:#fff;border:1px solid #66758b}
.hero-arrow:hover{background:#293f5d}
.hero-dots button{background:#8091ad}
.hero-dots button.selected{background:#fff}
.feature-visual{background-color:#1a2c43}
.news-card .thumb{background-color:#1b2a3d}
.inside-hero{background-color:#162236}
.side-news .icon-tile{background:linear-gradient(120deg,#172f4c,#2f4f6c)}
.tess-box{background:linear-gradient(145deg,#090c14,#1b1226);border-color:#3d2b55}
.feature-banner{background-color:#0b1020}
.public-legal{background:var(--soft)}
@media(max-width:600px){.channel-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.item-row{align-items:flex-start;flex-wrap:wrap}}

.tess-identity{display:flex;gap:15px;align-items:center;margin-bottom:17px}.tess-identity img{width:min(175px,38%);height:auto}.tess-identity h3{margin:0 0 9px}.ai-history{display:flex;flex-direction:column;gap:13px;max-height:490px;min-height:250px;overflow:auto;background:#0a1019;border:1px solid var(--line);border-radius:7px;padding:15px;margin-bottom:16px}.ai-bubble{max-width:91%;padding:13px 16px;border-radius:9px;border:1px solid #34465c;background:#172435}.ai-bubble.self{align-self:flex-end;background:#203b65}.ai-bubble.assistant{align-self:flex-start}.ai-bubble strong{font-size:12px}.ai-bubble p{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}

.card-more{display:inline-flex;margin-top:20px;align-items:center;gap:8px}.detail-hero{background:linear-gradient(100deg,#182b47,#0d1420);padding:95px 0 65px;border-bottom:1px solid var(--line)}.detail-hero h1{font-size:clamp(36px,6vw,74px);letter-spacing:-.055em;margin:14px 0;line-height:1.08}.detail-hero p{font-size:18px;line-height:1.6;max-width:760px;color:var(--muted)}.detail-content{padding-top:32px;padding-bottom:90px}.detail-content .card{max-width:840px;margin-top:32px;min-height:230px}.detail-content .card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}
