  /* tokens da marca em ../assets/css/tokens.css; aqui só os apelidos usados pelo editor */
  :root{
    color-scheme:dark;
    --bg:var(--vx-bg); --surface:var(--vx-surface); --elev:var(--vx-elevated); --elev2:#2a3237;
    --primary:var(--vx-primary); --mint:var(--vx-mint);
    --text:var(--vx-text); --muted:#93a19a;
    --panel: rgba(20,25,29,.9);
    --panel-border: rgba(165,233,189,.10);
    --line2: rgba(241,245,243,.08);
    --accent:var(--vx-primary);
    --accent-soft: rgba(53,208,127,.14);
    --danger:#ff6b5e;
    --danger-soft: rgba(255,107,94,.14);
    --shadow: 0 10px 30px rgba(0,0,0,.45);
    --display:var(--vx-display);
    --body:var(--vx-body);
    --mono:var(--vx-mono);
  }
  *{box-sizing:border-box}
  html,body{margin:0;height:100%;overflow:hidden;font-family:var(--body);color:var(--text);
    background:radial-gradient(120% 90% at 50% 18%,#1a2226 0%,#0f1417 55%,var(--bg) 100%);}
  #view{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
  .panel{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow)}

  #title{position:fixed;top:14px;left:14px;padding:10px 14px;display:flex;align-items:center;gap:12px}
  #title .brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}
  #title .brand img{display:block}
  #title .wm{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.14em}
  #title .prod{font-family:var(--mono);font-size:11px;color:var(--mint);border:1px solid rgba(165,233,189,.35);border-radius:6px;padding:1px 6px;letter-spacing:.04em}
  #title .brand:focus-visible,.tbtn:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  #title h1{font-family:var(--display);font-size:20px;margin:0;letter-spacing:.3px}
  #title .count{font-size:13px;color:var(--muted);white-space:nowrap}
  #saved{color:var(--accent);font-size:12px}
  #saved.err{color:var(--danger)}
  .tbtn{display:flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--elev);border-radius:9px;padding:6px 10px;font:600 13px var(--body);color:var(--text);cursor:pointer}
  .tbtn:hover{background:var(--elev2)}
  .tbtn svg{width:16px;height:16px}
  #layers{position:fixed;right:14px;bottom:14px;padding:6px;width:236px;z-index:3}
  #lyToggle{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:6px 8px;border-radius:9px;font:600 14px var(--body);color:var(--text);cursor:pointer}
  #lyToggle:hover{background:rgba(241,245,243,.06)}
  #lyToggle svg{width:18px;height:18px}
  #lyToggle .sw{margin-left:auto;width:34px;height:20px;border-radius:10px;background:rgba(241,245,243,.16);position:relative;transition:background .15s}
  #lyToggle .sw::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text);transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
  #layers.on #lyToggle .sw{background:var(--accent)}
  #layers.on #lyToggle .sw::after{left:16px}
  .lybody{display:none;padding:4px 6px 6px;flex-direction:column;gap:8px}
  #layers.on .lybody{display:flex}
  .lyrow{display:flex;align-items:center;gap:8px}
  .lyrow button{width:32px;height:30px;border-radius:8px;border:1px solid var(--line2);background:var(--elev);cursor:pointer;font-size:11px;color:var(--text)}
  .lyrow button:disabled{opacity:.35;cursor:default}
  #lyLabel{flex:1;text-align:center;font-size:14px;color:var(--muted)}
  #lyLabel b{color:var(--text);font-size:16px}
  #lySlider{width:100%;accent-color:var(--accent)}
  .seg{display:flex;background:rgba(241,245,243,.06);border-radius:9px;padding:2px;gap:2px}
  .seg button{flex:1;border:0;background:transparent;padding:6px 4px;border-radius:7px;font:600 12px var(--body);color:var(--muted);cursor:pointer;white-space:nowrap}
  .seg button.on{background:var(--elev);color:var(--text);box-shadow:0 1px 3px rgba(241,245,243,.14)}
  .seg button:disabled{opacity:.4;cursor:default}
  .seg.wide button{font-size:13px;padding:7px 10px}
  #matModal .box{padding:20px 22px;width:min(560px,94vw);max-height:90vh;display:flex;flex-direction:column;gap:10px;font-size:14px}
  #matModal h2{margin:0;font-family:var(--display);font-size:20px}
  #matSummary{font-size:13px;color:var(--muted)}
  #matSummary b{color:var(--text)}
  #matSummary .ok{color:var(--mint)}
  #matSummary .warn{color:#f3c26b;margin-top:4px}
  #matList{overflow-y:auto;border:1px solid var(--panel-border);border-radius:10px;min-height:80px;max-height:52vh}
  .mrow{display:flex;align-items:center;gap:10px;padding:6px 10px;border-top:1px solid var(--panel-border);cursor:pointer}
  .mrow:first-child{border-top:0}
  .mrow:hover{background:rgba(241,245,243,.03)}
  .mrow input{width:17px;height:17px;accent-color:var(--accent);flex:none}
  .mrow img{width:34px;height:34px;flex:none}
  .mname{flex:1;min-width:0}
  .mcount{text-align:right;display:flex;flex-direction:column;line-height:1.2}
  .mcount b{font-size:16px}
  .mcount span{font-size:12px;color:var(--muted)}
  .mrow.done .mname,.mrow.done .mcount b{text-decoration:line-through;color:var(--muted)}
  .mrow.done img{opacity:.45}
  #matList .empty{padding:20px;color:var(--muted);text-align:center}
  #matModal .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  #matModal .actions .sp{flex:1}
  #matModal .actions button:not(.dlbtn){padding:8px 14px;border-radius:9px;border:1px solid var(--line2);background:var(--elev);font:500 14px var(--body);cursor:pointer}
  @media (max-width:1180px){#layers{bottom:96px}}
  #fileModal .box{padding:20px 22px;width:min(560px,94vw);max-height:92vh;overflow:auto;font-size:14px;line-height:1.5}
  #fileModal h2{margin:0 0 4px;font-family:var(--display);font-size:20px}
  #fileModal h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
  #fileModal section{border-top:1px solid var(--panel-border);padding:14px 0 6px;margin-top:10px}
  #fileModal .muted{color:var(--muted);margin:0}
  #fileModal .small{font-size:12.5px;color:var(--muted);margin:8px 0 0}
  .row2{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
  .dlbtn{background:var(--accent);color:#06140c;border:0;font:600 14px var(--body);padding:9px 14px;border-radius:9px;cursor:pointer}
  .dlbtn:hover{filter:brightness(1.05)}
  .ghostbtn{border:1px solid var(--line2);background:var(--elev);font:600 14px var(--body);padding:8px 14px;border-radius:9px;cursor:pointer}
  /* Entrega C: o campo de arquivo fica invisível mas alcançável pelo Tab (antes: display:none, fora do teclado) */
  .ghostbtn,.filebtn{position:relative}
  .ghostbtn input,.filebtn input{display:block!important;position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);margin:0;padding:0;border:0}
  .ghostbtn:focus-within,.filebtn:focus-within{outline:2px solid var(--accent);outline-offset:2px}
  .overlay .box button:focus-visible,.overlay .box select:focus-visible,.overlay .box input:focus-visible,#modal button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .fld{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}
  .fld input,.fld select{font:500 14px var(--body);padding:7px 9px;border-radius:8px;border:1px solid var(--line2);background:var(--elev);color:var(--text);min-width:0}
  .fld input{width:150px}
  .steps{margin:12px 0 0;padding-left:20px}
  .mcpanel{margin-top:12px}
  .steps li{margin-bottom:4px}
  #fileModal code{font-size:12.5px;background:rgba(241,245,243,.08);padding:1px 5px;border-radius:5px}
  #fileStatus{min-height:20px;font-size:13px;color:var(--mint);margin:10px 0 6px}
  #fileStatus.err{color:var(--danger)}
  .nodl-msg{display:none;font-size:12.5px;color:var(--danger);margin:0 0 8px}
  body.nodl .nodl-msg{display:block}
  #fileModal .actions{display:flex;justify-content:flex-end}
  #fileModal .actions button{padding:8px 14px;border-radius:9px;border:1px solid var(--line2);background:var(--elev);font:500 14px var(--body);cursor:pointer}

  #coords{position:fixed;top:14px;right:14px;padding:8px 12px;font:600 13px var(--mono);color:var(--muted);min-width:150px;text-align:center}
  #coords b{color:var(--text);font-weight:700}

  #tools{position:fixed;top:76px;left:14px;padding:8px;display:flex;flex-direction:column;gap:6px;width:150px}
  #tools .sep{height:1px;background:var(--panel-border);margin:2px}
  #tools .btn{padding:6px 10px}
  #tools{gap:4px}
  #tools .label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:2px 4px 0}
  .btn{display:flex;align-items:center;gap:8px;width:100%;border:1px solid transparent;background:transparent;border-radius:9px;padding:8px 10px;font:500 14px var(--body);color:var(--text);cursor:pointer;text-align:left}
  .btn:hover{background:rgba(241,245,243,.06)}
  .btn svg{width:18px;height:18px;flex:none}
  .btn kbd{margin-left:auto;font:600 11px var(--mono);color:var(--muted);background:rgba(241,245,243,.08);border-radius:5px;padding:1px 5px}
  .btn.on{background:var(--accent-soft);border-color:rgba(53,208,127,.45);color:var(--mint)}
  .btn.erase.on{background:var(--danger-soft);border-color:rgba(255,107,94,.45);color:#ffb3ab}
  .btn.danger{color:var(--danger)}
  .row{display:flex;align-items:center;gap:6px;padding:4px 6px}
  select{flex:1;font:500 14px var(--body);padding:6px 8px;border-radius:8px;border:1px solid var(--line2);background:var(--elev);color:var(--text)}

  #hud{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;max-width:calc(100vw - 20px)}
  #blockname{font-family:var(--display);font-size:16px;color:var(--text);text-align:center;padding:4px 14px;border-radius:10px}
  #hotbar{display:flex;gap:4px;padding:6px;border-radius:14px}
  .hslot{position:relative;width:54px;height:54px;border-radius:9px;border:2px solid rgba(241,245,243,.14);background:rgba(241,245,243,.06);cursor:pointer;display:grid;place-items:center;padding:0;color:var(--muted)}
  .hslot:hover{background:rgba(241,245,243,.1)}
  .hslot.sel{border-color:var(--accent);background:var(--elev);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}
  .hslot.over{border-color:var(--accent);background:var(--accent-soft)}
  .hslot img{width:44px;height:44px;pointer-events:none}
  .hslot .k{position:absolute;top:1px;left:4px;font:700 10px var(--mono);color:var(--muted)}
  .hslot.hand{margin-right:6px}
  .hslot.hand svg{width:24px;height:24px;color:var(--text)}
  .hslot.more{margin-left:6px;border-style:dashed}
  .hslot.more svg{width:24px;height:24px}
  .hslot.more.on{background:var(--accent-soft);border-color:var(--accent);color:var(--mint);border-style:solid}
  /* inventário no estilo do modo criativo */
  :root{--ms:40px}
  #invBack{position:fixed;inset:0;background:rgba(16,16,20,.5);display:none;z-index:8}
  body.invopen #invBack{display:block}
  body.invopen #hud{visibility:hidden}
  #inv{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9;display:none;font-family:"Pixelify Sans",system-ui,sans-serif;user-select:none}
  #inv.open{display:block}
  .mctabs{display:flex;gap:2px;padding:0 4px;align-items:flex-end;flex-wrap:wrap;max-width:calc(var(--ms)*9 + 46px)}
  .mctab{width:42px;height:38px;background:#a5a5a5;border:3px solid #000;border-bottom:0;border-radius:7px 7px 0 0;box-shadow:inset 2px 2px 0 #d6d6d6,inset -2px 0 0 #6b6b6b;display:grid;place-items:center;cursor:pointer;padding:0;margin-bottom:-3px;position:relative}
  .mctab.on{background:#c6c6c6;height:44px;z-index:2;box-shadow:inset 3px 3px 0 #fff}
  .mctab img{width:26px;height:26px;pointer-events:none}
  .mctab svg{width:20px;height:20px}
  .mcwin{position:relative;z-index:1;background:#c6c6c6;border:3px solid #000;border-radius:6px;box-shadow:inset 3px 3px 0 #fff,inset -3px -3px 0 #555;padding:10px 12px 10px}
  .mchead{display:flex;align-items:center;justify-content:space-between;gap:10px;height:26px;margin-bottom:4px;color:#3f3f3f;font-size:17px}
  #search{display:none;font:16px "Pixelify Sans",system-ui,sans-serif;background:#000;color:#fff;border:2px solid #a0a0a0;padding:1px 6px;width:150px;border-radius:0;outline:none}
  #inv.searching #search{display:block}
  .mcgrid{display:grid;grid-template-columns:repeat(9,var(--ms));grid-auto-rows:var(--ms);align-content:start;height:calc(var(--ms)*5);overflow-y:scroll;padding-right:4px;width:calc(var(--ms)*9 + 22px)}
  .mcgrid::-webkit-scrollbar{width:18px}
  .mcgrid::-webkit-scrollbar-track{background:#8b8b8b;box-shadow:inset 2px 2px 0 #373737,inset -2px -2px 0 #fff}
  .mcgrid::-webkit-scrollbar-thumb{background:#c6c6c6;box-shadow:inset 2px 2px 0 #fff,inset -2px -2px 0 #555;border:2px solid #000}
  .mslot{width:var(--ms);height:var(--ms);background:#8b8b8b;box-shadow:inset 2px 2px 0 #373737,inset -2px -2px 0 #fff;display:grid;place-items:center;position:relative;border:0;padding:0;cursor:pointer;border-radius:0}
  .mslot.empty{cursor:default}
  /* subtítulo de seção dentro da aba (ocupa a linha inteira) */
  .msec{grid-column:1/-1;height:22px;align-self:end;display:flex;align-items:flex-end;padding:0 2px 3px;color:#3f3f3f;font-size:14px;line-height:1}
  .msec:first-child{height:18px}
  .mslot:not(.empty):hover::after{content:'';position:absolute;inset:2px;background:rgba(255,255,255,.42);pointer-events:none}
  /* variantes de mesma aparência: marca no canto inferior direito do ícone */
  .bmark{position:absolute;right:3px;bottom:3px;width:9px;height:9px;pointer-events:none;box-shadow:0 0 0 1.5px rgba(0,0,0,.55)}
  .bmark.inf{background:#b9c0bd;border-radius:50%;box-shadow:0 0 0 1.5px rgba(0,0,0,.55),inset 0 0 0 2px #5d6a64}
  .bmark.pet{background:#a08a62;border-radius:2px}
  #tip .tip-var{color:#f3c26b;font-size:12px}
  .mslot img{width:calc(var(--ms) - 8px);height:calc(var(--ms) - 8px);pointer-events:none}
  .mslot.cur{background:#9a9a9a}
  .mslot .k{display:none}
  .mchot{display:flex;margin-top:10px}
  .mchot .mslot.sel{box-shadow:inset 0 0 0 3px #fff,inset 2px 2px 0 5px #373737}
  .mchot .trash{margin-left:auto;margin-right:22px}
  .mchot .trash svg{width:60%;height:60%}
  .mslot.over{background:#a9c79a}
  .mchint{font:12px system-ui,sans-serif;color:#555;margin-top:7px;max-width:calc(var(--ms)*9 + 22px)}
  .mchint .coarse{display:none}
  @media (pointer:coarse){.mchint .fine{display:none}.mchint .coarse{display:inline}}
  #tip{position:fixed;display:none;pointer-events:none;z-index:40;background:rgba(16,0,16,.94);border:2px solid #2a0a5c;box-shadow:inset 0 0 0 1px #5a2bb0;border-radius:3px;padding:5px 8px;color:#fff;font:15px "Pixelify Sans",system-ui,sans-serif;line-height:1.3;max-width:280px}
  #tip .tip-alt{color:#ccc;font-size:13px}
  #tip .tip-id{color:#8f8f8f;font-size:12px}
  #tip .tip-mod{color:#6f6fff;font-style:italic;font-size:13px}
  body.carrying,body.carrying *{cursor:grabbing!important}
  #dragimg{position:fixed;width:40px;height:40px;pointer-events:none;transform:translate(-50%,-50%);display:none;z-index:50;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}
  body.dragging,body.dragging *{cursor:grabbing!important}
  #blockname .dir{font:500 13px var(--body);color:var(--muted)}
  #blockname .dir b{color:#f3c26b}
  .slot{position:relative;flex:none;width:48px;height:48px;border-radius:10px;border:2px solid transparent;background:rgba(241,245,243,.04);cursor:pointer;display:grid;place-items:center;padding:0}
  .slot:hover{background:rgba(241,245,243,.09)}
  .slot.sel{border-color:var(--accent);background:var(--accent-soft)}
  .slot img{width:44px;height:44px;pointer-events:none}
  .slot .k{position:absolute;top:2px;left:4px;font:700 10px var(--mono);color:var(--muted)}

  #help{position:fixed;right:14px;top:66px;max-height:calc(100vh - 250px);overflow:auto;padding:12px 14px;font-size:13px;line-height:1.55;width:280px}
  #help h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
  #help h3 button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:0}
  #help .line{display:flex;justify-content:space-between;gap:10px}
  #help .line span:first-child{color:var(--muted)}
  #help.min .body{display:none}

  #hint{position:fixed;left:50%;top:22%;transform:translateX(-50%);padding:10px 16px;font-size:15px;pointer-events:none;transition:opacity .4s}
  #toast{position:fixed;left:50%;top:18px;transform:translate(-50%,-80px);padding:10px 16px;font-size:14px;transition:transform .25s;z-index:5}
  #toast.show{transform:translate(-50%,0)}

  #tools{max-height:calc(100vh - 230px);overflow-y:auto;scrollbar-width:thin}
  /* Entrega C: em telas largas a barra de blocos não passa sob o painel, então ele usa a altura toda */
  @media (min-width:1000px){#tools{max-height:calc(100vh - 90px)}}
  @media (min-width:1000px) and (max-height:820px){
    #tools{top:70px;padding:6px 8px;gap:2px}
    #tools .btn{padding:4px 10px}
    #tools .ibtn{height:32px}
    #tools .row{padding:2px 6px}
    #tools select{padding:4px 8px}
    #tools .label{padding:0 4px}
  }
  .iconrow{display:flex;gap:4px;padding:0 2px}
  .ibtn{flex:1;display:grid;place-items:center;height:36px;border:1px solid transparent;background:rgba(241,245,243,.04);border-radius:9px;cursor:pointer;color:var(--text);font:700 14px var(--body)}
  .ibtn:hover{background:rgba(241,245,243,.09)}
  .ibtn svg{width:18px;height:18px}
  .ibtn.on{background:var(--accent-soft);border-color:rgba(53,208,127,.45);color:var(--mint)}
  .ibtn.mir.on{background:rgba(243,194,107,.16);border-color:rgba(243,194,107,.5);color:#f3c26b}
  .ibtn:disabled{opacity:.35;cursor:default}
  .btn.paint.on{background:rgba(110,170,255,.16);border-color:rgba(110,170,255,.45);color:#a9cdff}
  #wallrow{font-size:13px;color:var(--muted);justify-content:space-between}
  #wallrow input{width:64px;font:500 14px var(--body);padding:5px 6px;border-radius:8px;border:1px solid var(--line2);text-align:center}
  #status{position:fixed;left:50%;top:14px;transform:translateX(-50%);padding:8px 14px;font-size:14px;display:none;white-space:nowrap}
  #status.show{display:block}
  #status b{color:var(--accent)}

  .overlay{position:fixed;inset:0;background:rgba(20,25,30,.35);display:none;place-items:center;z-index:10}
  .overlay.open{display:grid}
  #packModal .box{padding:20px 22px;width:min(520px,92vw);max-height:90vh;overflow:auto;font-size:14px;line-height:1.5}
  #packModal h2{margin:0 0 8px;font-family:var(--display);font-size:20px}
  #packModal p{margin:0 0 10px}
  #packModal details{margin:0 0 14px;color:var(--muted)}
  #packModal summary{cursor:pointer;color:var(--text);font-weight:600}
  #packModal ul{margin:6px 0 0;padding-left:18px}
  #packModal code{font-size:12px;background:rgba(241,245,243,.08);padding:1px 5px;border-radius:5px;word-break:break-all}
  .filebtn{display:inline-block;background:var(--accent);color:#06140c;font-weight:600;padding:9px 16px;border-radius:9px;cursor:pointer}
  .filebtn input{display:none}
  #packList{margin:14px 0 6px;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}
  #packList .pf{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;font-size:13px;border-top:1px solid var(--panel-border)}
  #packList .pf:first-child{border-top:0}
  #packList .pf span:last-child{color:var(--muted);white-space:nowrap}
  #packList .none{color:var(--muted)}
  #packStatus{min-height:20px;font-size:13px;color:var(--mint);margin-bottom:12px}
  #packStatus.err{color:var(--danger)}
  #packModal .actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
  #packModal .actions button{padding:8px 14px;border-radius:9px;border:1px solid var(--line2);background:var(--elev);font:500 14px var(--body);cursor:pointer}
  #packModal #packRemove{color:var(--danger);margin-right:auto}
  #recoverModal .box{padding:20px;width:min(380px,90vw)}
  #recoverModal p{margin:0 0 16px;font-size:15px;line-height:1.45}
  #recoverModal .actions{display:flex;gap:8px;justify-content:flex-end}
  #recoverModal .actions button{padding:8px 14px;border-radius:9px;border:1px solid var(--line2);background:var(--elev);font:500 14px var(--body);cursor:pointer}
  #recoverModal .actions .primary{background:var(--accent);color:#06140c;border-color:var(--accent)}
  #modal{position:fixed;inset:0;background:rgba(20,25,30,.35);display:none;place-items:center;z-index:10}
  #modal.open{display:grid}
  #modal .box{padding:20px;width:min(340px,90vw)}
  #modal p{margin:0 0 16px;font-size:15px}
  #modal .actions{display:flex;gap:8px;justify-content:flex-end}
  #modal .actions button{padding:8px 14px;border-radius:9px;border:1px solid var(--line2);background:var(--elev);font:500 14px var(--body);cursor:pointer}
  #modal .actions .confirm{background:var(--danger);color:#fff;border-color:var(--danger)}

  @media (max-width:760px){
    :root{--ms:34px}
    .mctab{width:36px;height:32px}.mctab.on{height:38px}.mctab img{width:22px;height:22px}
    .mcwin{padding:8px}
    .hslot{width:31px;height:31px;border-radius:7px}
    .hslot.hand{margin-right:2px}
    .hslot.hand svg{width:18px;height:18px}
    .hslot img{width:25px;height:25px}
    .hslot .k{display:none}
    .hslot.more{margin-left:2px}
    .hslot.more svg{width:18px;height:18px}
    #hotbar{gap:2px;padding:4px}
    #blockname{font-size:14px}
    #blockname .dir{display:none}
    #help{display:none}
    #tools{width:auto;top:70px}
    #tools .btn span.t, #tools kbd, #tools .label, #tools .row{display:none}
    #tools .iconrow{flex-direction:column}
    #tools{max-height:calc(100vh - 200px)}
    #status{top:auto;bottom:100px;font-size:13px}
    #title .brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}
  #title .brand img{display:block}
  #title .wm{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.14em}
  #title .prod{font-family:var(--mono);font-size:11px;color:var(--mint);border:1px solid rgba(165,233,189,.35);border-radius:6px;padding:1px 6px;letter-spacing:.04em}
  #title .brand:focus-visible,.tbtn:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  #title h1{font-size:17px}
    #coords{display:none}
    .tbtn span{display:none}
    #layers{width:auto;right:10px;bottom:78px}
    #lyToggle span{display:none}
    #layers.on{width:228px}
    #title .brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}
  #title .brand img{display:block}
  #title .wm{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.14em}
  #title .prod{font-family:var(--mono);font-size:11px;color:var(--mint);border:1px solid rgba(165,233,189,.35);border-radius:6px;padding:1px 6px;letter-spacing:.04em}
  #title .brand:focus-visible,.tbtn:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  #title h1{white-space:nowrap;font-size:15px}
    #title .count{display:none}
    #layers.on #lyToggle span{display:inline}
    #title{gap:8px}
  }

  /* passos que só valem quando o arquivo vem em .zip (dentro do Claude) */
  .zip-only{display:none}
  body.dl-zip .zip-only{display:list-item}
  #packWarn{margin-top:10px;font-size:12.5px;color:var(--muted);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;max-height:180px;overflow:auto}
  #packWarn summary{cursor:pointer;color:var(--text);font-weight:600}
  #packWarn p{margin:8px 0 0;line-height:1.45}
  #packWarn b{color:var(--text);font-weight:600}
  #expCheck{margin-top:12px;font-size:13px;line-height:1.5;border-radius:10px}
  #expCheck:empty{display:none}
  #expCheck.ok{padding:8px 12px;color:var(--mint);background:var(--accent-soft);border:1px solid rgba(53,208,127,.25)}
  #expCheck.warn{padding:10px 12px;background:rgba(243,194,107,.08);border:1px solid rgba(243,194,107,.35);color:var(--text)}
  #expCheck.warn.flash{border-color:#f3c26b;box-shadow:0 0 0 2px rgba(243,194,107,.25)}
  #expCheck p{margin:0 0 4px;font-weight:600}
  #expCheck ul{margin:0;padding-left:18px;display:grid;gap:5px}
  #expCheck b{font-weight:600}
  #expCheck code{font:12px var(--mono);color:var(--muted)}
  .exp-note{color:var(--muted)}
  .exp{display:inline-block;font:600 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#f3c26b;border:1px solid rgba(243,194,107,.45);border-radius:999px;padding:3px 7px;margin-right:4px;vertical-align:1px}
  /* projeto aberto (link para My Projects) e estado do salvamento */
  #title .proj{display:flex;align-items:center;gap:7px;max-width:220px;padding:5px 9px;border-radius:8px;border:1px solid var(--line2);color:var(--text);text-decoration:none;font:500 13px var(--body)}
  #title .proj:hover{border-color:rgba(165,233,189,.35);background:rgba(165,233,189,.05)}
  #title .proj svg{width:15px;height:15px;flex:none;color:var(--muted)}
  #title .proj span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #saved{font:500 12px var(--body);color:var(--muted)}
  #saved:not(.busy):not(.err){color:var(--accent)}
  #saved.err{color:var(--danger);cursor:help}
  @media (max-width:760px){#title .proj{max-width:120px}}
  /* seleção e colagem: painel no topo, no estilo das demais ferramentas */
  .tpanel{position:fixed;left:50%;top:78px;transform:translateX(-50%);z-index:4;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px;max-width:calc(100vw - 28px)}
  .tpanel[hidden]{display:none}
  .tp-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .tp-head b{font:600 13px var(--display);letter-spacing:.02em;color:var(--mint)}
  .tpanel.paste .tp-head b{color:#f3c26b}
  .tp-head #spDims,.tp-head #ppDims{font:500 13px var(--mono);color:var(--text)}
  .tpanel .muted{color:var(--muted)}
  .tpanel .bad{color:var(--danger)}
  .tp-head b+span b,.tpanel #ppWhere b{font:500 12px var(--mono);color:var(--text)}
  .tp-coords{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted)}
  .tp-coords label{display:flex;align-items:center;gap:3px;font:500 11px var(--mono)}
  .tp-coords input{width:50px;padding:4px 5px;border-radius:6px;border:1px solid var(--line2);background:rgba(241,245,243,.04);color:var(--text);font:500 12px var(--mono)}
  .tp-coords input:focus{outline:none;border-color:rgba(165,233,189,.5)}
  #selPanel:not(.ready) .tp-coords{opacity:.45;pointer-events:none}
  .tp-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .tp-actions>button{border:1px solid var(--line2);background:rgba(241,245,243,.05);color:var(--text);border-radius:8px;padding:6px 10px;font:600 12.5px var(--body);cursor:pointer;display:inline-flex;align-items:center;gap:7px}
  .tp-actions>button:hover:not(:disabled){border-color:rgba(165,233,189,.35)}
  .tp-actions>button:disabled{opacity:.4;cursor:default}
  .tp-actions kbd{font:600 10.5px var(--mono);color:var(--muted);background:rgba(241,245,243,.08);border-radius:4px;padding:1px 4px}
  .tp-actions .seg{min-width:190px}
  .ibtn:disabled{opacity:.35;cursor:default}
  .ibtn:disabled:hover{background:rgba(241,245,243,.04)}
  @media (max-width:760px){.tpanel{top:auto;bottom:100px}}
  /* girar / espelhar na colagem */
  .tp-tf{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
  .tp-tf button{display:inline-flex;align-items:center;gap:5px;height:30px;min-width:32px;padding:0 7px;border:1px solid var(--line2);background:rgba(241,245,243,.04);color:var(--text);border-radius:7px;cursor:pointer;font:600 12px var(--body)}
  .tp-tf button svg{width:16px;height:16px}
  .tp-tf button:hover:not(:disabled){border-color:rgba(243,194,107,.5)}
  .tp-tf button:disabled{opacity:.35;cursor:default}
  .tp-tf .tf-sep{width:1px;height:20px;background:var(--line2);margin:0 3px}
  .tp-tf #ppTf{margin-left:6px;font-size:12px}
  .tp-warn{margin:0;max-width:640px;font-size:12px;line-height:1.45;color:#f3c26b}
  .tp-warn[hidden]{display:none}
  /* Preencher / Oco / Substituir: sub-painel dentro do painel da seleção */
  .tp-actions .tf-sep{width:1px;height:20px;background:var(--line2)}
  .op{border-top:1px solid var(--line2);padding-top:8px;display:flex;flex-direction:column;gap:8px;max-width:640px}
  .op[hidden]{display:none}
  .op-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
  .op-head b{font:600 13px var(--display);color:var(--text)}
  .op-head span{font:500 12px var(--mono)}
  .op-rows{display:flex;flex-direction:column;gap:6px}
  .op-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .op-row[hidden]{display:none}
  .op-l{min-width:62px;color:var(--muted);font-size:12px}
  .op-row .seg{min-width:200px}
  .op-row select,.op-row input[type=number]{padding:5px 7px;border-radius:7px;border:1px solid var(--line2);background:var(--elev);color:var(--text);font:500 12.5px var(--body);max-width:330px}
  .op-row input[type=number]{width:56px;font-family:var(--mono)}
  .op-row select[hidden]{display:none}
  .op-block{display:inline-flex;align-items:center;gap:7px;font-weight:600}
  .op-block img{width:22px;height:22px;image-rendering:pixelated}
  .op-block code{font:500 11.5px var(--mono);color:var(--muted)}
  .op-hint{font-size:11.5px}
  .op-check{display:flex;align-items:center;gap:7px;color:var(--text);font-size:12.5px;cursor:pointer}
  .op-check input{accent-color:var(--accent)}
  .op-sum{margin:0;font-size:13px;color:var(--text)}
  .op-sum b{font-family:var(--mono)}
  .op-sum .bad{color:var(--danger)}
  .tp-actions>button.primary{background:var(--accent);border-color:var(--accent);color:#06140c}
  .tp-actions>button.primary:hover:not(:disabled){background:#4bda8f}

/* ---- Pacote de recursos (3C): indicador na barra de cima e escolha do pacote ---- */
#title .pk-chip{display:inline-flex;align-items:center;gap:6px;font:500 11.5px var(--mono);color:var(--muted);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:3px 9px 3px 7px;cursor:pointer;white-space:nowrap;max-width:240px}
#title .pk-chip span{overflow:hidden;text-overflow:ellipsis}
#title .pk-chip i{width:7px;height:7px;border-radius:2px;background:var(--mint);flex:none}
#title .pk-chip.jar i{background:var(--accent)}
#title .pk-chip.warn i{background:#E8B44A}
#title .pk-chip.busy i{opacity:.4}
#title .pk-chip:hover{color:var(--text);border-color:var(--accent)}
#title .pk-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pk-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}
.pk-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--elev);color:var(--text);font:400 13px var(--body);cursor:pointer}
.pk-opt b{font-weight:600;font-size:14px}
.pk-opt span{color:var(--muted);font-size:12.5px;line-height:1.35}
.pk-opt.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pk-opt.on b::after{content:"ativo";margin-left:8px;font:500 10.5px var(--mono);color:var(--accent);letter-spacing:.04em}
.pk-opt:disabled{opacity:.5;cursor:default}
.pk-note{font-size:13px;color:var(--muted);border-left:2px solid var(--line2);padding:2px 0 2px 10px}
.pk-note.warn{border-left-color:#E8B44A;color:var(--text)}
#packModal h3{margin:16px 0 6px;font-family:var(--display);font-size:15px}
#packList .pf em{font-style:normal;color:var(--muted);font-size:12px;margin-left:6px}
#packList .pf s{color:var(--muted);opacity:.7;margin-left:4px}
.pk-store{font-size:12.5px;color:var(--muted);margin:-4px 0 12px}
@media (max-width:760px){#title .pk-chip{max-width:130px}.pk-opts{grid-template-columns:1fr}}

/* ---- Idioma (seletor PT | EN no painel Controles) ---- */
#help h3 .h3r{display:inline-flex;align-items:center;gap:10px}
.lang-switch{display:inline-flex;border:1px solid var(--line2);border-radius:7px;overflow:hidden}
#help .lang-switch button,.lang-switch button{border:0;background:transparent;color:var(--muted);font:500 11px var(--mono);padding:2px 7px;cursor:pointer;letter-spacing:.04em}
#help .lang-switch button.on,.lang-switch button.on{background:var(--accent-soft);color:var(--text)}
.lang-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
