.te-wrap{max-width:920px;margin:0 auto}.te-opts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8em 1.4em;padding:.85em 1.1em;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:.8em}.te-field{display:flex;flex-direction:column;gap:.2em;flex:1;min-width:180px}.te-field-label{font-size:.78em;font-weight:600;color:var(--color-sub)}.te-field-label small{font-weight:400}input.te-aes-input,select.te-select{padding:.42em .7em;font-size:.88em;font-family:inherit;border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--color-text-dark);outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box;width:100%}input.te-aes-input:focus,select.te-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.te-aes-row{padding:.65em 1.1em;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:.8em}.te-panels{display:grid;grid-template-columns:1fr 1fr;gap:.75em;margin-bottom:.6em}.te-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-white);overflow:hidden;display:flex;flex-direction:column}.te-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5em;padding:.5em .85em;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.te-panel-title{font-size:.82em;font-weight:700;color:var(--color-heading)}.te-panel-title small{font-weight:400;color:var(--color-sub)}.te-panel .te-textarea{flex:1;width:100%;min-height:240px;padding:.8em 1em;border:none;outline:0;background:0 0;color:var(--color-text-dark);font-size:.92em;font-family:inherit;line-height:1.65;resize:vertical;box-sizing:border-box;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.te-panel .te-textarea:focus{background:var(--color-bg-white);box-shadow:inset 0 0 0 2px var(--color-primary)}.te-panel .te-textarea::placeholder{color:var(--color-sub);opacity:.6}.te-output{flex:1;min-height:240px;padding:.8em 1em;background:var(--color-bg-input-alt);color:var(--color-text-dark);font-size:.88em;font-family:'Courier New',monospace;line-height:1.65;white-space:pre-wrap;word-break:break-all;overflow-y:auto;box-sizing:border-box}.te-output:empty::before{content:attr(placeholder);color:var(--color-sub);opacity:.6;font-style:italic;font-family:inherit}.te-panel-foot{display:flex;align-items:center;flex-wrap:wrap;gap:.5em;padding:.6em .8em;border-top:1px solid var(--color-border-light);background:var(--color-bg);flex-shrink:0}button.te-btn{display:inline-flex;align-items:center;gap:.4em;padding:.5em 1.1em;font-size:.88em;font-weight:600;font-family:inherit;border-radius:var(--radius-md);cursor:pointer;line-height:1;transition:background var(--transition-base),box-shadow var(--transition-fast),transform .1s}button.te-btn-primary{border:none;background:var(--color-primary);color:#fff!important;box-shadow:var(--shadow-btn)}button.te-btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-btn-hover)}button.te-btn-primary:active{background:var(--color-primary-active);transform:scale(.97)}button.te-btn-secondary{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text-dark)!important;box-shadow:var(--shadow-xs)}button.te-btn-secondary:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff!important;box-shadow:var(--shadow-btn-hover)}button.te-btn-secondary:active{transform:scale(.97)}button.te-btn-ghost{border:1px solid var(--color-border-light);background:0 0;color:var(--color-sub)!important;box-shadow:none}button.te-btn-ghost:hover{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)!important;box-shadow:none;transform:none}button.te-btn-ghost:active{transform:scale(.97)}button.te-btn-ghost.success{background:var(--color-primary);border-color:var(--color-primary);color:#fff!important}@media (max-width:680px){.te-panels{grid-template-columns:1fr}.te-opts{flex-direction:column}.te-field{min-width:0}}