/* 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; }