/* ODIN / Studio argent — couche visuelle commune. Ne modifie pas les layouts UX. */
:root[data-odin-theme]{--bg:color-mix(in srgb,var(--ui-surface-1) 55.1020%,var(--ui-surface-0));--paper:color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0));--ink:color-mix(in srgb,var(--ui-text-1) 3.2967%,var(--ui-text-0));--muted:color-mix(in srgb,var(--ui-text-1) 29.1209%,var(--ui-text-0));--sub:color-mix(in srgb,var(--ui-text-1) 29.1209%,var(--ui-text-0));--line:color-mix(in srgb,var(--ui-line-1) 71.9512%,var(--ui-line-0));--green:var(--ui-accent-0);--soft:color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0));--accent:var(--ui-accent-1);--accent-soft:var(--ui-accent-soft-0);--amber:var(--ui-warn-1);--amberbg:var(--ui-warn-soft-1);--blue:var(--ui-accent-soft-1);--grid:color-mix(in srgb,var(--ui-surface-1) 24.4898%,var(--ui-surface-0));--silver-light:color-mix(in srgb,var(--ui-surface-1) 92.8571%,var(--ui-surface-0));--silver-shadow:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 56.9892%,var(--ui-shadow-0)) 16.863%,transparent);--silver-surface:linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 72.4490%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)));--silver-raised:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 91.9355%,var(--ui-shadow-0)) 30.196%,transparent),0 8px 18px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 55.9140%,var(--ui-shadow-0)) 12.549%,transparent);font-family:var(--ui-font-body)}
html[data-odin-theme] body{background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 90.8163%,var(--ui-surface-0)) 53.333%,transparent),transparent 65%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 62.2449%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 42.8571%,var(--ui-surface-0)));color:var(--ink)}
html[data-odin-theme] :is(h1,h2,h3){font-weight:550;letter-spacing:-.025em}
html[data-odin-theme] :is(button,input,select,textarea){color:var(--ink);border-color:color-mix(in srgb,var(--ui-line-1) 68.9024%,var(--ui-line-0))}
html[data-odin-theme] button{background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 77.5510%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0)));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0)) 65.098%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent),1px 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 58.0645%,var(--ui-shadow-0)) 14.902%,transparent);border-radius:9px}
html[data-odin-theme] button:hover:not(:disabled){background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 85.7143%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 56.1224%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-highlight-1) 92.0635%,var(--ui-highlight-0))}
html[data-odin-theme] :is(button.primary,.primary){background-color:color-mix(in srgb,var(--ui-primary-1) 6.8182%,var(--ui-primary-0));background-image:radial-gradient(ellipse 130px 80px at var(--gx,25%) var(--gy,0%),color-mix(in srgb,var(--ui-surface-1) 14.902%,transparent),transparent 88%),linear-gradient(130deg,color-mix(in srgb,var(--ui-primary-1) 30.6818%,var(--ui-primary-0)),var(--ui-primary-0));color:var(--ui-primary-ink-0);border:1px solid color-mix(in srgb,var(--ui-primary-1) 70.4545%,var(--ui-primary-0));box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 94.0860%,var(--ui-shadow-0)) 40.000%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 18.2796%,var(--ui-shadow-0)) 40.000%,transparent),0 5px 10px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 46.7742%,var(--ui-shadow-0)) 18.824%,transparent);font-weight:600}
html[data-odin-theme] button.primary:hover:not(:disabled){background-image:radial-gradient(ellipse 140px 80px at var(--gx,25%) var(--gy,0%),color-mix(in srgb,var(--ui-surface-1) 20.000%,transparent),transparent 88%),linear-gradient(130deg,color-mix(in srgb,var(--ui-primary-1) 43.1818%,var(--ui-primary-0)),color-mix(in srgb,var(--ui-primary-1) 18.1818%,var(--ui-primary-0)));color:var(--ui-primary-ink-1);border-color:var(--ui-primary-1)}
html[data-odin-theme] button:disabled{background:color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 43.4066%,var(--ui-text-0));box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 93.0108%,var(--ui-shadow-0)) 20.000%,transparent);opacity:.55;cursor:not-allowed}
html[data-odin-theme] :is(input,textarea,select){background:color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0));border:1px solid color-mix(in srgb,var(--ui-line-1) 68.9024%,var(--ui-line-0));box-shadow:inset 2px 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 65.0538%,var(--ui-shadow-0)) 14.902%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 60.000%,transparent);border-radius:8px}
html[data-odin-theme] :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--ui-text-1) 38.4615%,var(--ui-text-0));opacity:1}
html[data-odin-theme] :is(button,a,input,select,textarea,summary,[tabindex],[contenteditable]):focus-visible{outline:2px solid color-mix(in srgb,var(--ui-line-1) 1.2195%,var(--ui-line-0));outline-offset:3px}
html[data-odin-theme] :is(dialog,.drop,.menu,.popover){background:linear-gradient(125deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 82.6531%,var(--ui-surface-0)) 90.980%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 61.2245%,var(--ui-surface-0)) 94.118%,transparent));color:var(--ink);border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 90.4762%,var(--ui-highlight-0)) 85.098%,transparent);box-shadow:inset 1px 1px var(--ui-highlight-1),0 22px 65px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 31.7204%,var(--ui-shadow-0)) 30.196%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:17px}
html[data-odin-theme] dialog::backdrop{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 30.6452%,var(--ui-shadow-0)) 33.333%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
html[data-odin-theme] :is(.dialog-head,.dialog-foot,.dialog-top,.dialog-actions){background:linear-gradient(125deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 82.6531%,var(--ui-surface-0)) 66.667%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 55.1020%,var(--ui-surface-0)) 66.667%,transparent));border-color:color-mix(in srgb,var(--ui-shadow-1) 40.000%,transparent)}
html[data-odin-theme] :is(.tag,.pill,.chip,.badge){background:color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 20.3297%,var(--ui-text-0));border-color:var(--ui-line-1)}
html[data-odin-theme] :is(.tabs button.active,.tabs button[aria-pressed=true],.study-tabs .active,.ai-tabs [aria-pressed=true],.chip.on){background:var(--ui-selected-1);color:var(--ui-selected-ink-1);border-color:var(--ui-selected-1)}
html[data-odin-theme] :is(.card,.mcard,.ws-card,.study-card,.study-version,.ai-card,.row,.rd-panel,.resume-card,.resume-new){background:radial-gradient(ellipse 260px 180px at var(--gx,20%) var(--gy,0%),color-mix(in srgb,var(--ui-surface-1) 41.961%,transparent),transparent 85%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 73.4694%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 55.1020%,var(--ui-surface-0)));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 70.196%,transparent);box-shadow:var(--silver-raised);border-radius:15px}
html[data-odin-theme] :is(.mcard:hover,.mcard.sel,.card:hover){border-color:color-mix(in srgb,var(--ui-line-1) 38.4146%,var(--ui-line-0));box-shadow:inset 1px 1px var(--ui-highlight-1),0 0 0 2px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 40.000%,transparent),0 10px 20px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 53.2258%,var(--ui-shadow-0)) 18.824%,transparent)}
html[data-odin-theme] .mcard .open{background:transparent;box-shadow:none;border:0}
html[data-odin-theme] :is(.card p,.mcard p,.muted,small,.eyebrow){color:var(--muted)}
html[data-odin-theme] :is(.warnbox,.study-warning,.ai-warning){background:color-mix(in srgb,var(--ui-surface-1) 57.1429%,var(--ui-surface-0));border-color:color-mix(in srgb,var(--ui-line-1) 59.1463%,var(--ui-line-0));color:color-mix(in srgb,var(--ui-text-1) 23.0769%,var(--ui-text-0))}
html[data-odin-theme] #toast{background:linear-gradient(130deg,color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 44.0860%,var(--ui-shadow-0)) 94.118%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 31.7204%,var(--ui-shadow-0)) 94.118%,transparent));color:color-mix(in srgb,var(--ui-rail-ink-1) 83.7209%,var(--ui-rail-ink-0));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 19.0476%,var(--ui-highlight-0)) 60.000%,transparent);box-shadow:0 9px 25px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 39.7849%,var(--ui-shadow-0)) 30.196%,transparent);backdrop-filter:blur(14px)}
/* Coque des ateliers : groupes, compteurs et repli de la nouvelle UX conservés. */
html[data-odin-surface="app"] header.topbar{background:linear-gradient(110deg,color-mix(in srgb,var(--ui-surface-1) 74.4898%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 57.1429%,var(--ui-surface-0)));border-bottom:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 98.9247%,var(--ui-shadow-0)) 50.196%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent)}
html[data-odin-surface="app"] .brand{color:color-mix(in srgb,var(--ui-text-1) 11.5385%,var(--ui-text-0));letter-spacing:-.06em;font-weight:550}
html[data-odin-surface="app"] .sidebar{margin:10px 8px;border-radius:17px;background:linear-gradient(110deg,color-mix(in srgb,var(--ui-rail-1) 37.2549%,var(--ui-rail-0)),color-mix(in srgb,var(--ui-rail-1) 8.8235%,var(--ui-rail-0)));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 60.7527%,var(--ui-shadow-0)) 60.000%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 89.7849%,var(--ui-shadow-0)) 33.333%,transparent),inset -1px -1px var(--ui-rail-0),4px 9px 20px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 47.8495%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-surface="app"] .sidebar :is(button,small,.grp,.lb,.ic,svg.ic){color:color-mix(in srgb,var(--ui-rail-ink-1) 23.2558%,var(--ui-rail-ink-0))}
html[data-odin-surface="app"] .sidebar button{background:transparent;border-color:transparent;box-shadow:none;border-radius:10px}
html[data-odin-surface="app"] .sidebar button.active{background:linear-gradient(125deg,color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 79.5699%,var(--ui-shadow-0)) 53.333%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 54.8387%,var(--ui-shadow-0)) 53.333%,transparent));color:color-mix(in srgb,var(--ui-rail-ink-1) 90.6977%,var(--ui-rail-ink-0));border-color:color-mix(in srgb,var(--ui-shadow-1) 33.333%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 65.0794%,var(--ui-highlight-0)) 33.333%,transparent),0 3px 7px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 22.5806%,var(--ui-shadow-0)) 40.000%,transparent)}
html[data-odin-surface="app"] .sidebar button.active svg.ic{color:color-mix(in srgb,var(--ui-rail-ink-1) 86.0465%,var(--ui-rail-ink-0))}
html[data-odin-surface="app"] .sidebar button:hover{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 95.6989%,var(--ui-shadow-0)) 20.000%,transparent);border-color:color-mix(in srgb,var(--ui-highlight-0) 26.667%,transparent)}
html[data-odin-surface="app"] .sidebar .n{color:color-mix(in srgb,var(--ui-rail-ink-1) 34.8837%,var(--ui-rail-ink-0));background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 32.2581%,var(--ui-shadow-0)) 50.196%,transparent);border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 90.8602%,var(--ui-shadow-0)) 33.333%,transparent)}
html[data-odin-surface="app"] .sidebar .n.z{color:var(--ui-rail-ink-0)}
html[data-odin-surface="app"] .sidebar .grp{border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 12.6984%,var(--ui-highlight-0)) 20.000%,transparent);font-weight:500}
html[data-odin-surface="app"] .sidebar .badge{color:color-mix(in srgb,var(--ui-rail-ink-1) 67.4419%,var(--ui-rail-ink-0));background:color-mix(in srgb,var(--ui-rail-1) 63.7255%,var(--ui-rail-0))}
html[data-odin-surface="app"] main{margin:10px 10px 10px 0;border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0)) 70.196%,transparent);border-radius:18px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 71.4286%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 50%,var(--ui-surface-0)));box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent),0 10px 24px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 57.5269%,var(--ui-shadow-0)) 12.549%,transparent)}
html[data-odin-surface="app"] .odin-view-body{background:radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--ui-surface-1) 33.333%,transparent),transparent 65%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 71.4286%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 47.9592%,var(--ui-surface-0)))}
html[data-odin-surface="app"] #inspector{background:linear-gradient(120deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 79.5918%,var(--ui-surface-0)) 85.098%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 58.1633%,var(--ui-surface-0)) 92.157%,transparent));border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 80.000%,transparent);backdrop-filter:blur(18px);box-shadow:-8px 0 24px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 61.8280%,var(--ui-shadow-0)) 12.549%,transparent)}
html[data-odin-surface="app"] :is(.search,.switcher){background:color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0));border-color:color-mix(in srgb,var(--ui-line-1) 69.5122%,var(--ui-line-0));box-shadow:inset 2px 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 65.5914%,var(--ui-shadow-0)) 13.333%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0)) 70.196%,transparent)}
html[data-odin-surface="app"] :is(.switcher .sq,.sq){background:color-mix(in srgb,var(--ui-text-1) 48.3516%,var(--ui-text-0))}
html[data-odin-surface="app"] :is(.drop button,.drop a,.pal-r){background:transparent;box-shadow:none;border:0}
html[data-odin-surface="app"] :is(.drop button:hover,.drop a:hover,.pal-r.on,.pal-r:hover){background:color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 40.8163%,var(--ui-surface-0)) 40.000%,transparent)}
html[data-odin-surface="app"] :is(.pal-q input,.pal-q input:focus){background:transparent;box-shadow:none}
html[data-odin-surface="app"] #saveState{background:color-mix(in srgb,var(--ui-surface-1) 56.1224%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 25.8242%,var(--ui-text-0))}
html[data-odin-surface="app"] :is(.rd-tour,.study-context,.ai-ready,.ai-follow,.empty-ill,.steps>div,.rd-canvas,.ws-map-wrap){background:linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 73.4694%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 47.9592%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 71.9512%,var(--ui-line-0))}
html[data-odin-surface="app"] :is(.mach-run,.mach-palette,.mach-props,.mach-panel,.mach-bottom,.mach-tabs,.mach-props-head){background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 73.4694%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 62.1951%,var(--ui-line-0))}
html[data-odin-surface="app"] :is(.mach-canvas,.eco-canvas-svg){background-color:color-mix(in srgb,var(--ui-surface-1) 57.1429%,var(--ui-surface-0))}
html[data-odin-surface="app"] .mach-tool{background:transparent;box-shadow:none}
html[data-odin-surface="app"] .mach-tool[aria-pressed=true]{background:color-mix(in srgb,var(--ui-surface-1) 40.8163%,var(--ui-surface-0));border-color:color-mix(in srgb,var(--ui-line-1) 48.7805%,var(--ui-line-0));box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 88.8889%,var(--ui-highlight-0))}
/* Gestionnaire : conserver Reprendre et la liste compacte de la refonte UX. */
html[data-odin-surface="hub"] body{color:var(--ink)}
html[data-odin-surface="hub"] header{background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 74.4898%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)));border-bottom:1px solid color-mix(in srgb,var(--ui-line-1) 67.0732%,var(--ui-line-0));box-shadow:inset 0 1px color-mix(in srgb,var(--ui-highlight-1) 60.000%,transparent)}
html[data-odin-surface="hub"] .brand{font-weight:550;letter-spacing:-.06em;color:color-mix(in srgb,var(--ui-text-1) 13.1868%,var(--ui-text-0))}
html[data-odin-surface="hub"] :is(.brand span,.lead,.local,.eyebrow,.muted,.card p,.card-meta,#message,footer,.desc){color:color-mix(in srgb,var(--ui-text-1) 32.9670%,var(--ui-text-0))}
html[data-odin-surface="hub"] :is(.hsearch,.search){background:color-mix(in srgb,var(--ui-surface-1) 47.9592%,var(--ui-surface-0));border-color:color-mix(in srgb,var(--ui-line-1) 68.2927%,var(--ui-line-0));box-shadow:inset 2px 2px 5px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 64.5161%,var(--ui-shadow-0)) 14.902%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0)) 70.196%,transparent)}
html[data-odin-surface="hub"] .hsearch input{background:transparent;box-shadow:none;border:0;color:color-mix(in srgb,var(--ui-text-1) 20.8791%,var(--ui-text-0))}
html[data-odin-surface="hub"] .hsearch kbd{border-color:color-mix(in srgb,var(--ui-line-1) 57.9268%,var(--ui-line-0));color:color-mix(in srgb,var(--ui-text-1) 34.0659%,var(--ui-text-0))}
html[data-odin-surface="hub"] :is(.resume-in p,.resume-in small,.resume-new small,.prow small){color:color-mix(in srgb,var(--ui-text-1) 31.3187%,var(--ui-text-0))}
html[data-odin-surface="hub"] .prow{background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 74.4898%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0)));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 84.1270%,var(--ui-highlight-0)) 70.196%,transparent);box-shadow:var(--silver-raised)}
html[data-odin-surface="hub"] :is(.card-band,.sq){background:color-mix(in srgb,var(--ui-text-1) 46.1538%,var(--ui-text-0))}
html[data-odin-surface="hub"] .monogram{background:linear-gradient(140deg,color-mix(in srgb,var(--ui-surface-1) 79.5918%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 39.7959%,var(--ui-surface-0)));border:1px solid color-mix(in srgb,var(--ui-highlight-1) 90.4762%,var(--ui-highlight-0));color:color-mix(in srgb,var(--ui-text-1) 21.9780%,var(--ui-text-0));box-shadow:inset 1px 1px var(--ui-highlight-1),1px 3px 6px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 62.9032%,var(--ui-shadow-0)) 18.824%,transparent);border-radius:11px}
html[data-odin-surface="hub"] .resume-new{color:color-mix(in srgb,var(--ui-text-1) 28.5714%,var(--ui-text-0))}
html[data-odin-surface="hub"] :is(.card-state,.hero-map span,.empty,.principles){background:color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0));border-color:color-mix(in srgb,var(--ui-line-1) 58.5366%,var(--ui-line-0));color:color-mix(in srgb,var(--ui-text-1) 28.0220%,var(--ui-text-0))}
/* OPC embarqué et exports : même matière, aucune modification des métriques du graphe. */
html[data-odin-surface="opc"] :is(.topbar,.navigation,footer){background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 77.5510%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 65.2439%,var(--ui-line-0));box-shadow:inset 0 1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 90.4762%,var(--ui-highlight-0)) 60.000%,transparent)}
html[data-odin-surface="opc"] #canvas{background-color:color-mix(in srgb,var(--ui-surface-1) 52.0408%,var(--ui-surface-0));background-image:linear-gradient(color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 75.2688%,var(--ui-shadow-0)) 12.549%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 75.2688%,var(--ui-shadow-0)) 12.549%,transparent) 1px,transparent 1px),radial-gradient(ellipse at 10% 0%,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 94.8980%,var(--ui-surface-0)) 40.000%,transparent),transparent 70%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 40.8163%,var(--ui-surface-0)));background-size:64px 64px,64px 64px,100% 100%,100% 100%}
html[data-odin-surface="opc"] .phase-frame{background:color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 90.8163%,var(--ui-surface-0)) 12.157%,transparent);border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 82.7957%,var(--ui-shadow-0)) 40.000%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 90.4762%,var(--ui-highlight-0)) 30.196%,transparent)}
html[data-odin-surface="opc"] .node{background:radial-gradient(ellipse 180px 140px at var(--gx,15%) var(--gy,0%),color-mix(in srgb,var(--ui-surface-1) 46.667%,transparent),transparent 85%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 81.6327%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0)));border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 84.1270%,var(--ui-highlight-0)) 70.196%,transparent);box-shadow:inset 1px 1px var(--ui-highlight-1),0 8px 16px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 54.3011%,var(--ui-shadow-0)) 18.824%,transparent),0 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 56.4516%,var(--ui-shadow-0)) 12.157%,transparent)}
html[data-odin-surface="opc"] .node.selected{border-color:color-mix(in srgb,var(--ui-line-1) 29.2683%,var(--ui-line-0));box-shadow:inset 1px 1px var(--ui-highlight-1),0 0 0 3px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 88.8889%,var(--ui-highlight-0)) 46.667%,transparent),0 11px 22px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 54.3011%,var(--ui-shadow-0)) 23.137%,transparent)}
html[data-odin-surface="opc"] .node.note{background:linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 55.1020%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 32.6531%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 46.9512%,var(--ui-line-0))}
html[data-odin-surface="opc"] :is(.node-tag,.node-controls,.node-layer>.layer-heading,.phase-head){color:color-mix(in srgb,var(--ui-text-1) 31.3187%,var(--ui-text-0))}
html[data-odin-surface="opc"] .node-layer{border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 96.7742%,var(--ui-shadow-0)) 40.000%,transparent)}
html[data-odin-surface="opc"] :is(.node-layer textarea,.node-layer input,.node-layer select){background:color-mix(in srgb,var(--ui-surface-1) 53.0612%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 20.8791%,var(--ui-text-0));border-color:color-mix(in srgb,var(--ui-line-1) 62.8049%,var(--ui-line-0))}
html[data-odin-surface="opc"] :is(.phase-nav[aria-pressed=true],.phase-nav.active){background:linear-gradient(125deg,color-mix(in srgb,var(--ui-surface-1) 85.7143%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 46.9388%,var(--ui-surface-0)));color:color-mix(in srgb,var(--ui-text-1) 21.9780%,var(--ui-text-0));border-color:color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0));box-shadow:var(--silver-raised)}
html[data-odin-surface="opc"] :is(.depth-tools,.zoom-tools,#odinMini,#odinLegend){background:linear-gradient(125deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 84.6939%,var(--ui-surface-0)) 74.902%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0)) 85.882%,transparent));border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 82.5397%,var(--ui-highlight-0)) 70.196%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent),0 8px 18px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 53.2258%,var(--ui-shadow-0)) 20.000%,transparent);backdrop-filter:blur(16px)}
html[data-odin-surface="opc"] :is(.edge-line,.flow-edge){stroke:color-mix(in srgb,var(--ui-text-1) 45.0549%,var(--ui-text-0))}
html[data-odin-surface="opc"] :is(.edge-line.selected,.flow-edge.selected){stroke:color-mix(in srgb,var(--ui-text-1) 21.9780%,var(--ui-text-0))}
html[data-odin-surface="opc"] #caseEditor{background:linear-gradient(125deg,color-mix(in srgb,var(--ui-surface-1) 80.6122%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 58.1633%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-highlight-1) 90.4762%,var(--ui-highlight-0));box-shadow:inset 1px 1px var(--ui-highlight-1),0 25px 75px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 32.7957%,var(--ui-shadow-0)) 40.000%,transparent)}
html[data-odin-surface="opc"] :is(.case-top,.case-bottom,#caseTabs){background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 76.5306%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 47.9592%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 60.9756%,var(--ui-line-0))}
html[data-odin-surface="opc"] #caseTabs button{background:transparent;box-shadow:none;border:0;color:color-mix(in srgb,var(--ui-text-1) 30.2198%,var(--ui-text-0))}
html[data-odin-surface="opc"] #caseTabs button[aria-selected=true]{background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 85.7143%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)));box-shadow:var(--silver-raised);color:color-mix(in srgb,var(--ui-text-1) 21.4286%,var(--ui-text-0))}
html[data-odin-surface="opc"] #caseObjective{background:transparent;box-shadow:none;color:color-mix(in srgb,var(--ui-text-1) 18.6813%,var(--ui-text-0));border-color:transparent}
html[data-odin-surface="opc"] :is(.staged-card,.beat-card,.context-grid>*,.learning-card,.odin-links,.audit-drawer,.image-card){background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 76.5306%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 50%,var(--ui-surface-0)));border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 70.196%,transparent);box-shadow:var(--silver-raised)}
html[data-odin-surface="opc"] :is(.staged-card>header,.staged-icon,.case-step-marker){background:color-mix(in srgb,var(--ui-surface-1) 36.7347%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 20.8791%,var(--ui-text-0))}
html[data-odin-surface="opc"] :is(.case-field textarea,.case-field input,.staged-card textarea){background:color-mix(in srgb,var(--ui-surface-1) 50%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 21.4286%,var(--ui-text-0));border-color:color-mix(in srgb,var(--ui-line-1) 60.9756%,var(--ui-line-0))}
html[data-odin-surface="opc"] .tone-amber{background:linear-gradient(125deg,color-mix(in srgb,var(--ui-surface-1) 67.3469%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 35.7143%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 46.9512%,var(--ui-line-0))}
html[data-odin-surface="opc"] .tone-green{background:linear-gradient(125deg,color-mix(in srgb,var(--ui-surface-1) 68.3673%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 34.6939%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 46.3415%,var(--ui-line-0))}
html[data-odin-surface="opc"] :is(.tone-coral,.questions-card){background:linear-gradient(125deg,color-mix(in srgb,var(--ui-surface-1) 59.1837%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 23.4694%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 43.9024%,var(--ui-line-0))}
html[data-odin-surface="opc"] #flowCanvas{background:linear-gradient(color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 75.2688%,var(--ui-shadow-0)) 12.549%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 75.2688%,var(--ui-shadow-0)) 12.549%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--ui-surface-1) 50%,var(--ui-surface-0));background-size:32px 32px}
html[data-odin-surface="opc"] .flow-node{background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 83.6735%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 48.9796%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0));box-shadow:var(--silver-raised)}
html[data-odin-surface="opc"] .flow-obstacle{background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 61.2245%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 27.5510%,var(--ui-surface-0)))}
html[data-odin-surface="opc"] .flow-sequence{background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 38.7755%,var(--ui-surface-0)))}
@media(max-width:1400px){html[data-odin-surface="app"] .sidebar{margin:8px 5px;padding-left:5px;padding-right:5px;border-radius:15px}html[data-odin-surface="app"] .sidebar .grp{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 96.2366%,var(--ui-shadow-0)) 23.922%,transparent)}html[data-odin-surface="app"] main{margin-left:0}}
@supports not (backdrop-filter:blur(1px)){html[data-odin-theme] dialog{background:color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0))}}
@media(prefers-reduced-motion:reduce){html[data-odin-theme] *,html[data-odin-theme] *::before,html[data-odin-theme] *::after{animation:none!important;transition:none!important}}

/* Couleurs conservées uniquement pour les repères et états sémantiques. */
:root[data-odin-theme]{--amber:#715b36;--amberbg:#e7dfcf}
html[data-odin-surface="app"] #saveState{background:#c5d8d2;color:#365a4d}
html[data-odin-surface="opc"] .tone-amber{background:linear-gradient(125deg,#e8deca,#cdbf9f);border-color:#ab9564}
html[data-odin-surface="opc"] .tone-green{background:linear-gradient(125deg,#d4e3df,#a5c6b9);border-color:#739f8d}
html[data-odin-surface="opc"] .flow-obstacle{background:linear-gradient(130deg,#e6d6ca,#c9b5a1)}
html[data-odin-surface="opc"] .flow-sequence{background:linear-gradient(130deg,#d6e5e0,#abcabd)}

/* Le moteur OPC ajuste la grille au zoom : séparer la matière de ce redimensionnement. */
html[data-odin-surface="opc"] #canvas{background-size:64px 64px,64px 64px,100% 100%,100% 100%!important;background-position:0 0!important;background-repeat:repeat,repeat,no-repeat,no-repeat}

html[data-odin-surface="hub"]{min-height:100%;background:#c9cccf}html[data-odin-surface="hub"] body{min-height:100dvh;background-attachment:fixed}
html[data-odin-surface="opc"] :is(.flow-toolbar,.flow-legend,.flow-zoom,.flow-help){background:linear-gradient(120deg,#e5e9ed,#c7d0d8);border-color:#b3c1cb;box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent),0 4px 10px #526b7c1f}
html[data-odin-surface="opc"] .flow-tools-title svg{color:#4d555b}

/* ODIN — harmonisation des surfaces, commandes et graphes internes. */
:root[data-odin-theme]{
 --metal-raised:radial-gradient(ellipse 240px 150px at var(--gx,18%) var(--gy,0%),color-mix(in srgb,var(--ui-surface-1) 41.961%,transparent),transparent 86%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 78.5714%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)));
 --metal-recess:linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 48.9796%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 63.2653%,var(--ui-surface-0)));
 --metal-float:linear-gradient(120deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 81.6327%,var(--ui-surface-0)) 90.980%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 59.1837%,var(--ui-surface-0)) 94.118%,transparent));
 --metal-edge:color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 88.8889%,var(--ui-highlight-0)) 67.843%,transparent);
 --metal-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 80.000%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 85.4839%,var(--ui-shadow-0)) 26.667%,transparent),0 7px 16px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 47.8495%,var(--ui-shadow-0)) 14.118%,transparent),0 1px 3px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 52.1505%,var(--ui-shadow-0)) 10.196%,transparent);
 --metal-inset-shadow:inset 2px 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 63.9785%,var(--ui-shadow-0)) 16.078%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 90.4762%,var(--ui-highlight-0)) 70.196%,transparent);
 --metal-float-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 85.098%,transparent),0 16px 34px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 32.7957%,var(--ui-shadow-0)) 25.098%,transparent),0 3px 8px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 47.3118%,var(--ui-shadow-0)) 14.902%,transparent);
 --metal-ring:color-mix(in srgb,var(--ui-line-1) 18.2927%,var(--ui-line-0));
}
html[data-odin-theme] :is(dialog:not(#imageViewer),.menu,.drop,.edge-editor,#flowLinkEditor,#flowConnectHint){background:var(--metal-float);border:1px solid var(--metal-edge);box-shadow:var(--metal-float-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:color-mix(in srgb,var(--ui-text-1) 11.5385%,var(--ui-text-0))}
html[data-odin-theme] dialog:not(#imageViewer){border-radius:17px}
html[data-odin-theme] :is(.menu,.drop,#flowLinkEditor,#flowConnectHint,.edge-editor){border-radius:11px}
html[data-odin-theme] :is(.menu,.drop) :is(button:not(.primary),a){background:transparent;border-color:transparent;box-shadow:none;color:color-mix(in srgb,var(--ui-text-1) 17.5824%,var(--ui-text-0))}
html[data-odin-theme] :is(.menu,.drop) :is(button:not(.primary),a):hover{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 99.4624%,var(--ui-shadow-0)) 25.098%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 69.3548%,var(--ui-shadow-0)) 10.196%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 88.8889%,var(--ui-highlight-0)) 53.333%,transparent);border-color:transparent}
html[data-odin-theme] :is(.menu,.drop) button:disabled{background:transparent;box-shadow:none;opacity:.45}
html[data-odin-theme] :is(.menu,.drop) hr{border:0;border-top:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 88.7097%,var(--ui-shadow-0)) 33.333%,transparent);box-shadow:0 1px color-mix(in srgb,var(--ui-highlight-1) 53.333%,transparent)}
html[data-odin-theme] :is(dialog:not(#imageViewer),.edge-editor,#flowLinkEditor) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select){background:var(--metal-recess);box-shadow:var(--metal-inset-shadow);color:color-mix(in srgb,var(--ui-text-1) 17.5824%,var(--ui-text-0));border:1px solid color-mix(in srgb,var(--ui-line-1) 64.0244%,var(--ui-line-0));border-radius:7px}
html[data-odin-theme] :is(dialog:not(#imageViewer),.edge-editor,#flowLinkEditor) :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--ui-text-1) 41.2088%,var(--ui-text-0));opacity:1}
html[data-odin-theme] :is(.dialog-head,.dialog-foot,.case-top,.case-bottom){background:linear-gradient(120deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 79.5918%,var(--ui-surface-0)) 73.333%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)) 80.000%,transparent));border-color:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 93.0108%,var(--ui-shadow-0)) 40.000%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--ui-highlight-1) 60.000%,transparent)}
html[data-odin-theme] :is(button[aria-expanded=true],.case-nav button:hover){border-color:color-mix(in srgb,var(--ui-line-1) 48.7805%,var(--ui-line-0));box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 64.5161%,var(--ui-shadow-0)) 14.902%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 92.0635%,var(--ui-highlight-0)) 85.098%,transparent);background:var(--metal-recess)}
html[data-odin-surface="opc"] #casePanel{background:radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--ui-surface-1) 30.196%,transparent),transparent 75%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 66.3265%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0)))}
html[data-odin-surface="opc"] #caseTabs{background:color-mix(in srgb,var(--ui-surface-1) 45.9184%,var(--ui-surface-0));box-shadow:inset 0 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 63.9785%,var(--ui-shadow-0)) 12.549%,transparent),inset 0 -1px color-mix(in srgb,var(--ui-highlight-1) 65.098%,transparent);border-color:color-mix(in srgb,var(--ui-line-1) 64.6341%,var(--ui-line-0))}
html[data-odin-surface="opc"] #caseTabs button{background:transparent;color:color-mix(in srgb,var(--ui-text-1) 34.6154%,var(--ui-text-0));border-radius:8px;box-shadow:none}
html[data-odin-surface="opc"] #caseTabs button[aria-selected=true]{background:var(--metal-raised);color:color-mix(in srgb,var(--ui-text-1) 15.3846%,var(--ui-text-0));box-shadow:var(--metal-shadow)}
html[data-odin-surface="opc"] #caseObjective{background:transparent!important;border-color:transparent;box-shadow:none!important;color:color-mix(in srgb,var(--ui-text-1) 12.6374%,var(--ui-text-0))}
html[data-odin-surface="opc"] #caseObjective:focus{background:color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 55.1020%,var(--ui-surface-0)) 50.196%,transparent)!important;box-shadow:var(--metal-inset-shadow)!important;border-color:color-mix(in srgb,var(--ui-line-1) 47.5610%,var(--ui-line-0))}
html[data-odin-surface="opc"] :is(.case-field,.staged-card,.beat-card,.odin-links,.audit-drawer,.image-card){background:var(--metal-raised);border:1px solid var(--metal-edge);box-shadow:var(--metal-shadow);border-radius:12px}
html[data-odin-surface="opc"] .staged-card>header{background:linear-gradient(120deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 74.4898%,var(--ui-surface-0)) 60.000%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 46.9388%,var(--ui-surface-0)) 60.000%,transparent));border-bottom:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 91.3978%,var(--ui-shadow-0)) 26.667%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--ui-highlight-1) 50.196%,transparent)}
html[data-odin-surface="opc"] .staged-card>.case-field{background:transparent;border:0;box-shadow:none;border-radius:0}
html[data-odin-surface="opc"] :is(.staged-card,.questions-card,.hero-card,.objective-card)[class*="tone-"],html[data-odin-surface="opc"] .questions-card{background:var(--metal-raised);border-color:var(--metal-edge);border-inline-start:2px solid var(--tone,color-mix(in srgb,var(--ui-line-1) 42.0732%,var(--ui-line-0)))}
html[data-odin-surface="opc"] .staged-icon{background:linear-gradient(130deg,color-mix(in srgb,var(--ui-surface-1) 62.2449%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 44.8980%,var(--ui-surface-0)));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 70.196%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 60.000%,transparent),1px 2px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 58.6022%,var(--ui-shadow-0)) 16.078%,transparent);color:var(--tone,color-mix(in srgb,var(--ui-text-1) 36.8132%,var(--ui-text-0)));border-radius:9px}
html[data-odin-surface="opc"] .case-step-marker{background:transparent;box-shadow:none;color:color-mix(in srgb,var(--ui-text-1) 68.6813%,var(--ui-text-0))}
html[data-odin-surface="opc"] :is(.image-count,.beat-number){background:color-mix(in srgb,var(--ui-surface-1) 43.8776%,var(--ui-surface-0));color:color-mix(in srgb,var(--ui-text-1) 26.9231%,var(--ui-text-0));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 76.1905%,var(--ui-highlight-0)) 60.000%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 75.2688%,var(--ui-shadow-0)) 14.902%,transparent);border-radius:6px}
html[data-odin-surface="opc"] .image-dropzone{background:var(--metal-recess);border:1px dashed color-mix(in srgb,var(--ui-line-1) 45.1220%,var(--ui-line-0));box-shadow:var(--metal-inset-shadow);color:color-mix(in srgb,var(--ui-text-1) 28.5714%,var(--ui-text-0));border-radius:12px}
html[data-odin-surface="opc"] .image-preview{background:linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 46.9388%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0)));box-shadow:inset 1px 1px 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 58.6022%,var(--ui-shadow-0)) 16.863%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ui-line-1) 67.0732%,var(--ui-line-0))}
html[data-odin-surface="opc"] .image-preview>span{background:var(--metal-float);color:color-mix(in srgb,var(--ui-text-1) 25.2747%,var(--ui-text-0));border:1px solid var(--metal-edge);box-shadow:0 2px 5px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 51.0753%,var(--ui-shadow-0)) 16.078%,transparent)}
html[data-odin-surface="opc"] #imageViewer{background:linear-gradient(125deg,color-mix(in srgb,var(--ui-rail-1) 23.5294%,var(--ui-rail-0)),color-mix(in srgb,var(--ui-rail-1) 5.8824%,var(--ui-rail-0)));border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 90.3226%,var(--ui-shadow-0)) 50.196%,transparent);box-shadow:var(--metal-float-shadow);color:color-mix(in srgb,var(--ui-rail-ink-1) 76.7442%,var(--ui-rail-ink-0))}
html[data-odin-surface="opc"] #imageViewerCaption{color:color-mix(in srgb,var(--ui-rail-ink-1) 48.8372%,var(--ui-rail-ink-0))}
html[data-odin-surface="opc"] #imageViewerClose{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 98.3871%,var(--ui-shadow-0)) 13.333%,transparent);color:color-mix(in srgb,var(--ui-rail-ink-1) 76.7442%,var(--ui-rail-ink-0));box-shadow:none}
/* Même éclairage que le graphe principal ; pas de flou sur les objets ni les champs. */
html[data-odin-surface="opc"] #casePanel.flow-panel{background:color-mix(in srgb,var(--ui-surface-1) 50%,var(--ui-surface-0))}
html[data-odin-surface="opc"] #flowCanvas{background-color:color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0));background-image:linear-gradient(color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 73.6559%,var(--ui-shadow-0)) 10.196%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 73.6559%,var(--ui-shadow-0)) 10.196%,transparent) 1px,transparent 1px),radial-gradient(ellipse at 12% 0%,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 94.8980%,var(--ui-surface-0)) 50.196%,transparent),transparent 75%),linear-gradient(135deg,color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 43.8776%,var(--ui-surface-0)));background-size:32px 32px,32px 32px,100% 100%,100% 100%!important;background-position:0 0!important;background-repeat:repeat,repeat,no-repeat,no-repeat;box-shadow:inset 0 6px 16px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 63.9785%,var(--ui-shadow-0)) 7.843%,transparent)}
html[data-odin-surface="opc"] :is(.flow-toolbar,.flow-help){background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 78.5714%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 58.5366%,var(--ui-line-0));box-shadow:inset 0 1px color-mix(in srgb,var(--ui-highlight-1) 60.000%,transparent)}
html[data-odin-surface="opc"] .flow-toolbar{position:relative;z-index:6}
html[data-odin-surface="opc"] :is(.flow-node,.flow-note,.flow-obstacle,.flow-sequence,.flow-and,.flow-or){background:var(--metal-raised);border-color:var(--metal-edge);box-shadow:var(--metal-shadow)}
html[data-odin-surface="opc"] .flow-node:not(.flow-and):not(.flow-or){border-radius:12px;--flow-tone:color-mix(in srgb,var(--ui-text-1) 37.3626%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-obstacle{--flow-tone:color-mix(in srgb,var(--ui-text-1) 35.7143%,var(--ui-text-0))!important}
html[data-odin-surface="opc"] .flow-sequence{--flow-tone:color-mix(in srgb,var(--ui-text-1) 37.3626%,var(--ui-text-0))!important}
html[data-odin-surface="opc"] .flow-note{--flow-tone:color-mix(in srgb,var(--ui-text-1) 40.6593%,var(--ui-text-0))!important}
html[data-odin-surface="opc"] .flow-node-head{background:linear-gradient(120deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 80.6122%,var(--ui-surface-0)) 70.196%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 47.9592%,var(--ui-surface-0)) 90.196%,transparent));border-bottom:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 88.1720%,var(--ui-shadow-0)) 40.000%,transparent);color:var(--flow-tone,color-mix(in srgb,var(--ui-text-1) 37.3626%,var(--ui-text-0)));box-shadow:inset 0 1px color-mix(in srgb,var(--ui-highlight-1) 85.098%,transparent);border-radius:11px 11px 0 0}
html[data-odin-surface="opc"] .flow-obstacle .flow-node-head{background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 68.3673%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 32.6531%,var(--ui-surface-0)));color:color-mix(in srgb,var(--ui-text-1) 26.3736%,var(--ui-text-0));border-color:color-mix(in srgb,var(--ui-line-1) 43.9024%,var(--ui-line-0))}
html[data-odin-surface="opc"] .flow-sequence .flow-node-head{background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 71.4286%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 44.8980%,var(--ui-surface-0)));color:color-mix(in srgb,var(--ui-text-1) 29.6703%,var(--ui-text-0));border-color:color-mix(in srgb,var(--ui-line-1) 54.2683%,var(--ui-line-0))}
html[data-odin-surface="opc"] .flow-note .flow-node-head{background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 70.4082%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 36.7347%,var(--ui-surface-0)));color:color-mix(in srgb,var(--ui-text-1) 31.8681%,var(--ui-text-0));border-color:color-mix(in srgb,var(--ui-line-1) 51.8293%,var(--ui-line-0))}
html[data-odin-surface="opc"] :is(.flow-and,.flow-or) .flow-node-head{background:transparent;box-shadow:none;border:0;border-radius:inherit}
html[data-odin-surface="opc"] :is(.flow-and,.flow-or) .flow-node-head>span{color:color-mix(in srgb,var(--ui-text-1) 29.1209%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-node.selected{border-color:var(--metal-ring);box-shadow:inset 1px 1px var(--ui-highlight-1),0 0 0 3px color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 85.7143%,var(--ui-highlight-0)) 70.196%,transparent),0 9px 18px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 50%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-surface="opc"] .flow-node-head button{background:var(--metal-raised);box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent),0 1px 3px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 56.4516%,var(--ui-shadow-0)) 20.000%,transparent);border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0)) 50.196%,transparent);border-radius:5px;color:color-mix(in srgb,var(--ui-text-1) 25.8242%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-node-body :is(input,textarea){background:var(--metal-recess)!important;box-shadow:var(--metal-inset-shadow);border:1px solid color-mix(in srgb,var(--ui-line-1) 64.0244%,var(--ui-line-0));color:color-mix(in srgb,var(--ui-text-1) 21.9780%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-node-body input{background:transparent!important;box-shadow:none;border-color:transparent}
html[data-odin-surface="opc"] .flow-node-body input:focus{background:var(--metal-recess)!important;box-shadow:var(--metal-inset-shadow);border-color:color-mix(in srgb,var(--ui-line-1) 46.9512%,var(--ui-line-0))}
html[data-odin-surface="opc"] .flow-port{background:var(--flow-tone,color-mix(in srgb,var(--ui-text-1) 47.8022%,var(--ui-text-0)));border-color:color-mix(in srgb,var(--ui-highlight-1) 79.3651%,var(--ui-highlight-0));box-shadow:0 0 0 1px color-mix(in srgb,var(--ui-line-1) 45.7317%,var(--ui-line-0))}
html[data-odin-surface="opc"] .flow-port:hover{background:color-mix(in srgb,var(--ui-rail-1) 51.9608%,var(--ui-rail-0));box-shadow:0 0 0 4px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 72.5806%,var(--ui-shadow-0)) 30.196%,transparent)}
html[data-odin-surface="opc"] :is(.flow-edge.selected,#flowGhost){stroke:color-mix(in srgb,var(--ui-text-1) 34.0659%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-edge-label{fill:color-mix(in srgb,var(--ui-text-1) 28.5714%,var(--ui-text-0));stroke:var(--ui-text-1)}
html[data-odin-surface="opc"] :is(.flow-legend,.flow-zoom){background:var(--metal-float);box-shadow:var(--metal-shadow);border-color:var(--metal-edge);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:color-mix(in srgb,var(--ui-text-1) 32.9670%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-zoom button{background:transparent;box-shadow:none;color:color-mix(in srgb,var(--ui-text-1) 28.0220%,var(--ui-text-0))}
html[data-odin-surface="opc"] .flow-zoom button:hover{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 91.3978%,var(--ui-shadow-0)) 30.196%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 67.7419%,var(--ui-shadow-0)) 14.902%,transparent)}
html[data-odin-surface="opc"] :is(.flow-add-tools .add-activity,.flow-add-tools .add-obstacle,.flow-add-tools .add-sequence){background:var(--metal-raised);border-color:var(--metal-edge);box-shadow:var(--metal-shadow)}
html[data-odin-surface="opc"] .flow-add-tools .add-activity{color:color-mix(in srgb,var(--ui-text-1) 32.9670%,var(--ui-text-0));border-bottom:2px solid color-mix(in srgb,var(--ui-line-1) 37.8049%,var(--ui-line-0))}
html[data-odin-surface="opc"] .flow-add-tools .add-obstacle{color:color-mix(in srgb,var(--ui-text-1) 30.7692%,var(--ui-text-0));border-bottom:2px solid color-mix(in srgb,var(--ui-line-1) 48.1707%,var(--ui-line-0))}
html[data-odin-surface="opc"] .flow-add-tools .add-sequence{color:color-mix(in srgb,var(--ui-text-1) 34.0659%,var(--ui-text-0));border-bottom:2px solid color-mix(in srgb,var(--ui-line-1) 46.9512%,var(--ui-line-0))}
html[data-odin-surface="opc"] :is(#flowLinkEditor,#flowConnectHint){border-color:color-mix(in srgb,var(--ui-highlight-1) 87.3016%,var(--ui-highlight-0));box-shadow:var(--metal-float-shadow);color:color-mix(in srgb,var(--ui-text-1) 28.0220%,var(--ui-text-0))}
html[data-odin-surface="opc"] #flowLinkEditor label{color:color-mix(in srgb,var(--ui-text-1) 34.0659%,var(--ui-text-0))}
html[data-odin-surface="opc"] :is(#odinMini,#odinLegend){background:var(--metal-float);border-color:var(--metal-edge);box-shadow:var(--metal-shadow);backdrop-filter:blur(14px)}
html[data-odin-surface="opc"] :is(.lg-head,.lg-foot){background:linear-gradient(120deg,color-mix(in srgb,var(--ui-surface-1) 74.4898%,var(--ui-surface-0)),color-mix(in srgb,var(--ui-surface-1) 54.0816%,var(--ui-surface-0)));border-color:color-mix(in srgb,var(--ui-line-1) 58.5366%,var(--ui-line-0))}
html[data-odin-theme] #caseEditor::backdrop{background:color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 32.7957%,var(--ui-shadow-0)) 34.902%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
@media(max-width:700px){html[data-odin-theme] #caseEditor{border-radius:0}}
@supports not (backdrop-filter:blur(1px)){html[data-odin-theme] :is(dialog:not(#imageViewer),.menu,.drop,.edge-editor,#flowLinkEditor,#flowConnectHint){background:color-mix(in srgb,var(--ui-surface-1) 67.3469%,var(--ui-surface-0))}}

/* Accents sémantiques des trois familles, sur une matière argentée identique. */
html[data-odin-surface="opc"] .flow-obstacle{--flow-tone:#825c50!important}
html[data-odin-surface="opc"] .flow-sequence{--flow-tone:#4a705e!important}
html[data-odin-surface="opc"] .flow-note{--flow-tone:#7d6c44!important}
html[data-odin-surface="opc"] .flow-obstacle .flow-node-head{background:linear-gradient(120deg,#e7ded8,#cbbab0);color:#6d4d42;border-color:#a98c7d}
html[data-odin-surface="opc"] .flow-sequence .flow-node-head{background:linear-gradient(120deg,#dce6e0,#b8cec1);color:#3e6150;border-color:#8aab98}
html[data-odin-surface="opc"] .flow-note .flow-node-head{background:linear-gradient(120deg,#e9e2d2,#cdc0a5);color:#6d5c34;border-color:#b09d78}
html[data-odin-surface="opc"] .flow-add-tools .add-obstacle{color:#795344;border-bottom-color:#b8907f}
html[data-odin-surface="opc"] .flow-add-tools .add-sequence{color:#446a55;border-bottom-color:#7b9f8a}

html[data-odin-surface="opc"] .case-section-intro .case-step-marker{background:transparent;box-shadow:none;color:#929ca4}
html[data-odin-surface="opc"] .staged-card .staged-icon{background:linear-gradient(130deg,#d9dfe4,#c3cdd5);border:1px solid #eff5f9;box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 60.000%,transparent),1px 2px 4px #536a7929;color:var(--tone,#52606b)}

/* Resizable dark navigation: local UI preference. */
html[data-odin-surface="app"] #shell[data-nav]{position:relative;grid-template-columns:var(--odin-nav-width,76px) minmax(0,1fr)!important}
html[data-odin-surface="app"] #shell[data-nav].inspecting{grid-template-columns:var(--odin-nav-width,76px) minmax(0,1fr) 400px!important}
html[data-odin-surface="app"] #shell[data-nav]>.sidebar{flex-direction:column;padding:10px 8px;margin:10px 8px;gap:2px;border-radius:17px;overflow-x:hidden;overflow-y:auto;min-width:0}
html[data-odin-surface="app"] #shell[data-nav]>.sidebar button{position:relative;min-height:40px;flex-shrink:0}
html[data-odin-surface="app"] #shell[data-nav] .odin-nav-toggle{margin-bottom:7px;border-bottom:1px solid color-mix(in srgb,var(--ui-highlight-1) 12.549%,transparent);border-radius:8px;color:#eceff1}
html[data-odin-surface="app"] #shell[data-nav="compact"]>.sidebar button{justify-content:center;padding:9px 0}
html[data-odin-surface="app"] #shell[data-nav="compact"]>.sidebar :is(.lb,.n,.badge,small){display:none!important}
html[data-odin-surface="app"] #shell[data-nav="compact"]>.sidebar .grp{display:block;font-size:0;height:1px;background:color-mix(in srgb,var(--ui-surface-1) 14.118%,transparent);margin:9px 7px 5px;flex-shrink:0}
html[data-odin-surface="app"] #shell[data-nav="compact"]>.sidebar .spacer{display:block;flex:1;min-height:10px}
html[data-odin-surface="app"] #shell[data-nav="compact"]>.sidebar .helpb{display:flex}
html[data-odin-surface="app"] #shell[data-nav="compact"]>.sidebar .ic{width:21px;height:21px}
html[data-odin-surface="app"] #shell[data-nav="compact"] .assist:has(.badge:not([hidden])):after{content:'';position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:#e2c58d}
html[data-odin-surface="app"] #shell[data-nav="open"]>.sidebar button{justify-content:flex-start;padding:8px 10px}
html[data-odin-surface="app"] #shell[data-nav="open"]>.sidebar :is(.lb,.n,.badge):not([hidden]){display:inline!important}
html[data-odin-surface="app"] #shell[data-nav="open"]>.sidebar .grp{display:block;font-size:12px;height:auto;background:transparent;margin:14px 10px 4px}
html[data-odin-surface="app"] #shell[data-nav="open"]>.sidebar .spacer{display:block;flex:1}
html[data-odin-surface="app"] #shell[data-nav="open"]>.sidebar .helpb{display:flex}
html[data-odin-surface="app"] #shell[data-nav="open"] .assist:after{display:none}
html[data-odin-surface="app"] .odin-nav-resize{position:absolute;left:calc(var(--odin-nav-width) - 7px);top:10px;bottom:10px;width:12px;cursor:col-resize;touch-action:none;z-index:4;border-radius:8px}
html[data-odin-surface="app"] .odin-nav-resize:after{content:'';position:absolute;top:45%;left:5px;width:3px;height:48px;border-radius:9px;background:#686d714d;box-shadow:1px 0 0 color-mix(in srgb,var(--ui-highlight-1) 62.745%,transparent)}
html[data-odin-surface="app"] .odin-nav-resize:hover:after,html[data-odin-surface="app"] .odin-nav-resize:focus-visible:after{background:#51595f}
.odin-nav-dragging{user-select:none;cursor:col-resize}.odin-nav-dragging iframe{pointer-events:none}
@media(max-width:850px){html[data-odin-surface="app"] #shell[data-nav].inspecting{grid-template-columns:var(--odin-nav-width) minmax(0,1fr)!important}}
@media(max-width:560px){html[data-odin-surface="app"] #shell[data-nav]{grid-template-rows:minmax(0,1fr)!important}html[data-odin-surface="app"] #shell[data-nav]>.sidebar{margin:6px 5px;padding:8px 4px}html[data-odin-surface="app"] #shell[data-nav] #inspector{top:0;height:100%}}

/* ---------- Docks : modèle unique (référence : dock des Mécaniques, mechanics-fiche.css .mfd) ----------
 * Tous les docks d'ODIN partagent le même verre argenté, les mêmes boutons (32 px, actif graphite),
 * les mêmes séparateurs et étiquettes de groupe, et sont ancrés en bas, centrés, à 14 px du bord.
 * Relations — Graphe et Lignées appliquent déjà ce modèle dans leurs feuilles (relations.css, lineage.css). */
html[data-odin-theme] body :is(.mfd,.mach.eco2 .eco2-dock,.lx-toolbar,.canvas-tools,.mach.eco2 .eco2-more-menu){
 background:radial-gradient(ellipse 320px 90px at 22% 0%,color-mix(in srgb,var(--ui-surface-1) 54.902%,transparent),transparent 85%),linear-gradient(135deg,color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 80.6122%,var(--ui-surface-0)) 90.980%,transparent),color-mix(in srgb,color-mix(in srgb,var(--ui-surface-1) 51.0204%,var(--ui-surface-0)) 90.980%,transparent));backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
 border:1px solid color-mix(in srgb,color-mix(in srgb,var(--ui-highlight-1) 88.8889%,var(--ui-highlight-0)) 70.196%,transparent);border-radius:16px;box-shadow:inset 1px 1px color-mix(in srgb,var(--ui-highlight-1) 78.039%,transparent),inset -1px -1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 87.6344%,var(--ui-shadow-0)) 34.902%,transparent),0 16px 34px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 37.0968%,var(--ui-shadow-0)) 27.059%,transparent),0 2px 6px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 37.0968%,var(--ui-shadow-0)) 18.039%,transparent);color:var(--ink)}
@keyframes odin-dock-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}

/* Mécaniques : le dock ne suit plus la dernière rangée de cartes ; il reste posé en bas du panneau. */
html[data-odin-theme] body .odin-view:has(>.odin-view-body>.mfd){position:relative}
html[data-odin-theme] body .odin-view-body:has(>.mfd){padding-bottom:96px}
html[data-odin-theme] body .odin-view-body>.mfd{position:absolute;left:0;right:0;bottom:14px;margin:0 auto;max-width:calc(100% - 24px)}

/* Économie : barre d'outils et lecteur de simulation. */
html[data-odin-theme] body .mach.eco2 .eco2-dock{left:0;right:0;bottom:14px;transform:none;margin:0 auto;width:fit-content;max-width:calc(100% - 24px);gap:3px;padding:6px 8px 7px;align-items:center;flex-wrap:nowrap;animation:odin-dock-in .26s .15s cubic-bezier(.2,.9,.3,1.1) both}
html[data-odin-theme] body .mach.eco2 :is(.eco2-dock .mach-tool,.eco2-more summary){width:58px;height:auto;min-height:44px;padding:4px 2px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:var(--ink)}
html[data-odin-theme] body .mach.eco2 :is(.eco2-dock .mach-tool,.eco2-more summary) span{font-size:11px;color:color-mix(in srgb,var(--ui-text-1) 26.9231%,var(--ui-text-0))}
html[data-odin-theme] body .mach.eco2 :is(.eco2-dock .mach-tool,.eco2-more summary,.eco2-dock .mach-zoom button,.eco2-player>button,.eco2-player .mach-anim button,.eco2-player .v1-seg button):not([aria-pressed="true"]):hover:not(:disabled){background:color-mix(in srgb,var(--ui-surface-1) 54.902%,transparent);border-color:color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent);box-shadow:inset 1px 1px var(--ui-highlight-1)}
html[data-odin-theme] body .mach.eco2 :is(.eco2-dock .mach-tool,.eco2-player button)[aria-pressed="true"],html[data-odin-theme] body .mach.eco2 .eco2-more[open]>summary{background-color:color-mix(in srgb,var(--ui-primary-1) 6.8182%,var(--ui-primary-0));background-image:linear-gradient(130deg,color-mix(in srgb,var(--ui-primary-1) 30.6818%,var(--ui-primary-0)),var(--ui-primary-0));color:var(--ui-primary-ink-0);border-color:color-mix(in srgb,var(--ui-primary-1) 70.4545%,var(--ui-primary-0));box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 94.0860%,var(--ui-shadow-0)) 40.000%,transparent),0 3px 7px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 40.8602%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-theme] body .mach.eco2 :is(.eco2-dock .mach-tool[aria-pressed="true"],.eco2-more[open]>summary) span{color:color-mix(in srgb,var(--ui-primary-ink-0) 82.3009%,var(--ui-primary-1))}
html[data-odin-theme] body .mach.eco2 .eco2-sep{width:1px;height:auto;align-self:stretch;margin:2px 4px;background:linear-gradient(transparent,color-mix(in srgb,color-mix(in srgb,var(--ui-line-1) 42.0732%,var(--ui-line-0)) 45.098%,transparent),transparent)}
html[data-odin-theme] body .mach.eco2 .eco2-dock .mach-zoom{align-self:stretch;border:0;padding:0 0 0 9px;margin-left:4px;background:linear-gradient(transparent,color-mix(in srgb,color-mix(in srgb,var(--ui-line-1) 42.0732%,var(--ui-line-0)) 45.098%,transparent),transparent) left/1px 100% no-repeat;box-shadow:none}
html[data-odin-theme] body .mach.eco2 :is(.eco2-dock .mach-zoom button,.eco2-player>button,.eco2-player .mach-anim button,.eco2-player .v1-seg button){height:32px;min-height:32px;padding:0 9px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:var(--ink);font-size:12.5px;white-space:nowrap}
html[data-odin-theme] body .mach.eco2 .eco2-dock .mach-zoom span{font:500 11px ui-monospace,Consolas,monospace;color:color-mix(in srgb,var(--ui-text-1) 40.1099%,var(--ui-text-0));min-width:44px}
html[data-odin-theme] body .mach.eco2 .eco2-player{flex-wrap:wrap;justify-content:center;row-gap:4px}
html[data-odin-theme] body .mach.eco2 .eco2-player label{font-size:12.5px;color:var(--ink)}
html[data-odin-theme] body .mach.eco2 .eco2-player :is(input,select){height:30px;border-radius:8px;background:color-mix(in srgb,var(--ui-surface-1) 54.902%,transparent);border:1px solid color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 87.6344%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-theme] body .mach.eco2 .eco2-more-menu{border-radius:14px;padding:6px 8px}

/* Niveaux — plan 2D : la barre d'outils passe sous le plan et reste collée en bas de l'écran pendant le défilement. */
html[data-odin-theme] body .lx{display:flex;flex-direction:column}
html[data-odin-theme] body .lx-body{border-radius:12px}
html[data-odin-theme] body .lx-toolbar{order:2;position:sticky;bottom:14px;z-index:6;align-self:center;width:fit-content;max-width:calc(100% - 24px);margin:12px auto 0;padding:6px 8px 7px;gap:3px;justify-content:center;animation:odin-dock-in .26s .15s cubic-bezier(.2,.9,.3,1.1) both}
html[data-odin-theme] body .lx-toolbar>button{height:32px;min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:var(--ink);font-size:12.5px}
html[data-odin-theme] body .lx-toolbar>button:not([aria-pressed="true"]):hover:not(:disabled){background:color-mix(in srgb,var(--ui-surface-1) 54.902%,transparent);border-color:color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent);box-shadow:inset 1px 1px var(--ui-highlight-1)}
html[data-odin-theme] body .lx-toolbar>button[aria-pressed="true"]{background-color:color-mix(in srgb,var(--ui-primary-1) 6.8182%,var(--ui-primary-0));background-image:linear-gradient(130deg,color-mix(in srgb,var(--ui-primary-1) 30.6818%,var(--ui-primary-0)),var(--ui-primary-0));color:var(--ui-primary-ink-0);border-color:color-mix(in srgb,var(--ui-primary-1) 70.4545%,var(--ui-primary-0));box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 94.0860%,var(--ui-shadow-0)) 40.000%,transparent),0 3px 7px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 40.8602%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-theme] body .lx-toolbar kbd{font:500 11px ui-monospace,Consolas,monospace;color:color-mix(in srgb,var(--ui-text-1) 40.1099%,var(--ui-text-0));opacity:1;margin-left:0;padding:0;border:0;background:none;box-shadow:none;min-width:0}
html[data-odin-theme] body .lx-toolbar>button[aria-pressed="true"] kbd{color:color-mix(in srgb,var(--ui-primary-ink-0) 61.9469%,var(--ui-primary-1))}
html[data-odin-theme] body .lx-toolbar .lx-sep{width:1px;height:auto;align-self:stretch;margin:2px 4px;background:linear-gradient(transparent,color-mix(in srgb,color-mix(in srgb,var(--ui-line-1) 42.0732%,var(--ui-line-0)) 45.098%,transparent),transparent)}
html[data-odin-theme] body .lx-toolbar .lx-inline{font-size:12.5px;padding:0 4px}
html[data-odin-theme] body .lx-toolbar :is(select,input[type=number]){height:28px;border-radius:8px;background:color-mix(in srgb,var(--ui-surface-1) 54.902%,transparent);border:1px solid color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent);box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 87.6344%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-theme] body .lx-toolbar svg{width:17px;height:17px}

/* Progression (iframe OPC) : couches et vue réunies dans un seul dock centré en bas. */
html[data-odin-surface="opc"] .canvas-tools{left:0;right:0;bottom:14px;margin:0 auto;width:fit-content;max-width:calc(100% - 24px);display:flex;align-items:flex-end;gap:3px;padding:6px 8px 7px;z-index:10;animation:odin-dock-in .26s .15s cubic-bezier(.2,.9,.3,1.1) both}
html[data-odin-surface="opc"] .canvas-tools :is(.depth-tools,.zoom-tools){position:relative;inset:auto;display:flex;align-items:center;gap:2px;margin:0;padding:12px 0 0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-odin-surface="opc"] .canvas-tools .depth-tools>span,html[data-odin-surface="opc"] .canvas-tools .zoom-tools::before{position:absolute;top:0;left:4px;display:block;margin:0;font:600 8.5px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--ui-text-1) 36.2637%,var(--ui-text-0));white-space:nowrap}
html[data-odin-surface="opc"] .canvas-tools .zoom-tools::before{content:"Vue"}
html[data-odin-surface="opc"] .canvas-tools .odin-dock-sep{width:1px;align-self:stretch;margin:2px 4px;background:linear-gradient(transparent,color-mix(in srgb,color-mix(in srgb,var(--ui-line-1) 42.0732%,var(--ui-line-0)) 45.098%,transparent),transparent)}
html[data-odin-surface="opc"] .canvas-tools :is(.depth-tools,.zoom-tools) button{height:32px;min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:var(--ink);font-size:12.5px;font-weight:400}
html[data-odin-surface="opc"] .canvas-tools :is(.depth-tools,.zoom-tools) button:not([aria-pressed="true"]):hover:not(:disabled){background:color-mix(in srgb,var(--ui-surface-1) 54.902%,transparent);border-color:color-mix(in srgb,var(--ui-highlight-1) 70.196%,transparent);box-shadow:inset 1px 1px var(--ui-highlight-1)}
html[data-odin-surface="opc"] .canvas-tools :is(.depth-tools,.zoom-tools) button[aria-pressed="true"]{background-color:color-mix(in srgb,var(--ui-primary-1) 6.8182%,var(--ui-primary-0));background-image:linear-gradient(130deg,color-mix(in srgb,var(--ui-primary-1) 30.6818%,var(--ui-primary-0)),var(--ui-primary-0));color:var(--ui-primary-ink-0);border-color:color-mix(in srgb,var(--ui-primary-1) 70.4545%,var(--ui-primary-0));box-shadow:inset 1px 1px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 94.0860%,var(--ui-shadow-0)) 40.000%,transparent),0 3px 7px color-mix(in srgb,color-mix(in srgb,var(--ui-shadow-1) 40.8602%,var(--ui-shadow-0)) 25.098%,transparent)}
html[data-odin-surface="opc"] .canvas-tools .depth-tools button span{font-size:11px;color:color-mix(in srgb,var(--ui-text-1) 40.1099%,var(--ui-text-0))}
html[data-odin-surface="opc"] .canvas-tools .depth-tools button[aria-pressed="true"] span{color:color-mix(in srgb,var(--ui-primary-ink-0) 61.9469%,var(--ui-primary-1))}
html[data-odin-surface="opc"] .canvas-tools .zoom-tools button svg{width:17px;height:17px}
html[data-odin-surface="opc"] .canvas-tools #zoomValue{font:500 11px ui-monospace,Consolas,monospace;color:color-mix(in srgb,var(--ui-text-1) 40.1099%,var(--ui-text-0));min-width:44px}

@media (prefers-reduced-motion:reduce){html[data-odin-theme] body :is(.mach.eco2 .eco2-dock,.lx-toolbar,.canvas-tools){animation:none!important}}
html[data-odin-motion="reduce"] :is(.mach.eco2 .eco2-dock,.lx-toolbar,.canvas-tools){animation:none!important}
