@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;600;700&family=Inter:wght@400;600;700&family=Montserrat:wght@400;600;700&family=Nunito+Sans:wght@400;600;700&family=Quicksand:wght@400;600;700&family=Merriweather:wght@400;700&family=Playfair+Display:wght@400;600;700&display=swap");
:root{--bg:#083c42;--bg2:#0d5d61;--panel:rgba(7,35,46,.80);--line:rgba(255,255,255,.72);--text:#eefcff;--muted:#c5e0e4;--primary:#4b8cff;--green:#30c98b;--danger:#ff6b7a;--shadow:0 24px 70px rgba(0,0,0,.24)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 18% 0%,#11757d 0%,var(--bg2) 34%,var(--bg) 72%,#06292d 100%);color:var(--text)}
body{min-height:100vh;position:relative;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.page-wave{position:fixed;inset:0;display:flex;align-items:center;pointer-events:none;z-index:0;opacity:.95}.page-wave svg{width:100%;height:clamp(220px,34vw,360px);margin-top:10vh;filter:drop-shadow(0 8px 32px rgba(255,255,255,.06))}.app-shell{position:relative;z-index:1;width:min(1240px,calc(100% - 32px));margin:0 auto;padding:18px 0 42px}.card{background:linear-gradient(180deg,rgba(8,42,56,.80),rgba(7,35,46,.80));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.main-tabs{position:relative;display:flex;align-items:center;gap:5px;padding:7px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none;isolation:isolate}.main-tabs::-webkit-scrollbar{display:none}.main-tab-highlight{position:absolute;z-index:0;top:7px;bottom:7px;left:0;width:0;border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(159,226,232,.14));box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 5px 18px rgba(0,0,0,.10);transition:transform .46s cubic-bezier(.22,.75,.25,1),width .46s cubic-bezier(.22,.75,.25,1);pointer-events:none;will-change:transform,width}.main-tab-highlight.no-transition{transition:none}.main-tab{position:relative;z-index:1;white-space:nowrap;flex:1;border:0;background:transparent;color:#c8e2e5;padding:11px 16px;border-radius:15px;font-size:13px;font-weight:800;transition:color .28s ease,transform .28s ease}.main-tab:hover{color:#fff}.main-tab.active{background:transparent;color:#fff;box-shadow:none}.global-pin{padding:12px 16px;margin-bottom:14px;display:grid;grid-template-columns:auto minmax(180px,320px);align-items:center;gap:12px}.app-panel{animation:panelIn .28s ease}.app-panel.active{display:block}@keyframes panelIn{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:20px;align-items:start}.editor-card{padding:26px}.result-column{display:grid;gap:20px}.result-card,.history-card{padding:22px}.editor-brand-row,.tool-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.cat-logo{width:34px;height:34px;display:block}.brand-title{font-weight:800;font-size:18px;line-height:1.3}.tool-head h1{font-size:20px;margin:0 0 5px}.tool-head p{margin:0;color:var(--muted);font-size:12.5px}.tool-head.vertical{display:block}.mini-engine{font-size:10.5px;font-weight:800;color:#daf6f8;border:1px solid rgba(255,255,255,.25);padding:6px 9px;border-radius:999px;white-space:nowrap}
.provider-tabs{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.provider-tab{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#fff;border-radius:9px;padding:0;min-width:34px;height:34px;transition:.18s}.provider-tab .provider-icon{width:30px;height:30px;display:grid;place-items:center;font-weight:900;font-size:17px;opacity:.45;transition:.18s;color:#fff}.provider-tab:hover .provider-icon{opacity:.8;transform:scale(1.05)}.provider-tab.active .provider-icon{opacity:1;filter:drop-shadow(0 0 7px rgba(255,255,255,.55));transform:scale(1.08)}.coach-provider-tabs .provider-tab{width:auto;height:38px;padding:0 6px}.coach-provider-tabs .provider-tab b{font-size:12px;color:#d8eef0;opacity:.7}.coach-provider-tabs .provider-tab.active b{opacity:1;color:#fff}
.field{margin-top:16px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.field-label-row .field-label{margin:0}.field-label{display:block;font-weight:700;font-size:13px;color:#effbff;margin:0 0 8px}.clear-link,.small-link{border:0;background:transparent;color:#d5f4ff;font-size:12px;font-weight:800;padding:3px 0}.clear-link:hover,.small-link:hover{color:#fff}.muted{font-weight:500;color:var(--muted)}.inline-label{display:flex;justify-content:space-between;align-items:center}.inline-label strong{color:#d6eeff}.textarea-wrap{border:1px solid rgba(255,255,255,.72);border-radius:16px;overflow:hidden;transition:.2s}.textarea-wrap:focus-within{border-color:#dff7ff;box-shadow:0 0 0 3px rgba(223,247,255,.15)}.content-light{background:#fff}.content-light textarea{background:#fff;color:#111827}.content-light textarea::placeholder{color:#8a94a3}.content-light .counter-row{background:#f7f9fc;color:#667085;border-top:1px solid #e5e9ef}.content-light .counter-row b{color:#334155}.output-wrap{background:rgba(5,25,34,.72);border-color:rgba(255,255,255,.35)}.output-wrap textarea{background:transparent;color:#eefcff}
textarea{display:block;width:100%;min-height:220px;resize:vertical;border:0;outline:0;background:transparent;color:#f4f8ff;padding:16px 17px 10px;line-height:1.65}textarea::placeholder,input::placeholder{color:#718596}.counter-row{display:flex;justify-content:space-between;padding:8px 14px 11px;border-top:1px solid rgba(255,255,255,.24);font-size:11px;color:var(--muted)}.grid.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}select,input[type="text"],input[type="password"],.custom-style-textarea{width:100%;border:1px solid rgba(255,255,255,.30);background:rgba(7,29,40,.66);color:#effbff;border-radius:12px;padding:11px 12px;outline:none}.custom-style-textarea{min-height:118px;resize:vertical;line-height:1.5}.custom-style-textarea::placeholder{color:#a3b7c6}select:focus,input:focus,.custom-style-textarea:focus{border-color:#dff7ff;box-shadow:0 0 0 3px rgba(223,247,255,.10)}input[type="range"]{width:100%;accent-color:#8adfff}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#d1e8eb;margin-top:2px}
.action-row{display:grid;grid-template-columns:160px 1fr;gap:10px;margin-top:22px}.action-row.one-main{grid-template-columns:1fr}.primary-btn,.secondary-btn,.download-btn{border:0;border-radius:13px;padding:12px 16px;font-weight:800}.primary-btn{position:relative;overflow:hidden;background:linear-gradient(135deg,#3b7ef2,#68a4ff);color:#fff;box-shadow:0 12px 28px rgba(61,126,242,.26);transition:.2s}.primary-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-btn.is-generating{animation:buttonPulse 1.15s ease-in-out infinite;box-shadow:0 0 0 1px rgba(124,177,255,.45),0 0 30px rgba(75,140,255,.42),0 14px 34px rgba(61,126,242,.3)}.primary-btn.is-generating::before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.2) 50%,transparent 64%);animation:sheen 1.2s linear infinite;pointer-events:none}.secondary-btn{background:rgba(17,44,57,.9);color:#ecfbff;border:1px solid rgba(255,255,255,.28)}.secondary-btn:hover{border-color:rgba(255,255,255,.5)}.primary-btn:disabled,.secondary-btn:disabled{opacity:.75;cursor:not-allowed}.btn-loading,.multi-btn-loading,.translate-btn-loading{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:10px}.mini-wave{height:22px;display:inline-flex;align-items:center;gap:3px}.mini-wave i{display:block;width:3px;border-radius:3px;background:#fff;animation:miniWave .75s ease-in-out infinite}.mini-wave i:nth-child(1),.mini-wave i:nth-child(5){height:8px}.mini-wave i:nth-child(2),.mini-wave i:nth-child(4){height:15px;animation-delay:.1s}.mini-wave i:nth-child(3){height:21px;animation-delay:.2s}@keyframes miniWave{0%,100%{transform:scaleY(.55);opacity:.6}50%{transform:scaleY(1);opacity:1}}@keyframes buttonPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px) scale(1.01)}}@keyframes sheen{from{transform:translateX(-45%)}to{transform:translateX(45%)}}
.status-box{margin-top:12px;border-radius:11px;padding:10px 12px;font-size:12px;line-height:1.5;border:1px solid rgba(255,255,255,.24);background:rgba(8,28,39,.72);color:#dceef0}.status-box.error{border-color:rgba(255,107,122,.38);background:rgba(255,107,122,.08);color:#ffd4da}.status-box.success{border-color:rgba(48,201,139,.35);background:rgba(48,201,139,.08);color:#b8f5dd}
.empty-result{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--muted)}.empty-result b{color:#f2fcff}.empty-result span{font-size:12px}.wave-art{height:56px;display:flex;align-items:center;gap:5px;margin-bottom:8px}.wave-art.small{height:38px}.wave-art i{display:block;width:5px;border-radius:4px;background:linear-gradient(#9fdcff,#53aef2);animation:wave 1.1s ease-in-out infinite}.wave-art i:nth-child(1),.wave-art i:nth-child(7){height:17px}.wave-art i:nth-child(2),.wave-art i:nth-child(6){height:31px;animation-delay:.1s}.wave-art i:nth-child(3),.wave-art i:nth-child(5){height:45px;animation-delay:.2s}.wave-art i:nth-child(4){height:55px;animation-delay:.3s}@keyframes wave{0%,100%{transform:scaleY(.65);opacity:.65}50%{transform:scaleY(1);opacity:1}}.audio-result{display:grid;gap:15px}.audio-meta{display:flex;align-items:center;gap:12px}.audio-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#2356aa,#4d8ef8);font-size:20px}.audio-info{min-width:0;display:grid;gap:4px}.audio-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.audio-info span{font-size:11px;color:var(--muted)}audio{width:100%;height:43px}.download-btn{width:100%;background:rgba(17,44,57,.9);color:#ecfbff;border:1px solid rgba(255,255,255,.28)}.download-btn:hover{border-color:rgba(255,255,255,.48)}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.section-head h2{font-size:19px;margin:0}.history-head{align-items:center}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.26);background:rgba(17,44,57,.9);color:#e6fbff;font-size:18px;display:grid;place-items:center}.history-state{padding:18px 10px;text-align:center;color:var(--muted);font-size:12px}.history-list{display:grid;gap:10px;max-height:430px;overflow:auto;padding-right:2px}.history-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.22);background:rgba(8,27,37,.78);border-radius:13px;transition:.18s;cursor:pointer;outline:none}.history-item:hover{border-color:rgba(255,255,255,.4);background:rgba(9,32,43,.88)}.history-item.is-selected{border-color:rgba(210,248,255,.92);background:rgba(16,63,78,.96);box-shadow:0 0 0 2px rgba(210,248,255,.11)}.history-play{width:40px;height:40px;border-radius:12px;border:0;background:linear-gradient(145deg,#2356aa,#4d8ef8);color:#fff;font-size:15px;display:grid;place-items:center;pointer-events:none}.history-main{min-width:0}.history-name{display:block;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-sub,.history-text{display:block;margin-top:3px;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-delete{border:0!important;background:transparent!important;color:#fff!important;padding:6px!important;width:34px;height:34px;display:grid;place-items:center;border-radius:8px}.history-delete svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.history-delete:hover{background:rgba(255,255,255,.10)!important}
/* Multi speaker */.speaker-list{display:grid;gap:10px}.speaker-row{display:grid;grid-template-columns:145px minmax(150px,1fr) minmax(150px,1fr) 34px;gap:9px;align-items:end;padding:12px;border:1px solid rgba(255,255,255,.20);background:rgba(5,27,37,.46);border-radius:14px}.speaker-row .field{margin:0}.speaker-remove{width:34px;height:39px;border:0;background:transparent;color:#fff;display:grid;place-items:center;border-radius:9px}.speaker-remove:hover{background:rgba(255,255,255,.1)}.speaker-remove svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.speaker-index{font-size:10px;color:var(--muted);display:block;margin-bottom:4px}.speaker-name{width:100%;border:1px solid rgba(255,255,255,.30);background:rgba(7,29,40,.66);color:#fff;border-radius:10px;padding:10px}.script-label{margin-top:20px}.multi-script{min-height:260px}.tall-result .empty-result{min-height:360px}
/* Translate */.tool-card{padding:26px}.translate-controls{display:grid;grid-template-columns:1fr 44px 1fr 1fr;gap:10px;align-items:end}.translate-controls .field{margin:0}.swap-btn{height:42px;width:42px;border:1px solid rgba(255,255,255,.25);background:rgba(7,29,40,.52);color:#fff;border-radius:12px;font-size:20px}.translate-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.translate-area{min-height:330px}.translate-actions{display:flex;justify-content:flex-end;margin-top:14px}.translate-actions .primary-btn{min-width:190px}
/* Coach */.coach-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.coach-settings{padding:22px;position:sticky;top:16px}.coach-actions{display:grid;grid-template-columns:1fr 90px;gap:8px;margin-top:18px}.coach-hints{display:grid;gap:7px;margin-top:12px}.coach-hints button{border:1px solid rgba(255,255,255,.2);background:rgba(7,29,40,.52);color:#dff7fa;border-radius:10px;padding:9px 10px;text-align:left;font-size:11px}.coach-chat-card{min-height:650px;padding:18px;display:flex;flex-direction:column}.coach-messages{flex:1;min-height:480px;max-height:650px;overflow:auto;padding:6px 5px 14px;display:flex;flex-direction:column;gap:10px}.coach-welcome{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--muted);gap:6px}.coach-welcome b{color:#fff}.coach-welcome span{font-size:12px}.coach-message{max-width:86%;padding:11px 13px;border-radius:15px;line-height:1.55;font-size:13px;white-space:pre-wrap}.coach-message.teacher{align-self:flex-start;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-bottom-left-radius:5px}.coach-message.student{align-self:flex-end;background:linear-gradient(135deg,rgba(59,126,242,.92),rgba(71,157,211,.92));border-bottom-right-radius:5px}.coach-message .msg-role{display:block;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;opacity:.62;margin-bottom:5px}.coach-input-row{display:grid;grid-template-columns:1fr 92px;gap:9px;align-items:stretch;padding-top:12px;border-top:1px solid rgba(255,255,255,.16)}.coach-input-row textarea{min-height:58px;max-height:140px;border:1px solid rgba(255,255,255,.28);border-radius:13px;background:rgba(7,29,40,.66);padding:11px 12px}.coach-send{min-height:58px}.site-footer{text-align:center;color:#f4fdff;font-size:13px;font-weight:700;opacity:.95;padding:24px 12px 4px}
@media(max-width:900px){.workspace,.coach-layout{grid-template-columns:1fr}.coach-settings{position:static}.translate-controls{grid-template-columns:1fr 44px 1fr}.translate-controls .field:last-child{grid-column:1/-1}.translate-grid{grid-template-columns:1fr}.translate-area{min-height:240px}.empty-result{min-height:180px}.speaker-row{grid-template-columns:1fr 1fr}.speaker-row .speaker-name-wrap{grid-column:1/-1}.speaker-remove{position:absolute}.speaker-row{position:relative}.speaker-remove{right:9px;top:8px}}
@media(max-width:660px){.app-shell{width:min(100% - 20px,1240px);padding-top:10px}.main-tabs{border-radius:17px}.main-tab{flex:0 0 auto;padding:10px 13px}.editor-card,.result-card,.history-card,.tool-card,.coach-settings,.coach-chat-card{padding:16px}.workspace,.result-column,.coach-layout{gap:12px}.grid.two-cols{grid-template-columns:1fr}.action-row{grid-template-columns:1fr}.brand-title{font-size:15px}.cat-logo{width:31px;height:31px}.editor-brand-row{align-items:flex-start}.translate-controls{grid-template-columns:1fr}.swap-btn{display:none}.translate-controls .field:last-child{grid-column:auto}.speaker-row{grid-template-columns:1fr}.speaker-row .speaker-name-wrap{grid-column:auto}.coach-actions{grid-template-columns:1fr}.coach-input-row{grid-template-columns:1fr}.coach-send{min-height:44px}.coach-chat-card{min-height:620px}.coach-messages{min-height:430px}.global-pin{grid-template-columns:1fr}.page-wave svg{height:220px;margin-top:18vh}}

/* Sound Effect */
.sound-card{padding:26px;min-height:540px}.sound-head{align-items:center}.sound-add-btn{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:rgba(9,48,60,.72);color:#fff;padding:0;box-shadow:0 8px 22px rgba(0,0,0,.16);transition:transform .18s ease,background .18s ease,border-color .18s ease}.sound-add-btn:hover{transform:translateY(-1px) scale(1.03);background:rgba(16,73,86,.92);border-color:rgba(255,255,255,.7)}.sound-add-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.sound-add-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.sound-state{min-height:250px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:13px}.sound-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.sound-item{min-width:0;display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid rgba(255,255,255,.24);background:rgba(6,27,37,.65);color:#fff;border-radius:14px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;user-select:none}.sound-item:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.48);background:rgba(10,45,57,.82)}.sound-item.is-playing{border-color:rgba(203,246,255,.95);background:rgba(15,69,82,.94);box-shadow:0 0 0 2px rgba(203,246,255,.09),0 10px 28px rgba(0,0,0,.16)}.sound-play{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2a7fa1,#55badd);font-size:13px;font-weight:900;box-shadow:0 6px 16px rgba(0,0,0,.16)}.sound-item.is-playing .sound-play{background:linear-gradient(145deg,#42a9b5,#7ee3dc)}.sound-item.is-favorite .sound-play{background:linear-gradient(145deg,#e87817,#ffad3d);box-shadow:0 6px 18px rgba(238,126,25,.32)}.sound-item.is-favorite.is-playing .sound-play{background:linear-gradient(145deg,#f07b16,#ffc15a);box-shadow:0 0 0 3px rgba(255,167,54,.14),0 7px 20px rgba(238,126,25,.38)}.sound-name{min-width:0;display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;font-size:12.5px;font-weight:800;line-height:1.28}.sound-meta{display:block;margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sound-text{min-width:0;flex:1}.sound-context-menu{position:fixed;z-index:1200;min-width:150px;padding:6px;border:1px solid rgba(255,255,255,.28);background:rgba(5,26,35,.98);border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.sound-context-menu button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#eefcff;border-radius:8px;padding:9px 10px;text-align:left;font-size:12px;font-weight:750}.sound-context-menu button:hover{background:rgba(255,255,255,.10)}.sound-context-menu button.danger{color:#ffd7dc}.sound-context-menu svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.web-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:18px}.web-modal-backdrop{position:absolute;inset:0;background:rgba(1,14,19,.64);backdrop-filter:blur(6px)}.web-modal-dialog{position:relative;width:min(420px,100%);padding:24px;text-align:center;animation:modalPop .24s cubic-bezier(.22,.8,.3,1)}.web-modal-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:rgba(255,107,122,.13);color:#ffd4da;border:1px solid rgba(255,107,122,.3)}.web-modal-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.web-modal-dialog h2{margin:0 0 8px;font-size:19px}.web-modal-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.web-modal-dialog p strong{color:#fff;word-break:break-word}.web-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.danger-btn{border:0;border-radius:13px;padding:12px 16px;font-weight:800;background:linear-gradient(135deg,#d84b5d,#ff6b7a);color:#fff}.danger-btn:hover{filter:brightness(1.06)}@keyframes modalPop{from{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:none}}
.web-modal-icon.rename-icon{background:rgba(92,192,219,.13);color:#d9f7ff;border-color:rgba(117,218,240,.34)}.rename-field{margin-top:16px}.rename-field input{width:100%;border:1px solid rgba(255,255,255,.3);background:rgba(6,29,39,.78);color:#fff;border-radius:12px;padding:12px 13px;outline:none}.rename-field input:focus{border-color:#dff7ff;box-shadow:0 0 0 3px rgba(223,247,255,.1)}.sound-rename-dialog{text-align:left}.sound-rename-dialog .web-modal-icon{margin-left:auto;margin-right:auto}.sound-rename-dialog h2{text-align:center}
@media(max-width:660px){.sound-card{padding:16px}.sound-head{align-items:flex-start}.sound-grid{grid-template-columns:1fr}.sound-upload-wrap{flex:0 0 auto}.sound-add-btn{width:40px;height:40px;flex-basis:40px}.web-modal-actions{grid-template-columns:1fr}}


/* Studio */
.studio-shell{padding:0;overflow:hidden;min-height:540px}.studio-tabs{position:relative;display:flex;align-items:center;gap:4px;padding:8px;border-bottom:1px solid rgba(255,255,255,.18);background:rgba(4,28,37,.28);overflow-x:auto;scrollbar-width:none;isolation:isolate}.studio-tabs::-webkit-scrollbar{display:none}.studio-tab-highlight{position:absolute;z-index:0;top:8px;bottom:8px;left:0;width:0;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(145,226,228,.13));box-shadow:inset 0 0 0 1px rgba(255,255,255,.23),0 5px 16px rgba(0,0,0,.10);transition:transform .42s cubic-bezier(.22,.75,.25,1),width .42s cubic-bezier(.22,.75,.25,1);pointer-events:none;will-change:transform,width}.studio-tab-highlight.no-transition{transition:none}.studio-tab{position:relative;z-index:1;flex:1;white-space:nowrap;border:0;background:transparent;color:#c7e2e5;border-radius:12px;padding:10px 15px;font-size:12.5px;font-weight:800;transition:color .25s ease,transform .25s ease}.studio-tab:hover{color:#fff}.studio-tab.active{color:#fff}.studio-panel{padding:24px;animation:studioPanelIn .25s ease}.studio-panel.active{display:block}.studio-content-head{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:10px}.studio-placeholder{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.studio-placeholder b{color:#f1fdff;font-size:17px}.studio-placeholder-icon{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(8,42,53,.54);color:#dff9ff}.studio-placeholder-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@keyframes studioPanelIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:660px){.studio-tab{flex:0 0 auto;padding:9px 12px}.studio-panel{padding:16px}.studio-placeholder{min-height:300px}.studio-shell{min-height:420px}}

/* V15 Studio libraries */
.studio-toolbar{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.18);background:rgba(4,28,37,.28);padding-right:8px}
.studio-toolbar .studio-tabs{flex:1;min-width:0;border-bottom:0;background:transparent}
.studio-add-wrap{display:flex;align-items:center;justify-content:center;flex:0 0 54px}
.studio-add-btn{width:38px;height:38px;flex-basis:38px;box-shadow:none}
.studio-panel>.status-box{margin:0 0 12px}

.icon-groups{display:grid;gap:8px}
.icon-group-block{padding:0;border:0}
.icon-group-block:last-child{padding-bottom:0;border-bottom:0}
.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,36px);justify-content:start;gap:2px}
.icon-item{position:relative;z-index:1;width:36px;height:36px;min-width:0;display:grid;place-items:center;padding:2px;border:0;background:transparent;border-radius:8px;cursor:pointer;transition:transform .20s cubic-bezier(.2,.78,.28,1),filter .20s ease,opacity .20s ease;overflow:visible;transform-origin:center}
.icon-item::before{content:"";position:absolute;inset:-5px;border-radius:11px;background:radial-gradient(circle,rgba(125,240,232,.22) 0%,rgba(125,240,232,.10) 48%,rgba(125,240,232,0) 74%);opacity:0;transform:scale(.78);transition:opacity .18s ease,transform .20s ease;pointer-events:none}
.icon-item:hover,.icon-item:focus-visible{z-index:8;transform:translateY(-2px) scale(1.62);opacity:1;outline:0}
.icon-item:hover::before,.icon-item:focus-visible::before{opacity:1;transform:scale(1.16)}
.icon-item img{position:relative;z-index:1;display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.16));transition:filter .20s ease;user-select:none;-webkit-user-drag:none}
.icon-item:hover img,.icon-item:focus-visible img{filter:drop-shadow(0 4px 10px rgba(0,0,0,.28)) drop-shadow(0 0 8px rgba(134,245,234,.65))}
.icon-item.copy-flash{animation:iconCopyFlash .34s ease}
@keyframes iconCopyFlash{0%,100%{filter:none}45%{filter:drop-shadow(0 0 9px rgba(131,244,232,.95));transform:translateY(-2px) scale(1.72)}}

.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.video-item{min-width:0;border:1px solid rgba(255,255,255,.22);background:rgba(6,27,37,.62);border-radius:15px;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.video-item:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.45);box-shadow:0 10px 28px rgba(0,0,0,.15)}
.video-preview{position:relative;aspect-ratio:16/9;background:linear-gradient(145deg,rgba(3,19,27,.96),rgba(9,52,62,.9));overflow:hidden}
.video-preview video{display:block;width:100%;height:100%;object-fit:cover;background:#06141a}
.video-center-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(3,26,34,.72);color:#fff;display:grid;place-items:center;font-size:17px;font-weight:900;backdrop-filter:blur(5px);box-shadow:0 7px 22px rgba(0,0,0,.28);transition:transform .18s ease,background .18s ease,opacity .18s ease}
.video-center-play:hover{transform:translate(-50%,-50%) scale(1.06);background:rgba(17,91,105,.88)}
.video-item.is-playing .video-center-play{opacity:.24}
.video-item.is-playing .video-preview:hover .video-center-play{opacity:.92}
.video-info{padding:10px 12px 12px;min-width:0}
.video-name{display:block;font-size:12.5px;font-weight:800;line-height:1.3;color:#fff;white-space:normal;overflow-wrap:anywhere}
.video-meta{display:block;margin-top:4px;color:var(--muted);font-size:10.5px}
.studio-context-menu{min-width:160px}

.group-dialog{text-align:center}
.group-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}
.group-options button{border:1px solid rgba(255,255,255,.24);background:rgba(7,34,45,.72);color:#eefcff;border-radius:12px;padding:12px;font-weight:800;font-size:12px;transition:.18s ease}
.group-options button:hover,.group-options button.active{border-color:rgba(255,255,255,.62);background:rgba(20,84,95,.85)}
.web-modal-actions.one-action{grid-template-columns:1fr}

@media(max-width:660px){
  .studio-toolbar{padding-right:6px}.studio-add-wrap{flex-basis:48px}.studio-add-btn{width:36px;height:36px;flex-basis:36px}
  .icon-grid{grid-template-columns:repeat(auto-fill,32px);justify-content:start;gap:2px}.icon-item{width:32px;height:32px;padding:2px;border:0;background:transparent;border-radius:7px}.icon-item:hover,.icon-item:focus-visible{transform:translateY(-1px) scale(1.55)}
  .video-grid{grid-template-columns:1fr}.group-options{grid-template-columns:1fr 1fr}
}

/* V23 - Photo Editor */
.photo-editor-panel{padding:0!important}
.photo-editor{min-height:680px;color:#eefcff}
.pe-toolbar{display:flex;align-items:center;gap:6px;min-height:54px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.16);background:rgba(2,20,28,.78);overflow-x:auto;scrollbar-width:none}
.pe-toolbar::-webkit-scrollbar{display:none}.pe-tool-group{display:flex;gap:4px}.pe-tool-sep{width:1px;height:28px;background:rgba(255,255,255,.16);margin:0 3px}.pe-toolbar-spacer{flex:1;min-width:12px}
.pe-tool-btn,.pe-mini-btn,.pe-zoom-btn,.pe-layer-top-btn,.pe-icon-action-btn,.pe-mask-btn,.pe-ratio-btn{border:1px solid rgba(255,255,255,.2);background:rgba(8,59,72,.96);color:#edfaff;border-radius:10px;min-width:34px;height:34px;display:inline-grid;place-items:center;font-weight:800;transition:.18s ease;box-shadow:0 4px 14px rgba(0,0,0,.16)}
.pe-tool-btn:hover,.pe-mini-btn:hover,.pe-zoom-btn:hover,.pe-layer-top-btn:hover,.pe-icon-action-btn:hover,.pe-mask-btn:hover,.pe-ratio-btn:hover{border-color:rgba(125,235,240,.82);background:rgba(23,120,129,.96);transform:translateY(-1px)}
.pe-tool-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.pe-tool-danger:hover{border-color:rgba(255,112,122,.7);background:rgba(121,31,39,.76)}.pe-tool-text{font-family:Georgia,serif;font-size:20px}.pe-shape-rect{width:15px;height:12px;border:2px solid currentColor;display:block}.pe-shape-circle{width:15px;height:15px;border:2px solid currentColor;border-radius:50%;display:block}
.pe-icon-action-btn{width:36px;height:36px;min-width:36px;padding:0;font-size:16px}
.pe-export-select{height:36px;border:1px solid rgba(255,255,255,.22);background:#0a3542;color:#eefcff;border-radius:9px;padding:0 9px;outline:none}.pe-export-btn{padding:0}.pe-tool-btn.active,.pe-mask-btn.active,.pe-ratio-btn.active{border-color:rgba(255,255,255,.85);background:rgba(31,145,156,.98)}
.pe-flip-icon{position:relative;display:block;width:18px;height:18px}.pe-flip-icon::before,.pe-flip-icon::after{content:"";position:absolute;width:0;height:0;border-style:solid;opacity:.95}.pe-flip-h::before{left:0;top:3px;border-width:6px 8px 6px 0;border-color:transparent currentColor transparent transparent}.pe-flip-h::after{right:0;top:3px;border-width:6px 0 6px 8px;border-color:transparent transparent transparent currentColor}.pe-flip-v::before{left:3px;top:0;border-width:0 6px 8px 6px;border-color:transparent transparent currentColor transparent}.pe-flip-v::after{left:3px;bottom:0;border-width:8px 6px 0 6px;border-color:currentColor transparent transparent transparent}
.pe-body{display:grid;grid-template-columns:minmax(0,1fr) 292px;min-height:625px}.pe-stage-column{min-width:0;display:flex;flex-direction:column;background:rgba(2,19,26,.34);border-right:1px solid rgba(255,255,255,.14)}
.pe-canvas-bar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid rgba(255,255,255,.12);font-size:11px;color:#c6e2e5;flex-wrap:wrap}.pe-canvas-size,.pe-bg-control,.pe-ratio-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pe-canvas-size input{width:72px;height:30px;border:1px solid rgba(255,255,255,.18);background:#0a3542;color:#fff;border-radius:8px;padding:0 7px}.pe-mini-btn{height:30px;padding:0 9px;font-size:11px;display:inline-flex;min-width:auto}.pe-icon-only{width:30px;padding:0;justify-content:center}.pe-bg-control label{display:flex;align-items:center;gap:5px}.pe-bg-control input[type=color]{width:31px;height:29px;border:0;border-radius:7px;padding:2px;background:rgba(255,255,255,.08)}.pe-ratio-btn{height:30px;min-width:auto;padding:0 10px;font-size:11px}
.pe-stage{position:relative;flex:1;min-height:510px;overflow:auto;padding:28px;display:flex;align-items:center;justify-content:center;background-color:#17333a;background-image:linear-gradient(45deg,rgba(255,255,255,.055) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.055) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.055) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.055) 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.pe-stage.drag-over{box-shadow:inset 0 0 0 3px rgba(87,231,236,.65)}.pe-stage.mask-mode{box-shadow:inset 0 0 0 3px rgba(255,179,71,.68)}#peCanvas{display:block;max-width:none;max-height:none;box-shadow:0 16px 45px rgba(0,0,0,.35);touch-action:none;cursor:default;background:transparent}#peCanvas.mask-mode{cursor:crosshair}.pe-drop-hint{position:absolute;z-index:2;pointer-events:none;text-align:center;display:flex;flex-direction:column;gap:4px;color:#cae6e8}.pe-drop-hint b{font-size:15px;color:#fff}.pe-drop-hint span{font-size:11px;opacity:.75}
.pe-zoom-bar{min-height:43px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:6px 12px}.pe-zoom-bar input[type=range]{width:130px}.pe-zoom-btn{width:29px;height:29px;min-width:29px}.pe-zoom-bar span{font-size:11px;color:#d6ecee;min-width:39px;text-align:right}
.pe-sidebar{background:rgba(4,28,37,.56);display:flex;flex-direction:column;min-width:0}.pe-sidebar-section{padding:14px;border-bottom:1px solid rgba(255,255,255,.13)}.pe-sidebar-title{font-size:12px;font-weight:900;letter-spacing:.02em;color:#f5feff;margin-bottom:12px}.pe-sidebar-title-row{display:flex;align-items:center;justify-content:space-between}.pe-sidebar-title-row .pe-sidebar-title{margin:0}.pe-layer-top-btn{width:28px;height:28px;min-width:28px;margin-left:3px}.pe-empty-properties,.pe-empty-layers{padding:18px 8px;text-align:center;color:#9fc0c4;font-size:11px}
.pe-prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pe-prop-grid label,.pe-field-label{display:grid;gap:5px;color:#bcd7da;font-size:10px}.pe-prop-grid input,.pe-prop-grid select,.pe-field-label textarea{width:100%;min-width:0;border:1px solid rgba(255,255,255,.18);background:#082a35;color:#fff;border-radius:8px;padding:7px 8px;outline:none}.pe-prop-grid input[type=color]{height:34px;padding:3px}.pe-field-label textarea{resize:vertical;min-height:65px;line-height:1.35}.pe-range-row{display:grid;gap:5px;margin-top:10px;color:#bcd7da;font-size:10px}.pe-range-row span{display:flex;justify-content:space-between}.pe-range-row b{color:#fff}.pe-range-row input[type=range]{width:100%;accent-color:#59dce3}.pe-divider{height:1px;background:rgba(255,255,255,.12);margin:14px 0}.pe-wide-btn{width:100%;margin-top:10px;border:1px solid rgba(255,255,255,.18);background:rgba(8,59,72,.96);color:#edfaff;border-radius:9px;padding:8px;font-size:11px;font-weight:800}.pe-wide-btn:hover{border-color:rgba(125,235,240,.6)}.pe-prop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pe-mask-toolbar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pe-mask-btn{font-size:10px;height:32px;min-width:0}.pe-mask-hint{margin-top:8px;color:#9fc0c4;font-size:10px;line-height:1.35}
.pe-layers-section{flex:1;min-height:0;display:flex;flex-direction:column}.pe-layers{display:grid;gap:5px;margin-top:10px;max-height:280px;overflow:auto}.pe-layer-item{display:grid;grid-template-columns:24px 24px minmax(0,1fr) 26px;align-items:center;gap:4px;padding:6px 5px;border-radius:8px;border:1px solid transparent;background:rgba(3,25,34,.5);cursor:pointer}.pe-layer-item:hover{background:rgba(24,83,91,.45)}.pe-layer-item.active{border-color:rgba(91,225,232,.62);background:rgba(21,100,109,.52)}.pe-layer-eye,.pe-layer-lock{width:24px;height:24px;border:0;background:transparent;color:#d8f1f3;padding:0}.pe-layer-kind{width:22px;text-align:center;color:#82e4e9;font-size:12px}.pe-layer-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-layer-lock{font-size:12px}
@media(max-width:980px){.pe-body{grid-template-columns:1fr}.pe-sidebar{border-top:1px solid rgba(255,255,255,.14)}.pe-layers{max-height:220px}.pe-stage{min-height:430px}.pe-sidebar{display:grid;grid-template-columns:1fr 1fr}.pe-sidebar-section{border-bottom:0}.pe-stage-column{border-right:0}}
@media(max-width:660px){.photo-editor{min-height:580px}.pe-toolbar{padding:7px}.pe-body{display:block}.pe-stage{min-height:360px;padding:18px}.pe-canvas-bar{align-items:flex-start}.pe-canvas-size,.pe-ratio-buttons{flex-wrap:wrap}.pe-bg-control{width:100%;justify-content:flex-end}.pe-sidebar{display:block}.pe-layers{max-height:200px}.pe-stage-column{min-height:430px}.pe-zoom-bar input[type=range]{width:90px}.pe-prop-actions{grid-template-columns:1fr}.pe-mask-toolbar{grid-template-columns:repeat(2,1fr)}}

/* V24 - AI background removal */
.pe-ai-remove-btn{position:relative;overflow:hidden;min-height:34px}.pe-ai-remove-btn:disabled{cursor:wait;opacity:1}.pe-ai-remove-loading{display:inline-flex;align-items:center;justify-content:center;gap:4px}.pe-ai-remove-loading i{width:5px;height:5px;border-radius:50%;background:#fff;animation:peAiDots .8s ease-in-out infinite}.pe-ai-remove-loading i:nth-child(2){animation-delay:.12s}.pe-ai-remove-loading i:nth-child(3){animation-delay:.24s}@keyframes peAiDots{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-4px);opacity:1}}.pe-ai-error{border-color:#ff7c86!important;box-shadow:0 0 0 2px rgba(255,124,134,.18)!important}

/* V25 - free bg remove + AI edit */
.pe-ai-edit-box{display:grid;gap:8px}
.pe-ai-edit-head{font-size:12px;font-weight:900;color:#f4feff}
.pe-ai-provider-row{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#d9edef}
.pe-ai-provider-row label{display:flex;align-items:center;gap:5px;cursor:pointer}
.pe-ai-note{font-size:10px;line-height:1.4;color:#9fc0c4}
.pe-ai-status{margin-top:2px;border:1px solid rgba(255,255,255,.14);background:rgba(9,35,42,.72);border-radius:8px;padding:8px 9px;font-size:10.5px;color:#dff7f9}
.pe-ai-status.error{border-color:rgba(255,124,134,.45);color:#ffd8dc;background:rgba(89,21,31,.38)}
.pe-ai-status.success{border-color:rgba(80,229,151,.42);color:#c6ffe0;background:rgba(20,67,48,.34)}
.pe-ai-edit-loading{display:inline-flex;align-items:center;justify-content:center;gap:4px}.pe-ai-edit-loading i{width:5px;height:5px;border-radius:50%;background:#fff;animation:peAiDots .8s ease-in-out infinite}.pe-ai-edit-loading i:nth-child(2){animation-delay:.12s}.pe-ai-edit-loading i:nth-child(3){animation-delay:.24s}

/* V31 - upscale + before after */
.pe-ai-extra-actions{margin-top:2px}
.pe-compare-modal[hidden]{display:none!important}
.pe-compare-modal{position:fixed;inset:0;z-index:3000}
.pe-compare-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.pe-compare-dialog{position:relative;z-index:1;width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:16px auto;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(4,28,37,.98),rgba(7,42,55,.98));box-shadow:0 20px 60px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:12px}
.pe-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:36px}.pe-compare-head h3{margin:0;color:#fff;font-size:20px}.pe-compare-head p{margin:4px 0 0;color:#a7d1d6;font-size:12px}
.pe-compare-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(8,59,72,.96);color:#fff;font-size:16px;font-weight:800}
.pe-compare-view{position:relative;min-height:min(70vh,700px);background:rgba(3,23,30,.82);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background-image:linear-gradient(45deg,rgba(255,255,255,.045) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.045) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.045) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.045) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.pe-compare-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent}
.pe-compare-after-wrap{position:absolute;inset:0;overflow:hidden;width:50%}
.pe-compare-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 18px rgba(98,244,255,.6)}
.pe-compare-handle::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:rgba(7,64,79,.95);border:2px solid rgba(255,255,255,.95);box-shadow:0 6px 22px rgba(0,0,0,.3)}
.pe-compare-handle::after{content:'↔';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}
.pe-compare-pill{position:absolute;top:14px;padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(4px)}
.pe-compare-pill-before{left:14px}.pe-compare-pill-after{right:14px}
.pe-compare-range{width:100%;accent-color:#67edf0}
@media(max-width:700px){.pe-compare-dialog{width:calc(100vw - 16px);margin:8px auto;padding:12px}.pe-compare-view{min-height:50vh}.pe-compare-head h3{font-size:17px}.pe-compare-head p{font-size:11px}}

/* V32 - local ESRGAN */
#peAiUpscaleBtn{position:relative;overflow:hidden}#peAiUpscaleBtn:disabled{opacity:1;cursor:wait}#peAiUpscaleBtn .pe-ai-upscale-label{position:relative;z-index:2}#peAiUpscaleBtn .pe-ai-upscale-loading{position:absolute;right:9px;top:50%;transform:translateY(-50%);display:inline-flex;gap:3px}#peAiUpscaleBtn .pe-ai-upscale-loading i{width:4px;height:4px;border-radius:50%;background:#fff;animation:peAiDots .8s ease-in-out infinite}#peAiUpscaleBtn .pe-ai-upscale-loading i:nth-child(2){animation-delay:.12s}#peAiUpscaleBtn .pe-ai-upscale-loading i:nth-child(3){animation-delay:.24s}

/* V33 - compare drag + shape mask */
.pe-mask-shape-toolbar{grid-template-columns:repeat(4,1fr)}
.pe-compare-view{--split:50%;--cmp-zoom:1;touch-action:none;cursor:ew-resize}
.pe-compare-view img{transform:scale(var(--cmp-zoom));transform-origin:center center;user-select:none;-webkit-user-drag:none;pointer-events:none}
.pe-compare-after-wrap{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 0 var(--split))}
.pe-compare-handle{cursor:ew-resize}
.pe-compare-controls{display:flex;align-items:center;gap:8px;color:#dceff1;font-size:11px}.pe-compare-controls .pe-compare-range{flex:1}.pe-compare-zoom-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:rgba(8,59,72,.96);color:#fff;font-weight:800}.pe-compare-controls span:last-child{min-width:42px;text-align:right;color:#fff;font-weight:800}

/* V34 - grouped properties + icon masks */
.pe-prop-group{border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(5,38,48,.5);overflow:hidden;margin-top:8px}
.pe-prop-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;color:#ecfbfd;font-size:11px;font-weight:900;user-select:none}
.pe-prop-group>summary::-webkit-details-marker{display:none}
.pe-prop-group>summary::after{content:'›';font-size:17px;line-height:1;color:#9edee3;transform:rotate(90deg);transition:transform .18s ease}
.pe-prop-group[open]>summary{background:rgba(19,94,105,.34);border-bottom:1px solid rgba(255,255,255,.1)}
.pe-prop-group[open]>summary::after{transform:rotate(-90deg)}
.pe-prop-group-body{padding:10px}
.pe-prop-group-body>.pe-range-row:first-child,.pe-prop-group-body>.pe-wide-btn:first-child{margin-top:0}
.pe-mask-icon-btn{height:36px;padding:0;display:grid;place-items:center}
.pe-mask-icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.pe-mask-icon-btn.active{background:rgba(31,145,156,.98);border-color:rgba(255,255,255,.85)}

/* V35 - mask, compare and sidebar fixes */
.pe-sidebar{overflow:hidden}
.pe-layers-section{flex:0 0 auto;max-height:250px;border-bottom:1px solid rgba(255,255,255,.13)}
.pe-layers{max-height:190px}
.pe-properties-section{flex:1 1 auto;min-height:0;overflow:auto}
.pe-compare-after-wrap{position:absolute;inset:0;width:100%!important;height:100%;overflow:hidden;pointer-events:none}
.pe-compare-after-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(var(--cmp-zoom));transform-origin:center center}
.pe-compare-view>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(var(--cmp-zoom));transform-origin:center center}
.pe-compare-handle{z-index:5;pointer-events:none}
.pe-compare-pill{z-index:6;pointer-events:none}
@media(max-width:980px){.pe-sidebar{grid-template-columns:1fr}.pe-layers-section{max-height:none}.pe-properties-section{overflow:visible}}

/* V36 - compact toolbar, stable property accordion, transform tools */
.pe-export-select{width:58px;min-width:58px;height:32px;padding:0 4px;font-size:10px}
.pe-toolbar-ratios{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
.pe-toolbar-ratios .pe-ratio-btn{height:32px;padding:0 7px;font-size:10px;white-space:nowrap}
.pe-transform-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.pe-transform-actions .pe-mini-btn{width:100%;height:32px;padding:0;justify-content:center}
.pe-properties-section{scrollbar-gutter:stable;contain:layout style;overscroll-behavior:contain}
.pe-prop-group{border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(5,38,48,.5);overflow:hidden;margin-top:8px}
.pe-prop-summary{width:100%;border:0;background:transparent;color:#ecfbfd;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;font-size:11px;font-weight:900;text-align:left}
.pe-prop-summary::after{content:'›';font-size:17px;line-height:1;color:#9edee3;transform:rotate(90deg);transition:transform .14s ease}
.pe-prop-group.is-open>.pe-prop-summary{background:rgba(19,94,105,.34);border-bottom:1px solid rgba(255,255,255,.1)}
.pe-prop-group.is-open>.pe-prop-summary::after{transform:rotate(-90deg)}
.pe-prop-group>.pe-prop-group-body{display:none;padding:10px}
.pe-prop-group.is-open>.pe-prop-group-body{display:block}
@media(max-width:760px){.pe-toolbar-ratios .pe-ratio-btn{padding:0 6px}.pe-export-select{width:54px;min-width:54px}}

/* V37 - unified toolbar + ratio icons + compare fix */
.pe-toolbar{flex-wrap:wrap;row-gap:7px}
.pe-toolbar-ratios{gap:5px;flex-wrap:nowrap}
.pe-ratio-icon-btn{width:34px!important;min-width:34px!important;padding:0!important;display:inline-grid!important;place-items:center}
.pe-ratio-shape{display:block;border:2px solid currentColor;border-radius:2px;opacity:.95;box-sizing:border-box}
.pe-ratio-square{width:16px;height:16px}
.pe-ratio-45{width:14px;height:18px}
.pe-ratio-916{width:11px;height:20px}
.pe-ratio-169{width:21px;height:12px}
.pe-ratio-fb{width:22px;height:11px;border-radius:3px}
.pe-toolbar-canvas-group,.pe-toolbar-bg-group{display:flex;align-items:center;gap:5px;min-width:0}
.pe-toolbar-caption{font-size:10px;color:#bfdade;font-weight:800;white-space:nowrap}
.pe-toolbar-canvas-group input[type=number]{width:54px;height:32px;border:1px solid rgba(255,255,255,.18);background:#0a3542;color:#fff;border-radius:8px;padding:0 5px;font-size:10px;outline:none}
.pe-toolbar-times{font-size:10px;color:#8fb7bd}
.pe-toolbar-bg-group input[type=color]{width:32px;height:32px;padding:2px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#0a3542}
.pe-toolbar-transparent{display:flex;align-items:center;gap:4px;font-size:10px;color:#c9e2e5;white-space:nowrap;cursor:pointer}.pe-toolbar-transparent input{margin:0}
.pe-copy-btn{width:38px;min-width:38px;height:36px}.pe-copy-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.pe-export-select{width:52px!important;min-width:52px!important;padding:0 4px!important;font-size:10px}
.pe-stage-column>.pe-stage{border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:1000px){.pe-toolbar-spacer{display:none}.pe-toolbar{align-items:center}.pe-toolbar-canvas-group{order:2}.pe-toolbar-bg-group{order:2}}
@media(max-width:700px){.pe-toolbar-caption,.pe-toolbar-transparent span{display:none}.pe-toolbar-canvas-group input[type=number]{width:48px}.pe-ratio-icon-btn{width:31px!important;min-width:31px!important}}

/* V38 Photo Editor enhancements */
.pe-shape-triangle,.pe-shape-hexagon{display:inline-block;width:16px;height:16px;position:relative}
.pe-shape-triangle::before{content:'';position:absolute;left:1px;top:1px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid currentColor}
.pe-shape-hexagon::before,.pe-shape-hexagon::after{content:'';position:absolute;left:3px;width:10px;border-left:5px solid transparent;border-right:5px solid transparent}.pe-shape-hexagon::before{top:0;border-bottom:4px solid currentColor}.pe-shape-hexagon::after{bottom:0;border-top:4px solid currentColor}.pe-shape-hexagon{background:currentColor;height:8px;margin-top:4px}
.pe-shape-star,.pe-shape-heart,.pe-draw-icon{font-size:16px;line-height:1;font-weight:700}
#peDrawToolBtn.active{background:rgba(63,225,238,.18);border-color:rgba(63,225,238,.65);box-shadow:0 0 0 1px rgba(63,225,238,.28) inset;color:#fff}
.pe-textarea,.pe-field-label textarea{font-family:inherit}
.pe-prop-grid label select{font-family:inherit}

/* V39 drawing + shape polish */
.pe-toolbar-shape-svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
#peAddHeartBtn .pe-toolbar-shape-svg{fill:currentColor;stroke:none}
.pe-draw-setting-grid{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:end}.pe-draw-setting-grid label{display:grid;gap:5px;color:#bcd7da;font-size:10px}.pe-draw-setting-grid input[type=color]{width:100%;height:34px;border:1px solid rgba(255,255,255,.18);background:#082a35;border-radius:8px;padding:3px}.pe-draw-setting-grid input[type=range]{width:100%;accent-color:#59dce3}.pe-draw-setting-grid b{font-size:10px;color:#fff;text-align:right}.pe-draw-mode-status{display:flex;align-items:center;gap:7px;margin-top:10px;padding:8px 9px;border:1px solid rgba(89,220,227,.28);border-radius:8px;background:rgba(18,84,94,.25);font-size:10px;color:#dff8fa}.pe-draw-dot{width:7px;height:7px;border-radius:50%;background:#61e8ed;box-shadow:0 0 10px rgba(97,232,237,.65)}
.pe-stage.draw-mode #peCanvas{cursor:crosshair}

/* V40 professional drawing */
.pe-draw-pro-body{display:grid;gap:10px}.pe-draw-tool-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.pe-draw-tool{height:34px;border:1px solid rgba(255,255,255,.17);border-radius:8px;background:#082a35;color:#dff8fa;display:grid;place-items:center;padding:0;cursor:pointer}.pe-draw-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pe-draw-tool:hover,.pe-draw-tool.active{border-color:rgba(89,220,227,.72);background:rgba(30,118,130,.38);color:#fff}.pe-draw-tool.pe-draw-eraser.active{border-color:rgba(255,119,129,.72);background:rgba(115,31,45,.34)}
.pe-draw-color-row{display:flex;align-items:flex-end;gap:7px}.pe-draw-color-control{width:52px;display:grid;gap:5px;color:#bcd7da;font-size:10px}.pe-draw-color-control input{width:52px;height:34px;border:1px solid rgba(255,255,255,.18);background:#082a35;border-radius:8px;padding:3px}.pe-draw-eye{width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.17);border-radius:8px;background:#082a35;color:#dff8fa;display:grid;place-items:center}.pe-draw-eye svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pe-draw-swatches{display:flex;flex:1;gap:4px;align-items:center;flex-wrap:wrap}.pe-draw-swatches button{width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:var(--sw);box-shadow:0 0 0 1px rgba(0,0,0,.2) inset}.pe-draw-swatches button.active{outline:2px solid #63e8ed;outline-offset:1px}
.pe-draw-select-grid select{min-width:0}.pe-draw-checkbox{display:flex;align-items:center;gap:7px;color:#bcd7da;font-size:10px}.pe-draw-checkbox input{accent-color:#59dce3}.pe-draw-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pe-draw-actions .pe-wide-btn{margin-top:0}.pe-danger-soft{border-color:rgba(255,119,129,.28)!important;color:#ffd8dc!important;background:rgba(90,28,40,.28)!important}
.pe-stage.draw-mode[data-draw-tool="eraser"] #peCanvas{cursor:not-allowed}.pe-stage.draw-mode[data-draw-tool="line"] #peCanvas{cursor:crosshair}
@media(max-width:700px){.pe-draw-tool-tabs{grid-template-columns:repeat(3,1fr)}.pe-draw-actions{grid-template-columns:1fr}}

/* V41 draw control cleanup */
.pe-draw-tool-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.pe-draw-tool{height:42px;border-radius:10px;background:linear-gradient(180deg,rgba(10,49,61,.98),rgba(6,38,49,.98));overflow:hidden}
.pe-draw-tool svg{width:25px;height:25px;stroke-width:1.6}
.pe-draw-tool svg .tip-fill{fill:rgba(126,229,235,.11);stroke:currentColor}.pe-draw-tool svg .eraser-fill{fill:rgba(255,126,139,.12)}
.pe-draw-tool.active svg .tip-fill{fill:rgba(111,238,244,.22)}.pe-draw-tool.pe-draw-eraser.active svg .eraser-fill{fill:rgba(255,126,139,.24)}
.pe-draw-color-top{display:flex;align-items:flex-end;gap:8px}.pe-draw-color-control{width:64px}.pe-draw-color-control input{width:64px;height:36px}.pe-draw-eye{width:36px;height:36px;flex:0 0 36px}
.pe-draw-swatches{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:100%;flex:none;align-items:center;flex-wrap:nowrap}.pe-draw-swatches button{width:100%;height:24px;border-radius:7px;min-width:0}
.pe-draw-icon-options{display:flex;align-items:center;gap:8px;margin-top:2px}.pe-draw-option-group{display:grid;grid-template-columns:repeat(3,36px);gap:5px}.pe-draw-option{width:36px;height:32px;border:1px solid rgba(255,255,255,.17);border-radius:8px;background:#082a35;color:#dff8fa;display:grid;place-items:center;padding:0}.pe-draw-option:hover,.pe-draw-option.active{border-color:rgba(89,220,227,.72);background:rgba(30,118,130,.38);color:#fff}.pe-draw-option svg{width:28px;height:14px;fill:currentColor;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.pe-draw-option svg circle{stroke:none}
.pe-draw-option-sep{width:1px;height:28px;background:rgba(255,255,255,.14);flex:0 0 1px}
.pe-cap-demo{display:block;position:relative;width:22px;height:10px}.pe-cap-demo::before{content:'';position:absolute;top:3px;left:4px;width:14px;height:4px;background:currentColor}.pe-cap-round::before{border-radius:999px}.pe-cap-square::before{height:8px;top:1px;width:8px;left:7px}.pe-cap-flat::before{width:14px;height:5px;top:2.5px;left:4px;border-radius:0}
.pe-draw-select-grid,.pe-draw-actions,.pe-draw-mode-status{display:none!important}
@media(max-width:700px){.pe-draw-tool-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.pe-draw-option-group{grid-template-columns:repeat(3,32px)}.pe-draw-option{width:32px}}

/* V42 draw rows + arrow shape */
.pe-draw-choice-row{display:grid;gap:6px}
.pe-draw-choice-title{font-size:10px;font-weight:700;color:#bcd7da}
.pe-draw-choice-row .pe-draw-option-group{display:grid;grid-template-columns:repeat(3,36px);gap:5px}
.pe-arrow-shape-svg path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
@media(max-width:700px){.pe-draw-choice-row .pe-draw-option-group{grid-template-columns:repeat(3,32px)}}

/* V43 - Photo Editor toolbar luôn một hàng */
.pe-toolbar{
  flex-wrap:nowrap!important;
  row-gap:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap;
}
.pe-toolbar>.pe-tool-group,
.pe-toolbar>.pe-tool-sep,
.pe-toolbar>.pe-toolbar-ratios,
.pe-toolbar>.pe-toolbar-canvas-group,
.pe-toolbar>.pe-toolbar-bg-group,
.pe-toolbar>.pe-toolbar-export-group{
  flex:0 0 auto;
}
.pe-toolbar-spacer{display:none!important}
.pe-toolbar-export-group{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.pe-toolbar-bg-group{margin-right:0}
@media(max-width:1000px){
  .pe-toolbar-canvas-group,.pe-toolbar-bg-group{order:initial!important}
}


/* V44 - Halloween seasonal theme */
body.halloween-theme{
  background:
    radial-gradient(circle at 18% 12%, rgba(255,153,51,.18), transparent 18%),
    radial-gradient(circle at 88% 20%, rgba(196,120,255,.14), transparent 18%),
    linear-gradient(180deg,#170d25 0%,#0f1324 28%,#102934 62%,#06242d 100%);
  color:#f7efe5;
}
body.halloween-theme::before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,115,0,.06),transparent 30%,transparent 70%,rgba(140,64,255,.08));z-index:-2}
body.halloween-theme .page-wave{opacity:.72;filter:hue-rotate(165deg) saturate(1.1)}
body.halloween-theme .app-shell{position:relative;z-index:1}
body.halloween-theme .card{background:linear-gradient(180deg,rgba(20,24,42,.82),rgba(4,33,42,.82));border-color:rgba(255,160,72,.24);box-shadow:0 16px 40px rgba(0,0,0,.24),0 0 0 1px rgba(170,88,255,.06) inset}
body.halloween-theme .main-tabs,body.halloween-theme .studio-shell,body.halloween-theme .editor-card,body.halloween-theme .result-card,body.halloween-theme .history-card{backdrop-filter:blur(10px)}
body.halloween-theme .main-tab.active,body.halloween-theme .studio-tab.active,body.halloween-theme .provider-tab.active,body.halloween-theme .subtab.active,body.halloween-theme .tool-btn.active,body.halloween-theme .primary-btn{background:linear-gradient(135deg,#ff8b26,#ff5e00);border-color:rgba(255,227,182,.72);color:#fff;box-shadow:0 10px 25px rgba(255,103,25,.28)}
body.halloween-theme .main-tab-highlight,body.halloween-theme .studio-tab-highlight,body.halloween-theme .subtab-highlight{background:linear-gradient(135deg,rgba(255,130,27,.92),rgba(185,85,255,.88));box-shadow:0 10px 25px rgba(184,87,255,.32)}
body.halloween-theme .secondary-btn,body.halloween-theme .icon-btn,body.halloween-theme .clear-link,body.halloween-theme .download-btn,body.halloween-theme .small-link{border-color:rgba(255,166,74,.34)}
body.halloween-theme .brand-title,body.halloween-theme h1,body.halloween-theme h2,body.halloween-theme .tool-head h1{color:#fff2df}
body.halloween-theme .field-label,body.halloween-theme .section-head h2,body.halloween-theme .history-state,body.halloween-theme .counter-row,body.halloween-theme .muted{color:#d8cfdd}
body.halloween-theme input,body.halloween-theme select,body.halloween-theme textarea{background:rgba(12,22,33,.78);border-color:rgba(255,165,87,.2);color:#fff7ef}
body.halloween-theme input:focus,body.halloween-theme select:focus,body.halloween-theme textarea:focus{border-color:rgba(255,153,51,.8);box-shadow:0 0 0 3px rgba(255,128,0,.14)}
.season-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:12px;background:linear-gradient(135deg,rgba(255,113,19,.18),rgba(110,44,179,.18));border-color:rgba(255,161,74,.34)}
.season-banner-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,133,33,.18);font-size:20px;box-shadow:0 0 0 1px rgba(255,170,107,.2) inset}
.season-banner b{display:block;color:#fff4e8;font-size:14px;letter-spacing:.02em}
.season-banner small{display:block;color:#e1cfe9;font-size:11px;margin-top:2px}
.season-inline-tag{display:inline-flex;align-items:center;margin-left:10px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#ff922e,#9a49ff);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset}
.halloween-overlay{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.halloween-moon{position:absolute;top:60px;right:78px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff9dd 0 22%,#ffd77a 23%,#ffb84e 62%,rgba(255,184,78,0) 72%);box-shadow:0 0 45px rgba(255,183,77,.22)}
.halloween-moon::after{content:'';position:absolute;top:10px;left:28px;width:100px;height:100px;border-radius:50%;background:#160f25}
.halloween-bats{position:absolute}.halloween-bats span{position:absolute;display:block;width:20px;height:10px;color:rgba(28,18,33,.92)}
.halloween-bats span::before,.halloween-bats span::after{content:'';position:absolute;top:0;width:11px;height:10px;background:currentColor;border-radius:11px 11px 0 0}.halloween-bats span::before{left:0;transform:rotate(-26deg);transform-origin:100% 100%}.halloween-bats span::after{right:0;transform:rotate(26deg);transform-origin:0 100%}
.halloween-bats-a{top:84px;right:178px;animation:batFloat 11s ease-in-out infinite}.halloween-bats-a span:nth-child(1){left:0;top:0;transform:scale(1)}.halloween-bats-a span:nth-child(2){left:42px;top:18px;transform:scale(.75)}.halloween-bats-a span:nth-child(3){left:84px;top:4px;transform:scale(1.18)}
.halloween-bats-b{top:160px;left:56px;animation:batFloat 14s ease-in-out infinite reverse}.halloween-bats-b span:nth-child(1){left:0;top:0;transform:scale(.8)}.halloween-bats-b span:nth-child(2){left:34px;top:12px;transform:scale(.6)}
@keyframes batFloat{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-8px) translateX(6px)}}
.halloween-pumpkin{position:absolute;bottom:18px;width:88px;height:74px;border-radius:42px;background:radial-gradient(circle at 50% 30%,#ffb148 0,#ff8c2a 38%,#d45300 100%);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.halloween-pumpkin::before{content:'';position:absolute;top:-12px;left:37px;width:12px;height:20px;border-radius:8px;background:linear-gradient(180deg,#698d2d,#3f5a1a);transform:rotate(14deg)}
.halloween-pumpkin::after{content:'';position:absolute;inset:0;border-radius:42px;background:radial-gradient(circle at 25% 50%,transparent 0 22%,rgba(164,66,0,.28) 23% 30%,transparent 31% 40%,rgba(164,66,0,.28) 41% 48%,transparent 49% 58%,rgba(164,66,0,.28) 59% 66%,transparent 67%)}
.halloween-pumpkin-left{left:18px}.halloween-pumpkin-right{right:24px;bottom:30px;transform:scale(1.08)}
.halloween-pumpkin-left .face,.halloween-pumpkin-right .face{}
.halloween-web{position:absolute;width:120px;height:120px;opacity:.25}.halloween-web::before,.halloween-web::after{content:'';position:absolute;inset:0;border:1.6px solid rgba(255,255,255,.68);border-left:none;border-bottom:none;border-radius:0 0 0 100%}.halloween-web::after{inset:18px;border-width:1px}.halloween-web-left{top:0;left:0}.halloween-web-right{top:0;right:0;transform:scaleX(-1)}
.halloween-web-left{background:repeating-radial-gradient(circle at 0 0,transparent 0 15px,rgba(255,255,255,.16) 16px 17px)}
.halloween-web-right{background:repeating-radial-gradient(circle at 100% 0,transparent 0 15px,rgba(255,255,255,.16) 16px 17px)}
body.halloween-theme .audio-icon,body.halloween-theme .empty-result .wave-art i{background:linear-gradient(180deg,#ff9a3b,#9a49ff)}
body.halloween-theme .status-box.success{border-color:rgba(255,166,0,.3);background:rgba(84,41,7,.35)}
body.halloween-theme .status-box.error{background:rgba(74,20,34,.44)}
@media(max-width:980px){.season-banner{margin-bottom:10px}.halloween-moon{width:84px;height:84px;right:24px;top:82px}.halloween-moon::after{width:75px;height:75px;left:22px;top:7px}.halloween-pumpkin{transform:scale(.8)}.halloween-pumpkin-right{transform:scale(.86)} }
@media(max-width:700px){.season-banner small{display:none}.season-inline-tag{display:none}.halloween-pumpkin-right{display:none}.halloween-bats-b{display:none}}


/* V45 - Spooky Halloween dark theme */
body.halloween-theme{
  background:
    radial-gradient(circle at 18% 14%, rgba(161,36,72,.22), transparent 18%),
    radial-gradient(circle at 84% 20%, rgba(95,46,177,.22), transparent 20%),
    radial-gradient(circle at 50% 0%, rgba(78,18,38,.12), transparent 35%),
    linear-gradient(180deg,#08070f 0%,#0d0718 18%,#14081a 40%,#0e1222 72%,#05131c 100%);
  color:#f3e8f3;
}
body.halloween-theme::before{background:
  linear-gradient(180deg,rgba(151,30,64,.12),transparent 26%,transparent 72%,rgba(84,39,146,.14)),
  radial-gradient(circle at 50% 0, rgba(255,0,85,.06), transparent 35%);
}
body.halloween-theme .page-wave{opacity:.42;filter:hue-rotate(225deg) saturate(1.28) brightness(.88)}
body.halloween-theme .card{
  background:linear-gradient(180deg,rgba(17,11,26,.88),rgba(7,15,30,.88));
  border-color:rgba(170,73,120,.26);
  box-shadow:0 16px 44px rgba(0,0,0,.42),0 0 0 1px rgba(126,58,151,.09) inset,0 0 24px rgba(108,36,138,.08);
}
body.halloween-theme .main-tab.active,
body.halloween-theme .studio-tab.active,
body.halloween-theme .provider-tab.active,
body.halloween-theme .subtab.active,
body.halloween-theme .tool-btn.active,
body.halloween-theme .primary-btn{
  background:linear-gradient(135deg,#8a1538,#cf224d 45%,#6a2fd1 100%);
  border-color:rgba(255,197,220,.72);
  box-shadow:0 10px 28px rgba(184,35,74,.28),0 0 18px rgba(113,54,205,.18);
}
body.halloween-theme .main-tab-highlight,
body.halloween-theme .studio-tab-highlight,
body.halloween-theme .subtab-highlight{
  background:linear-gradient(135deg,rgba(122,18,48,.95),rgba(207,34,77,.92) 55%,rgba(101,44,190,.92));
  box-shadow:0 10px 28px rgba(125,20,52,.28),0 0 18px rgba(111,54,202,.24);
}
body.halloween-theme .secondary-btn,
body.halloween-theme .icon-btn,
body.halloween-theme .clear-link,
body.halloween-theme .download-btn,
body.halloween-theme .small-link{border-color:rgba(186,70,117,.34)}
body.halloween-theme .brand-title,
body.halloween-theme h1,
body.halloween-theme h2,
body.halloween-theme .tool-head h1{color:#fff0f7;text-shadow:0 0 18px rgba(160,48,96,.12)}
body.halloween-theme .field-label,
body.halloween-theme .section-head h2,
body.halloween-theme .history-state,
body.halloween-theme .counter-row,
body.halloween-theme .muted{color:#cfc0d8}
body.halloween-theme input,
body.halloween-theme select,
body.halloween-theme textarea{background:rgba(10,11,20,.84);border-color:rgba(151,58,105,.24);color:#fff3fa}
body.halloween-theme input:focus,
body.halloween-theme select:focus,
body.halloween-theme textarea:focus{border-color:rgba(202,56,95,.82);box-shadow:0 0 0 3px rgba(199,45,109,.13),0 0 14px rgba(99,41,177,.12)}
.season-banner{background:linear-gradient(135deg,rgba(122,17,48,.24),rgba(78,31,144,.22));border-color:rgba(175,62,116,.32)}
.season-banner-icon{background:rgba(161,39,85,.18);box-shadow:0 0 0 1px rgba(219,117,169,.15) inset,0 0 18px rgba(126,47,164,.18)}
.season-banner b{color:#fff0f8}
.season-banner small{color:#d7bfd9}
.season-inline-tag{background:linear-gradient(135deg,#7a1231,#cf224d 55%,#6a2fd1);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 0 14px rgba(111,54,202,.18)}
.halloween-moon{
  width:132px;height:132px;top:56px;right:74px;
  background:radial-gradient(circle at 38% 38%,#f7e7ff 0 20%,#cba1ff 25%,#8f5ccf 58%,rgba(143,92,207,0) 72%);
  box-shadow:0 0 55px rgba(121,76,190,.22),0 0 90px rgba(159,58,120,.10);
}
.halloween-moon::after{background:#0b0914;top:12px;left:35px;width:110px;height:110px}
.halloween-bats span{color:rgba(9,7,12,.98);filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.halloween-pumpkin{
  background:radial-gradient(circle at 50% 28%,#ff6d52 0,#c73b1f 28%,#6c110d 82%,#2d0408 100%);
  box-shadow:0 16px 32px rgba(0,0,0,.38),0 0 18px rgba(191,31,54,.14);
}
.halloween-pumpkin::before{background:linear-gradient(180deg,#617328,#30430f)}
.halloween-pumpkin::after{background:radial-gradient(circle at 25% 50%,transparent 0 22%,rgba(46,4,8,.35) 23% 30%,transparent 31% 40%,rgba(46,4,8,.35) 41% 48%,transparent 49% 58%,rgba(46,4,8,.35) 59% 66%,transparent 67%)}
.halloween-pumpkin-left,.halloween-pumpkin-right{overflow:visible}
.halloween-pumpkin-left .pumpkin-face,.halloween-pumpkin-right .pumpkin-face{}
.halloween-pumpkin-left::before,.halloween-pumpkin-right::before{z-index:2}
.halloween-pumpkin-left::marker,.halloween-pumpkin-right::marker{display:none}
.halloween-pumpkin-left:has(*){}
.halloween-pumpkin-left .x{}
.halloween-pumpkin::selection{background:transparent}
.halloween-pumpkin-left, .halloween-pumpkin-right{position:absolute}
.halloween-pumpkin-left::after,.halloween-pumpkin-right::after{z-index:1}
.halloween-pumpkin-left:before,.halloween-pumpkin-right:before{z-index:2}
.halloween-pumpkin-left:after,.halloween-pumpkin-right:after{z-index:1}
.halloween-pumpkin-left > *, .halloween-pumpkin-right > *{display:none}
.halloween-pumpkin-left::before, .halloween-pumpkin-right::before{}
.halloween-pumpkin-left::after, .halloween-pumpkin-right::after{}
.halloween-pumpkin-left::part(face), .halloween-pumpkin-right::part(face){}
.halloween-pumpkin-left::before{}
.halloween-pumpkin-right{right:24px;bottom:28px;transform:scale(1.08)}
.halloween-web{opacity:.18;filter:drop-shadow(0 0 8px rgba(162,70,136,.08))}
body.halloween-theme .audio-icon,
body.halloween-theme .empty-result .wave-art i{background:linear-gradient(180deg,#cf224d,#702ddb)}
body.halloween-theme .status-box.success{border-color:rgba(121,57,179,.32);background:rgba(56,26,83,.34)}
body.halloween-theme .status-box.error{border-color:rgba(194,58,94,.36);background:rgba(68,14,29,.46)}
body.halloween-theme .workspace::after,
body.halloween-theme .studio-shell::after{content:'';position:absolute;pointer-events:none;inset:auto 18px 12px 18px;height:1px;background:linear-gradient(90deg,transparent,rgba(207,34,77,.20),rgba(112,45,219,.18),transparent)}
body.halloween-theme .main-tabs{position:relative;overflow:hidden}
body.halloween-theme .main-tabs::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(207,34,77,.05),transparent);pointer-events:none}
body.halloween-theme .tool-btn,
body.halloween-theme .studio-tab,
body.halloween-theme .main-tab,
body.halloween-theme .provider-tab{color:#f8eaf4}
body.halloween-theme .tool-btn:hover,
body.halloween-theme .main-tab:hover,
body.halloween-theme .studio-tab:hover{border-color:rgba(202,65,110,.38);box-shadow:0 0 0 1px rgba(119,48,180,.12) inset}
@media(max-width:980px){.halloween-moon{width:96px;height:96px;right:20px;top:84px}.halloween-moon::after{width:82px;height:82px;left:27px;top:8px}}

.halloween-pumpkin::before{z-index:3}
.halloween-pumpkin::after{z-index:1}
.halloween-pumpkin{overflow:visible}
.halloween-pumpkin .nothing{display:none}
.halloween-pumpkin-left::before,.halloween-pumpkin-right::before{}
.halloween-pumpkin-left::after,.halloween-pumpkin-right::after{}
.halloween-pumpkin:focus{outline:none}
.halloween-pumpkin-left, .halloween-pumpkin-right{position:absolute}
.halloween-pumpkin-left::selection,.halloween-pumpkin-right::selection{background:transparent}
.halloween-pumpkin::before{content:'';position:absolute;top:-12px;left:37px;width:12px;height:20px;border-radius:8px;background:linear-gradient(180deg,#617328,#30430f);transform:rotate(14deg)}
.halloween-pumpkin::after{content:'';position:absolute;inset:0;border-radius:42px;background:
 radial-gradient(circle at 28px 29px, rgba(28,5,12,.95) 0 6px, transparent 7px),
 radial-gradient(circle at 57px 29px, rgba(28,5,12,.95) 0 6px, transparent 7px),
 linear-gradient(135deg, transparent 0 47%, rgba(28,5,12,.95) 48% 52%, transparent 53%) 24px 43px/16px 10px no-repeat,
 linear-gradient(225deg, transparent 0 47%, rgba(28,5,12,.95) 48% 52%, transparent 53%) 46px 43px/16px 10px no-repeat,
 radial-gradient(ellipse at 44px 54px, rgba(255,85,0,.34) 0 8px, transparent 9px),
 radial-gradient(circle at 25% 50%,transparent 0 22%,rgba(46,4,8,.35) 23% 30%,transparent 31% 40%,rgba(46,4,8,.35) 41% 48%,transparent 49% 58%,rgba(46,4,8,.35) 59% 66%,transparent 67%);box-shadow:inset 0 -10px 18px rgba(30,0,0,.16),0 0 16px rgba(255,65,0,.05)}

/* V46 - remove top Spooky Halloween banner */
.season-banner{display:none!important}


/* V47 - custom Halloween background image */
body.halloween-theme{
  background:
    linear-gradient(180deg, rgba(3,6,16,.54), rgba(12,4,20,.72)),
    url('halloween-background.png') center center / cover fixed no-repeat !important;
  color:#f3e8f3;
}
body.halloween-theme::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 12%, rgba(133,190,255,.16), transparent 22%),
    linear-gradient(180deg, rgba(5,8,18,.16), rgba(8,3,18,.42) 45%, rgba(8,8,16,.62) 100%);
  z-index:-2;
}
body.halloween-theme .page-wave{
  display:none !important;
}
body.halloween-theme .halloween-overlay{
  background:linear-gradient(180deg, rgba(8,4,18,.18), rgba(4,8,18,.30));
}


/* V48 - custom spooky decorations */
:root {
  --skeleton-hand-url: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%20120%20120%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27%23f5f5ff%27%20stroke-width%3D%275%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%3Cpath%20d%3D%27M20%20106%20C28%2092%2C34%2079%2C40%2066%27%20/%3E%0A%3Cpath%20d%3D%27M29%2094%20L22%2072%20L28%2050%27%20/%3E%0A%3Cpath%20d%3D%27M40%2079%20L39%2052%20L46%2026%27%20/%3E%0A%3Cpath%20d%3D%27M50%2076%20L55%2046%20L63%2017%27%20/%3E%0A%3Cpath%20d%3D%27M61%2080%20L71%2052%20L81%2028%27%20/%3E%0A%3Cpath%20d%3D%27M72%2088%20L89%2066%20L103%2049%27%20/%3E%0A%3Cpath%20d%3D%27M17%20108%20L31%20110%20L39%20101%27%20/%3E%0A%3Cpath%20d%3D%27M33%2095%20L45%2098%20L50%2088%27%20/%3E%0A%3Cpath%20d%3D%27M44%2081%20L56%2083%20L60%2074%27%20/%3E%0A%3Cpath%20d%3D%27M55%2077%20L68%2079%20L74%2069%27%20/%3E%0A%3Cpath%20d%3D%27M69%2082%20L82%2084%20L91%2074%27%20/%3E%0A%3C/g%3E%3C/svg%3E");
}

body.halloween-theme .card,
body.halloween-theme .main-tabs,
body.halloween-theme .studio-shell,
body.halloween-theme .editor-card,
body.halloween-theme .result-card,
body.halloween-theme .history-card,
body.halloween-theme .tool-card,
body.halloween-theme .coach-settings,
body.halloween-theme .coach-chat-card {
  position: relative;
  overflow: visible;
  border-color: rgba(196,86,255,.42) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 0 1px rgba(196,86,255,.10),
    0 0 12px rgba(196,86,255,.20),
    0 0 22px rgba(58,206,255,.10),
    0 16px 40px rgba(0,0,0,.28) !important;
}

body.halloween-theme .editor-card::before,
body.halloween-theme .result-card::before,
body.halloween-theme .history-card::after,
body.halloween-theme .tool-card::after,
body.halloween-theme .coach-chat-card::before,
body.halloween-theme .coach-settings::after {
  content:'';
  position:absolute;
  width:72px;
  height:92px;
  background: var(--skeleton-hand-url) center/contain no-repeat;
  pointer-events:none;
  opacity:.92;
  filter: drop-shadow(0 0 8px rgba(255,255,255,.22)) drop-shadow(0 0 10px rgba(154,119,255,.18));
  z-index:3;
}
body.halloween-theme .editor-card::before {
  left:-18px;
  top:34px;
  transform: rotate(-18deg);
}
body.halloween-theme .result-card::before {
  right:-18px;
  top:26px;
  transform: scaleX(-1) rotate(-16deg);
}
body.halloween-theme .history-card::after {
  left:-14px;
  bottom:18px;
  transform: rotate(160deg);
}
body.halloween-theme .tool-card::after {
  right:-14px;
  bottom:18px;
  transform: scaleX(-1) rotate(160deg);
}
body.halloween-theme .coach-chat-card::before {
  left:-16px;
  top:22px;
  transform: rotate(-20deg);
}
body.halloween-theme .coach-settings::after {
  right:-16px;
  top:18px;
  transform: scaleX(-1) rotate(-18deg);
}

.halloween-pumpkin {
  width: 180px !important;
  height: 180px !important;
  border-radius: 0 !important;
  background: url('halloween-pumpkin-custom.png') center/contain no-repeat !important;
  box-shadow: none !important;
  filter: drop-shadow(0 0 18px rgba(255,139,0,.18)) drop-shadow(0 20px 30px rgba(0,0,0,.28));
  overflow: visible !important;
}
.halloween-pumpkin::before,
.halloween-pumpkin::after {
  content: none !important;
  display: none !important;
}
.halloween-pumpkin-left {
  left: 10px !important;
  bottom: 6px !important;
}
.halloween-pumpkin-right {
  right: 12px !important;
  bottom: 12px !important;
  transform: scale(1.02) !important;
}

.halloween-ghost {
  position:absolute;
  width: 140px;
  height: 140px;
  background: url('halloween-ghost-custom.png') center/contain no-repeat;
  opacity: .78;
  pointer-events:none;
  filter: drop-shadow(0 0 18px rgba(210,240,255,.28)) drop-shadow(0 0 22px rgba(113,154,255,.16));
  transform-origin:center;
}
.halloween-ghost-a {
  left: 5%;
  top: 20%;
  animation: ghostDriftA 13s ease-in-out infinite;
}
.halloween-ghost-b {
  left: 78%;
  top: 18%;
  width: 118px;
  height: 118px;
  animation: ghostDriftB 15s ease-in-out infinite;
}
.halloween-ghost-c {
  left: 18%;
  top: 55%;
  width: 112px;
  height: 112px;
  opacity: .62;
  animation: ghostDriftC 16s ease-in-out infinite;
}
.halloween-ghost-d {
  right: 12%;
  top: 58%;
  width: 132px;
  height: 132px;
  opacity: .68;
  animation: ghostDriftD 14s ease-in-out infinite;
}

@keyframes ghostDriftA {
  0%,100% { transform: translate3d(0,0,0) scale(1) rotate(-2deg); }
  50% { transform: translate3d(18px,-12px,0) scale(1.04) rotate(2deg); }
}
@keyframes ghostDriftB {
  0%,100% { transform: translate3d(0,0,0) scale(.96) rotate(3deg); }
  50% { transform: translate3d(-16px,-16px,0) scale(1.02) rotate(-2deg); }
}
@keyframes ghostDriftC {
  0%,100% { transform: translate3d(0,0,0) scale(.92); }
  50% { transform: translate3d(14px,-18px,0) scale(.98); }
}
@keyframes ghostDriftD {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-14px,-10px,0) scale(1.03); }
}

body.halloween-theme .halloween-overlay {
  z-index: 0;
}
body.halloween-theme .app-shell {
  z-index: 1;
  position: relative;
}

@media (max-width: 980px) {
  .halloween-pumpkin {
    width: 130px !important;
    height: 130px !important;
  }
  .halloween-ghost-a, .halloween-ghost-b {
    width: 95px;
    height: 95px;
  }
  .halloween-ghost-c, .halloween-ghost-d {
    width: 84px;
    height: 84px;
  }
  body.halloween-theme .editor-card::before,
  body.halloween-theme .result-card::before,
  body.halloween-theme .history-card::after,
  body.halloween-theme .tool-card::after,
  body.halloween-theme .coach-chat-card::before,
  body.halloween-theme .coach-settings::after {
    width: 58px;
    height: 76px;
  }
}
@media (max-width: 700px) {
  .halloween-ghost-c,
  .halloween-ghost-d,
  body.halloween-theme .history-card::after,
  body.halloween-theme .tool-card::after,
  body.halloween-theme .coach-settings::after {
    display:none !important;
  }
  .halloween-pumpkin-right {
    display:none !important;
  }
}


/* V49 - replace skeleton hands with glowing bloody handprints */
body.halloween-theme .editor-card::before,
body.halloween-theme .result-card::before,
body.halloween-theme .history-card::after,
body.halloween-theme .tool-card::after,
body.halloween-theme .coach-chat-card::before,
body.halloween-theme .coach-settings::after {
  content:none !important;
  background:none !important;
  display:none !important;
}

body.halloween-theme .editor-card::after,
body.halloween-theme .result-card::after,
body.halloween-theme .history-card::before,
body.halloween-theme .tool-card::before,
body.halloween-theme .coach-chat-card::after,
body.halloween-theme .coach-settings::before,
body.halloween-theme .main-tabs::after,
body.halloween-theme .global-pin::before {
  content:'';
  position:absolute;
  pointer-events:none;
  z-index:3;
  background-image:url('halloween-bloody-hands.png');
  background-repeat:no-repeat;
  background-size:230% auto;
  filter: drop-shadow(0 0 6px rgba(255,32,32,.36)) drop-shadow(0 0 14px rgba(255,0,0,.26));
  opacity:.92;
  mix-blend-mode:screen;
}

body.halloween-theme .editor-card::after {
  width:96px;height:128px;right:10px;top:-18px;
  background-position:0% 0%;transform:rotate(11deg);
}
body.halloween-theme .result-card::after {
  width:86px;height:128px;left:-6px;top:24px;
  background-position:49% 0%;transform:rotate(-7deg);
}
body.halloween-theme .history-card::before {
  width:96px;height:132px;right:2px;bottom:-16px;
  background-position:100% 0%;transform:rotate(8deg);
}
body.halloween-theme .tool-card::before {
  width:106px;height:146px;left:-8px;bottom:8px;
  background-position:0% 100%;transform:rotate(-10deg);
}
body.halloween-theme .coach-chat-card::after {
  width:92px;height:130px;right:-3px;top:12px;
  background-position:50% 100%;transform:rotate(8deg);
}
body.halloween-theme .coach-settings::before {
  width:82px;height:114px;left:8px;top:-12px;
  background-position:100% 100%;transform:rotate(-12deg);
}
body.halloween-theme .main-tabs::after {
  width:68px;height:96px;left:18px;top:-12px;
  background-position:100% 100%;transform:rotate(-18deg);opacity:.78;
}
body.halloween-theme .global-pin::before {
  width:90px;height:126px;right:10px;top:-22px;
  background-position:49% 0%;transform:rotate(9deg);opacity:.84;
}

@media (max-width: 980px) {
  body.halloween-theme .editor-card::after,
  body.halloween-theme .result-card::after,
  body.halloween-theme .history-card::before,
  body.halloween-theme .tool-card::before,
  body.halloween-theme .coach-chat-card::after,
  body.halloween-theme .coach-settings::before,
  body.halloween-theme .main-tabs::after,
  body.halloween-theme .global-pin::before {
    transform:scale(.82) !important;
    transform-origin:center;
  }
}
@media (max-width: 700px) {
  body.halloween-theme .coach-chat-card::after,
  body.halloween-theme .coach-settings::before,
  body.halloween-theme .global-pin::before,
  body.halloween-theme .history-card::before {
    display:none !important;
  }
}


/* V50 - AI English Teacher · Dental Edition */
.coach-dental-layout{display:grid;grid-template-columns:280px minmax(420px,1fr) 300px;gap:16px;align-items:start}
.coach-dental-settings,.coach-insights{position:sticky;top:14px;padding:18px;max-height:calc(100vh - 28px);overflow:auto}
.coach-title-block{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.14)}
.coach-title-block h1{margin:2px 0 4px;font-size:20px}.coach-title-block p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.coach-kicker{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#b9f4f7}
.coach-teacher-hero{position:relative;overflow:hidden;margin-bottom:14px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));box-shadow:0 14px 30px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.coach-teacher-hero::before{content:'';position:absolute;inset:-15% -5% auto auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,0) 70%);pointer-events:none}.coach-teacher-hero-art{padding:18px 16px 10px;display:flex;justify-content:center}.coach-avatar-hero{width:184px;height:184px;flex:0 0 184px;border-width:3px;box-shadow:0 22px 40px rgba(0,0,0,.32),0 0 0 5px rgba(255,255,255,.06)}.coach-avatar-hero .coach-avatar-flag{right:8px;bottom:8px;min-width:26px;height:26px;font-size:15px;padding:0 5px}.coach-teacher-hero-copy{padding:0 16px 16px;display:grid;gap:6px;text-align:center}.coach-teacher-hero-badge{justify-self:center;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(8,23,33,.30);font-size:10px;font-weight:850;color:#e9fcff}.coach-teacher-hero-copy h3{margin:0;font-size:22px;line-height:1.15}.coach-teacher-hero-meta{font-size:11px;color:#d2edf0}.coach-teacher-hero-copy p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.5;max-width:240px;justify-self:center}
.coach-teacher-browser{margin-bottom:14px}.coach-teacher-browser-title{margin:0 0 10px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#b6e9ee}.coach-teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coach-teacher-select-hidden{display:none}.coach-teacher-pick{position:relative;display:grid;grid-template-columns:68px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));color:inherit;cursor:pointer;text-align:left;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;backdrop-filter:blur(6px)}.coach-teacher-pick:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.24);box-shadow:0 10px 22px rgba(0,0,0,.18)}.coach-teacher-pick.active{border-color:rgba(163,239,255,.72);background:linear-gradient(180deg,rgba(98,177,214,.18),rgba(152,89,220,.13));box-shadow:0 0 0 1px rgba(163,239,255,.22),0 14px 26px rgba(0,0,0,.22)}.coach-teacher-pick-photo{position:relative;display:block;width:68px;height:68px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);box-shadow:0 8px 18px rgba(0,0,0,.2)}.coach-teacher-pick-photo img{width:100%;height:100%;display:block;object-fit:cover}.coach-teacher-pick-copy{min-width:0;display:grid;gap:3px}.coach-teacher-pick-copy b{font-size:12px;line-height:1.15}.coach-teacher-pick-copy small{font-size:9.5px;color:#d4edf0;line-height:1.3}.coach-teacher-pick-copy span{font-size:9.5px;color:var(--muted);line-height:1.3}
.coach-teacher-card{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:14px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(6px)}
.coach-avatar{position:relative;overflow:hidden;width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:950;color:#fff;background:linear-gradient(145deg,#285b82,#8a3fb7);border:2px solid rgba(255,255,255,.55);box-shadow:0 8px 22px rgba(0,0,0,.22)}
.coach-avatar.small{width:40px;height:40px;flex-basis:40px;font-size:10px}.coach-avatar-img{width:100%;height:100%;display:block;object-fit:cover}.coach-avatar-flag{position:absolute;right:-2px;bottom:-2px;min-width:18px;height:18px;padding:0 3px;border-radius:999px;display:grid;place-items:center;background:rgba(7,17,27,.88);border:1px solid rgba(255,255,255,.45);font-size:11px;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.35)}.coach-avatar.small .coach-avatar-flag{min-width:16px;height:16px;font-size:9px;padding:0 2px}.coach-teacher-info{min-width:0;display:grid;gap:2px}.coach-teacher-info b{font-size:13px}.coach-teacher-info span{font-size:10.5px;color:#cfe9ec}.coach-teacher-info small{font-size:9.5px;color:var(--muted);line-height:1.25}
.coach-mini-grid{gap:8px}.coach-mini-grid .field{margin-bottom:0}.coach-engine-field{margin-top:4px}.coach-provider-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.coach-provider-tabs .provider-tab{justify-content:center}
.coach-dental-settings .field{margin-bottom:10px}.coach-dental-settings select{font-size:11px}
.coach-dental-settings .coach-actions{grid-template-columns:1fr 74px;margin-top:12px}.coach-hints{grid-template-columns:1fr 1fr 1fr;gap:5px}.coach-hints button{text-align:center;padding:8px 5px;font-size:9.5px}
.coach-dental-chat{min-height:690px;padding:0;overflow:hidden;display:flex;flex-direction:column}
.coach-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(5,20,31,.34)}
.coach-chat-identity{display:flex;align-items:center;gap:9px;min-width:0}.coach-chat-identity>div:last-child{display:grid;gap:2px;min-width:0}.coach-chat-identity b{font-size:13px}.coach-chat-identity span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coach-context-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.coach-context-tags span{padding:5px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.16);font-size:9px;font-weight:800;background:rgba(255,255,255,.06);color:#dff8fa}
.coach-bilingual-messages{padding:16px;min-height:520px;max-height:620px}
.coach-message{white-space:normal}.coach-message-en{font-size:13px;line-height:1.55;white-space:pre-wrap}.coach-message-vi{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.16);font-size:11px;line-height:1.5;color:#bad7db;white-space:pre-wrap}.coach-message.teacher{background:rgba(38,38,57,.78);border-color:rgba(200,107,255,.20)}.coach-message.student{background:linear-gradient(135deg,rgba(39,111,178,.92),rgba(48,137,160,.92))}
.coach-dental-input-row{margin-top:auto;padding:12px 14px;background:rgba(3,17,24,.28)}
.coach-insights{display:grid;gap:12px}.coach-insight-head{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14)}.coach-insight-head span{font-size:8.5px;font-weight:950;letter-spacing:.15em;color:#baf4f7}.coach-insight-head h2{font-size:16px;margin:3px 0 0}
.coach-goal-card{padding:11px;border-radius:13px;background:linear-gradient(135deg,rgba(47,120,131,.18),rgba(111,54,164,.16));border:1px solid rgba(255,255,255,.13)}.coach-goal-card span{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.coach-goal-card b{font-size:12px;color:#fff}.coach-goal-card p{font-size:10px;color:#c8dde0;line-height:1.45;margin:5px 0 0}
.coach-insight-section{display:grid;gap:7px}.coach-insight-title{font-size:10px;font-weight:900;color:#f4fcfd}.coach-correction-empty{font-size:10px;line-height:1.45;color:#86a9ae;padding:9px;border:1px dashed rgba(255,255,255,.12);border-radius:9px}
.coach-correction-original{font-size:10px;color:#ffb8c2;text-decoration:line-through;margin-bottom:5px}.coach-correction-fixed{font-size:11px;font-weight:850;color:#bfffdc;padding-left:15px;position:relative}.coach-correction-fixed::before{content:'✓';position:absolute;left:0;color:#61df9c}.coach-insight-section p{font-size:9.8px;line-height:1.45;color:#bfd0d4;margin:7px 0 0}
.coach-insight-list,.coach-vocab-list{display:grid;gap:6px}.coach-phrase-item,.coach-vocab-item{display:grid;gap:2px;padding:8px 9px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.coach-phrase-item b,.coach-vocab-item b{font-size:10.5px;color:#fff}.coach-phrase-item span,.coach-vocab-item span{font-size:9.5px;line-height:1.35;color:#a8c9cd}
body.halloween-theme .coach-avatar{background:linear-gradient(145deg,#741a44,#6a39b8);box-shadow:0 0 14px rgba(191,61,115,.20)}
body.halloween-theme .coach-teacher-hero{background:linear-gradient(180deg,rgba(84,17,44,.62),rgba(37,18,56,.54));border-color:rgba(198,96,161,.28)}
body.halloween-theme .coach-teacher-hero-badge{background:rgba(28,11,36,.55);border-color:rgba(255,255,255,.18)}
body.halloween-theme .coach-message.teacher{background:rgba(25,13,37,.84);border-color:rgba(190,73,151,.22)}
@media(max-width:1150px){.coach-dental-layout{grid-template-columns:260px minmax(420px,1fr)}.coach-insights{grid-column:1/-1;position:static;max-height:none;grid-template-columns:1fr 1fr 1fr}.coach-insight-head,.coach-goal-card{grid-column:1/-1}}
@media(max-width:820px){.coach-dental-layout{grid-template-columns:1fr}.coach-dental-settings,.coach-insights{position:static;max-height:none}.coach-dental-chat{min-height:640px}.coach-bilingual-messages{min-height:440px}.coach-insights{grid-template-columns:1fr}.coach-insight-head,.coach-goal-card{grid-column:auto}}
@media(max-width:560px){.coach-chat-head{align-items:flex-start}.coach-context-tags{display:none}.coach-mini-grid{grid-template-columns:1fr}.coach-hints{grid-template-columns:1fr 1fr 1fr}.coach-dental-settings,.coach-insights{padding:14px}.coach-avatar-hero{width:146px;height:146px;flex-basis:146px}.coach-teacher-hero-copy h3{font-size:19px}.coach-teacher-grid{grid-template-columns:1fr}.coach-teacher-pick{grid-template-columns:60px 1fr}.coach-teacher-pick-photo{width:60px;height:60px}}


/* V51 - English Teacher voice conversation */
.coach-dental-input-row{
  grid-template-columns:72px minmax(0,1fr) 82px!important;
  align-items:stretch;
}
.coach-mic-btn{
  min-height:58px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:13px;
  background:rgba(7,29,40,.58);
  color:#eafcff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-size:10px;
  font-weight:800;
  transition:.18s ease;
}
.coach-mic-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.coach-mic-btn:hover{border-color:rgba(255,255,255,.48);background:rgba(18,64,76,.74)}
.coach-mic-btn.is-listening{
  background:linear-gradient(145deg,rgba(193,30,65,.96),rgba(111,40,183,.96));
  border-color:rgba(255,225,235,.84);
  box-shadow:0 0 0 3px rgba(213,42,88,.12),0 0 22px rgba(214,42,90,.28);
  animation:coachMicPulse 1.15s ease-in-out infinite;
}
.coach-mic-btn:disabled{opacity:.52;cursor:not-allowed;animation:none}
@keyframes coachMicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.coach-send-stack{display:grid;grid-template-rows:1fr 30px;gap:6px}
.coach-send-stack .coach-send{min-height:0}
.coach-auto-speak{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(7,29,40,.58);
  color:#b9d7dc;
  border-radius:9px;
  display:grid;
  place-items:center;
  padding:0;
}
.coach-auto-speak svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.coach-auto-speak.active{color:#fff;border-color:rgba(89,226,236,.58);background:rgba(19,104,116,.48);box-shadow:0 0 12px rgba(75,219,231,.12)}
.coach-voice-status{
  margin:0 14px;
  padding:7px 10px;
  border-radius:9px;
  font-size:10.5px;
  line-height:1.35;
  color:#d9f7fa;
  background:rgba(6,34,43,.70);
  border:1px solid rgba(255,255,255,.14);
}
.coach-voice-status.listening{color:#fff0f4;border-color:rgba(226,66,109,.48);background:rgba(92,17,42,.48)}
.coach-voice-status.success{color:#d9fff0;border-color:rgba(65,206,151,.38);background:rgba(18,80,58,.38)}
.coach-voice-status.error{color:#ffe0e4;border-color:rgba(244,91,118,.44);background:rgba(91,21,34,.46)}
.coach-message-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.coach-message-head .msg-role{margin-bottom:0!important}
.coach-replay-btn{
  width:27px;height:27px;flex:0 0 27px;border-radius:8px;border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);color:#d8f1f4;display:grid;place-items:center;padding:0;
}
.coach-replay-btn:hover{background:rgba(255,255,255,.10);color:#fff}
.coach-replay-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.halloween-theme .coach-mic-btn.is-listening{background:linear-gradient(145deg,#8a1538,#cf224d 48%,#6a2fd1);box-shadow:0 0 0 3px rgba(207,34,77,.11),0 0 24px rgba(166,53,201,.22)}
body.halloween-theme .coach-auto-speak.active{border-color:rgba(190,92,255,.48);background:rgba(91,39,144,.40);box-shadow:0 0 12px rgba(169,70,255,.13)}
@media(max-width:560px){
  .coach-dental-input-row{grid-template-columns:58px minmax(0,1fr) 66px!important;gap:7px!important}
  .coach-mic-btn{min-height:54px}
  .coach-mic-btn svg{width:20px;height:20px}
}


/* V52 - English Teacher MySQL resume */
.coach-resume-banner{
  margin:0 14px 10px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 30px;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border-radius:11px;
  border:1px solid rgba(93,223,207,.28);
  background:linear-gradient(135deg,rgba(19,89,83,.36),rgba(33,67,105,.32));
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}
.coach-resume-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:16px;color:#cafff7}
.coach-resume-copy{min-width:0;display:grid;gap:2px}
.coach-resume-copy b{font-size:11.5px;color:#ecfffb}
.coach-resume-copy span{font-size:10.5px;color:#b9ddd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#coachResumeCloseBtn{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#b9d5d5;padding:0}
#coachResumeCloseBtn:hover{background:rgba(255,255,255,.08);color:#fff}
body.halloween-theme .coach-resume-banner{border-color:rgba(194,76,151,.34);background:linear-gradient(135deg,rgba(95,20,54,.38),rgba(65,31,115,.38))}
body.halloween-theme .coach-resume-icon{color:#ffe5f3;background:rgba(205,52,103,.12)}
body.halloween-theme .coach-resume-copy b{color:#fff0f8}
body.halloween-theme .coach-resume-copy span{color:#ddc2d8}
@media(max-width:560px){.coach-resume-banner{margin-left:8px;margin-right:8px}.coach-resume-copy span{white-space:normal}}

body.halloween-theme .coach-avatar-flag{background:rgba(25,13,37,.92);border-color:rgba(255,255,255,.42)}

body.halloween-theme .coach-teacher-pick.active{border-color:rgba(255,176,229,.68);background:linear-gradient(180deg,rgba(130,43,88,.32),rgba(92,54,156,.22));box-shadow:0 0 0 1px rgba(255,176,229,.18),0 14px 26px rgba(0,0,0,.28)}

body.modal-open{overflow:hidden}
.coach-teacher-trigger{cursor:pointer;text-align:inherit;color:inherit;width:100%}
.coach-teacher-trigger:hover{transform:translateY(-1px)}
.coach-teacher-open-hint{display:block;padding:0 16px 14px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#d9f4f8;opacity:.88}
.coach-teacher-open-hint.small{padding:0 10px 10px;text-align:left;color:#cfe9ec}
.coach-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}.coach-modal[hidden]{display:none!important}.coach-modal-backdrop{position:absolute;inset:0;background:rgba(6,10,17,.68);backdrop-filter:blur(6px)}.coach-modal-dialog{position:relative;z-index:1;width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;border-radius:22px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(7,27,40,.98),rgba(14,37,51,.96));box-shadow:0 28px 70px rgba(0,0,0,.4);padding:16px 16px 18px}.coach-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.coach-modal-head b{display:block;font-size:16px}.coach-modal-head span{display:block;font-size:11px;color:#c5dfe4;margin-top:2px}.coach-modal-close{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:18px;cursor:pointer}.coach-teacher-grid.popup{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.coach-teacher-pick{grid-template-columns:86px 1fr;padding:12px;border-radius:18px}.coach-teacher-pick-photo{width:86px;height:86px;border-radius:16px}.coach-teacher-pick-copy b{font-size:15px}.coach-teacher-pick-copy small,.coach-teacher-pick-copy span{font-size:11px}
.coach-teacher-pick.active{border-color:rgba(163,239,255,.88);background:linear-gradient(180deg,rgba(98,177,214,.23),rgba(152,89,220,.16));box-shadow:0 0 0 1px rgba(163,239,255,.22),0 16px 30px rgba(0,0,0,.24)}
.coach-chat-card.coach-dental-chat{background:linear-gradient(180deg,#f6fdff,#eef9fd);border-color:rgba(66,125,150,.18);color:#14374a}.coach-chat-head{border-bottom:1px solid rgba(39,86,116,.12);padding-bottom:10px;margin-bottom:10px}.coach-chat-identity div b,#coachChatTeacher{color:#0f3d5a}.coach-chat-identity div span,#coachChatSubtitle{color:#6a4a2a}.coach-context-tags span{background:rgba(27,96,135,.08);color:#9c2d2d;border-color:rgba(156,45,45,.12)}
.coach-message{border:1px solid rgba(40,96,122,.12)}.coach-message.teacher{background:#ffffff;color:#17384d}.coach-message.student{background:#f6fbff;color:#17384d}.coach-message-head .msg-role,.coach-message .msg-role{color:#12425f}.coach-message-en{color:#123d5f}.coach-message-vi{color:#8b5a34}.coach-replay-btn{background:rgba(26,98,141,.08);color:#9c2d2d}.coach-welcome{background:#ffffff;border-color:rgba(40,96,122,.12);color:#16374d}.coach-welcome b{color:#0f3c5a}.coach-welcome span{color:#6a4a2a}.status-box{background:#fffaf5;color:#8f2d2d;border-color:rgba(143,45,45,.18)}.coach-voice-status{background:#fff;border-color:rgba(38,97,122,.12);color:#6a4a2a}
body.halloween-theme .coach-chat-card.coach-dental-chat{background:linear-gradient(180deg,#f9fdff,#eef8fb);color:#15384b}
@media(max-width:760px){.coach-modal{padding:12px}.coach-modal-dialog{width:min(100vw - 16px,980px);padding:14px}.coach-teacher-grid.popup{grid-template-columns:1fr}.coach-teacher-pick{grid-template-columns:76px 1fr}.coach-teacher-pick-photo{width:76px;height:76px}.coach-avatar-hero{width:158px;height:158px;flex-basis:158px}}

.coach-teacher-trigger{appearance:none;-webkit-appearance:none;border:none;padding:0;background:none}.coach-teacher-card.coach-teacher-trigger{padding:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055)}


/* V65 English Coach cleanup */
.coach-teacher-open-hint{display:none!important}
.coach-teacher-hero{margin-bottom:16px}
.coach-teacher-hero .coach-avatar-flag,.coach-avatar .coach-avatar-flag{display:none!important}
.coach-teacher-trigger{display:block}
.coach-chat-card.coach-dental-chat{background:linear-gradient(180deg,#f8fdff 0%,#edf7fb 100%)!important;border-color:rgba(45,102,128,.18)!important}
.coach-chat-head{border-bottom:1px solid rgba(34,95,121,.14)!important}
.coach-chat-identity div b,#coachChatTeacher{color:#0f3f63!important}
.coach-chat-identity div span,#coachChatSubtitle{color:#6d4b2c!important}
.coach-context-tags span{background:#ffffff!important;color:#8c2f2f!important;border:1px solid rgba(123,63,63,.14)!important}
.coach-message{border-radius:16px!important;border:1px solid rgba(40,96,122,.14)!important;box-shadow:0 4px 16px rgba(27,62,85,.05)!important}
.coach-message.teacher{background:#ffffff!important;color:#133d5a!important;border-color:rgba(63,116,145,.14)!important}
.coach-message.student{background:#eef7ff!important;color:#133d5a!important;border-color:rgba(62,111,145,.16)!important}
.coach-message .msg-role,.coach-message-head .msg-role{color:#8e3030!important;opacity:1!important}
.coach-message-en{color:#103f66!important;font-weight:600}
.coach-message-vi{color:#7c5533!important;border-top:1px dashed rgba(76,106,129,.22)!important}
.coach-replay-btn{background:#f6f1ff!important;color:#943838!important;border:1px solid rgba(148,56,56,.14)!important}
.coach-welcome{background:#ffffff!important;border:1px solid rgba(45,102,128,.14)!important;color:#173c57!important;border-radius:16px;padding:18px!important}
.coach-welcome b{color:#103f66!important}
.coach-welcome span{color:#6d4b2c!important}
.coach-voice-status{background:#fff!important;color:#73492b!important;border-color:rgba(45,102,128,.14)!important}
.status-box{background:#fff8f4!important;color:#912f2f!important;border-color:rgba(145,47,47,.18)!important}
.coach-input-row{border-top:1px solid rgba(45,102,128,.14)!important}
.coach-input-row textarea{background:#ffffff!important;color:#123c5c!important;border:1px solid rgba(45,102,128,.18)!important}
body.halloween-theme .coach-chat-card.coach-dental-chat{background:linear-gradient(180deg,#f8fdff 0%,#edf7fb 100%)!important}


/* V66 English Coach polish */
.coach-modal{z-index:9999!important;padding:24px!important;isolation:isolate}
.coach-modal-backdrop{background:rgba(7,12,20,.76)!important;backdrop-filter:blur(8px)!important}
.coach-modal-dialog{width:min(1080px,calc(100vw - 32px))!important;max-height:calc(100vh - 48px)!important;border-radius:26px!important;border:1px solid rgba(255,255,255,.16)!important;background:linear-gradient(180deg,rgba(18,17,36,.98),rgba(23,19,43,.97))!important;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05)!important;overflow:hidden}
.coach-modal-head{position:sticky;top:0;z-index:2;margin:-16px -16px 14px;padding:16px 18px 14px;background:linear-gradient(180deg,rgba(25,17,46,.96),rgba(25,17,46,.76));backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.coach-modal-head b{font-size:18px;color:#fff}
.coach-modal-head span{color:#d7cbec;font-size:11px}
.coach-modal-close{transition:transform .18s ease, background .18s ease, box-shadow .18s ease;border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.07)!important}
.coach-modal-close:hover{transform:translateY(-1px) scale(1.03);background:rgba(255,255,255,.12)!important;box-shadow:0 10px 20px rgba(0,0,0,.24)}
.coach-teacher-grid.popup{padding:4px 2px 2px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
.coach-teacher-pick{position:relative;grid-template-columns:96px 1fr!important;gap:14px!important;padding:14px!important;border-radius:22px!important;border:1px solid rgba(255,255,255,.12)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035))!important;box-shadow:0 10px 26px rgba(0,0,0,.18);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease}
.coach-teacher-pick:hover{transform:translateY(-3px)!important;border-color:rgba(255,255,255,.24)!important;box-shadow:0 16px 30px rgba(0,0,0,.28)!important;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05))!important}
.coach-teacher-pick::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.coach-teacher-pick-photo{width:96px!important;height:96px!important;border-radius:18px!important;overflow:hidden;box-shadow:0 16px 28px rgba(0,0,0,.26),0 0 0 1px rgba(255,255,255,.06)!important}
.coach-teacher-pick-photo img{object-fit:cover}
.coach-teacher-pick-copy{align-content:center;gap:5px!important}
.coach-teacher-pick-copy b{font-size:16px!important;line-height:1.12;color:#fff}
.coach-teacher-pick-copy small{font-size:11px!important;color:#f0d9ff!important;line-height:1.35}
.coach-teacher-pick-copy span{font-size:11px!important;color:#c6d7eb!important;line-height:1.35}
.coach-teacher-pick.active{border-color:rgba(255,164,221,.82)!important;background:linear-gradient(180deg,rgba(138,55,109,.42),rgba(86,63,155,.26))!important;box-shadow:0 0 0 1px rgba(255,173,228,.32),0 0 24px rgba(239,111,199,.34),0 18px 32px rgba(0,0,0,.32)!important}
.coach-teacher-pick.active::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,203,94,.95),rgba(255,136,218,.95),rgba(157,223,255,.92));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.95}
.coach-teacher-hero{border:1px solid rgba(255,174,229,.38)!important;box-shadow:0 0 0 1px rgba(255,173,228,.18),0 0 24px rgba(239,111,199,.22),0 18px 40px rgba(0,0,0,.24)!important}
.coach-chat-card.coach-dental-chat{border-radius:24px!important;box-shadow:0 18px 40px rgba(15,52,77,.12),0 0 0 1px rgba(255,255,255,.65)!important}
.coach-messages{padding:10px 10px 18px!important;gap:14px!important}
.coach-message{padding:14px 16px!important;border-radius:22px!important}
.coach-message.teacher{border-bottom-left-radius:10px!important;background:linear-gradient(180deg,#ffffff,#f8fdff)!important;box-shadow:0 10px 24px rgba(27,73,102,.08)!important}
.coach-message.student{border-bottom-right-radius:10px!important;background:linear-gradient(180deg,#f1f8ff,#e6f3ff)!important;box-shadow:0 10px 22px rgba(27,73,102,.08)!important}
.coach-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.coach-message .msg-role{display:inline-flex!important;align-items:center;gap:6px;margin-bottom:0!important;padding:5px 10px;border-radius:999px;background:#fff4f4;color:#9a3131!important;border:1px solid rgba(154,49,49,.12);font-size:10px!important;letter-spacing:.05em!important;opacity:1!important}
.coach-message-en{font-size:15px!important;line-height:1.68!important;letter-spacing:.01em}
.coach-message-vi{margin-top:10px!important;padding-top:10px!important;font-size:12.2px!important;line-height:1.62!important}
.coach-replay-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;box-shadow:0 6px 14px rgba(141,48,48,.08)}
.coach-input-row{padding-top:14px!important;gap:12px!important}
.coach-input-row textarea{border-radius:18px!important;padding:14px 16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 22px rgba(15,52,77,.05)}
@media(max-width:860px){.coach-teacher-grid.popup{grid-template-columns:1fr!important}.coach-teacher-pick{grid-template-columns:84px 1fr!important}.coach-teacher-pick-photo{width:84px!important;height:84px!important}}


/* V67 English Coach modal layering + premium chat */
#coachTeacherModal{position:fixed!important;inset:0!important;z-index:2147483000!important}
#coachTeacherModal .coach-modal-backdrop{position:absolute!important;inset:0!important}
#coachTeacherModal .coach-modal-dialog{position:relative!important;z-index:2!important}
body.modal-open{overflow:hidden}

.coach-dental-layout>.card{border-radius:28px!important}
.coach-dental-settings,.coach-insights{border-radius:28px!important}
.coach-chat-card.coach-dental-chat{border-radius:30px!important;overflow:hidden!important;background:linear-gradient(180deg,#fcfeff 0%,#eef7fb 100%)!important;box-shadow:0 20px 46px rgba(15,52,77,.12),0 0 0 1px rgba(255,255,255,.72)!important}
.coach-chat-head{margin:0!important;padding:16px 18px 14px!important;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,252,255,.78))!important;border-bottom:1px solid rgba(34,95,121,.12)!important}
.coach-chat-identity div b,#coachChatTeacher{color:#0f3f63!important}
.coach-chat-identity div span,#coachChatSubtitle{color:#7c5430!important}
.coach-context-tags span{background:#ffffff!important;color:#8c2f2f!important;border:1px solid rgba(123,63,63,.14)!important;box-shadow:0 6px 14px rgba(22,65,93,.06)}
.coach-bilingual-messages{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0))!important}
.coach-messages{padding:18px 18px 22px!important;gap:16px!important}
.coach-message{position:relative;max-width:min(78%,560px)!important;padding:14px 16px!important;border-radius:24px!important;border:1px solid rgba(55,110,139,.12)!important;box-shadow:0 10px 24px rgba(27,73,102,.08)!important}
.coach-message.teacher{align-self:flex-start!important;border-bottom-left-radius:9px!important;background:linear-gradient(180deg,#ffffff,#f9fcff)!important}
.coach-message.student{align-self:flex-end!important;border-bottom-right-radius:9px!important;background:linear-gradient(180deg,#edf6ff,#dbeeff)!important;border-color:rgba(74,122,156,.16)!important}
.coach-message.teacher::after,.coach-message.student::after{content:'';position:absolute;bottom:12px;width:14px;height:14px;transform:rotate(45deg)}
.coach-message.teacher::after{left:-6px;background:linear-gradient(180deg,#ffffff,#f9fcff);border-left:1px solid rgba(55,110,139,.12);border-bottom:1px solid rgba(55,110,139,.12);border-bottom-left-radius:3px}
.coach-message.student::after{right:-6px;background:linear-gradient(180deg,#edf6ff,#dbeeff);border-right:1px solid rgba(74,122,156,.16);border-bottom:1px solid rgba(74,122,156,.16);border-bottom-right-radius:3px}
.coach-message .msg-role{display:inline-flex!important;align-items:center;gap:6px;margin-bottom:0!important;padding:6px 10px;border-radius:999px;background:#fff7f7;color:#9a3131!important;border:1px solid rgba(154,49,49,.12);font-size:10px!important;letter-spacing:.05em!important;opacity:1!important;box-shadow:0 4px 10px rgba(154,49,49,.05)}
.coach-message.student .msg-role{background:rgba(255,255,255,.88)!important;color:#21537d!important;border-color:rgba(33,83,125,.14)!important}
.coach-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.coach-message-en{font-size:15px!important;line-height:1.72!important;letter-spacing:.01em;color:#103f66!important;font-weight:650}
.coach-message-vi{margin-top:10px!important;padding-top:10px!important;font-size:12.3px!important;line-height:1.64!important;color:#855837!important;border-top:1px dashed rgba(76,106,129,.22)!important}
.coach-message.student .coach-message-en{color:#123b60!important}
.coach-replay-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#f7f1ff!important;color:#943838!important;border:1px solid rgba(148,56,56,.14)!important;box-shadow:0 8px 16px rgba(141,48,48,.08)}
.coach-input-row{padding:14px!important;border-top:1px solid rgba(45,102,128,.12)!important;background:linear-gradient(180deg,rgba(244,251,255,.86),rgba(236,246,251,.96))!important}
.coach-input-row textarea{background:#ffffff!important;color:#123c5c!important;border:1px solid rgba(45,102,128,.18)!important;border-radius:18px!important;padding:14px 16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px rgba(15,52,77,.05)}
.coach-send-stack .primary-btn,.coach-mic-btn,.coach-auto-speak{box-shadow:0 10px 20px rgba(27,73,102,.08)}

/* Clean up awkward middle-frame Halloween decorations */
body.halloween-theme .coach-chat-card::after{right:12px!important;top:86px!important;width:84px!important;height:118px!important;opacity:.62!important}
body.halloween-theme .coach-settings::before{left:12px!important;top:auto!important;bottom:16px!important;width:76px!important;height:106px!important;opacity:.56!important}
body.halloween-theme .coach-chat-card.coach-dental-chat{background:linear-gradient(180deg,#fcfeff 0%,#eef7fb 100%)!important}
body.halloween-theme .coach-chat-head{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,252,255,.78))!important}

@media(max-width:860px){.coach-message{max-width:88%!important}}


/* V68 teacher selection sync fix */
.coach-teacher-hero{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.coach-teacher-hero:active{transform:scale(.995)}


/* V69 - suggested answers for English Teacher */
.coach-insight-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.coach-insight-title-row>span{font-size:8.8px;color:#8eb4ba;white-space:nowrap}.coach-suggested-section{padding-bottom:3px}.coach-suggested-list{display:grid;gap:8px}.coach-suggested-answer{width:100%;display:grid;gap:5px;padding:10px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.coach-suggested-answer:hover{transform:translateY(-1px);border-color:rgba(136,222,236,.36);background:linear-gradient(180deg,rgba(86,167,181,.15),rgba(255,255,255,.04));box-shadow:0 8px 18px rgba(0,0,0,.13)}.coach-suggested-answer:active{transform:translateY(0) scale(.995)}.coach-suggested-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.coach-suggested-top b{font-size:10px;color:#fff}.coach-suggested-top em{font-style:normal;width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#bfeff3;font-size:9px;font-weight:900}.coach-suggested-en{font-size:11.5px;line-height:1.45;font-weight:800;color:#eafcff}.coach-suggested-vi{font-size:10px;line-height:1.42;color:#f0c09c}.coach-suggested-answer small{font-size:9.2px;line-height:1.4;color:#9fc3c7;padding-top:2px}.coach-suggested-answer small::before{content:'↳ ';color:#d38b9a}
body.halloween-theme .coach-suggested-answer{border-color:rgba(211,92,164,.18);background:linear-gradient(180deg,rgba(109,39,86,.18),rgba(55,35,81,.16))}body.halloween-theme .coach-suggested-answer:hover{border-color:rgba(255,146,211,.38);background:linear-gradient(180deg,rgba(132,47,99,.28),rgba(72,45,106,.22));box-shadow:0 8px 22px rgba(82,22,67,.22)}
@media(max-width:1150px){.coach-insight-title-row{align-items:flex-start;flex-direction:column}.coach-insight-title-row>span{white-space:normal}}


/* V70 - light side panels + right independent scrollbar */
.coach-dental-settings,
.coach-insights{
  background:linear-gradient(180deg,#fbfeff 0%,#eef8fb 100%)!important;
  border:1px solid rgba(48,104,132,.16)!important;
  box-shadow:0 18px 40px rgba(15,52,77,.10),0 0 0 1px rgba(255,255,255,.72)!important;
  color:#123d5a!important;
}
.coach-dental-settings{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
}
.coach-insights{
  max-height:calc(100vh - 28px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  align-content:start;
}
.coach-dental-settings::-webkit-scrollbar,
.coach-insights::-webkit-scrollbar{width:9px}
.coach-dental-settings::-webkit-scrollbar-track,
.coach-insights::-webkit-scrollbar-track{background:rgba(32,94,122,.06);border-radius:999px}
.coach-dental-settings::-webkit-scrollbar-thumb,
.coach-insights::-webkit-scrollbar-thumb{background:rgba(47,103,133,.28);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
.coach-dental-settings::-webkit-scrollbar-thumb:hover,
.coach-insights::-webkit-scrollbar-thumb:hover{background:rgba(47,103,133,.42);border:2px solid transparent;background-clip:padding-box}

.coach-title-block{border-bottom-color:rgba(46,99,126,.14)!important}
.coach-title-block h1,
.coach-insight-head h2,
.coach-insight-title,
.coach-teacher-hero-copy h3,
.coach-goal-card b{color:#103f61!important}
.coach-title-block p,
.coach-teacher-hero-meta,
.coach-teacher-hero-copy p,
.coach-insight-section p,
.coach-correction-empty,
.coach-goal-card p{color:#6f5138!important}
.coach-kicker,
.coach-insight-head span,
.coach-teacher-browser-title{color:#9a3434!important}
.coach-insight-head{border-bottom-color:rgba(46,99,126,.14)!important}

.coach-teacher-hero{
  background:linear-gradient(180deg,#ffffff 0%,#edf7fb 100%)!important;
  border-color:rgba(47,104,132,.18)!important;
  box-shadow:0 12px 28px rgba(24,70,96,.09)!important;
}
.coach-teacher-hero::before{background:radial-gradient(circle,rgba(86,164,198,.13),rgba(86,164,198,0) 70%)!important}
.coach-teacher-hero-badge{
  background:#fff7f3!important;
  border-color:rgba(147,62,62,.15)!important;
  color:#923535!important;
}

.coach-dental-settings .field-label,
.coach-dental-settings label,
.coach-insights label{color:#173f58!important}
.coach-dental-settings select,
.coach-dental-settings input,
.coach-dental-settings textarea{
  background:#ffffff!important;
  color:#123d5a!important;
  border-color:rgba(47,103,133,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.coach-dental-settings select:focus,
.coach-dental-settings input:focus,
.coach-dental-settings textarea:focus{border-color:rgba(41,111,151,.48)!important;box-shadow:0 0 0 3px rgba(41,111,151,.08)!important}
.coach-hints button{
  background:#ffffff!important;
  color:#164766!important;
  border-color:rgba(45,102,128,.16)!important;
  box-shadow:0 5px 12px rgba(25,73,100,.05)!important;
}
.coach-hints button:hover{background:#f1f9fd!important;border-color:rgba(45,102,128,.28)!important}

.coach-goal-card{
  background:linear-gradient(135deg,#f6fbff,#fff8f4)!important;
  border-color:rgba(49,102,129,.14)!important;
}
.coach-goal-card span{color:#9a3434!important}
.coach-correction-empty{
  background:#ffffff!important;
  border-color:rgba(48,103,131,.18)!important;
}
.coach-correction-original{color:#a93646!important}
.coach-correction-fixed{color:#16734b!important}
.coach-correction-fixed::before{color:#1c8b59!important}
.coach-phrase-item,
.coach-vocab-item{
  background:#ffffff!important;
  border-color:rgba(48,103,131,.14)!important;
  box-shadow:0 5px 13px rgba(27,72,98,.04)!important;
}
.coach-phrase-item b,
.coach-vocab-item b{color:#123f61!important}
.coach-phrase-item span,
.coach-vocab-item span{color:#755238!important}

.coach-insight-title-row>span{color:#8a603f!important}
.coach-suggested-answer{
  background:linear-gradient(180deg,#ffffff,#f6fbfe)!important;
  border-color:rgba(47,104,132,.15)!important;
  color:#123d5a!important;
  box-shadow:0 6px 16px rgba(25,72,98,.05)!important;
}
.coach-suggested-answer:hover{
  border-color:rgba(39,112,151,.34)!important;
  background:linear-gradient(180deg,#ffffff,#edf8fd)!important;
  box-shadow:0 10px 22px rgba(25,72,98,.10)!important;
}
.coach-suggested-top b{color:#923535!important}
.coach-suggested-top em{background:#edf7fb!important;color:#174a68!important}
.coach-suggested-en{color:#103f66!important}
.coach-suggested-vi{color:#835737!important}
.coach-suggested-answer small{color:#607b88!important}
.coach-suggested-answer small::before{color:#a43f49!important}

body.halloween-theme .coach-dental-settings,
body.halloween-theme .coach-insights{
  background:linear-gradient(180deg,#fbfeff 0%,#eef8fb 100%)!important;
  border-color:rgba(48,104,132,.16)!important;
}
body.halloween-theme .coach-teacher-hero{
  background:linear-gradient(180deg,#ffffff 0%,#edf7fb 100%)!important;
  border-color:rgba(47,104,132,.18)!important;
}
body.halloween-theme .coach-suggested-answer{
  background:linear-gradient(180deg,#ffffff,#f6fbfe)!important;
  border-color:rgba(47,104,132,.15)!important;
}
body.halloween-theme .coach-suggested-answer:hover{
  background:linear-gradient(180deg,#ffffff,#edf8fd)!important;
  border-color:rgba(39,112,151,.34)!important;
}

@media(max-width:1150px){
  .coach-insights{
    max-height:min(620px,70vh)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    grid-template-columns:1fr!important;
  }
  .coach-insight-head,.coach-goal-card{grid-column:auto!important}
}
@media(max-width:820px){
  .coach-dental-settings{max-height:none!important;overflow:visible!important}
  .coach-insights{max-height:min(600px,70vh)!important;overflow-y:auto!important}
}


/* V71 - soft curved chat tails */
.coach-messages{
  --coach-chat-cutout:#f1f9fd;
  padding-left:24px!important;
  padding-right:24px!important;
}
.coach-message{
  overflow:visible!important;
}

/* Disable the old rotated-square tail from V67. */
.coach-message.teacher::after,
.coach-message.student::after{
  content:''!important;
  transform:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Main curved tail that flows out of the bubble. */
.coach-message.teacher::before,
.coach-message.student::before{
  content:''!important;
  position:absolute!important;
  z-index:0!important;
  bottom:3px!important;
  width:18px!important;
  height:20px!important;
  pointer-events:none!important;
}

.coach-message.teacher::before{
  left:-8px!important;
  background:#f9fcff!important;
  border-bottom-right-radius:16px 14px!important;
  border-left:1px solid rgba(55,110,139,.10)!important;
  border-bottom:1px solid rgba(55,110,139,.10)!important;
}

.coach-message.student::before{
  right:-8px!important;
  background:#e3f1ff!important;
  border-bottom-left-radius:16px 14px!important;
  border-right:1px solid rgba(74,122,156,.12)!important;
  border-bottom:1px solid rgba(74,122,156,.12)!important;
}

/* Small cutout makes the tail look curved instead of triangular/folded. */
.coach-message.teacher::after,
.coach-message.student::after{
  position:absolute!important;
  z-index:1!important;
  bottom:3px!important;
  width:10px!important;
  height:21px!important;
  background:var(--coach-chat-cutout)!important;
  pointer-events:none!important;
}

.coach-message.teacher::after{
  left:-13px!important;
  border-bottom-right-radius:10px 12px!important;
}

.coach-message.student::after{
  right:-13px!important;
  border-bottom-left-radius:10px 12px!important;
}

/* Keep the tails subtle and integrated into the premium bubble shape. */
.coach-message.teacher{
  border-bottom-left-radius:18px!important;
}
.coach-message.student{
  border-bottom-right-radius:18px!important;
}

body.halloween-theme .coach-messages{
  --coach-chat-cutout:#f1f9fd;
}

@media(max-width:560px){
  .coach-messages{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .coach-message.teacher::before{left:-7px!important}
  .coach-message.student::before{right:-7px!important}
  .coach-message.teacher::after{left:-12px!important}
  .coach-message.student::after{right:-12px!important}
}


/* V74 - safe chat-tail removal, based on stable V72 */
.coach-message.teacher::before,
.coach-message.teacher::after,
.coach-message.student::before,
.coach-message.student::after{
  content:none!important;
  display:none!important;
}

/* Preserve the original V72 message layout/content. */
.coach-message{
  overflow:visible!important;
  min-height:auto!important;
  height:auto!important;
}
.coach-message.teacher{
  border-radius:24px!important;
}
.coach-message.student{
  border-radius:24px!important;
}
.coach-message-en,
.coach-message-vi,
.coach-message-head,
.coach-message .msg-role{
  visibility:visible!important;
  opacity:1!important;
}


/* V75 - replay buttons for learner messages and sample sentences */
.coach-message.student .coach-message-head{margin-bottom:8px!important}
.coach-message.student .coach-replay-btn{background:#ffffff!important;color:#245b82!important;border-color:rgba(36,91,130,.16)!important}
.coach-message.student .coach-replay-btn:hover{background:#eef7ff!important;color:#173f61!important}

.coach-suggested-answer{cursor:default!important;padding:10px 11px!important}
.coach-suggested-answer:hover{transform:none!important}
.coach-suggested-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.coach-suggested-insert{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;padding:0;margin:0;text-align:left;cursor:pointer}
.coach-suggested-top .coach-suggested-insert{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;flex:1}
.coach-suggested-body{display:grid;width:100%;gap:5px;padding-top:2px!important}
.coach-suggested-body:hover .coach-suggested-en{text-decoration:underline;text-decoration-color:rgba(16,63,102,.2);text-underline-offset:3px}
.coach-suggested-answer .coach-replay-btn{width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#f6f1ff!important;color:#943838!important;border:1px solid rgba(148,56,56,.14)!important}
.coach-suggested-answer .coach-replay-btn:hover{background:#efe6ff!important}

.coach-phrase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.coach-phrase-head b{min-width:0;flex:1}
.coach-phrase-item .coach-replay-btn{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#f6f1ff!important;color:#943838!important;border:1px solid rgba(148,56,56,.14)!important}
.coach-phrase-item .coach-replay-btn svg,.coach-suggested-answer .coach-replay-btn svg{width:15px;height:15px}


/* V76 - PWA + Before/After Builder + Dental AI Content Studio */
.pwa-install-row{display:flex;justify-content:flex-end;gap:8px;margin:-6px 0 10px;position:relative;z-index:5}
.pwa-install-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:13px;color:#eaffff;font-size:11px;font-weight:850;border:1px solid rgba(255,255,255,.18);cursor:pointer}
.pwa-install-icon{width:23px;height:23px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.pwa-install-help{position:absolute;right:0;top:44px;max-width:340px;padding:10px 12px;color:#e8f7f9;font-size:10.5px;line-height:1.45;z-index:20}

.studio-tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.studio-tool-heading span,.ba-preview-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#b9eef2}
.studio-tool-heading h2{margin:3px 0 0;font-size:19px}.studio-tool-heading p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.compact-btn{padding:8px 11px!important;min-height:34px!important;font-size:10.5px!important}

.ba-shell{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:20px;align-items:start}
.ba-controls,.ba-preview-card,.content-studio-controls,.content-studio-results{border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(5,29,39,.32);padding:18px}
.ba-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.ba-upload-card{min-height:116px;border:1px dashed rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;cursor:pointer;padding:10px}
.ba-upload-card:hover{border-color:rgba(155,235,240,.62);background:rgba(111,215,223,.08)}
.ba-upload-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#2d6b8e,#6748b8);font-weight:950}.ba-upload-icon.after{background:linear-gradient(145deg,#287966,#a44a72)}
.ba-upload-card b{font-size:11px}.ba-upload-card small{font-size:9px;color:var(--muted);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ba-control-grid,.ba-brand-grid,.content-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ba-range-field{margin:10px 0}.ba-label-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center;margin:12px 0}
.ba-label-row input[type=text]{min-width:0}
.ba-check{display:flex;align-items:center;gap:6px;font-size:10px;color:#d7edef;white-space:nowrap}
.ba-tuning-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ba-tuning-card{padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}.ba-tuning-card b{font-size:10px}.ba-tuning-card label{display:grid;gap:5px;margin-top:6px;font-size:9px;color:var(--muted)}
.ba-help{margin:7px 0 13px;color:var(--muted);font-size:9.5px;line-height:1.45}.ba-color{height:39px;padding:3px!important}.ba-logo-row{display:grid;grid-template-columns:auto auto 1fr minmax(80px,1fr);gap:8px;align-items:center}
.ba-preview-card{min-width:0}.ba-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ba-preview-head b{font-size:12px}
.ba-canvas-wrap{width:100%;min-height:420px;display:grid;place-items:center;padding:12px;border-radius:18px;background:linear-gradient(135deg,rgba(0,0,0,.16),rgba(255,255,255,.035));overflow:hidden}
#baCanvas{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.28);touch-action:none;cursor:grab;background:#edf8fb}
#baCanvas:active{cursor:grabbing}.ba-export-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.ba-export-row select{width:auto;min-width:92px}

.content-studio-shell{display:grid;grid-template-columns:minmax(310px,410px) minmax(0,1fr);gap:20px;align-items:start}
.content-studio-controls textarea{resize:vertical}.content-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:14px}
.content-studio-results{min-height:560px}.content-result-empty{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center}
.content-empty-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:28px;background:linear-gradient(145deg,rgba(93,71,197,.34),rgba(40,178,186,.24));border:1px solid rgba(255,255,255,.15)}
.content-result-empty b{color:#f1fdff;font-size:15px}.content-result-empty span{font-size:10.5px}
.content-results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.content-result-card{min-width:0;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.045);padding:13px}
.content-result-card.wide{grid-column:1/-1}.content-result-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.content-result-card header b{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#cdf5f5}.content-result-card header button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:#dff8f8;border-radius:8px;padding:5px 8px;font-size:9px}.content-result-card>div,.content-result-card pre{margin:0;color:#eefcfd;font-size:11.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word;font-family:inherit}.content-result-card pre{max-height:330px;overflow:auto}

body.halloween-theme .ba-controls,body.halloween-theme .ba-preview-card,body.halloween-theme .content-studio-controls,body.halloween-theme .content-studio-results{background:linear-gradient(180deg,rgba(30,14,42,.74),rgba(13,33,41,.66));border-color:rgba(208,87,145,.22)}
body.halloween-theme .ba-upload-card:hover{border-color:rgba(255,142,199,.55)}
body.halloween-theme .content-result-card{background:rgba(255,255,255,.055)}

@media(max-width:900px){.ba-shell,.content-studio-shell{grid-template-columns:1fr}.ba-canvas-wrap{min-height:330px}.content-studio-results{min-height:420px}}
@media(max-width:560px){.ba-control-grid,.ba-brand-grid,.content-control-grid{grid-template-columns:1fr}.ba-upload-grid{grid-template-columns:1fr 1fr}.ba-label-row{grid-template-columns:1fr 1fr}.ba-check{grid-column:1/-1}.ba-logo-row{grid-template-columns:1fr 1fr}.content-results{grid-template-columns:1fr}.content-result-card.wide{grid-column:auto}.ba-export-row{display:grid;grid-template-columns:1fr 1fr}.ba-export-row .primary-btn{grid-column:1/-1}.pwa-install-row{justify-content:stretch}.pwa-install-btn{width:100%;justify-content:center}}


/* V77 - AI Content Studio light result cards */
.content-studio-results{
  background:linear-gradient(180deg,#f8fdff,#edf7fb)!important;
  border-color:rgba(46,102,130,.16)!important;
}
.content-result-empty{color:#6f8793!important}
.content-result-empty b{color:#123f60!important}
.content-empty-icon{background:linear-gradient(145deg,#e8f3ff,#efe9ff)!important;border-color:rgba(64,104,137,.14)!important;color:#32567a!important}
.content-result-card{
  background:#ffffff!important;
  border-color:rgba(45,98,128,.14)!important;
  box-shadow:0 10px 24px rgba(25,67,94,.06)!important;
}
.content-result-card header{
  border-bottom:1px solid rgba(45,98,128,.10)!important;
  padding-bottom:8px!important;
}
.content-result-card header b{
  color:#123f60!important;
}
.content-result-card header button{
  background:#f0f7fb!important;
  color:#164c70!important;
  border-color:rgba(45,98,128,.14)!important;
}
.content-result-card header button:hover{
  background:#e3f1f8!important;
}
.content-result-card>div,
.content-result-card pre{
  color:#173f5a!important;
}
body.halloween-theme .content-studio-results{
  background:linear-gradient(180deg,#f8fdff,#edf7fb)!important;
  border-color:rgba(46,102,130,.16)!important;
}
body.halloween-theme .content-result-card{
  background:#ffffff!important;
  border-color:rgba(45,98,128,.14)!important;
}


/* V78 - bottom PWA install + synchronized English Coach panels */
.pwa-install-row.pwa-install-bottom{
  margin:28px 0 4px!important;
  justify-content:center!important;
  position:relative;
  z-index:5;
}
.pwa-install-bottom .pwa-install-btn{
  min-width:210px;
  justify-content:center;
}
.pwa-install-bottom .pwa-install-help{
  left:50%;
  right:auto!important;
  top:auto!important;
  bottom:48px;
  transform:translateX(-50%);
  width:min(380px,calc(100vw - 28px));
}

/* Desktop: all three English Coach cards use exactly the same height. */
@media(min-width:821px){
  .coach-dental-layout{
    --coach-panel-height:clamp(650px,calc(100vh - 155px),820px);
    align-items:stretch!important;
    grid-template-columns:280px minmax(430px,1fr) 300px!important;
  }
  .coach-dental-settings,
  .coach-dental-chat,
  .coach-insights{
    position:relative!important;
    top:auto!important;
    height:var(--coach-panel-height)!important;
    min-height:0!important;
    max-height:var(--coach-panel-height)!important;
    box-sizing:border-box!important;
  }
  .coach-dental-settings,
  .coach-insights{
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .coach-dental-chat{
    display:flex!important;
    flex-direction:column!important;
  }
  .coach-dental-chat .coach-messages{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
  }

  /* Conversation mode: hide the setup panel and give the useful panels the space. */
  .coach-dental-layout.coach-chatting{
    grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr)!important;
  }
  .coach-dental-layout.coach-chatting>.coach-dental-settings{
    display:none!important;
  }
  .coach-dental-layout.coach-chatting.coach-settings-open{
    grid-template-columns:280px minmax(430px,1fr) 300px!important;
  }
  .coach-dental-layout.coach-chatting.coach-settings-open>.coach-dental-settings{
    display:block!important;
  }
}

/* Header controls for reopening settings while chatting. */
.coach-chat-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.coach-settings-toggle{
  flex:0 0 auto;
  border:1px solid rgba(35,91,121,.16);
  background:#ffffff;
  color:#164766;
  border-radius:11px;
  padding:7px 10px;
  font-size:9.5px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 5px 12px rgba(25,73,100,.05);
}
.coach-settings-toggle:hover{
  background:#eef8fd;
  border-color:rgba(35,91,121,.30);
}
body.halloween-theme .coach-settings-toggle{
  background:#fff!important;
  color:#164766!important;
  border-color:rgba(35,91,121,.16)!important;
}

@media(max-width:820px){
  .coach-dental-layout{
    align-items:stretch!important;
  }
  .coach-dental-settings,
  .coach-dental-chat,
  .coach-insights{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .coach-dental-layout.coach-chatting>.coach-dental-settings{
    display:none!important;
  }
  .coach-dental-layout.coach-chatting.coach-settings-open>.coach-dental-settings{
    display:block!important;
  }
  .coach-chat-head-actions{
    align-items:flex-end;
    flex-direction:column-reverse;
  }
  .coach-settings-toggle{
    padding:6px 9px;
  }
}


/* V79 - use the teacher avatar in chat as the settings toggle; no visible settings text/button */
.coach-settings-toggle,
.coach-chat-head-actions{
  display:none!important;
}

button.coach-settings-avatar{
  appearance:none;
  -webkit-appearance:none;
  padding:0!important;
  margin:0;
  cursor:pointer;
  outline:none;
  font-family:inherit;
}
button.coach-settings-avatar:hover{
  transform:scale(1.045);
  box-shadow:0 10px 25px rgba(23,88,122,.24),0 0 0 3px rgba(95,181,220,.12)!important;
}
button.coach-settings-avatar:focus-visible{
  box-shadow:0 0 0 3px rgba(75,157,204,.25),0 8px 22px rgba(0,0,0,.16)!important;
}
button.coach-settings-avatar[aria-pressed="true"]{
  box-shadow:0 0 0 3px rgba(75,157,204,.20),0 8px 22px rgba(0,0,0,.16)!important;
}
body.halloween-theme button.coach-settings-avatar:hover,
body.halloween-theme button.coach-settings-avatar[aria-pressed="true"]{
  box-shadow:0 0 0 3px rgba(180,87,188,.18),0 8px 24px rgba(0,0,0,.18)!important;
}


/* V82 - reliable avatar settings toggle + explicit Coach grid placement */
@media(min-width:821px){
  /* Override older <=1150px rules that made Live Feedback span the full row. */
  .coach-dental-layout>.coach-dental-settings{
    grid-column:1!important;
  }
  .coach-dental-layout>.coach-dental-chat{
    grid-column:2!important;
  }
  .coach-dental-layout>.coach-insights{
    grid-column:3!important;
  }

  /* Chat mode: settings hidden, remaining two panels get the whole row. */
  .coach-dental-layout.coach-chatting:not(.coach-settings-open){
    grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr)!important;
  }
  .coach-dental-layout.coach-chatting:not(.coach-settings-open)>.coach-dental-settings{
    display:none!important;
  }
  .coach-dental-layout.coach-chatting:not(.coach-settings-open)>.coach-dental-chat{
    grid-column:1!important;
  }
  .coach-dental-layout.coach-chatting:not(.coach-settings-open)>.coach-insights{
    grid-column:2!important;
  }

  /* Clicking teacher avatar: restore the exact 3-column setup layout. */
  .coach-dental-layout.coach-settings-open{
    grid-template-columns:280px minmax(430px,1fr) 300px!important;
  }
  .coach-dental-layout.coach-settings-open>.coach-dental-settings{
    display:block!important;
    grid-column:1!important;
  }
  .coach-dental-layout.coach-settings-open>.coach-dental-chat{
    grid-column:2!important;
  }
  .coach-dental-layout.coach-settings-open>.coach-insights{
    grid-column:3!important;
  }
}

@media(max-width:820px){
  .coach-dental-layout.coach-settings-open>.coach-dental-settings{
    display:block!important;
  }
}

/* Avatar itself and its image always receive/carry pointer interaction correctly. */
button[data-coach-settings-toggle]{
  position:relative;
  z-index:3;
  pointer-events:auto!important;
}
button[data-coach-settings-toggle] .coach-avatar-img{
  pointer-events:none!important;
}


/* V83 - GAME 3D / Velocity Rush */
.game-main-tab{font-weight:900!important;letter-spacing:.035em}
.game-hub-shell{
  padding:18px!important;
  overflow:hidden;
  border-radius:24px!important;
}
.game-hub-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.game-hub-kicker{
  display:block;
  margin-bottom:4px;
  color:#a7eff4;
  font-size:9px;
  font-weight:950;
  letter-spacing:.18em;
}
.game-hub-head h2{
  margin:0;
  color:#fff;
  font-size:24px;
  line-height:1.15;
}
.game-hub-head p{
  max-width:700px;
  margin:6px 0 0;
  color:#bad3d8;
  font-size:11px;
  line-height:1.5;
}
.game-hub-badge{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(124,229,239,.22);
  border-radius:999px;
  background:rgba(14,87,100,.22);
  color:#d9fbfd;
  font-size:9px;
  font-weight:850;
}
.game-stage{
  position:relative;
  min-height:620px;
  overflow:hidden;
  border:1px solid rgba(126,229,237,.18);
  border-radius:20px;
  background:#050b15;
}
.game-launch-screen{
  position:absolute;
  inset:0;
  min-height:620px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 25%,rgba(121,48,197,.35),transparent 34%),
    linear-gradient(180deg,#071021 0%,#09101d 48%,#02050b 100%);
}
.game-neon-scene{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.game-neon-scene::before{
  content:'';
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:0;
  height:42%;
  opacity:.62;
  background-image:
    linear-gradient(rgba(60,179,222,.19) 1px,transparent 1px),
    linear-gradient(90deg,rgba(60,179,222,.19) 1px,transparent 1px);
  background-size:50px 32px;
  transform:perspective(340px) rotateX(58deg);
  transform-origin:center bottom;
}
.game-sun{
  position:absolute;
  left:50%;
  top:15%;
  width:180px;
  height:180px;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(180deg,#ffdf70 0%,#ff6077 46%,#b931d2 100%);
  box-shadow:0 0 80px rgba(234,62,180,.35);
  opacity:.92;
}
.game-sun::after{
  content:'';
  position:absolute;
  inset:55% 0 auto;
  height:8px;
  background:#08101d;
  box-shadow:0 18px 0 #08101d,0 36px 0 #08101d,0 54px 0 #08101d;
}
.game-road{
  position:absolute;
  left:50%;
  bottom:-4%;
  width:64%;
  height:56%;
  transform:translateX(-50%) perspective(560px) rotateX(62deg);
  transform-origin:center bottom;
  clip-path:polygon(33% 0,67% 0,100% 100%,0 100%);
  background:linear-gradient(90deg,#060910,#121724 50%,#060910);
  border-left:3px solid rgba(67,213,255,.72);
  border-right:3px solid rgba(255,74,191,.72);
}
.game-road i{
  position:absolute;
  left:49%;
  width:2%;
  height:16%;
  background:#f3f6ff;
  box-shadow:0 0 10px rgba(255,255,255,.65);
}
.game-road i:nth-child(1){top:2%}.game-road i:nth-child(2){top:22%}.game-road i:nth-child(3){top:42%}.game-road i:nth-child(4){top:62%}.game-road i:nth-child(5){top:82%}.game-road i:nth-child(6){top:102%}
.game-car{
  position:absolute;
  left:50%;
  bottom:13%;
  width:240px;
  height:98px;
  transform:translateX(-50%);
  filter:drop-shadow(0 18px 16px rgba(0,0,0,.75));
}
.game-car-body{
  position:absolute;
  left:20px;
  right:20px;
  top:17px;
  height:66px;
  border-radius:52% 52% 23% 23% / 55% 55% 25% 25%;
  background:linear-gradient(180deg,#302b70 0%,#151744 45%,#070b20 100%);
  border:2px solid rgba(128,109,255,.8);
  box-shadow:inset 0 -15px 30px rgba(6,8,25,.9),0 0 26px rgba(81,91,255,.3);
}
.game-car-body::before{
  content:'';
  position:absolute;
  left:50%;
  top:-23px;
  width:112px;
  height:42px;
  transform:translateX(-50%);
  border-radius:50% 50% 18% 18%;
  background:linear-gradient(180deg,#162945,#09111f);
  border:2px solid rgba(60,183,230,.4);
}
.game-wheel{
  position:absolute;
  bottom:0;
  width:38px;
  height:44px;
  border-radius:10px 10px 15px 15px;
  background:#020307;
  border:2px solid #232633;
}
.game-wheel-left{left:25px}.game-wheel-right{right:25px}
.game-light{
  position:absolute;
  top:53px;
  width:34px;
  height:10px;
  border-radius:999px;
  background:#ff245e;
  box-shadow:0 0 18px #ff245e,0 0 35px rgba(255,36,94,.7);
}
.game-light-left{left:48px}.game-light-right{right:48px}
.game-launch-content{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px;
  text-align:center;
  background:linear-gradient(180deg,rgba(3,7,15,.05),rgba(3,7,15,.10) 48%,rgba(3,7,15,.7));
}
.game-launch-logo{
  display:grid;
  line-height:.9;
  margin-top:-110px;
  text-shadow:0 0 34px rgba(78,213,255,.36);
}
.game-launch-logo b{
  color:#eafcff;
  font-size:clamp(28px,5vw,62px);
  font-weight:950;
  letter-spacing:.22em;
}
.game-launch-logo strong{
  font-size:clamp(38px,7vw,84px);
  font-weight:950;
  letter-spacing:.12em;
  background:linear-gradient(90deg,#61e8ff,#9a66ff 45%,#ff5b95);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.game-launch-content>p{
  max-width:680px;
  margin:16px 0 20px;
  color:#bed7df;
  font-size:11px;
}
.game-play-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:180px;
  min-height:52px;
  padding:0 28px;
  border:1px solid rgba(111,235,255,.75);
  border-radius:14px;
  background:linear-gradient(135deg,#0db5c8,#5a46dd);
  color:#fff;
  font-size:14px;
  font-weight:950;
  letter-spacing:.12em;
  cursor:pointer;
  box-shadow:0 13px 35px rgba(39,119,226,.28),0 0 26px rgba(57,212,235,.16);
  transition:transform .18s ease,filter .18s ease;
}
.game-play-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.game-play-icon{font-size:13px}
.game-control-hints{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:18px;
  color:#92afb8;
  font-size:9px;
}
.game-control-hints span{display:inline-flex;align-items:center;gap:5px}
.game-control-hints kbd{
  min-width:28px;
  padding:4px 6px;
  border:1px solid rgba(255,255,255,.18);
  border-bottom-color:rgba(255,255,255,.34);
  border-radius:6px;
  background:rgba(255,255,255,.07);
  color:#f1fbff;
  font:800 8px/1 system-ui,sans-serif;
}
.game-player{
  position:absolute;
  inset:0;
  background:#03060c;
}
.game-toolbar{
  height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 10px 0 14px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,#101725,#080c14);
}
.game-toolbar-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  color:#eaf9fc;
  font-size:10px;
}
.game-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#46e7a8;
  box-shadow:0 0 10px rgba(70,231,168,.75);
}
.game-toolbar-actions{display:flex;gap:5px}
.game-toolbar-actions button{
  width:34px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:9px;
  background:rgba(255,255,255,.06);
  color:#eaf9fc;
  cursor:pointer;
  font-size:14px;
}
.game-toolbar-actions button:hover{background:rgba(69,192,218,.16);border-color:rgba(91,217,240,.36)}
.game-frame-wrap{
  position:absolute;
  left:0;
  right:0;
  top:46px;
  bottom:0;
  background:#050a12;
}
.game-frame-wrap iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#050a12;
}
.game-frame-wrap:fullscreen{
  width:100%;
  height:100%;
  background:#050a12;
}
.game-loading{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#050a12;
  color:#dffaff;
  font-size:11px;
  pointer-events:none;
}
.game-loading[hidden]{display:none!important}
.game-loading-ring{
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid rgba(85,225,239,.17);
  border-top-color:#5ce4ef;
  animation:gameRing .75s linear infinite;
}
@keyframes gameRing{to{transform:rotate(360deg)}}
.game-hub-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  color:#8faeb7;
  font-size:9px;
}
.game-hub-footer a{color:#bdeef2;text-decoration:none}
.game-hub-footer a:hover{text-decoration:underline}

body.halloween-theme .game-hub-shell{
  background:linear-gradient(180deg,rgba(18,14,31,.88),rgba(5,27,35,.82))!important;
}
body.halloween-theme .game-stage{
  border-color:rgba(195,96,234,.24);
}

@media(max-width:760px){
  .game-hub-shell{padding:10px!important}
  .game-hub-head{display:block}
  .game-hub-badge{display:inline-block;margin-top:9px}
  .game-stage,.game-launch-screen{min-height:560px}
  .game-launch-logo{margin-top:-90px}
  .game-car{width:190px;height:80px}
  .game-launch-content{padding:18px}
  .game-control-hints{gap:7px}
  .game-hub-footer{align-items:flex-start;flex-direction:column}
}


/* V84 - HITSCAN replaces Velocity Rush */
.hitscan-stage{
  background:#9aaab4!important;
}
.hitscan-launch-screen{
  background:linear-gradient(180deg,#8fa7b4 0%,#b8c2c4 48%,#727976 100%)!important;
}
.hitscan-hero-scene{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(218,233,238,.18),rgba(119,139,145,.04) 48%,rgba(24,29,30,.20)),
    #9cabb1;
}
.hitscan-sky{
  position:absolute;
  inset:0 0 42%;
  background:
    radial-gradient(ellipse at 58% 30%,rgba(255,255,255,.64),transparent 24%),
    linear-gradient(180deg,#96acb7,#c4cdd0);
}
.hitscan-sun{
  position:absolute;
  left:57%;
  top:15%;
  width:102px;
  height:102px;
  border-radius:50%;
  background:#fff6d4;
  box-shadow:
    0 0 32px rgba(255,244,205,.9),
    0 0 90px rgba(255,226,158,.62),
    0 0 150px rgba(255,218,130,.26);
}
.hitscan-building{
  position:absolute;
  bottom:29%;
  background:linear-gradient(180deg,#4e5658,#303637);
  box-shadow:0 15px 30px rgba(15,19,20,.22);
}
.hitscan-building::before{
  content:'';
  position:absolute;
  inset:12px;
  opacity:.58;
  background:
    repeating-linear-gradient(90deg,transparent 0 34px,rgba(12,15,16,.38) 35px 50px);
}
.hitscan-building-a{
  left:-3%;
  width:42%;
  height:39%;
  clip-path:polygon(0 13%,82% 0,100% 100%,0 100%);
}
.hitscan-building-b{
  right:-4%;
  width:35%;
  height:32%;
  clip-path:polygon(0 0,100% 14%,100% 100%,10% 100%);
}
.hitscan-ground{
  position:absolute;
  left:-5%;
  right:-5%;
  bottom:-5%;
  height:40%;
  background:
    linear-gradient(180deg,rgba(113,118,113,.38),rgba(43,47,45,.95)),
    repeating-linear-gradient(96deg,rgba(255,255,255,.05) 0 2px,transparent 2px 110px);
  transform:perspective(800px) rotateX(15deg);
  transform-origin:center bottom;
}
.hitscan-crate{
  position:absolute;
  bottom:22%;
  width:100px;
  height:73px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.09),transparent 35%),
    #55564e;
  border:4px solid #393a35;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}
.hitscan-crate::after{
  content:'';
  position:absolute;
  inset:13px;
  border:4px solid rgba(38,39,35,.68);
}
.hitscan-crate-a{left:19%;transform:rotate(-3deg)}
.hitscan-crate-b{right:22%;bottom:24%;transform:scale(.8) rotate(4deg)}
.hitscan-weapon{
  position:absolute;
  right:4%;
  bottom:5%;
  width:min(48%,560px);
  height:190px;
  transform:rotate(-5deg);
  filter:drop-shadow(0 22px 20px rgba(0,0,0,.46));
}
.hitscan-rifle{
  position:absolute;
  right:0;
  bottom:42px;
  width:90%;
  height:70px;
  border-radius:11px 16px 10px 20px;
  background:
    linear-gradient(180deg,#363a38 0%,#151918 56%,#090c0c 100%);
  border:2px solid rgba(120,128,124,.54);
}
.hitscan-rifle::before{
  content:'';
  position:absolute;
  right:-16%;
  top:16px;
  width:26%;
  height:20px;
  border-radius:4px;
  background:#111514;
  box-shadow:inset 0 0 0 2px rgba(100,110,107,.35);
}
.hitscan-rifle::after{
  content:'';
  position:absolute;
  left:16%;
  bottom:-58px;
  width:52px;
  height:72px;
  border-radius:7px 7px 13px 13px;
  background:linear-gradient(100deg,#252a28,#0b0f0e);
  transform:skew(-8deg);
}
.hitscan-scope{
  position:absolute;
  left:31%;
  bottom:103px;
  width:130px;
  height:39px;
  border-radius:18px 12px 12px 18px;
  background:linear-gradient(180deg,#343a39,#111615);
  border:2px solid #555e5b;
}
.hitscan-scope::after{
  content:'';
  position:absolute;
  right:6px;
  top:6px;
  width:23px;
  height:23px;
  border-radius:50%;
  background:radial-gradient(circle,#4d7174 0 24%,#162021 30% 50%,#050707 55%);
}
.hitscan-grip{
  position:absolute;
  left:53%;
  bottom:0;
  width:43px;
  height:87px;
  border-radius:8px 8px 17px 17px;
  background:linear-gradient(90deg,#171b19,#303532,#101311);
  transform:rotate(9deg);
}
.hitscan-vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at center,transparent 42%,rgba(13,17,18,.36) 100%),
    linear-gradient(90deg,rgba(18,23,24,.24),transparent 20% 80%,rgba(16,20,20,.27));
}
.hitscan-launch-content{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
  padding:76px 7%!important;
  background:linear-gradient(90deg,rgba(20,28,31,.70) 0%,rgba(20,28,31,.32) 42%,transparent 70%)!important;
}
.hitscan-logo{
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  line-height:.8;
  text-shadow:0 2px 16px rgba(0,0,0,.4);
}
.hitscan-logo b,
.hitscan-logo strong{
  font-size:clamp(42px,7vw,88px);
  font-weight:950;
  letter-spacing:-.06em;
}
.hitscan-logo b{color:#f3f5f2}
.hitscan-logo strong{color:#d6a52d}
.hitscan-logo small{
  grid-column:1/-1;
  margin-top:14px;
  color:#d2d8d6;
  font-size:10px;
  font-weight:900;
  letter-spacing:.28em;
}
.hitscan-launch-content>p{
  max-width:540px!important;
  margin:24px 0 22px!important;
  color:#e0e6e3!important;
  font-size:11px!important;
}
.hitscan-play-btn{
  min-width:190px!important;
  border-color:#d5aa42!important;
  background:linear-gradient(135deg,#bd8f24,#705316)!important;
  box-shadow:0 13px 32px rgba(67,50,15,.25)!important;
}
.hitscan-launch-content .game-control-hints{
  justify-content:flex-start!important;
  max-width:600px;
}
.game-toolbar-title small{
  color:#7899a5;
  font-size:8px;
  font-weight:700;
}
.game-loading small{
  max-width:420px;
  color:#7f9aa5;
  font-size:9px;
  line-height:1.5;
  text-align:center;
}
.game-source-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

@media(max-width:760px){
  .hitscan-launch-content{
    padding:52px 26px!important;
    background:linear-gradient(180deg,rgba(20,28,31,.68),rgba(20,28,31,.28) 60%,rgba(20,28,31,.18))!important;
  }
  .hitscan-weapon{
    right:-12%;
    width:72%;
    opacity:.82;
  }
  .hitscan-building-a{width:52%}
  .hitscan-building-b{width:44%}
  .hitscan-logo b,.hitscan-logo strong{font-size:48px}
}


/* V85 - game picker + Combat Reloaded */
.game-picker{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.game-choice{
  min-width:0;
  display:grid;
  grid-template-columns:84px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:84px;
  padding:9px 12px 9px 9px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  color:#eaf9fc;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.game-choice:hover{
  transform:translateY(-1px);
  border-color:rgba(113,215,229,.34);
  background:rgba(79,160,177,.08);
}
.game-choice.active{
  border-color:rgba(103,224,235,.58);
  background:rgba(53,157,177,.13);
  box-shadow:inset 0 0 0 1px rgba(103,224,235,.08);
}
.game-choice-art{
  position:relative;
  height:64px;
  overflow:hidden;
  border-radius:12px;
  background:#17222a;
}
.game-choice-copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.game-choice-copy b{
  color:#f2fcff;
  font-size:11px;
  letter-spacing:.04em;
}
.game-choice-copy small{
  overflow:hidden;
  color:#91adb7;
  font-size:9px;
  line-height:1.35;
  text-overflow:ellipsis;
}
.game-choice-tag{
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#9fc6ce;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}
.hitscan-choice-art{
  background:
    linear-gradient(180deg,#94aab4 0%,#b8c2c3 58%,#525d59 59%,#323936 100%);
}
.choice-sun{
  position:absolute;
  right:13px;
  top:8px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff2be;
  box-shadow:0 0 18px rgba(255,236,173,.76);
}
.choice-rifle{
  position:absolute;
  left:16px;
  bottom:13px;
  width:55px;
  height:12px;
  border-radius:3px;
  background:#171b1a;
  transform:rotate(-12deg);
}
.choice-rifle::before{
  content:'';
  position:absolute;
  left:20px;
  top:-7px;
  width:22px;
  height:8px;
  border-radius:3px;
  background:#282f2d;
}
.choice-rifle::after{
  content:'';
  position:absolute;
  left:14px;
  top:8px;
  width:9px;
  height:20px;
  border-radius:2px;
  background:#121615;
  transform:rotate(8deg);
}
.combat-choice-art{
  background:
    linear-gradient(180deg,#4a779b 0%,#7aa2bd 47%,#a37b51 48%,#554332 100%);
}
.combat-crosshair{
  position:absolute;
  left:50%;
  top:50%;
  width:25px;
  height:25px;
  transform:translate(-50%,-55%);
}
.combat-crosshair::before,
.combat-crosshair::after{
  content:'';
  position:absolute;
  background:rgba(255,255,255,.85);
}
.combat-crosshair::before{left:12px;top:0;width:1px;height:25px}
.combat-crosshair::after{left:0;top:12px;width:25px;height:1px}
.combat-rifle{
  position:absolute;
  right:5px;
  bottom:7px;
  width:54px;
  height:10px;
  background:#15191c;
  border-radius:3px;
  transform:rotate(-18deg);
}

.combat-stage{
  background:#547b91!important;
}
.combat-launch-screen{
  background:linear-gradient(180deg,#4c7797 0%,#86a6b8 46%,#8e765c 47%,#3c332b 100%)!important;
}
.combat-hero-scene{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:linear-gradient(180deg,#5f8dad 0%,#9cb7c6 45%,#89725c 46%,#4c4035 100%);
}
.combat-sky{
  position:absolute;
  inset:0 0 48%;
  background:
    radial-gradient(circle at 68% 22%,rgba(255,255,255,.66),transparent 6%),
    linear-gradient(180deg,#4e7fa4,#a8bfca);
}
.combat-yard{
  position:absolute;
  left:-5%;
  right:-5%;
  bottom:-2%;
  height:48%;
  background:
    repeating-linear-gradient(100deg,rgba(255,255,255,.04) 0 2px,transparent 2px 130px),
    linear-gradient(180deg,#86725e,#4a4035);
  transform:perspective(850px) rotateX(8deg);
  transform-origin:center bottom;
}
.combat-container{
  position:absolute;
  bottom:27%;
  height:30%;
  border:3px solid rgba(40,47,50,.62);
  box-shadow:0 16px 25px rgba(0,0,0,.22);
}
.combat-container::before{
  content:'';
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 6px,rgba(0,0,0,.09) 7px 12px);
}
.combat-container-a{
  left:-2%;
  width:34%;
  background:#86644a;
}
.combat-container-b{
  right:4%;
  width:27%;
  height:25%;
  background:#4b6870;
}
.combat-wall{
  position:absolute;
  left:32%;
  bottom:28%;
  width:34%;
  height:18%;
  background:#66625a;
  clip-path:polygon(0 18%,100% 0,100% 100%,0 100%);
}
.combat-weapon{
  position:absolute;
  right:1%;
  bottom:2%;
  width:min(50%,570px);
  height:205px;
  transform:rotate(-7deg);
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.48));
}
.combat-gun-main{
  position:absolute;
  right:0;
  bottom:62px;
  width:84%;
  height:56px;
  border-radius:8px 13px 8px 16px;
  background:linear-gradient(180deg,#30363a,#111619 58%,#090c0e);
  border:2px solid rgba(102,111,115,.48);
}
.combat-gun-main::before{
  content:'';
  position:absolute;
  right:-18%;
  top:15px;
  width:24%;
  height:14px;
  background:#121719;
  border-radius:3px;
}
.combat-gun-stock{
  position:absolute;
  left:2%;
  bottom:69px;
  width:28%;
  height:42px;
  clip-path:polygon(0 18%,100% 0,100% 100%,12% 78%);
  background:#1a2022;
}
.combat-gun-mag{
  position:absolute;
  left:53%;
  bottom:13px;
  width:42px;
  height:74px;
  border-radius:5px 5px 13px 13px;
  background:linear-gradient(90deg,#111719,#2b3031,#101416);
  transform:rotate(7deg);
}
.combat-hud-crosshair{
  position:absolute;
  left:50%;
  top:49%;
  width:58px;
  height:58px;
  transform:translate(-50%,-50%);
}
.combat-hud-crosshair i{
  position:absolute;
  background:rgba(255,255,255,.78);
  box-shadow:0 0 5px rgba(0,0,0,.5);
}
.combat-hud-crosshair i:nth-child(1){left:28px;top:0;width:2px;height:20px}
.combat-hud-crosshair i:nth-child(2){left:28px;bottom:0;width:2px;height:20px}
.combat-hud-crosshair i:nth-child(3){left:0;top:28px;width:20px;height:2px}
.combat-hud-crosshair i:nth-child(4){right:0;top:28px;width:20px;height:2px}
.combat-vignette{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,transparent 43%,rgba(17,24,28,.42) 100%);
}
.combat-logo{
  display:grid;
  line-height:.82;
  text-shadow:0 2px 14px rgba(0,0,0,.42);
}
.combat-logo b,
.combat-logo strong{
  font-size:clamp(40px,6vw,78px);
  font-weight:950;
  letter-spacing:-.045em;
}
.combat-logo b{color:#f3f6f7}
.combat-logo strong{color:#e4a230}
.combat-logo small{
  margin-top:14px;
  color:#d7e0e2;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
}
.combat-play-btn{
  min-width:190px!important;
  border-color:#e6a840!important;
  background:linear-gradient(135deg,#cf8a26,#8a4517)!important;
  box-shadow:0 13px 32px rgba(92,47,16,.26)!important;
}

@media(max-width:760px){
  .game-picker{grid-template-columns:1fr}
  .game-choice{grid-template-columns:72px minmax(0,1fr) auto}
  .game-choice-art{height:56px}
  .combat-weapon{right:-12%;width:76%;opacity:.9}
}


/* V86 - Quake III Arena / QuakeJS replaces HITSCAN */
.quake-choice-art{
  background:
    radial-gradient(circle at 62% 38%,rgba(116,255,151,.34),transparent 26%),
    linear-gradient(180deg,#172125 0%,#263638 47%,#5d4b38 48%,#231c18 100%);
}
.quake-choice-portal{
  position:absolute;
  right:12px;
  top:10px;
  width:34px;
  height:44px;
  border:3px solid #6fff93;
  border-radius:50%;
  box-shadow:0 0 11px rgba(104,255,144,.72),inset 0 0 10px rgba(104,255,144,.28);
}
.quake-choice-rail{
  position:absolute;
  left:10px;
  bottom:12px;
  width:58px;
  height:11px;
  border-radius:3px;
  background:#171c1e;
  transform:rotate(-10deg);
}
.quake-choice-rail::after{
  content:'';
  position:absolute;
  right:-15px;
  top:3px;
  width:20px;
  height:5px;
  border-radius:3px;
  background:#313b3e;
}

.quake-stage{background:#11191c!important}
.quake-launch-screen{
  background:linear-gradient(180deg,#182629 0%,#344446 44%,#665540 45%,#1a1512 100%)!important;
}
.quake-hero-scene{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(circle at 69% 28%,rgba(152,255,177,.13),transparent 24%),
    linear-gradient(180deg,#17262a,#3b4948 45%,#594d3e 46%,#1b1715 100%);
}
.quake-sky{
  position:absolute;
  inset:0 0 46%;
  background:
    radial-gradient(circle at 70% 25%,rgba(189,225,202,.34),transparent 16%),
    linear-gradient(180deg,#111b20,#344447);
}
.quake-moon{
  position:absolute;
  right:20%;
  top:12%;
  width:88px;
  height:88px;
  border-radius:50%;
  background:#c7d5ca;
  box-shadow:0 0 40px rgba(162,214,177,.26);
  opacity:.76;
}
.quake-platform{
  position:absolute;
  left:-5%;
  right:-5%;
  bottom:-4%;
  height:47%;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.16) 0 3px,transparent 3px 88px),
    linear-gradient(180deg,#64533f,#2b231d);
  transform:perspective(900px) rotateX(9deg);
  transform-origin:center bottom;
}
.quake-arch{
  position:absolute;
  bottom:27%;
  width:31%;
  height:34%;
  border:24px solid #34302a;
  border-bottom:0;
  border-radius:50% 50% 0 0;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.04),0 16px 30px rgba(0,0,0,.28);
}
.quake-arch-a{left:1%}
.quake-arch-b{right:5%;transform:scale(.78)}
.quake-portal{
  position:absolute;
  left:50%;
  bottom:28%;
  width:128px;
  height:184px;
  transform:translateX(-50%);
  border:10px solid #445447;
  border-radius:50% 50% 8px 8px;
  background:
    radial-gradient(ellipse at center,rgba(206,255,208,.96) 0%,rgba(80,232,118,.62) 34%,rgba(39,123,66,.55) 54%,rgba(5,19,10,.94) 76%);
  box-shadow:
    0 0 30px rgba(74,255,117,.5),
    0 0 70px rgba(74,255,117,.24),
    inset 0 0 24px rgba(235,255,237,.46);
}
.quake-weapon{
  position:absolute;
  right:2%;
  bottom:1%;
  width:min(50%,570px);
  height:205px;
  transform:rotate(-6deg);
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.54));
}
.quake-gun-main{
  position:absolute;
  right:0;
  bottom:58px;
  width:82%;
  height:61px;
  border-radius:13px 19px 11px 24px;
  background:linear-gradient(180deg,#4a514f,#1a211f 54%,#090d0c);
  border:2px solid rgba(126,139,134,.5);
}
.quake-gun-barrel{
  position:absolute;
  right:-15%;
  bottom:76px;
  width:28%;
  height:18px;
  border-radius:5px;
  background:#141a19;
  box-shadow:inset 0 0 0 2px rgba(93,111,105,.28);
}
.quake-gun-coil{
  position:absolute;
  left:34%;
  bottom:105px;
  width:105px;
  height:28px;
  border-radius:999px;
  background:
    repeating-linear-gradient(90deg,#29302e 0 8px,#69db81 9px 12px,#222926 13px 18px);
  box-shadow:0 0 12px rgba(78,240,111,.2);
}
.quake-crosshair{
  position:absolute;
  left:50%;
  top:50%;
  width:58px;
  height:58px;
  transform:translate(-50%,-50%);
}
.quake-crosshair i{
  position:absolute;
  background:rgba(166,255,178,.82);
  box-shadow:0 0 6px rgba(93,255,116,.5);
}
.quake-crosshair i:nth-child(1){left:28px;top:0;width:2px;height:20px}
.quake-crosshair i:nth-child(2){left:28px;bottom:0;width:2px;height:20px}
.quake-crosshair i:nth-child(3){left:0;top:28px;width:20px;height:2px}
.quake-crosshair i:nth-child(4){right:0;top:28px;width:20px;height:2px}
.quake-vignette{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,transparent 42%,rgba(7,11,10,.46) 100%);
}
.quake-launch-content{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
  padding:76px 7%!important;
  background:linear-gradient(90deg,rgba(11,18,18,.72) 0%,rgba(11,18,18,.34) 42%,transparent 72%)!important;
}
.quake-logo{
  display:grid;
  line-height:.82;
  text-shadow:0 2px 15px rgba(0,0,0,.5);
}
.quake-logo b,
.quake-logo strong{
  font-size:clamp(42px,7vw,86px);
  font-weight:950;
  letter-spacing:-.055em;
}
.quake-logo b{color:#f1f3ed}
.quake-logo strong{color:#88e79a}
.quake-logo small{
  margin-top:14px;
  color:#cbd6ce;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
}
.quake-launch-content>p{
  max-width:560px!important;
  margin:24px 0 22px!important;
  color:#dfe8e2!important;
  font-size:11px!important;
}
.quake-play-btn{
  min-width:190px!important;
  border-color:#72dd88!important;
  background:linear-gradient(135deg,#4aaf66,#225d35)!important;
  box-shadow:0 13px 32px rgba(30,82,45,.28)!important;
}

@media(max-width:760px){
  .quake-launch-content{
    padding:52px 26px!important;
    background:linear-gradient(180deg,rgba(10,17,17,.68),rgba(10,17,17,.28) 60%,rgba(10,17,17,.14))!important;
  }
  .quake-weapon{right:-12%;width:76%;opacity:.9}
  .quake-logo b,.quake-logo strong{font-size:47px}
  .quake-portal{width:95px;height:145px}
}


/* V87 - 8 game library */
.game-picker-many{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-height:392px;
  overflow-y:auto;
  padding-right:4px;
  scrollbar-gutter:stable;
}
.game-picker-many::-webkit-scrollbar{width:7px}
.game-picker-many::-webkit-scrollbar-thumb{background:rgba(145,211,222,.22);border-radius:999px}

.flying-choice-art{
  background:linear-gradient(180deg,#55a5d1 0%,#a9d5e8 47%,#777 48%,#2d3134 100%);
}
.flying-choice-art i:first-child{
  position:absolute;left:16px;bottom:15px;width:54px;height:17px;border-radius:7px 13px 5px 5px;background:#d43242;transform:rotate(-7deg);
}
.flying-choice-art i:first-child::before{
  content:'';position:absolute;left:11px;top:-10px;width:26px;height:11px;border-radius:7px 9px 0 0;background:#7bb5d6;
}
.flying-choice-art i:last-child{
  position:absolute;right:7px;top:9px;width:30px;height:3px;background:rgba(255,255,255,.8);box-shadow:0 7px 0 rgba(255,255,255,.54),0 14px 0 rgba(255,255,255,.3);
  transform:rotate(-13deg);
}
.drift-choice-art{
  background:linear-gradient(180deg,#35587a 0%,#7694a4 44%,#404246 45%,#17191b 100%);
}
.drift-choice-art i:first-child{
  position:absolute;left:13px;bottom:13px;width:57px;height:17px;border-radius:12px 16px 6px 6px;background:#e6b326;transform:rotate(5deg);
}
.drift-choice-art i:last-child{
  position:absolute;left:6px;bottom:5px;width:74px;height:18px;border-radius:50%;border-bottom:3px solid rgba(245,245,245,.6);transform:rotate(7deg);
}
.moto-choice-art{
  background:linear-gradient(180deg,#f0c55b 0%,#f7e3a0 47%,#806944 48%,#2e271e 100%);
}
.moto-choice-art i:first-child{
  position:absolute;left:15px;bottom:15px;width:46px;height:9px;background:#222;border-radius:8px;transform:rotate(-15deg);
}
.moto-choice-art i:first-child::before,.moto-choice-art i:first-child::after{
  content:'';position:absolute;bottom:-9px;width:15px;height:15px;border-radius:50%;border:3px solid #1d1d1d;background:#555;
}
.moto-choice-art i:first-child::before{left:-4px}.moto-choice-art i:first-child::after{right:-4px}
.moto-choice-art i:last-child{
  position:absolute;left:40px;bottom:27px;width:18px;height:22px;border-radius:50% 50% 40% 40%;background:#db3b30;transform:rotate(-10deg);
}
.zombie-choice-art{
  background:linear-gradient(180deg,#354d43 0%,#5d7465 44%,#30342f 45%,#141714 100%);
}
.zombie-choice-art i:first-child{
  position:absolute;left:18px;bottom:10px;width:14px;height:38px;border-radius:8px 8px 3px 3px;background:#425b38;box-shadow:22px -5px 0 #374d32,44px 2px 0 #4f6245;
}
.zombie-choice-art i:last-child{
  position:absolute;right:8px;bottom:14px;width:47px;height:8px;border-radius:3px;background:#171b19;transform:rotate(-12deg);
}
.bus-choice-art{
  background:linear-gradient(180deg,#59a9dc 0%,#a8dbef 42%,#c5c4bf 43%,#54595b 100%);
}
.bus-choice-art i:first-child{
  position:absolute;left:13px;bottom:9px;width:13px;height:55px;border-radius:4px;background:#555;box-shadow:22px 0 0 #555,44px 0 0 #555;
}
.bus-choice-art i:last-child{
  position:absolute;right:14px;bottom:15px;width:18px;height:26px;border-radius:8px 8px 4px 4px;background:#e34b31;
}
.soccer-choice-art{
  background:linear-gradient(180deg,#71b6df 0%,#c8e5f1 48%,#43a64d 49%,#1d6f2b 100%);
}
.soccer-choice-art i:first-child{
  position:absolute;left:18px;bottom:14px;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 28%,#111 29% 41%,#fff 42% 64%,#111 65% 72%,#fff 73%);
}
.soccer-choice-art i:last-child{
  position:absolute;right:11px;bottom:10px;width:31px;height:39px;border:2px solid rgba(255,255,255,.8);border-bottom:0;
}

.gd-launch-screen{
  background:#1d2730!important;
}
.gd-hero-scene{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.gd-scene-sky{
  position:absolute;inset:0 0 44%;background:linear-gradient(180deg,#4b83a5,#b8d0db);
}
.gd-scene-ground{
  position:absolute;left:-5%;right:-5%;bottom:-3%;height:58%;background:linear-gradient(180deg,#666,#24272a);transform:perspective(900px) rotateX(8deg);transform-origin:center bottom;
}
.gd-scene-object{
  position:absolute;bottom:25%;box-shadow:0 18px 26px rgba(0,0,0,.28);
}
.gd-scene-object-a{left:7%;width:28%;height:32%;background:#646d72}
.gd-scene-object-b{right:7%;width:24%;height:25%;background:#7a6049}
.gd-scene-focus{
  position:absolute;left:50%;bottom:12%;width:260px;height:110px;transform:translateX(-50%);
}
.gd-scene-focus i:first-child{
  position:absolute;left:28px;right:28px;bottom:28px;height:48px;border-radius:26px 32px 11px 11px;background:#d1403d;box-shadow:0 14px 24px rgba(0,0,0,.34);
}
.gd-scene-focus i:last-child{
  position:absolute;left:72px;bottom:65px;width:112px;height:35px;border-radius:50% 50% 10px 10px;background:#729eb5;
}
.gd-scene-vignette{
  position:absolute;inset:0;background:radial-gradient(circle at center,transparent 42%,rgba(8,13,16,.45) 100%);
}
.gd-game-logo{
  display:grid;line-height:.82;text-shadow:0 2px 15px rgba(0,0,0,.5);
}
.gd-game-logo b,.gd-game-logo strong{
  font-size:clamp(40px,6vw,76px);font-weight:950;letter-spacing:-.045em;
}
.gd-game-logo b{color:#f5f7f8}.gd-game-logo strong{color:#f0b23e}
.gd-game-logo small{margin-top:14px;color:#d8e2e5;font-size:10px;font-weight:900;letter-spacing:.19em}
.gd-launch-screen+.game-launch-content{}

.gd-theme-flying .gd-scene-sky{background:linear-gradient(180deg,#419ed3,#c1e5f3)}
.gd-theme-flying .gd-scene-ground{background:linear-gradient(180deg,#8e9395,#303438)}
.gd-theme-flying .gd-scene-focus{bottom:21%;transform:translateX(-50%) rotate(-4deg)}
.gd-theme-flying .gd-scene-focus i:first-child{background:#d52f3d}
.gd-theme-flying .gd-scene-focus::after{
  content:'';position:absolute;left:50%;top:-18px;width:210px;height:8px;background:#333;transform:translateX(-50%);box-shadow:0 0 18px rgba(255,255,255,.25);
}
.gd-theme-drift .gd-scene-sky{background:linear-gradient(180deg,#314f6e,#94adba)}
.gd-theme-drift .gd-scene-ground{background:linear-gradient(180deg,#44494d,#111416)}
.gd-theme-drift .gd-scene-focus i:first-child{background:#e1a91e}
.gd-theme-drift .gd-scene-ground::after{
  content:'';position:absolute;left:18%;right:15%;top:42%;height:4px;border-radius:50%;border-top:4px solid rgba(255,255,255,.58);transform:rotate(6deg);
}
.gd-theme-moto .gd-scene-sky{background:linear-gradient(180deg,#e2ae45,#f2d889)}
.gd-theme-moto .gd-scene-ground{background:linear-gradient(180deg,#7d633c,#2a2119)}
.gd-theme-moto .gd-scene-focus i:first-child{height:12px;bottom:38px;background:#222;transform:rotate(-12deg)}
.gd-theme-moto .gd-scene-focus i:last-child{left:112px;bottom:61px;width:30px;height:45px;background:#d94032}
.gd-theme-zombie .gd-scene-sky{background:linear-gradient(180deg,#293c34,#576b5e)}
.gd-theme-zombie .gd-scene-ground{background:linear-gradient(180deg,#3b403b,#151816)}
.gd-theme-zombie .gd-scene-object-a,.gd-theme-zombie .gd-scene-object-b{background:#38463a}
.gd-theme-zombie .gd-scene-focus i:first-child{right:0;left:75px;height:15px;background:#161b18}
.gd-theme-zombie .gd-scene-focus i:last-child{left:25px;bottom:18px;width:24px;height:76px;border-radius:12px 12px 4px 4px;background:#52684b;box-shadow:50px -12px 0 #3f5540}
.gd-theme-bus .gd-scene-sky{background:linear-gradient(180deg,#4da6d7,#b8dfef)}
.gd-theme-bus .gd-scene-ground{background:repeating-linear-gradient(90deg,#4f5558 0 12%,#2c3032 12% 24%)}
.gd-theme-bus .gd-scene-focus i:first-child{left:110px;right:auto;width:28px;height:68px;border-radius:13px;background:#e04a2e}
.gd-theme-bus .gd-scene-focus i:last-child{display:none}
.gd-theme-soccer .gd-scene-sky{background:linear-gradient(180deg,#6bb7df,#d0ebf5)}
.gd-theme-soccer .gd-scene-ground{background:repeating-linear-gradient(90deg,#348f43 0 10%,#2c7c38 10% 20%)}
.gd-theme-soccer .gd-scene-object-a,.gd-theme-soccer .gd-scene-object-b{height:12%;bottom:43%;background:#dbe6e8}
.gd-theme-soccer .gd-scene-focus i:first-child{left:104px;right:auto;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 28%,#111 29% 41%,#fff 42% 64%,#111 65% 72%,#fff 73%)}
.gd-theme-soccer .gd-scene-focus i:last-child{display:none}

.flying-stage{background:#4b8db1!important}.drift-stage{background:#31485b!important}.moto-stage{background:#bd8d39!important}
.zombie-stage{background:#2c3d34!important}.bus-stage{background:#4f9ec9!important}.soccer-stage{background:#2f873e!important}

.flying-play-btn{background:linear-gradient(135deg,#3098d0,#256887)!important;border-color:#8bd9ff!important}
.drift-play-btn{background:linear-gradient(135deg,#d59c20,#7b5611)!important;border-color:#efc45e!important}
.moto-play-btn{background:linear-gradient(135deg,#e66032,#8f2c19)!important;border-color:#ff9a72!important}
.zombie-play-btn{background:linear-gradient(135deg,#4e7f50,#27462b)!important;border-color:#84bb78!important}
.bus-play-btn{background:linear-gradient(135deg,#24a0d6,#1f5f91)!important;border-color:#80d9ff!important}
.soccer-play-btn{background:linear-gradient(135deg,#3aa84b,#216a2e)!important;border-color:#82d98b!important}

@media(max-width:760px){
  .game-picker-many{grid-template-columns:1fr!important;max-height:470px}
  .gd-scene-focus{transform:translateX(-50%) scale(.82)}
  .gd-game-logo b,.gd-game-logo strong{font-size:44px}
}


/* V88 - curated embeddable game library */
.game-category-bar{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 12px;
}
.game-filter{
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#a9c4cc;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.game-filter:hover{border-color:rgba(111,224,235,.32);color:#dffbff}
.game-filter.active{
  border-color:rgba(100,224,235,.58);
  background:rgba(55,160,179,.15);
  color:#e8fdff;
}

.game-picker-v88{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-height:320px;
  overflow-y:auto;
  padding-right:4px;
  scrollbar-gutter:stable;
}
.game-picker-v88::-webkit-scrollbar{width:7px}
.game-picker-v88::-webkit-scrollbar-thumb{background:rgba(145,211,222,.22);border-radius:999px}
.game-choice[hidden]{display:none!important}

.v88-art{
  position:relative;
  overflow:hidden;
}
.v88-art-madalin{
  background:linear-gradient(180deg,#52a7d5 0%,#b7deee 45%,#565a5c 46%,#24272a 100%);
}
.v88-art-madalin i:first-child{
  position:absolute;left:13px;bottom:12px;width:58px;height:18px;border-radius:12px 17px 6px 6px;background:#d9313d;transform:rotate(-5deg);
}
.v88-art-madalin i:first-child::before{
  content:'';position:absolute;left:14px;top:-11px;width:28px;height:12px;border-radius:9px 10px 1px 1px;background:#7eb8d1;
}
.v88-art-madalin i:last-child{
  position:absolute;right:8px;top:11px;width:32px;height:4px;background:rgba(255,255,255,.82);box-shadow:0 8px 0 rgba(255,255,255,.5),0 16px 0 rgba(255,255,255,.25);transform:rotate(-12deg);
}

.v88-art-basketball{
  background:linear-gradient(180deg,#7ab6d6 0%,#d6e9f1 44%,#b77a42 45%,#6a3c20 100%);
}
.v88-art-basketball i:first-child{
  position:absolute;left:16px;bottom:12px;width:29px;height:29px;border-radius:50%;background:radial-gradient(circle at 36% 35%,#ffae32 0 44%,#d47418 45% 100%);
  box-shadow:inset -2px -2px 0 rgba(0,0,0,.18);
}
.v88-art-basketball i:last-child{
  position:absolute;right:13px;top:12px;width:28px;height:24px;border:3px solid #eef7fa;border-bottom:0;
}
.v88-art-basketball i:last-child::after{
  content:'';position:absolute;left:-7px;right:-7px;bottom:-8px;height:3px;background:#ef6f3a;
}

.v88-art-billiards{
  background:linear-gradient(180deg,#186d52,#0d4937);
}
.v88-art-billiards i:first-child{
  position:absolute;left:16px;bottom:13px;width:26px;height:26px;border-radius:50%;background:#111;box-shadow:28px -7px 0 #f4f4f4,48px 6px 0 #e3b631;
}
.v88-art-billiards i:first-child::after{
  content:'8';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:900 10px/1 system-ui;
}
.v88-art-billiards i:last-child{
  position:absolute;right:7px;top:13px;width:58px;height:4px;border-radius:4px;background:#d5b68b;transform:rotate(-28deg);
}

.v88-art-cutrope{
  background:linear-gradient(180deg,#8ed654,#d8ef7a);
}
.v88-art-cutrope i:first-child{
  position:absolute;left:20px;bottom:12px;width:37px;height:32px;border-radius:48% 48% 44% 44%;background:#4ba83b;
}
.v88-art-cutrope i:first-child::before{
  content:'';position:absolute;left:8px;top:8px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:15px 0 0 #fff;
}
.v88-art-cutrope i:first-child::after{
  content:'';position:absolute;left:10px;top:10px;width:3px;height:3px;border-radius:50%;background:#111;box-shadow:15px 0 0 #111;
}
.v88-art-cutrope i:last-child{
  position:absolute;right:13px;top:-5px;width:2px;height:52px;background:#e7e2c8;transform:rotate(12deg);
}
.v88-art-cutrope i:last-child::after{
  content:'';position:absolute;left:-7px;bottom:-11px;width:16px;height:16px;border-radius:50%;background:#f7cf3b;
}

.v88-art-firewater{
  background:linear-gradient(180deg,#33385f 0%,#514b79 45%,#24223b 46%,#161523 100%);
}
.v88-art-firewater i:first-child,
.v88-art-firewater i:last-child{
  position:absolute;bottom:11px;width:21px;height:37px;border-radius:10px 10px 5px 5px;
}
.v88-art-firewater i:first-child{left:22px;background:#e95538;box-shadow:0 0 14px rgba(239,89,54,.55)}
.v88-art-firewater i:last-child{right:22px;background:#38a8e9;box-shadow:0 0 14px rgba(56,168,233,.55)}

.v88-stage{background:#172026!important}
.v88-launch-screen{background:#172026!important}
.v88-hero{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:linear-gradient(180deg,#526f80,#a5b8c0 45%,#54524c 46%,#252522 100%);
}
.v88-sky{position:absolute;inset:0 0 46%;background:linear-gradient(180deg,#4d7b97,#b5d0dc)}
.v88-ground{position:absolute;left:-5%;right:-5%;bottom:-3%;height:56%;background:linear-gradient(180deg,#63625d,#242522);transform:perspective(900px) rotateX(8deg);transform-origin:center bottom}
.v88-object-a,.v88-object-b{position:absolute;bottom:27%;box-shadow:0 15px 24px rgba(0,0,0,.24)}
.v88-object-a{left:5%;width:28%;height:29%;background:#555c5f}
.v88-object-b{right:5%;width:25%;height:23%;background:#765a44}
.v88-focus{position:absolute;left:50%;bottom:11%;width:300px;height:145px;transform:translateX(-50%)}
.v88-focus i{position:absolute}
.v88-focus i:first-child{left:40px;right:40px;bottom:33px;height:48px;border-radius:24px 30px 10px 10px;background:#1e2223}
.v88-focus i:nth-child(2){left:82px;bottom:70px;width:120px;height:32px;border-radius:50% 50% 8px 8px;background:#47575d}
.v88-focus i:nth-child(3){right:20px;bottom:55px;width:86px;height:10px;border-radius:5px;background:#161a1b}
.v88-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 42%,rgba(7,11,13,.46) 100%)}

.v88-launch-content{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  text-align:left!important;
  padding:74px 7%!important;
  background:linear-gradient(90deg,rgba(8,14,18,.84) 0%,rgba(8,14,18,.48) 44%,rgba(8,14,18,.12) 74%,transparent 88%)!important;
}
.v88-game-logo{display:grid;line-height:.83;text-shadow:0 2px 15px rgba(0,0,0,.46)}
.v88-game-logo b,.v88-game-logo strong{font-size:clamp(39px,6vw,76px);font-weight:950;letter-spacing:-.045em}
.v88-game-logo b{color:#f2f6f7}.v88-game-logo strong{color:#e6a63b}
.v88-game-logo small{margin-top:14px;color:#d4e1e5;font-size:10px;font-weight:900;letter-spacing:.20em}
.v88-launch-content>p{max-width:570px!important;margin:24px 0 22px!important;color:#dce8eb!important;font-size:11px!important}
.v88-play-btn{min-width:190px!important;background:linear-gradient(135deg,#0e9bb5,#3f50bd)!important;border-color:#7fe2ef!important}

/* hero themes */
.v88-hero-combat .v88-sky{background:linear-gradient(180deg,#4d7897,#a9c0cc)}
.v88-theme-combat .v88-focus i:first-child{background:#1b2023}
.v88-theme-combat .v88-focus i:nth-child(2){background:#323b3f}
.v88-theme-combat .v88-focus i:nth-child(3){background:#111517}
.v88-theme-combat .v88-game-logo strong{color:#e3a230}

.v88-hero-madalin .v88-sky{background:linear-gradient(180deg,#3e9ed0,#caeaf5)}
.v88-hero-madalin .v88-ground{background:linear-gradient(180deg,#85898a,#2b3033)}
.v88-theme-madalin .v88-focus i:first-child{background:#d62e3b}
.v88-theme-madalin .v88-focus i:nth-child(2){background:#78b1ca}
.v88-theme-madalin .v88-focus i:nth-child(3){display:none}
.v88-theme-madalin .v88-game-logo strong{color:#64d2ff}

.v88-hero-basketball .v88-sky{background:linear-gradient(180deg,#7aaec8,#d9e9ef)}
.v88-hero-basketball .v88-ground{background:linear-gradient(180deg,#b67a46,#6d4025)}
.v88-theme-basketball .v88-focus i:first-child{left:110px;right:auto;width:62px;height:62px;border-radius:50%;background:#ef8a27}
.v88-theme-basketball .v88-focus i:nth-child(2){right:45px;left:auto;width:74px;height:58px;border:5px solid #eef5f7;border-bottom:0;background:transparent;border-radius:0}
.v88-theme-basketball .v88-focus i:nth-child(3){display:none}
.v88-theme-basketball .v88-game-logo strong{color:#f29a32}

.v88-hero-billiards .v88-sky{background:linear-gradient(180deg,#19362f,#275347)}
.v88-hero-billiards .v88-ground{background:linear-gradient(180deg,#187153,#0d4b38)}
.v88-object-a,.v88-object-b{border-radius:3px}
.v88-theme-billiards .v88-focus i:first-child{left:95px;right:auto;width:46px;height:46px;border-radius:50%;background:#111}
.v88-theme-billiards .v88-focus i:nth-child(2){left:150px;width:39px;height:39px;border-radius:50%;background:#f1f1f1}
.v88-theme-billiards .v88-focus i:nth-child(3){right:10px;bottom:67px;width:130px;height:5px;background:#d5b88e;transform:rotate(-17deg)}
.v88-theme-billiards .v88-game-logo strong{color:#7ae2a8}

.v88-hero-cutrope .v88-sky{background:linear-gradient(180deg,#7fc947,#d8ee78)}
.v88-hero-cutrope .v88-ground{background:linear-gradient(180deg,#9ccf4e,#4f8b30)}
.v88-theme-cutrope .v88-focus i:first-child{left:112px;right:auto;width:76px;height:67px;border-radius:48%;background:#43a83d}
.v88-theme-cutrope .v88-focus i:nth-child(2){left:135px;bottom:70px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:28px 0 0 #fff}
.v88-theme-cutrope .v88-focus i:nth-child(3){left:149px;right:auto;bottom:114px;width:3px;height:105px;background:#eee4c8;transform:rotate(10deg)}
.v88-theme-cutrope .v88-game-logo strong{color:#a7e55a}

.v88-hero-firewater .v88-sky{background:linear-gradient(180deg,#302e52,#625f88)}
.v88-hero-firewater .v88-ground{background:linear-gradient(180deg,#34304f,#171522)}
.v88-theme-firewater .v88-focus i:first-child{left:83px;right:auto;width:48px;height:78px;border-radius:20px;background:#e65037;box-shadow:0 0 28px rgba(231,76,51,.38)}
.v88-theme-firewater .v88-focus i:nth-child(2){left:171px;width:48px;height:78px;border-radius:20px;background:#37a7e5;box-shadow:0 0 28px rgba(55,167,229,.38)}
.v88-theme-firewater .v88-focus i:nth-child(3){display:none}
.v88-theme-firewater .v88-game-logo strong{color:#61c8ff}

@media(max-width:760px){
  .game-picker-v88{grid-template-columns:1fr!important;max-height:420px}
  .v88-launch-content{padding:52px 24px!important;background:linear-gradient(180deg,rgba(11,18,20,.72),rgba(11,18,20,.25) 62%,rgba(11,18,20,.12))!important}
  .v88-game-logo b,.v88-game-logo strong{font-size:43px}
  .v88-focus{transform:translateX(-50%) scale(.78)}
}


/* V89 - player first + 56-game library */
#gameStage{scroll-margin-top:88px}
.game-current-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:9px 2px 18px;
  color:#8eabb4;
  font-size:9px;
}
.game-library-section{
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.09);
}
.game-library-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:11px;
}
.game-library-title>div{display:flex;align-items:baseline;gap:9px}
.game-library-title span{color:#d9f5f7;font-size:10px;font-weight:950;letter-spacing:.12em}
.game-library-title b{color:#6fb7c2;font-size:9px}
.game-search-wrap{
  width:min(330px,46%);
  min-height:36px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(255,255,255,.045);
}
.game-search-wrap>span{color:#7fa9b3;font-size:15px}
.game-search-wrap input{
  width:100%;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#e9fbfd!important;
  font-size:10px!important;
  box-shadow:none!important;
}
.game-search-wrap input::placeholder{color:#6f8c94}

.game-picker-v89{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  max-height:610px;
  overflow-y:auto;
  padding:1px 5px 2px 1px;
  scrollbar-gutter:stable;
}
.game-picker-v89::-webkit-scrollbar{width:7px}
.game-picker-v89::-webkit-scrollbar-thumb{background:rgba(145,211,222,.22);border-radius:999px}
.game-empty{
  padding:34px 12px;
  color:#7d9aa3;
  text-align:center;
  font-size:10px;
}

.v89-game-card{
  grid-template-columns:70px minmax(0,1fr) auto!important;
  min-height:76px!important;
}
.v89-card-art{
  height:56px!important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.v89-card-art::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.13),transparent 48%);
}
.v89-card-art i{position:absolute;display:block}

/* generic category mini-art */
.v89-card-fps{background:linear-gradient(180deg,#516d80,#1f292f)}
.v89-card-fps i:nth-child(1){left:17px;bottom:14px;width:45px;height:8px;border-radius:3px;background:#171b1d;transform:rotate(-10deg)}
.v89-card-fps i:nth-child(2){right:11px;top:10px;width:22px;height:22px;border:1px solid rgba(255,255,255,.6);border-radius:50%}
.v89-card-fps i:nth-child(3){right:21px;top:4px;width:1px;height:34px;background:rgba(255,255,255,.7)}

.v89-card-racing{background:linear-gradient(180deg,#57a4cf 0%,#a8d5e7 45%,#404447 46%,#1d2022)}
.v89-card-racing i:nth-child(1){left:13px;bottom:11px;width:48px;height:15px;border-radius:10px 15px 5px 5px;background:#d63e42}
.v89-card-racing i:nth-child(2){left:20px;bottom:6px;width:12px;height:12px;border-radius:50%;background:#111;box-shadow:27px 0 0 #111}
.v89-card-racing i:nth-child(3){right:7px;top:9px;width:25px;height:3px;background:#fff;box-shadow:0 7px 0 rgba(255,255,255,.55)}

.v89-card-sports{background:linear-gradient(180deg,#6cb6dd,#d2eaf2 46%,#388d45 47%,#1e632d)}
.v89-card-sports i:nth-child(1){left:19px;bottom:13px;width:26px;height:26px;border-radius:50%;background:#f2f2f2;box-shadow:inset -5px -4px 0 rgba(0,0,0,.1)}
.v89-card-sports i:nth-child(2){right:12px;bottom:10px;width:28px;height:34px;border:2px solid rgba(255,255,255,.75);border-bottom:0}
.v89-card-sports i:nth-child(3){display:none}

.v89-card-fighting{background:linear-gradient(180deg,#6f3741,#2a1d25)}
.v89-card-fighting i:nth-child(1),.v89-card-fighting i:nth-child(2){bottom:11px;width:20px;height:34px;border-radius:10px 10px 4px 4px}
.v89-card-fighting i:nth-child(1){left:18px;background:#d95b43}
.v89-card-fighting i:nth-child(2){right:18px;background:#4c8fd1}
.v89-card-fighting i:nth-child(3){left:50%;top:12px;width:1px;height:35px;background:rgba(255,255,255,.4)}

.v89-card-adventure{background:linear-gradient(180deg,#658087,#26383b)}
.v89-card-adventure i:nth-child(1){left:20px;bottom:11px;width:20px;height:31px;border-radius:9px 9px 4px 4px;background:#d2a84a}
.v89-card-adventure i:nth-child(2){left:41px;bottom:25px;width:27px;height:4px;background:#c9c5ae;transform:rotate(-27deg)}
.v89-card-adventure i:nth-child(3){right:8px;top:8px;width:20px;height:20px;border-radius:50%;background:#ddd6a4}

.v89-card-horror{background:linear-gradient(180deg,#29332f,#0e1210)}
.v89-card-horror i:nth-child(1){left:21px;bottom:11px;width:19px;height:32px;border-radius:9px 9px 3px 3px;background:#53604f}
.v89-card-horror i:nth-child(2){right:17px;top:13px;width:20px;height:20px;border-radius:50%;background:#d3d9ce;box-shadow:0 0 14px rgba(255,255,255,.25)}
.v89-card-horror i:nth-child(3){left:50%;bottom:0;width:2px;height:55px;background:rgba(208,48,48,.3);transform:rotate(18deg)}

.v89-card-puzzle{background:linear-gradient(180deg,#8bc955,#d8e677)}
.v89-card-puzzle i:nth-child(1){left:18px;top:12px;width:19px;height:19px;border-radius:4px;background:#4fa94c;box-shadow:23px 8px 0 #e6ba3c,10px 27px 0 #5d8dc4}
.v89-card-puzzle i:nth-child(2),.v89-card-puzzle i:nth-child(3){display:none}

.v89-card-simulation{background:linear-gradient(180deg,#607d91,#b4c7cf 46%,#686b67 47%,#292d2c)}
.v89-card-simulation i:nth-child(1){left:18px;bottom:11px;width:45px;height:17px;border-radius:10px;background:#555}
.v89-card-simulation i:nth-child(2){left:27px;bottom:6px;width:11px;height:11px;border-radius:50%;background:#151515;box-shadow:23px 0 0 #151515}
.v89-card-simulation i:nth-child(3){right:8px;top:8px;width:18px;height:18px;border:2px solid rgba(255,255,255,.55);border-radius:5px}

.v89-card-platform{background:linear-gradient(180deg,#5b78a3,#9cc5d7 54%,#6a523b 55%,#2d241d)}
.v89-card-platform i:nth-child(1){left:18px;bottom:10px;width:16px;height:30px;border-radius:7px;background:#eb744a}
.v89-card-platform i:nth-child(2){right:9px;bottom:17px;width:32px;height:6px;background:#5d4633;box-shadow:-18px -16px 0 #5d4633}
.v89-card-platform i:nth-child(3){display:none}

.v89-card-strategy{background:linear-gradient(180deg,#61705e,#2a3429)}
.v89-card-strategy i:nth-child(1){left:16px;bottom:9px;width:13px;height:36px;background:#66785a;box-shadow:22px -7px 0 #7b6e50,44px 2px 0 #525f4e}
.v89-card-strategy i:nth-child(2),.v89-card-strategy i:nth-child(3){display:none}

.v89-card-multiplayer{background:linear-gradient(180deg,#4a5e88,#252a47)}
.v89-card-multiplayer i:nth-child(1),.v89-card-multiplayer i:nth-child(2),.v89-card-multiplayer i:nth-child(3){bottom:10px;width:16px;height:28px;border-radius:8px 8px 4px 4px}
.v89-card-multiplayer i:nth-child(1){left:13px;background:#e45e4c}
.v89-card-multiplayer i:nth-child(2){left:34px;background:#51aee5}
.v89-card-multiplayer i:nth-child(3){left:55px;background:#e7b54a}

.v89-card-coop{background:linear-gradient(180deg,#514a78,#211d35)}
.v89-card-coop i:nth-child(1),.v89-card-coop i:nth-child(2){bottom:10px;width:18px;height:33px;border-radius:9px 9px 4px 4px}
.v89-card-coop i:nth-child(1){left:20px;background:#e6553c}
.v89-card-coop i:nth-child(2){right:20px;background:#3ca9e7}
.v89-card-coop i:nth-child(3){left:50%;top:10px;width:2px;height:36px;background:rgba(255,255,255,.35)}

.v89-card-action{background:linear-gradient(180deg,#75544a,#2f2522)}
.v89-card-action i:nth-child(1){left:16px;bottom:11px;width:18px;height:34px;border-radius:8px;background:#d9a94d}
.v89-card-action i:nth-child(2){left:37px;bottom:24px;width:30px;height:5px;background:#252525;transform:rotate(-15deg)}
.v89-card-action i:nth-child(3){right:8px;top:9px;width:18px;height:18px;border-radius:50%;border:2px solid #e7c76a}

/* large launcher hero */
.v89-stage{background:#172026!important}
.v89-launch-screen{background:#172026!important}
.v89-hero{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#536f80,#a7bbc3 45%,#56544e 46%,#252522);--game-cover:none}
.v89-hero::before{content:'';position:absolute;inset:0;background-image:var(--game-cover);background-size:cover;background-position:center center;filter:saturate(1.06) contrast(1.04) brightness(.82);transform:scale(1.02);opacity:.94}.v89-hero>*{position:relative;z-index:1}
.v89-sky{position:absolute;inset:0 0 46%;background:linear-gradient(180deg,#4f7d99,#b8d2dd)}
.v89-ground{position:absolute;left:-5%;right:-5%;bottom:-3%;height:56%;background:linear-gradient(180deg,#64635e,#242522);transform:perspective(900px) rotateX(8deg);transform-origin:center bottom}
.v89-object{position:absolute;bottom:27%;box-shadow:0 15px 24px rgba(0,0,0,.24)}
.v89-object-a{left:5%;width:28%;height:29%;background:#555c5f}
.v89-object-b{right:5%;width:25%;height:23%;background:#765a44}
.v89-focus{position:absolute;left:50%;bottom:11%;width:300px;height:145px;transform:translateX(-50%)}
.v89-focus i{position:absolute}
.v89-focus i:first-child{left:40px;right:40px;bottom:33px;height:48px;border-radius:24px 30px 10px 10px;background:#1e2223}
.v89-focus i:nth-child(2){left:82px;bottom:70px;width:120px;height:32px;border-radius:50% 50% 8px 8px;background:#47575d}
.v89-focus i:nth-child(3){right:20px;bottom:55px;width:86px;height:10px;border-radius:5px;background:#161a1b}
.v89-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 42%,rgba(7,11,13,.46) 100%)}

.v89-launch-content{
  justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important;
  padding:74px 7%!important;
  background:linear-gradient(90deg,rgba(8,14,18,.84) 0%,rgba(8,14,18,.48) 44%,rgba(8,14,18,.12) 74%,transparent 88%)!important;
}
.v89-game-logo{display:grid;line-height:.83;text-shadow:0 2px 15px rgba(0,0,0,.46)}
.v89-game-logo b,.v89-game-logo strong{font-size:clamp(36px,5.7vw,72px);font-weight:950;letter-spacing:-.045em}
.v89-game-logo b{color:#f2f6f7}
.v89-game-logo strong{color:#e6a63b}
.v89-game-logo small{margin-top:14px;color:#d4e1e5;font-size:10px;font-weight:900;letter-spacing:.20em}
.v89-launch-content>p{max-width:570px!important;margin:24px 0 22px!important;color:#dce8eb!important;font-size:11px!important}
.v89-play-btn{min-width:190px!important;background:linear-gradient(135deg,#0e9bb5,#3f50bd)!important;border-color:#7fe2ef!important}

/* category launcher themes */
.v89-theme-racing .v89-sky{background:linear-gradient(180deg,#3d9ed1,#c8eaf5)}
.v89-theme-racing .v89-ground{background:linear-gradient(180deg,#85898a,#2b3033)}
.v89-theme-racing .v89-focus i:first-child{background:#d62e3b}
.v89-theme-racing .v89-game-logo strong{color:#65d6ff}

.v89-theme-sports .v89-sky{background:linear-gradient(180deg,#72b6db,#d8edf4)}
.v89-theme-sports .v89-ground{background:linear-gradient(180deg,#40934d,#1e652d)}
.v89-theme-sports .v89-focus i:first-child{left:110px;right:auto;width:62px;height:62px;border-radius:50%;background:#f0f0f0}
.v89-theme-sports .v89-focus i:nth-child(2){display:none}
.v89-theme-sports .v89-focus i:nth-child(3){display:none}
.v89-theme-sports .v89-game-logo strong{color:#74e18a}

.v89-theme-fighting .v89-sky{background:linear-gradient(180deg,#5f3944,#2c2027)}
.v89-theme-fighting .v89-ground{background:linear-gradient(180deg,#473030,#171313)}
.v89-theme-fighting .v89-focus i:first-child{left:78px;right:auto;width:45px;height:84px;border-radius:20px;background:#db5840}
.v89-theme-fighting .v89-focus i:nth-child(2){left:178px;width:45px;height:84px;border-radius:20px;background:#468dcc}
.v89-theme-fighting .v89-focus i:nth-child(3){display:none}
.v89-theme-fighting .v89-game-logo strong{color:#ff7b5c}

.v89-theme-horror .v89-sky{background:linear-gradient(180deg,#25312d,#46564f)}
.v89-theme-horror .v89-ground{background:linear-gradient(180deg,#343a35,#121513)}
.v89-theme-horror .v89-object-a,.v89-theme-horror .v89-object-b{background:#303a32}
.v89-theme-horror .v89-game-logo strong{color:#8fca91}

.v89-theme-puzzle .v89-sky{background:linear-gradient(180deg,#7fc54d,#d8ec78)}
.v89-theme-puzzle .v89-ground{background:linear-gradient(180deg,#8abb49,#50792d)}
.v89-theme-puzzle .v89-focus i:first-child{left:112px;right:auto;width:76px;height:67px;border-radius:48%;background:#4da741}
.v89-theme-puzzle .v89-focus i:nth-child(2),.v89-theme-puzzle .v89-focus i:nth-child(3){display:none}
.v89-theme-puzzle .v89-game-logo strong{color:#b3e95e}

.v89-theme-simulation .v89-sky{background:linear-gradient(180deg,#557b92,#bfd1d8)}
.v89-theme-simulation .v89-ground{background:linear-gradient(180deg,#777a76,#292d2b)}
.v89-theme-simulation .v89-game-logo strong{color:#8bcde5}

.v89-theme-platform .v89-sky{background:linear-gradient(180deg,#5a76a1,#a7cada)}
.v89-theme-platform .v89-ground{background:linear-gradient(180deg,#72583e,#2e241c)}
.v89-theme-platform .v89-object-a{height:7%;bottom:39%}.v89-theme-platform .v89-object-b{height:7%;bottom:29%}
.v89-theme-platform .v89-game-logo strong{color:#f0b85a}

.v89-theme-strategy .v89-sky{background:linear-gradient(180deg,#556855,#9bad8d)}
.v89-theme-strategy .v89-ground{background:linear-gradient(180deg,#59614f,#292f26)}
.v89-theme-strategy .v89-game-logo strong{color:#b1d16e}

.v89-theme-adventure .v89-sky{background:linear-gradient(180deg,#56757d,#b2c7c8)}
.v89-theme-adventure .v89-ground{background:linear-gradient(180deg,#62513c,#29231c)}
.v89-theme-adventure .v89-game-logo strong{color:#e5b970}

.v89-theme-multiplayer .v89-sky,.v89-theme-coop .v89-sky{background:linear-gradient(180deg,#484c78,#7b77a1)}
.v89-theme-multiplayer .v89-ground,.v89-theme-coop .v89-ground{background:linear-gradient(180deg,#34314e,#191724)}
.v89-theme-multiplayer .v89-game-logo strong,.v89-theme-coop .v89-game-logo strong{color:#7ecfff}

.v89-theme-action .v89-sky{background:linear-gradient(180deg,#73544d,#b49a80)}
.v89-theme-action .v89-ground{background:linear-gradient(180deg,#5b4a3b,#241d18)}
.v89-theme-action .v89-game-logo strong{color:#f1b55c}

@media(max-width:1100px){
  .game-picker-v89{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  #gameStage{scroll-margin-top:66px}
  .game-current-meta,.game-library-title{align-items:flex-start;flex-direction:column}
  .game-search-wrap{width:100%}
  .game-picker-v89{grid-template-columns:1fr!important;max-height:650px}
  .v89-launch-content{padding:52px 24px!important;background:linear-gradient(180deg,rgba(11,18,20,.72),rgba(11,18,20,.25) 62%,rgba(11,18,20,.12))!important}
  .v89-game-logo b,.v89-game-logo strong{font-size:40px}
  .v89-focus{transform:translateX(-50%) scale(.78)}
}


/* V90 - real cover avatars from provided sprite sheet */
.v90-game-card{
  grid-template-columns:86px minmax(0,1fr) auto!important;
  min-height:80px!important;
}
.v90-card-art{
  height:56px!important;
  border-radius:12px;
  overflow:hidden;
  background:#0f151a;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 6px 14px rgba(0,0,0,.18);
}
.v90-card-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.v90-card-art::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), transparent 34%, transparent 66%, rgba(0,0,0,.08));
  pointer-events:none;
}
@media(max-width:760px){
  .v90-game-card{grid-template-columns:84px minmax(0,1fr) auto!important;min-height:78px!important}
}


/* V92 - reliable real-image launcher background */
.v89-hero::before{display:none!important}
.v93-hero-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.08) contrast(1.05) brightness(.86)!important;
  transform:none!important;
  opacity:1!important;
}
.v89-hero>.v89-sky,
.v89-hero>.v89-ground,
.v89-hero>.v89-object,
.v89-hero>.v89-focus{display:none!important}
.v89-hero>.v89-vignette{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(5,10,14,.62) 0%,rgba(5,10,14,.24) 42%,rgba(5,10,14,.04) 72%,rgba(5,10,14,.12) 100%)!important;
}
.v89-launch-content{z-index:5!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center}


/* V93 - sharper game artwork without changing original composition */
.v93-hero-backdrop{
  position:absolute!important;
  inset:-2%!important;
  z-index:0!important;
  display:block!important;
  width:104%!important;
  height:104%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:blur(14px) saturate(1.05) brightness(.48) contrast(1.02)!important;
  transform:scale(1.08)!important;
  opacity:.95!important;
}
.v93-hero-glow{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 78% 42%, rgba(255,255,255,.10), transparent 28%),
    linear-gradient(90deg, rgba(7,13,18,.86) 0%, rgba(7,13,18,.52) 42%, rgba(7,13,18,.22) 66%, rgba(7,13,18,.48) 100%);
  pointer-events:none;
}
.v93-hero-poster{
  position:absolute;
  right:42px;
  top:50%;
  transform:translateY(-50%);
  width:min(38%, 420px);
  max-width:420px;
  min-width:280px;
  aspect-ratio: 125 / 80;
  object-fit:cover;
  object-position:center center;
  border-radius:24px;
  z-index:3;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 50px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.06);
  background:#0f151a;
}
.v93-hero-poster::selection{background:transparent}
.v89-launch-content{max-width:min(52%, 560px)!important;padding-right:36px!important}
.game-launch-content>p{max-width:560px}
@media (max-width: 900px){
  .v93-hero-poster{right:24px;width:min(40%,320px);min-width:220px;border-radius:18px}
  .v89-launch-content{max-width:50%!important;padding-right:20px!important}
}
@media (max-width: 760px){
  .v93-hero-poster{position:relative;right:auto;top:auto;transform:none;width:100%;max-width:none;min-width:0;margin:16px 16px 0;border-radius:18px;order:-1}
  .v89-launch-content{max-width:none!important;padding-right:0!important;width:100%!important}
  .game-launch-screen .v89-hero{display:flex;flex-direction:column;justify-content:flex-end}
  .v93-hero-glow{background:linear-gradient(180deg, rgba(7,13,18,.52) 0%, rgba(7,13,18,.38) 30%, rgba(7,13,18,.82) 100%)}
}


/* V94 - remove small repeated poster, use a single large image in play frame */
.v93-hero-poster{display:none!important}
.v93-hero-backdrop{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  filter:saturate(1.03) contrast(1.03) brightness(.62) blur(4px)!important;
  opacity:1!important;
}
.v93-hero-glow{
  background:linear-gradient(90deg, rgba(7,13,18,.82) 0%, rgba(7,13,18,.56) 32%, rgba(7,13,18,.22) 60%, rgba(7,13,18,.38) 100%)!important;
}
.v89-launch-content{max-width:min(54%, 620px)!important;padding-right:18px!important}
@media (max-width: 760px){
  .v93-hero-backdrop{filter:saturate(1.02) contrast(1.02) brightness(.58) blur(3px)!important;}
  .v89-launch-content{max-width:none!important;padding-right:0!important}
}


/* V95 - Photo Editor transform sliders + linked/independent image scale */
.pe-scale-group{
  margin-bottom:2px;
  padding:9px 10px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:rgba(5,35,44,.36);
}
.pe-scale-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#d8f0f2;
  font-size:10px;
  font-weight:850;
}
.pe-scale-link-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:25px;
  padding:3px 7px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:7px;
  background:rgba(255,255,255,.045);
  color:#9fc6cb;
  font-size:9px;
  font-weight:750;
  cursor:pointer;
  user-select:none;
}
.pe-scale-link-toggle input{
  width:13px;
  height:13px;
  margin:0;
  accent-color:#59dce3;
}
.pe-scale-link-toggle:has(input:checked){
  border-color:rgba(89,220,227,.46);
  background:rgba(89,220,227,.10);
  color:#e6fcfd;
}
.pe-scale-link-icon{
  font-size:11px;
  line-height:1;
}
#peTransformGroup .pe-common-props{
  margin-top:10px;
}
#pePropX,#pePropY{
  cursor:ew-resize;
}
#pePropY{
  cursor:ns-resize;
}


/* ========================================================================
   V97 - LIGHT UI FOR ALL TABS, while preserving Halloween background/hands
   Inspired by the light English Coach panels.
   ======================================================================== */
body.halloween-theme{
  --v97-panel:#ffffff;
  --v97-panel-2:#f3f9fc;
  --v97-panel-3:#eaf4f8;
  --v97-line:rgba(45,102,128,.16);
  --v97-line-strong:rgba(45,102,128,.26);
  --v97-text:#123d5a;
  --v97-heading:#103f61;
  --v97-muted:#6d8491;
  --v97-accent:#2b7198;
  --v97-soft-blue:#edf7fc;
  --v97-shadow:0 18px 40px rgba(15,52,77,.10),0 0 0 1px rgba(255,255,255,.72) inset;
}

/* Primary tab/card surfaces */
body.halloween-theme .main-tabs,
body.halloween-theme .global-pin,
body.halloween-theme .app-panel .card,
body.halloween-theme .editor-card,
body.halloween-theme .result-card,
body.halloween-theme .history-card,
body.halloween-theme .tool-card,
body.halloween-theme .studio-shell,
body.halloween-theme .game-hub-shell{
  background:linear-gradient(180deg,#ffffff 0%,#f0f8fb 100%)!important;
  border-color:var(--v97-line)!important;
  color:var(--v97-text)!important;
  box-shadow:var(--v97-shadow)!important;
}

/* Keep the Halloween handprints visible on white panels. */
body.halloween-theme .editor-card::after,
body.halloween-theme .result-card::after,
body.halloween-theme .history-card::before,
body.halloween-theme .tool-card::before,
body.halloween-theme .coach-chat-card::after,
body.halloween-theme .coach-settings::before,
body.halloween-theme .main-tabs::after,
body.halloween-theme .global-pin::before{
  mix-blend-mode:normal!important;
  opacity:.82!important;
  filter:drop-shadow(0 0 5px rgba(151,15,25,.28)) drop-shadow(0 4px 10px rgba(77,0,0,.14))!important;
}

/* Main navigation */
body.halloween-theme .main-tab{color:#58717f!important}
body.halloween-theme .main-tab:hover{color:#174c69!important;background:rgba(44,119,157,.055)!important}
body.halloween-theme .main-tab.active{color:#103f61!important}
body.halloween-theme .main-tab-highlight{
  background:linear-gradient(135deg,#ffffff,#e5f3f9)!important;
  box-shadow:inset 0 0 0 1px rgba(45,102,128,.17),0 6px 18px rgba(30,85,111,.09)!important;
}

/* Common text */
body.halloween-theme .app-panel .brand-title,
body.halloween-theme .app-panel h1,
body.halloween-theme .app-panel h2,
body.halloween-theme .app-panel h3,
body.halloween-theme .app-panel .section-head h2,
body.halloween-theme .app-panel .field-label,
body.halloween-theme .app-panel .history-state,
body.halloween-theme .app-panel .counter-row,
body.halloween-theme .app-panel .pe-sidebar-title,
body.halloween-theme .app-panel .studio-tool-heading{
  color:var(--v97-heading)!important;
  text-shadow:none!important;
}
body.halloween-theme .app-panel .muted,
body.halloween-theme .app-panel .tool-head p,
body.halloween-theme .app-panel .range-labels,
body.halloween-theme .app-panel .history-head,
body.halloween-theme .app-panel .sound-meta,
body.halloween-theme .app-panel .video-meta{
  color:var(--v97-muted)!important;
}
body.halloween-theme .app-panel .editor-brand-row,
body.halloween-theme .app-panel .tool-head{
  border-bottom-color:var(--v97-line)!important;
}

/* Inputs / text areas / selectors */
body.halloween-theme .app-panel input:not([type="range"]):not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.halloween-theme .app-panel select,
body.halloween-theme .app-panel textarea,
body.halloween-theme .app-panel .custom-style-textarea,
body.halloween-theme .global-pin input{
  background:#ffffff!important;
  color:var(--v97-text)!important;
  border-color:rgba(45,102,128,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body.halloween-theme .app-panel input::placeholder,
body.halloween-theme .app-panel textarea::placeholder,
body.halloween-theme .global-pin input::placeholder{color:#91a2ac!important}
body.halloween-theme .app-panel input:focus,
body.halloween-theme .app-panel select:focus,
body.halloween-theme .app-panel textarea:focus,
body.halloween-theme .global-pin input:focus{
  border-color:rgba(41,111,151,.48)!important;
  box-shadow:0 0 0 3px rgba(41,111,151,.08)!important;
}
body.halloween-theme .textarea-wrap,
body.halloween-theme .output-wrap{
  background:#ffffff!important;
  border-color:rgba(45,102,128,.20)!important;
}
body.halloween-theme .output-wrap textarea{background:#fff!important;color:var(--v97-text)!important}
body.halloween-theme .counter-row{
  background:#f7fafc!important;
  border-top-color:var(--v97-line)!important;
  color:var(--v97-muted)!important;
}
body.halloween-theme .counter-row b{color:#2b526a!important}

/* Secondary / utility buttons */
body.halloween-theme .secondary-btn,
body.halloween-theme .icon-btn,
body.halloween-theme .download-btn,
body.halloween-theme .small-link,
body.halloween-theme .clear-link,
body.halloween-theme .swap-btn{
  background:#ffffff!important;
  color:#24536d!important;
  border-color:rgba(45,102,128,.20)!important;
  box-shadow:0 6px 14px rgba(24,70,96,.06)!important;
}
body.halloween-theme .secondary-btn:hover,
body.halloween-theme .icon-btn:hover,
body.halloween-theme .download-btn:hover,
body.halloween-theme .swap-btn:hover{
  background:#eef8fc!important;
  border-color:rgba(45,102,128,.32)!important;
}

/* Status / empty states */
body.halloween-theme .status-box{
  background:#f7fbfd!important;
  color:#476577!important;
  border-color:var(--v97-line)!important;
}
body.halloween-theme .status-box.success{background:#edf9f4!important;color:#276b50!important;border-color:rgba(39,139,99,.20)!important}
body.halloween-theme .status-box.error{background:#fff3f4!important;color:#a44450!important;border-color:rgba(190,65,80,.20)!important}
body.halloween-theme .empty-result{color:var(--v97-muted)!important}
body.halloween-theme .empty-result b{color:var(--v97-heading)!important}

/* Studio shell and media library */
body.halloween-theme .studio-tabs{
  background:linear-gradient(180deg,#f8fcfe,#eef7fb)!important;
  border-bottom-color:var(--v97-line)!important;
}
body.halloween-theme .studio-tab{color:#607b89!important}
body.halloween-theme .studio-tab:hover{color:#174d6a!important}
body.halloween-theme .studio-tab.active{color:#103f61!important}
body.halloween-theme .studio-tab-highlight{
  background:linear-gradient(135deg,#fff,#dff0f7)!important;
  box-shadow:inset 0 0 0 1px rgba(45,102,128,.16),0 5px 14px rgba(30,85,111,.07)!important;
}
body.halloween-theme .studio-panel{color:var(--v97-text)!important}
body.halloween-theme .studio-placeholder{color:var(--v97-muted)!important}
body.halloween-theme .studio-placeholder b{color:var(--v97-heading)!important}
body.halloween-theme .studio-placeholder-icon,
body.halloween-theme .sound-item,
body.halloween-theme .video-item,
body.halloween-theme .sound-state,
body.halloween-theme .content-result-card,
body.halloween-theme .content-studio-controls,
body.halloween-theme .content-studio-results{
  background:#ffffff!important;
  color:var(--v97-text)!important;
  border-color:var(--v97-line)!important;
  box-shadow:0 8px 22px rgba(20,66,92,.06)!important;
}
body.halloween-theme .sound-name,
body.halloween-theme .video-name,
body.halloween-theme .content-result-card h3,
body.halloween-theme .content-result-card b{color:var(--v97-heading)!important}
body.halloween-theme .studio-toolbar,
body.halloween-theme .sound-upload-wrap{
  background:#f4f9fb!important;
  border-color:var(--v97-line)!important;
}

/* Photo Editor light frame */
body.halloween-theme .photo-editor{color:var(--v97-text)!important;background:#f6fbfd!important}
body.halloween-theme .pe-toolbar{
  background:#f7fbfd!important;
  border-bottom-color:var(--v97-line)!important;
}
body.halloween-theme .pe-body{background:#f4f9fb!important}
body.halloween-theme .pe-stage-column{
  background:#eef6f9!important;
  border-right-color:var(--v97-line)!important;
}
body.halloween-theme .pe-stage{
  background-color:#dfe9ed!important;
  background-image:linear-gradient(45deg,#eef4f6 25%,transparent 25%),linear-gradient(-45deg,#eef4f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef4f6 75%),linear-gradient(-45deg,transparent 75%,#eef4f6 75%)!important;
  border-color:var(--v97-line)!important;
}
body.halloween-theme .pe-drop-hint{color:#698490!important}
body.halloween-theme .pe-drop-hint b{color:#264f65!important}
body.halloween-theme .pe-sidebar{
  background:linear-gradient(180deg,#ffffff,#f2f8fb)!important;
  color:var(--v97-text)!important;
}
body.halloween-theme .pe-sidebar-section{border-bottom-color:var(--v97-line)!important}
body.halloween-theme .pe-toolbar-caption,
body.halloween-theme .pe-toolbar-times,
body.halloween-theme .pe-toolbar-transparent,
body.halloween-theme .pe-field-label,
body.halloween-theme .pe-range-row span,
body.halloween-theme .pe-empty-properties,
body.halloween-theme .pe-empty-layers{color:#657f8c!important}
body.halloween-theme .pe-tool-btn,
body.halloween-theme .pe-mini-btn,
body.halloween-theme .pe-ratio-btn,
body.halloween-theme .pe-ratio-icon-btn,
body.halloween-theme .pe-icon-action-btn,
body.halloween-theme .pe-layer-top-btn,
body.halloween-theme .pe-zoom-btn,
body.halloween-theme .pe-copy-btn,
body.halloween-theme .pe-mask-btn,
body.halloween-theme .pe-wide-btn{
  background:#ffffff!important;
  color:#28556d!important;
  border-color:rgba(45,102,128,.19)!important;
  box-shadow:0 4px 12px rgba(22,68,94,.05)!important;
}
body.halloween-theme .pe-tool-btn:hover,
body.halloween-theme .pe-mini-btn:hover,
body.halloween-theme .pe-ratio-btn:hover,
body.halloween-theme .pe-icon-action-btn:hover,
body.halloween-theme .pe-zoom-btn:hover{
  background:#eaf5fa!important;
  border-color:rgba(45,102,128,.32)!important;
}
body.halloween-theme .pe-prop-group,
body.halloween-theme .pe-scale-group,
body.halloween-theme .pe-ai-edit-box,
body.halloween-theme .pe-draw-pro-body,
body.halloween-theme .pe-draw-option-group,
body.halloween-theme .pe-layer-item{
  background:#ffffff!important;
  color:var(--v97-text)!important;
  border-color:var(--v97-line)!important;
}
body.halloween-theme .pe-prop-summary,
body.halloween-theme .pe-layer-name,
body.halloween-theme .pe-draw-choice-title,
body.halloween-theme .pe-scale-head{color:var(--v97-heading)!important}
body.halloween-theme .pe-layer-kind,
body.halloween-theme .pe-ai-note,
body.halloween-theme .pe-mask-hint{color:var(--v97-muted)!important}
body.halloween-theme .pe-toolbar-canvas-group input[type=number],
body.halloween-theme .pe-toolbar-bg-group input[type=color],
body.halloween-theme .pe-export-select{
  background:#ffffff!important;
  color:var(--v97-text)!important;
  border-color:rgba(45,102,128,.20)!important;
}
body.halloween-theme .pe-zoom-bar,
body.halloween-theme .pe-canvas-bar{
  background:#f7fbfd!important;
  border-color:var(--v97-line)!important;
}
body.halloween-theme .pe-scale-link-toggle{
  background:#f4f9fb!important;
  color:#476a7d!important;
  border-color:var(--v97-line)!important;
}
body.halloween-theme .pe-scale-link-toggle:has(input:checked){background:#e7f6f8!important;color:#155b6d!important;border-color:rgba(49,150,163,.30)!important}

/* Translate */
body.halloween-theme .translate-area{background:#ffffff!important;color:var(--v97-text)!important}
body.halloween-theme .translate-grid .textarea-wrap{box-shadow:0 8px 20px rgba(20,66,92,.04)!important}

/* Game library shell - player/image area itself remains game-like */
body.halloween-theme .game-library-section{
  background:#f8fcfe!important;
  border-top-color:var(--v97-line)!important;
}
body.halloween-theme .game-library-title span,
body.halloween-theme .game-library-title b{color:#315c72!important}
body.halloween-theme .game-search-wrap,
body.halloween-theme .game-filter,
body.halloween-theme .game-choice{
  background:#ffffff!important;
  color:var(--v97-text)!important;
  border-color:var(--v97-line)!important;
  box-shadow:0 6px 16px rgba(20,66,92,.05)!important;
}
body.halloween-theme .game-filter{color:#587482!important}
body.halloween-theme .game-filter.active,
body.halloween-theme .game-choice.active{background:#eaf6fb!important;border-color:rgba(44,119,157,.34)!important}
body.halloween-theme .game-choice-copy b{color:var(--v97-heading)!important}
body.halloween-theme .game-choice-copy small,
body.halloween-theme .game-choice-tag,
body.halloween-theme .game-current-meta{color:#708892!important}
body.halloween-theme .game-toolbar{
  background:linear-gradient(180deg,#ffffff,#edf6fa)!important;
  border-bottom-color:var(--v97-line)!important;
  color:var(--v97-heading)!important;
}
body.halloween-theme .game-toolbar-title{color:var(--v97-heading)!important}
body.halloween-theme .game-toolbar-actions button{background:#ffffff!important;color:#315c72!important;border-color:var(--v97-line)!important}

/* PWA/footer little surfaces */
body.halloween-theme .pwa-install-row{color:#dce9ec}

/* Halloween-specific dark overrides from older versions must not repaint the new light UI. */
body.halloween-theme .field-label,
body.halloween-theme .section-head h2,
body.halloween-theme .history-state,
body.halloween-theme .counter-row,
body.halloween-theme .muted{color:inherit}

@media(max-width:980px){
  body.halloween-theme .pe-stage-column{border-right:0!important;border-bottom:1px solid var(--v97-line)!important}
  body.halloween-theme .pe-sidebar{border-top-color:var(--v97-line)!important}
}


/* ========================================================================
   V98 - FINAL LIGHT UI OVERRIDE
   Dedicated body class + end-of-file !important rules so old Halloween
   dark rules cannot repaint the interface. Halloween decorative overlays
   and bloody handprints are intentionally preserved.
   ======================================================================== */

body.light-ui-v98{
  --v98-bg:#f3f9fc;
  --v98-panel:#ffffff;
  --v98-panel-soft:#f6fbfd;
  --v98-panel-blue:#edf7fb;
  --v98-border:rgba(45,102,128,.16);
  --v98-border-strong:rgba(45,102,128,.28);
  --v98-text:#173b50;
  --v98-heading:#103f61;
  --v98-muted:#6d8491;
  --v98-accent:#24779a;
  --v98-shadow:0 16px 38px rgba(15,52,77,.10),0 0 0 1px rgba(255,255,255,.72) inset;
}

/* Every major UI frame, regardless of which older selector created it. */
body.light-ui-v98 .main-tabs,
body.light-ui-v98 .global-pin,
body.light-ui-v98 .card,
body.light-ui-v98 .editor-card,
body.light-ui-v98 .result-card,
body.light-ui-v98 .history-card,
body.light-ui-v98 .tool-card,
body.light-ui-v98 .studio-shell,
body.light-ui-v98 .content-studio-controls,
body.light-ui-v98 .content-studio-results,
body.light-ui-v98 .photo-editor,
body.light-ui-v98 .pe-sidebar,
body.light-ui-v98 .pe-prop-group,
body.light-ui-v98 .pe-scale-group,
body.light-ui-v98 .game-hub-shell,
body.light-ui-v98 .game-library-section,
body.light-ui-v98 .sound-item,
body.light-ui-v98 .video-item,
body.light-ui-v98 .sound-state{
  background:linear-gradient(180deg,#ffffff 0%,#f2f9fc 100%)!important;
  border-color:var(--v98-border)!important;
  color:var(--v98-text)!important;
  box-shadow:var(--v98-shadow)!important;
}

/* Workspaces / inner surfaces */
body.light-ui-v98 .workspace,
body.light-ui-v98 .result-column,
body.light-ui-v98 .studio-panel,
body.light-ui-v98 .pe-body,
body.light-ui-v98 .translate-area{
  color:var(--v98-text)!important;
}

body.light-ui-v98 .studio-toolbar,
body.light-ui-v98 .studio-tabs,
body.light-ui-v98 .pe-toolbar,
body.light-ui-v98 .pe-zoom-bar,
body.light-ui-v98 .pe-canvas-bar,
body.light-ui-v98 .counter-row,
body.light-ui-v98 .textarea-wrap,
body.light-ui-v98 .output-wrap{
  background:#f7fbfd!important;
  border-color:var(--v98-border)!important;
  color:var(--v98-text)!important;
}

/* Input controls */
body.light-ui-v98 .app-panel input:not([type="range"]):not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.light-ui-v98 .app-panel select,
body.light-ui-v98 .app-panel textarea,
body.light-ui-v98 .global-pin input{
  background:#ffffff!important;
  color:var(--v98-text)!important;
  border-color:rgba(45,102,128,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
body.light-ui-v98 .app-panel input:focus,
body.light-ui-v98 .app-panel select:focus,
body.light-ui-v98 .app-panel textarea:focus,
body.light-ui-v98 .global-pin input:focus{
  border-color:rgba(36,119,154,.52)!important;
  box-shadow:0 0 0 3px rgba(36,119,154,.10)!important;
}

/* Text colors */
body.light-ui-v98 .app-panel h1,
body.light-ui-v98 .app-panel h2,
body.light-ui-v98 .app-panel h3,
body.light-ui-v98 .brand-title,
body.light-ui-v98 .field-label,
body.light-ui-v98 .section-head h2,
body.light-ui-v98 .pe-sidebar-title,
body.light-ui-v98 .studio-tool-heading,
body.light-ui-v98 .sound-name,
body.light-ui-v98 .video-name,
body.light-ui-v98 .content-result-card h3,
body.light-ui-v98 .content-result-card b{
  color:var(--v98-heading)!important;
  text-shadow:none!important;
}
body.light-ui-v98 .muted,
body.light-ui-v98 .history-state,
body.light-ui-v98 .range-labels,
body.light-ui-v98 .sound-meta,
body.light-ui-v98 .video-meta,
body.light-ui-v98 .pe-empty-properties,
body.light-ui-v98 .pe-empty-layers{
  color:var(--v98-muted)!important;
}

/* Tabs and navigation */
body.light-ui-v98 .main-tab,
body.light-ui-v98 .studio-tab,
body.light-ui-v98 .provider-tab,
body.light-ui-v98 .subtab{
  color:#58717f!important;
}
body.light-ui-v98 .main-tab:hover,
body.light-ui-v98 .studio-tab:hover,
body.light-ui-v98 .provider-tab:hover,
body.light-ui-v98 .subtab:hover{
  background:#eef7fb!important;
  color:#174c69!important;
  border-color:rgba(45,102,128,.20)!important;
}
body.light-ui-v98 .main-tab.active,
body.light-ui-v98 .studio-tab.active,
body.light-ui-v98 .provider-tab.active,
body.light-ui-v98 .subtab.active{
  color:#103f61!important;
}
body.light-ui-v98 .main-tab-highlight,
body.light-ui-v98 .studio-tab-highlight,
body.light-ui-v98 .subtab-highlight{
  background:linear-gradient(135deg,#ffffff,#e3f2f8)!important;
  box-shadow:inset 0 0 0 1px rgba(45,102,128,.18),0 5px 14px rgba(30,85,111,.08)!important;
}

/* Secondary controls */
body.light-ui-v98 .secondary-btn,
body.light-ui-v98 .icon-btn,
body.light-ui-v98 .download-btn,
body.light-ui-v98 .small-link,
body.light-ui-v98 .clear-link,
body.light-ui-v98 .swap-btn,
body.light-ui-v98 .pe-tool-btn,
body.light-ui-v98 .pe-mini-btn,
body.light-ui-v98 .pe-ratio-btn,
body.light-ui-v98 .pe-ratio-icon-btn,
body.light-ui-v98 .pe-icon-action-btn,
body.light-ui-v98 .pe-layer-top-btn,
body.light-ui-v98 .pe-zoom-btn,
body.light-ui-v98 .pe-copy-btn,
body.light-ui-v98 .pe-mask-btn,
body.light-ui-v98 .pe-wide-btn,
body.light-ui-v98 .game-filter,
body.light-ui-v98 .game-choice,
body.light-ui-v98 .game-toolbar-actions button{
  background:#ffffff!important;
  color:#28556d!important;
  border-color:rgba(45,102,128,.18)!important;
  box-shadow:0 5px 14px rgba(20,66,92,.05)!important;
}

/* Primary actions now match the clean English-Coach blue family. */
body.light-ui-v98 .primary-btn{
  background:linear-gradient(135deg,#2981a5,#166881)!important;
  color:#ffffff!important;
  border-color:rgba(61,147,180,.58)!important;
  box-shadow:0 9px 22px rgba(36,119,154,.20)!important;
}

/* Photo editor specific */
body.light-ui-v98 .pe-stage-column{background:#eef6f9!important;border-color:var(--v98-border)!important}
body.light-ui-v98 .pe-stage{
  background-color:#dfe9ed!important;
  border-color:var(--v98-border)!important;
}
body.light-ui-v98 .pe-layer-item,
body.light-ui-v98 .pe-ai-edit-box,
body.light-ui-v98 .pe-draw-pro-body,
body.light-ui-v98 .pe-draw-option-group{
  background:#ffffff!important;
  color:var(--v98-text)!important;
  border-color:var(--v98-border)!important;
}

/* Game list stays light; actual game/cover viewing area remains cinematic. */
body.light-ui-v98 .game-search-wrap{
  background:#ffffff!important;
  border-color:var(--v98-border)!important;
}
body.light-ui-v98 .game-filter.active,
body.light-ui-v98 .game-choice.active{
  background:#eaf6fb!important;
  border-color:rgba(36,119,154,.34)!important;
}
body.light-ui-v98 .game-choice-copy b{color:var(--v98-heading)!important}
body.light-ui-v98 .game-choice-copy small,
body.light-ui-v98 .game-choice-tag,
body.light-ui-v98 .game-current-meta{color:#708892!important}

/* Preserve Halloween bloody handprints and other decorative pseudo-elements. */
body.light-ui-v98 .editor-card::before,
body.light-ui-v98 .editor-card::after,
body.light-ui-v98 .result-card::before,
body.light-ui-v98 .result-card::after,
body.light-ui-v98 .history-card::before,
body.light-ui-v98 .history-card::after,
body.light-ui-v98 .tool-card::before,
body.light-ui-v98 .tool-card::after,
body.light-ui-v98 .coach-chat-card::before,
body.light-ui-v98 .coach-chat-card::after,
body.light-ui-v98 .coach-settings::before,
body.light-ui-v98 .coach-settings::after,
body.light-ui-v98 .main-tabs::after,
body.light-ui-v98 .global-pin::before{
  opacity:.78!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 0 4px rgba(140,14,28,.24)) drop-shadow(0 4px 9px rgba(72,0,0,.13))!important;
}

/* Do not repaint the actual Halloween page background/overlay. */
body.light-ui-v98 .halloween-overlay{
  display:block!important;
  opacity:inherit!important;
}


/* ========================================================================
   V99 - REMOVE ALL PINK / PURPLE TAB HIGHLIGHTS
   Active tabs and tab-like selectors use only white + light blue/cyan.
   ======================================================================== */

/* Sliding highlight backgrounds */
body.light-ui-v98 .main-tab-highlight,
body.light-ui-v98 .studio-tab-highlight,
body.light-ui-v98 .subtab-highlight,
body.halloween-theme .main-tab-highlight,
body.halloween-theme .studio-tab-highlight,
body.halloween-theme .subtab-highlight{
  background:linear-gradient(135deg,#ffffff 0%,#edf8fc 58%,#dceff7 100%)!important;
  border:1px solid rgba(49,118,149,.13)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.82),
    0 5px 15px rgba(29,87,112,.08)!important;
}

/* Main / Studio / sub / provider tabs */
body.light-ui-v98 .main-tab.active,
body.light-ui-v98 .studio-tab.active,
body.light-ui-v98 .provider-tab.active,
body.light-ui-v98 .subtab.active,
body.halloween-theme .main-tab.active,
body.halloween-theme .studio-tab.active,
body.halloween-theme .provider-tab.active,
body.halloween-theme .subtab.active{
  background:transparent!important;
  color:#134b68!important;
  border-color:rgba(45,112,145,.20)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

body.light-ui-v98 .provider-tab.active,
body.halloween-theme .provider-tab.active{
  background:#eef8fc!important;
  border:1px solid rgba(45,112,145,.18)!important;
  box-shadow:0 5px 13px rgba(29,87,112,.06)!important;
}

body.light-ui-v98 .provider-tab.active .provider-icon,
body.halloween-theme .provider-tab.active .provider-icon{
  color:#197293!important;
  filter:drop-shadow(0 0 5px rgba(57,158,192,.18))!important;
}

body.light-ui-v98 .provider-tab.active b,
body.halloween-theme .provider-tab.active b{
  color:#174e69!important;
}

/* Generic active tool-tabs / selector tabs */
body.light-ui-v98 .tool-btn.active,
body.halloween-theme .tool-btn.active,
body.light-ui-v98 .pe-tool-btn.active,
body.light-ui-v98 .pe-mask-btn.active,
body.light-ui-v98 .pe-ratio-btn.active,
body.light-ui-v98 .pe-mask-icon-btn.active,
body.light-ui-v98 #peDrawToolBtn.active,
body.light-ui-v98 .pe-draw-tool.active,
body.light-ui-v98 .pe-draw-option.active,
body.halloween-theme .pe-tool-btn.active,
body.halloween-theme .pe-mask-btn.active,
body.halloween-theme .pe-ratio-btn.active,
body.halloween-theme .pe-mask-icon-btn.active,
body.halloween-theme #peDrawToolBtn.active,
body.halloween-theme .pe-draw-tool.active,
body.halloween-theme .pe-draw-option.active{
  background:linear-gradient(180deg,#f7fcfe,#e6f4f9)!important;
  color:#15536f!important;
  border-color:rgba(41,132,163,.38)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.75),
    0 5px 12px rgba(29,87,112,.06)!important;
}

/* Photo Editor eraser active: remove red/purple highlight too */
body.light-ui-v98 .pe-draw-tool.pe-draw-eraser.active,
body.halloween-theme .pe-draw-tool.pe-draw-eraser.active{
  background:linear-gradient(180deg,#f7fcfe,#e6f4f9)!important;
  color:#15536f!important;
  border-color:rgba(41,132,163,.38)!important;
}

/* Game filters / selected game */
body.light-ui-v98 .game-filter.active,
body.light-ui-v98 .game-choice.active,
body.halloween-theme .game-filter.active,
body.halloween-theme .game-choice.active{
  background:linear-gradient(180deg,#f4fbfe,#e6f5fa)!important;
  color:#164f6b!important;
  border-color:rgba(40,127,159,.30)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.72),
    0 5px 13px rgba(31,91,116,.06)!important;
}

/* English Coach selector states that previously had purple/pink highlight */
body.light-ui-v98 .coach-teacher-pick.active,
body.halloween-theme .coach-teacher-pick.active{
  border-color:rgba(45,132,165,.38)!important;
  background:linear-gradient(180deg,#ffffff,#eaf7fb)!important;
  box-shadow:
    0 0 0 1px rgba(77,168,198,.10),
    0 12px 25px rgba(29,87,112,.09)!important;
}

body.light-ui-v98 .coach-auto-speak.active,
body.halloween-theme .coach-auto-speak.active{
  color:#15536f!important;
  border-color:rgba(41,132,163,.34)!important;
  background:#e9f7fb!important;
  box-shadow:0 0 10px rgba(57,158,192,.10)!important;
}

/* Remove purple/pink hover highlight from Halloween coach suggestions */
body.light-ui-v98 .coach-suggested-answer:hover,
body.halloween-theme .coach-suggested-answer:hover{
  border-color:rgba(45,132,165,.28)!important;
  background:linear-gradient(180deg,#ffffff,#eef8fb)!important;
  box-shadow:0 8px 18px rgba(29,87,112,.08)!important;
}

/* No magenta/purple active glow on tab text/icons */
body.light-ui-v98 .main-tab.active *,
body.light-ui-v98 .studio-tab.active *,
body.light-ui-v98 .subtab.active *,
body.light-ui-v98 .provider-tab.active *,
body.halloween-theme .main-tab.active *,
body.halloween-theme .studio-tab.active *,
body.halloween-theme .subtab.active *,
body.halloween-theme .provider-tab.active *{
  color:inherit!important;
  text-shadow:none!important;
  filter:none!important;
}
