:root{color:#171a1d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Noto Sans SC,Microsoft YaHei UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100svh}button,textarea{font:inherit}button{cursor:pointer}.page-shell{background:#fff;place-items:center;min-height:100svh;padding:48px 28px;display:grid;position:relative}.github-link{color:#1a1d20;border:1px solid #0000;border-radius:50%;place-items:center;width:38px;height:38px;transition:background-color .16s,border-color .16s,transform .16s;display:grid;position:absolute;top:27px;right:29px}.github-link:hover{background:#f4f6f6;border-color:#e1e6e7;transform:translateY(-1px)}.github-mark{width:20px;height:20px}.github-link:focus-visible,.balance-button:focus-visible,.add-product-button:focus-visible,.dialog-close:focus-visible,.dialog-cancel:focus-visible,.dialog-confirm:focus-visible,.state-option:focus-visible,.dialog-input:focus-visible,.author-credit a:focus-visible,.equation-action-button:focus-visible{outline-offset:3px;outline:2px solid #468282}.equation-workbench{width:min(100%,688px);margin-top:-26px;animation:.52s cubic-bezier(.22,1,.36,1) both enter}.eyebrow{color:#5f7777;letter-spacing:.14em;margin:0 0 20px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600}h1{color:#151719;letter-spacing:0;margin:0;font-family:Iowan Old Style,Palatino Linotype,Noto Serif SC,serif;font-size:clamp(36px,8.5vw,70px);font-weight:600;line-height:1.08}.intro{color:#70787b;letter-spacing:0;margin:21px 0 49px;font-size:16px}.reaction-field{border-top:1px solid #202326;border-bottom:1px solid #ccd2d3;padding:14px 0 17px;position:relative}.field-heading{justify-content:flex-start;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.field-heading span{color:#52666a;letter-spacing:.1em;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600}.product-stage{width:100%;min-height:84px;padding:2px 28px 2px 0;display:block}.product-reorder-group{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.add-product-item{cursor:grab;touch-action:none;will-change:transform;display:inline-flex}.add-product-item:active,.product-tag:active{cursor:grabbing}.product-stage-resizer,.product-stage-resizer>div,.result-resizer,.result-resizer>div,.result-transition{width:100%}.product-tag{color:#244d4e;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform;background:#eef5f4;border:1px solid #cbdada;border-radius:4px;align-items:center;gap:6px;min-height:34px;padding:5px 6px 5px 10px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1;display:inline-flex}.product-tag em{color:#668080;font-size:12px;font-style:normal}.product-tag b{color:#3f6d6e;font-weight:600}.add-product-button{color:#496d6e;letter-spacing:0;cursor:grab;background:0 0;border:1px dashed #aebfc0;border-radius:4px;align-items:center;gap:7px;min-height:34px;padding:6px 11px;font-size:13px;font-weight:600;transition:border-color .16s,background-color .16s;display:inline-flex}.add-product-button:active{cursor:grabbing}.add-product-button:hover{background:#f1f7f6;border-color:#468282}.tag-remove{color:#587273;background:0 0;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;transition:color .16s,background-color .16s;display:grid}.tag-remove:hover{color:#1c3c3d;background:#dce9e8}.tag-remove:focus-visible{outline-offset:1px;outline:2px solid #468282}.field-rule{background:#468282;width:44px;height:2px;position:absolute;bottom:-1px;right:0}.generation-settings{border:0;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;display:flex}.generation-settings legend{color:#63787a;letter-spacing:.08em;width:100%;margin-bottom:2px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600}.setting-option{color:#667477;cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-height:32px;padding:5px 8px 5px 6px;font-size:12px;transition:color .16s,background-color .16s;display:inline-flex;position:relative}.setting-option:hover{color:#294f50;background:#f2f6f6}.setting-option input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.setting-check{color:#fff;background:#fff;border:1px solid #9eacad;border-radius:3px;flex:0 0 18px;place-items:center;width:18px;height:18px;transition:color .16s,background-color .16s,border-color .16s,transform .16s;display:grid}.setting-check svg{opacity:0;transition:opacity .14s,transform .16s cubic-bezier(.22,1,.36,1);transform:scale(.6)}.setting-option input:checked+.setting-check{background:#468282;border-color:#468282}.setting-option input:checked+.setting-check svg{opacity:1;transform:scale(1)}.setting-option input:focus-visible+.setting-check{outline-offset:2px;outline:2px solid #468282}.balance-button{color:#fff;letter-spacing:0;background:#1a1d20;border:1px solid #1a1d20;border-radius:4px;justify-content:space-between;align-items:center;width:100%;min-height:56px;margin-top:24px;padding:0 19px 0 22px;font-size:15px;font-weight:600;transition:background-color .16s,transform .16s;display:flex}.balance-button:hover{background:#355f60;transform:translateY(-1px)}.balance-button:disabled{cursor:wait;background:#294f50;transform:none}.balance-button-copy,.balance-button-copy>span,.balance-button-icon{align-items:center;display:inline-flex}.balance-button-icon{justify-content:center;width:20px;height:20px}.loading-spinner{flex:none;animation:.72s linear infinite loading-spin}.result-idle{height:0}.result-loading{color:#63787a;letter-spacing:.02em;border-top:1px solid #d8dede;border-bottom:1px solid #d8dede;align-items:center;gap:10px;min-height:58px;margin-top:18px;padding:0 2px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;display:flex}.result-loading .loading-spinner{color:#468282}.result-error{color:#a5473c;align-items:center;min-height:38px;margin:15px 0 0;font-size:13px;display:flex}.equation-result{border-top:1px solid #ccd2d3;border-bottom:1px solid #ccd2d3;margin-top:24px;padding:17px 0}.equation-line,.equation-side{flex-wrap:wrap;align-items:center;display:flex}.equation-line{color:#1d2527;gap:12px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:17px;line-height:1.7}.equation-side{gap:4px}.equation-token{white-space:nowrap;align-items:baseline;display:inline-flex}.equation-token i{color:#748083;margin-right:4px;font-style:normal}.equation-token b{font-weight:500}.equation-token em{color:#547a7a;margin-left:1px;font-size:.86em;font-style:normal}.equation-arrow{color:#468282;font-size:22px;line-height:1}.equation-actions{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.equation-action-label-resizer{flex:none;display:inline-flex}.equation-action-content{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.equation-action-button{color:#496d6e;background:#f8fbfb;border:1px solid #cbd8d7;border-radius:4px;align-items:center;gap:7px;min-height:32px;padding:5px 10px;font-size:12px;font-weight:600;transition:color .16s,background-color .16s,border-color .16s,transform .16s;display:inline-flex}.equation-action-button:hover{color:#294f50;background:#eef5f4;border-color:#7fa4a3;transform:translateY(-1px)}.author-credit{color:#829092;margin-top:28px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.author-credit a{color:#3f6d6e;text-underline-offset:3px;text-decoration-color:#a9bdbd;transition:color .16s,text-decoration-color .16s}.author-credit a:hover{color:#1f4e4f;text-decoration-color:#468282}.dialog-backdrop{z-index:10;background:#151a1c42;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog-backdrop.is-closed{pointer-events:none;background:0 0}.product-dialog{background:#fff;border:1px solid #d5dddd;border-radius:6px;width:min(100%,448px);padding:27px;box-shadow:0 22px 60px #1722232b}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:29px;display:flex}.dialog-heading .eyebrow{margin-bottom:8px;font-size:10px}.dialog-heading h2{color:#1a1d20;letter-spacing:0;margin:0;font-family:Iowan Old Style,Palatino Linotype,Noto Serif SC,serif;font-size:29px;font-weight:600}.dialog-close{color:#536263;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:color .16s,background-color .16s,border-color .16s;display:grid}.dialog-close:hover{background:#f2f7f6;border-color:#d6e1e0}.dialog-label,.state-options legend{color:#52666a;letter-spacing:.08em;margin-bottom:10px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600;display:block}.dialog-input{color:#1d2527;background:#fff;border:1px solid #bdc9c9;border-radius:4px;width:100%;height:48px;padding:0 13px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:15px;transition:color .16s,background-color .16s,border-color .16s}.product-inputs{grid-template-columns:minmax(0,1fr) 96px;gap:12px;display:grid}.quantity-input{text-align:center}.dialog-input::placeholder{color:#a1abad}.input-error{color:#a5473c;margin:0;padding-top:8px;font-size:12px}.input-error-resizer,.input-error-resizer>div{width:100%}.input-error-idle{height:0;display:block}.state-options{border:0;min-width:0;margin:26px 0 0;padding:0}.state-options>div{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.state-option{color:#617172;background:#fff;border:1px solid #c5d0d0;border-radius:4px;min-height:40px;padding:6px 10px;font-size:13px;transition:color .16s,background-color .16s,border-color .16s}.state-option:hover{border-color:#7d9999}.state-option.is-selected{color:#245354;background:#eaf4f2;border-color:#468282}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:29px;display:flex}.dialog-cancel,.dialog-confirm{border-radius:4px;min-height:42px;padding:0 17px;font-size:14px;font-weight:600;transition:color .16s,background-color .16s,border-color .16s}.dialog-cancel{color:#526264;background:#fff;border:1px solid #c7d0d0}.dialog-confirm{color:#fff;background:#1a1d20;border:1px solid #1a1d20;min-width:84px}.dialog-cancel:hover{background:#f3f6f6}.dialog-confirm:hover{background:#355f60}@keyframes enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (width<=560px){.page-shell{align-items:start;padding:130px 22px 44px}.github-link{top:20px;right:18px}.equation-workbench{margin:0}.intro{margin-bottom:39px}.product-dialog{padding:23px 20px}.equation-line{gap:8px;font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.loading-spinner{animation:none}.balance-button:hover,.github-link:hover{transform:none}}
