.tn-b64-page {
  --b64-paper:#faf6ee; --b64-surface:#fffcf4; --b64-wash:#f5efdf; --b64-ink:#1a1208;
  --b64-muted:#5a4a30; --b64-line:#b8a888; --b64-soft:#ddd4be; --b64-button:#ede6d4;
  --b64-hover:#dfd4bb; --b64-accent:#c44a00;
  width:calc(100% - 10px); max-width:1180px; margin-inline:auto;
  color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink);
}
.tn-b64-page *, .tn-b64-page *::before, .tn-b64-page *::after { box-sizing:border-box; }
.tn-b64-page .tn-b64-ad { width:min(900px,100%); min-height:90px; margin-inline:auto; background:transparent; }
.tn-b64-page .tn-b64-ad--top { margin-top:54px; margin-bottom:18px; }
.tn-b64-page .tn-b64-ad--bottom { margin-top:16px; margin-bottom:26px; }
.tn-b64-page .tn-b64-ad ins { max-width:100%; }
.tn-b64-page .tn-b64-tool {
  border:1px solid var(--b64-line); background:var(--b64-paper); padding:16px;
  font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
}
.tn-b64-page .tn-b64-tool :is(h2,p) { margin:0; }
.tn-b64-page .tn-b64-tool :is(button,textarea,input) { font:inherit; }
.tn-b64-page .tn-b64-tool :is(code,pre,kbd,samp) { padding:0; border:0; border-radius:0; background:transparent; color:inherit; -webkit-text-fill-color:inherit; }
.tn-b64-page .tn-b64-tool :is(button,textarea,input):focus-visible { outline:2px solid var(--b64-accent); outline-offset:2px; }
.tn-b64-page .tn-b64-tool button { cursor:pointer; border-radius:0; box-shadow:none; }
.tn-b64-page .tn-b64-tool button:disabled { opacity:.45; cursor:not-allowed; }
.tn-b64-page .tn-b64-switch { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-bottom:14px; border-bottom:1px solid var(--b64-soft); }
.tn-b64-page .tn-b64-mode { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; width:min(412px,100%); padding:3px; border:1px solid var(--b64-line); background:var(--b64-wash); }
.tn-b64-page .tn-b64-tool button { display:inline-grid; place-items:center; min-height:40px; padding:8px 14px; border:1px solid var(--b64-line); background:var(--b64-button); color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink); font-size:12px; font-weight:800; line-height:1.2; text-align:center; transition:background-color .16s ease,border-color .16s ease; }
.tn-b64-page .tn-b64-tool button:not(:disabled):hover { background:var(--b64-hover); border-color:var(--b64-ink); }
.tn-b64-page .tn-b64-tool button:not(:disabled):active { transform:scale(.96); }
.tn-b64-page .tn-b64-mode button { min-width:0; border-color:transparent; background:transparent; }
.tn-b64-page .tn-b64-mode button[aria-pressed="true"],
.tn-b64-page .tn-b64-mode button[aria-pressed="true"]:hover { background:var(--b64-ink); border-color:var(--b64-ink); color:var(--b64-paper); -webkit-text-fill-color:var(--b64-paper); }
.tn-b64-page .tn-b64-local { color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:12px; line-height:1.45; }
.tn-b64-page .tn-b64-local::before { content:"●"; margin-right:7px; color:var(--b64-accent); -webkit-text-fill-color:var(--b64-accent); font-size:9px; }
.tn-b64-page .tn-b64-options { display:flex; align-items:center; flex-wrap:wrap; gap:8px 22px; padding:12px 0 14px; }
.tn-b64-page .tn-b64-options strong { color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:11px; font-weight:800; letter-spacing:.04em; }
.tn-b64-page .tn-b64-options label { display:inline-flex; align-items:center; gap:7px; min-height:40px; color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink); font-size:12px; font-weight:700; cursor:pointer; }
.tn-b64-page .tn-b64-options input { width:17px; height:17px; margin:0; accent-color:var(--b64-accent); }
.tn-b64-page .tn-b64-workbench { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch; }
.tn-b64-page .tn-b64-pane { min-width:0; display:flex; flex-direction:column; border:1px solid var(--b64-line); background:var(--b64-surface); }
.tn-b64-page .tn-b64-pane--result { background:var(--b64-wash); }
.tn-b64-page .tn-b64-pane-head { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:50px; padding:9px 13px; border-bottom:1px solid var(--b64-soft); }
.tn-b64-page .tn-b64-pane-head label, .tn-b64-page .tn-b64-pane-head h2 { display:flex; align-items:center; gap:8px; color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink); font-size:15px; font-weight:850; line-height:1.3; }
.tn-b64-page .tn-b64-index { color:var(--b64-accent); -webkit-text-fill-color:var(--b64-accent); font-size:11px; font-weight:800; font-variant-numeric:tabular-nums; }
.tn-b64-page .tn-b64-pane-head small { color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:11px; font-weight:700; white-space:nowrap; }
.tn-b64-page .tn-b64-pane textarea { display:block; flex:1 1 auto; width:100%; min-height:230px; max-width:100%; padding:15px; border:0; border-radius:0; resize:vertical; background:transparent; color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink); font-size:15px; line-height:1.58; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; overflow-x:hidden; }
.tn-b64-page .tn-b64-pane textarea::placeholder { color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); opacity:.5; }
.tn-b64-page .tn-b64-pane--result textarea { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:14px; }
.tn-b64-page .tn-b64-tool[data-mode="decode"] .tn-b64-pane--source textarea { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:14px; }
.tn-b64-page .tn-b64-tool[data-mode="decode"] .tn-b64-pane--result textarea { font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif; font-size:15px; }
.tn-b64-page .tn-b64-pane textarea[aria-invalid="true"] { box-shadow:inset 0 0 0 1px var(--b64-accent); }
.tn-b64-page .tn-b64-pane-foot { display:flex; align-items:center; justify-content:space-between; gap:7px; min-height:43px; padding:5px 9px 5px 13px; border-top:1px solid var(--b64-soft); color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.tn-b64-page .tn-b64-pane-foot .tn-b64-actions { display:flex; gap:5px; }
.tn-b64-page .tn-b64-pane-foot button { min-height:32px; padding:5px 9px; font-size:11px; }
.tn-b64-page .tn-b64-pane--result .tn-b64-pane-foot button { background:var(--b64-ink); border-color:var(--b64-ink); color:var(--b64-paper); -webkit-text-fill-color:var(--b64-paper); }
.tn-b64-page .tn-b64-flow { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; padding:13px 2px 0; border-top:0; color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:12px; }
.tn-b64-page .tn-b64-flow strong { color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink); font-size:12px; font-weight:800; }
.tn-b64-page .tn-b64-flow strong::before { content:"→"; padding-right:8px; color:var(--b64-accent); -webkit-text-fill-color:var(--b64-accent); }
.tn-b64-page .tn-b64-stats { display:flex; align-items:center; flex-wrap:wrap; gap:0; margin-top:12px; border-top:1px solid var(--b64-soft); }
.tn-b64-page .tn-b64-stats span { min-width:0; padding:10px 14px 0 0; margin-right:14px; color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.tn-b64-page .tn-b64-stats b { margin-left:5px; color:var(--b64-ink); -webkit-text-fill-color:var(--b64-ink); font-size:13px; font-weight:800; }
.tn-b64-page .tn-b64-status { min-height:19px; margin-top:9px!important; color:var(--b64-muted); -webkit-text-fill-color:var(--b64-muted); font-size:12px; line-height:1.5; }
.tn-b64-page .tn-b64-status[data-state="error"] { color:var(--b64-accent); -webkit-text-fill-color:var(--b64-accent); }
.tn-b64-page .tn-b64-article .tn-info-card :is(p,li,a) { overflow-wrap:anywhere; }

body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-b64-page,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-b64-page {
  --b64-paper:#241d12; --b64-surface:#322a1a; --b64-wash:#2c2517; --b64-ink:#efe6d2;
  --b64-muted:#c3b492; --b64-line:#6f6047; --b64-soft:#574a37; --b64-button:#3c321f;
  --b64-hover:#4a3b27; --b64-accent:#e8823f;
}
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-b64-page .tn-b64-tool button,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-b64-page .tn-b64-tool button { color:#f7ead1; -webkit-text-fill-color:#f7ead1; }
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-b64-page .tn-b64-mode button[aria-pressed="true"],
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-l="dark"],[data-scheme="auto"][data-d="dark"]) .tn-b64-page .tn-b64-pane--result .tn-b64-pane-foot button,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-b64-page .tn-b64-mode button[aria-pressed="true"],
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-b64-page .tn-b64-pane--result .tn-b64-pane-foot button { background:#4a3116; border-color:#e8823f; color:#f7ead1; -webkit-text-fill-color:#f7ead1; }
@media (prefers-color-scheme:dark) {
  body[data-scheme="auto"] .tn-b64-page { --b64-paper:#241d12; --b64-surface:#322a1a; --b64-wash:#2c2517; --b64-ink:#efe6d2; --b64-muted:#c3b492; --b64-line:#6f6047; --b64-soft:#574a37; --b64-button:#3c321f; --b64-hover:#4a3b27; --b64-accent:#e8823f; }
  body[data-scheme="auto"] .tn-b64-page .tn-b64-tool button { color:#f7ead1; -webkit-text-fill-color:#f7ead1; }
  body[data-scheme="auto"] .tn-b64-page .tn-b64-mode button[aria-pressed="true"], body[data-scheme="auto"] .tn-b64-page .tn-b64-pane--result .tn-b64-pane-foot button { background:#4a3116; border-color:#e8823f; color:#f7ead1; -webkit-text-fill-color:#f7ead1; }
}
@media (max-width:760px) {
  .tn-b64-page .tn-b64-ad--top { margin-top:48px; }
  .tn-b64-page .tn-b64-tool { padding:9px; }
  .tn-b64-page .tn-b64-workbench { grid-template-columns:minmax(0,1fr); gap:9px; }
  .tn-b64-page .tn-b64-pane textarea { min-height:174px; }
  .tn-b64-page .tn-b64-mode { width:100%; }
  .tn-b64-page .tn-b64-local { width:100%; }
}
@media (max-width:390px) {
  .tn-b64-page .tn-b64-options { gap:2px 13px; }
  .tn-b64-page .tn-b64-options strong { width:100%; }
  .tn-b64-page .tn-b64-pane-head { padding-inline:9px; }
  .tn-b64-page .tn-b64-pane textarea { padding:11px; }
  .tn-b64-page .tn-b64-pane-foot { padding-left:9px; }
  .tn-b64-page .tn-b64-stats span { margin-right:7px; padding-right:7px; }
}
@media (prefers-reduced-motion:reduce) { .tn-b64-page .tn-b64-tool button { transition:none; } }
