/* CCI V1.0 original standalone Tally skin, scoped so the V1.3 workspace
   cannot change its colors, spacing, launcher, or centered chat layout. */
#tallyDock,#tallyDialog{--bg:#0d1123;--panel:#171d33;--panel-raised:#1d253e;--panel-solid:#171d33;--input:#10172c;--ink:#f0f3ff;--muted:#afbad2;--subtle:#94a1bd;--line:#303a56;--soft-line:#27324b;--purple:#be9cff;--cyan:#63dff5;--pink:#ffa1d3;--green:#71e0b4;--amber:#ffce7a;--red:#ffa5b6;--purple-wash:rgba(173,129,255,.13);--shadow:0 12px 35px rgba(0,0,0,.13);--glass:linear-gradient(115deg,#15304a,#2b2450 55%,#382440);--focus:#ad8dff;--rgb-a:#63dff5;--rgb-b:#c5a6ff;--rgb-c:#ffa1d3;color:var(--ink);font:14px/1.5 Inter,"Segoe UI",Arial,sans-serif}
[data-theme=light] #tallyDock,[data-theme=light] #tallyDialog{--bg:#f6f7fc;--panel:#fff;--panel-raised:#f2f4fc;--panel-solid:#fff;--input:#f9faff;--ink:#182240;--muted:#52617c;--subtle:#5f6e86;--line:#d6dceb;--soft-line:#e6eaf3;--purple:#7040c4;--cyan:#086e88;--pink:#b32379;--green:#0b7654;--amber:#8a5705;--red:#b02a4c;--purple-wash:#f0eaff;--shadow:0 12px 35px rgba(42,53,98,.055);--glass:linear-gradient(115deg,#edfaff,#f1ecff 55%,#fff0f8);--focus:#7345cc;--rgb-a:#076780;--rgb-b:#7133b6;--rgb-c:#ac2674}
#tallyDialog h2,#tallyDialog h3,#tallyDialog h4,#tallyDialog p{margin:0}
#tallyDialog h2{line-height:1.5;letter-spacing:-.4px;font-weight:700}
#tallyDialog p{color:var(--muted)}
:is(#tallyDock,#tallyDialog) button{font-family:inherit;line-height:1.5;color:var(--ink)}
:is(#tallyDock,#tallyDialog) :is(button,input):focus-visible{outline:2px solid var(--focus);outline-offset:4px;box-shadow:none}
:is(#tallyDock,#tallyDialog) .icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#tallyDock .light-asset{display:none!important}
[data-theme=light] #tallyDock .light-asset{display:block!important}
[data-theme=light] #tallyDock .dark-asset{display:none!important}
:is(#tallyDialog,#tallyDock .neon,#tallyDialog .neon){position:relative;isolation:isolate;border-color:rgba(134,123,247,.45)}
:is(#tallyDialog,#tallyDock .neon,#tallyDialog .neon)::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;background:linear-gradient(105deg,#45dfff,#9d75fc,#ff74c3,#45dfff);background-size:250% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:tallyV1BorderFlow 7s linear infinite;z-index:2}
:is(#tallyDock,#tallyDialog) .glass{background:var(--glass);box-shadow:inset 0 1px rgba(255,255,255,.14);overflow:hidden}
:is(#tallyDock,#tallyDialog) .glass::after{content:"";position:absolute;z-index:-1;inset:0;transform:none;pointer-events:none;background:linear-gradient(105deg,transparent 32%,rgba(143,235,255,.14) 44%,rgba(229,193,255,.24) 50%,rgba(255,190,223,.12) 57%,transparent 69%);border-radius:inherit;background-size:240% 100%;background-position:190% 50%;animation:tallyV1GlassSweep 6s ease-in-out infinite}
:is(#tallyDock,#tallyDialog) .glass:hover{background:var(--glass)!important}
#tallyDock{position:fixed;right:26px;bottom:24px;z-index:90;display:flex;align-items:center;gap:6px}
#tallyDock .tally-launcher{height:79px;display:flex;align-items:center;padding:8px 22px 8px 9px;gap:7px;border:1px solid var(--line);border-radius:19px;background:var(--glass);box-shadow:0 10px 38px rgba(10,9,34,.27),0 0 24px rgba(133,100,247,.14);text-align:left;overflow:visible}
#tallyDock .tally-launcher::after{border-radius:inherit;overflow:hidden}
.tally-launcher-art{display:block;width:75px;height:75px;flex-shrink:0;margin-top:-9px}
.tally-launcher-art img{width:100%;height:100%;object-fit:contain}
.tally-launcher-copy strong{display:block;font-size:15px;font-weight:700}
.tally-launcher-copy strong b{color:var(--purple);font-weight:400}
.tally-launcher-copy small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
#tallyDock .dock-toggle{width:22px;height:31px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:0;color:var(--muted)}
#tallyDock .dock-toggle .icon{width:12px}
#tallyDock.collapsed .tally-launcher-copy{display:none}
#tallyDock.collapsed .tally-launcher{padding:5px;height:69px}
#tallyDock.collapsed .tally-launcher-art{width:60px;height:60px;margin:0}
:is(#tallyDock,#tallyDialog) .sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible}
:is(#tallyDock,#tallyDialog) .sparkles i{font-style:normal;font-size:12px;position:absolute;color:#a17eff;text-shadow:0 0 8px rgba(118,224,255,.6);opacity:0;animation:tallyV1Sparkle 3.8s ease-in-out infinite;animation-delay:-1s}
:is(#tallyDock,#tallyDialog) .sparkles i:nth-child(1){left:8%;top:1%;color:var(--cyan)}
:is(#tallyDock,#tallyDialog) .sparkles i:nth-child(2){left:43%;top:9%;animation-delay:-2.6s;right:auto}
:is(#tallyDock,#tallyDialog) .sparkles i:nth-child(3){right:8%;top:2%;bottom:auto;color:var(--pink);animation-delay:-3.5s}
:is(#tallyDock,#tallyDialog) .sparkles i:nth-child(4){left:23%;bottom:1%;animation-delay:-.6s}
:is(#tallyDock,#tallyDialog) .sparkles i:nth-child(5){right:27%;bottom:3%;color:var(--cyan);animation-delay:-1.8s}
#tallyDialog{color:var(--ink);background:var(--panel-solid);border-radius:18px;border:1px solid var(--line);padding:0;box-shadow:0 25px 90px rgba(0,0,0,.45),0 0 30px rgba(133,97,218,.12);width:min(630px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:hidden;margin:auto}
#tallyDialog::backdrop{background:rgba(4,7,20,.72);backdrop-filter:blur(7px)}
[data-theme=light] #tallyDialog::backdrop{background:rgba(30,39,68,.36)}
#tallyDialog:not([open]){display:none}
#tallyDialog[open]{display:flex;flex-direction:column}
.tally-head{display:flex;align-items:center;gap:16px;padding:21px 24px 17px;border-bottom:1px solid var(--line);flex-shrink:0}
.tally-head-art{position:relative;flex-shrink:0;width:87px;height:87px}
.tally-head-art img{width:100%;height:100%;object-fit:contain}
#tallyDialog .tally-heading{display:block;padding:0;border:0}
#tallyDialog .eyebrow{display:flex;align-items:center;gap:9px;font-weight:750;color:var(--purple);margin:0}
#tallyDialog .tally-heading .eyebrow{font-size:9px;letter-spacing:1px}
#tallyDialog .tally-heading h2{font-size:26px;margin:4px 0}
#tallyDialog .tally-heading h2 span{color:var(--purple);font-size:22px}
#tallyDialog .tally-heading p{font-size:12px;color:var(--muted)}
#tallyDialog .icon-button{width:36px;height:36px;display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:10px;padding:0;flex-shrink:0}
#tallyDialog .icon-button:hover{border-color:var(--purple);background:var(--purple-wash)}
.tally-head>.icon-button{align-self:flex-start;margin-left:auto;border:0!important;background:none}
#tallyDialog .tally-context{display:flex;align-items:center;gap:7px;background:var(--panel-raised);padding:11px 22px;color:var(--muted);font-size:11px;flex-shrink:0;border:0;line-height:1.5}
#tallyDialog .tally-context>.icon{width:14px}
#tallyDialog .badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:0;border-radius:5px;font-weight:750;white-space:nowrap;line-height:1.5}
#tallyDialog .badge.purple{background:var(--purple-wash);color:var(--purple)}
#tallyDialog .tally-context .badge{margin-left:auto;font-size:9px}
.tally-chat{padding:23px;overflow-y:auto;height:318px;min-height:150px;flex:1;scroll-behavior:smooth;overscroll-behavior:contain}
.chat-welcome{background:var(--purple-wash);border:1px solid var(--line);border-radius:11px;padding:15px;color:var(--ink);font-size:13px}
#tallyDialog .chat-welcome p{color:var(--muted);font-size:12px;margin-top:6px}
.chat-turn{margin:0 0 15px}
.chat-turn.user{margin-left:48px;text-align:right}
#tallyDialog .chat-turn.user p{display:inline-block;padding:10px 13px;border:1px solid var(--line);background:var(--panel-raised);border-radius:11px 11px 2px 11px;font-size:12px;word-break:break-word;color:var(--ink)}
.chat-answer{background:var(--purple-wash);border:1px solid var(--line);border-radius:11px 11px 11px 2px;padding:15px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
#tallyDialog .chat-answer h4{font-size:13px;margin-bottom:9px;font-weight:700}
.chat-stats{display:flex;gap:14px;margin:10px 0 12px}
.chat-stats>div{flex:1;min-width:0}
.chat-stats strong{display:block;font-size:20px;line-height:1.3}
.chat-stats small{font-size:10px;color:var(--muted)}
#tallyDialog .chat-answer p{margin:6px 0;color:var(--muted);font-size:12px}
.chat-source{border-top:1px solid var(--line);padding-top:9px;margin-top:12px;font-size:10px;color:var(--muted)}
.tally-suggestions{display:flex;gap:7px;padding:6px 22px 10px;flex-shrink:0;flex-wrap:wrap}
#tallyDialog .tally-suggestions button{padding:7px 10px;border:1px solid var(--line);background:var(--panel-raised);border-radius:7px;font-size:10px;color:var(--purple)}
#tallyDialog .tally-suggestions button:hover{border-color:var(--purple)}
#tallyDialog .tally-form{display:flex;gap:10px;padding:4px 22px 0;flex-shrink:0}
#tallyDialog .tally-form input{width:100%;font-size:12px;min-height:44px;color:var(--ink);caret-color:var(--ink);background:var(--input);border:1px solid var(--line);border-radius:9px;padding:11px 12px;min-width:0;max-width:100%}
#tallyDialog .tally-form input::placeholder{color:var(--rgb-a);animation:tallyV1PlaceholderRGB 6s linear infinite;opacity:1}
#tallyDialog .button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;min-height:42px;padding:10px 16px;white-space:nowrap;font-size:13px;font-weight:650;isolation:isolate;transition:transform .16s,background .16s}
#tallyDialog .button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--purple)}
#tallyDialog .tally-form>.button{min-width:77px}
#tallyDialog .text-button{background:none;border:0;color:var(--purple);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;padding:5px 0}
#tallyDialog .tally-disclaimer{text-align:center;color:var(--muted);font-size:9px;margin:10px 14px 16px;flex-shrink:0}
@keyframes tallyV1BorderFlow{0%{background-position:0% 50%}100%{background-position:250% 50%}}
@keyframes tallyV1GlassSweep{0%,18%{background-position:190% 50%}62%,100%{background-position:-90% 50%}}
@keyframes tallyV1Sparkle{0%,100%{opacity:0;transform:translateY(2px) scale(.7)}45%{opacity:.85;transform:translateY(-5px) scale(1)}}
@keyframes tallyV1PlaceholderRGB{0%,100%{color:var(--rgb-a)}33%{color:var(--rgb-b)}66%{color:var(--rgb-c)}}
[data-effects=subtle] :is(#tallyDialog,#tallyDock .neon,#tallyDialog .neon)::before{padding:1px;opacity:.55;animation:none}
[data-effects=subtle] :is(#tallyDock,#tallyDialog) .glass::after{animation:none;opacity:0}
[data-effects=subtle] :is(#tallyDock,#tallyDialog) .sparkles{display:none}
[data-effects=subtle] #tallyDock .tally-launcher{box-shadow:var(--shadow)}
[data-effects=subtle] #tallyDialog .tally-form input::placeholder{animation:none;color:var(--rgb-b)}
[data-effects=subtle] #tallyDialog{box-shadow:0 20px 65px rgba(10,15,40,.28)}
@media(max-width:820px){#tallyDock{right:16px;bottom:16px}}
@media(max-width:620px){#tallyDock .tally-launcher{height:69px;padding:5px 15px 5px 7px;border-radius:16px}.tally-launcher-art{width:62px;height:62px;margin-top:-7px}.tally-launcher-copy strong{font-size:13px}.tally-launcher-copy small{font-size:10px}#tallyDock{bottom:14px;right:13px;gap:4px}.tally-head{padding:18px 14px;gap:10px}.tally-head-art{width:67px;height:67px}#tallyDialog .tally-heading .eyebrow{font-size:7px;letter-spacing:.5px}#tallyDialog .tally-heading h2{font-size:22px}#tallyDialog .tally-heading p{font-size:10px}#tallyDialog .tally-head>.icon-button{width:26px;height:26px}#tallyDialog .tally-context{padding:10px 15px;font-size:10px}#tallyDialog .tally-context .badge{font-size:8px}.tally-chat{padding:16px;min-height:155px;max-height:40dvh;height:300px}.tally-suggestions{padding:4px 15px 10px;gap:5px}#tallyDialog .tally-suggestions button{font-size:9px;padding:6px 8px}#tallyDialog .tally-form{padding:3px 15px 0;gap:8px}#tallyDialog .tally-form input{font-size:11px;min-width:0;padding:10px}#tallyDialog .tally-form>.button{font-size:11px;min-width:60px;padding:8px}#tallyDialog .tally-disclaimer{font-size:8px}}
@media(max-height:540px){#tallyDialog{max-height:calc(100dvh - 20px)}.tally-head{padding:12px 20px;gap:12px}.tally-head-art{width:54px;height:54px}.tally-chat{min-height:60px;max-height:none}.tally-context{padding-top:6px;padding-bottom:6px}#tallyDialog .tally-disclaimer{margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){:is(#tallyDock,#tallyDialog),:is(#tallyDock,#tallyDialog) *,:is(#tallyDock,#tallyDialog) *::before,:is(#tallyDock,#tallyDialog) *::after{animation:none!important;transition:none!important}.tally-chat{scroll-behavior:auto!important}#tallyDialog .tally-form input::placeholder{animation:none!important}}
@media print{#tallyDock,#tallyDialog{display:none!important}}
/* Preserve the V1.0 solid dialog edge and neon Ask-button edge exactly. */
#tallyDialog.tally-dialog{border-color:var(--line)}
#tallyDialog .button.neon{border-color:rgba(134,123,247,.45)}
