:root{--accent: #40b262;--accent-deep: #65c67d;--accent-soft: #0e381b;--accent-wash: #0f2a16;--on-accent: #ffffff;--ink: #dce9de;--ink-soft: #869288;--ink-faint: #565f58;--paper: #121913;--card: #1d231e;--line: #2b3b2e;--line-soft: #202f23;--line-strong: #3d4d40;--danger: #e97871;--danger-soft: #3d1715;--warn: #d8b349;--warn-soft: #2e2400;--ok: #65bb7a;--ok-soft: #0a2d14;--radius: 16px;--radius-sm: 10px;--shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px -6px rgba(0, 0, 0, .5);--sans: system-ui, "Segoe UI", sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--toolbar-h: 48px;--tree-w: 260px}@media(prefers-color-scheme:dark){:root{--accent: #40b262;--accent-deep: #65c67d;--accent-soft: #0e381b;--accent-wash: #0f2a16;--ink: #dce9de;--ink-soft: #869288;--ink-faint: #565f58;--paper: #121913;--card: #1d231e;--line: #2b3b2e;--line-soft: #202f23;--line-strong: #3d4d40;--danger: #e97871;--danger-soft: #3d1715;--warn: #d8b349;--warn-soft: #2e2400;--ok: #65bb7a;--ok-soft: #0a2d14;--shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px -6px rgba(0, 0, 0, .5)}}:root[data-theme=light]{--accent: #00893c;--accent-deep: #007121;--accent-soft: #badabf;--accent-wash: #ceded1;--ink: #060f08;--ink-soft: #4b564d;--ink-faint: #737c74;--paper: #d9e3da;--card: #f6faf7;--line: #c7cfc8;--line-soft: #d0d7d1;--line-strong: #b3bab4;--shadow: 0 2px 4px rgba(12, 20, 14, .06), 0 16px 40px -16px rgba(12, 20, 14, .2);--shadow-sm: 0 1px 2px rgba(12, 20, 14, .09), 0 4px 12px -6px rgba(12, 20, 14, .16)}:root[data-theme=dark]{--accent: #40b262;--accent-deep: #65c67d;--accent-soft: #0e381b;--accent-wash: #0f2a16;--ink: #dce9de;--ink-soft: #869288;--ink-faint: #565f58;--paper: #121913;--card: #1d231e;--line: #2b3b2e;--line-soft: #202f23;--line-strong: #3d4d40;--shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px -6px rgba(0, 0, 0, .5)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:400 15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}#app{display:grid;grid-template-columns:1fr;grid-template-rows:var(--toolbar-h) 1fr;grid-template-areas:"toolbar" "viewport";height:100vh;height:100dvh;width:100vw;overflow:hidden;position:relative}#toolbar{grid-area:toolbar;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);background:var(--card);border-bottom:1px solid var(--line);min-width:0}.tb__left,.tb__center,.tb__right{display:flex;align-items:center;gap:var(--space-3);min-width:0}.tb__center{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.tb__center::-webkit-scrollbar{display:none}.tb__left{flex:none}.tb__right{flex:none;margin-left:auto}.tb__home{display:inline-flex;align-items:center;gap:8px;flex:none;padding:0;border:none;background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap}.tb__home:hover .brand__word{color:var(--accent)}.brand__word--sm{font-size:14.5px}.tb__sep{width:1px;height:22px;flex:none;background:var(--line)}.parts-panel{position:absolute;top:calc(var(--toolbar-h) + var(--space-3));left:var(--space-3);z-index:20;display:flex;flex-direction:column;width:var(--tree-w);max-height:calc(100dvh - var(--toolbar-h) - var(--space-6));border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);overflow:hidden}.parts-panel.is-hidden{display:none}.parts-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.parts-panel__title{font:700 .72rem/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.parts-panel__close{width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-faint);font:400 18px/1 var(--sans);cursor:pointer}.parts-panel__close:hover{background:var(--accent-wash);color:var(--ink)}.parts-panel__body{overflow-y:auto}#viewport{grid-area:viewport;position:relative;overflow:hidden;background:var(--paper)}#viewport>canvas{touch-action:none}#app.is-hidden,#empty.is-hidden{display:none}#empty{display:block;min-height:100vh;background:var(--paper);color:var(--ink);scroll-behavior:smooth}.skip-link{position:absolute;left:-9999px;top:0;z-index:400;padding:10px 16px;background:var(--card);color:var(--ink);border:1px solid var(--accent);border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{left:var(--space-3);top:var(--space-3)}#lhero{min-height:100vh;display:flex;flex-direction:column}.lbar{flex:0 0 60px;display:flex;align-items:center;gap:10px;padding:0 24px}.tb__brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}.brand__mark{flex:none;display:block}.brand__word{font:700 17px/1 var(--sans);letter-spacing:-.02em}.brand__word-accent{color:var(--accent)}.lnav{display:flex;align-items:center;gap:18px;margin-left:24px}.lnav a{color:var(--ink-soft);font-size:12.5px;font-weight:600;text-decoration:none}.lnav a:hover{color:var(--accent)}.lbar__spacer{flex:1}.lmain{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:18px 24px 44px}.lhead{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:700px;text-align:center}.lhead__eyebrow{margin:0;color:var(--accent-deep);font-size:11.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.lhead__title{margin:0;font-size:34px;font-weight:700;letter-spacing:-.02em;text-wrap:balance}.lhead__sub{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-soft);max-width:640px;text-wrap:pretty}.ldrop{width:100%;max-width:620px;min-height:210px;padding:20px 22px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--line-strong);border-radius:var(--radius);background:var(--card);cursor:pointer;transition:border-color .12s,background .12s}.ldrop:hover,.ldrop.is-over{border-color:var(--accent);background:var(--accent-wash)}.ldrop.is-busy{border-style:solid;border-color:var(--accent);background:var(--accent-wash);cursor:default}.ldrop__idle,.ldrop__load{display:flex;flex-direction:column;align-items:center;gap:12px}.ldrop__icon{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:20px}.ldrop__lead{font-size:15px;font-weight:600;text-align:center;text-wrap:balance}.ldrop__sub{font-size:13px;color:var(--ink-faint)}.ldrop__spin{width:28px;height:28px;border-radius:999px;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:cadverter-spin .7s linear infinite}.ldrop__msg{font-size:13.5px;color:var(--ink-soft);font-family:var(--mono)}.llink{padding:0;border:0;background:transparent;color:var(--accent);font-size:inherit;font-weight:650;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.llink:hover{color:var(--accent-deep)}.lformats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:620px}.lchip{padding:5px 12px;border:1px solid var(--line);background:var(--card);border-radius:999px;font-size:12px;color:var(--ink-soft);font-family:var(--mono)}.lprivacy{margin:0;font-size:12.5px;color:var(--ink-faint);text-align:center}.lnoscript{margin:6px 0 0;max-width:420px;font-size:12.5px;line-height:1.55;color:var(--ink-soft);text-align:center}#lcontent{border-top:1px solid var(--line);background:var(--card)}.lband{max-width:880px;margin:0 auto;padding:24px 24px 56px}.lsec{padding:44px 0 8px}.lsec+.lsec{border-top:1px solid var(--line-soft);margin-top:36px}.lsec h2{margin:0 0 18px;font-size:24px;font-weight:700;letter-spacing:-.015em}.lsec h3{margin:0 0 6px;font-size:15px;font-weight:650}.lsec p{margin:0 0 12px;font-size:14.5px;line-height:1.65;color:var(--ink-soft)}.lsec strong{color:var(--ink)}.lsec__lede{max-width:640px}.lsec__note{font-size:13px;color:var(--ink-faint)}.lmono{font-family:var(--mono);font-size:.92em;color:var(--ink)}.lfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 0}.lfacts div{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.lfacts dt{margin-bottom:4px;color:var(--ink-faint);font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.lfacts dd{margin:0;color:var(--ink);font-size:13.5px;line-height:1.45}.lsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}.lsteps li{display:flex;gap:16px;align-items:flex-start}.lstep__num{flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font:700 14.5px/1 var(--mono)}.lsteps p{margin:0}.lfeatures{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.lfeatures li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.lfeatures p{margin:0;font-size:13.5px}.ltable-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);margin:4px 0 14px}.ltable{width:100%;border-collapse:collapse;font-size:13.5px}.ltable th,.ltable td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.ltable th{background:var(--paper);font-size:12px;font-weight:650;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.ltable tbody tr:last-child td{border-bottom:none}.ltable td{color:var(--ink-soft)}.ltable td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}.ltable td:nth-child(3),.ltable td:nth-child(4){color:var(--ok);font-weight:700;text-align:center}.ltable th:nth-child(3),.ltable th:nth-child(4){text-align:center}.lsources{margin:12px 0 18px;padding-left:21px;color:var(--ink-soft);font-size:14px;line-height:1.65}.lsources li+li{margin-top:8px}.lsources a{color:var(--accent-deep);font-weight:650;text-underline-offset:2px}.lfaq{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin:0 0 10px}.lfaq summary{cursor:pointer;padding:14px 40px 14px 18px;font-size:14.5px;font-weight:650;list-style:none;position:relative}.lfaq summary::-webkit-details-marker{display:none}.lfaq summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:18px;font-weight:400}.lfaq[open] summary:after{content:"–"}.lfaq[open] summary{border-bottom:1px solid var(--line-soft)}.lfaq p{margin:0;padding:12px 18px 16px;font-size:14px;line-height:1.65;color:var(--ink-soft)}.lsitefoot{border-top:1px solid var(--line);background:var(--paper);padding:26px 24px 34px}.lsitefoot p{max-width:880px;margin:0 auto 12px;font-size:12.5px;line-height:1.6;color:var(--ink-faint)}.lsitefoot nav{max-width:880px;margin:0 auto;display:flex;flex-wrap:wrap;gap:18px}.lsitefoot nav a{font-size:12.5px;color:var(--ink-soft);text-decoration:none;font-weight:600}.lsitefoot nav a:hover{color:var(--accent)}.lsitefoot__copy{margin:18px auto 0;font-size:12px}.btn-open{font:600 14px/1 var(--sans);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer}.btn-open:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.drop-overlay{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;border:3px dashed var(--accent);background:var(--accent-wash);color:var(--accent-deep);font:600 1.1rem/1.4 var(--sans);pointer-events:none}.drop-overlay.is-active{display:flex}.part-node-wrapper{display:flex;flex-direction:column}.part-node{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:.85rem;color:var(--ink);border-bottom:1px solid var(--line)}.part-node-toggle{flex:none;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--ink-soft);font-size:.7rem;line-height:1;cursor:pointer}.part-node-spacer{flex:none;width:16px}.part-node-checkbox{flex:none;cursor:pointer}.part-node-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.part-node-label:hover{color:var(--accent-deep)}.part-node--deselected>.part-node-label{opacity:.5;text-decoration:line-through}.part-node--mixed>.part-node-label{opacity:.75;text-decoration:underline dotted;text-underline-offset:3px}.part-node-children{padding-left:var(--space-4)}.part-node-wrapper.is-collapsed>.part-node-children{display:none}#dialog-root{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.progress-toast,.error-toast,.warning-toast{display:none;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow);font:500 .85rem/1.4 var(--sans);pointer-events:auto}.progress-toast.is-visible,.error-toast.is-visible,.warning-toast.is-visible,.action-toast.is-visible{display:flex}.action-toast{display:none;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow);background:var(--card);color:var(--ink);border:1px solid var(--line);font:500 .85rem/1.4 var(--sans);pointer-events:auto;z-index:300}.action-toast__text{flex:1 1 auto}.action-toast__btn{flex:none;font:600 .85rem/1 var(--sans);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;background:var(--accent, currentColor);color:var(--paper);cursor:pointer}.action-toast__btn:hover{filter:brightness(1.08)}.action-toast__btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.progress-toast{background:var(--card);color:var(--ink);border:1px solid var(--line);position:relative;z-index:300}.progress-toast__spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:cadverter-spin .8s linear infinite}.progress-toast__cancel{margin-left:var(--space-2);padding:2px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;color:var(--ink-dim, var(--ink));font:500 .8rem/1.4 var(--sans);cursor:pointer}.progress-toast__cancel:hover{border-color:var(--danger);color:var(--danger)}.progress-toast__cancel:disabled{opacity:.5;cursor:default}@keyframes cadverter-spin{to{transform:rotate(360deg)}}.error-toast{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.warning-toast{background:var(--accent-wash);color:var(--accent-deep);border:1px solid var(--accent)}.toolbar-btn{padding:var(--space-2) var(--space-4);white-space:nowrap}.toolbar-select{position:relative;display:inline-flex;align-items:center}.toolbar-select>select{appearance:none;font:600 14px/1 var(--sans);padding:var(--space-3) 32px var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap}.toolbar-select>select:hover{background:var(--accent-wash)}.toolbar-select>select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toolbar-select>select>option{background:var(--card);color:var(--ink)}.toolbar-select:after{content:"";position:absolute;right:13px;width:6px;height:6px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:translateY(-2px) rotate(45deg);pointer-events:none}.toolbar-select:hover:after{border-color:var(--ink)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--ink-faint);border-color:var(--ink-faint)}.toolbar-group{display:flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);overflow:hidden}.toolbar-group>.mode-btn{border:none;border-radius:0;border-left:1px solid var(--line);background:transparent}.toolbar-group>.mode-btn:first-child{border-left:none}.mode-btn{font:500 13px/1 var(--sans);padding:var(--space-2) 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;white-space:nowrap}.mode-btn:hover{background:var(--accent-wash);color:var(--ink)}.mode-btn.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.tb__right>.mode-btn.active{border-color:var(--accent)}.mode-btn.is-unavailable{display:none}.toolbar-size{position:absolute;left:var(--space-3);bottom:var(--space-3);z-index:10;padding:var(--space-1) var(--space-3);border-radius:999px;border:1px solid var(--line);background:var(--card);font:500 12px/1.5 var(--mono);color:var(--ink-soft);white-space:nowrap;pointer-events:none}.toolbar-size:empty{display:none}.view-cube{position:absolute;top:var(--space-3);right:var(--space-3);z-index:10;display:grid;grid-template-columns:repeat(4,26px);grid-template-rows:repeat(3,26px);gap:2px;pointer-events:none}.view-cube__face{pointer-events:auto;display:flex;align-items:center;justify-content:center;font:600 11px/1 var(--sans);border-radius:4px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;padding:0}.view-cube__face:hover{background:var(--accent-wash);color:var(--accent-deep);border-color:var(--accent)}.view-cube__face--top{grid-column:2;grid-row:1}.view-cube__face--left{grid-column:1;grid-row:2}.view-cube__face--front{grid-column:2;grid-row:2}.view-cube__face--right{grid-column:3;grid-row:2}.view-cube__face--back{grid-column:4;grid-row:2}.view-cube__face--bottom{grid-column:2;grid-row:3}@media(max-width:720px){.view-cube{grid-template-columns:repeat(4,34px);grid-template-rows:repeat(3,34px);gap:3px}.view-cube__face{font-size:12px}}.modal-overlay{display:none;position:fixed;inset:0;z-index:200;align-items:center;justify-content:center;background:#16233b73;pointer-events:auto}.modal-overlay.is-visible{display:flex}.modal-panel{display:flex;flex-direction:column;gap:var(--space-3);width:min(360px,calc(100vw - var(--space-6)));padding:var(--space-5);border-radius:var(--radius);background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.modal-heading{margin:0;font:600 1.1rem/1.3 var(--sans)}.modal-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.85rem;color:var(--ink-soft)}.modal-label[hidden]{display:none}.modal-label select{font:500 14px/1.4 var(--sans);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink)}.cvt{width:min(680px,calc(100vw - var(--space-5)));max-height:min(86vh,860px);overflow:hidden}.cvt__groups{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0;overflow-y:auto}.cvt__group-title{margin:0 0 var(--space-2);font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.cvt__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:var(--space-2)}.cvt__tile{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .12s ease,background .12s ease}.cvt__tile:hover{border-color:var(--accent)}.cvt__tile.is-selected{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 12%,var(--paper))}.cvt__tile-name{font:600 14px/1.2 var(--sans)}.cvt__tile-caps{font-size:11px;line-height:1.3;color:var(--ink-soft)}.cvt__options{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.cvt__options:empty{display:none}.cvt__parts{margin:0;padding-top:var(--space-3);font-size:.8rem;color:var(--ink-soft)}.cvt__parts[hidden]{display:none}.cvt__separate{display:flex;align-items:center;gap:var(--space-2);margin-right:auto;font-size:.8rem;color:var(--ink-soft);cursor:pointer}.cvt__separate[hidden]{display:none}.cvt__opt{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--ink-soft)}.cvt__select{font:500 13px/1.4 var(--sans);padding:6px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink)}.cvt__slider-field{display:flex;align-items:center;gap:var(--space-2)}.cvt__slider{flex:1 1 auto;min-width:120px;accent-color:var(--accent, currentColor)}.cvt__slider-value{flex:none;min-width:5.5ch;font:500 12px/1.4 var(--sans);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.cvt__opt--check{flex-direction:row;align-items:center;gap:var(--space-1, 6px);align-self:end;padding-bottom:6px;cursor:pointer}.cvt__check{accent-color:var(--accent, currentColor);cursor:pointer}.cvt__options,.cvt .modal-actions{flex:none}.modal-message{margin:0;font-size:.85rem;line-height:1.5;color:var(--ink)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.btn-secondary{font:600 14px/1 var(--sans);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.btn-secondary:hover{background:var(--accent-wash)}.donate{width:min(392px,calc(100vw - var(--space-6)));gap:0}.donate__lead{font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:10px 0 0}.donate__tabs{display:flex;gap:6px;margin-top:14px}.donate__tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 4px;border-radius:var(--radius-sm);font:650 13px/1 var(--sans);background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.donate__tab:hover{border-color:var(--ink-faint);color:var(--ink)}.donate__tab.is-on{border-color:var(--accent);color:var(--ink);background:var(--accent-wash)}.donate__glyph{font:700 14px/1 var(--mono);display:inline-flex}.donate__glyph svg{display:block}.donate__card{margin-top:10px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm)}.donate__card.is-pop{animation:donate-pop .18s ease-out}@keyframes donate-pop{0%{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}.donate__qr{display:flex;justify-content:center;margin-bottom:12px}.donate__qr img{display:block;box-sizing:content-box;width:160px;height:160px;padding:var(--space-2);border-radius:var(--radius-sm);background:#fff;image-rendering:pixelated}.donate__addr{display:block;font:500 12px/1.5 var(--mono);color:var(--ink);word-break:break-all}.donate__row{display:flex;gap:12px;align-items:center;margin-top:12px}.donate__copy{min-width:118px;padding:var(--space-2) var(--space-4)}.donate__copy.is-copied{background:var(--ok);border-color:var(--ok)}.donate__status{margin:8px 0 0;min-height:1.2em;font-size:.8rem;color:var(--ok)}.donate__fine{font-size:12px;color:var(--ink-faint);margin:12px 0 0;line-height:1.5}.tb__support{height:32px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;line-height:1;flex:none;background:var(--card);border:1px solid var(--line);color:var(--ink);font:600 13px/1 var(--sans);cursor:pointer;white-space:nowrap}.tb__support:hover{border-color:var(--accent);background:var(--accent-wash)}.tb__support .btc-glyph{font-family:var(--mono);color:#e0245e}.tb__all{height:32px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;line-height:1;flex:none;background:transparent;border:1px solid var(--line);color:var(--ink);font:600 13px/1 var(--sans);cursor:pointer;white-space:nowrap}.tb__all:hover{border-color:var(--accent);background:var(--accent-wash)}.modal-panel.nx{width:min(620px,calc(100vw - var(--space-6)))}.nx__lead{margin:0 0 1rem;color:var(--ink-soft);font-size:.9rem;line-height:1.55}.nx__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.nx__item{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--card);color:inherit;text-decoration:none;transition:border-color .12s ease,background .12s ease,transform .12s ease}.nx__item:hover{border-color:var(--accent);background:var(--accent-wash);transform:translateY(-1px)}.nx__item.is-current{opacity:.62}.nx__mark{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.nx__mark svg{width:22px;height:22px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nx__text{min-width:0;display:flex;flex-direction:column;gap:.1rem}.nx__name{font-weight:700;font-size:.95rem;color:var(--ink)}.nx__tag{font-size:.8rem;color:var(--ink-soft);line-height:1.35}.nx__host{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint)}.nx__here{font-size:.72rem;font-weight:700;color:var(--accent-deep)}@media(max-width:560px){.nx__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.nx__item{transition:none}.nx__item:hover{transform:none}}.themebtn{width:32px;height:32px;padding:0;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);cursor:pointer;transition:transform .15s ease}.themebtn:hover{transform:rotate(24deg) scale(1.08)}.themebtn__dot{width:16px;height:16px;border-radius:50%;flex:none;background:conic-gradient(from 220deg,var(--accent) 0 50%,var(--paper) 50% 100%);border:1px solid var(--line)}.themepop{position:fixed;z-index:300;width:252px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:14px;animation:themepop-in .16s cubic-bezier(.2,.9,.3,1.2)}@keyframes themepop-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}.themepop__section{display:flex;flex-direction:column;gap:10px}.themepop__label{display:flex;align-items:baseline;justify-content:space-between;font:700 10.5px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.themepop__val{font:600 11.5px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-soft)}.themepop__slider{-webkit-appearance:none;appearance:none;width:100%;height:16px;margin:0;border-radius:8px;border:1px solid var(--line);outline:none;cursor:pointer}.themepop__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--card);border:2px solid var(--accent);box-shadow:0 1px 4px #00000040}.themepop__slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--card);border:2px solid var(--accent);box-shadow:0 1px 4px #00000040}.themepop__slider:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.themepop__swatches{display:flex;flex-wrap:wrap;gap:9px}.themepop__sw{width:22px;height:22px;border-radius:50%;border:none;padding:0;flex:none;cursor:pointer;box-shadow:0 0 0 1px var(--line);transition:transform .12s ease}.themepop__sw:hover{transform:scale(1.18)}.themepop__sw.is-on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent)}.themepop__foot{display:flex;justify-content:center;border-top:1px solid var(--line);padding-top:12px}.themepop__reset{font:600 12px/1 var(--sans);color:var(--ink-faint);text-decoration:none}.themepop__reset:hover{color:var(--accent)}@media(max-width:900px){#toolbar{gap:var(--space-2)}.tb__center{overflow-x:auto}}@media(max-width:720px){:root{--toolbar-h: 88px}#toolbar{flex-wrap:wrap;align-content:center;row-gap:6px;padding:0 var(--space-2)}.tb__left{order:1;flex:1 1 auto;min-width:0}.tb__right{order:2;margin-left:auto}.tb__center{order:3;flex:1 0 100%;padding-bottom:1px}.tb__home .brand__word,#toolbar .tb__sep{display:none}.toolbar-btn{padding:0 13px;font-size:13px}}@media(max-width:860px){.lnav{display:none}}@media(max-width:430px){.lbar{gap:8px;padding:0 12px}.lbar .brand__word{display:none}}@media(max-width:380px){.tb__support .btc-glyph+span{display:none}}@media(max-width:640px){.lbar{padding:0 16px}.lmain{gap:22px;padding:18px 18px 34px}.lhead__title{font-size:29px}.lhead__sub{font-size:14.5px}.ldrop{max-width:100%;min-height:190px;padding:18px 16px}.ldrop__sub{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.lband{padding:12px 18px 40px}.lsec{padding:34px 0 6px}.lsec h2{font-size:21px}.lfacts{grid-template-columns:1fr}.lsitefoot{padding-inline:18px}.ltable-scroll{margin-inline:-18px;border-inline:0;border-radius:0;scrollbar-width:thin}.ltable-scroll::-webkit-scrollbar{height:6px}.ltable-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.ltable{font-size:12.5px}.ltable th,.ltable td{padding:8px 10px}.ltable td:first-child{white-space:normal}}@media(max-width:430px){.ltable{font-size:12px}.ltable th,.ltable td{padding:7px 8px}}@media(max-width:640px){.lfacts dt{font-size:12px}}@media(prefers-reduced-motion:reduce){html,#empty{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.colorbtn{width:30px;height:30px;padding:0;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);cursor:pointer;transition:transform .15s ease}.colorbtn:hover{transform:scale(1.08);border-color:var(--accent)}.colorbtn__dot{width:15px;height:15px;border-radius:50%;flex:none;box-shadow:0 0 0 1px var(--line-strong) inset}.colorbtn__dot.is-original{background-image:linear-gradient(45deg,var(--ink-faint) 25%,transparent 25%),linear-gradient(-45deg,var(--ink-faint) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--ink-faint) 75%),linear-gradient(-45deg,transparent 75%,var(--ink-faint) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.colorpop{position:fixed;z-index:300;width:216px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:14px;animation:themepop-in .16s cubic-bezier(.2,.9,.3,1.2)}.colorpop__section{display:flex;flex-direction:column;gap:10px}.colorpop__label{font:700 10.5px/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.colorpop__swatches{display:flex;flex-wrap:wrap;gap:9px}.colorpop__sw{width:24px;height:24px;border-radius:50%;border:none;padding:0;flex:none;cursor:pointer;box-shadow:0 0 0 1px var(--line-strong);transition:transform .12s ease}.colorpop__sw:hover{transform:scale(1.15)}.colorpop__sw.is-on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent)}.colorpop__custom{width:100%;height:32px;padding:2px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer}.colorpop__foot{display:flex;justify-content:center;border-top:1px solid var(--line);padding-top:12px}.colorpop__original{font:600 12px/1 var(--sans);color:var(--ink-faint);text-decoration:none}.colorpop__original:hover{color:var(--accent)}.colorpop__original.is-on{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.viewport2d{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.viewport2d:active{cursor:grabbing}.modal{padding:0;border:none;max-width:none;max-height:none;overflow:visible;background:transparent;color:var(--ink)}.modal::backdrop{background:#16233b73}.modal .modal-panel h2{margin:0;font:600 1.1rem/1.3 var(--sans);color:var(--ink)}.modal .modal-panel h3{margin:var(--space-2) 0 0;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.modal .modal-panel>p,.modal .modal-panel>ul,.modal .chiprow,.modal .checkline{margin:0}.btn-open:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.modal-panel--drawing{width:min(560px,calc(100vw - var(--space-5)));max-height:min(90vh,900px);overflow-y:auto}.modal-panel--drawing>*{flex:none}.vsheet{display:flex;justify-content:center}.vsheet__paper{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);overflow:hidden;max-width:100%}.vsheet__stage{position:relative;flex:none}.vsheet__grid{position:absolute;inset:0;display:grid;place-content:center;transform-origin:center;grid-template-columns:repeat(var(--vgrid-columns, 5),var(--vgrid-cell, 72px));grid-template-rows:repeat(var(--vgrid-rows, 3),auto);justify-content:center;gap:6px;padding:var(--space-2)}.vcell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 5px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font:500 10px/1.2 var(--sans);cursor:pointer;opacity:.45;transition:opacity .12s ease,border-color .12s ease,background .12s ease}.vcell:hover{opacity:.8;border-color:var(--line-strong)}.vcell.is-on{opacity:1;border-color:var(--accent);background:color-mix(in oklch,var(--accent) 12%,var(--paper));color:var(--ink)}.vcell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vcell__pic{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:4px;background:color-mix(in oklch,var(--ink) 6%,transparent)}.vcell__pic img{width:100%;height:100%;object-fit:contain}.has-thumbs .vcell__pic{background:transparent}.vcell__label{letter-spacing:.04em;text-transform:uppercase}.vsheet__title{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);font:500 10px/1.3 var(--sans);color:var(--ink-soft);letter-spacing:.04em}.vsheet__meta{font-variant-numeric:tabular-nums}.warnings{display:grid;gap:var(--space-1);margin:0;padding-left:1.1rem;font-size:.8rem;line-height:1.45;color:var(--warn)}.warnings:empty{display:none}.checkline.is-disabled{color:var(--ink-faint);cursor:not-allowed}.checkline input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.chip{padding:.32rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-size:.9em;cursor:pointer;transition:border-color .12s ease,background .12s ease}.chip:hover{border-color:var(--accent);background:var(--accent-wash)}.chip--on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.chip--on:hover{background:var(--accent-deep)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cvt__presets{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .2rem}.cvt__presets-label{font-weight:600;margin-right:.2rem}.chiprow{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .9rem}.muted{color:var(--ink-soft, #666);font-size:.9em}.checkline{display:flex;align-items:center;gap:.4rem;margin:.5rem 0;cursor:pointer}.lcrumbs{font-size:13px;opacity:.8;margin:0 0 18px;display:flex;gap:8px;flex-wrap:wrap}.lcrumbs a{color:inherit}.lrelated{margin-top:28px}
