@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-semi-condensed-vietnamese-400-normal-Dj7eBp_3.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-400-normal-D1YxRXwC.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-semi-condensed-latin-ext-400-normal-BDztQS4c.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-400-normal-Bm5hzUPR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-semi-condensed-latin-400-normal-DlzeKIMS.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-400-normal-CwTnoNB3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#e8ebe3;--sheet:#f5f6f1;--ink:#1d2721;--ink-2:#4c5850;--ink-3:#75807a;--rule:#1d272133;--rule-strong:#1d27218c;--sienna:#9a6b3f;--flag:#ff3d8b;--cut:#c8402e;--fill:#3f8a4f;--focus:#2f5d7c;--rail-w:64px;--panel-w:336px;--tb-h:134px;--gap:14px;--sans:"Barlow", system-ui, sans-serif;--cond:"Barlow Semi Condensed", "Barlow", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:400 14px/1.45 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select{font:inherit;color:inherit}a{color:var(--ink);text-underline-offset:2px}a:hover{color:var(--sienna)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2{font-family:var(--cond);letter-spacing:.01em;margin:0;font-weight:600}.muted{color:var(--ink-2)}.small{font-size:12.5px}.num,.tb-num,.readout dd,.tick,.count{font-family:var(--cond);font-variant-numeric:tabular-nums}.app{position:fixed;inset:0}.scene{touch-action:none;position:absolute;inset:0}.scene-canvas{width:100%;height:100%;display:block}.app:not(.tool-navigate) .scene{cursor:crosshair}.scene-label{pointer-events:none;background:var(--flag);color:var(--ink);font:600 13px/1 var(--cond);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:2px;margin:-30px 0 0;padding:5px 7px 4px;position:absolute;top:0;left:0;translate:-50%}.masthead{top:var(--gap);left:calc(var(--rail-w) + var(--gap) * 2);pointer-events:none;grid-template-columns:auto auto;align-items:baseline;column-gap:18px;display:grid;position:absolute}.masthead>*{pointer-events:auto}.wordmark{letter-spacing:-.01em;font-size:26px;line-height:1}.tagline{color:var(--ink-2);margin:0;font-size:13px}.mast-actions{grid-column:1/-1;gap:8px;margin-top:10px;display:flex}.btn{cursor:pointer;background:var(--sheet);border:1px solid var(--rule-strong);height:32px;font-family:var(--cond);border-radius:2px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn svg{width:18px;height:18px}.btn-quiet{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);background:0 0;border-color:#0000}.btn-quiet:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);border-color:#0000}.btn-primary{background:var(--ink);color:var(--sheet);border-color:var(--ink)}.btn-primary:hover{background:#2c3a32}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{cursor:pointer;width:28px;height:28px;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{color:var(--ink);border-color:var(--rule)}.rail{top:var(--gap);left:var(--gap);width:var(--rail-w);background:var(--sheet);border:1px solid var(--rule-strong);border-radius:2px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute}.rail hr{border:0;border-top:1px solid var(--rule);width:70%;margin:6px auto}.rail-btn{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:2px;justify-items:center;gap:2px;padding:8px 2px 6px;display:grid;position:relative}.rail-btn:hover:not(:disabled){color:var(--ink);background:#1d27210f}.rail-btn.is-on{background:var(--ink);color:var(--sheet)}.rail-btn.is-on:before{content:"";background:var(--flag);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-5px}.rail-btn:disabled{opacity:.35;cursor:default}.rail-label{font:500 11px/1.1 var(--cond)}.rail-panel-toggle{display:none}.hint{bottom:var(--gap);left:calc((100% - var(--panel-w) + var(--rail-w)) / 2);width:max-content;max-width:min(620px, calc(100vw - var(--panel-w) - var(--rail-w) - var(--gap) * 6));border:1px solid var(--rule);color:var(--ink-2);pointer-events:none;background:#f5f6f1eb;border-radius:2px;margin:0;padding:7px 12px;font-size:13px;position:absolute;translate:-50%}.hint strong{color:var(--ink);font-family:var(--cond);font-weight:600}.hint-keys{color:var(--ink-3)}.toast{z-index:5;background:var(--sheet);border:1px solid var(--rule-strong);border-left:4px solid var(--cut);border-radius:2px;align-items:flex-start;gap:10px;max-width:min(560px,100vw - 32px);padding:10px 8px 10px 14px;display:flex;position:absolute;top:64px;left:50%;translate:-50%}.dropzone{z-index:6;border:2px dashed var(--ink);font:600 22px var(--cond);pointer-events:none;background:#e8ebe3db;border-radius:4px;place-items:center;display:grid;position:absolute;inset:10px}.finish{z-index:3;bottom:calc(var(--gap) + 48px);left:calc((100% - var(--panel-w) + var(--rail-w)) / 2);gap:6px;display:flex;position:absolute;translate:-50%}.finish .btn-primary{box-shadow:inset 0 -3px 0 var(--flag)}.panel{top:var(--gap);right:var(--gap);width:var(--panel-w);max-height:calc(100% - var(--tb-h) - var(--gap) * 3);overscroll-behavior:contain;background:var(--sheet);border:1px solid var(--rule-strong);border-radius:2px;position:absolute;overflow:auto}.panel-sec{border-bottom:1px solid var(--rule);padding:14px 16px}.panel-sec h2{margin-bottom:10px;font-size:15px}.panel-foot{color:var(--ink-2);padding:12px 16px;font-size:12px}.result{border-bottom:1px solid var(--rule-strong);box-shadow:inset 4px 0 0 var(--flag);background:#fff}.result-head{justify-content:space-between;align-items:center;margin:-4px -6px 6px 0;display:flex}.result-head h2{margin:0}.readout{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 16px;margin:0;display:grid}.readout .contents{display:contents}.readout dt{color:var(--ink-2);font-size:13px}.readout dd{text-align:right;margin:0;font-size:15px;font-weight:500}.readout dd.big{font-size:22px;font-weight:600;line-height:1.15}.is-cut{color:var(--cut)}.is-fill{color:var(--fill)}.ramp{margin:14px 0 8px}.ramp-bar{border:1px solid var(--rule);border-radius:1px;height:8px}.ramp-labels{font:400 12px var(--cond);color:var(--ink-2);justify-content:space-between;margin-top:4px;display:flex}.field{border:0;gap:4px;margin:0 0 12px;padding:0;display:grid}.field>span,.field legend{color:var(--ink-2);padding:0;font-size:13px}.field-inline{grid-template-columns:1fr auto;align-items:center}.field select,.num-input{border:1px solid var(--rule-strong);background:#fff;border-radius:2px;height:30px;padding:0 8px}.num-input{width:84px;height:26px;font-family:var(--cond);font-variant-numeric:tabular-nums;margin:0 4px 0 6px}.field input[type=range]{accent-color:var(--ink)}.radio{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:13.5px;display:flex}.radio input,.check input{accent-color:var(--ink);margin:0}.row{align-items:center;gap:8px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--rule-strong);font:500 12.5px var(--cond);cursor:pointer;background:#fff;border-radius:2px;padding:4px 8px}.chip:hover{border-color:var(--flag);box-shadow:inset 0 -2px 0 var(--flag)}.segmented{border:1px solid var(--rule-strong);border-radius:2px;width:max-content;display:inline-flex}.segmented button{cursor:pointer;font:500 13px var(--cond);background:0 0;border:0;padding:4px 12px}.segmented button+button{border-left:1px solid var(--rule-strong)}.segmented .is-on{background:var(--ink);color:var(--sheet)}.datasets,.layers{margin:0;padding:0;list-style:none}.datasets>li+li{border-top:1px dashed var(--rule);margin-top:12px;padding-top:12px}.datasets>li.is-hidden .ds-name{color:var(--ink-3)}.ds-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ds-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ds-meta{color:var(--ink-2);margin:2px 0 0 24px;font-size:12.5px}.layers{gap:1px;margin:6px 0 0 24px;display:grid}.layers li{font:400 13px var(--cond)}.check{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.count{color:var(--ink-3);margin-left:auto;font-size:12px}.swatch{border:1.5px solid;border-radius:1px;flex:none;width:12px;height:12px}.swatch-line{vertical-align:middle;border-radius:1px;flex:none;width:14px;height:3px;margin-right:6px;display:inline-block}.check .swatch-line{margin-right:0}.drawer{left:calc(var(--rail-w) + var(--gap) * 2);right:calc(var(--panel-w) + var(--gap) * 2);bottom:var(--gap);background:var(--sheet);border:1px solid var(--rule-strong);border-radius:2px;grid-template-rows:auto 1fr;height:248px;display:grid;position:absolute}.drawer-head{border-bottom:1px solid var(--rule);align-items:center;gap:14px;padding:8px 8px 6px 14px;display:flex}.drawer-head h2{white-space:nowrap;font-size:15px}.legend{font:400 13px var(--cond);color:var(--ink-2);white-space:nowrap;flex:1;gap:14px;display:flex;overflow:hidden}.chart{grid-template-rows:1fr auto;min-height:0;display:grid}.chart-svg{cursor:crosshair;width:100%;height:100%;display:block}.chart .grid{stroke:var(--rule);stroke-width:1px}.chart .tick{fill:var(--ink-2);font-size:11px}.chart .cursor{stroke:var(--flag);stroke-width:1.5px}.chart-readout{font:500 13px var(--cond);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:18px;min-height:26px;padding:4px 14px 8px;display:flex}.chart-readout .muted{font-weight:400}.title-block{right:var(--gap);bottom:var(--gap);width:var(--panel-w);height:var(--tb-h);background:var(--sheet);border:2px solid var(--ink);border-radius:1px;grid-template-rows:1fr 1fr 1fr;display:grid;position:absolute}.tb-row{border-top:1px solid var(--ink);display:grid}.tb-row:first-child{border-top:0}.tb-head{grid-template-columns:112px 1fr}.tb-coords{grid-template-columns:1fr 1fr .8fr}.tb-foot{grid-template-columns:.9fr .8fr 1.4fr 40px}.tb-cell{border-left:1px solid var(--ink);align-content:center;min-width:0;padding:2px 8px;display:grid}.tb-cell:first-child{border-left:0}.tb-label{font:400 10.5px/1.1 var(--cond);color:var(--ink-2);letter-spacing:.02em}.tb-num{white-space:nowrap;font-size:15px;font-weight:500;line-height:1.2}.tb-mark{font:600 16px/1.15 var(--cond)}.tb-value{font:500 13.5px/1.2 var(--cond);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tb-scale{grid-auto-flow:column;justify-content:start;align-items:center;gap:6px}.tb-scale .tb-num{font-size:13px}.bar-dark{fill:var(--ink)}.bar-light{fill:var(--sheet);stroke:var(--ink);stroke-width:1px}.tb-north{place-items:center;padding:0}.north{fill:var(--ink)}.north-n{font:600 9px var(--cond);fill:var(--ink)}@media (max-width:900px){.hint{display:none}:root{--gap:10px;--panel-w:min(360px, calc(100vw - 20px))}.masthead{left:var(--gap)}.tagline{display:none}.wordmark{font-size:22px}.rail{top:auto;bottom:var(--gap);left:var(--gap);right:var(--gap);flex-direction:row;width:auto;padding:3px;overflow-x:auto}.rail hr{display:none}.rail-btn{flex:1 0 54px}.rail-btn.is-on:before{width:auto;height:3px;inset:auto 8px -4px}.rail-panel-toggle{display:grid}.panel{top:auto;bottom:calc(var(--gap) * 2 + 66px);z-index:4;max-height:60%;display:none}.panel.is-open{display:block}.title-block{top:var(--gap);bottom:auto;left:var(--gap);right:var(--gap);grid-template-rows:auto;width:auto;height:auto}.tb-head,.tb-foot{display:none}.tb-row.tb-coords{border-top:0}.tb-cell{padding:4px 8px}.tb-num{font-size:13px}.masthead{top:64px}.drawer{left:var(--gap);right:var(--gap);bottom:calc(var(--gap) * 2 + 66px);height:220px}.toast{top:auto;bottom:96px}.finish{bottom:calc(var(--gap) * 2 + 66px);left:50%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
