.zb{--bg:#fbfaf7;--fg:#1d1d1f;--mut:#6b6b6b;--card:#fff;--line:#e3e0d8;--acc:#1f6feb;--why:#1E7B34;--rule:#f3f7ff;--ruleb:#9db9f2;--ul:#1f6feb;--q:#0f7d98;--task:#7a7a7a;--mk:#1f5fd6;--an:#8a4fbf;--hl:#fff1a8;--orf:#c2410c;--gr:#71bf44;--ln:#00adef}
.zb .why{color:var(--why);font-style:italic}
.zb .q{color:var(--q);font-style:italic}
.zb .task{color:var(--task);font:italic 15px/1.45 system-ui,sans-serif;margin:16px 0 4px;border-top:1px dashed var(--line);padding-top:10px}
.zb .task b{color:var(--fg);font-style:normal}
.zb .rule{background:var(--rule);border-left:4px solid var(--ruleb);padding:8px 12px;border-radius:6px;margin:8px 0 12px;font-size:15.5px}
.zb .rule-h{font:600 12.5px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-bottom:3px}
.zb .u-pd,.zb .u-pr,.zb .u-oz,.zb .u-dd{text-decoration-skip-ink:none;text-decoration-color:var(--ul);text-decoration-thickness:1.6px}
.zb .u-pd{text-decoration-line:underline;text-underline-offset:3px}
.zb .u-pr{text-decoration-line:underline;text-decoration-style:double;text-underline-offset:3px}
.zb .u-oz{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-thickness:1.2px;text-underline-offset:4px}
.zb sup{font:11px system-ui,sans-serif;color:var(--q)}
.zb ruby rt{font:italic 11px system-ui,sans-serif;color:var(--q)}
.zb ruby{margin-right:0}
.zb ul.pairs{list-style:none;padding-left:.4em}
.zb .legend{font:14px/1.9 system-ui,sans-serif;color:var(--mut)}
.zb .morph{display:inline-block;font-size:1.3em;padding:14px 2px 10px;line-height:1;white-space:nowrap;vertical-align:middle}
.zb .morph span{position:relative;display:inline-block}
.zb .m-pf::before,.zb .m-rt::before,.zb .m-sf::before,.zb .m-ps::before{content:"";position:absolute;left:1px;right:1px;top:-11px;height:9px;background-repeat:no-repeat;background-size:100% 100%}
.zb .m-pf::before{border-top:2px solid var(--mk);border-right:2px solid var(--mk);height:7px;top:-9px}
.zb .m-ps::before{border-top:2px solid var(--mk);border-left:2px solid var(--mk);height:7px;top:-9px}
.zb .m-rt::before{border:2px solid var(--mk);border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0}
.zb .m-sf::before{height:10px;top:-12px;background-image:linear-gradient(to top right,transparent calc(50% - 1.2px),var(--mk) calc(50% - 1.2px),var(--mk) calc(50% + 1.2px),transparent calc(50% + 1.2px)),linear-gradient(to top left,transparent calc(50% - 1.2px),var(--mk) calc(50% - 1.2px),var(--mk) calc(50% + 1.2px),transparent calc(50% + 1.2px));background-size:50% 100%,50% 100%;background-position:left,right}
.zb .m-en{outline:2px solid var(--mk);outline-offset:1px;margin:0 3px;min-width:.6em}
.zb .m-base{position:relative;display:inline-block}
.zb .m-base::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:5px;border:2px solid var(--mk);border-top:none}
.zb svg.scheme{max-width:100%;height:auto;vertical-align:middle;display:inline-block}
.zb svg.morph{display:inline-block;padding:0;font-size:1em;margin:0 1px}
.zb .u-dd{text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:var(--ul);text-decoration-thickness:1.6px;text-underline-offset:3px}
.zb .u-ob{background-image:linear-gradient(to right,var(--ul) 0 9px,transparent 9px 12px,var(--ul) 12px 14px,transparent 14px 17px);background-size:17px 1.6px;background-repeat:repeat-x;background-position:0 calc(100% - 1px);padding-bottom:3px}
.zb .task.sub{border-top:none;margin-top:12px;padding-top:0;font-size:14.5px}
.zb .an{color:var(--an,#8a4fbf);font-style:italic}
.zb .given{font-weight:700;background:linear-gradient(transparent 55%,var(--hl,#fff1a8) 55%);padding:0 2px;border-radius:2px}
.zb .orf{color:var(--orf,#c2410c)}
.zb .pos{color:var(--q);font-style:italic;font-size:.92em}
.zb ruby rt{white-space:nowrap}
.zb .dlg{margin:.15em 0 .15em .2em}
.zb .zbtw{max-width:100%}
.zb .zbtb{border-collapse:collapse;margin:6px 0 10px;font-size:.95em;width:100%;word-break:normal}
.zb .zbtb td,.zb .zbtb th{border:1px solid var(--line,#ccc);padding:4px 10px;text-align:left;vertical-align:middle;background:transparent}
.zb .zbtb th{background:rgba(128,128,128,.14);color:inherit;font-weight:600}
.zb li:has(ruby){line-height:2.2}
.zb .alt{color:#d6336c;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.zb .vars{position:relative}
.zb .vbar{display:flex;align-items:center;gap:10px;margin:14px 0 4px}
.zb .vbtn{font:600 14px system-ui,sans-serif;padding:8px 14px;border-radius:999px;border:1px solid var(--acc,#1f6feb);background:transparent;color:var(--acc,#1f6feb);cursor:pointer}
.zb .vbtn:hover{background:var(--acc,#1f6feb);color:#fff}
.zb .vcnt{font:13px system-ui,sans-serif;color:var(--mut,#6b6b6b)}
.zb .was{color:#8a8a8a}
.zb .sch.sq{text-align:center;vertical-align:middle;line-height:1.25;padding-top:2px}
.zb .schq{display:block;font:italic 500 .78em/1.2 system-ui,sans-serif;color:#0f8a8a;letter-spacing:.02em}
.zb .sch{display:inline-block;white-space:nowrap;font-family:'Times New Roman',serif;font-weight:600;color:#2f7de1;padding:1px .4em;border-radius:5px;background:rgba(47,125,225,.10);margin:2px 0}
.zb .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.zb svg.sch2{margin:4px 0}
.zb .pm{display:inline-block;white-space:nowrap;font-family:'Times New Roman',serif;font-weight:700;padding:0 .3em;border-radius:5px;background:rgba(47,125,225,.08)}
.zb .pm .pp{color:#2f7de1}
.zb .apx{font-size:.7em;vertical-align:super;line-height:0}
.zb .u-dot{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:var(--ul);text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-skip-ink:none}
.zb .more{border:1px dashed var(--line);border-radius:8px;padding:6px 12px;margin:12px 0;opacity:.9}
.zb .more-h{font:600 13px system-ui,sans-serif;color:var(--mut);margin-bottom:2px}
.zb>p:first-of-type{display:block}.zb p{overflow:visible}.zb .task:first-child{border-top:none;margin-top:0;padding-top:0}.zb ul,.zb ol{margin:.2em 0 .5em;padding-left:1.4em}.zb ul.pairs{list-style:none;padding-left:.4em}.zb .rule{font-family:var(--ui,system-ui),sans-serif;font-size:15px}.zb svg.morph,.zb svg.scheme{max-width:100%;height:auto}
@media (max-width:600px){.zb .zbtb td,.zb .zbtb th{padding:4px 5px}.zb .rule{padding:8px 10px}}