@charset "UTF-8";
.calc-display input,.tool-tabs a{border:1px solid var(--border);backdrop-filter:blur(4px)}.calc-btn.submit,.calc-display input:focus,.tool-tabs a:hover{border-color:var(--accent)}.tool-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;gap:.75rem;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:2rem}.tool-tabs a{display:inline-block;font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1.2rem;border-radius:var(--r);color:var(--text);-webkit-transition:border-color .2s,color .2s,background .2s;transition:border-color .2s,color .2s,background .2s;text-decoration:none;background:rgba(22,22,22,.6)}.tool-tabs a:hover{color:var(--accent);text-decoration:none}.calc-btn:hover,.tool-tabs a.active{border-color:var(--accent);color:var(--accent)}

/* ---- Rechner ---- */
.calc-wrap{max-width:420px;margin-left:auto;margin-right:auto}
.calc-display input{width:100%;background:rgba(22,22,22,.9);border-radius:var(--r);padding:1.1rem 1.2rem;color:var(--heading);font-family:var(--mono);font-size:1.6rem;text-align:right;outline:0;transition:border-color .2s}
.calc-btn,.calc-history details{border:1px solid var(--border);font-family:var(--mono)}
.calc-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:1rem}
.calc-btn{font-size:1.15rem;padding:1rem 0;border-radius:var(--r);color:var(--text);background:rgba(22,22,22,.6);cursor:pointer;transition:border-color .2s,color .2s,background .2s;backdrop-filter:blur(4px)}
.calc-history details,.picker-value{padding:.6rem .9rem;backdrop-filter:blur(4px);background:rgba(22,22,22,.6)}
.calc-btn.op{color:var(--accent)}
.calc-btn.reset{color:#f07070}
.calc-btn.submit{background:var(--accent);color:var(--bg);font-size:1.5rem;padding:0}
.calc-btn.submit:hover{opacity:.85}
.calc-history{margin-top:1.2rem}
.calc-history details{border-radius:var(--r);font-size:.8rem;color:var(--dim)}
.calc-history summary{cursor:pointer;color:var(--text);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.calc-history .entry{display:block;padding:.15rem 0;color:var(--text)}
.calc-hint{font-family:var(--mono);font-size:.68rem;margin-top:1rem;letter-spacing:.04em;color:var(--dim)}

/* ---- Color-Picker ---- */
.picker-wrap{max-width:none}
.picker-top{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;margin-bottom:1.5rem;align-items:start}
.picker-swatch-col{display:flex;flex-direction:column;gap:.6rem}
.picker-swatch-col input[type=color]{appearance:none;width:100%;height:120px;border:1px solid var(--border);border-radius:var(--r);background:0 0;cursor:pointer;padding:0}
.picker-swatch-col input[type=color]::-webkit-color-swatch-wrapper{padding:4px}
.picker-swatch-col input[type=color]::-webkit-color-swatch{border:none;border-radius:var(--r)}
.picker-preview{height:120px;border:1px solid var(--border);border-radius:var(--r)}
.picker-right-col{display:flex;flex-direction:column;gap:.75rem}
.picker-manual{display:flex;align-items:center;gap:.75rem;padding:.55rem .9rem;background:rgba(22,22,22,.6);border:1px solid var(--border);border-radius:var(--r);backdrop-filter:blur(4px)}
.picker-manual-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);flex-shrink:0;width:72px}
#hexInput{flex:1;min-width:0;font-family:var(--mono);font-size:.95rem;color:var(--heading);background:transparent;border:none;outline:0}
#hexInput.invalid{color:#f07070}
.picker-values{display:flex;flex-direction:column;gap:.45rem}
.picker-value{display:flex;align-items:center;gap:.75rem;border-radius:var(--r);border:1px solid var(--border);padding:.65rem .9rem;backdrop-filter:blur(4px);background:rgba(22,22,22,.6);cursor:pointer;transition:border-color .15s}
.picker-value:hover{border-color:var(--accent)}
.picker-value .fmt{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--dim);width:42px;flex-shrink:0}
.picker-value .val{font-family:var(--mono);font-size:.92rem;color:var(--heading);flex:1}
.picker-value button{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .65rem;border:1px solid var(--border);border-radius:var(--r);background:0 0;cursor:pointer;color:var(--dim);transition:color .2s,border-color .2s}
.picker-value button:hover{color:var(--accent);border-color:var(--accent)}
.picker-value button.copied{color:#4caf50;border-color:#4caf50}
.picker-palette-section{margin-bottom:.75rem}
.picker-palette-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.picker-palette{display:flex;flex-wrap:wrap;gap:.35rem}
.picker-swatch{width:32px;height:32px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s;flex-shrink:0}
.picker-swatch:hover{transform:scale(1.18);border-color:rgba(255,255,255,.4)}
.picker-hint{font-family:var(--mono);font-size:.68rem;color:var(--dim);margin-top:.25rem;letter-spacing:.04em}
@media(max-width:640px){.picker-top{grid-template-columns:1fr}.picker-swatch-col input[type=color]{height:80px}.picker-preview{height:80px}}

/* ---- Split-Pane System (JSON, Base64, UUID, Hash, JWT, Regex, XML, CSS) ---- */
.split-pane{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.split-toolbar{display:flex;align-items:center;gap:.35rem;padding:.4rem .65rem;background:rgba(22,22,22,.9);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}
.split-toolbar-spacer{flex:1}
.split-body{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0;overflow:hidden}
.split-body--single{grid-template-columns:1fr}
.split-body--jwt{grid-template-columns:1fr 1fr 1fr}
.split-col{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.split-col--wide{grid-column:span 1}
.split-col+.split-col{border-left:1px solid var(--border)}
.split-col-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:.28rem .75rem;background:rgba(22,22,22,.5);border-bottom:1px solid var(--border);flex-shrink:0}
.split-area{flex:1;resize:none;min-height:0;width:100%;box-sizing:border-box;font-family:var(--mono);font-size:.82rem;line-height:1.55;color:var(--heading);background:rgba(12,12,12,.92);border:none;outline:0;padding:.85rem 1rem;tab-size:2;-moz-tab-size:2;transition:box-shadow .15s}
.split-area:focus{box-shadow:inset 0 0 0 2px var(--accent)}
.split-area[readonly]{color:var(--text)}
.split-out{flex:1;width:100%;box-sizing:border-box;font-family:var(--mono);font-size:.82rem;line-height:1.55;color:var(--heading);background:rgba(12,12,12,.6);border:none;padding:.85rem 1rem;white-space:pre-wrap;word-break:break-word;overflow-y:auto;margin:0}
.split-out--grow{min-height:0}
.split-out--half{min-height:0}
.split-out mark{background:var(--accent);color:var(--bg);border-radius:2px}
@media(max-width:768px){
  .split-body,.split-body--jwt{grid-template-columns:1fr}
  .split-col+.split-col{border-left:none;border-top:1px solid var(--border)}
  .split-pane{min-height:500px}
}

/* ---- Gemeinsame Control-Elemente ---- */
.tool-btn{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.38rem .82rem;border:1px solid var(--border);border-radius:var(--r);background:rgba(40,40,40,.7);color:var(--text);cursor:pointer;transition:border-color .2s,color .2s;backdrop-filter:blur(4px)}
.tool-btn:hover{border-color:var(--accent);color:var(--accent)}
.tool-status{font-family:var(--mono);font-size:.66rem;color:var(--dim)}
.tool-status.ok{color:#4caf50}
.tool-status.err{color:#f07070}
.tool-input,.tool-flags,.tool-num,.tool-select{font-family:var(--mono);font-size:.82rem;color:var(--heading);background:rgba(22,22,22,.9);border:1px solid var(--border);border-radius:var(--r);padding:.32rem .55rem;outline:0;transition:border-color .2s}
.tool-input{flex:1;min-width:120px}
.tool-input:focus,.tool-flags:focus,.tool-num:focus,.tool-select:focus{border-color:var(--accent)}
.tool-flags{width:70px}
.tool-num{width:64px}
.tool-fix{font-family:var(--mono);color:var(--accent);font-size:1rem}
.tool-inline{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}
.tool-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.3rem}

/* Legacy tool-pane / tool-area (Markdown, html2md) */
.tool-pane{max-width:none}
.tool-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.tool-area{width:100%;box-sizing:border-box;min-height:160px;resize:vertical;font-family:var(--mono);font-size:.82rem;line-height:1.5;color:var(--heading);background:rgba(22,22,22,.9);border:1px solid var(--border);border-radius:var(--r);padding:.7rem .85rem;outline:0;transition:border-color .2s;backdrop-filter:blur(4px)}
.tool-area:focus{border-color:var(--accent)}
.tool-area[readonly]{color:var(--text)}
.tool-area+.tool-area{margin-top:.8rem}
.tool-out{margin-bottom:32px;width:100%;box-sizing:border-box;margin-top:.8rem;font-family:var(--mono);font-size:.82rem;line-height:1.55;color:var(--heading);background:rgba(22,22,22,.6);border:1px solid var(--border);border-radius:var(--r);padding:.7rem .85rem;white-space:pre-wrap;word-break:break-word;overflow:auto;backdrop-filter:blur(4px)}

/* ---- Markdown Editor ---- */
.md-pane{max-width:none}
.md-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;padding:.45rem .6rem;background:rgba(22,22,22,.8);border:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;border-bottom:none}
.md-tb-btn{font-family:var(--mono);font-size:.72rem;padding:.28rem .52rem;border:1px solid var(--border);border-radius:3px;background:rgba(40,40,40,.8);color:var(--text);cursor:pointer;line-height:1.2;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}
.md-tb-btn:hover{border-color:var(--accent);color:var(--accent)}
.md-tb-italic{font-style:italic}
.md-tb-strike{text-decoration:line-through}
.md-tb-mono{font-family:var(--mono)}
.md-tb-sep{width:1px;height:1.1rem;background:var(--border);flex-shrink:0;margin:0 .15rem;align-self:center}
.md-tb-sel{font-family:var(--mono);font-size:.72rem;padding:.28rem .45rem;border:1px solid var(--border);border-radius:3px;background:rgba(40,40,40,.8);color:var(--text);cursor:pointer;outline:0;transition:border-color .15s}
.md-tb-sel:focus{border-color:var(--accent)}
.md-split-lg{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:0 0 var(--r) var(--r);overflow:hidden}
.md-editor-col,.md-preview-col{display:flex;flex-direction:column}
.md-preview-col{border-left:1px solid var(--border)}
.md-col-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:.28rem .55rem;background:rgba(22,22,22,.5);border-bottom:1px solid var(--border)}
.md-area-lg{border:none;border-radius:0;min-height:460px;resize:none;flex:1;outline:0}
.md-area-lg:focus{box-shadow:inset 0 0 0 2px var(--accent)}
.md-preview-lg{border:none;border-radius:0;min-height:460px;margin-top:0;flex:1;overflow-y:auto}
.md-preview{margin-top:0;white-space:normal;min-height:120px}
.md-preview h1,.md-preview h2,.md-preview h3{font-family:var(--mono);color:var(--heading);margin:.4em 0;line-height:1.2}
.md-preview p{margin:.5em 0}
.md-preview code{background:rgba(127,127,127,.18);padding:.1em .3em;border-radius:3px;font-size:.9em}
.md-preview pre{background:rgba(12,12,12,.9);border:1px solid var(--border);padding:.8rem 1rem;border-radius:var(--r);overflow-x:auto;margin:.6em 0}
.md-preview pre code{background:none;padding:0;font-size:.82rem;color:#a8d8a8;display:block;white-space:pre}
.md-preview ul,.md-preview ol{margin:.5em 0;padding-left:1.4em}
.md-preview a{color:var(--accent)}
.md-preview blockquote{border-left:3px solid var(--accent);padding:.35em .9em;margin:.6em 0;background:rgba(38,166,154,.06);color:var(--dim)}
.md-preview table{border-collapse:collapse;width:100%;margin:.6em 0}
.md-preview th,.md-preview td{border:1px solid var(--border);padding:.3em .6em;font-family:var(--mono);font-size:.8em}
.md-preview th{background:rgba(38,166,154,.1);color:var(--heading)}
@media(max-width:700px){.md-split-lg{grid-template-columns:1fr}.md-preview-col{border-left:none;border-top:1px solid var(--border)}.md-area-lg,.md-preview-lg{min-height:200px}}

/* ---- Tic-Tac-Toe ---- */
.ttt-wrap{max-width:380px;margin-left:auto;margin-right:auto;text-align:center}
.ttt-status{font-family:var(--mono);font-size:.9rem;color:var(--text);margin-bottom:1.3rem;min-height:1.3em}
.ttt-status b{font-weight:700}
.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.ttt-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:2.8rem;font-weight:600;line-height:1;border:1px solid var(--border);border-radius:var(--r);background:rgba(22,22,22,.6);color:var(--text);cursor:pointer;transition:border-color .2s,background .2s,color .2s;backdrop-filter:blur(4px)}
.ttt-cell:hover:not(:disabled){border-color:var(--accent)}
.ttt-cell:disabled{cursor:default}
.ttt-cell[data-mark=x]{color:#e8833a}
.ttt-cell[data-mark=o]{color:var(--accent)}
.ttt-cell.win{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.ttt-cell.win[data-mark=x],.ttt-cell.win[data-mark=o]{color:var(--bg)}
.ttt-actions{margin-top:1.3rem;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}
.ttt-reset{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.2rem;border:1px solid var(--border);border-radius:var(--r);background:rgba(22,22,22,.6);color:var(--text);cursor:pointer;transition:border-color .2s,color .2s;backdrop-filter:blur(4px)}
.ttt-reset:hover{border-color:var(--accent);color:var(--accent)}
.ttt-stats{display:flex;justify-content:center;gap:2rem;margin-top:1.8rem;font-family:var(--mono)}
.ttt-stat{display:flex;flex-direction:column;gap:.3rem}
.ttt-stat-label{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ttt-stat span:last-child{color:var(--heading);font-size:1.3rem}
.ttt-x{color:#e8833a}
.ttt-o{color:var(--accent)}
.ttt-opt-label{font-family:var(--mono);font-size:.68rem;color:var(--dim);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;user-select:none}
.ttt-opt-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent)}

/* ---- HTML Visual Editor ---- */
.hte-wrap{display:grid;grid-template-columns:210px 1fr 230px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;min-height:500px;background:rgba(0,0,0,.1)}
.hte-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;background:rgba(12,12,12,.7)}
.hte-search{font-family:var(--mono);font-size:.75rem;padding:.5rem .65rem;border:none;border-bottom:1px solid var(--border);background:rgba(22,22,22,.95);color:var(--heading);outline:0;width:100%;box-sizing:border-box;transition:box-shadow .15s}
.hte-search:focus{box-shadow:inset 0 0 0 1px var(--accent)}
.hte-palette{flex:1;overflow-y:auto}
.hte-cat-name{font-family:var(--mono);font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);padding:.55rem .6rem .2rem}
.hte-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;cursor:grab;font-family:var(--mono);font-size:.72rem;color:var(--text);border-left:2px solid transparent;transition:background .12s,border-color .12s,color .12s;user-select:none}
.hte-item:hover{background:rgba(255,255,255,.07);border-left-color:var(--accent);color:var(--heading)}
.hte-item:active{cursor:grabbing}
.hte-item-icon{font-size:.62rem;color:var(--accent);width:18px;text-align:center;flex-shrink:0;font-style:normal}
.hte-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hte-no-results{font-family:var(--mono);font-size:.7rem;color:var(--dim);padding:.8rem .6rem}
.hte-center{display:flex;flex-direction:column;overflow:hidden}
.hte-canvas{flex:1;padding:.65rem;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;min-height:0;background:rgba(0,0,0,.12)}
.hte-empty{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.75rem;color:var(--dim);text-align:center;border:2px dashed var(--border);border-radius:var(--r);padding:2.5rem 1rem;line-height:1.7;flex:1}
.hte-block{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;background:rgba(22,22,22,.75);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;transition:border-color .15s,background .15s;user-select:none}
.hte-block:hover{border-color:rgba(38,166,154,.5)}
.hte-block.selected{border-color:var(--accent);background:rgba(38,166,154,.09)}
.hte-block.drag-over{border-color:var(--accent);border-style:dashed;background:rgba(38,166,154,.05)}
.hte-block.dragging{opacity:.35}
.hte-block-drag{cursor:grab;color:var(--dim);font-size:.9rem;line-height:1;padding:.1rem .15rem;flex-shrink:0}
.hte-block-drag:active{cursor:grabbing}
.hte-block-info{flex:1;min-width:0}
.hte-block-tag{font-family:var(--mono);font-size:.62rem;color:var(--accent);letter-spacing:.05em;display:block;margin-bottom:.1rem}
.hte-block-preview{font-family:var(--mono);font-size:.68rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hte-block-del{background:none;border:none;color:var(--dim);cursor:pointer;font-size:.95rem;padding:.1rem .3rem;border-radius:3px;transition:color .12s,background .12s;flex-shrink:0;line-height:1}
.hte-block-del:hover{color:#f07070;background:rgba(240,112,112,.12)}
.hte-props{border-left:1px solid var(--border);background:rgba(12,12,12,.7);overflow-y:auto}
.hte-props-ph{font-family:var(--mono);font-size:.72rem;color:var(--dim);padding:1.2rem .75rem;text-align:center}
.hte-props-inner{padding:.6rem}
.hte-props-tag{font-family:var(--mono);font-size:.7rem;color:var(--accent);font-weight:700;margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.hte-prop-row{margin-bottom:.5rem}
.hte-prop-label{display:block;font-family:var(--mono);font-size:.53rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:.18rem}
.hte-prop-input{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:.74rem;color:var(--heading);background:rgba(22,22,22,.95);border:1px solid var(--border);border-radius:3px;padding:.3rem .48rem;outline:0;transition:border-color .15s}
.hte-prop-input:focus{border-color:var(--accent)}
.hte-prop-textarea{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:.71rem;color:var(--heading);background:rgba(22,22,22,.95);border:1px solid var(--border);border-radius:3px;padding:.3rem .48rem;outline:0;min-height:72px;resize:vertical;transition:border-color .15s}
.hte-prop-textarea:focus{border-color:var(--accent)}
.hte-prop-del{width:100%;margin-top:.65rem}
.hte-bottom{margin-top:1rem}
@media(max-width:960px){.hte-wrap{grid-template-columns:180px 1fr}.hte-props{grid-column:1 / -1;border-left:none;border-top:1px solid var(--border)}}
@media(max-width:640px){.hte-wrap{grid-template-columns:1fr;min-height:280px}.hte-sidebar{max-height:180px;border-right:none;border-bottom:1px solid var(--border)}.hte-props{border-top:1px solid var(--border)}}

/* ---- Webtools App Layout ---- */
.wt-page{height:100vh;overflow:hidden;display:flex;flex-direction:column}
.wt-page > nav{flex-shrink:0}
.wt-page > main.wt-main{flex:1;min-height:0}
.main{padding: none;}
.wt-main{display:flex;overflow:hidden;padding:0px}
.wt-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;background:rgba(10,10,10,.92);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden}
.wt-sidebar::-webkit-scrollbar{display:none}
.wt-sidebar-hd{padding:.85rem 1rem .6rem;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}
.wt-sidebar-brand{font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.wt-nav{display:flex;flex-direction:column;padding:.35rem 0;position:static;height:auto;background:none;border:none;backdrop-filter:none;justify-content:flex-start;padding-left:0;padding-right:0;align-items:stretch}
.wt-nav-item{display:flex;align-items:center;gap:.55rem;padding:.5rem .9rem;font-family:var(--mono);font-size:.72rem;color:var(--dim);text-decoration:none;border-left:2px solid transparent;transition:background .12s,border-color .15s,color .15s;white-space:nowrap;overflow:hidden}
.wt-nav-item:hover{background:rgba(255,255,255,.04);color:var(--text);text-decoration:none}
.wt-nav-item.active{color:var(--accent);border-left-color:var(--accent);background:rgba(38,166,154,.07)}
.wt-nav-ico{font-style:normal;font-family:var(--mono);font-size:.65rem;color:inherit;width:22px;text-align:center;flex-shrink:0}
.wt-nav-lbl{overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:pre-wrap;word-wrap:break-word}
.wt-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.wt-content-hd{padding:1.1rem 1.75rem .7rem;border-bottom:1px solid var(--border);flex-shrink:0}
.wt-content-hd .label{margin-bottom:.35rem}
.wt-content-hd h1{font-size:clamp(1.1rem,2.5vw,1.6rem)}
.wt-content-bd{flex:1;overflow-y:auto;padding:1.5rem 1.75rem 0;min-height:0;display:flex;flex-direction:column}
.wt-content-bd>footer{margin-top:auto;padding-top:2rem;margin-left:-1.75rem;margin-right:-1.75rem;margin-bottom:0;min-width:0;box-sizing:border-box;overflow:hidden}
.tool-tabs{display:none!important}

/* split-pane braucht volle Höhe im content-bd */
.wt-content-bd>.split-pane{flex:1;margin-bottom:0}
.wt-content-bd>.split-pane+footer{margin-top:.5rem}

/* ---- Sidebar Collapse (Desktop) ---- */
.wt-sidebar-toggle{background:none;border:none;color:var(--dim);cursor:pointer;padding:.2rem .35rem;border-radius:var(--r);transition:color .15s;flex-shrink:0;line-height:1}
.wt-sidebar-toggle:hover{color:var(--accent)}
.wt-sidebar-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.wt-main.wt-collapsed .wt-sidebar{width:44px}
.wt-main.wt-collapsed .wt-sidebar-brand{display:none}
.wt-main.wt-collapsed .wt-nav-item{padding:.5rem;justify-content:center;gap:0;border-left:2px solid transparent}
.wt-main.wt-collapsed .wt-nav-lbl{display:none}
.wt-main.wt-collapsed .wt-nav-ico{width:auto;font-size:.72rem}
.wt-main.wt-collapsed .wt-sidebar-toggle .icon-collapse{display:none}
.wt-main.wt-collapsed .wt-sidebar-toggle .icon-expand{display:block}
.wt-sidebar-toggle .icon-expand{display:none}

@media(max-width:768px){
  body.wt-page{height:auto;overflow-y:auto}
  .wt-page > main.wt-main{flex:none;min-height:calc(100svh - 56px);overflow:visible;flex-direction:column}
  .wt-content{overflow:visible;flex:1;display:flex;flex-direction:column}
  .wt-content-bd{overflow-y:visible;flex:1;padding:.9rem 1rem 0;display:flex;flex-direction:column}
  .wt-content-bd>footer{margin-top:auto;padding-top:2rem;margin-left:-1rem;margin-right:-1rem;margin-bottom:0}
  .wt-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;flex-shrink:0;max-height:none}
  .wt-sidebar-hd{display:none}
  .wt-nav{flex-direction:row;padding:0}
  .wt-nav-item{flex-direction:column;gap:.12rem;padding:.5rem .2rem .2rem .2rem;border-left:none;border-bottom:2px solid transparent;min-width:64px;align-items:center;text-align:center;font-size:.58rem;min-height:68px;display:flex;justify-content:center}
  .wt-nav-item.active{border-left-color:transparent;border-bottom-color:var(--accent)}
  .wt-nav-ico{font-size:.72rem;width:auto}
  .wt-content-hd{padding:0 16px 24px 16px}
  .wt-sidebar-toggle{display:none}
  .wt-content-bd>.split-pane{min-height:520px}
}

/* ---- HTML Code Editor (hte2) ---- */
.hte2-wrap{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;overflow:hidden;min-height:520px}
.hte2-editor{display:flex;flex-direction:column;border-right:1px solid var(--border)}
.hte2-tabs{display:flex;align-items:center;gap:.25rem;padding:.3rem .5rem;background:rgba(22,22,22,.9);border-bottom:1px solid var(--border);flex-shrink:0}
.hte2-tab{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;padding:.2rem .6rem;border:1px solid transparent;border-radius:3px;background:none;color:var(--dim);cursor:pointer;transition:color .15s,border-color .15s}
.hte2-tab:hover{color:var(--text)}
.hte2-tab.active{color:var(--accent);border-color:var(--accent)}
.hte2-tab-spacer{flex:1}
.hte2-code{flex:1;resize:none;min-height:0;font-family:var(--mono);font-size:.82rem;line-height:1.55;color:var(--heading);background:rgba(12,12,12,.95);border:none;outline:0;padding:.8rem 1rem;tab-size:2;-moz-tab-size:2}
.hte2-hidden{display:none!important}
.hte2-preview-area{display:flex;flex-direction:column}
.hte2-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:.3rem .65rem;background:rgba(22,22,22,.9);border-bottom:1px solid var(--border);flex-shrink:0}
.hte2-preview-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.hte2-fs-btn{background:none;border:none;cursor:pointer;color:var(--dim);font-size:.9rem;padding:0 .2rem;transition:color .15s;line-height:1}
.hte2-fs-btn:hover{color:var(--accent)}
.hte2-preview{flex:1;border:none;background:#fff;min-height:0}
.hte2-preview-area.hte2-fs{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column}
.hte2-preview-area.hte2-fs .hte2-preview{flex:1}
.hte2-inspector{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);background:rgba(12,12,12,.5)}
.hte2-insp-col{padding:.55rem .85rem}
.hte2-insp-col+.hte2-insp-col{border-left:1px solid var(--border)}
.hte2-insp-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.35rem}
.hte2-insp-chips{display:flex;flex-wrap:wrap;gap:.25rem;min-height:1.4rem}
.hte2-chip{font-family:var(--mono);font-size:.6rem;padding:.1rem .35rem;border-radius:2px}
.hte2-chip-tag{background:rgba(38,166,154,.12);color:#4dd0c8;border:1px solid rgba(38,166,154,.25)}
.hte2-chip-id{background:rgba(240,160,80,.1);color:#f0a050;border:1px solid rgba(240,160,80,.25)}
.hte2-chip-class{background:rgba(160,100,220,.1);color:#b888e8;border:1px solid rgba(160,100,220,.25)}
.hte2-insp-empty{font-family:var(--mono);font-size:.65rem;color:var(--muted)}
@media(max-width:900px){.hte2-wrap{grid-template-columns:1fr;min-height:320px}.hte2-editor{border-right:none;border-bottom:1px solid var(--border);min-height:220px}.hte2-inspector{grid-template-columns:1fr}.hte2-insp-col+.hte2-insp-col{border-left:none;border-top:1px solid var(--border)}}

/* ---- Image Optimizer ---- */
.imgopt-wrap{max-width:none}
.imgopt-upload-area{border:2px dashed var(--border);border-radius:var(--r);padding:3rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:rgba(22,22,22,.6);backdrop-filter:blur(4px)}
.imgopt-upload-area:hover,.imgopt-upload-area.drag{border-color:var(--accent);background:rgba(38,166,154,.05)}
.imgopt-upload-area.has-file{border-style:solid;border-color:var(--accent)}
.imgopt-upload-inner{display:flex;flex-direction:column;gap:.55rem;align-items:center}
.imgopt-upload-icon{font-size:2.2rem;color:var(--dim)}
.imgopt-upload-txt{font-family:var(--mono);font-size:.9rem;color:var(--text)}
.imgopt-upload-hint{font-family:var(--mono);font-size:.68rem;color:var(--dim)}
.imgopt-browse{font-family:var(--mono);font-size:inherit;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}
.imgopt-result{margin-top:1.5rem}
.imgopt-info{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding:.7rem .9rem;background:rgba(22,22,22,.6);border:1px solid var(--border);border-radius:var(--r);backdrop-filter:blur(4px)}
.imgopt-stat{font-family:var(--mono);font-size:.75rem;color:var(--text)}
.imgopt-stat b{color:var(--heading)}
.imgopt-previews{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}
.imgopt-prev-col{display:flex;flex-direction:column;gap:.35rem}
.imgopt-img{width:100%;height:260px;object-fit:contain;background:rgba(12,12,12,.5);border:1px solid var(--border);border-radius:var(--r)}
@media(max-width:600px){.imgopt-previews{grid-template-columns:1fr}}

/* ---- Light Theme ---- */
[data-theme=light] .calc-btn,[data-theme=light] .calc-history details,[data-theme=light] .picker-value,[data-theme=light] .tool-tabs a,[data-theme=light] .picker-manual{background:rgba(255,255,255,.65)}
[data-theme=light] .calc-display input{background:#fff;color:var(--heading)}
[data-theme=light] .tool-btn,[data-theme=light] .tool-out{background:rgba(255,255,255,.65)}
[data-theme=light] .tool-area,[data-theme=light] .tool-input,[data-theme=light] .tool-flags,[data-theme=light] .tool-num,[data-theme=light] .tool-select{background:#fff;color:var(--heading)}
[data-theme=light] #hexInput{color:var(--heading)}
[data-theme=light] .split-area{background:#f8f6f0;color:#23231f}
[data-theme=light] .split-out{background:#f0ede4;color:#23231f}
[data-theme=light] .split-toolbar,[data-theme=light] .split-col-label{background:rgba(255,255,255,.88)}
[data-theme=light] .split-pane{background:rgba(255,255,255,.3)}
[data-theme=light] .wt-sidebar{background:rgba(240,238,232,.92)}
[data-theme=light] .wt-nav-item.active{background:rgba(10,90,76,.07)}
[data-theme=light] .md-toolbar{background:rgba(255,255,255,.85)}
[data-theme=light] .md-tb-btn,[data-theme=light] .md-tb-sel{background:rgba(240,240,240,.9);color:var(--heading)}
[data-theme=light] .md-tb-btn:hover{color:var(--accent)}
[data-theme=light] .md-col-label{background:rgba(255,255,255,.6)}
[data-theme=light] .hte-sidebar,[data-theme=light] .hte-props{background:rgba(245,244,240,.85)}
[data-theme=light] .hte-search,[data-theme=light] .hte-prop-input,[data-theme=light] .hte-prop-textarea{background:#fff;color:var(--heading)}
[data-theme=light] .hte-block{background:rgba(255,255,255,.75)}
[data-theme=light] .hte-block.selected{background:rgba(38,166,154,.08)}
[data-theme=light] .hte-canvas{background:rgba(0,0,0,.03)}
[data-theme=light] .hte2-code{background:#f6f4ee;color:#23231f}
[data-theme=light] .hte2-tabs,[data-theme=light] .hte2-preview-bar{background:rgba(255,255,255,.88)}
[data-theme=light] .hte2-inspector{background:rgba(248,246,240,.8)}
[data-theme=light] .imgopt-upload-area,[data-theme=light] .imgopt-info{background:rgba(255,255,255,.65)}
[data-theme=light] .imgopt-img{background:rgba(0,0,0,.05)}
[data-theme=light] .ttt-cell,[data-theme=light] .ttt-reset{background:rgba(255,255,255,.65)}
.tool-hint{font-family:var(--mono);font-size:.68rem;color:var(--dim);letter-spacing:.04em;margin-left:.5rem}
/* ---- Hash-Tool ---- */
.hash-algo-links{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .25rem}
.hash-algo-link{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;padding:.3rem .65rem;border-radius:var(--r);border:1px solid var(--border);color:var(--dim);text-decoration:none;transition:border-color .15s,color .15s}
.hash-algo-link:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.hash-algo-link.active{border-color:var(--accent);color:var(--accent)}
.hash-info{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--r);border:1px solid var(--border);font-size:.8rem;line-height:1.6;color:var(--text);background:rgba(22,22,22,.55)}
.hash-info code{font-family:var(--mono);font-size:.75rem;background:rgba(255,255,255,.07);padding:.1em .35em;border-radius:3px}
.hash-info strong{color:var(--heading)}