.tool-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.tool-card h2{margin:0 0 6px;font-size:1.15rem}.tool-card p{margin:0}.tool-note{margin-top:18px}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 18px;margin-bottom:14px;display:grid}.tool-form fieldset{border:0;min-width:0;margin:0;padding:0}.tool-form legend{font-family:var(--display);margin-bottom:10px;padding:0;font-size:1.2rem}.tool-form .field{min-width:0}.tool-result h2{margin-top:0;font-size:1.2rem}.tool-result h3{margin:16px 0 6px}.tool-figures{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 24px;margin:0;display:grid}.tool-figures dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.tool-figures dd{margin:2px 0 0}.tool-figure{font-family:var(--display);font-size:1.5rem;line-height:1.25}.tool-source{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.tool-matches{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tool-matches li{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--paper);align-items:center;gap:10px;padding:8px;display:flex}.tool-match-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tool-match-body .title{font-weight:600}.tool-quality{border:1px solid var(--line);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:.8rem}.tool-quality-excellent{border-color:var(--sage);color:var(--sage)}.tool-quality-good{border-color:var(--gold);color:var(--gold)}.tool-quality-fair{color:var(--ink-soft)}.tool-scroll{overflow-x:auto}.tool-table{border-collapse:collapse;width:100%;min-width:480px}.tool-table th,.tool-table td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:7px 10px}.tool-table thead th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.tool-table tbody th{white-space:nowrap;font-weight:600}.tool-table tr.is-best{background:var(--paper-2)}.tool-table tr.is-best th .meta{font-weight:400;display:block}.tool-method{margin-top:28px}.tool-siblings{margin-top:24px}.wiki-index{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.75rem;display:grid}.wiki-section h2{font-family:var(--display);border-bottom:1px solid var(--line-soft);margin:0 0 .4rem;padding-bottom:.35rem;font-size:1.15rem}.wiki-section h2 a{text-decoration:none}.wiki-branch{margin:0;padding:0;list-style:none}.wiki-branch li{margin:.15rem 0;line-height:1.45}.wiki-branch .wiki-branch{border-left:1px solid var(--line-soft);margin-left:.9rem;padding-left:.6rem}.wiki-branch.is-deep{font-size:.94em}.wiki-branch a[aria-current=page]{font-weight:600;text-decoration:none}.wiki-page h1{font-family:var(--display);margin-bottom:.75rem}.wiki-children{border-top:1px solid var(--line-soft);margin-top:2rem;padding-top:1rem}.wiki-children h2{margin:0 0 .5rem;font-size:1rem;font-weight:600}.wiki-neighbours{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.wiki-neighbours a{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;flex:14rem;gap:.15rem;padding:.6rem .8rem;text-decoration:none;display:flex}.wiki-neighbours a .muted{font-size:.82em}.wiki-neighbours .next{text-align:right;margin-left:auto}.wiki-meta{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:.75rem;margin-top:2rem;padding-top:.75rem;font-size:.88rem;display:flex}.game-tiles{grid-template-columns:1fr}@media (width>=42rem){.game-tiles{grid-template-columns:repeat(2,1fr)}}.game-tile{align-items:flex-start}.game-tile-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.game-tile-body .title{color:inherit;text-decoration:none}.game-tile-body .title:hover{color:var(--thread);text-decoration:underline}.game-tile-body .meta{margin:0}.game-soon{background:var(--paper-2);color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;align-self:flex-start;margin-left:auto;padding:.15rem .55rem;font-size:.75rem}.game-stage{border-style:dashed;border-color:var(--line);box-shadow:none;background:var(--paper-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:14rem;margin-top:1.25rem;display:flex}.game-stage-mark{font-family:var(--display);margin:0;font-size:1.25rem}.game-stage .muted{max-width:32rem;margin:0}:root{--paper:#f4eee1;--paper-2:#ece2cd;--card:#fffdf7;--ink:#2a2520;--ink-soft:#6c6052;--thread:#b23a48;--thread-deep:#8c2b38;--sage:#5d7355;--gold:#c2873c;--line:#d8c9ac;--line-soft:#e7dcc4;--shadow:0 1px 0 #2a25200a, 0 8px 24px -16px #2a252059;--display:ui-serif, Georgia, "Palatino Linotype", "Times New Roman", serif;--body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--radius:9px;--maxw:960px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--body);background-color:var(--paper);background-image:radial-gradient(var(--line) 1px, transparent 1.6px);background-position:50%;background-size:22px 22px;min-height:100vh;margin:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;font-weight:600;line-height:1.15}h1{font-size:clamp(1.8rem,1.3rem + 2vw,2.7rem)}h2{margin-top:1.6rem;font-size:1.5rem}h3{font-size:1.15rem}a{color:var(--thread-deep);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--thread);text-decoration-color:var(--thread)}p{margin:0 0 1rem}.muted{color:var(--ink-soft)}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}main.container{padding-top:2rem;padding-bottom:4rem}.site-header{background:linear-gradient(var(--card), var(--paper));border-bottom:1px solid var(--line);position:relative}.site-header:after{content:"";background-image:repeating-linear-gradient(90deg, var(--thread) 0 7px, transparent 7px 14px);opacity:.5;height:3px;position:absolute;bottom:-1px;left:0;right:0}.site-header .container{flex-wrap:wrap;align-items:center;gap:1.25rem;padding-top:.9rem;padding-bottom:.9rem;display:flex}.brand{font-family:var(--display);color:var(--ink);align-items:baseline;gap:.45rem;font-size:1.55rem;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.brand .x{color:var(--thread);font-size:.9em}.nav{flex-wrap:wrap;align-items:center;gap:1.1rem;margin-left:auto;display:flex}.nav a{color:var(--ink-soft);font-size:.95rem}.nav a:hover{color:var(--thread-deep)}.nav a[aria-current=page]{color:var(--thread-deep);box-shadow:inset 0 -2px 0 var(--thread);font-weight:600}.locale{border-left:1px solid var(--line);padding-left:.6rem;position:relative}.locale>summary{cursor:pointer;letter-spacing:.05em;color:var(--ink-soft);border-radius:5px;padding:2px 6px;font-size:.72rem;list-style:none}.locale>summary::-webkit-details-marker{display:none}.locale>summary:hover,.locale[open]>summary{color:var(--thread-deep);background:var(--paper-2)}.locale>summary:focus-visible{outline:2px solid var(--thread);outline-offset:2px}.locale ul{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:11rem;box-shadow:var(--shadow);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.locale-footer{border-left:0;margin-top:.6rem;padding-left:0;display:block}.locale-footer>summary{padding-left:0;display:inline-block}.locale-footer ul{inset:auto auto calc(100% + 6px) 0}.locale li{margin:0}.locale ul a{color:var(--ink-soft);white-space:nowrap;border-radius:5px;padding:.35rem .55rem;font-size:.85rem;display:block}.locale ul a:hover{background:var(--paper-2);color:var(--thread-deep);text-decoration:none}.locale ul a.current{color:var(--thread-deep);font-weight:600}.locale ul a .name{color:var(--ink-soft);font-weight:400}.lang-bar{background:var(--paper-2);border-bottom:1px solid var(--line);font-size:.85rem}.lang-bar .container{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding-top:.5rem;padding-bottom:.5rem;display:flex}.lang-bar-prompt{color:var(--ink-soft)}.lang-bar-choices{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.lang-bar-choices a{border:1px solid var(--line);background:var(--card);color:var(--thread-deep);border-radius:5px;padding:2px 8px;display:inline-block}.lang-bar-choices a[aria-current=true]{background:var(--thread);border-color:var(--thread);color:#fff}.lang-bar-keep{margin:0 0 0 auto}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);font-size:.85rem}.site-footer .container{padding-top:1.25rem;padding-bottom:1.25rem}.btn{appearance:none;cursor:pointer;font:inherit;border-radius:var(--radius);background:var(--thread);color:#fff;box-shadow:var(--shadow);border:1px solid #0000;align-items:center;gap:.4rem;padding:.62rem 1.05rem;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;transition:transform 80ms,background .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--thread-deep);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:none}.btn-ghost:hover{background:var(--paper-2);color:var(--ink)}.btn-sm{padding:.34rem .66rem;font-size:.82rem}.btn-danger{color:var(--thread-deep);box-shadow:none;background:0 0;border-color:#0000;padding:.34rem .5rem;font-size:.82rem}.btn-danger:hover{color:var(--thread-deep);background:#b23a481a}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:1.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.tiles{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.bar{background:var(--line);border-radius:999px;height:6px;margin-top:.4rem;display:block;overflow:hidden}.bar-fill{background:var(--sage);border-radius:999px;height:100%;display:block}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:.75rem;padding:.85rem 1.05rem;transition:border-color .15s;display:flex}.tile:hover{border-color:var(--thread)}.tile .title{font-family:var(--display);font-size:1.1rem;font-weight:600}.tile .meta{color:var(--ink-soft);font-size:.85rem}.tile .spacer{margin-left:auto}.kit-thumb{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);flex:none;width:76px;height:76px}.tile .actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.tile form{margin:0}.empty{color:var(--ink-soft);padding:.5rem 0;font-style:italic}.thread{align-items:flex-start}.thread-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.thread-body>.title,.thread-body>.meta{display:block}.sw{border-radius:4px;flex:none;width:18px;height:18px;margin-top:.15rem;display:inline-block;box-shadow:inset 0 0 0 1px #0000002e}.sw-sm{border-radius:3px;width:11px;height:11px;margin:0 .15rem -1px 0}.thread .sym{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.swap{white-space:nowrap}.swap .quality{opacity:.75}.dot{background:var(--thread);border-radius:3px;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001a}.field{margin-bottom:1rem}.field label{color:var(--ink-soft);margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}.field input,.field select{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{border-color:var(--thread);outline:none;box-shadow:0 0 0 3px #b23a4829}.field .err{color:var(--thread-deep);margin-top:.3rem;font-size:.82rem;display:block}.field .hint{color:var(--ink-soft,#6b6257);margin:.3rem 0 0;font-size:.82rem}.notice{border:1px solid var(--line);border-left:3px solid var(--thread);border-radius:var(--radius);background:var(--paper);margin-bottom:1rem;padding:.6rem .9rem}.translation-note{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.35rem 0 0;display:flex}.translation-badge{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;display:inline-block}.translation-note .btn-sm{margin:0}.inline-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-form input,.inline-form select{font:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .7rem}.narrow{max-width:26rem;margin:1.5rem auto}.center-link{text-align:center;margin-top:1.25rem;font-size:.9rem}.hero{text-align:center;padding:2.5rem 0 1rem}.hero .kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--thread);font-size:.72rem;font-weight:700}.hero h1{margin:.6rem 0}.hero .lead{color:var(--ink-soft);max-width:34rem;margin:0 auto 1.5rem;font-size:1.1rem}.hero .cta{flex-wrap:wrap;justify-content:center;gap:.75rem;display:inline-flex}.stitch-rule{max-width:200px;height:14px;color:var(--line);opacity:.7;background-image:repeating-linear-gradient(45deg,currentColor 0 2px,#0000 2px 6px),repeating-linear-gradient(-45deg,currentColor 0 2px,#0000 2px 6px);border:0;margin:2rem auto}.toolbar-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.toolbar-row .spacer{margin-left:auto}.breadcrumbs{margin:-.5rem 0 1rem}.breadcrumbs ol{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--line);margin-right:.4rem}.breadcrumbs [aria-current=page]{color:var(--ink-soft)}.page-head{margin-bottom:1.25rem}.page-head .sub{color:var(--ink-soft);margin-top:-.25rem}.stitch-grid{grid-template-rows:repeat(7,10px);grid-auto-columns:10px;grid-auto-flow:column;gap:3px;padding:4px 0;display:grid;overflow-x:auto}.stitch-grid span{background:var(--line-soft);border-radius:2px;width:10px;height:10px;display:block}.stitch-grid span[data-level="1"]{background:#cfd8c8}.stitch-grid span[data-level="2"]{background:#a9bb9d}.stitch-grid span[data-level="3"]{background:#7f9a72}.stitch-grid span[data-level="4"]{background:var(--sage)}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.25rem;padding:.9rem 1.05rem;display:flex}.stat-value{font-family:var(--display);font-size:1.75rem;line-height:1.1}.stat-label{color:var(--ink-soft);font-size:.85rem}.demand-weeks{width:100%;height:120px;margin:.5rem 0 .25rem;display:block}.demand-bar{fill:var(--sage)}.demand-bar-empty{fill:var(--line)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.prose{max-width:68ch;line-height:1.7}.prose h2,.prose h3{font-family:var(--display);margin:1.6em 0 .4em}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 1em}.prose ul,.prose ol{padding-left:1.4em}.prose blockquote{border-left:3px solid var(--line);color:var(--ink-soft);padding-left:1em}.prose code{background:var(--paper-2);border-radius:3px;padding:.1em .35em}.prose pre{background:var(--paper-2);border-radius:var(--radius);padding:.8em 1em;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{max-width:100%;height:auto}.embed{aspect-ratio:16/9;border-radius:var(--radius);background:var(--paper-2);width:100%;max-width:720px;margin:.8em 0;position:relative;overflow:hidden}.embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.avatar{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:64px;height:64px}.avatar-lg{width:128px;height:128px}.chat{gap:.6rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.chat-line{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);max-width:46rem;padding:.7rem .95rem}.chat-line p{overflow-wrap:anywhere;margin:.25rem 0 0}.chat-line .meta{color:var(--ink-soft);font-size:.85rem}.chat-mine{background:var(--paper-2);border-color:var(--line);margin-left:auto}.stash-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.stash-tile{align-items:flex-start;position:relative;overflow:hidden}.stash-tile .sw{border-radius:6px;width:28px;height:28px;margin-top:.1rem}.stash-tile .body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.stash-tile .body>.title,.stash-tile .body>.meta{display:block}.stash-tile .qty{white-space:nowrap;font-weight:600}.stash-tile.is-partial:after{content:"";border-style:solid;border-width:0 20px 20px 0;border-color:transparent var(--paper) transparent transparent;width:0;height:0;filter:drop-shadow(-1px 1px 0 var(--line));position:absolute;top:-1px;right:-1px}.stash-section-tile .count{font-size:1.6rem;font-family:var(--display);line-height:1.1}.stash-form .row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 .75rem;display:grid}.stash-form .check{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.stash-form .check input{width:auto}.stash-form .check label{color:var(--ink);margin:0;font-weight:500}.stash-tile .step{flex-direction:column;flex:none;align-self:center;align-items:flex-end;gap:.2rem;margin-left:auto;display:flex}.stash-tile .step .buttons{gap:.25rem;display:flex}.stash-tile .step .btn{justify-content:center;min-width:2rem;padding:.3rem .5rem;font-size:.95rem}.stash-tile .step .err{color:var(--thread-deep);text-align:right;max-width:9rem;font-size:.78rem}.stash-tile .step .err:empty{display:none}.stash-tile .want{margin-top:.25rem}.shopping-group h2{margin:1.5rem 0 .5rem}.shopping-group h3{margin:.75rem 0 .25rem;font-weight:500}.shopping-tiles{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.shopping-tile{flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:1rem}.shopping-tile .sw{border-radius:8px;flex:none;width:56px;height:56px}.shopping-tile .body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.shopping-tile .body>.title,.shopping-tile .body>.meta{display:block}.shopping-tile .need{font-size:1.1rem;font-weight:600}.shopping-tile .actions{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;display:flex}.shopping-tile .actions .btn{min-height:2.75rem}.shopping-tile .actions form{align-items:center;gap:.4rem;display:flex}.shopping-tile .actions .some input{width:6rem;min-height:2.75rem;margin:0}.shopping-notice{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.shopping-notice form{margin:0}.stash-picker{border:1px solid var(--line);background:var(--card);width:min(640px,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--ink);box-shadow:var(--shadow);border-radius:14px;padding:1.25rem}.stash-picker::backdrop{background:#2a252073}.stash-picker-head{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.stash-picker-head h2{flex:1;margin:0}.stash-picker-controls{grid-template-columns:minmax(8rem,1fr) 2fr;gap:.5rem;display:grid}.stash-picker-controls select,.stash-picker-controls input{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .75rem}.stash-picker-controls input:focus,.stash-picker-controls select:focus{border-color:var(--thread);outline:none;box-shadow:0 0 0 3px #b23a4829}.stash-picker .hint{color:var(--ink-soft);margin:.3rem 0 0;font-size:.82rem}.stash-picker-results,.stash-picker-basket{gap:.25rem;max-height:45vh;margin:.5rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.stash-picker-results li,.stash-picker-basket li{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--card);align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.stash-picker-results li{cursor:pointer}.stash-picker-results li.is-active{border-color:var(--thread);box-shadow:0 0 0 2px #b23a4829}.stash-picker-results li[aria-selected=true]{background:var(--paper-2)}.stash-picker-results li[aria-selected=true]:before{content:"✓";color:var(--sage);font-weight:700}.stash-picker .sw{border-radius:6px;flex:none;width:22px;height:22px;margin:0;box-shadow:inset 0 0 0 1px #0000001a}.stash-picker .code{white-space:nowrap;min-width:3.5rem;font-weight:600}.stash-picker .name{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.stash-picker .brand{color:var(--ink-soft);font-size:.8rem}.stash-picker-basket input[type=number]{width:4.5rem;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:.25rem .4rem}.stash-picker-basket .check{white-space:nowrap;align-items:center;gap:.3rem;margin:0;font-size:.85rem;display:flex}.stash-picker-basket .check input{accent-color:var(--thread)}.stash-picker-foot{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.stash-picker-foot .meta{margin-right:auto}.stash-picker .err{color:var(--thread-deep);margin:.5rem 0 0;font-size:.85rem}.stash-picker .err:empty{display:none}.palette{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.35rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.palette li{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--card);align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.palette li .sw{margin:0}.palette li .code{min-width:3.5rem;font-weight:600}.palette li .name{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.palette li input[type=number]{width:4.5rem;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;padding:.25rem .4rem}.palette li input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--thread)}.shortfall-tile .need{font-weight:600;display:block}.shortfall-tile.is-enough .enough{opacity:.7}.shortfall-tile .actions{flex:none;margin-left:auto}.shortfall-tile .swap form{display:inline}.shortfall-tile .swap .btn{vertical-align:baseline}.shortfall-all{align-items:center;gap:1rem;margin-top:.75rem;display:flex}
