:root{--bg: #121212;--elev-0: #0d0d0d;--elev-1: #1a1a1a;--elev-2: #202020;--elev-3: #262626;--elev-4: #2d2d2d;--elev-5: #333333;--elev-6: #3a3a3a;--elev-7: #404040;--elev-8: #474747;--elev-9: #4d4d4d;--text: #ffffff;--text-dim: #a0a0a0;--text-dimmer: #6e6e6e;--blue: #2e86de;--green: #10ac84;--red: #ee5253;--yellow: #feca57;--radius: 3px;--transition: .25s ease;--container: 1200px;--tablet: 1100px;--mobile: 480px;color-scheme:dark}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus{outline:none}*:focus-visible{outline:2px solid var(--blue);outline-offset:1px}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:14px;overflow-x:hidden}.container{margin:0 auto;max-width:var(--container);width:90%}.masthead{align-items:center;background:var(--elev-1);border-bottom:1px solid var(--elev-3);display:flex;justify-content:space-between;padding:14px 0;position:sticky;top:0;z-index:20}.masthead-inner{align-items:center;display:flex;justify-content:space-between;width:100%}.masthead h1{font-size:18px;font-weight:600;letter-spacing:.02em;margin:0}.masthead .tagline{color:var(--text-dimmer);font-size:12px;margin:2px 0 0}.masthead-actions{align-items:center;display:flex;gap:10px}button,.button{align-items:center;background:var(--text);border:none;border-radius:var(--radius);color:#000;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;justify-content:center;line-height:1.4;padding:8px 16px;transition:var(--transition)}button:hover,.button:hover{opacity:.9}button.secondary{background:var(--elev-5);color:var(--text)}button.secondary:hover{background:var(--elev-6);color:var(--red);opacity:1}.overview{align-items:center;display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin:22px 0 26px;padding:12px}.overview-stat{align-items:center;display:flex;font-size:14px;gap:8px}.overview-swatch{border-radius:50%;flex-shrink:0;height:20px;width:20px}.overview-stat .label{color:var(--text-dim);margin-right:4px}.overview-stat .value{font-weight:600;font-variant-numeric:tabular-nums}.overview-stat .pct{color:var(--text-dimmer);font-size:12px}.requirements{background:var(--elev-1);border-left:3px solid var(--blue);border-radius:var(--radius);margin-bottom:26px;padding:14px 16px}.requirements-head{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;gap:10px;justify-content:flex-start;padding:0;text-align:left;width:100%}.requirements-head:disabled{cursor:default}.requirements-head:hover .requirements-title{color:var(--blue)}.requirements-chevron{color:var(--blue);flex-shrink:0;font-size:12px;width:12px}.requirements-title{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:var(--transition)}.requirements-count{color:var(--text-dimmer);font-size:12px;font-variant-numeric:tabular-nums}.requirements-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:12px 0 0;max-height:190px;overflow-y:auto;padding:0}.requirements-list li{background:var(--elev-3);border-radius:var(--radius);font-size:12px;font-variant-numeric:tabular-nums;padding:4px 9px;transition:var(--transition)}.requirements-list li:hover{background:var(--elev-5)}.requirements-empty{color:var(--text-dim);font-size:13px;margin:0}.section{margin-bottom:30px}.section-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:4px}.section-head h2{font-size:15px;font-weight:600;margin:0}.section-meta{align-items:center;display:flex;flex-shrink:0;gap:10px}.section-note{color:var(--text-dimmer);font-size:12px;margin:0 0 10px}.tiles{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));list-style:none;margin:10px 0 0;padding:0}.tile{background:var(--elev-3);border:none;border-radius:var(--radius);color:inherit;cursor:pointer;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:3px;min-height:62px;padding:8px 9px;position:relative;text-align:left;transition:var(--transition);width:100%;align-items:stretch;justify-content:flex-start}.tile:hover{background:var(--elev-5)}.tile.done{background:#2e86de29;box-shadow:inset 0 0 0 1px #2e86de80}.tile.done:hover{background:#2e86de3d}.tile-name{font-size:12px;font-weight:600;line-height:1.25;padding-right:16px}.tile.done .tile-name{color:var(--text-dim)}.tile-meta{color:var(--text-dim);font-size:10.5px;line-height:1.35}.tile.done .tile-meta{color:var(--text-dimmer)}.tile-set{color:var(--blue);font-size:10px;letter-spacing:.02em;text-transform:uppercase}.tile-cost{color:var(--yellow);font-size:10.5px;font-variant-numeric:tabular-nums}.tile-note{color:var(--text-dimmer);font-size:10px;font-style:italic;line-height:1.3}.tile-tick{color:var(--green);font-size:12px;font-weight:700;line-height:1;position:absolute;right:8px;top:8px}.progress{align-items:center;display:flex;gap:8px}.progress-track{background:var(--elev-2);border-radius:var(--radius);height:6px;overflow:hidden;width:120px}.progress-fill{background:var(--blue);height:100%;transition:width var(--transition)}.progress-fill.complete{background:var(--green)}.progress-label{color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums;min-width:62px;text-align:right}.footer{border-top:1px solid var(--elev-2);color:var(--text-dimmer);font-size:12px;margin-top:34px;padding:18px 0 40px}.footer p{margin:0 0 4px}@media (max-width: 1100px){.progress-track{width:84px}}@media (max-width: 480px){.tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.progress-track{width:60px}.progress-label{min-width:52px}.masthead h1{font-size:16px}}
