@font-face{font-family:Minecraft;src:url(../Minecraft-Seven_v2.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--font-body: "Minecraft", monospace, sans-serif;--font-heading: "Minecraft", monospace, sans-serif;--font-pixel: "Minecraft", monospace, sans-serif;--bg-darker: #f4f5f7;--bg-base: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f8f9fa;--bg-input: #ffffff;--border-color: #e2e8f0;--border-highlight: #cbd5e1;--accent-primary: #d9480f;--accent-primary-hover: #f57c00;--accent-glow: none;--accent-cyan: #0284c7;--accent-green: #16a34a;--accent-red: #dc2626;--accent-purple: #9333ea;--text-main: #0f172a;--text-muted: #475569;--text-dim: #94a3b8;--shadow-main: 0 1px 3px rgba(0, 0, 0, .05);--shadow-glow: none;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .12s ease;--transition-smooth: .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}body{font-family:var(--font-body);background-color:var(--bg-darker);color:var(--text-main);min-height:100vh;line-height:1.5}#root{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-base);border-bottom:1px solid var(--border-color);padding:.5rem 0;box-shadow:0 1px 2px #00000008;width:100%}.header-container{max-width:1280px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.5rem}.brand-title-sm{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--text-main);letter-spacing:-.2px}.header-controls{display:flex;align-items:center;gap:1rem}.control-group{display:flex;align-items:center;gap:.4rem}.control-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.control-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-body);font-size:.85rem;font-weight:500;padding:.25rem .6rem;border-radius:var(--radius-sm);outline:none;transition:var(--transition-fast)}.control-input:focus{border-color:var(--accent-primary)}.control-input:disabled{background:var(--bg-darker);color:var(--text-muted);cursor:not-allowed;opacity:.85}.app-main{max-width:1280px;margin:1rem auto;padding:0 1rem;flex:1;display:flex;flex-direction:column;align-items:center;width:100%}.solver-workspace-layout{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;width:100%}.craft-history-sidebar{width:268px;min-width:268px;background:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.65rem;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:.65rem;align-self:flex-start;position:sticky;top:1rem;max-height:calc(100vh - 5rem);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.craft-history-sidebar::-webkit-scrollbar{display:none}.history-bar-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);padding-bottom:.4rem}.history-title-group{display:flex;align-items:center;gap:.4rem}.history-header-title{font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:var(--text-main)}.history-clear-btn{background:none;border:none;font-size:.72rem;color:var(--text-muted);cursor:pointer;padding:.15rem .35rem;border-radius:var(--radius-sm);transition:var(--transition-fast)}.history-clear-btn:hover{color:var(--accent-red);background:#fef2f2}.history-items-list{display:flex;flex-direction:column;gap:.45rem}.history-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem .5rem;color:var(--text-muted);font-size:.8rem;text-align:center;gap:.2rem}.history-empty-sub{font-size:.7rem;color:var(--text-dim)}.history-item-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:.55rem .65rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;overflow:hidden}.history-item-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 6px #0000000f}.history-item-card.selected{border-color:var(--accent-cyan);background:#f0f9ff}.history-card-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.history-flow-icons{display:flex;flex-direction:row;align-items:center;gap:.35rem;flex-shrink:0}.history-icon-wrapper{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;flex-shrink:0}.history-arrow-wrapper{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.history-arrow-png{height:10px;width:auto;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.history-step-sequence{display:flex;flex-direction:row;align-items:flex-start;gap:.35rem;flex-wrap:nowrap;width:100%;height:44px;min-height:44px}.history-step-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;flex-shrink:0;width:32px;height:44px;min-height:44px}.history-action-png-icon,.history-skeleton-icon{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;flex-shrink:0;display:block}.history-skeleton-icon{background:#e2e8f0;border-radius:4px;animation:skeletonPulse 1.2s infinite ease-in-out}.history-action-count-texture,.history-skeleton-count-container{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1px;image-rendering:pixelated;image-rendering:crisp-edges;height:10px;min-height:10px;width:100%;flex-shrink:0}.history-count-x,.history-count-digit{width:6px;height:10px;display:block;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.history-skeleton-count{width:14px;height:10px;background:#cbd5e1;border-radius:2px;animation:skeletonPulse 1.2s infinite ease-in-out}.history-no-steps{font-size:.72rem;color:var(--text-dim);font-style:italic;height:44px;display:flex;align-items:center}@keyframes skeletonPulse{0%,to{opacity:.35}50%{opacity:.8}}.history-remove-btn{position:absolute;top:4px;right:4px;background:none;border:none;color:var(--text-dim);font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease;line-height:1;padding:2px 4px}.history-item-card:hover .history-remove-btn{opacity:1}.history-remove-btn:hover{color:var(--accent-red)}@media (max-width: 859px){.craft-history-sidebar{display:none!important}}.metal-recipe-browser{background:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;width:100%;box-shadow:0 1px 3px #0000000d;margin-bottom:1rem;display:flex;flex-direction:column;gap:.85rem}.browser-bar-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);padding-bottom:.6rem;flex-wrap:wrap;gap:.5rem}.bar-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--text-main)}.preset-pill{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;padding:.15rem .5rem;border-radius:12px;font-weight:700}.browser-search-wrapper{position:relative;display:flex;align-items:center}.browser-search-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-body);font-size:.8rem;padding:.25rem 1.6rem .25rem .55rem;border-radius:var(--radius-sm);outline:none;width:220px;transition:var(--transition-fast)}.browser-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #d9480f26}.search-clear-btn{position:absolute;right:.4rem;background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:0 .2rem;line-height:1;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{color:var(--text-main)}.no-recipes-found{font-size:.85rem;color:var(--text-muted);padding:.75rem;width:100%;text-align:center;font-style:italic;grid-column:1 / -1}.recipe-browser-grid{display:grid;grid-template-columns:repeat(auto-fill,44px);gap:.4rem;justify-content:center;align-items:center;width:100%}.slot-icon-btn{width:44px;height:44px;position:relative;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none}.slot-icon-btn:hover{border-color:var(--accent-primary);background:#fff;box-shadow:0 2px 6px #00000014;z-index:10}.slot-icon-btn.selected{border-color:var(--accent-primary);background:#fff4e6}.metal-slot.selected{border-color:var(--accent-cyan);background:#e0f2fe}.recipe-slot{border-color:#cbd5e1;background:#fff;animation:slotFadeIn .12s ease-out}@keyframes slotFadeIn{0%{opacity:0}to{opacity:1}}.slot-badge{position:absolute;bottom:3px;right:5px;font-size:.65rem;font-weight:700;color:#0f172a;font-family:var(--font-pixel);pointer-events:none;line-height:1}.slot-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:100;pointer-events:none;width:max-content;max-width:280px;padding:.5rem .7rem;background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-shadow:0 4px 14px #0000001f,0 1px 3px #0000000d;color:#0f172a;text-align:left;font-size:.78rem;line-height:1.35}.slot-icon-btn:hover .slot-tooltip{display:block}.tooltip-title{font-weight:700;color:#0f172a;border-bottom:1px solid #e2e8f0;padding-bottom:.2rem;margin-bottom:.25rem;font-size:.82rem}.tooltip-sub{color:#475569;font-size:.72rem;word-break:break-all}.tooltip-meta{color:#c2410c;font-size:.72rem;font-weight:600;margin-top:.2rem}.tooltip-rules{color:#0284c7;font-size:.7rem;margin-top:.2rem;text-transform:capitalize}.solver-panel{display:flex;flex-direction:column;width:100%}.anvil-main-display-section{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000d;margin-bottom:1rem}.anvil-display-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0;overflow:hidden}.anvil-display-scaler{position:relative;width:176px;height:100px;transform-origin:center top;transition:transform .2s ease,margin-bottom .2s ease}.anvil-display-container{position:absolute;top:0;left:0;width:176px;height:100px;-webkit-user-select:none;user-select:none;image-rendering:pixelated;image-rendering:crisp-edges}.anvil-tp-background{width:176px;height:100px;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.anvil-slot-overlay{position:absolute;width:16px;height:16px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;z-index:2}.anvil-slot-overlay .action-png-icon{width:16px;height:16px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.anvil-slot-overlay.action-slot{cursor:default}.anvil-slot-overlay.rule-slot{background:transparent}.anvil-slot-overlay.item-slot{z-index:3}.anvil-slot-overlay .slot-badge{font-size:.45rem;bottom:1px;right:1px}.anvil-target-indicator-line{position:absolute;width:1px;height:5px;top:78px;background-color:var(--accent-green);z-index:4;transition:left .4s ease}.anvil-chevron-indicator{position:absolute;width:5px;height:5px;z-index:5;transition:left .4s ease}.anvil-chevron-indicator .chevron-icon{width:5px;height:5px;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.anvil-target-number-container{position:absolute;display:flex;flex-direction:row;align-items:center;gap:1px;pointer-events:none;z-index:6;image-rendering:pixelated;image-rendering:crisp-edges;transition:left .4s ease}.anvil-target-number-container .digit-texture-icon{width:3px;height:5px;display:block;image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain}.anvil-results-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;overflow:hidden}.anvil-results-scaler{position:relative;width:176px;height:38px;transform-origin:center top;transition:transform .2s ease,margin-bottom .2s ease}.anvil-results-container{position:absolute;top:0;left:0;width:176px;height:38px;-webkit-user-select:none;user-select:none;image-rendering:pixelated;image-rendering:crisp-edges}.results-bg-texture{width:176px;height:38px;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.results-slot-overlay{position:absolute;width:16px;height:16px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;z-index:2}.results-slot-overlay .action-png-icon{width:16px;height:16px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.results-action-count-container{position:absolute;display:flex;flex-direction:row;align-items:center;gap:1px;pointer-events:none;z-index:6;image-rendering:pixelated;image-rendering:crisp-edges}.results-action-count-container .count-x-icon,.results-action-count-container .digit-texture-icon{width:3px;height:5px;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.app-footer{text-align:center;padding:1rem;font-size:.8rem;color:var(--text-dim);border-top:1px solid var(--border-color);background:var(--bg-base)}.footer-link{color:var(--accent-primary);text-decoration:none;font-weight:500;transition:var(--transition-fast)}.footer-link:hover{color:var(--accent-primary-hover);text-decoration:underline}@media (max-width: 640px){.app-header{padding:.5rem 0}.header-container{padding:0 .35rem;flex-wrap:wrap;gap:.5rem}.brand-title-sm{font-size:.95rem}.header-controls{gap:.5rem;flex-wrap:wrap}.control-input{padding:.2rem .4rem;font-size:.8rem}.app-main{margin:.5rem auto;padding:0 .35rem}.metal-recipe-browser{padding:.6rem;gap:.6rem}.browser-bar-header{flex-direction:column;align-items:stretch;gap:.5rem}.browser-search-input{width:100%}.recipe-browser-grid{grid-template-columns:repeat(auto-fill,40px);gap:.3rem}.slot-icon-btn{width:40px;height:40px}.anvil-main-display-section{padding:.5rem .35rem;margin-bottom:.5rem}.anvil-display-wrapper,.anvil-results-wrapper{padding:2px 0}.slot-tooltip{max-width:200px;font-size:.72rem}}
