168 lines
18 KiB
CSS
168 lines
18 KiB
CSS
/* DONA_HOLOGRAPHIC_V1
|
||
* Thème transversal non destructif. Les contrôleurs et APIs existants restent les mêmes.
|
||
* Chargement APRÈS les feuilles Glass, y compris les correctifs précédents.
|
||
*/
|
||
:root { color-scheme:dark; --dh-white:#f1f4ff;--dh-muted:#a8b8d3;--dh-border:rgba(155,183,234,.23);--dh-panel:rgba(4,10,22,.81);--dh-blue:#5796ff;--dh-teal:#74e6d4;--dh-purple:#ab78ff;--dh-orange:#ffae73;--dh-shadow:0 24px 72px rgba(0,0,0,.38); }
|
||
html {scrollbar-color:#596b8c #060a14;}
|
||
body.dona-holo-v1 { color:var(--dh-white); background-color:#070913!important; background-image:
|
||
radial-gradient(ellipse 35% 39% at 3% 70%,rgba(251,101,44,.5),transparent 95%),
|
||
radial-gradient(ellipse 36% 52% at 96% 26%,rgba(18,125,236,.42),transparent 85%),
|
||
radial-gradient(ellipse 42% 35% at 50% 0%,rgba(119,68,173,.31),transparent 90%),
|
||
radial-gradient(ellipse 24% 32% at 82% 94%,rgba(243,97,42,.29),transparent 92%),
|
||
linear-gradient(125deg,#070810,#0a1020 54%,#090914) !important;
|
||
background-attachment:fixed!important; }
|
||
body.dona-holo-v1::before{content:"";position:fixed;z-index:0;inset:-10%;pointer-events:none;
|
||
background:radial-gradient(ellipse at 12% 18%,rgba(56,111,251,.17),transparent 33%),radial-gradient(ellipse at 78% 65%,rgba(227,100,165,.15),transparent 32%);
|
||
filter:blur(68px);animation:dh-ambient 19s ease-in-out infinite alternate;}
|
||
body.dona-holo-v1::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
|
||
background:linear-gradient(90deg,rgba(1,5,13,.13),rgba(1,5,13,.45) 43%,rgba(1,5,13,.18));}
|
||
@keyframes dh-ambient {0%{transform:translate(-1.5%,0)}100%{transform:translate(2%,1.4%)}}
|
||
/* Écrans d'administration, qui utilisent des conteneurs et feuilles CSS différents. */
|
||
body.dona-holo-v1 :is(.admin-layout,.id-shell,.id-wrap,.id-layout,.dv-main,.lv-layout,.lg-layout,.log-layout,.logs-layout){position:relative;z-index:1;}
|
||
body.dona-holo-v1 .alfred-main-v1{z-index:1;}
|
||
/* Priorité au panneau noir central de la maquette. Le décor reste diffus en périphérie. */
|
||
body.dona-holo-v1 .alfred-main-v1 .av-head {background:transparent!important;}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-logo {background:linear-gradient(145deg,#95c2ff,#5187ff 55%,#c58bff);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 1px 18px #4486ff73);}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-brand small{color:#c4cde1;}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-round{background:rgba(5,9,22,.74)!important;border:1px solid rgba(155,174,224,.24)!important;box-shadow:inset 0 1px rgba(255,255,255,.04);}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-round[aria-pressed="true"]{background:rgba(108,28,58,.75)!important;border-color:rgba(255,116,151,.66)!important;}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-summary{gap:clamp(9px,1.05vw,18px);}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-stat-card{color:var(--dh-white)!important;
|
||
background:linear-gradient(140deg,rgba(6,13,31,.79),rgba(8,16,34,.68))!important;
|
||
border:1px solid rgba(126,157,227,.24)!important;border-radius:22px!important;
|
||
box-shadow:0 12px 44px #01051255,inset 0 1px #ffffff0a!important;
|
||
backdrop-filter:blur(20px) saturate(120%)!important;-webkit-backdrop-filter:blur(20px) saturate(120%)!important;
|
||
transition:transform .2s,border-color .2s,box-shadow .2s;}
|
||
body.dona-holo-v1 .alfred-main-v1 .av-stat-card:hover{transform:translateY(-2px);border-color:#8bb9ff83!important;box-shadow:0 14px 45px #0206128b,0 0 23px #336ce22c!important;background:rgba(10,21,42,.85)!important;}
|
||
body.dona-holo-v1 .av-circle{background:#1e376566;color:#94c9ff;}
|
||
body.dona-holo-v1 .av-circle.ai{background:#492b7a80;color:#d2b3ff;}
|
||
body.dona-holo-v1 .av-weather{background:linear-gradient(140deg,rgba(12,28,44,.74),rgba(8,19,37,.8))!important;}
|
||
body.dona-holo-v1 .av-shortcuts button{background:rgba(5,10,24,.82)!important;border:1px solid rgba(151,177,221,.27)!important;border-radius:21px!important;box-shadow:inset 0 1px rgba(255,255,255,.035);}
|
||
body.dona-holo-v1 .av-shortcuts button:hover{background:#102344e6!important;border-color:#65a1ff82!important;}
|
||
body.dona-holo-v1 .av-shortcuts .a-icon{color:#a9c6ff;}
|
||
body.dona-holo-v1 .av-status-line{background:rgba(6,11,27,.65);border-color:rgba(157,186,229,.23);}
|
||
body.dona-holo-v1 .av-wave-host canvas{filter:drop-shadow(0 0 9px rgba(91,137,255,.65))!important;}
|
||
/* La réponse qui était une énorme div pleine page devient une scène avec cartes vivantes. */
|
||
body.dona-holo-v1.alfred-glass-theme #stage {top:clamp(93px,11vh,128px)!important;right:clamp(12px,2vw,34px)!important;bottom:clamp(12px,2.3vh,30px)!important;left:clamp(12px,2vw,34px)!important;
|
||
background:linear-gradient(146deg,rgba(2,5,13,.97),rgba(3,7,18,.96) 55%,rgba(6,10,26,.95))!important;
|
||
border:1px solid rgba(154,180,231,.25)!important;border-radius:clamp(18px,2vw,31px)!important;
|
||
padding:clamp(60px,8vh,100px) clamp(14px,3vw,46px) clamp(14px,3vh,28px)!important;
|
||
box-shadow:0 36px 95px rgba(0,0,0,.55),inset 0 1px #d7dfff0d;
|
||
display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important;}
|
||
body.dona-holo-v1.alfred-glass-theme #stage #content{width:min(1300px,100%)!important;max-width:none!important;max-height:none!important;min-height:0!important;overflow:visible!important;margin:auto;}
|
||
body.dona-holo-v1.alfred-glass-theme #stage .av-reponse-actions {top:16px!important;right:20px!important;}
|
||
body.dona-holo-v1.alfred-glass-theme #stage :is(#avBack.av-reponse-home,.av-reponse-close){background:rgba(17,27,51,.91)!important;border:1px solid #9bb9ec55!important;color:#f4f7ff!important;border-radius:15px!important;}
|
||
body.dona-holo-v1.alfred-glass-theme #stage .av-reponse-close{border-radius:50%!important;}
|
||
/* Réponse illustrée construite sur les données déjà présentes dans la réponse Hermes.
|
||
Les éléments ne sont pas des chiffres simulés : un métrique n'apparaît que s'il est cité. */
|
||
#content .dh-response{display:grid;grid-template-columns:minmax(250px,1.12fr) minmax(300px,.95fr);gap:clamp(12px,1.6vw,22px);align-items:stretch;min-width:0;}
|
||
#content .dh-primary{position:relative;min-width:0;min-height:335px;display:flex;flex-direction:column;gap:20px;
|
||
padding:clamp(22px,2.3vw,36px);border:1px solid rgba(96,142,255,.72);border-radius:24px;
|
||
background:linear-gradient(135deg,rgba(13,30,62,.9),rgba(6,14,31,.89) 62%,rgba(15,36,42,.82));
|
||
box-shadow:inset 0 1px #ffffff12,0 0 23px #3976fc2b,0 20px 35px #0004;}
|
||
#content .dh-primary:before{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:24px;background:linear-gradient(120deg,#5b83ff33,transparent 44%,#72e8cd17);opacity:.7;}
|
||
#content .dh-kicker{display:flex;align-items:center;gap:11px;font-size:11px!important;color:#a9bee6!important;letter-spacing:.16em;font-weight:700;text-transform:uppercase;}
|
||
#content .dh-kicker:before{content:"";height:9px;width:9px;background:#61a3ff;border-radius:50%;box-shadow:0 0 12px #579cff;}
|
||
#content .dh-headline{font-size:clamp(21px,2.1vw,33px)!important;letter-spacing:-.025em;font-weight:590;line-height:1.28;color:#f4f6ff;overflow-wrap:anywhere;}
|
||
#content .dh-excerpt{color:#c8d2e6!important;font-size:clamp(13px,1.02vw,16px)!important;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;}
|
||
#content .dh-more{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:13px 16px;
|
||
background:rgba(37,58,95,.44);border:1px solid #aac9ff42;border-radius:13px;color:#f0f5ff;font:600 13px/1.3 inherit;cursor:pointer;text-align:left;}
|
||
#content .dh-more:hover{background:#294b748e;border-color:#95caff92;}
|
||
#content .dh-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(145px,1fr);gap:14px;min-width:0;}
|
||
#content .dh-fact{border:1px solid rgba(113,151,218,.35);border-radius:20px;padding:clamp(16px,1.7vw,25px);min-width:0;
|
||
background:linear-gradient(135deg,rgba(17,34,63,.94),rgba(9,22,48,.85));box-shadow:inset 0 1px #ffffff0d;display:flex;flex-direction:column;gap:8px;}
|
||
#content .dh-fact:nth-child(3n + 2){border-color:rgba(101,209,189,.29);background:linear-gradient(145deg,rgba(12,38,52,.94),rgba(13,26,45,.85));}
|
||
#content .dh-fact:nth-child(3n + 3){border-color:rgba(239,150,94,.27);background:linear-gradient(135deg,rgba(45,29,40,.91),rgba(29,22,37,.86));}
|
||
#content .dh-fact:nth-child(4n){border-color:rgba(167,124,239,.28);background:linear-gradient(135deg,rgba(31,26,60,.94),rgba(16,20,43,.86));}
|
||
#content .dh-fact-label{font-size:clamp(11px,.85vw,14px)!important;line-height:1.35;color:#c1cee8;}
|
||
#content .dh-fact-icon{font-size:21px;margin-bottom:6px;opacity:.9;}
|
||
#content .dh-fact-value{font-size:clamp(19px,2.25vw,36px)!important;font-weight:570;line-height:1.15;color:#f9faff;letter-spacing:-.04em;overflow-wrap:anywhere;}
|
||
#content .dh-fact-note{font-size:11px!important;color:#93a6c9;line-height:1.5;margin-top:auto;overflow-wrap:anywhere;}
|
||
#content .dh-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;}
|
||
#content .dh-tag{padding:7px 11px;background:rgba(88,111,171,.2);border:1px solid rgba(143,166,218,.24);border-radius:999px;color:#d1daf6;font-size:12px;}
|
||
#content .dh-full{grid-column:1/-1;border:1px solid rgba(145,174,227,.27);background:rgba(11,20,39,.82);border-radius:18px;padding:20px;}
|
||
#content .dh-full[hidden]{display:none!important;}
|
||
#content .dh-full h3{font-size:16px;margin:0 0 12px;color:#deecff;text-align:left;}
|
||
#content .dh-full-text{white-space:pre-wrap;color:#ced8ea;line-height:1.65;font-size:14px;overflow-wrap:anywhere;}
|
||
#content .dh-source{font-size:11px;color:#8b9fc1;margin-top:9px;}
|
||
#content .dh-response:after{content:"";grid-column:1/-1;justify-self:center;width:min(490px,64%);height:3px;
|
||
background:linear-gradient(90deg,transparent,#3e92fe 30%,#c876f8 55%,#f7a569 73%,transparent);border-radius:50%;box-shadow:0 0 18px 5px #529bff5b;margin:7px 0 0;}
|
||
/* Les anciens types de cartes émis par les renderers restent pris en charge. */
|
||
body.dona-holo-v1 #stage #content > .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:17px;text-align:left;}
|
||
body.dona-holo-v1 #stage #content > .cards .card{padding:24px;border-radius:21px;background:linear-gradient(145deg,#13243ddf,#0a162ce5);border:1px solid #7c9cde57;text-align:left;}
|
||
body.dona-holo-v1 #stage #content > img.hero {max-height:calc(100dvh - 260px);width:auto;max-width:100%;object-fit:contain;border-radius:16px;}
|
||
/* Configuration et Surveillance */
|
||
body.dona-holo-v1.alfred-admin-glass .admin-layout{z-index:1;}
|
||
body.dona-holo-v1.alfred-admin-glass .ag-rail{background:rgba(3,7,20,.89)!important;border-color:var(--dh-border)!important;}
|
||
body.dona-holo-v1.alfred-admin-glass .admin-header{background:transparent!important;}
|
||
body.dona-holo-v1.alfred-admin-glass .brand-orb{background:linear-gradient(135deg,#438bff,#9368fa)!important;border-radius:18px;}
|
||
body.dona-holo-v1.alfred-admin-glass :is(.panel,.metric-card,.auth-box,.ag-row,.mcp-item){
|
||
background:linear-gradient(145deg,rgba(5,13,30,.91),rgba(9,18,36,.84))!important;
|
||
border:1px solid rgba(133,164,229,.29)!important;border-radius:21px!important;box-shadow:var(--dh-shadow);backdrop-filter:blur(18px);}
|
||
body.dona-holo-v1.alfred-admin-glass .page-top .eyebrow{color:#9cb9ff;}
|
||
body.dona-holo-v1.alfred-admin-glass .button.primary{background:linear-gradient(125deg,#3063d0,#556dca)!important;border-color:#98baff88!important;}
|
||
body.dona-holo-v1.alfred-admin-glass :is(.field input:not([type=range]):not([type=checkbox]),.field select,.ag-field input,.ag-field select){background:rgba(4,11,25,.87)!important;border-color:#799acc55!important;color:#f2f6ff!important;}
|
||
body.dona-holo-v1.alfred-admin-glass .admin-header nav :is(a,button){background:rgba(6,13,31,.78)!important;border-color:#8aace950!important;}
|
||
body.dona-holo-v1.alfred-admin-glass .admin-header nav .selected{border-color:#76a5fd!important;background:rgba(38,73,138,.92)!important;}
|
||
/* Pages dont les classes proviennent d'extensions installées séparément. */
|
||
body.dona-holo-v1 :is(.id-panel,.dv-panel,.lg-panel,.lv-panel,.log-panel,.logs-panel,.glass-panel,.id-editor,.dv-task,.dv-list,.dv-detail){background:linear-gradient(135deg,rgba(6,14,31,.92),rgba(12,20,42,.87))!important;
|
||
border:1px solid rgba(127,158,221,.3)!important;border-radius:22px!important;box-shadow:0 15px 35px rgba(0,0,0,.22);backdrop-filter:blur(15px);}
|
||
body.dona-holo-v1 :is(.dv-head,.id-header,.id-head,.lv-head,.lg-head,.logs-header,.log-header){position:relative;z-index:2;background:rgba(5,10,23,.66)!important;border-color:#819bd046!important;backdrop-filter:blur(15px);}
|
||
body.dona-holo-v1 :is(.dv-head,.id-header,.id-head) :is(a,button){border-radius:12px;}
|
||
body.dona-holo-v1 :is(.dv-main,.id-main,.lg-main,.lv-main,.logs-main,.log-main) h1{color:#f5f8ff;letter-spacing:-.035em;}
|
||
body.dona-holo-v1 :is(input,select,textarea){accent-color:#7fa7ff;}
|
||
body.dona-holo-v1 :is(.id-panel,.dv-panel,.lg-panel,.lv-panel,.log-panel,.logs-panel) :is(input:not([type=checkbox]):not([type=range]),textarea,select){background:rgba(5,11,27,.91)!important;color:#f2f6ff!important;border:1px solid #96b9ef55!important;border-radius:12px!important;}
|
||
body.dona-holo-v1 :is(.dv-primary,.id-button.primary){background:linear-gradient(120deg,#376cdd,#6763d5)!important;color:white!important;}
|
||
body.dona-holo-v1 :is(a,button,input,select,textarea):focus-visible{outline:2px solid #a9c5ff;outline-offset:3px;}
|
||
/* Page Journaux : log monospace lisible, pas de glow derrière le contenu. */
|
||
body.dona-holo-v1 :is(.lg-list,.logs-feed,.log-feed,.logs-table,.log-list,.lg-entries,pre.dv-diff){background:rgba(2,6,15,.79)!important;border:1px solid rgba(122,149,208,.25)!important;border-radius:14px!important;color:#d2e5ff;}
|
||
/* Les modules secondaires restent visibles au-dessus des effets de fond. */
|
||
body.dona-holo-v1 :is(dialog,.av-image-dialog,.camera-popup,#alfredTimersDock,#alfredTimerToast,.av-more-dialog,.audio-popover){z-index:100;}
|
||
@media(max-width:1050px){#content .dh-response{grid-template-columns:1fr;}#content .dh-primary{min-height:220px}#content .dh-facts{grid-auto-rows:minmax(125px,auto);}body.dona-holo-v1.alfred-glass-theme #stage{align-items:flex-start!important;}}
|
||
@media(max-width:700px){body.dona-holo-v1.alfred-glass-theme #stage{top:85px!important;left:8px!important;right:8px!important;bottom:8px!important;padding:80px 12px 18px!important;}#content .dh-response{display:block;}#content .dh-primary{padding:20px;margin-bottom:13px;}#content .dh-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}#content .dh-fact{padding:14px;min-height:130px;}#content .dh-full{margin-top:12px;}.alfred-glass-theme #stage .av-reponse-actions{top:12px!important;right:12px!important;}}
|
||
@media(prefers-reduced-motion:reduce){body.dona-holo-v1::before{animation:none}body.dona-holo-v1 .av-stat-card{transition:none}}
|
||
/* Finitions du panneau et affichage sans métriques */
|
||
#content .dh-response{text-align:left;}
|
||
#content .dh-response.dh-no-facts{grid-template-columns:minmax(0,900px);justify-content:center;}
|
||
#content .dh-more{font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;}
|
||
body.dona-holo-v1, #content .dh-response{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;}
|
||
/* Fenêtres secondaires de l'accueil (listes, ComfyUI, caméra) dans la même palette. */
|
||
body.dona-holo-v1 :is(#alfredListsGlassDialog,.av-image-dialog,.av-comfy-dialog,.av-more-dialog,.av-popup,.camera-popup,.audio-popover){
|
||
background:linear-gradient(145deg,rgba(4,10,24,.97),rgba(9,19,41,.96))!important;
|
||
border:1px solid rgba(142,176,242,.38)!important;border-radius:22px!important;
|
||
box-shadow:0 32px 90px #000a,0 0 26px #4f7fff18!important;color:#f4f7ff!important;
|
||
backdrop-filter:blur(22px)!important;}
|
||
body.dona-holo-v1 :is(.al-list-section,.al-item){background:rgba(14,25,48,.75)!important;border-color:#8aa9e34a!important;}
|
||
body.dona-holo-v1 :is(.al-add-form button,.al-footer button){background:linear-gradient(120deg,#254a9f,#4f56bb)!important;border-color:#8baffb77!important;}
|
||
|
||
/* DONA_MARKDOWN_V1 : rendu formaté des réponses d’Hermes */
|
||
/* Dona Markdown V1 - uniquement à l'intérieur des réponses holographiques */
|
||
#content .dh-full-text,
|
||
#content .dh-excerpt { white-space: normal; overflow-wrap: anywhere; }
|
||
#content .dh-full-text :is(p,ul,ol,pre,blockquote),
|
||
#content .dh-excerpt :is(p,ul,ol,pre,blockquote) { margin: 0 0 .8em; }
|
||
#content .dh-full-text :is(p,ul,ol,pre,blockquote):last-child,
|
||
#content .dh-excerpt :is(p,ul,ol,pre,blockquote):last-child { margin-bottom: 0; }
|
||
#content .dh-full-text :is(ul,ol),
|
||
#content .dh-excerpt :is(ul,ol) { padding-left: 1.7em; list-style-position: outside; }
|
||
#content .dh-full-text ul,
|
||
#content .dh-excerpt ul { list-style-type: disc; }
|
||
#content .dh-full-text ol,
|
||
#content .dh-excerpt ol { list-style-type: decimal; }
|
||
#content .dh-full-text li,
|
||
#content .dh-excerpt li { margin: .3em 0; padding-left: .12em; }
|
||
#content .dh-full-text :is(ul,ol) :is(ul,ol),
|
||
#content .dh-excerpt :is(ul,ol) :is(ul,ol) { margin-top: .35em; margin-bottom: .5em; }
|
||
#content .dh-response strong { font-weight: 750; color: #f8faff; }
|
||
#content .dh-response em { font-style: italic; }
|
||
#content .dh-response code { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .92em; background: #31436077; color: #cde9ff; border-radius: 5px; padding: .08em .28em; overflow-wrap: anywhere; }
|
||
#content .dh-full-text pre { overflow-x: auto; white-space: pre; padding: 13px 15px; background: #081222; border: 1px solid #8199c53b; border-radius: 12px; }
|
||
#content .dh-full-text pre code { background: none; padding: 0; font-size: .88em; white-space: pre; }
|
||
#content .dh-response a { color: #95caff; text-decoration: underline; text-underline-offset: 2px; }
|
||
#content .dh-full-text blockquote { padding: .45em .85em; border-left: 3px solid #83b9ff; background: #263e5b44; border-radius: 0 6px 6px 0; }
|
||
#content .dh-full-text :is(h3,h4,h5,h6) { margin: 1.1em 0 .5em; font-weight: 700; line-height: 1.35; color: #eff4ff; text-align: left; }
|
||
#content .dh-headline { white-space: normal; }
|
||
/* Annuler les grandes tailles et le pre-wrap du style générique « #content p ». */
|
||
#content .dh-full-text p,
|
||
#content .dh-excerpt p { font-size: inherit; line-height: inherit; color: inherit; white-space: normal; }
|