*,:before,:after{box-sizing:border-box}:root{--color-primary:#ffb000;--color-secondary:#cc8d00;--color-bg:#1a1200;--color-bg-raised:#211800;--color-border:#5c4000;--color-border-subtle:#3d2a00;--color-bar-off:#2a1e00;--font-mono:"SF Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace}body{background:var(--color-bg);color:var(--color-primary);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0}#root{min-height:100vh}.page{max-width:640px;margin:0 auto;padding:32px 24px}.header{border-bottom:2px solid var(--color-primary);margin-bottom:28px;padding-bottom:14px}.header h1{letter-spacing:.25em;text-transform:uppercase;margin:0;font-size:15px;font-weight:700}.header-sub{color:var(--color-secondary);letter-spacing:.1em;text-transform:uppercase;margin-top:3px;font-size:10px}.input-row{grid-template-columns:1fr 32px 1fr;margin-bottom:16px;display:grid}.input-box{border:1px solid var(--color-border);padding:16px}.input-box-left{border-right:none}.input-box-right{border-left:none}.input-bridge{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg-raised);color:var(--color-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}.input-label{letter-spacing:.15em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:10px;font-size:9px;font-weight:700}.lock-indicator{color:var(--color-secondary);letter-spacing:.1em;text-transform:uppercase;margin-left:6px;font-size:9px}.search-input{border:none;border-bottom:1px solid var(--color-border-subtle);color:var(--color-primary);font-family:var(--font-mono);letter-spacing:.02em;background:0 0;outline:none;width:100%;padding:6px 0;font-size:12px}.search-input::placeholder{color:var(--color-secondary)}.search-loading{color:var(--color-secondary);margin-top:6px;font-size:11px}.search-dropdown{z-index:100;background:var(--color-bg);border:1px solid var(--color-border);width:100%;margin-top:4px;position:absolute;overflow:hidden;box-shadow:3px 3px #ffb0000f}.search-result{cursor:pointer;border-bottom:1px solid var(--color-border-subtle);padding:9px 12px}.search-result:last-child{border-bottom:none}.search-result:hover{background:var(--color-bg-raised)}.search-result-name{color:var(--color-primary);font-size:13px}.search-result-artist{color:var(--color-secondary);margin-top:2px;font-size:11px}.confirmed{background:var(--color-bg-raised)}.confirmed-title{text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary);font-size:14px;font-weight:700;line-height:1.3}.confirmed-meta{color:var(--color-secondary);margin-top:4px;font-size:11px}.confirmed-tags{color:var(--color-secondary);letter-spacing:.06em;margin-top:6px;font-size:9px}.change-btn{color:var(--color-secondary);border:1px solid var(--color-border);cursor:pointer;font-size:9px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;margin-top:10px;padding:3px 8px}.change-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.find-btn{background:var(--color-primary);width:100%;color:var(--color-bg);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;margin-bottom:8px;padding:12px;font-size:11px;font-weight:700}.find-btn:hover{background:#ffc233}.find-btn:disabled{background:var(--color-border-subtle);color:var(--color-border);cursor:default}.flow-label{color:var(--color-secondary);letter-spacing:.12em;text-align:center;text-transform:uppercase;margin-bottom:32px;font-size:9px}.results-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;display:flex}.results-count{color:var(--color-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.results-actions{gap:8px;display:flex}.action-btn{color:var(--color-secondary);border:1px solid var(--color-border);cursor:pointer;font-size:9px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:4px 10px}.action-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.result-card{border:1px solid var(--color-border);margin-bottom:14px;box-shadow:3px 3px #ffb0000f}.result-header{border-bottom:1px solid var(--color-border-subtle);padding:14px 16px}.result-rank{color:var(--color-secondary);letter-spacing:.12em;margin-bottom:6px;font-size:10px}.result-title{text-transform:uppercase;letter-spacing:.03em;font-size:16px;font-weight:700;line-height:1.25}.result-meta{color:var(--color-secondary);margin-top:4px;font-size:11px}.scores{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.score-row{align-items:center;display:flex}.scale-label{color:var(--color-secondary);letter-spacing:.06em;width:56px;font-size:9px}.scale-label-l{text-align:right;padding-right:10px}.scale-label-r{padding-left:10px}.bar-segs{flex:1;gap:4px;display:flex}.seg{flex:1;height:6px}.seg-on{background:var(--color-primary)}.seg-off{background:var(--color-bar-off)}.texture-tags{flex-wrap:wrap;gap:5px;padding:0 16px 14px;display:flex}.texture-tag{text-transform:uppercase;color:var(--color-secondary);letter-spacing:.08em;border:1px solid var(--color-border);padding:2px 7px;font-size:9px}.result-desc{border-top:1px solid var(--color-border-subtle);color:var(--color-secondary);padding:12px 16px;font-size:12px;line-height:1.55}.loading-container{text-align:center;padding:32px 0}.spinner{border:2px solid var(--color-border-subtle);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;margin-bottom:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-steps{padding:0;list-style:none}.loading-step{padding:3px 0;font-size:12px}.loading-step-done{color:var(--color-primary)}.loading-step-active{color:var(--color-primary);font-weight:700}.loading-step-pending{color:var(--color-border)}.error-container{text-align:center;border:1px solid var(--color-border);margin-bottom:16px;padding:20px 18px}.error-message{color:var(--color-primary);margin-bottom:6px;font-size:14px;font-weight:500}.error-retry{color:var(--color-secondary);border:1px solid var(--color-border);cursor:pointer;font-size:11px;font-family:var(--font-mono);background:0 0;margin-top:8px;padding:5px 12px}.error-retry:hover{color:var(--color-primary);border-color:var(--color-primary)}
