/* MTTools – style narzędzi. Kolory pobierane ze zmiennych gospodarza (--mt-*), z bezpiecznymi wartościami domyślnymi. */
.mt-tool{--_bg:var(--mt-bg,#0f1418);--_card:var(--mt-card,#161c22);--_card2:var(--mt-card2,#1b232b);--_line:var(--mt-line,#2a3440);--_text:var(--mt-text,#e2e8ee);
  --_muted:var(--mt-muted,#8a97a4);--_acc:var(--mt-accent,#2dd4bf);--_ink:var(--mt-accent-ink,#05201d);--_ok:var(--mt-ok,#4ade80);--_warn:var(--mt-warn,#fbbf24);--_bad:var(--mt-bad,#f87171);
  --_r:var(--mt-r,10px);--_mono:var(--mt-mono,ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace);
  color:var(--_text);font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:14px;min-width:0}
.mt-tool *{box-sizing:border-box}
.mt-tool [hidden]{display:none!important}
.mt-card{background:var(--_card);border:1px solid var(--_line);border-radius:var(--_r);padding:16px;min-width:0}
.mt-card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.mt-stack{display:flex;flex-direction:column;gap:12px}
.mt-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.mt-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mt-row.mt-center{justify-content:center}.mt-row.mt-between{justify-content:space-between}
.mt-grow{flex:1;min-width:120px}
.mt-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mt-grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;text-align:center}
.mt-inp{background:var(--_bg);color:var(--_text);border:1px solid var(--_line);border-radius:8px;padding:8px 10px;font:inherit;width:100%;min-width:0}
textarea.mt-inp{resize:vertical;line-height:1.5}
.mt-inp:focus{outline:none;border-color:var(--_acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--_acc) 20%,transparent)}
.mt-w80{width:80px}.mt-w120{width:120px}.mt-w220{width:220px;max-width:100%}
.mt-big{font-size:17px;padding:10px 12px}
.mt-mono{font-family:var(--_mono);font-size:13px}
.mt-lbl{display:flex;flex-direction:column;gap:5px;color:var(--_muted);font-size:12.5px;font-weight:600}
.mt-lbl.mt-inline{flex-direction:row;align-items:center;gap:8px}
.mt-lbl code,.mt-tool p code{font-family:var(--_mono);font-size:12px;background:var(--_card2);padding:1px 5px;border-radius:4px;color:var(--_text)}
.mt-chk{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;user-select:none}
.mt-chk input{accent-color:var(--_acc);width:16px;height:16px}
.mt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--_card2);color:var(--_text);border:1px solid var(--_line);border-radius:8px;padding:7px 13px;
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .12s,background .12s,transform .05s}
.mt-btn:hover{border-color:var(--_acc)}.mt-btn:active{transform:translateY(1px)}
.mt-btn.mt-pri{background:var(--_acc);border-color:var(--_acc);color:var(--_ink)}
.mt-btn.mt-pri:hover{filter:brightness(1.08)}
.mt-btn.mt-dng{color:var(--_bad)}
.mt-btn.mt-sm{padding:4px 9px;font-size:12px}
.mt-btn.mt-lg{padding:11px 22px;font-size:15px}
.mt-btn.mt-ok{border-color:var(--_ok);color:var(--_ok)}
.mt-linkbtn{background:none;border:0;color:var(--_acc);cursor:pointer;font:inherit;padding:0;font-family:var(--_mono)}
.mt-link{color:var(--_acc);cursor:pointer;text-decoration:underline}
.mt-seg{display:inline-flex;border:1px solid var(--_line);border-radius:8px;overflow:hidden;align-self:flex-start}
.mt-seg button{background:none;border:0;color:var(--_muted);padding:6px 12px;cursor:pointer;font:inherit;font-size:13px;font-weight:600}
.mt-seg button+button{border-left:1px solid var(--_line)}
.mt-seg button.on{background:color-mix(in srgb,var(--_acc) 16%,transparent);color:var(--_acc)}
.mt-muted{color:var(--_muted)}.mt-small{font-size:12px}
.mt-okt{color:var(--_ok)}.mt-warn{color:var(--_warn)}.mt-bad{color:var(--_bad)}.mt-ok{color:var(--_ok)}
.mt-note{border:1px solid var(--_line);border-left:3px solid var(--_warn);background:color-mix(in srgb,var(--_warn) 9%,transparent);border-radius:8px;padding:9px 12px}
.mt-note.mt-bad{border-left-color:var(--_bad);background:color-mix(in srgb,var(--_bad) 9%,transparent);color:var(--_text)}
.mt-note.mt-okn{border-left-color:var(--_ok);background:color-mix(in srgb,var(--_ok) 9%,transparent)}
.mt-out{border:1px solid var(--_line);border-radius:8px;background:var(--_bg);overflow:hidden}
.mt-out.mt-match{border-color:var(--_ok)}
.mt-out-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px 5px 12px;border-bottom:1px solid var(--_line);font-size:12px;color:var(--_muted);font-weight:600;background:var(--_card2)}
.mt-out-v{padding:10px 12px;margin:0;word-break:break-all;white-space:pre-wrap;max-height:360px;overflow:auto;user-select:all}
.mt-out-v.mt-tall{max-height:60vh}
.mt-hl{user-select:text;word-break:break-word}.mt-hl mark{background:color-mix(in srgb,var(--_acc) 35%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.mt-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
.mt-kv dt{color:var(--_muted)}.mt-kv dd{margin:0;min-width:0;word-break:break-word}
.mt-tw{overflow-x:auto}
.mt-tbl{width:100%;border-collapse:collapse;font-size:13px}
.mt-tbl th,.mt-tbl td{padding:6px 8px;border-bottom:1px solid var(--_line);text-align:left}
.mt-tbl th{color:var(--_muted);font-weight:600;font-size:12px}
.mt-chmod td,.mt-chmod thead th{text-align:center}.mt-chmod input{width:18px;height:18px;accent-color:var(--_acc)}
.mt-list,.mt-hist{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:3px}
.mt-hist{max-height:280px;overflow:auto}
.mt-drop{border:1.5px dashed var(--_line);border-radius:10px;padding:26px;text-align:center;color:var(--_muted)}
.mt-drop.over{border-color:var(--_acc);color:var(--_acc);background:color-mix(in srgb,var(--_acc) 8%,transparent)}
.mt-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.mt-stats div{background:var(--_card2);border:1px solid var(--_line);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column}
.mt-stats b{font-size:18px;font-variant-numeric:tabular-nums}.mt-stats span{font-size:11.5px;color:var(--_muted)}
.mt-wrap{flex-wrap:wrap}
.mt-now{display:flex;align-items:center;gap:12px;background:var(--_card2);border-radius:8px;padding:10px 14px}
.mt-now b{font-size:22px}
/* diff */
.mt-diff{border:1px solid var(--_line);border-radius:8px;overflow:auto;max-height:60vh;font-family:var(--_mono);font-size:12.5px;background:var(--_bg)}
.mt-dl{display:grid;grid-template-columns:44px 44px 1fr;white-space:pre-wrap;word-break:break-all}
.mt-dl span{color:var(--_muted);text-align:right;padding:1px 8px;user-select:none;border-right:1px solid var(--_line)}
.mt-dl code{padding:1px 10px;font-family:inherit}
.mt-dadd{background:color-mix(in srgb,var(--_ok) 13%,transparent)}.mt-ddel{background:color-mix(in srgb,var(--_bad) 13%,transparent)}
.mt-gap{display:block;text-align:center;color:var(--_muted);padding:2px;background:var(--_card2)}
/* kolory */
.mt-colorpick{width:54px;height:44px;border:1px solid var(--_line);border-radius:8px;background:none;padding:2px;cursor:pointer}
.mt-swatch{border-radius:10px;padding:26px 16px;display:flex;flex-direction:column;gap:6px;font-weight:700;border:1px solid var(--_line)}
.mt-shades{display:flex;gap:6px;flex-wrap:wrap}.mt-shades button{width:44px;height:34px;border-radius:7px;border:1px solid var(--_line);cursor:pointer}
/* emoji */
.mt-emoji{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
.mt-emoji button{font-size:28px;line-height:1;padding:10px 0;border-radius:9px;border:1px solid var(--_line);background:var(--_card2);cursor:pointer;transition:transform .08s}
.mt-emoji button:hover{transform:scale(1.12);border-color:var(--_acc)}
/* kalkulator */
.mt-calc-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}
.mt-calc-res{font-size:24px;min-height:36px;text-align:right;color:var(--_acc);word-break:break-all}
.mt-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.mt-keys .mt-btn{padding:12px 0;font-size:15px}.mt-keys .mt-num{background:var(--_bg)}
/* zegar */
.mt-clocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.mt-clock{border:1px solid var(--_line);border-radius:10px;padding:12px 14px;background:var(--_card2)}
.mt-clock.night{background:color-mix(in srgb,#1e3a8a 22%,var(--_card2))}
.mt-clock-h{display:flex;justify-content:space-between;align-items:center}
.mt-clock-t{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:2px 0}
.mt-x{background:none;border:0;color:var(--_muted);font-size:18px;cursor:pointer;line-height:1}.mt-x:hover{color:var(--_bad)}
/* koło fortuny */
.mt-wheel-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:14px;align-items:start}
.mt-wheel-stage{display:flex;flex-direction:column;align-items:center;gap:14px}
.mt-wheel-wrap{position:relative;width:min(100%,520px);aspect-ratio:1}
.mt-wheel-wrap canvas{width:100%;height:100%;display:block;filter:drop-shadow(0 10px 28px rgba(0,0,0,.35))}
.mt-wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid var(--_text);filter:drop-shadow(0 3px 3px rgba(0,0,0,.4));z-index:2}
.mt-wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border-radius:50%;border:4px solid rgba(255,255,255,.9);background:var(--_card);color:var(--_text);
  font-weight:800;font-size:clamp(11px,2.4vw,16px);letter-spacing:.06em;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.4)}
.mt-wheel-hub:hover{color:var(--_acc)}
.mt-spinning .mt-wheel-hub{pointer-events:none;opacity:.8}
.mt-wheel-result{min-height:62px;display:flex;align-items:center;justify-content:center;text-align:center}
.mt-wheel-win{display:flex;flex-direction:column;align-items:center;animation:mtpop .35s ease-out}
.mt-wheel-win small{color:var(--_muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}
.mt-wheel-win b{font-size:30px;line-height:1.15;color:var(--_acc)}
@keyframes mtpop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.mt-ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:860px){.mt-wheel-grid,.mt-calc-grid,.mt-grid2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mt-wheel-win{animation:none}}
.mt-hist li.mt-muted{list-style:none;margin-left:-20px}
