/* Tool workspace only. Hero, Article and note retain shared fixed-partial ownership. */
.tn-irt-page[data-tn-fixed-partials="character-counter"] {
  --irt-ink:#1a1208; --irt-muted:#5a4a30; --irt-line:#b8a888; --irt-soft:#ddd4be;
  --irt-paper:#faf6ee; --irt-surface:#fffdf7; --irt-wash:#f5efdf; --irt-accent:#c44a00;
  --irt-primary:#1a1208; --irt-primary-hover:#c44a00; --irt-primary-text:#faf6ee;
  --irt-button:#ede6d4; --irt-button-hover:#dfd4bb; --irt-button-text:#1a1208;
  --irt-scheme:light; --irt-num:-apple-system,BlinkMacSystemFont,"Pretendard","Segoe UI",system-ui,sans-serif;
  width:min(1180px,100%)!important; max-width:1180px!important; margin:0 auto 56px!important; padding:0!important;
}
.tn-irt-page .tn-irt-tool, .tn-irt-page .tn-irt-tool * { box-sizing:border-box!important; min-width:0!important; }
.tn-irt-page .tn-irt-tool {
  max-width:1040px!important; width:100%!important; margin:0 auto!important; padding:22px!important;
  border:1px solid var(--irt-line)!important; border-top:3px double var(--irt-line)!important;
  background:var(--irt-paper)!important; color:var(--irt-ink)!important; -webkit-text-fill-color:var(--irt-ink)!important;
  font-family:var(--irt-num)!important; font-size:14px!important; line-height:1.5!important; color-scheme:var(--irt-scheme)!important;
}
.tn-irt-page .tn-irt-tool :is(p,fieldset,legend) { margin:0!important; }
.tn-irt-page .tn-irt-tool p { word-break:keep-all!important; overflow-wrap:anywhere!important; }
.tn-irt-page .tn-irt-layout { display:grid!important; grid-template-columns:minmax(0,0.95fr) minmax(0,1.15fr)!important; gap:28px!important; }
.tn-irt-page .tn-irt-setup { display:flex!important; flex-direction:column!important; gap:20px!important; }
.tn-irt-page .tn-irt-tool fieldset { padding:0!important; border:0!important; }
.tn-irt-page .tn-irt-tool legend { padding:0 0 14px!important; font:700 16px/1.4 var(--irt-num)!important; color:var(--irt-ink)!important; }
.tn-irt-page .tn-irt-presets { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:6px!important; margin:0 0 10px!important; }
.tn-irt-page .tn-irt-tool button {
  display:flex!important; align-items:center!important; justify-content:center!important;
  min-height:44px!important; height:44px!important; margin:0!important; padding:0 10px!important;
  border:1px solid var(--irt-line)!important; border-radius:0!important; box-shadow:none!important;
  background:var(--irt-button)!important; color:var(--irt-button-text)!important; -webkit-text-fill-color:var(--irt-button-text)!important;
  font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  letter-spacing:normal!important; text-transform:none!important; text-align:center!important; cursor:pointer!important;
  transition:background-color .15s,border-color .15s!important;
}
.tn-irt-page .tn-irt-tool button::before, .tn-irt-page .tn-irt-tool button::after { content:none!important; display:none!important; }
.tn-irt-page .tn-irt-tool button:hover:not(:disabled) { background:var(--irt-button-hover)!important; }
.tn-irt-page .tn-irt-tool button:focus-visible, .tn-irt-page .tn-irt-tool input:focus-visible { outline:2px solid var(--irt-accent)!important; outline-offset:2px!important; }
.tn-irt-page .tn-irt-tool button:disabled { opacity:.55!important; cursor:not-allowed!important; }
.tn-irt-page .tn-irt-presets button[aria-pressed="true"] { border-color:var(--irt-accent)!important; box-shadow:inset 0 -2px var(--irt-accent)!important; }
.tn-irt-page .tn-irt-fields { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:14px!important; margin:18px 0 12px!important; }
.tn-irt-page .tn-irt-field:last-child { grid-column:1/-1!important; }
.tn-irt-page .tn-irt-field label { display:block!important; margin:0 0 6px!important; font:600 14px/1.4 var(--irt-num)!important; color:var(--irt-ink)!important; }
.tn-irt-page .tn-irt-input-wrap { display:flex!important; height:46px!important; }
.tn-irt-page .tn-irt-tool input {
  display:block!important; width:100%!important; height:46px!important; margin:0!important; padding:10px 12px!important;
  border:1px solid var(--irt-line)!important; border-radius:0!important; box-shadow:none!important;
  background:var(--irt-surface)!important; color:var(--irt-ink)!important; -webkit-text-fill-color:var(--irt-ink)!important;
  font:600 18px/1.2 var(--irt-num)!important; font-variant-numeric:tabular-nums!important;
}
.tn-irt-page .tn-irt-tool input[aria-invalid="true"] { border-color:var(--irt-accent)!important; }
.tn-irt-page .tn-irt-input-wrap > b { display:flex!important; align-items:center!important; justify-content:center!important; flex:0 0 48px!important; border:1px solid var(--irt-line)!important; border-left:0!important; background:var(--irt-wash)!important; font:500 13px/1 var(--irt-num)!important; }
.tn-irt-page .tn-irt-tool :is(.tn-irt-hint,.tn-irt-footnote) { color:var(--irt-muted)!important; -webkit-text-fill-color:var(--irt-muted)!important; font:400 13px/1.65 var(--irt-num)!important; }
.tn-irt-page .tn-irt-plan { display:grid!important; grid-template-columns:1fr auto!important; gap:10px!important; padding-top:16px!important; border-top:1px solid var(--irt-soft)!important; align-items:center!important; }
.tn-irt-page .tn-irt-plan > strong { font:700 24px/1.2 var(--irt-num)!important; font-variant-numeric:tabular-nums!important; }
.tn-irt-page .tn-irt-plan > p { grid-column:1/-1!important; }
.tn-irt-page .tn-irt-clock { display:flex!important; flex-direction:column!important; justify-content:center!important; gap:16px!important; border-left:1px solid var(--irt-soft)!important; padding:8px 0 8px 28px!important; }
.tn-irt-page .tn-irt-phase-row,.tn-irt-page .tn-irt-progress-heading { display:flex!important; justify-content:space-between!important; gap:8px!important; align-items:center!important; }
.tn-irt-page #irtPhase { font:700 19px/1.3 var(--irt-num)!important; color:var(--irt-accent)!important; -webkit-text-fill-color:var(--irt-accent)!important; }
.tn-irt-page #irtSet { font:500 13px/1.4 var(--irt-num)!important; }
.tn-irt-page #irtTimer { font:700 clamp(56px,7vw,86px)/1.15 var(--irt-num)!important; font-variant-numeric:tabular-nums!important; letter-spacing:-2px!important; text-align:center!important; padding:12px 0 0!important; }
.tn-irt-page .tn-irt-next { text-align:center!important; color:var(--irt-muted)!important; -webkit-text-fill-color:var(--irt-muted)!important; font:400 14px/1.5 var(--irt-num)!important; }
.tn-irt-page .tn-irt-progress-heading { margin-top:6px!important; font:400 12px/1.4 var(--irt-num)!important; font-variant-numeric:tabular-nums!important; }
.tn-irt-page #irtProgress { display:block!important; width:100%!important; height:7px!important; margin:-8px 0 0!important; border:0!important; border-radius:0!important; background:var(--irt-soft)!important; color:var(--irt-accent)!important; appearance:none!important; }
.tn-irt-page #irtProgress::-webkit-progress-bar { background:var(--irt-soft); }
.tn-irt-page #irtProgress::-webkit-progress-value { background:var(--irt-accent); }
.tn-irt-page #irtProgress::-moz-progress-bar { background:var(--irt-accent); }
.tn-irt-page .tn-irt-actions { display:grid!important; grid-template-columns:1.3fr 1fr!important; gap:8px!important; margin-top:6px!important; }
.tn-irt-page .tn-irt-actions > .tn-irt-primary { background:var(--irt-primary)!important; border-color:var(--irt-primary)!important; color:var(--irt-primary-text)!important; -webkit-text-fill-color:var(--irt-primary-text)!important; }
.tn-irt-page .tn-irt-actions > .tn-irt-primary:hover:not(:disabled) { background:var(--irt-primary-hover)!important; border-color:var(--irt-primary-hover)!important; }
.tn-irt-page .tn-irt-status { min-height:42px!important; font:500 14px/1.5 var(--irt-num)!important; }
.tn-irt-page #irtAudioStatus:empty { display:none!important; }
.tn-irt-page .tn-irt-footnote { margin-top:22px!important; padding-top:14px!important; border-top:1px solid var(--irt-soft)!important; }
.tn-irt-page .tn-irt-ad { width:100%!important; max-width:900px!important; min-height:90px!important; height:auto!important; max-height:none!important; margin-left:auto!important; margin-right:auto!important; background:transparent!important; }
.tn-irt-page .tn-irt-ad--top { margin-top:54px!important; margin-bottom:24px!important; }
.tn-irt-page .tn-irt-ad--bottom { margin-top:24px!important; margin-bottom:30px!important; }
body:is([data-scheme="dark"],[data-scheme="inverse"],[data-scheme="auto"][data-d="dark"],[data-scheme="auto"][data-l="dark"]) .tn-irt-page,
html[data-scheme="dark"] body:not([data-scheme="light"]) .tn-irt-page {
  --irt-ink:#efe6d2; --irt-muted:#c3b492; --irt-line:#6f6047; --irt-soft:#574a37;
  --irt-paper:#241d12; --irt-surface:#322a1a; --irt-wash:#241d12; --irt-accent:#e8823f;
  --irt-primary:#6a3b1f; --irt-primary-hover:#824826; --irt-primary-text:#f7ead1;
  --irt-button:#2f2115; --irt-button-hover:#3a2a1b; --irt-button-text:#f7ead1; --irt-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  body[data-scheme="auto"] .tn-irt-page {
    --irt-ink:#efe6d2; --irt-muted:#c3b492; --irt-line:#6f6047; --irt-soft:#574a37;
    --irt-paper:#241d12; --irt-surface:#322a1a; --irt-wash:#241d12; --irt-accent:#e8823f;
    --irt-primary:#6a3b1f; --irt-primary-hover:#824826; --irt-primary-text:#f7ead1;
    --irt-button:#2f2115; --irt-button-hover:#3a2a1b; --irt-button-text:#f7ead1; --irt-scheme:dark;
  }
}
@media(max-width:720px) {
  .tn-irt-page .tn-irt-tool { padding:16px 12px!important; }
  .tn-irt-page .tn-irt-layout { grid-template-columns:minmax(0,1fr)!important; gap:22px!important; }
  .tn-irt-page .tn-irt-clock { border-left:0!important; border-top:1px solid var(--irt-line)!important; padding:20px 0 0!important; }
  .tn-irt-page #irtTimer { font-size:72px!important; }
  .tn-irt-page .tn-irt-ad--top { margin-top:48px!important; }
  .tn-irt-page .tn-irt-actions { gap:6px!important; }
  .tn-irt-page .tn-irt-actions button { padding-right:6px!important; padding-left:6px!important; }
}
@media(prefers-reduced-motion:reduce) { .tn-irt-page .tn-irt-tool button { transition:none!important; } }

.tn-irt-page .tn-irt-audio-actions { display:grid!important; grid-template-columns:1fr 1fr!important; gap:8px!important; }
