@font-face{font-family:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-semi-condensed-latin-600-normal-BlCmTINa.woff2)format("woff2"),url(/assets/saira-semi-condensed-latin-600-normal-CyCQx_HP.woff)format("woff")}@font-face{font-family:Saira Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-semi-condensed-latin-700-normal-DrSnQFZS.woff2)format("woff2"),url(/assets/saira-semi-condensed-latin-700-normal-BeJ8KZkF.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--night-950:#14110e;--night-900:#1c1814;--night-800:#26201a;--night-700:#3a3128;--night-600:#7a6a56;--sand-50:#f1e6d2;--sand-300:#b9a888;--sand-500:#9c8c72;--spice-400:#e0a24e;--spice-ink:#1a120a;--ibad-400:#6cb4ec;--rust-400:#e2734f;--overlay-panel:#100d0abd;--overlay-shadow:0 1px 2px #000000e6;--font-display:"Saira Semi Condensed", "Arial Narrow", sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--night-950);color:var(--sand-50);font:400 14px/20px var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--spice-400)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--spice-400);outline-offset:2px}.eyebrow{font:600 12px/16px var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--spice-400)}.label{font:600 13px/16px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--sand-300)}.caption{color:var(--sand-500);font-size:12px;line-height:16px}.num{font-variant-numeric:tabular-nums;font-weight:500}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.error{padding:var(--space-3) var(--space-4);border:1px solid var(--rust-400);border-radius:var(--radius-md);color:var(--rust-400)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.app{flex-direction:column;min-height:100vh;display:flex}.app__header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) max(16px, env(safe-area-inset-right,0px)) var(--space-4) max(16px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--night-700);flex-wrap:wrap;display:flex}.app__title{font:700 24px/28px var(--font-display);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;display:flex}.app__tools{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.guild-bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.guild-bar__error{color:var(--rust-400);font-size:13px}.guild-status{align-items:center;gap:var(--space-2);padding:3px var(--space-3) 3px var(--space-2);border:1px solid var(--night-700);border-radius:var(--radius-md);display:inline-flex}.guild-status__name{font:600 12px/18px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--sand-50)}.guild-status__dot{background:var(--sand-500);border-radius:50%;width:8px;height:8px}.guild-status--live .guild-status__dot{background:var(--ibad-400)}.guild-status--saving .guild-status__dot{background:var(--spice-400)}.guild-status--offline .guild-status__dot,.guild-status--missing .guild-status__dot{background:var(--rust-400)}.button:disabled{opacity:.6;cursor:default}.lang-switch{border:1px solid var(--night-600);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.lang-switch__option{padding:3px var(--space-2);font:600 12px/18px var(--font-display);letter-spacing:.1em;color:var(--sand-300);cursor:pointer;background:0 0;border:0}.lang-switch__option+.lang-switch__option{border-left:1px solid var(--night-600)}.lang-switch__option[aria-pressed=true]{background:var(--night-800);color:var(--sand-50)}.app__layout{justify-content:center;gap:var(--space-4);width:100%;padding:var(--space-4) max(16px, env(safe-area-inset-right,0px)) var(--space-6) max(16px, env(safe-area-inset-left,0px));flex:1;grid-template-columns:minmax(260px,340px) minmax(0,720px) minmax(240px,300px);grid-template-areas:"browser work side";align-items:start;display:grid}.app__browser{top:var(--space-4);grid-area:browser;position:sticky}.app__browser .panel{max-height:calc(100vh - 2 * var(--space-4));flex-direction:column;display:flex}.app__work{gap:var(--space-4);flex-direction:column;grid-area:work;min-width:0;display:flex}.app__side{top:var(--space-4);grid-area:side;min-width:0;position:sticky}.app__side:empty{display:none}.app__footer{padding:var(--space-4) max(16px, env(safe-area-inset-right,0px)) var(--space-6) max(16px, env(safe-area-inset-left,0px));text-align:center}@media (width<=1400px){.app__layout{grid-template-columns:minmax(260px,340px) minmax(0,720px);grid-template-areas:"browser side""browser work"}.app__side{position:static}}@media (width<=760px){.app__layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"browser""side""work"}.app__browser{position:static}.app__browser .panel{max-height:50vh}}.panel{padding:var(--space-4);background:var(--night-900);border:1px solid var(--night-700);border-radius:var(--radius-lg);min-width:0}.panel__head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.panel__count{margin-left:var(--space-2);border-radius:var(--radius-sm);background:var(--night-800);font:600 12px/18px var(--font-body);letter-spacing:0;color:var(--sand-300);padding:0 6px}.panel__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.item-icon{border-radius:var(--radius-sm);background:var(--night-800);object-fit:contain;flex-shrink:0;display:block}.button{justify-content:center;align-items:center;gap:var(--space-2);padding:5px var(--space-3);border:1px solid var(--spice-400);border-radius:var(--radius-md);color:var(--spice-400);cursor:pointer;background:0 0;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--spice-400);color:var(--spice-ink)}.button--ghost{color:var(--sand-300);border-color:#0000}.button--ghost:hover{background:var(--night-800);color:var(--sand-50)}.button--icon{width:28px;height:28px;color:var(--sand-300);border-color:#0000;padding:0;font-size:18px}.button--icon:hover{background:var(--night-800);color:var(--rust-400)}.search,.select,.qty-input{height:32px;padding:0 var(--space-2);border:1px solid var(--night-600);border-radius:var(--radius-md);background:var(--night-800);color:var(--sand-50)}.search{width:100%;padding:0 var(--space-3)}.search::placeholder,.qty-input::placeholder{color:var(--sand-500)}.select{cursor:pointer;min-width:0;max-width:100%}.select--compact{height:28px;font-size:12px}.qty-input{text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;width:64px}.qty-input::-webkit-inner-spin-button{appearance:none;margin:0}.qty-input::-webkit-outer-spin-button{appearance:none;margin:0}.field{align-items:center;gap:var(--space-2);display:inline-flex}.have-check{appearance:none;border:1.5px solid var(--night-600);border-radius:var(--radius-sm);background:var(--night-800);cursor:pointer;flex-shrink:0;place-content:center;width:18px;height:18px;margin:0;display:grid}.have-check:hover{border-color:var(--spice-400)}.have-check:checked{border-color:var(--ibad-400);background:var(--ibad-400)}.have-check:checked:after{content:"";border:solid var(--night-950);border-width:0 2px 2px 0;width:5px;height:9px;margin-top:-2px;transform:rotate(45deg)}.qty-edit{text-align:right;min-width:0;color:var(--spice-400);cursor:text;background:0 0;border:0;border-bottom:1px dashed #0000;padding:0;font-size:15px;font-weight:600}.qty-edit:hover{border-bottom-color:var(--spice-400)}.qty-edit__input{width:100%;height:28px}.stepper{border:1px solid var(--night-600);border-radius:var(--radius-md);background:var(--night-800);text-shadow:none;gap:2px;padding:1px;display:inline-flex}.stepper__btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;width:24px;height:20px;padding:0;font-weight:600;line-height:20px}.stepper__btn:hover:not(:disabled){background:var(--night-700);color:var(--spice-400)}.stepper__btn:disabled{opacity:.4;cursor:default}.browser__filters{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.cat-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.cat-tab{align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-2) 2px 6px;border:1px solid var(--night-700);border-radius:var(--radius-md);color:var(--sand-300);cursor:pointer;background:0 0;flex-direction:column;display:flex}.cat-tab:hover{border-color:var(--night-600);color:var(--sand-50)}.cat-tab[aria-pressed=true]{border-color:var(--spice-400);background:var(--night-800);color:var(--spice-400)}.cat-tab .item-icon{background:0 0}.cat-tab__label{max-width:100%;font:600 10.5px/14px var(--font-display);letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}.cat-tab__glyph{fill:none;stroke:currentColor;stroke-width:1.5px;display:block}.cat-tab__glyph--dots{fill:currentColor;stroke:none}.tree-list{flex-direction:column;display:flex}.tree-node{align-items:center;gap:var(--space-2);width:100%;padding:6px var(--space-2) 6px calc(var(--space-2) + var(--depth,0) * 16px);border-radius:var(--radius-md);text-align:left;color:var(--sand-300);cursor:pointer;background:0 0;border:0;display:flex}.tree-node:hover{background:var(--night-800);color:var(--sand-50)}.tree-node[aria-expanded=true]{color:var(--sand-50)}.tree-node__caret{fill:none;stroke:currentColor;stroke-width:1.5px;flex-shrink:0}.tree-node[aria-expanded=true] .tree-node__caret{stroke:var(--spice-400)}.tree-node__name{flex:1;min-width:0;font-size:14px;font-weight:600}.tree-node--top .tree-node__name{font:600 13px/18px var(--font-display);letter-spacing:.12em;text-transform:uppercase}.tree-node--top{border-top:1px solid var(--night-700);border-radius:0}.tree-node__count{color:var(--sand-500);font-size:12px}.item-row.tree-item{padding-left:calc(var(--space-2) + var(--depth,0) * 16px + 4px)}.chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.chip{padding:2px var(--space-2);border:1px solid var(--night-600);border-radius:var(--radius-md);font:600 12px/18px var(--font-display);letter-spacing:.06em;color:var(--sand-300);cursor:pointer;background:0 0}.chip:hover{color:var(--sand-50)}.chip[aria-pressed=true]{border-color:var(--spice-400);background:var(--night-800);color:var(--spice-400)}.browser__empty{padding:var(--space-2) 0}.browser__list{min-height:0;margin:0 calc(-1 * var(--space-2));overflow-y:auto}.item-row{align-items:center;gap:var(--space-3);width:100%;padding:6px var(--space-2);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.item-row:hover{background:var(--night-800)}.item-row__name{overflow-wrap:break-word;flex:1;min-width:0;font-size:15px;font-weight:500;line-height:20px}.item-row__add{font:600 12px/16px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--spice-400);opacity:0}.item-row:hover .item-row__add,.item-row:focus-visible .item-row__add{opacity:1}.build{flex-direction:column;display:flex}.build__row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.build__row+.build__row{border-top:1px solid var(--night-700)}.build__name{overflow-wrap:break-word;flex:1;min-width:0;font-size:15px;font-weight:500}.empty{gap:var(--space-3);color:var(--sand-300);flex-direction:column;display:flex}.empty__examples{gap:var(--space-2);flex-wrap:wrap;display:flex}.machines{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.machines__kind{gap:var(--space-2);flex-direction:column;display:flex}.machines__title{color:var(--sand-300);font-size:13px;font-weight:600}.machines__options{gap:var(--space-1);flex-direction:column;display:flex}.machine{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border:1px solid var(--night-700);border-radius:var(--radius-md);text-align:left;color:var(--sand-300);cursor:pointer;background:0 0;display:flex}.machine:hover{border-color:var(--night-600);color:var(--sand-50)}.machine[aria-checked=true]{border-color:var(--spice-400);background:var(--night-800);color:var(--sand-50)}.machine__name{flex:1;min-width:0;font-size:14px;font-weight:500;line-height:18px}.machine[aria-checked=true] .machine__name:after{content:" ✓";color:var(--spice-400)}.plan-row{align-items:center;gap:2px var(--space-3);padding:var(--space-2) 0;grid-template-columns:18px 56px 28px minmax(0,1fr);font-size:15px;line-height:22px;display:grid}.plan-row+.plan-row{border-top:1px solid var(--night-700)}.plan-row--readonly{grid-template-columns:56px 24px minmax(0,1fr)}.plan-row__qty{text-align:right;color:var(--spice-400);font-weight:600}.plan-row__name{font-weight:500}.plan-row__have{margin-left:var(--space-2);color:var(--ibad-400);font-size:12px;font-weight:500}.plan-row__details{align-items:center;gap:var(--space-1) var(--space-3);color:var(--sand-300);flex-wrap:wrap;grid-column:3/-1;font-size:13px;line-height:18px;display:flex}.plan-row--readonly .plan-row__details{grid-column:3}.ingredient{align-items:center;gap:var(--space-1);display:inline-flex}.plan-row.is-done .plan-row__name,.plan-row.is-done .qty-edit{color:var(--sand-500);text-decoration:line-through}.plan-row.is-done .item-icon{opacity:.5}.plan-row.is-done .plan-row__details{display:none}.plan-row:not(.is-done)+.plan-row.is-done{border-top-color:var(--night-600)}
