/* The source frames stay on the page; only the enlarged view needs JavaScript. */
.tb-writing-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tb-writing-head h3{margin-bottom:0;min-width:0;flex:1 1 190px}
.tb-writing-head h4{font:32px var(--font-hanzi);margin:0}
.tb-writing-repeat{margin:28px 0;break-inside:avoid}
.tb-writing-step-open{display:block;width:100%;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;border-radius:0}
.tb-writing-step-open:hover .tb-stroke-frame{border-color:var(--accent-ink)}
.tb-writing-step-open:focus-visible{outline:3px solid var(--border-focus);outline-offset:3px}
.tb-writing-viewer{width:min(620px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:24px;border:1px solid var(--border-default);border-radius:var(--r-card,12px);color:var(--text-body);background:var(--surface-card);font:inherit;overflow:auto;overscroll-behavior:contain}
.tb-writing-viewer::backdrop{background:rgb(22 24 26 / .6)}
.tb-writing-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tb-writing-viewer-head h2{font-size:24px;margin:0;min-width:0}
.tb-writing-viewer-head button{flex:none}
.tb-writing-viewer-modes,.tb-writing-viewer-nav{display:flex;gap:8px;flex-wrap:wrap}
.tb-writing-viewer-modes button{flex:1}
.tb-writing-viewer [aria-pressed=true]{border-color:var(--accent-ink);color:var(--accent-ink);background:var(--accent-soft)}
.tb-writing-viewer [aria-disabled=true]{opacity:.45;cursor:default}
.tb-writing-viewer-image{width:min(100%,360px,48dvh);margin:20px auto 12px;aspect-ratio:1;border:1px solid var(--border-default);background:var(--surface-card)}
.tb-writing-viewer-image svg{display:block;width:100%;height:100%;max-width:none;fill:var(--text-body);border:0}
.tb-writing-viewer-status{text-align:center;font-variant-numeric:tabular-nums;margin:0 0 12px!important}
.tb-writing-viewer-nav{justify-content:space-between;margin-bottom:16px}
.tb-writing-viewer #tb-writing-viewer-help{margin-bottom:0}
@media(max-width:599px){
 .tb-writing-viewer{padding:16px}
 .tb-writing-viewer-head h2{font-size:20px;line-height:1.4}
 .tb-writing-viewer-image{margin-top:16px}
 .tb-writing-viewer-modes button{flex:1 1 100%;font-size:14px}
 .tb-writing-viewer-head .eddy-btn,.tb-writing-viewer-nav .eddy-btn{padding-inline:12px}
}
@media print{
 .tb-writing-ui,.tb-writing-viewer{display:none!important}
 .tb-writing-step-open{min-width:0;min-height:0;cursor:default}
 .tb-print-writing-only .eddy-container > :not(.tb-layout),
 .tb-print-writing-only .tb-content > :not(.tb-writing):not(.tb-glyph-library){display:none!important}
 .tb-print-writing-only .tb-writing{margin-top:0}
 .tb-print-writing-only .tb-writing-head{display:block}
}
