.vl{--vl-red:#B42318;--vl-red-bg:#FEE4E2;--vl-red-line:#F04438;--vl-ok:#1B6B33;--vl-ok-bg:#E4F7E8;--vl-bad:#A92F22;--vl-bad-bg:#FDE6E2}@media (prefers-color-scheme:dark){.vl{--vl-red:#FF9B8F;--vl-red-bg:#4A1D1B;--vl-red-line:#F97066;--vl-ok:#7BE08F;--vl-ok-bg:#143A2B;--vl-bad:#FFA699;--vl-bad-bg:#42232A}}.vl,.vl *,.vl ::after,.vl ::before{box-sizing:border-box}.vl{color:var(--fg,#172554)}.vl h2{font-size:clamp(1.4rem,3.2vw,1.9rem);margin:0 0 .5rem}.vl h3{font-size:1.2rem;margin:1.1rem 0 .4rem}.vl .vl-h4,.vl h4{font-size:1rem;margin:.9rem 0 .35rem}.vl p{margin:.45rem 0}.vl-section{padding:1.6rem 0;border-top:1px solid var(--line,#d5e3f8)}.vl-section:first-of-type{border-top:0}.vl-small{font-size:.92rem;color:var(--muted,#475a8c)}.vl-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.vl-chip{display:inline-block;padding:.2rem .7rem;border-radius:999px;background:var(--blue-tint,#e3eeff);color:var(--blue-ink,#1d4ed8);font-size:.88rem;font-weight:700}.vl-chip.warn{background:var(--gold-tint,#fef1d3);color:var(--gold-ink,#7c5200)}.vl-steps-nav{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1rem 0}.vl-steps-nav a{display:block;padding:.4rem .75rem;border-radius:12px;border:1px solid var(--line,#d5e3f8);text-decoration:none;font-size:.9rem;font-weight:700;background:var(--surface,#fff)}.vl-steps-nav a:focus-visible,.vl-steps-nav a:hover{border-color:var(--blue,#2563eb);outline:2px solid var(--blue,#2563EB);outline-offset:1px}.vl-steps-nav b{color:var(--blue,#2563eb);margin-right:.25rem}.vl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0;padding:0;list-style:none}.vl-card{display:block;padding:1.1rem;border:1px solid var(--line,#d5e3f8);border-radius:var(--radius,22px);background:var(--surface,#fff);box-shadow:var(--shadow,none);text-decoration:none;color:inherit}.vl-card:focus-visible,.vl-card:hover{border-color:var(--blue,#2563eb);outline:2px solid var(--blue,#2563EB);outline-offset:2px}.vl-card h3{margin:.2rem 0 .3rem;font-size:1.1rem}.vl-card[hidden]{display:none}.vl-find{width:100%;max-width:26rem;padding:.7rem .9rem;border:2px solid var(--line,#d5e3f8);border-radius:14px;font:inherit;background:var(--surface,#fff);color:inherit}.vl-btn{display:inline-block;padding:.65rem 1.1rem;border-radius:14px;border:2px solid var(--blue,#2563eb);background:var(--blue,#2563eb);color:var(--on-blue,#fff);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;min-height:44px}.vl-btn.ghost{background:0 0;color:var(--blue-ink,#1d4ed8)}.vl-btn.small{padding:.4rem .8rem;min-height:40px;font-size:.92rem}.vl-btn.used{opacity:.45}.vl-btn:disabled{opacity:.45;cursor:not-allowed}.vl .vl-find:focus-visible,.vl input:focus-visible,.vl select:focus-visible,.vl-btn:focus-visible{outline:3px solid var(--gold,#F5B942);outline-offset:2px}.vl-simgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;align-items:start}@media (max-width:860px){.vl-simgrid{grid-template-columns:minmax(0,1fr)}}.vl-panel{border:1px solid var(--line,#d5e3f8);border-radius:var(--radius-sm,14px);padding:1rem;margin-bottom:1rem;background:var(--surface,#fff)}.vl-panel h3{margin-top:0}.vl-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0}.vl-lbl{font-weight:700}.vl-chk{display:flex;gap:.5rem;align-items:flex-start;margin:.35rem 0;cursor:pointer}.vl-chk input{margin-top:.3rem;width:1.1rem;height:1.1rem}.vl-stage{position:relative;width:100%;max-width:360px;margin:0 auto;touch-action:none;cursor:grab}.vl-overlay,.vl-scope{display:block;width:100%;height:auto;border-radius:50%}.vl-overlay{position:absolute;inset:0;pointer-events:none;border-radius:0}.vl-scope.vl-off{opacity:.6}.vl-graph,.vl-minimap,.vl-particles{display:block;max-width:100%;height:auto;border:1px solid var(--line,#d5e3f8);border-radius:10px;background:var(--surface,#fff)}.vl-particles{background:#fffefb}.vl-mapwrap{margin:.8rem 0}.vl-legend{font-size:.88rem;color:var(--muted,#475a8c)}.vl-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;vertical-align:-.1em;margin:0 .15rem 0 .5rem}.vl-dot.ring{background:0 0;border:2px solid #0891b2}.vl-ladder{margin:.4rem 0}.vl-lrow{display:grid;grid-template-columns:3.2rem 1fr 4.6rem;gap:.5rem;align-items:center;margin:.25rem 0;font-size:.9rem;opacity:.7}.vl-lrow.on{opacity:1;font-weight:700}.vl-lbar{display:block;height:.7rem;background:var(--blue-tint,#e3eeff);border-radius:999px;overflow:hidden}.vl-lbar i{display:block;height:100%;background:var(--blue,#2563eb);border-radius:999px}.vl-svg{display:block;width:100%;max-width:420px;height:auto;margin:0 auto;color:var(--fg,#172554)}.vl-svg.vl-swirl{animation:vlsw .5s ease}@keyframes vlsw{0%{transform:translateX(0)}25%{transform:translateX(5px)}75%{transform:translateX(-5px)}100%{transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.vl-svg.vl-swirl{animation:none}}.vl-readout{font-size:.98rem;margin:.5rem 0}.vl-msg{min-height:1.4em;margin:.4rem 0}.vl-msg.ok{color:var(--vl-ok);font-weight:700}.vl-msg.bad{color:var(--vl-bad);font-weight:700}.vl-done{margin:.4rem 0 .6rem 1.2rem;padding:0;list-style:decimal}.vl-stepbtns{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0}.vl-stepbtns .vl-btn{text-align:left;font-weight:600}.vl-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:.6rem 0}.vl-table td,.vl-table th{border:1px solid var(--line,#d5e3f8);padding:.4rem .55rem;text-align:left;vertical-align:top}.vl-table th{background:var(--blue-tint,#e3eeff)}.vl-tablewrap{overflow-x:auto}.vl-fb{list-style:none;padding:0;margin:.6rem 0}.vl-fb li{padding:.5rem .7rem;border-radius:10px;margin:.3rem 0}.vl-fb li.ok{background:var(--vl-ok-bg)}.vl-fb li.bad{background:var(--vl-bad-bg)}.vl-task{margin:1rem 0;padding:.8rem;border:1px dashed var(--line,#d5e3f8);border-radius:12px}.vl-task input[type=text]{padding:.5rem .7rem;border:2px solid var(--line,#d5e3f8);border-radius:10px;font:inherit;max-width:12rem;background:var(--surface,#fff);color:inherit}.vl-reveal{margin:.8rem 0;padding:.6rem .9rem;border:1px solid var(--line,#d5e3f8);border-radius:12px}.vl-reveal summary{cursor:pointer;font-weight:700}.vl-tri{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:.8rem 0}.vl-trisvg{width:150px;color:var(--fg,#172554)}.vl-formula{font-size:1.4rem;font-weight:800}.vl-exam .vl-q{border:1px solid var(--line,#d5e3f8);border-radius:14px;padding:.9rem 1rem;margin:1rem 0;background:var(--surface,#fff)}.vl-exam legend{font-weight:700;padding:0 .3rem}.vl-qn{display:block;color:var(--blue-ink,#1d4ed8);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}.vl-opt{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem .6rem;border-radius:10px;cursor:pointer;margin:.2rem 0}.vl-opt:hover{background:var(--blue-tint,#e3eeff)}.vl-opt input{margin-top:.3rem;width:1.1rem;height:1.1rem}.vl-num input{padding:.5rem .7rem;border:2px solid var(--line,#d5e3f8);border-radius:10px;font:inherit;max-width:10rem;background:var(--surface,#fff);color:inherit}.vl-score{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:16px;background:var(--blue-tint,#e3eeff);margin:.8rem 0}.vl-bigscore{font-size:2.4rem;font-weight:800;line-height:1}.vl-bigscore span{font-size:1.2rem;opacity:.7}.vl-ans{border-left:6px solid;padding:.6rem .9rem;margin:.7rem 0;border-radius:8px;background:var(--surface,#fff)}.vl-ans.ok{border-color:var(--vl-ok)}.vl-ans.bad{border-color:var(--vl-bad)}.vl-ans .vl-lbl{font-weight:700}.vl-rev li{margin:.3rem 0}.vl-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.vl-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.8rem 0}.vl-note{border:1px solid var(--line,#d5e3f8);border-radius:14px;margin:.6rem 0;background:var(--surface,#fff)}.vl-note[hidden]{display:none}.vl-note>summary{cursor:pointer;padding:.8rem 1rem;font-weight:700;list-style-position:inside}.vl-note>summary h3{display:inline;margin:0;font-size:1.05rem}.vl-note .vl-body{padding:0 1rem 1rem}.vl-note.vl-weak{border:2px solid var(--gold,#f5b942);background:var(--gold-tint,#fef1d3)}.vl-badge{margin-left:.6rem;padding:.1rem .6rem;border-radius:999px;background:var(--gold,#f5b942);color:#172554;font-size:.8rem;font-weight:800}.vl-def{border-left:5px solid var(--blue,#2563eb);background:var(--blue-tint,#e3eeff);padding:.5rem .8rem;border-radius:8px;margin:.7rem 0}.vl-formula-box{border:2px solid var(--blue,#2563eb);background:var(--blue-tint,#e3eeff);padding:.55rem .8rem;border-radius:10px;margin:.7rem 0;font-weight:700}.vl-exam-pt{border-left:5px solid var(--green-ink,#1b6b33);background:var(--green-tint,#e4f7e8);padding:.5rem .8rem;border-radius:8px;margin:.7rem 0}.vl-safe{border:3px solid var(--vl-red-line);background:var(--vl-red-bg);border-radius:14px;padding:.8rem 1rem;margin:1rem 0}.vl-safe,.vl-safe *{color:var(--vl-red)}.vl-safe h3,.vl-safe h4{margin:0 0 .4rem}.vl-safe ul{margin:.3rem 0 0 1.2rem;padding:0;list-style:disc}.vl-safe li{margin:.3rem 0;font-weight:700}.vl-fig{margin:1rem 0;text-align:center}.vl-fig svg{max-width:100%;height:auto;color:var(--fg,#172554)}.vl-fig figcaption{font-size:.9rem;color:var(--muted,#475a8c);margin-top:.3rem}.vl-keys li{margin:.35rem 0}.vl-related a{font-weight:700}.vl-mylist{padding-left:1.2rem;list-style:disc}.vl .vl-note a,.vl .vl-section a:not(.vl-btn):not(.vl-card){color:var(--blue-ink,#1d4ed8)}.vl-status{border:1px solid var(--gold,#f5b942);background:var(--gold-tint,#fef1d3);color:var(--gold-ink,#7c5200);padding:.6rem .9rem;border-radius:12px;font-size:.93rem;margin:.6rem 0}.vl-live{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media print{html.vl-print-notes body *{visibility:hidden}html.vl-print-notes #notes,html.vl-print-notes #notes *{visibility:visible}html.vl-print-notes #notes{position:absolute;left:0;top:0;width:100%}html.vl-print-notes .vl-badge,html.vl-print-notes .vl-tools{display:none}html.vl-print-notes .vl-note{border:1px solid #888;page-break-inside:avoid;background:#fff}html.vl-print-notes .vl-note,html.vl-print-notes .vl-note *{color:#000}html.vl-print-notes .vl-safe,html.vl-print-notes .vl-safe *{color:#b42318}}.vl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vl-hows{list-style:none;margin:.5rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.5rem}.vl-hows li{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .8rem;background:var(--bg)}