.sim-overlay{--sim-bg:#f3f4f6;--sim-card:#fff;--sim-border:#e5e7eb;--sim-border2:#d1d5db;--sim-text:#111827;--sim-muted:#4b5563;--sim-faint:#6b7280;--sim-dimmer:#d1d5db;--sim-input-bg:#fff;--sim-date-col:#6b7280;--sim-graph-link:#dde0e7;--sim-word-yellow:#1d4e89;--sim-word-green:#f79256;--sim-word-blue:#a99db8;--sim-title-col:#2563eb;--sim-accent:#2563eb}[data-theme=dark] .sim-overlay{--sim-bg:#0f1117;--sim-card:#13151f;--sim-border:#1e2133;--sim-border2:#2a2d3d;--sim-text:#e5e7eb;--sim-muted:#9ca3af;--sim-faint:#6b7280;--sim-dimmer:#374151;--sim-input-bg:#13151f;--sim-date-col:#6b7280;--sim-graph-link:#252b3e;--sim-word-yellow:#1d4e89;--sim-word-green:#f79256;--sim-word-blue:#a99db8;--sim-title-col:#60a5fa;--sim-accent:#3b82f6}.sim-overlay{background:var(--sim-bg);z-index:9999;color:var(--sim-text);justify-content:center;align-items:flex-start;padding:.75rem 1rem 2rem;font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}.sim-container{flex-direction:column;gap:.25rem;width:100%;max-width:800px;display:flex}.sim-header{justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.sim-title{color:#1d4e89;margin:0;font-family:Quicksand,sans-serif;font-size:1.4rem;font-weight:600}.sim-date{color:var(--sim-date-col);text-transform:capitalize;font-size:.78rem}.sim-subtitle{color:#a99db8;letter-spacing:.01em;margin:0;font-size:.75rem}.sim-challenge{justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 0 .25rem;display:flex}.sim-word{letter-spacing:.02em;font-size:1.45rem;font-weight:700}.sim-word--start{color:var(--sim-word-yellow)}.sim-word--end{color:var(--sim-word-green)}.sim-dots{flex:1;justify-content:center;align-items:center;gap:5px;display:flex}.sim-dot{background:var(--sim-border2);border-radius:50%;width:5px;height:5px}.sim-info{text-align:center;color:var(--sim-faint);letter-spacing:.01em;margin:0;font-size:.82rem}.sim-chains{background:var(--sim-card);border:1px solid var(--sim-border);border-radius:12px;align-items:flex-start;gap:.5rem;min-height:3.75rem;padding:.9rem 1rem;font-family:JetBrains Mono,Courier New,monospace;font-size:.88rem;display:flex}.sim-half{flex-wrap:wrap;flex:1;align-items:center;gap:.25rem;line-height:1.9;display:flex}.sim-half--right{direction:rtl;justify-content:flex-end}.sim-half--right .sim-cw{direction:ltr}.sim-bridge{color:var(--sim-border2);letter-spacing:.15em;flex-shrink:0;align-self:center;padding:0 .25rem;font-size:1rem}.sim-cw{color:var(--sim-muted);white-space:nowrap}.sim-cw--start{color:var(--sim-word-yellow);font-weight:600}.sim-cw--end{color:var(--sim-word-green);font-weight:600}.sim-cw--active-left{color:#60a5fa;font-weight:600}.sim-cw--active-right{color:#a78bfa;font-weight:600}.sim-arr{color:var(--sim-border2);margin:0 .2rem}.sim-chain-sep{color:var(--sim-border2);margin:0 .1rem}@keyframes sim-chain-blink{0%{opacity:1}15%{opacity:.15}35%{opacity:1}55%{opacity:.15}75%{opacity:1}90%{opacity:.4}to{opacity:1}}.sim-cw--blink{animation:2s ease-in-out sim-chain-blink}.sim-steps-counter{text-align:right;color:var(--sim-faint);font-family:JetBrains Mono,monospace;font-size:.78rem}.sim-steps-counter span{color:var(--sim-muted)}.sim-hints{background:#1d4e890f;border:1px solid #1d4e8926;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.5rem .75rem;display:flex}.sim-hint-bulb{margin-right:.25rem;font-size:.95rem}.sim-hint-word{color:#1d4e89;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.sim-hint-sep{color:var(--sim-faint);font-weight:400}.sim-input-row{align-items:flex-start;gap:.5rem;display:flex}.sim-input-wrap{flex:1;position:relative}.sim-input{background:var(--sim-input-bg);border:1px solid var(--sim-border);width:100%;color:var(--sim-text);box-sizing:border-box;border-radius:8px;outline:none;padding:.75rem 1rem;font-family:Rubik,sans-serif;font-size:1rem;transition:border-color .15s,background .15s}.sim-input:focus{border-color:var(--sim-accent)}.sim-input::placeholder{color:var(--sim-faint)}.sim-input:disabled{opacity:.5}.sim-input--error{color:#f87171;caret-color:#0000;background:#f8717114!important;border-color:#f87171!important}.sim-input--unknown{color:#f97316;caret-color:#0000;background:#f9731614!important;border-color:#f97316!important}.sim-tooltip{color:#fff;white-space:nowrap;pointer-events:none;z-index:10;background:#f97316;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;position:absolute;bottom:calc(100% + 7px);left:1rem}.sim-tooltip:after{content:"";border:5px solid #0000;border-top-color:#f97316;position:absolute;top:100%;left:1rem}.sim-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;min-height:44px;padding:.75rem 1.1rem;font-family:Rubik,sans-serif;font-size:.88rem;font-weight:600;transition:opacity .15s,transform .1s}.sim-btn:disabled{opacity:.35;cursor:not-allowed}.sim-btn:not(:disabled):hover{opacity:.82}.sim-btn:not(:disabled):active{transform:scale(.97)}.sim-btn--submit{background:var(--sim-accent);color:#fff;min-width:3rem;padding:.75rem 1rem;font-size:1.1rem}.sim-btn--error-icon{color:#f87171;pointer-events:none;background:#f871711f;border:1px solid #f8717159;min-width:3rem;padding:.75rem 1rem;font-family:system-ui,-apple-system,sans-serif;font-size:1rem}.sim-btn--unknown-icon{color:#f97316;pointer-events:none;background:#f973161f;border:1px solid #f9731659;min-width:3rem;padding:.75rem 1rem;font-family:system-ui,-apple-system,sans-serif;font-size:1rem}.sim-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.sim-btn--hint{color:#c084fc;background:0 0;border:1px solid #c084fc4d}.sim-btn--hint:not(:disabled):hover{opacity:1;background:#c084fc14}.sim-btn--icon{border:1px solid var(--sim-border);background:0 0;min-width:3rem;padding:.75rem 1rem;font-size:1.1rem}.sim-btn--give-up{border:1px solid var(--sim-border);color:var(--sim-muted);background:0 0}.sim-btn--reset{border:1px solid var(--sim-border2);color:var(--sim-muted);background:0 0;padding:.3rem .6rem;font-size:.75rem}.sim-path-status{background:var(--sim-bg);border:1px solid var(--sim-border);border-radius:12px;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.sim-path-group{flex-direction:column;gap:.4rem;display:flex}.sim-path-label{letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600}.sim-path-label--on{color:#1d4e89}.sim-path-label--off,.sim-path-label--somewhere{color:#a99db8}.sim-path-words{flex-wrap:wrap;gap:.35rem;display:flex}.sim-path-word{border:1px solid #0000;border-radius:6px;padding:.2rem .6rem;font-family:JetBrains Mono,Courier New,monospace;font-size:.84rem}.sim-path-word--on,.sim-path-word--start{color:#1d4e89;background:#1d4e8912;border-color:#1d4e8933}.sim-path-word--end{color:#f79256;background:#f7925612;border-color:#f7925633}.sim-path-word--off,.sim-path-word--somewhere,.sim-path-word--neutral{color:#a99db8;background:#a99db812;border-color:#a99db833}.sim-path-word--checking{color:var(--sim-muted);background:var(--sim-card);border-color:var(--sim-border);animation:1.2s ease-in-out infinite sim-pulse}@keyframes sim-pulse{0%,to{opacity:.5}50%{opacity:1}}.sim-history{background:var(--sim-bg);border:1px solid var(--sim-border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.6rem .75rem;display:flex}.sim-history--win{background:var(--sim-card);border-color:var(--sim-border2);flex-wrap:nowrap;gap:.5rem;padding:.75rem 1rem}.sim-history-count{color:var(--sim-faint);white-space:nowrap;align-self:center;font-size:.78rem;font-weight:600}.sim-history-emojis{flex-wrap:wrap;flex:1;gap:.15rem;display:flex}.sim-history-emoji{-webkit-user-select:none;user-select:none;font-size:1.15rem;line-height:1}.sim-share-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#1d4e89;border:none;border-radius:8px;flex-shrink:0;margin-left:auto;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s}.sim-share-btn:hover{background:#163c6a}.sim-graph-container{background:var(--sim-bg);border-radius:12px;transition:height .3s;overflow:hidden}.sim-graph-bg{fill:var(--sim-bg)}.sim-graph-svg{display:block}.sim-graph-link{stroke:var(--sim-graph-link);stroke-width:2px;stroke-opacity:.55;fill:none}.sim-graph-link--dashed{stroke-dasharray:4 3;stroke-width:1px;opacity:.6}.sim-graph-link--win{stroke:#1d4e89;stroke-width:2.5px;stroke-opacity:1}.sim-graph-label{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,Courier New,monospace;font-size:13px;animation:.35s ease-out sim-node-appear}.sim-graph-label--anchor{font-size:15px;font-weight:700}.sim-graph-label--yellow{fill:var(--sim-word-yellow)}.sim-graph-label--green{fill:var(--sim-word-green)}.sim-graph-label--blue{fill:var(--sim-word-blue)}.sim-graph-label--active-left{fill:#60a5fa}.sim-graph-label--active-right{fill:#a78bfa}.sim-graph-label--win{fill:#7dcfb6;stroke:var(--sim-bg);stroke-width:5px;paint-order:stroke fill;font-weight:700}.sim-graph-label--dim{opacity:.55}@keyframes sim-node-appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes sim-graph-blink{0%,to{opacity:1}25%,75%{opacity:.15}50%{opacity:1}}.sim-graph-node--blink{animation:2s ease-in-out sim-graph-blink}.sim-wordtip-wrap{display:inline;position:relative}.sim-wordtip{background:var(--sim-card);border:1px solid var(--sim-border2);z-index:100;pointer-events:none;border-radius:8px;flex-direction:column;gap:.3rem;min-width:180px;max-width:280px;padding:.45rem .7rem;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000002e}.sim-wordtip:after{content:"";border:6px solid #0000;border-top-color:var(--sim-border2);position:absolute;top:100%;left:50%;transform:translate(-50%)}.sim-wordtip-def{color:var(--sim-text);white-space:normal;font-family:Rubik,sans-serif;font-size:.78rem;line-height:1.45}.sim-wordtip-bullet{color:var(--sim-faint);font-size:.72rem}.sim-result{text-align:center;border-radius:12px;margin-top:.5rem;padding:1.75rem}.sim-result--won{background:#4ade8012;border:1px solid #4ade8033}.sim-result--gave-up{background:var(--sim-card);border:1px solid var(--sim-border)}.sim-result-emoji{margin:0 0 .5rem;font-size:2.25rem}.sim-result-title{margin:0 0 .35rem;font-size:1.2rem;font-weight:700}.sim-result--won .sim-result-title{color:#4ade80}.sim-result--gave-up .sim-result-title{color:var(--sim-muted)}.sim-result-sub{color:var(--sim-muted);margin:0 0 1rem;font-size:.88rem}.sim-result-steps{color:var(--sim-faint);margin-top:.75rem;font-size:.82rem}.sim-result-paths{text-align:left;margin-top:1rem}.sim-result-paths-label{text-transform:uppercase;letter-spacing:.07em;color:var(--sim-faint);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.sim-result-chain--small{font-size:.8rem;line-height:1.7}.sim-result-chain{flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:2;display:flex}.sim-rword{color:var(--sim-muted)}.sim-rword--start{color:var(--sim-word-yellow)}.sim-rword--end{color:var(--sim-word-green)}.sim-rword--win{color:#7dcfb6;font-weight:700}.sim-debug-paths{background:var(--sim-card);border:1px dashed var(--sim-border2);border-radius:12px;flex-direction:column;gap:.45rem;margin-top:1rem;padding:.9rem 1rem;font-family:JetBrains Mono,Courier New,monospace;font-size:.8rem;display:flex}.sim-debug-title{color:var(--sim-faint);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;font-size:.72rem}.sim-debug-path{flex-wrap:wrap;align-items:center;gap:.1rem;display:flex}.sim-debug-idx{color:var(--sim-faint);min-width:1.8rem;margin-right:.35rem;font-size:.7rem}.sim-debug-word{color:var(--sim-muted)}.sim-debug-word--start{color:#1d4e89}.sim-debug-word--end{color:#f79256}.sim-debug-arr{color:var(--sim-border2)}.sim-jdebug{border:1.5px dashed #7c3aed55;border-radius:12px;margin-top:1.5rem;font-family:JetBrains Mono,Courier New,monospace;font-size:.78rem;overflow:hidden}.sim-jdebug-header{background:#7c3aed18;border-bottom:1px solid #7c3aed30;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .9rem;display:flex}.sim-jdebug-badge{color:#fff;letter-spacing:.1em;background:#7c3aed;border-radius:4px;padding:.15rem .45rem;font-size:.62rem;font-weight:700}.sim-jdebug-pair{color:var(--sim-text);font-weight:600}.sim-jdebug-start{color:#1d4e89}.sim-jdebug-end{color:#f79256}.sim-jdebug-meta{color:var(--sim-faint);font-size:.72rem}.sim-jdebug-stats{background:var(--sim-card);border-bottom:1px solid var(--sim-border);flex-wrap:wrap;gap:.5rem;padding:.5rem .9rem;display:flex}.sim-jdebug-stat{color:var(--sim-muted);font-size:.72rem}.sim-jdebug-stat--l0{color:#4ade80}.sim-jdebug-stat--l1{color:#60a5fa}.sim-jdebug-stat--warn{color:#f59e0b}.sim-jdebug-section{border-bottom:1px solid var(--sim-border);background:var(--sim-card)}.sim-jdebug-section:last-child{border-bottom:none}.sim-jdebug-summary{cursor:pointer;color:var(--sim-muted);letter-spacing:.05em;text-transform:uppercase;-webkit-user-select:none;user-select:none;padding:.55rem .9rem;font-size:.75rem;font-weight:600}.sim-jdebug-summary:hover{color:var(--sim-text)}.sim-jdebug-body{flex-direction:column;gap:.4rem;padding:.5rem .9rem .75rem;display:flex}.sim-jdebug-path{flex-wrap:wrap;align-items:center;gap:.1rem;display:flex}.sim-jdebug-pidx{color:var(--sim-faint);min-width:2rem;font-size:.7rem}.sim-jdebug-w{color:var(--sim-muted)}.sim-jdebug-w--start{color:#1d4e89}.sim-jdebug-w--end{color:#f79256}.sim-jdebug-arr{color:var(--sim-border2)}.sim-jdebug-filter{background:var(--sim-input-bg);border:1px solid var(--sim-border2);width:100%;max-width:280px;color:var(--sim-text);border-radius:6px;outline:none;padding:.3rem .6rem;font-family:inherit;font-size:.75rem}.sim-jdebug-filter:focus{border-color:#7c3aed}.sim-jdebug-wordgrid{flex-wrap:wrap;gap:.3rem;max-height:200px;padding:.3rem 0;display:flex;overflow-y:auto}.sim-jdebug-chip{background:var(--sim-border);color:var(--sim-muted);border-radius:5px;padding:.15rem .45rem;font-size:.73rem;transition:opacity .1s}.sim-jdebug-chip:hover{opacity:.75}.sim-jdebug-chip--l0{color:#166534;background:#dcfce7}.sim-jdebug-chip--l1{color:#1e40af;background:#dbeafe}[data-theme=dark] .sim-jdebug-chip--l0{color:#86efac;background:#14532d88}[data-theme=dark] .sim-jdebug-chip--l1{color:#93c5fd;background:#1e3a8a88}.sim-jdebug-lookup-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.sim-jdebug-select{background:var(--sim-input-bg);border:1px solid var(--sim-border2);color:var(--sim-text);border-radius:6px;outline:none;max-width:260px;padding:.3rem .6rem;font-family:inherit;font-size:.75rem}.sim-jdebug-select:focus{border-color:#7c3aed}.sim-jdebug-neighbors{flex-direction:column;gap:.35rem;display:flex}.sim-jdebug-nlabel{color:var(--sim-faint);font-size:.7rem}.sim-jdebug-empty{color:var(--sim-faint);font-size:.72rem;font-style:italic}@media (max-width:360px){.sim-container{gap:.1rem}.sim-title{letter-spacing:.1em;font-size:1.15rem}.sim-subtitle{font-size:.7rem}.sim-input{padding:.65rem .75rem;font-size:.95rem}}
