.cipher-shell{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:24px;}
  .toggle-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
  .mode-toggle, .direction-toggle{display:flex;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:3px;}
  .toggle-btn{font-family:var(--mono);font-size:12px;font-weight:700;padding:7px 14px;border-radius:5px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;}
  .toggle-btn.active{background:var(--amber);color:#0B0E14;}

  label{display:block;font-family:var(--mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
  textarea, input[type="text"], input[type="number"]{
    width:100%;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;
    font-family:var(--mono);font-size:14px;color:var(--text);margin-bottom:16px;
  }
  textarea{resize:vertical;min-height:70px;}
  textarea:focus, input:focus{outline:none;border-color:var(--amber);}

  .key-input-row{max-width:200px;}
  .output-box{background:var(--bg-panel-2);border:1px solid var(--teal);border-radius:8px;padding:14px 16px;font-family:var(--mono);font-size:15px;color:var(--teal);min-height:24px;word-break:break-word;white-space:pre-wrap;}
  .output-box.empty::before{content:"Output will appear here...";color:var(--text-muted);font-style:italic;}

  .step-breakdown-wrap{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border);}
  .step-breakdown-label{font-family:var(--mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
  .step-breakdown{display:flex;flex-wrap:wrap;gap:8px;}
  .step-chip{font-family:var(--mono);font-size:12.5px;background:var(--bg-panel-2);border:1px solid var(--amber-dim);border-radius:6px;padding:5px 9px;color:var(--text);white-space:nowrap;}
  .step-chip.unchanged{color:var(--text-muted);border-style:dashed;border-color:var(--border);opacity:.75;font-style:italic;}
  .step-truncated-note{font-family:var(--mono);font-size:11.5px;color:var(--text-muted);width:100%;margin-top:4px;}