/* Mixeur à idées, une recette jouable à partir des filiations du Studio. */
.idea-mixer{margin:22px 0 14px;border:1px solid #806497;background:#150d1e}
.mixer-toolbar,.mixer-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;padding:10px 13px;background:#24162e;color:#f6edf9}
.mixer-toolbar{border-bottom:1px solid #806497}
.mixer-toolbar>span,.mixer-status{color:#d8f995;font:11px var(--font-mono);letter-spacing:.09em}
.mixer-toolbar label{display:flex;align-items:center;gap:8px;font-size:.88rem}
.mixer-toolbar select,.idea-mixer button{border:1px solid #806497;border-radius:3px;background:#2d2039;color:#f6edf9;padding:8px;font:inherit}
.idea-mixer button:not(:disabled){cursor:pointer}
.idea-mixer button:disabled{opacity:.55}
.idea-mixer :is(button,select,a):focus-visible{outline:2px solid #d8f995;outline-offset:2px}
.mixer-board{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1px;background:#715583}
.mixer-inventory,.mixer-machine{min-width:0;padding:clamp(12px,2vw,24px);background:#170f21}
.mixer-inventory h3,.mixer-machine h3{font:11px var(--font-mono);letter-spacing:.12em;color:#dec1f1;margin-bottom:10px}
#mixer-ingredients{display:grid;gap:6px}
.idea-mixer .mixer-ingredient{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;padding:9px}
.mixer-ingredient-copy{display:grid;gap:3px}
.mixer-ingredient-copy small{font:10px var(--font-mono);color:#e4c7f6}
.mixer-ingredient-copy>span{color:#dfcce9;font-size:.82rem;line-height:1.38}
.idea-mixer .mixer-ingredient[aria-pressed="true"]{border-color:#d8f995;background:#293427}
.mixer-add{font:700 20px var(--font-mono);color:#d8f995}
.mixer-token{display:inline-block;flex:none;width:15px;height:15px;background:#c8a9fa;clip-path:polygon(0 0,75% 0,75% 25%,100% 25%,100% 100%,0 100%)}
.token-lime{background:#d8f995}.token-amber{background:#ffc171}.token-cyan{background:#80dfdf}
.mixer-machine{background:linear-gradient(90deg,#7f589625 1px,transparent 1px),linear-gradient(#7f589625 1px,transparent 1px),#170f21;background-size:18px 18px}
.mixer-graphic{display:block;width:min(100%,235px);height:auto;margin:0 auto 9px;overflow:visible}
.mixer-rotor{transform-origin:90px 44px}
.mixer-machine[data-loaded="2"] .mixer-signal,[data-mixer-state="done"] .mixer-signal{fill:#d8f995}
.mixer-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.mixer-slot{min-width:0;padding:6px;display:flex;align-items:center;gap:5px;border:1px dashed #7c618d;color:#d8c0e4;font-size:.77rem;line-height:1.25}
.mixer-slot b{font:10px var(--font-mono);color:#d8f995}
.mixer-slot.is-loaded{border-style:solid;background:#2c1f3a}
.mixer-footer{border-top:1px solid #806497}
.mixer-controls{display:flex;gap:7px;flex-wrap:wrap}
.idea-mixer #mixer-start:not(:disabled){background:#d8f995;border-color:#d8f995;color:#21162b;font-weight:700}
.mixer-result{padding:clamp(12px,3vw,26px);border-top:2px solid #d8f995;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;background:#21162e;scroll-margin-top:85px}
.mixer-result h3{font:700 clamp(1.8rem,4vw,3.45rem)/1 var(--font-display);letter-spacing:-.06em;margin:5px 0 9px}
.mixer-upgrade,.mixer-stats>p{color:#d8f995;font-size:11px;letter-spacing:.1em}
.mixer-result-main p+p{margin-top:5px;color:#e1cce9}
.mixer-result-main a{display:inline-block;margin-top:9px;color:#d8f995;text-decoration:underline;text-underline-offset:3px}
.mixer-inherited .mono{font-size:10px;color:#d8f995;margin-right:5px}
.mixer-stats{background:#170f21;border:1px solid #715583;padding:9px}
.mixer-stats ul{list-style:none;padding:0;margin:7px 0 0}
.mixer-stats li{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(74px,auto);align-items:center;gap:6px;padding:6px 0;border-top:1px solid #483650;font-size:.8rem;line-height:1.2}
.mixer-stats b{color:#d7bfdf;font-size:.69rem;font-weight:600}
.mixer-meter{display:flex;gap:3px}
.mixer-meter i{width:7px;height:7px;background:#5d4770}
.mixer-meter i.is-on{background:#d8f995}
@media(prefers-reduced-motion:no-preference){
  [data-mixer-state="mixing"] .mixer-rotor{animation:mixer-spin .3s steps(4,end) infinite}
  [data-mixer-state="mixing"] .mixer-signal{animation:mixer-lamp .42s steps(2,end) infinite alternate}
  [data-mixer-state="done"] .mixer-result{animation:mixer-level .35s steps(6,end) both}
}
@keyframes mixer-spin{to{transform:rotate(360deg)}}
@keyframes mixer-lamp{from{fill:#d8f995}to{fill:#7b608d}}
@keyframes mixer-level{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:690px){.mixer-board,.mixer-result{grid-template-columns:1fr}}


.lineage-plan>summary{cursor:pointer;padding:11px 13px;border:1px solid #766087;background:#21162b;color:#d8f995;font-weight:650}
.lineage-plan[open]>summary{margin-bottom:9px}
.lineage-plan{scroll-margin-top:82px}
.lineage-plan .eco-legend{margin:12px 0}
.lineage-plan .eco{background:#1e1427}
.lineage-plan .en{background:#2b2036;color:#f6f0e9}
.lineage-plan .en .en-sub{color:#d7c6e0}
.lineage-plan .en.is-on{border-color:#d8f995}

.mixer-feed{opacity:0}
.mixer-feed-a{fill:#d8f995;--feed-travel:42px}
.mixer-feed-b{fill:#ffc171;--feed-travel:-42px}
[data-recipe="cube"] .mixer-feed-a{fill:#c8a9fa}
[data-recipe="cube"] .mixer-feed-b{fill:#80dfdf}
[data-mixer-state="ready"] [data-slot-a="true"] .mixer-feed-a,[data-mixer-state="ready"] [data-slot-b="true"] .mixer-feed-b{opacity:1}
@media(prefers-reduced-motion:no-preference){
  [data-mixer-state="mixing"] .mixer-feed{animation:mixer-feed .72s steps(10,end) both}
}
@keyframes mixer-feed{0%{opacity:1}70%{opacity:1;transform:translateX(var(--feed-travel))}100%{opacity:0;transform:translateX(var(--feed-travel))}}

.mixer-catalogue>summary{cursor:pointer;padding:12px 14px;border:1px solid #766087;background:#241731;color:#d8f995;font-weight:650}
.mixer-catalogue>summary span{color:#ded0e8;font-size:.8rem;font-weight:500}
.mixer-catalogue{margin:0 0 12px}
#mixer-recipe{max-width:min(67vw,410px)}
#recipe-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:9px;margin:0;border:1px solid #766087;border-top:0;background:#170f21}
#recipe-list li{min-width:0;display:grid;align-content:start;gap:5px;padding:10px;background:#281c34;border:1px solid #604c71}
#recipe-list li .mono{color:#d8f995;font-size:9px}
#recipe-list li>span:last-of-type{color:#dcc9e6;font-size:.79rem}
#recipe-list button{width:fit-content;border:1px solid #896aa1;background:#20152b;color:#f6edf9;padding:5px 8px;cursor:pointer;text-align:left;font-size:.79rem}
#recipe-list button:hover,#recipe-list button:focus-visible{background:#d8f995;color:#20152b}
#idea-mixer{scroll-margin-top:85px}
.tree-instruction{padding:0 5px 8px;font-size:.82rem;color:#e1cee9}
.lineage-plan .eco{background:radial-gradient(ellipse at 48% 42%,#291b38,#140d1c 80%);border:1px solid #695178}
.lineage-plan .eco-grid{grid-template-columns:155px repeat(4,minmax(165px,1fr));align-items:stretch}
.lineage-plan .eco-stage{border-bottom:1px solid #68517b;background:#241832;color:#e4d1ed;padding-block:14px}
.lineage-plan .eco-stage b{color:#d8f995;font-size:12px}
.lineage-plan .eco-lane{border:0;border-right:1px solid #634b73;background:#21162b}
.lineage-plan .eco-lane .mono{color:#d8f995}
.lineage-plan .eco-cell{border-bottom:1px dashed #785b8b55;gap:12px;padding-block:16px}
.lineage-plan .eco-cell:nth-child(5n+2){border-left:0}
.lineage-plan .en{
  width:100%;max-width:152px;display:grid;justify-items:center;text-align:center;
  gap:5px;padding:5px 3px;background:transparent;color:#f6f0e9;border:1px solid transparent;
  box-shadow:none;transform:none;
}
.lineage-plan .en-ico{width:39px;height:39px;border-radius:50%;border:2px solid #a381bd;box-shadow:0 0 0 3px #21162b}
.lineage-plan .en-txt{display:grid;justify-items:center}
.lineage-plan .en-txt small{color:#e0cae9}
.lineage-plan .en.is-sel,.lineage-plan .en:hover{background:#2b1d36;border-color:#795b8c;transform:none}
.lineage-plan .en.is-sel .en-ico{border-color:#d8f995;box-shadow:0 0 0 4px #d8f99539,0 0 16px #d8f9954d}
.lineage-plan .eco.has-sel .en:not(.is-rel){opacity:.74}
.lineage-plan .eco.has-sel .eco-lines path{opacity:.25}
.lineage-plan .eco.has-sel .eco-lines path.is-on{opacity:1;stroke-width:3}
.lineage-plan .eco-scroll:focus-visible{outline:2px solid #d8f995;outline-offset:2px}
@media(max-width:740px){#recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){#recipe-list{grid-template-columns:1fr}#mixer-recipe{max-width:76vw}}


/* Le tirage et le Grimoire restent à portée pendant la fusion. */
.idea-mixer .mixer-toolbar{position:sticky;top:var(--mixer-sticky-top,72px);z-index:4;box-shadow:0 5px 12px #0d0915aa}
.mixer-toolbar .mixer-machine-label{display:block;color:#d8f995;font:10px var(--font-mono);letter-spacing:.11em}
#mixer-current{display:block;color:#f6edf9;font-size:.9rem}
.mixer-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}
.idea-mixer #mixer-random{background:#d8f995;color:#22162e;border-color:#d8f995;font-weight:700}
#mixer-catalogue{scroll-margin-top:86px}
@media(max-width:640px){.idea-mixer .mixer-toolbar{--mixer-sticky-top:64px}.mixer-toolbar-actions button{font-size:.78rem}}

.mixer-hint{margin:-3px 0 9px;color:#e5d4ef;font-size:.85rem}
.mixer-card-cue{display:inline-flex;align-items:center;gap:5px}
.mixer-cue-arrow{display:none;color:#d8f995;font:700 1rem var(--font-mono)}
[data-mixer-next="load"] .mixer-ingredient[aria-pressed="false"] .mixer-cue-arrow{display:inline-block}
[data-mixer-next="mix"] #mixer-start::before{content:"→";display:inline-block;margin-right:6px}
@media(prefers-reduced-motion:no-preference){
  [data-mixer-next="load"] .mixer-ingredient[aria-pressed="false"] .mixer-cue-arrow,
  [data-mixer-next="mix"] #mixer-start::before{animation:mixer-guide-pulse 1.05s ease-in-out 3}
}
@keyframes mixer-guide-pulse{0%,100%{transform:none;opacity:1}50%{transform:translateX(-4px);opacity:.42}}
