.dota-message-head,.dota-template-sidebar,.dota-template-editor{border:1px solid #28303a;border-radius:11px;background:linear-gradient(135deg,#131a21,#10151b 65%,#12171d);box-shadow:0 12px 35px rgba(0,0,0,.14)}
.dota-message-head{min-height:100px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:14px;background:radial-gradient(circle at 75% 35%,rgba(255,111,65,.09),transparent 31%),linear-gradient(105deg,#121921,#17191e 65%,#242023)}
.dota-message-eyebrow{color:#ff6945!important;font:800 10px/1.2 'JetBrains Mono',monospace!important;letter-spacing:.12em;margin:0 0 8px!important}
.dota-message-head h2{font:800 clamp(24px,2.5vw,31px)/1.08 Manrope,sans-serif;letter-spacing:-.04em;color:#f7f8fa;margin:0 0 5px}
.dota-message-head p:not(.dota-message-eyebrow){color:#aab4c0;font:500 11px/1.45 Manrope,sans-serif;margin:0}
.dota-message-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}
.dota-message-save-state{display:flex;align-items:center;gap:10px;color:#28d98a;min-width:160px}
.dota-message-save-state.is-dirty{color:#ffaa51}.dota-save-glyph{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(29,211,129,.13);font:800 14px Manrope,sans-serif}.is-dirty .dota-save-glyph{background:rgba(255,170,81,.13);font-size:11px}
.dota-message-save-state b,.dota-message-save-state small{display:block;line-height:1.35}.dota-message-save-state b{font:800 10px Manrope,sans-serif}.dota-message-save-state small{color:#84909e;font:500 9px Manrope,sans-serif;margin-top:2px}
.dota-template-save{display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:0 18px;border:1px solid #ff6f4c;border-radius:8px;background:linear-gradient(110deg,#ff895f,#ff5d43);color:#17110f;font:800 11px Manrope,sans-serif;cursor:pointer;box-shadow:0 6px 22px rgba(255,89,59,.18);transition:transform .18s,filter .18s}
.dota-template-save:hover{transform:translateY(-2px);filter:brightness(1.08)}.dota-template-save:disabled{opacity:.55;cursor:not-allowed;transform:none}.dota-template-save svg{width:16px;height:16px}
.dota-template-layout{display:grid;grid-template-columns:minmax(280px,32%) minmax(0,1fr);gap:14px;align-items:stretch}.dota-template-sidebar,.dota-template-editor{overflow:hidden}.dota-template-side-head{padding:17px 19px 14px;border-bottom:1px solid #28303a}.dota-template-side-head h3{font:800 13px Manrope,sans-serif;color:#f0f3f5;margin:0 0 3px}.dota-template-side-head p{font:500 10px/1.5 Manrope,sans-serif;color:#8994a1;margin:0}.dota-template-menu{padding:9px}
.dota-template-item{width:100%;min-height:62px;display:grid;grid-template-columns:38px 19px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:9px;border:1px solid transparent;border-bottom-color:#252c33;border-radius:8px;color:#cbd3da;background:transparent;text-align:left;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.dota-template-item:last-child{border-bottom-color:transparent}.dota-template-item:hover{background:#1d252c}.dota-template-item.is-active{border-color:#ff6848;background:linear-gradient(110deg,rgba(255,103,68,.16),rgba(255,103,68,.035));box-shadow:inset 0 0 0 1px rgba(255,103,68,.22),0 0 18px rgba(255,103,68,.05)}
.dota-template-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#202a31;color:#d9e1e8}.dota-template-icon svg{width:19px;height:19px}.is-active .dota-template-icon{background:rgba(255,105,69,.15);color:#ff7756}.dota-template-number{color:#ff6745;font:800 9px 'JetBrains Mono',monospace;align-self:start;margin-top:6px}.dota-template-item-copy{min-width:0}.dota-template-item-copy b{display:block;color:#f1f3f5;font:800 10px/1.3 Manrope,sans-serif;text-transform:uppercase}.dota-template-item-copy small{display:block;color:#8994a0;font:500 9px/1.35 Manrope,sans-serif;margin-top:3px}.dota-template-chevron{color:#aab6c1;font:400 20px Manrope,sans-serif}.is-active .dota-template-chevron{color:#ff7453}
.dota-template-editor{padding:18px 18px 16px;min-width:0}.dota-template-editor-title{display:flex;gap:22px;align-items:flex-start;padding:0 0 16px;border-bottom:1px solid #28303a}.dota-template-editor-title>span{color:#ff6c49;font:800 17px 'JetBrains Mono',monospace}.dota-template-editor-title h3{color:#f6f7f9;font:800 17px/1.25 Manrope,sans-serif;margin:0 0 4px}.dota-template-editor-title p{color:#a4afba;font:500 10px/1.45 Manrope,sans-serif;margin:0}.dota-template-field-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 7px}.dota-template-field-head label{color:#ecf0f4;font:800 10px Manrope,sans-serif}.dota-template-field-head small{color:#788692;font:500 9px Manrope,sans-serif}.dota-template-editor textarea{display:block;width:100%;min-height:110px;padding:13px 14px;border:1px solid #2a3540;border-radius:7px;outline:none;resize:vertical;background:#0d1319;color:#e3eaf0;font:500 11px/1.65 'JetBrains Mono',monospace;box-sizing:border-box}.dota-template-editor textarea:focus{border-color:#ff6848;box-shadow:0 0 0 3px rgba(255,104,72,.12)}.dota-template-editor textarea:disabled{opacity:.65}.dota-template-count{text-align:right;color:#84929d;font:500 9px 'JetBrains Mono',monospace;margin:4px 0 12px}
.dota-template-vars-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.dota-template-vars-head h4,.dota-template-preview h4{color:#e9edf1;font:800 11px Manrope,sans-serif;margin:0 0 2px}.dota-template-vars-head p,.dota-template-preview p{color:#8b98a4;font:500 9px/1.35 Manrope,sans-serif;margin:0}.dota-template-copy{border:0;background:none;color:#c9d5dd;text-decoration:underline;font:700 9px Manrope,sans-serif;cursor:pointer;padding:2px 0;white-space:nowrap}.dota-template-copy:hover{color:#ff8967}.dota-template-vars{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;min-height:42px}.dota-template-var{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:7px 8px;min-width:82px;border:1px solid #2a3540;border-radius:7px;background:#1c252d;color:#dce5eb;cursor:pointer;transition:border-color .18s,background .18s}.dota-template-var:hover{border-color:#ff6947;background:#293039}.dota-template-var b{font:700 9px 'JetBrains Mono',monospace}.dota-template-var small{color:#8b98a4;font:500 8px Manrope,sans-serif}.dota-template-var:disabled{opacity:.5;cursor:not-allowed}
.dota-template-preview{border:1px solid #29333c;border-radius:8px;background:#0d1318;padding:12px 14px;min-height:103px}.dota-template-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.dota-template-refresh{border:1px solid #33404b;border-radius:6px;background:#111920;color:#d9e3ea;padding:7px 10px;font:700 9px Manrope,sans-serif;cursor:pointer;white-space:nowrap}.dota-template-refresh:hover{border-color:#ff795a}.dota-template-bubble{display:inline-block;max-width:min(100%,470px);min-width:210px;padding:10px 12px 8px;border-radius:8px;background:linear-gradient(125deg,#202c36,#1b2730);border:1px solid #293a45;box-shadow:0 7px 17px rgba(0,0,0,.15)}.dota-template-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#dce6ec;font:500 10px/1.55 Manrope,sans-serif}.dota-template-bubble time{display:block;color:#8295a1;font:500 8px Manrope,sans-serif;text-align:right;margin-top:4px}
@media(max-width:1050px){.dota-message-head{padding:20px}.dota-template-layout{grid-template-columns:280px minmax(0,1fr)}.dota-message-actions{gap:10px}.dota-message-save-state{min-width:auto}}
@media(max-width:760px){.dota-message-head{display:block}.dota-message-actions{justify-content:space-between;margin-top:18px;flex-wrap:wrap}.dota-template-layout{grid-template-columns:1fr}.dota-template-menu{display:grid;grid-template-columns:1fr;gap:4px}.dota-template-item{border:1px solid #252c33}.dota-template-editor{padding:16px}.dota-template-field-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.dota-template-menu{grid-template-columns:1fr}.dota-message-actions{align-items:stretch}.dota-template-save{width:100%}.dota-template-preview-head{flex-direction:column}.dota-template-vars-head{flex-direction:column}.dota-template-bubble{min-width:0}}
