/* Yagrumo Dissect · the machine page.
   Look: a hand-inked children's book (cream paper, navy ink, flat colour in three tones, hard warm-grey shadows)
   set inside Learn's night frame. Shared file: agents never edit it. */
.dm{position:relative;--paper:#f5f0e5;--ink:#1d2a44;--ink-2:#4a5878;--shadow:#ddd4c3;--hand:"Gochi Hand","Comic Sans MS",cursive;
  display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:22px;align-items:start;max-width:1320px;margin:0 auto;
  padding:18px max(16px,env(safe-area-inset-right,0px)) 60px max(16px,env(safe-area-inset-left,0px))}
@media (max-width:900px){.dm{grid-template-columns:1fr}}

/* the paper: kit variables re-mapped to ink on cream */
.dm-paper{
  --anatomy-page:var(--paper);--anatomy-card:var(--paper);--anatomy-paper:#fbf8f1;--anatomy-face:#fbf8f1;--anatomy-top:#ffffff;
  --anatomy-shade-0:#e9e2d3;--anatomy-shade-1:#eee8db;--anatomy-shade-2:#f4efe4;--anatomy-shade-3:#f8f4ec;
  --anatomy-lit-top:#ffffff;--anatomy-lit-shade:#f4efe4;
  --anatomy-hi:var(--ink);--anatomy-mid:var(--ink);--anatomy-lo:var(--ink-2);--anatomy-faint:rgba(29,42,68,.32);--anatomy-lit:var(--ink);
  --anatomy-dot:var(--ink);--anatomy-halo:var(--shadow);--anatomy-halo-opacity:1;--anatomy-weight:1.2px;
  --anatomy-red:#C8372D;--anatomy-green:#4E8A3A;--anatomy-blue:#2F6FA8;
  position:relative;border-radius:22px;background:var(--paper);overflow:hidden;
  box-shadow:0 0 0 1px rgba(29,42,68,.18),0 30px 60px rgba(0,0,0,.45);
  background-image:radial-gradient(rgba(29,42,68,.05) 1px,transparent 1px);background-size:14px 14px}
.dm-paper .iso-halo{filter:none;transform:none;opacity:1}
.dm-paper .iso-line{stroke-width:1.2px;vector-effect:non-scaling-stroke}
.dm-paper .iso-line[data-tone="faint"]{stroke-width:.8px}
.dm-paper .iso-crease,.dm-paper .iso-bevel{stroke-width:.8px}
.dm-shadow{fill:var(--shadow);stroke:none}
.dm-svg{display:block;width:100%;height:auto}
.dm-word{font-family:var(--hand);font-size:22px;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round;letter-spacing:.5px}
.dm-paper text{font-family:"Geist Mono",ui-monospace,monospace}
.dm-paper .dm-hand{font-family:var(--hand)}
.dm-badge{position:absolute;right:16px;top:14px;z-index:3;font-family:var(--hand);font-size:24px;color:var(--paper);background:var(--ink);border-radius:999px;padding:2px 14px 4px;transform:rotate(4deg)}
.dm-cursor{position:absolute;left:0;top:0;z-index:4;width:30px;height:30px;pointer-events:none;transform-origin:4px 2px}
.dm-cursor svg{width:30px;height:30px;fill:#fff;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(2px 3px 0 rgba(29,42,68,.25))}
.dm-render .dm-cursor{display:block}

/* left column */
.dm-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.dm-q .dm-n{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--celeste)}
.dm-title{font-size:clamp(30px,3.4vw,42px);margin:6px 0 6px}
.dm-question{font-size:16px;color:var(--mist)}
.dm-mode{display:flex;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;padding:4px;align-self:flex-start}
.dm-mode button{border:0;background:none;border-radius:999px;padding:7px 16px;font-weight:600;font-size:14px;color:var(--mist)}
.dm-mode button[aria-pressed="true"]{background:var(--celeste);color:#05121D}
.dm-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dm-step{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:2px solid var(--line-2);background:var(--panel);border-radius:999px;padding:7px 16px 7px 7px;color:var(--bone);font-weight:600;font-size:16px;transition:opacity .3s,border-color .2s,background .2s,transform .15s}
.dm-num{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--panel-2);border:2px solid var(--line-2);font-family:var(--display);font-size:17px}
.dm-step:disabled{cursor:default;opacity:.55}
.dm-step[data-next]{opacity:1;border-color:var(--gold);animation:dmpulse 1.4s ease-in-out infinite}
.dm-step[data-next] .dm-num{background:var(--gold);color:#1D1403;border-color:var(--gold)}
.dm-step[data-run]{opacity:1;background:var(--celeste);color:#05121D;border-color:var(--celeste);transform:translateX(6px)}
.dm-step[data-run] .dm-num{background:#05121D;color:var(--celeste);border-color:#05121D}
.dm-step[data-done]{opacity:.38}
.dm-step[data-done] .dm-num::after{content:"✓"}
.dm-step[data-done] .dm-num{font-size:0}
.dm-step[data-done] .dm-num::after{font-size:16px}
@keyframes dmpulse{50%{box-shadow:0 0 0 6px rgba(233,185,73,.18)}}
.dm-over{align-self:flex-start;border:0;background:none;color:var(--celeste);font-size:14px;text-decoration:underline;padding:0}
.dm-break{display:flex;flex-direction:column;gap:6px}
.dm-slider{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mist)}
.dm-slider b{color:var(--gold);font-family:var(--mono)}
.dm-slider input{accent-color:var(--gold);width:100%}
.dm-break-note{font-size:13px;color:var(--bone);min-height:1.3em}
.dm-dissect{align-self:flex-start}
.dm-parts-head{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.dm-part{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line-2);background:var(--panel);border-radius:12px;padding:7px 10px;color:var(--bone);font-size:14px;text-align:left}
.dm-part span{font-family:var(--mono);font-size:11px;color:var(--moss)}
.dm-part i{margin-left:auto;font-style:normal;color:var(--leaf)}
.dm-part[data-on]{border-color:var(--celeste);background:rgba(93,179,228,.12)}
.dm-part[data-home]{opacity:.55}
.dm-info{font-size:14px;color:var(--mist);padding:6px 2px}
.dm-info b{display:block;color:var(--bone);font-size:15px}

/* main column */
.dm-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.dm-hint{display:flex;align-items:center;gap:12px;min-height:56px;background:var(--paper);color:var(--ink);border-radius:16px;padding:10px 16px;font-size:18px;font-weight:500;box-shadow:0 0 0 1px rgba(29,42,68,.15)}
.dm-hint-n{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--display);font-size:16px}
.dm-chips{display:flex;flex-wrap:wrap;gap:8px}
.dm-chip{display:flex;flex-direction:column;gap:1px;padding:6px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--line-2);min-width:0}
.dm-chip small{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}
.dm-chip b{font-family:var(--mono);font-size:15px;color:var(--bone);font-variant-numeric:tabular-nums;white-space:nowrap}
.dm-idea{font-size:18px;color:var(--bone)}
.dm-idea b{font-family:var(--hand);font-size:22px;font-weight:400;color:var(--gold);margin-right:4px}
.dm-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
.dm-swatches{display:flex;gap:8px}
.dm-sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--line-2);background:conic-gradient(var(--a) 0 50%,var(--b) 0)}
.dm-sw[data-on]{border-color:var(--bone);box-shadow:0 0 0 3px rgba(242,243,239,.2)}
.dm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1;min-width:260px}
@media (max-width:640px){.dm-cards{grid-template-columns:1fr}}
.dm-card{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13.5px;color:var(--mist)}
.dm-card span{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--paper);color:var(--ink);font-family:var(--display);font-size:12px}

/* take-apart mode */
.dm-apart .dm-mode,.dm-apart .dm-break,.dm-apart .dm-hint{opacity:.35;pointer-events:none}
.dm-paper .it[data-on] .iso-edge{stroke:#C8372D;stroke-width:2px}
.dm-apart .dm-paper .it{cursor:pointer}
.it.dm-no{animation:dmno .45s}
@keyframes dmno{20%{transform:translate(-5px,0)}40%{transform:translate(5px,0)}60%{transform:translate(-3px,0)}80%{transform:translate(2px,0)}}

/* machine nav */
.dmnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 60px);z-index:40;background:rgba(7,11,16,.92);border-bottom:1px solid var(--line)}
.dmnav .in{display:flex;align-items:center;gap:10px;max-width:1320px;margin:0 auto;padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));overflow-x:auto;scrollbar-width:none}
.dmnav .in::-webkit-scrollbar{display:none}
.dmnav a{flex:none;display:flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--line-2);border-radius:12px;padding:4px 10px 4px 4px;color:var(--mist);font-size:13px;font-weight:600;white-space:nowrap}
.dmnav a img{width:46px;height:34px;object-fit:cover;border-radius:8px;background:#f5f0e5}
.dmnav a[aria-current="page"]{border-color:var(--gold);color:var(--bone);background:rgba(233,185,73,.08)}
.dmnav .arrow{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--bone);text-decoration:none}

/* render / video / og layouts */
.dm-render .dmnav,.dm-render .ygf,.dm-render .hud,.dm-render footer,.dm-render .dm-mode,.dm-render .dm-over,.dm-render .dm-dissect,.dm-render .dm-break,.dm-render .dm-row{display:none!important}
.dm-render .dm-step[data-next]{animation:none}
.dm-video #machine{min-height:100vh;display:grid;align-content:center}
.dm-video .dm{padding:24px 40px;max-width:none;grid-template-columns:340px minmax(0,1fr);gap:30px;align-items:center}
.dm-video .dm-title{font-size:48px}
.dm-video .dm-question{font-size:19px}
.dm-video .dm-step{font-size:19px;padding:9px 18px 9px 9px}
.dm-video .dm-num{width:40px;height:40px;font-size:20px}
.dm-video .dm-hint-t{font-size:20px}
.dm-og .dm{grid-template-columns:1fr;padding:0}
.dm-og .dm-side,.dm-og .dm-hint,.dm-og .dm-chips,.dm-og .dm-idea{display:none!important}
.dm-og .dm-paper{border-radius:0;box-shadow:none}
@media (prefers-reduced-motion:reduce){.dm-step[data-next]{animation:none}}
