/* Header/nav chrome: lab-shell.js + lab-nav.js + lab-mobile.css */
    :root{
      --bg:#000; --panel:#0f0f0f; --ui:#171717;
      --border:#00ffcc55; --border2:#00ffcc99;
      --mint:#00ff99; --teal:#00ffcc; --green:#00ff66;
      --txt:#eafffb; --muted:#b9c7c4;
      --danger:#ff4d6d; --warn:#ffb703;
      --shadow:0 0 24px #00ffcc33, inset 0 0 14px #00ffcc1a;
      --shadow2:0 0 28px #00ffcc66, inset 0 0 18px #00ffcc22;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:Roboto,system-ui,Segoe UI,Arial,sans-serif;
      background:radial-gradient(1200px 800px at 30% 10%, #001a14 0%, #000 55%, #000 100%);
      color:var(--txt);
      min-height:100dvh;
    }
    a{color:var(--mint);text-decoration:none}
    a:hover{opacity:.9}
    .pill{
      display:inline-flex;align-items:center;gap:8px;
      padding:6px 10px;border:1px solid #00ffcc66;border-radius:999px;
      background:#0d0d0d;font-weight:900;color:var(--txt);white-space:nowrap;
    }
    .pill.good{border-color:#14ff9e}
    .pill.bad{border-color:var(--danger)}
    .pill.warn{border-color:var(--warn)}
    .btn-ghost{
      background:transparent;color:var(--green);
      border:1px solid #00ffcc66;padding:8px 10px;border-radius:10px;
      font-weight:900;cursor:pointer;
    }
    .btn-ghost:hover{border-color:#00ffccaa;transform:translateY(-1px)}
    .btn-ghost.nav-active{
      border-color:#14ff9e;
      color:var(--mint);
      box-shadow:0 0 12px #14ff9e33;
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
      background:linear-gradient(145deg,#00cc66,#00ff99);
      color:#000;border:0;border-radius:12px;
      padding:.78rem 1rem;font-weight:1000;cursor:pointer;
      box-shadow:0 0 10px #00cc6699;
      transition:transform .15s ease, filter .15s ease;
      text-decoration:none;white-space:nowrap;min-height:44px;
    }
    .btn:hover{transform:scale(1.02);filter:brightness(1.03)}
    .btn:active{transform:scale(.99)}
    .btn[disabled]{opacity:.5;cursor:not-allowed}
    .wrap{max-width:1180px;margin:0 auto;padding:18px 14px 60px}
    .card{
      background:linear-gradient(180deg, #101010 0%, #0b0b0b 100%);
      border:1px solid var(--border);
      border-radius:16px;
      box-shadow:var(--shadow);
      padding:14px;
      position:relative;
      overflow:hidden;
    }
    .card.glow{border:2px solid var(--border2);box-shadow:var(--shadow2)}
    .card h1,.card h2,.card h3{
      margin:0 0 10px;
      color:#0f0;
      text-shadow:0 0 10px #00ff66, 0 0 18px #00ffcc;
      font-weight:1000;
    }
    .sub{color:var(--muted);line-height:1.5;margin:0 0 10px}
    .mono{
      font-family:Monoton, cursive;
      font-size:1.6rem;
      background:linear-gradient(90deg,#00ffcc,#00ff99,#00ffcc);
      background-clip:text;
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      animation:shine 4s linear infinite;
    }
    @keyframes shine{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}
    .hr{height:1px;background:linear-gradient(90deg,transparent,#00ffcc55,transparent);margin:1rem 0}

    /* Mint Studio — collection-first 8-step flow */
    .mint-stepper-nav{
      display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 14px;
    }
    .mint-stepper-item{
      display:inline-flex;align-items:center;gap:6px;padding:8px 10px;
      border:1px solid #00ffcc33;border-radius:10px;background:#0b0b0b;
      color:var(--muted);font-weight:800;font-size:.78rem;cursor:pointer;
      transition:border-color .15s, color .15s;
    }
    .mint-stepper-item:hover{border-color:#00ffcc66;color:var(--txt)}
    .mint-stepper-item.active{border-color:#14ff9e;color:var(--mint);box-shadow:0 0 10px #14ff9e22}
    .mint-stepper-item.done{border-color:#00ffcc55;color:var(--txt)}
    .mint-stepper-num{
      display:inline-flex;align-items:center;justify-content:center;
      width:22px;height:22px;border-radius:999px;background:#111;
      border:1px solid #00ffcc44;font-size:.72rem;font-weight:1000;
    }
    .mint-stepper-item.active .mint-stepper-num{background:#14ff9e22;border-color:#14ff9e;color:var(--mint)}
    .mint-step-panel[hidden]{display:none !important}
    .mint-studio-gated > .mint-step-panel:not([data-mint-step="1"]){display:none !important}
    .mint-collection-gate{
      border-color:#ffb70366;background:#1a1408;color:#ffe8b0;
      padding:14px;font-weight:700;margin-bottom:12px;
    }
    .mint-collection-summary-grid{
      display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:start;
    }
    @media (max-width:560px){.mint-collection-summary-grid{grid-template-columns:1fr}}
    .mint-collection-summary-img,.mint-collection-summary-placeholder{
      width:88px;height:88px;border-radius:12px;object-fit:cover;
      border:1px solid #00ffcc33;background:#0c0c0c;
    }
    .mint-collection-summary-placeholder{display:grid;place-items:center;font-size:.75rem;color:#666;font-weight:900}
    .mint-collection-summary-name{font-weight:1000;font-size:1.05rem;color:var(--mint)}
    .mint-collection-summary-meta{font-size:.88rem;color:var(--muted);margin-top:4px}
    .mint-collection-summary-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
    .mint-collection-summary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    .mint-step-nav-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
    .mint-review-warning{
      padding:10px 12px;border-radius:10px;border:1px solid #ffb70366;
      background:#1a1408;color:#ffe8b0;font-weight:700;margin-bottom:12px;line-height:1.45;
    }
    .mint-review-grid{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:14px}
    @media (max-width:640px){.mint-review-grid{grid-template-columns:1fr}}
    .mint-review-img,.mint-review-placeholder{
      width:100%;max-height:220px;object-fit:contain;border-radius:12px;
      border:1px solid #00ffcc33;background:#0c0c0c;
    }
    .mint-review-placeholder{min-height:120px;display:grid;place-items:center;color:#666;font-weight:900}
    .mint-review-dl{display:grid;gap:8px;margin:0}
    .mint-review-dl > div{display:grid;grid-template-columns:120px 1fr;gap:8px;font-size:.9rem}
    .mint-review-dl dt{color:var(--muted);font-weight:800;margin:0}
    .mint-review-dl dd{margin:0;font-weight:700}
    .mint-review-list{margin:6px 0 0;padding-left:18px;line-height:1.5}
    .mint-review-list.mint-review-system{color:var(--muted)}
    .mint-review-json{
      margin:8px 0 0;padding:10px;border-radius:10px;background:#080808;
      border:1px solid #00ffcc22;font-size:.75rem;max-height:280px;overflow:auto;
      white-space:pre-wrap;word-break:break-word;
    }
    .mint-utility-grid{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
    details.card > summary{list-style:none;cursor:pointer}
    details.card > summary::-webkit-details-marker{display:none}
    .row2{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
    .hint{opacity:.78;font-size:.9rem}
    .muted{opacity:.75}
    .grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
    .tabs{display:flex;gap:10px;flex-wrap:wrap;width:100%}
    .tab{
      border:1px solid #00ffcc66;background:#0d0d0d;
      padding:8px 12px;border-radius:999px;
      font-weight:1000;cursor:pointer;user-select:none;
      display:inline-flex;align-items:center;gap:8px;min-height:44px;
      flex:1 1 auto;
    }
    .tab.active{border-color:#14ff9e;box-shadow:0 0 12px #14ff9e33}
    .form{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:10px}
    @media (max-width:560px){
      .form{grid-template-columns:1fr}
      #collectionNewTaxonRow > div{flex-wrap:wrap}
    }
    .field{
      background:#0b0b0b;border:1px dashed #00ffcc55;
      border-radius:12px;padding:12px;
    }
    .label{opacity:.85;font-size:.85rem;font-weight:900}
    .value{font-size:1.05rem;font-weight:1000;margin-top:6px}
    input[type="text"], input[type="number"], textarea, select{
      width:100%;margin-top:8px;min-height:44px;
      border-radius:12px;border:1px solid #00ffcc55;
      background:#0d0d0d;color:var(--txt);
      padding:10px 10px;font-weight:900;outline:none;
    }
    textarea{min-height:90px;resize:vertical}
    .tag{
      display:inline-flex;align-items:center;gap:6px;
      padding:5px 10px;border-radius:999px;
      border:1px solid #00ffcc55;background:#0c0c0c;
      font-weight:900;font-size:.85rem;white-space:nowrap;
    }
    .tag.powered{border-color:#14ff9e;color:#14ff9e}
    .tag.hot{border-color:var(--warn);color:var(--warn)}
    .tag.new{border-color:#00ccff;color:#00ccff}
    .splits{
      display:grid;grid-template-columns:1.2fr .6fr .6fr;
      gap:10px;align-items:end;
    }
    @media (max-width:560px){ .splits{grid-template-columns:1fr} }
    .splitList{display:flex;flex-direction:column;gap:10px;margin-top:10px}
    .splitRow{
      display:grid;grid-template-columns:1.1fr .5fr .5fr;
      gap:10px;align-items:center;padding:10px;
      border-radius:12px;border:1px solid #00ffcc33;background:#0c0c0c;
    }
    @media (max-width:560px){ .splitRow{grid-template-columns:1fr} }
    .smallBtn{
      background:transparent;border:1px solid #00ffcc66;color:var(--green);
      border-radius:12px;padding:.65rem .8rem;font-weight:1000;
      cursor:pointer;white-space:nowrap;min-height:44px;
    }
    .smallBtn:hover{border-color:#00ffccaa;transform:translateY(-1px)}
    .k{
      user-select:all;
      font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
      font-size:.9rem;opacity:.95;word-break:break-all;
    }
    #toastHost{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:10px;z-index:99999}
    .toast{
      min-width:240px;max-width:360px;
      padding:12px 14px;border-radius:12px;
      background:#111;border:1px solid var(--teal);color:var(--txt);
      box-shadow:0 8px 24px rgba(0,0,0,.45);
      opacity:0;transform:translateY(-6px);
      animation:toastIn .25s ease forwards;
    }
    .toast.success{border-color:#14ff9e}
    .toast.error{border-color:var(--danger)}
    .toast.info{border-color:#00ccff}
    @keyframes toastIn{to{opacity:1;transform:translateY(0)}}
    .footer{margin-top:14px;opacity:.8;text-align:center;font-size:.9rem}
    .footer .mini{opacity:.75;font-size:.85rem}
    #createMain{ pointer-events:auto; }
    .media-drop-zone{
      cursor:pointer;
      pointer-events:auto;
      position:relative;
      z-index:1;
      margin-top:10px;border:2px dashed #00ffcc66;border-radius:16px;padding:22px 16px;
      text-align:center;background:#0a1210;cursor:pointer;transition:border-color .15s ease,background .15s ease;
      min-height:180px;font-size:1.05rem;word-break:break-word;
    }
    .media-drop-zone:hover,.media-drop-zone:focus-visible{border-color:#00ffccaa;background:#0c1814}
    .media-drop-zone.drag{border-color:#14ff9e;background:#0a1812;box-shadow:0 0 16px #14ff9e22}
    .media-drop-zone p{margin:0;font-weight:900;color:var(--txt)}
    .media-drop-zone .dz-hint{margin-top:8px;font-size:.88rem;color:var(--muted);font-weight:700}
    .collection-image-field{display:flex;flex-direction:column;gap:10px}
    .collection-image-upload-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
    .collection-image-preview-wrap{display:none;border:1px solid #00ffcc33;border-radius:12px;overflow:hidden;background:#0c0c0c;margin-top:4px}
    .collection-image-preview-wrap.on{display:block}
    .collection-image-preview-banner{width:100%;max-height:160px;aspect-ratio:3/1;object-fit:cover;display:block}
    .collection-image-preview-avatar{width:96px;height:96px;border-radius:14px;object-fit:cover;display:block;margin:10px}
    .collection-image-upload-status{font-size:.88rem;font-weight:700;color:var(--muted)}
    .collection-image-upload-status.ok{color:var(--mint)}
    .collection-image-url-advanced summary{cursor:pointer;font-weight:700;color:var(--muted)}
    .mint-upload-progress{
      margin-top:8px;height:6px;border-radius:6px;background:#0a1814;overflow:hidden;border:1px solid #00ffcc33;
    }
    .mint-upload-progress.indeterminate .mint-upload-progress-bar{
      width:40%;height:100%;background:linear-gradient(90deg,var(--teal),var(--mint));
      animation:mintBarSlide 1.1s ease-in-out infinite;
    }
    @keyframes mintBarSlide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
    .mint-upload-meta{margin-top:8px;font-size:.88rem;color:var(--muted);font-weight:700}
    .mint-success-card{
      display:none;margin-top:14px;padding:14px;border-radius:14px;
      border:1px solid #00ffcc66;background:linear-gradient(180deg,#0a1a14,#0a0a0a);
      box-shadow:0 0 24px #00ffcc22,inset 0 0 24px #00ffcc14;
      animation:mintSuccessPulse 2.6s ease-in-out infinite;
    }
    @keyframes mintSuccessPulse{
      0%,100%{box-shadow:0 0 18px #00ffcc22,inset 0 0 16px #00ffcc14}
      50%{box-shadow:0 0 34px #00ffcc66,inset 0 0 22px #00ffcc22}
    }
    .mint-success-head{font-weight:1000;color:var(--mint);font-size:1.15rem}
    .mint-success-sub{margin-top:4px;color:var(--muted);font-weight:700}
    .mint-success-grid{display:grid;grid-template-columns:130px 1fr;gap:12px;margin-top:12px}
    .mint-success-preview{
      width:130px;height:130px;border-radius:12px;object-fit:cover;border:1px solid #00ffcc55;background:#060606;
    }
    .mint-success-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .mint-success-kv .item{padding:8px;border:1px solid #00ffcc33;border-radius:10px;background:#0b0b0b}
    .mint-success-kv .k{font-size:.75rem;color:var(--muted);font-weight:800}
    .mint-success-kv .v{font-size:.9rem;color:var(--txt);font-weight:900;word-break:break-word}
    .mint-success-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .mint-success-actions .btn,.mint-success-actions a{flex:1;min-width:140px}
    .mint-success-note{margin-top:10px;font-size:.86rem;color:var(--muted);font-weight:700}
    .mint-complete-modal{
      position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;
    }
    .mint-complete-modal[hidden]{display:none !important}
    .mint-complete-backdrop{position:absolute;inset:0;background:#020806cc;backdrop-filter:blur(4px)}
    .mint-complete-dialog{
      position:relative;z-index:1;width:min(560px,100%);max-height:min(92vh,760px);overflow:auto;padding:18px 16px 16px;
      border:1px solid #00ffcc66;background:linear-gradient(180deg,#0a1a14,#0a0a0a);
      box-shadow:0 0 40px #00ffcc33;
    }
    .mint-complete-close{
      position:absolute;top:10px;right:12px;border:0;background:transparent;color:var(--muted);
      font-size:1.6rem;line-height:1;cursor:pointer;padding:4px 8px;
    }
    .mint-complete-title{margin:0;font-weight:1000;color:var(--mint);font-size:1.35rem}
    .mint-complete-lead{margin:8px 0 0;color:var(--muted);font-weight:700;line-height:1.45}
    .mint-complete-grid{display:grid;grid-template-columns:120px 1fr;gap:12px;margin-top:14px}
    .mint-complete-preview{
      width:120px;height:120px;border-radius:12px;object-fit:cover;border:1px solid #00ffcc55;background:#060606;
    }
    .mint-complete-kv{display:grid;grid-template-columns:1fr;gap:8px}
    .mint-complete-kv .item{padding:8px 10px;border:1px solid #00ffcc33;border-radius:10px;background:#0b0b0b}
    .mint-complete-kv .k{font-size:.75rem;color:var(--muted);font-weight:800}
    .mint-complete-kv .v{font-size:.92rem;color:var(--txt);font-weight:900;word-break:break-word}
    .mint-complete-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
    .mint-complete-actions .btn,.mint-complete-actions a{flex:1;min-width:min(100%,140px);text-align:center;justify-content:center}
    .mint-complete-note{margin-top:10px;font-size:.86rem;color:var(--mint);font-weight:700;line-height:1.45}
    .mint-confetti{pointer-events:none;position:fixed;inset:0;z-index:10060;overflow:hidden}
    .mint-confetti i{position:absolute;width:8px;height:8px;border-radius:2px;opacity:0;animation:mintConfPop .9s ease-out forwards}
    @keyframes mintConfPop{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(720deg)}}
    @media (max-width:640px){
      .mint-complete-grid{grid-template-columns:1fr}
      .mint-complete-preview{width:100%;height:auto;max-height:220px}
      .mint-success-grid{grid-template-columns:1fr}
      .mint-success-preview{width:100%;height:auto;max-height:280px}
      .mint-success-kv{grid-template-columns:1fr}
    }
    #primaryPreviewVideo,#primaryPreviewModel,#primaryPreviewIframe{border-radius:10px}
    #mintXummQrImg{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:8px;background:#fff}
    #mediaPreviewAudio{display:none;width:100%;margin-top:10px;border-radius:12px}
    #mediaPreviewAudio.on{display:block}
    #mediaPreviewImg.audio-off{display:none !important}
    .mint-type-expand{margin-top:12px;border:1px solid #00ffcc33;border-radius:14px;padding:0;overflow:hidden;background:#0a0a0a}
    .mint-type-expand > summary{
      list-style:none;cursor:pointer;padding:12px 14px;font-weight:1000;color:var(--green);
      user-select:none;
    }
    .mint-type-expand > summary::-webkit-details-marker{display:none}
    .mint-type-expand .mint-type-expand-body{padding:0 14px 14px}
    .royalty-slider-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}
    #royaltyPct{flex:1;min-width:160px;accent-color:var(--teal)}
    #royaltyPctReadout{min-width:52px;font-weight:1000;color:var(--mint)}
    #doodArtistExpand{margin-top:10px;padding-top:10px;border-top:1px solid #00ffcc22}
    .dood-managed-summary strong{color:var(--mint,#00ff99)}
    .dood-advanced-settings[open]{border-color:#00ffcc55}
    .dood-advanced-settings.dood-managed-mode > summary{opacity:.92}
    #doodManagedPanel.goodBox{border-color:#14ff9e44;background:linear-gradient(180deg,#0c1412,#0a0a0a)}
    .dangerBox{
      border:1px solid #ff4d6d66;
      background:linear-gradient(180deg, #12070a 0%, #0b0b0b 100%);
    }
    .goodBox{
      border:1px solid #14ff9e55;
      background:linear-gradient(180deg, #05150e 0%, #0b0b0b 100%);
    }
    @media (max-width:560px){
      .row2 > div[style*="display:flex"] .btn,
      .row2 > div[style*="display:flex"] .smallBtn{
        width:100%;justify-content:center;
      }
    }

    /* Mobile-first usability pass (layout + tap targets only). */
    @media (max-width:768px){
      .appbar .row{
        align-items:flex-start;
        gap:8px;
      }
      .nav{
        width:100%;
        justify-content:flex-start;
        gap:8px;
      }
      .wrap{
        padding:12px 10px 40px;
      }
      .card{
        padding:12px;
      }
      .row2{
        gap:8px;
      }
      .tabs{
        width:100%;
      }
      .tab{
        flex:1 1 calc(50% - 8px);
        justify-content:center;
        min-height:46px;
        padding:10px 12px;
      }
      .btn,
      .smallBtn,
      .btn-ghost{
        min-height:46px;
        padding:10px 12px;
      }
      input[type="text"], input[type="number"], textarea, select{
        min-height:46px;
        padding:11px 12px;
      }
      .field{
        padding:11px;
      }
      .hr{
        margin:.75rem 0;
      }
      .k{
        word-break:break-word;
        overflow-wrap:anywhere;
      }
      #payload,
      #previewMetadataJson,
      #previewTxJson{
        max-height:240px;
        overflow:auto;
        -webkit-overflow-scrolling:touch;
        border:1px solid #00ffcc22;
        border-radius:10px;
        padding:10px;
        background:#090909;
        white-space:pre-wrap !important;
      }
      #mediaPreviewWrap,
      #previewMediaWrap{
        padding:8px !important;
      }
      #mediaPreviewImg,
      #previewMediaImg{
        max-height:280px;
        width:100%;
        object-fit:contain;
      }
      #toastHost{
        left:10px;
        right:10px;
        top:10px;
      }
      .toast{
        min-width:0;
        max-width:none;
      }
    }

    @media (max-width:520px){
      #btnMintLaunch{width:100%}
      .brand{
        font-size:.95rem;
      }
      .pill{
        padding:5px 9px;
      }
      .tab{
        flex:1 1 100%;
      }
      .form,
      .splits{
        grid-template-columns:1fr !important;
        gap:8px;
      }
      .splitRow{
        grid-template-columns:1fr;
        gap:8px;
      }
      .btn,
      .smallBtn,
      .btn-ghost{
        width:100%;
        justify-content:center;
      }
      .row2 > div[style*="display:flex"]{
        width:100%;
      }
      .field{
        padding:10px;
      }
      .hint{
        font-size:.86rem;
      }
      #payload,
      #previewMetadataJson,
      #previewTxJson{
        max-height:200px;
        font-size:.82rem;
      }
      #mediaPreviewImg,
      #previewMediaImg{
        max-height:220px;
      }
      .footer{
        font-size:.82rem;
      }
      .footer .mini{
        font-size:.78rem;
      }
    }

/* Collection creation flow step nav */
.lab-flow-steps{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.lab-flow-step{flex:1 1 auto;min-width:120px;padding:8px 12px;border-radius:999px;border:1px solid #00ffcc44;background:#0c0c0c;font-weight:900;font-size:.85rem;color:var(--muted);text-align:center}
.lab-flow-step.active{border-color:#14ff9e;color:#b8ffd9;box-shadow:0 0 12px #14ff9e33}
.prepared-collection-card{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.prepared-collection-card img.prepared-avatar{width:56px;height:56px;border-radius:12px;object-fit:cover;border:1px solid #00ffcc33}
.prepared-collection-card .prepared-body{flex:1;min-width:180px}
