/* This stylesheet is deliberately scoped to the standalone calculator page. */
body.zmt-speech-duration-page {
  background: #f4f0e7 !important;
  color: #1b1a17;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.zmt-speech-duration-page .container:not(.container-header),
body.zmt-speech-duration-page .content-wrap,
body.zmt-speech-duration-page .content-layout,
body.zmt-speech-duration-page .page-article,
body.zmt-speech-duration-page .page-article > .wp-posts-content,
body.zmt-speech-duration-page .article-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.zmt-speech-duration-page .article-header,
body.zmt-speech-duration-page .article-footer,
body.zmt-speech-duration-page .post-meta,
body.zmt-speech-duration-page .comments-box,
body.zmt-speech-duration-page .sidebar { display: none !important; }

.zmts-shell,
.zmts-shell * { box-sizing: border-box; }

.zmts-shell {
  --zmts-ink: #1d1b18;
  --zmts-ink-soft: #514d45;
  --zmts-muted: #746e63;
  --zmts-line: #ded6c8;
  --zmts-paper: #fffefb;
  --zmts-paper-soft: #f9f6ef;
  --zmts-gold: #d5af42;
  --zmts-gold-strong: #a97812;
  --zmts-gold-soft: #fff1be;
  --zmts-teal: #197a70;
  --zmts-teal-soft: #e0f5ed;
  --zmts-danger: #b84945;
  --zmts-radius-sm: 12px;
  --zmts-radius-md: 18px;
  --zmts-radius-lg: 26px;
  --zmts-shadow-sm: 0 1px 2px rgba(31, 27, 20, .05), 0 7px 18px rgba(31, 27, 20, .055);
  --zmts-shadow-md: 0 1px 2px rgba(31, 27, 20, .08), 0 14px 32px rgba(31, 27, 20, .08), 0 30px 70px rgba(31, 27, 20, .055);
  width: 100vw;
  min-height: calc(100vh - 72px);
  margin-left: calc(50% - 50vw);
  padding: clamp(18px, 3vw, 48px) clamp(16px, 4vw, 72px) 52px;
  overflow: hidden;
  color: var(--zmts-ink);
  background:
    radial-gradient(circle at 8% 0%, rgba(213, 175, 66, .22), transparent 29rem),
    radial-gradient(circle at 96% 9%, rgba(25, 122, 112, .13), transparent 27rem),
    #f4f0e7;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.zmts-shell button,
.zmts-shell input,
.zmts-shell textarea { font: inherit; }
.zmts-shell button,
.zmts-shell a { -webkit-tap-highlight-color: transparent; }
.zmts-shell [hidden] { display: none !important; }
.zmts-shell :is(h1, h2, h3, p) { margin: 0; }
.zmts-shell :is(button, input, textarea):focus-visible,
.zmts-shell a:focus-visible { outline: 3px solid rgba(25, 122, 112, .34); outline-offset: 3px; }

.zmts-skip-link {
  position: fixed;
  top: -60px;
  left: 18px;
  z-index: 100000;
  padding: 10px 15px;
  border-radius: 0 0 10px 10px;
  color: #fff !important;
  background: var(--zmts-ink);
  text-decoration: none;
  transition: top 160ms ease-out;
}
.zmts-skip-link:focus { top: 0; }

.zmts-header,
.zmts-workspace,
.zmts-method-note {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.zmts-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 25px;
}
.zmts-eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--zmts-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.25;
  text-transform: uppercase;
}
.zmts-header h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
.zmts-header > div > p { max-width: 620px; margin-top: 10px; color: var(--zmts-muted); text-wrap: pretty; }
.zmts-privacy-note {
  display: flex;
  flex: 0 1 420px;
  width: min(420px, 100%);
  align-items: center;
  gap: 10px;
  min-width: 360px;
  padding: 12px 14px;
  border: 1px solid rgba(25, 122, 112, .18);
  border-radius: var(--zmts-radius-md);
  color: #1a655e;
  background: rgba(255, 254, 251, .7);
  box-shadow: var(--zmts-shadow-sm);
}
.zmts-privacy-note > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; background: var(--zmts-teal); font-size: 22px; }
.zmts-privacy-note p { display: grid; min-width: 0; flex: 1; font-size: 13px; line-height: 1.35; }
.zmts-privacy-note small { color: var(--zmts-muted); font-size: 12px; }

.zmts-workspace {
  overflow: hidden;
  border: 1px solid rgba(68, 59, 46, .12);
  border-radius: var(--zmts-radius-lg);
  background: var(--zmts-paper);
  box-shadow: var(--zmts-shadow-md);
}
.zmts-tabs { display: flex; gap: 10px; padding: 10px; border-bottom: 1px solid var(--zmts-line); background: linear-gradient(180deg, #fffcf5, #f8f4ec); }
.zmts-tabs button {
  position: relative;
  min-width: 164px;
  min-height: 52px;
  padding: 12px 20px;
  border: 1px solid rgba(108, 96, 75, .18);
  border-radius: 14px;
  color: var(--zmts-muted);
  background: rgba(255, 254, 251, .65);
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 1px 2px rgba(31, 27, 20, .025);
  transition-property: color, background-color, border-color, box-shadow, transform;
  transition-duration: 160ms;
  transition-timing-function: cubic-bezier(.2, 0, 0, 1);
}
.zmts-tabs button::after { position: absolute; right: 18px; bottom: 7px; left: 18px; height: 3px; border-radius: 999px; background: transparent; content: ""; }
.zmts-tabs button:hover { border-color: rgba(169, 121, 18, .42); color: var(--zmts-ink); background: #fffaf0; box-shadow: 0 5px 14px rgba(87, 66, 22, .07); }
.zmts-tabs button.is-active { border-color: #c69a29; color: #4c3a0d; background: linear-gradient(135deg, #fff8dc, var(--zmts-gold-soft)); box-shadow: 0 7px 16px rgba(167, 121, 18, .14); }
.zmts-tabs button.is-active::after { background: var(--zmts-gold-strong); }
.zmts-tabs button:active { transform: scale(.96); }

.zmts-main-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: stretch; }
.zmts-control-card { min-width: 0; padding: clamp(20px, 3.2vw, 38px); }
.zmts-mode-panel { min-width: 0; }
.zmts-section-heading,
.zmts-settings > header { display: block !important; margin-bottom: 18px; }
.zmts-section-title-row { display: flex !important; min-height: 30px; align-items: center !important; gap: 12px; }
.zmts-section-title-row > span { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 9px; color: #635016; background: var(--zmts-gold-soft); font-size: 12px; font-weight: 850; }
.zmts-section-heading h2,
.zmts-settings h2 { margin: 0 !important; font-size: 19px; line-height: 1.25; letter-spacing: -.02em; }
.zmts-section-heading p,
.zmts-settings > header > p { margin: 6px 0 0 42px !important; color: var(--zmts-muted); font-size: 13px; text-wrap: pretty; }

.zmts-textarea-field,
.zmts-number-field,
.zmts-custom-speed { display: grid; gap: 8px; color: var(--zmts-ink-soft); font-size: 14px; font-weight: 720; }
.zmts-textarea-field textarea {
  width: 100%;
  min-height: 250px;
  resize: vertical;
  padding: 16px;
  border: 1px solid var(--zmts-line);
  border-radius: var(--zmts-radius-md);
  color: var(--zmts-ink);
  background: #fffdfa;
  box-shadow: inset 0 1px 1px rgba(31, 27, 20, .025);
  line-height: 1.7;
  transition-property: border-color, box-shadow, background-color;
  transition-duration: 160ms;
  transition-timing-function: ease-out;
}
.zmts-textarea-field textarea::placeholder { color: #a79e8e; }
.zmts-textarea-field textarea:hover { border-color: #c8bca8; }
.zmts-textarea-field textarea:focus { border-color: var(--zmts-teal); background: #fff; box-shadow: 0 0 0 4px rgba(25, 122, 112, .1); outline: 0; }
.zmts-textarea-field small { color: var(--zmts-muted); font-size: 12px; font-weight: 500; text-align: right; }
.zmts-textarea-field small b { font-variant-numeric: tabular-nums; }

.zmts-duration-fieldset { margin: 0 0 20px; padding: 0; border: 0; }
.zmts-duration-fieldset legend { margin-bottom: 10px; color: var(--zmts-ink-soft); font-size: 14px; font-weight: 720; }
.zmts-duration-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.zmts-duration-presets button,
.zmts-speed-grid button {
  min-height: 48px;
  border: 1px solid var(--zmts-line);
  border-radius: 12px;
  color: var(--zmts-ink-soft);
  background: #fffdfa;
  cursor: pointer;
  font-size: 14px;
  font-weight: 760;
  transition-property: border-color, color, background-color, box-shadow, transform;
  transition-duration: 160ms;
  transition-timing-function: cubic-bezier(.2, 0, 0, 1);
}
.zmts-duration-presets button:hover,
.zmts-speed-grid button:hover { border-color: #bca35d; color: var(--zmts-ink); background: #fffae7; }
.zmts-duration-presets button.is-active,
.zmts-speed-grid button.is-active { border-color: #c69a29; color: #5f4710; background: var(--zmts-gold-soft); box-shadow: 0 4px 10px rgba(167, 121, 18, .11); }
.zmts-duration-presets button:active,
.zmts-speed-grid button:active { transform: scale(.96); }
.zmts-number-field { max-width: 270px; }
.zmts-number-field input,
.zmts-custom-speed input {
  width: 100%;
  min-height: 48px;
  padding: 9px 12px;
  border: 1px solid var(--zmts-line);
  border-radius: 12px;
  color: var(--zmts-ink);
  background: #fffdfa;
  font-variant-numeric: tabular-nums;
  transition-property: border-color, box-shadow;
  transition-duration: 160ms;
}
.zmts-number-field input:focus,
.zmts-custom-speed input:focus { border-color: var(--zmts-teal); box-shadow: 0 0 0 4px rgba(25, 122, 112, .1); outline: 0; }
.zmts-number-field small,
.zmts-custom-speed small { color: var(--zmts-muted); font-size: 12px; font-weight: 500; }

.zmts-settings { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--zmts-line); }
.zmts-speed-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.zmts-speed-grid button { display: grid; min-height: 70px; padding: 9px; text-align: left; }
.zmts-speed-grid strong { color: inherit; font-size: 14px; line-height: 1.2; }
.zmts-speed-grid small { color: var(--zmts-muted); font-size: 11px; font-weight: 500; line-height: 1.25; }
.zmts-speed-grid button.is-active small { color: #79621f; }
.zmts-custom-speed { max-width: 240px; margin-top: 12px; }
.zmts-pause-toggle { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; column-gap: 10px; row-gap: 4px; margin-top: 20px; color: var(--zmts-ink-soft); cursor: pointer; font-size: 14px; }
.zmts-pause-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.zmts-pause-toggle > span { position: relative; width: 42px; height: 24px; grid-row: 1; align-self: center; border-radius: 999px; background: #c5bdb0; box-shadow: inset 0 1px 2px rgba(31, 27, 20, .12); transition: background-color 160ms ease-out; }
.zmts-pause-toggle > span::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(31, 27, 20, .24); content: ""; transition: transform 160ms cubic-bezier(.2, 0, 0, 1); }
.zmts-pause-toggle input:checked + span { background: var(--zmts-teal); }
.zmts-pause-toggle input:checked + span::after { transform: translateX(18px); }
.zmts-pause-toggle b { grid-column: 2; grid-row: 1; display: flex; min-height: 24px; align-items: center; font-size: 14px; }
.zmts-pause-toggle small { grid-column: 2; grid-row: 2; color: var(--zmts-muted); font-size: 12px; font-weight: 400; }

.zmts-actions { display: flex; align-items: center; gap: 10px; margin-top: 28px; }
.zmts-actions > span { color: var(--zmts-muted); font-size: 12px; }
.zmts-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 1px solid transparent; border-radius: 12px; cursor: pointer; font-size: 14px; font-weight: 800; text-decoration: none !important; transition-property: transform, box-shadow, background-color, color, border-color; transition-duration: 160ms; transition-timing-function: cubic-bezier(.2, 0, 0, 1); }
.zmts-button:active { transform: scale(.96); }
.zmts-button-primary { color: #231d0c !important; background: linear-gradient(135deg, #f1d05d, var(--zmts-gold)); box-shadow: 0 6px 15px rgba(169, 121, 18, .18); }
.zmts-button-primary:hover:not(:disabled) { background: linear-gradient(135deg, #f5db79, #d4a82f); box-shadow: 0 9px 20px rgba(169, 121, 18, .26); }
.zmts-button-secondary { border-color: var(--zmts-line); color: var(--zmts-ink-soft); background: #fffdfa; }
.zmts-button-secondary:hover { border-color: #bfb3a0; color: var(--zmts-ink); background: #fff; }
.zmts-button:disabled { cursor: not-allowed; opacity: .52; box-shadow: none; }

.zmts-result-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(22px, 3vw, 38px);
  border-left: 1px solid rgba(231, 221, 202, .9);
  color: #fffdf7;
  background:
    radial-gradient(circle at 88% 5%, rgba(236, 200, 91, .2), transparent 18rem),
    linear-gradient(145deg, #25211b, #181613 72%);
}
.zmts-result-top { display: flex; justify-content: space-between; gap: 10px; color: rgba(255, 253, 247, .72); font-size: 13px; font-weight: 730; }
.zmts-result-top em { padding: 3px 8px; border: 1px solid rgba(232, 199, 94, .25); border-radius: 999px; color: #ecd177; background: rgba(232, 199, 94, .1); font-size: 11px; font-style: normal; }
.zmts-time-readout { padding: clamp(24px, 4vw, 47px) 0 20px; }
.zmts-time-readout strong { display: block; overflow-wrap: anywhere; color: #fffdf7; font-size: clamp(48px, 7vw, 82px); font-variant-numeric: tabular-nums; font-weight: 760; letter-spacing: -.075em; line-height: .95; }
.zmts-time-readout span { display: block; margin-top: 12px; color: rgba(255, 253, 247, .65); font-size: 13px; }
.zmts-rhythm { display: flex; align-items: end; gap: 5px; height: 34px; margin-bottom: 23px; }
.zmts-rhythm i { width: 100%; height: 35%; border-radius: 4px 4px 2px 2px; background: linear-gradient(180deg, #f0d678, rgba(213, 175, 66, .35)); }
.zmts-rhythm i:nth-child(2) { height: 74%; }.zmts-rhythm i:nth-child(3) { height: 46%; }.zmts-rhythm i:nth-child(4) { height: 92%; }.zmts-rhythm i:nth-child(5) { height: 62%; }.zmts-rhythm i:nth-child(6) { height: 82%; }.zmts-rhythm i:nth-child(7) { height: 40%; }
.zmts-result-list { display: grid; gap: 0; margin: 0; border-top: 1px solid rgba(255, 253, 247, .14); }
.zmts-result-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 13px 0; border-bottom: 1px solid rgba(255, 253, 247, .1); }
.zmts-result-list dt { color: rgba(255, 253, 247, .62); font-size: 13px; }.zmts-result-list dd { margin: 0; color: #fffdf7; font-size: 14px; font-weight: 760; font-variant-numeric: tabular-nums; text-align: right; }
.zmts-result-note { margin-top: auto !important; padding-top: 19px; color: rgba(255, 253, 247, .56); font-size: 12px; line-height: 1.6; text-wrap: pretty; }

.zmts-method-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 13px; margin-top: 18px; padding: 14px 17px; border: 1px solid rgba(128, 107, 70, .14); border-radius: 15px; color: var(--zmts-muted); background: rgba(255, 254, 251, .53); font-size: 12px; }
.zmts-method-note > span { color: var(--zmts-gold-strong); font-weight: 850; white-space: nowrap; }.zmts-method-note p { text-wrap: pretty; }

.zmts-access-dialog { width: min(420px, calc(100% - 32px)); padding: 0; border: 0; border-radius: var(--zmts-radius-lg); color: var(--zmts-ink); background: var(--zmts-paper); box-shadow: 0 24px 90px rgba(20, 18, 14, .36); }
.zmts-access-dialog::backdrop { background: rgba(25, 21, 16, .55); backdrop-filter: blur(3px); }
.zmts-access-dialog-inner { position: relative; padding: 34px; text-align: center; }
.zmts-access-dialog-inner > span { display: grid; width: 54px; height: 54px; margin: 0 auto 15px; place-items: center; border-radius: 17px; color: #674f12; background: var(--zmts-gold-soft); font-size: 26px; }.zmts-access-dialog-inner > p { color: var(--zmts-teal); font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.zmts-access-dialog h2 { margin-top: 7px; font-size: 25px; letter-spacing: -.04em; line-height: 1.15; text-wrap: balance; }.zmts-access-dialog-inner > div { margin: 12px 0 22px; color: var(--zmts-muted); font-size: 14px; line-height: 1.65; text-wrap: pretty; }.zmts-dialog-close { position: absolute; top: 12px; right: 13px; display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 10px; color: var(--zmts-muted); background: transparent; cursor: pointer; font-size: 24px; line-height: 1; }.zmts-dialog-close:hover { color: var(--zmts-ink); background: #f3eee5; }

.zmts-dependency-warning { margin: 24px auto; padding: 16px; border-radius: 12px; color: #8d302e; background: #fff0ef; }

@media (max-width: 860px) {
  .zmts-header { align-items: flex-start; flex-direction: column; }.zmts-privacy-note { min-width: 0; }.zmts-main-grid { grid-template-columns: 1fr; }.zmts-result-card { min-height: 420px; border-top: 1px solid rgba(231, 221, 202, .9); border-left: 0; }.zmts-time-readout { padding-block: 30px 18px; }.zmts-speed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .zmts-shell { min-height: calc(100vh - 56px); padding: 16px 12px 30px; }.zmts-header { margin-bottom: 16px; }.zmts-header h1 { font-size: 32px; }.zmts-header > div > p { font-size: 14px; }.zmts-workspace { border-radius: 19px; }.zmts-tabs { padding-inline: 5px; }.zmts-tabs button { min-width: 0; flex: 1; padding-inline: 8px; font-size: 13px; }.zmts-control-card { padding: 21px 16px; }.zmts-textarea-field textarea { min-height: 216px; padding: 13px; }.zmts-duration-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }.zmts-actions { align-items: stretch; flex-direction: column; }.zmts-actions .zmts-button { width: 100%; }.zmts-actions > span { text-align: center; }.zmts-result-card { min-height: 385px; padding: 25px 19px; }.zmts-time-readout strong { font-size: 61px; }.zmts-method-note { grid-template-columns: 1fr; gap: 4px; padding: 13px; }.zmts-access-dialog-inner { padding: 30px 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .zmts-shell *, .zmts-shell *::before, .zmts-shell *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
.zmts-handoff{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto 20px;max-width:1180px;padding:16px 18px;border:1px solid #c7d7fe;border-radius:14px;background:#eff6ff;color:#172554}.zmts-handoff p{margin:4px 0 0;color:#475569}.zmts-handoff>div:last-child{display:flex;gap:8px;flex:0 0 auto}.zmts-handoff button{border:1px solid #94a3b8;border-radius:10px;background:#fff;padding:9px 13px;cursor:pointer}.zmts-handoff [data-zmts-handoff-apply]{border-color:#2563eb;background:#2563eb;color:#fff}@media(max-width:720px){.zmts-handoff{align-items:stretch;flex-direction:column}.zmts-handoff>div:last-child{display:grid;grid-template-columns:1fr 1fr}}
